@import url('https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Lora:ital,wght@0,400;0,500;0,600;1,400&family=DM+Mono:wght@400;500&display=swap');

/* ══ VARIABLER ══ */
:root {
    --pst-color-primary:        #9a6020;
    --pst-color-secondary:      #3a7a9c;
    --pst-color-link:           #9a6020;
    --pst-color-link-hover:     #c8873a;
    --pst-color-background:     #faf7f2;
    --pst-color-on-background:  #2a2218;
    --pst-color-surface:        #f2ece0;
    --pst-color-on-surface:     #2a2218;
    --pst-color-border:         #ddd0b8;
}

/* ══ BAKGRUNN OG BASIS ══ */
body {
    background-color: #faf7f2 !important;
    color: #2a2218 !important;
    font-family: 'Lora', Georgia, serif !important;
    font-size: 1.16rem !important;
    line-height: 1.82 !important;
    font-weight: 400 !important;
}

.bd-content,
div.bd-page-width {
    background-color: #faf7f2 !important;
}

/* ══ OVERSKRIFTER ══ */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Lora', serif !important;
}

h1 {
    font-weight: 300 !important;
    font-size: 2.4rem !important;
    color: #6b3d0f !important;
    letter-spacing: 0.02em !important;
    border-bottom: 1px solid #ddd0b8 !important;
    padding-bottom: 0.4rem !important;
    margin-bottom: 1.2rem !important;
    line-height: 1.2 !important;
}

h2 {
    font-weight: 400 !important;
    font-size: 1.7rem !important;
    color: #8a5010 !important;
    letter-spacing: 0.01em !important;
    margin-top: 2.2rem !important;
    line-height: 1.25 !important;
}

h3 {
    font-weight: 400 !important;
    font-size: 1.3rem !important;
    color: #9a6020 !important;
    font-style: italic !important;
    line-height: 1.3 !important;
}

/* ══ BRØDTEKST ══ */
p, li, td, th, blockquote {
    font-family: 'Lora', Georgia, serif !important;
    line-height: 1.82 !important;
    color: #2a2218 !important;
}

p, ul, ol {
    margin-bottom: 1rem !important;
}

/* ══ LENKER ══ */
a {
    color: #9a6020 !important;
    text-decoration: none !important;
}
a:hover {
    color: #c8873a !important;
    text-decoration: underline !important;
}

/* ══ KODE ══ */
code.literal,
code,
tt {
    font-family: 'DM Mono', monospace !important;
    font-size: 0.88em !important;
    background-color: #ede8dc !important;
    color: #5a3010 !important;
    padding: 0.1em 0.35em !important;
    border-radius: 3px !important;
    border: 1px solid #ddd0b8 !important;
}

div.highlight,
pre {
    font-family: 'DM Mono', monospace !important;
    font-size: 0.88rem !important;
    background-color: #f5f0e8 !important;
    border-radius: 6px !important;
    border: 1px solid #ddd0b8 !important;
    padding: 1rem !important;
}

