/*
 * Site-wide dark surface for pages.
 *
 * The heroes are dark and the bodies under them were light, so every page had a
 * hard teal-to-white edge halfway down — the single loudest thing on the site.
 * This sheet takes the whole page to the hero's surface and vocabulary: teal
 * ground, mint hairlines, mint uppercase kickers, Playfair section headings,
 * cards at a 16px radius, and gradients rather than colour switches between
 * sections so no boundary reads as a seam.
 *
 * Scoped to body.plab-dark-page (added in Setup::bodyClasses to every page but
 * the front page and the WooCommerce screens). Rules are doubled with the scope
 * class so the per-page sheets — which style bare elements inside these
 * sections — cannot outrank it, the same rule the hero component follows.
 *
 * Loaded last of all page sheets: see Assets::enqueueSiteDark.
 */

body.plab-dark-page {
    --ind-dark-900: var(--pharma-950);
    --ind-dark-800: var(--pharma-900);
    --ind-dark-700: var(--pharma-800);
    --ind-accent: var(--mint-500);
    --ind-accent-bright: var(--mint-400);
    --ind-mint: var(--mint-400);
    --ind-text: var(--white);
    --ind-muted: var(--text-secondary-dark);
    --ind-line: rgba(50, 172, 145, .22);
    --ind-mo: .32s cubic-bezier(.22, .61, .36, 1);
    background: var(--ind-dark-900);
    color: var(--ind-text);
}

body.plab-dark-page main,
body.plab-dark-page #main {
    background: transparent;
    padding-top: 0;
    margin-top: 0;
    color: var(--ind-text);
}

body.plab-dark-page main :not(.plab-lux):not(.plab-lux *) {
    background-color: transparent;
    color: inherit;
}

body.plab-dark-page main h2:not(.plab-lux *) {
    font-family: var(--plab-font, var(--font-sans));
    font-weight: 900;
    font-size: clamp(30px, 3.4vw, 48px);
    line-height: 1.08;
    letter-spacing: -.045em;
    color: var(--ind-text);
}

body.plab-dark-page main h3:not(.plab-lux *),
body.plab-dark-page main h4:not(.plab-lux *) {
    font-size: clamp(17px, 1.3vw, 20px);
    font-weight: 700;
    color: var(--ind-accent-bright);
}

body.plab-dark-page main :is(dt, th, strong, b):not(.plab-lux):not(.plab-lux *) {
    color: var(--ind-text);
}

body.plab-dark-page main :is(p, li, dd, span, small, td, figcaption):not(.plab-lux):not(.plab-lux *) {
    color: var(--ind-muted);
}

body.plab-dark-page main a:not([class]) {
    color: var(--ind-accent-bright);
}

body.plab-dark-page main img:not(.plab-lux__machine) {
    border-radius: 14px;
}

body.plab-dark-page main summary,
body.plab-dark-page main details > summary {
    padding: 20px 56px 20px 24px;
    font-size: clamp(15px, 1.1vw, 17px);
    font-weight: 700;
    color: var(--ind-text);
    cursor: pointer;
    list-style: none;
    transition: color var(--ind-mo);
}

body.plab-dark-page main summary::-webkit-details-marker {
    display: none;
}

body.plab-dark-page main summary:hover,
body.plab-dark-page main details[open] > summary {
    color: var(--ind-accent-bright);
}

body.plab-dark-page main details > :not(summary) {
    padding: 0 24px 22px;
}

@media (prefers-reduced-motion: reduce) {
    body.plab-dark-page main * {
        transition: none !important;
    }

    body.plab-dark-page main *:hover {
        transform: none !important;
    }

}

body.plab-dark-page main hr,
body.plab-dark-page main table,
body.plab-dark-page main th,
body.plab-dark-page main td {
    border-color: var(--ind-line);
}

body.plab-dark-page main th {
    color: var(--ind-accent-bright);
}

body.plab-dark-page main > section + section::before,
body.plab-dark-page main article > section + section::before {
    content: "";
    display: block;
    height: 1px;
    margin-bottom: -1px;
    background-image: linear-gradient(90deg, transparent, rgba(50, 172, 145, .16), transparent);
}

