/* Zibandegan editorial pages — loaded only for individual /content/{slug}/ pages. */
:root {
    --zb-editorial-ink: #202a35;
    --zb-editorial-muted: #647382;
    --zb-editorial-line: #e5ebe9;
    --zb-editorial-accent: #00a98f;
    --zb-editorial-soft: #f3faf8;
}
body:has(#page-title) {
    color: var(--zb-editorial-ink);
}
body:has(#page-title) #page-title.page-title {
    position: relative;
    overflow: hidden;
    padding: clamp(2.5rem, 6vw, 5rem) 0;
    margin: 0;
    background:
        radial-gradient(ellipse at 12% 0%, rgba(0, 207, 174, .16), transparent 42%),
        linear-gradient(135deg, #f5fbf9 0%, #f8f8fc 58%, #fff 100%);
    border-bottom: 1px solid var(--zb-editorial-line);
}
body:has(#page-title) #page-title .container {
    max-width: 1120px;
}
body:has(#page-title) #page-title nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .25rem;
    color: var(--zb-editorial-muted);
    font-size: .88rem;
    line-height: 1.9;
}
body:has(#page-title) #page-title nav a {
    color: #087f70;
    text-decoration: none;
}
body:has(#page-title) #page-title nav a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}
body:has(#page-title) #page-title h1 {
    max-width: 900px;
    margin: .75rem 0 1rem;
    color: var(--zb-editorial-ink);
    font-size: clamp(1.8rem, 4vw, 3.1rem);
    font-weight: 800;
    line-height: 1.65;
    letter-spacing: -.035em;
}
body:has(#page-title) #page-title p {
    max-width: 820px;
    color: #526270;
    font-size: clamp(1rem, 1.6vw, 1.16rem);
    line-height: 2.1;
}
body:has(#page-title) #content .content-wrap {
    padding: clamp(2rem, 5vw, 4.5rem) 0;
}
body:has(#page-title) #content .content-wrap > .container {
    max-width: 1120px;
}
body:has(#page-title) #content .content-wrap > .container > h2:first-child,
body:has(#page-title) #content .content-wrap > .container > .row > [class*="col-"] > h2:first-child {
    margin-top: 0;
}
body:has(#page-title) #content h2,
body:has(#page-title) #content h3 {
    color: var(--zb-editorial-ink);
    line-height: 1.8;
    letter-spacing: -.015em;
}
body:has(#page-title) #content h2 {
    margin-bottom: .85rem;
    font-size: clamp(1.25rem, 2.2vw, 1.65rem);
    font-weight: 800;
    scroll-margin-top: 110px;
}
body:has(#page-title) #content h3 {
    font-weight: 750;
}
body:has(#page-title) #content p {
    color: #42515e;
    font-size: 1.02rem;
    line-height: 2.25;
    margin-bottom: 1.15rem;
}
body:has(#page-title) #content ul:not(.iconlist) {
    padding-right: 1.35rem;
    padding-left: 0;
}
body:has(#page-title) #content li {
    margin-bottom: .55rem;
    line-height: 2;
}
body:has(#page-title) #content a:not(.button) {
    color: #087f70;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}
body:has(#page-title) #content a:not(.button):hover {
    color: #075f55;
}
body:has(#page-title) #content .card {
    border: 1px solid rgba(30, 70, 60, .08) !important;
    border-radius: 1.25rem !important;
    box-shadow: 0 12px 34px rgba(30, 54, 48, .07) !important;
}
body:has(#page-title) #content .card-body {
    padding: clamp(1.25rem, 3vw, 2rem) !important;
}
body:has(#page-title) #content .sticky-top {
    top: 110px !important;
    background: #fff;
    border: 1px solid var(--zb-editorial-line);
    border-radius: 1.1rem;
    box-shadow: 0 12px 32px rgba(30, 54, 48, .06);
}
body:has(#page-title) #content .iconlist {
    padding-right: 1.1rem;
}
body:has(#page-title) #content .iconlist li {
    padding-right: .2rem;
    margin-bottom: .65rem;
}
body:has(#page-title) #content hr {
    border-color: var(--zb-editorial-line);
    opacity: 1;
}
body:has(#page-title) #content .button {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    margin-top: .35rem;
    padding: .7rem 1.15rem;
    border-radius: 999px;
    line-height: 1.6;
    transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
body:has(#page-title) #content .button:focus-visible,
body:has(#page-title) #page-title a:focus-visible {
    outline: 3px solid rgba(0, 169, 143, .35);
    outline-offset: 3px;
}
body:has(#page-title) #content .row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 1.5rem;
}
@media (max-width: 767.98px) {
    body:has(#page-title) #page-title.page-title {
        padding: 2rem 0 2.4rem;
    }
    body:has(#page-title) #page-title h1 {
        font-size: 1.7rem;
        line-height: 1.75;
    }
    body:has(#page-title) #page-title p {
        font-size: .98rem;
        line-height: 2;
    }
    body:has(#page-title) #content .content-wrap {
        padding: 2rem 0;
    }
    body:has(#page-title) #content .row {
        --bs-gutter-x: 1rem;
        --bs-gutter-y: 1rem;
    }
    body:has(#page-title) #content .sticky-top {
        position: relative !important;
        top: auto !important;
    }
    body:has(#page-title) #content .button {
        margin: .25rem .1rem .25rem 0;
    }
}
@media (prefers-reduced-motion: reduce) {
    body:has(#page-title) #content .button {
        transition: none;
    }
}