div.highlight pre,
pre code {
    color: #2a2218 !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

/* ══ ADMONITIONS ══ */
div.admonition {
    border-radius: 5px !important;
    border-left-width: 4px !important;
    border-left-style: solid !important;
    padding: 0 !important;
    margin: 1.5rem 0 !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important;
    overflow: hidden !important;
}

div.admonition p.admonition-title {
    font-family: 'Crimson Pro', serif !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    margin: 0 !important;
    padding: 0.45rem 0.8rem !important;
    display: flex !important;
    align-items: center !important;
}

div.admonition p.admonition-title::after {
    display: none !important;
    content: "" !important;
}

div.admonition p:not(.admonition-title) {
    padding: 0.6rem 1rem 0 1rem !important;
    margin: 0 !important;
    line-height: 1.7 !important;
}

div.admonition ol,
div.admonition ul {
    padding: 0.3rem 1rem 0.6rem 2.2rem !important;
    margin: 0 !important;
}

div.admonition li {
    line-height: 1.7 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
}

/* tip = Læringsutbytte */
div.admonition.tip {
    border-left-color: #9a6020 !important;
    background-color: #fdf5e6 !important;
}
div.admonition.tip p.admonition-title {
    background-color: #9a6020 !important;
    color: #faf7f2 !important;
}

/* note = Underveisoppgave */
div.admonition.note {
    border-left-color: #3a7a9c !important;
    background-color: #eef5fa !important;
}
div.admonition.note p.admonition-title {
    background-color: #3a7a9c !important;
    color: #faf7f2 !important;
}

/* dropdown = Løsningsforslag */
div.admonition.dropdown {
    border-left-color: #7a6a50 !important;
    background-color: #f5f0e8 !important;
}
div.admonition.dropdown p.admonition-title {
    background-color: #7a6a50 !important;
    color: #faf7f2 !important;
}

/* warning = Advarsel */
div.admonition.warning {
    border-left-color: #b04040 !important;
    background-color: #fdf0ee !important;
}
div.admonition.warning p.admonition-title {
    background-color: #b04040 !important;
    color: #faf7f2 !important;
}

/* ══ NAVBAR / TOPPLINJE ══ */
.bd-header {
    background-color: #2a1e0e !important;
    border-bottom: 2px solid #c8873a !important;
}
.bd-header .navbar-brand {
    color: #f0d090 !important;
    font-family: 'Crimson Pro', serif !important;
    font-size: 1.3rem !important;
    font-weight: 300 !important;
}

/* ══ ARTIKKEL-HEADER (nedlasting etc.) ══ */
.bd-header-article,
.header-article-items {
    background-color: #faf7f2 !important;
    border-bottom: 1px solid #faf7f2 !important;
}
.bd-header-article .btn,
.header-article-items .btn {
    background-color: transparent !important;
    border-color: transparent !important;
    color: #4a3820 !important;
    box-shadow: none !important;
}
.bd-header-article .btn:hover,
.header-article-items .btn:hover {
    color: #9a6020 !important;
    background-color: transparent !important;
}

/* ══ VENSTRE SIDEBAR ══ */
.bd-sidebar-primary {
    background-color: #f2ece0 !important;
    border-right: 1px solid #ddd0b8 !important;
}
.bd-sidebar-primary .nav-link {
    font-family: 'Crimson Pro', serif !important;
    font-size: 1rem !important;
    color: #4a3820 !important;
}
.bd-sidebar-primary .nav-link.active,
.bd-sidebar-primary .nav-link:hover {
    color: #9a6020 !important;
    background-color: #ede8dc !important;
    border-radius: 4px !important;
}

/* ══ HØYRE SIDEBAR (innholdsfortegnelse) ══ */
.bd-sidebar-secondary {
    background-color: #faf7f2 !important;
}
.bd-sidebar-secondary .nav-link {
    font-family: 'Crimson Pro', serif !important;
    font-size: 0.92rem !important;
    color: #7a6040 !important;
}
.bd-sidebar-secondary .nav-link:hover {
    color: #9a6020 !important;
}

/* ══ TABELLER ══ */
table {
    font-family: 'Lora', Georgia, serif !important;
    border-collapse: collapse !important;
    width: 100% !important;
    margin: 1.5rem 0 !important;
}

table th {
    background-color: #f0d090 !important;
    color: #5a3010 !important;
    font-family: 'Crimson Pro', serif !important;
    font-weight: 600 !important;
    padding: 0.6rem 1rem !important;
    text-align: left !important;
    border-bottom: 1px solid #d9c28a !important;
}

table td {
    padding: 0.5rem 1rem !important;
    border-bottom: 1px solid #ddd0b8 !important;
}

table tr:nth-child(even) td {
    background-color: #f2ece0 !important;
}

/* ══ OUTPUT-CELLER ══ */
div.cell_output {
    background-color: transparent !important;
    border-left: none !important;
    padding-left: 0 !important;
}
.output_area,
.jp-OutputArea-output {
    background-color: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ══ PREV/NEXT NAVIGASJON ══ */
footer.prev-next-footer,
.prev-next-area,
.prev-next-bottom,
nav.prev-next,
.prev-next-area *,
nav.prev-next * {
    background-color: #f2ece0 !important;
}

.prev-next-area a,
.prev-next-bottom a {
    background-color: #f2ece0 !important;
    color: #4a3820 !important;
    border: 1px solid #ddd0b8 !important;
    border-radius: 5px !important;
}

.prev-next-area a:hover {
    background-color: #ede8dc !important;
    color: #9a6020 !important;
}

/* ══ FOOTER ══ */
.bd-footer,
footer.bd-footer,
footer.bd-footer-content {
    background-color: #faf7f2 !important;
    color: #4a3820 !important;
}

/* ══ SØKEFELT ══ */
.bd-search input {
    background-color: #f2ece0 !important;
    border: 1px solid #ddd0b8 !important;
    color: #2a2218 !important;
    border-radius: 4px !important;
    font-family: 'Lora', Georgia, serif !important;
}

/* ══ MATH ══ */
.math {
    color: #2a2218 !important;
}

/* ══ PREV/NEXT FOOTER FINJUSTERING ══ */
footer.prev-next-footer {
    background-color: #faf7f2 !important;
    display: flex !important;
}

footer.prev-next-footer .prev-next-area {
    flex: 1 !important;
    background-color: #faf7f2 !important;
    min-height: 80px !important;
}