body.plab-dark-page main [class*="-nav__cta"] {
    color: var(--text-primary-light);
    border: 1px solid var(--ind-accent-bright);
    background-image: linear-gradient(135deg, var(--mint-400) 0%, var(--mint-500) 58%, var(--mint-700) 100%);
}

body.plab-dark-page main [class*="-nav"] [aria-current],
body.plab-dark-page main [class*="-nav"] .is-active {
    color: var(--ind-accent-bright);
    border-color: var(--ind-accent);
}

body.plab-dark-page main [class*="-nav__cta"],
body.plab-dark-page main [class*="-nav__cta"] * {
    color: var(--text-primary-light);
}

body.plab-dark-page main :is(p, li, dd, small, figcaption, blockquote):not(.plab-lux):not(.plab-lux *) {
    color: var(--ind-muted);
}

body.plab-dark-page main :is(h1, h2, h3, h4, h5, dt, th, strong, b, summary):not(.plab-lux):not(.plab-lux *) {
    color: var(--ind-text);
}

body.plab-dark-page main :is(h3, h4):not(.plab-lux):not(.plab-lux *) {
    color: var(--ind-accent-bright);
}

body.plab-dark-page main :is([class*="-kicker"], [class*="-eyebrow"], [class*="-text-link"], [class*="price-card"] strong, a):not(.plab-lux):not(.plab-lux *) {
    color: var(--ind-accent-bright);
}

body.plab-dark-page main :is([class*="button--primary"], [class*="btn--primary"], [class*="-nav__cta"]):not(.plab-lux):not(.plab-lux *),
body.plab-dark-page main :is([class*="button--primary"], [class*="btn--primary"], [class*="-nav__cta"]) *:not(.plab-lux):not(.plab-lux *) {
    color: var(--text-primary-light);
}

body.plab-dark-page main :is([class*="-card"], [class*="-panel"], [class*="-tile"], [class*="-box"], [class*="-callout"], [class*="-note"], [class*="-figure"]):not(.plab-lux):not(.plab-lux *):not([class*="-nav"]) {
    border: 1px solid var(--ind-line);
    border-radius: 16px;
    background-image: linear-gradient(155deg, rgba(0, 46, 40, .82) 0%, rgba(0, 21, 20, .82) 100%);
    box-shadow: none;
}

body.plab-dark-page main [aria-hidden="true"]:not(.plab-lux *) {
    color: inherit;
}

body.plab-dark-page main [class*="breadcrumb"]:not(.plab-lux *),
body.plab-dark-page main [class*="breadcrumb"] :not(.plab-lux *) {
    color: var(--ind-muted);
}

body.plab-dark-page main [class*="breadcrumb"] a:not(.plab-lux *) {
    color: var(--ind-accent-bright);
}

body.plab-dark-page main :is([class*="-stat"], [class*="-stats"], [class*="-proof"], [class*="-metric"], [class*="-highlight"], [class*="-summary"], [class*="-band"]):not(.plab-lux):not(.plab-lux *):not([class*="-nav"]) {
    background-image: linear-gradient(155deg, rgba(0, 46, 40, .82) 0%, rgba(0, 21, 20, .82) 100%);
    border-color: var(--ind-line);
    color: var(--ind-text);
}

body.plab-dark-page main :is([class*="-stat"], [class*="-proof"], [class*="-metric"]) :is(strong, b):not(.plab-lux *) {
    color: var(--ind-accent-bright);
}

body.plab-dark-page main :is(input, select, textarea):not(.plab-lux *) {
    border: 1px solid var(--ind-line);
    border-radius: 12px;
    background-image: linear-gradient(rgba(0, 46, 40, .85), rgba(0, 27, 25, .85));
    color: var(--ind-text);
}

body.plab-dark-page main :is(input, select, textarea):focus:not(.plab-lux *) {
    border-color: var(--ind-accent);
    outline: 3px solid var(--focus);
    outline-offset: 0;
}

body.plab-dark-page main option {
    color: var(--pharma-800);
}

body.plab-dark-page main :is(label, legend, label > span):not(.plab-lux *) {
    color: var(--ind-muted);
}

body.plab-dark-page main legend:not(.plab-lux *) {
    color: var(--ind-accent-bright);
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

body.plab-dark-page main fieldset:not(.plab-lux *) {
    border: 1px solid var(--ind-line);
    border-radius: 16px;
}

body.plab-dark-page main [class*="__mark"]:not(.plab-lux *):not([class*="brand-lockup"]),
body.plab-dark-page main [class*="-card-number"]:not(.plab-lux *) {
    border: 1px solid var(--ind-line);
    background-image: linear-gradient(155deg, rgba(50, 172, 145, .16), rgba(50, 172, 145, .06));
    color: var(--ind-accent-bright);
}


body.plab-dark-page main :is([class*="heading--center"]) h2::after {
    content: "";
    display: block;
    width: min(230px, 60%);
    height: 1px;
    margin: 20px auto 0;
    background-image: linear-gradient(90deg, transparent, var(--ind-accent), transparent);
}

body.plab-dark-page main :is([class*="heading--center"]) h2::before {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    margin: 0 auto 18px;
    transform: rotate(45deg);
    border: 1px solid var(--ind-accent);
}

body.plab-dark-page main :is(button[type="submit"], [class*="calculator"] button, [class*="-cta"] button, [class*="-submit"]):not(.plab-lux *) {
    color: var(--text-primary-light);
    border: 1px solid var(--ind-accent-bright);
    border-radius: 12px;
    background-image: linear-gradient(135deg, var(--mint-400) 0%, var(--mint-500) 58%, var(--mint-700) 100%);
    box-shadow: 0 14px 34px -18px rgba(50, 172, 145, .9);
    transition: transform var(--ind-mo), box-shadow var(--ind-mo);
}

body.plab-dark-page main :is(button[type="submit"], [class*="calculator"] button, [class*="-cta"] button, [class*="-submit"]):not(.plab-lux *):hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 42px -18px rgba(50, 172, 145, 1);
}

body.plab-dark-page main [class*="-nav"] a.is-active:not(.plab-lux *) {
    color: var(--text-primary-light);
}

body.plab-dark-page main :is([class*="--accent"], [class*="u-accent"]):not(.plab-lux):not(.plab-lux *) {
    color: var(--ind-accent-bright);
}

body.plab-dark-page main :is(.plab-button--primary):not(.plab-lux *) {
    color: var(--text-primary-light);
    border: 1px solid var(--ind-accent-bright);
    background-image: linear-gradient(135deg, var(--mint-400) 0%, var(--mint-500) 58%, var(--mint-700) 100%);
}

body.plab-dark-page main .plab-button--secondary:not(.plab-lux *) {
    color: var(--ind-accent-bright);
    border: 1px solid var(--ind-line);
    background-image: linear-gradient(rgba(0, 27, 25, .55), rgba(0, 27, 25, .55));
}

body.plab-dark-page main :is(.plab-button--primary):not(.plab-lux *) {
    border-color: var(--ind-accent-bright) !important;
    background: linear-gradient(135deg, var(--mint-400) 0%, var(--mint-500) 58%, var(--mint-700) 100%) !important;
    color: var(--text-primary-light) !important;
    box-shadow: 0 14px 34px -18px rgba(50, 172, 145, .9);
}

body.plab-dark-page main :is(.plab-button--primary):not(.plab-lux *):hover {
    background: linear-gradient(135deg, var(--mint-300) 0%, var(--mint-500) 58%, var(--mint-700) 100%) !important;
    box-shadow: 0 20px 42px -18px rgba(50, 172, 145, 1);
}

body.plab-dark-page main [class*="-nav__label"],
body.plab-dark-page main [class*="-nav"] > a:first-child:not([class]) {
    color: var(--ind-accent-bright);
    text-decoration: none;
}

body.plab-dark-page main [class*="-nav__cta"]:not(.plab-lux *),
body.plab-dark-page main [class*="-nav__cta"] *:not(.plab-lux *) {
    color: var(--text-primary-light) !important;
    text-decoration: none;
    font-weight: 700;
    letter-spacing: .04em;
}

body.plab-dark-page main :is([class*="-nav__links"], [class*="-nav__track"], [class*="-nav"] > div) {
    gap: clamp(14px, 1.6vw, 26px);
}
