/**
 * FizjoEvidence Design System v5.0
 * Unified visual language for all CPT templates
 *
 * USAGE: Enqueue in functions.php or inline in each template.
 * Each template sets --fe-accent via body class or wrapper class.
 *
 * Font: global public sans token
 */


/* ════════════════════════════════════════
   0. GLOBAL TAP HIGHLIGHT RESET
   Removes the default blue/gray flash Android/Chrome shows on tap
   for ANY element site-wide (header, menu, footer, archives, cards,
   filters, chips, forms, single pages — no exceptions).
   NOTE: rgba(0,0,0,0) is used instead of the `transparent` keyword —
   some Android WebView/Chrome versions ignore `transparent` but
   respect an explicit rgba value with 0 alpha.
   ════════════════════════════════════════ */
html {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* Shared editorial trail for public knowledge materials. */
.fe-editorial-meta {
    align-items: baseline;
    border-block: 1px solid var(--fe-border-soft);
    color: var(--fe-text-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: 0.76rem;
    gap: 8px 0;
    margin: 18px 0 22px;
    padding: 10px 0;
}

.fe-editorial-meta > div {
    align-items: baseline;
    display: flex;
    gap: 5px;
}

.fe-editorial-meta > div + div {
    border-left: 1px solid var(--fe-border);
    margin-left: 12px;
    padding-left: 12px;
}

.fe-editorial-meta dt,
.fe-editorial-meta dd {
    margin: 0;
}

.fe-editorial-meta dt {
    font-weight: 500;
}

.fe-editorial-meta dd {
    color: var(--fe-text-strong);
    font-weight: 700;
}

@media (max-width: 520px) {
    .fe-editorial-meta {
        align-items: stretch;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fe-editorial-meta > div,
    .fe-editorial-meta > div + div {
        border: 0;
        display: grid;
        gap: 2px;
        margin: 0;
        padding: 0;
    }
}

*,
*::before,
*::after {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

a, button, summary, input, select, textarea, label,
[role="button"], [tabindex], [onclick] {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
    -webkit-touch-callout: none;
}

mark {
    background-color: #ffe3d1;
    border-radius: 3px;
    color: #9d4300;
    padding: 1px 3px;
}

html[data-fe-theme="dark"] mark {
    background-color: rgba(240, 163, 111, 0.3);
    color: #ffffff;
}

/* ════════════════════════════════════════
   1. DESIGN TOKENS
   ════════════════════════════════════════ */

:root {
    /* CPT accent colors — nieco bardziej wyważone, ale identyfikowalne */
    --fe-color-muscle:    #3b5bdb;  /* indigo, softer than #2563eb */
    --fe-color-nerve:     #b07a00;  /* gold/mustard, dojrzalszy */
    --fe-color-joint:     #0c7a6e;  /* emerald-teal, głębszy */
    --fe-color-bone:      #5f3f2a;
    --fe-bone:            #b08968;
    --fe-bone-bg:         #f7efe7;
    --fe-bone-border:     #e7d2bf;
    --fe-bone-ink:        #5f3f2a;
    --fe-color-vessel:    #c92a2a;  /* crimson, nieco spokojniejszy */
    --fe-color-test:      #6741d9;  /* violet, delikatniejszy */
    --fe-color-pathology: #b5470f;  /* terracotta, cieplejszy */
    --fe-color-journal_watch: #0053a6;
    --fe-color-anatomy_note: #2b8a3e;
    --fe-color-uklad: #0053a6;

    /* CPT pastelowe tła (dla kart, ikonek, chipów) */
    --fe-bg-muscle:    #eef2ff;  /* indigo-50  */
    --fe-bg-joint:     #effdf9;  /* teal-50    */
    --fe-bg-bone:      var(--fe-bone-bg);
    --fe-bg-nerve:     #fefce8;  /* yellow-50  */
    --fe-bg-vessel:    #fff1f2;  /* rose-50    */
    --fe-bg-test:      #f5f3ff;  /* violet-50  */
    --fe-bg-pathology: #fff7ed;  /* orange-50  */
    --fe-bg-generic:   var(--fe-bg-soft);

    /* Core palette — cieplejsze neutralne */
    --fe-ink:        #0f172a;
    --fe-text:       #374151;
    --fe-muted:      #475569;
    --fe-faint:      #94a3b8;
    --fe-line:       #e2e8f0;
    --fe-line-soft:  #f1f5f9;
    --fe-bg:         #fafaf9;   /* ciepła biel */
    --fe-bg-soft:    #f5f4f1;   /* ciepły jasnoszary */
    --fe-bg-cream:   #fdf6ed;

    /* Functional */
    --fe-red-flag-bg:     #fef2f2;
    --fe-red-flag-border: #dc2626;
    --fe-info-bg:         #fffbeb;
    --fe-info-border:     #d97706;

    /* Radii */
    --fe-radius:      14px;
    --fe-radius-sm:   10px;
    --fe-radius-pill: 999px;

    /* Shadows */
    --fe-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 4px 12px rgba(15, 23, 42, 0.03);

    /* Archive tokens (surface / accent / radius / shadow) */
    --fe-archive-radius-surface: 18px;
    --fe-archive-radius-card: 16px;
    --fe-archive-shadow-soft: 0 1px 3px rgba(15, 23, 42, 0.05), 0 8px 20px rgba(15, 23, 42, 0.04);
    --fe-archive-shadow-hover: 0 10px 24px color-mix(in srgb, var(--fe-accent) 14%, rgba(15, 23, 42, 0.14));
    --fe-archive-surface-hero: linear-gradient(
        145deg,
        color-mix(in srgb, var(--fe-accent-bg) 84%, #ffffff) 0%,
        color-mix(in srgb, var(--fe-accent-bg) 44%, var(--fe-bg)) 100%
    );
    --fe-archive-surface-card: #ffffff;
    --fe-archive-surface-muted: color-mix(in srgb, var(--fe-accent-bg) 52%, var(--fe-bg-soft));
    --fe-archive-accent-soft: color-mix(in srgb, var(--fe-accent-bg) 78%, #ffffff);
    --fe-archive-accent-border: color-mix(in srgb, var(--fe-accent-border) 64%, var(--fe-line));
    --fe-archive-accent-ring: color-mix(in srgb, var(--fe-accent) 24%, transparent);
    --fe-archive-gap: 18px;
    --fe-archive-section-gap: 22px;
    --fe-archive-pagination-gap: 24px;
    --fe-archive-section-gap-tablet: 20px;
    --fe-archive-section-gap-mobile: 16px;
    --fe-archive-gap-mobile: 14px;

    /* Font */
    --fe-font-sans: "Source Sans 3", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --fe-font-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
    --fe-font-mono: var(--fe-font-sans);
    --fe-font: var(--fe-font-sans);

    /* Accent tints — muscle/default, nadpisywane przez body class */
    --fe-accent-bg:     #eef2ff;  /* indigo-50  */
    --fe-accent-border: #c7d2fe;  /* indigo-200 */

    /* Semantic chip variants */
    --fe-chip-test-bg:       #f5f3ff;
    --fe-chip-test-border:   #ddd6fe;
    --fe-chip-test-text:     #6741d9;
    --fe-chip-danger-bg:     #fff1f2;
    --fe-chip-danger-border: #fecaca;
    --fe-chip-danger-text:   #b91c1c;

    /* Czarna rama — pazur na hover */
    --fe-border-ink: #0f172a;

    /* Page layout */
    --fe-page-max-width:             1240px;
    --fe-page-padding-x:             18px;
    --fe-page-padding-x-mobile:      16px;
    --fe-page-top-spacing:           30px;
    --fe-page-top-spacing-mobile:    30px;
    --fe-page-bottom-spacing:        60px;
    --fe-page-bottom-spacing-mobile: 48px;
}

/* CPT color assignment via body class — accent + pastelowe tło i obramowanie dla eyebrow pill */
body.single-muscle,
body.post-type-archive-muscle {
    --fe-accent:        var(--fe-color-muscle);
    --fe-accent-bg:     var(--fe-bg-muscle);
    --fe-accent-border: var(--fe-border-muscle);
}

body.single-nerve,
body.post-type-archive-nerve {
    --fe-accent:        var(--fe-color-nerve);
    --fe-accent-bg:     var(--fe-bg-nerve);
    --fe-accent-border: var(--fe-border-nerve);
}

body.single-joint,
body.post-type-archive-joint {
    --fe-accent:        var(--fe-color-joint);
    --fe-accent-bg:     var(--fe-bg-joint);
    --fe-accent-border: var(--fe-border-joint);
}

body.single-bone,
body.post-type-archive-bone {
    --fe-accent:        var(--fe-bone);
    --fe-accent-bg:     var(--fe-bone-bg);
    --fe-accent-border: var(--fe-border-bone);
}

body.single-blood_vessel,
body.post-type-archive-blood_vessel {
    --fe-accent:        var(--fe-color-vessel);
    --fe-accent-bg:     var(--fe-bg-vessel);
    --fe-accent-border: var(--fe-border-vessel);
}

body.single-clinical_test,
body.post-type-archive-clinical_test {
    --fe-accent:        var(--fe-color-test);
    --fe-accent-bg:     var(--fe-bg-test);
    --fe-accent-border: var(--fe-border-test);
}

body.single-pathology,
body.post-type-archive-pathology {
    --fe-accent:        var(--fe-color-pathology);
    --fe-accent-bg:     var(--fe-bg-pathology);
    --fe-accent-border: var(--fe-border-pathology);
}

/* Unified /archiwum/ hub — neutral brand accent (nie faworyzuje żadnego CPT) */
body.fe-archiwum-page {
    --fe-accent:        var(--fe-brand-primary, #9d4300);
    --fe-accent-bg:     #f8f5f0;
    --fe-accent-border: #e0c0b1;
}

/* Unified FE page container system — tokens defined in :root above */

body.home .fe-dashboard,
body.page-template-page-about .fe-about-page,
body.post-type-archive .fe-archive {
    width: 100%;
    max-width: var(--fe-page-max-width);
    margin-inline: auto;
    padding-inline: var(--fe-page-padding-x);
    padding-top: var(--fe-page-top-spacing);
    padding-bottom: var(--fe-page-bottom-spacing);
}

/* Archive v2 shell — wspólna rama layoutu archive CPT */
body.post-type-archive .fe-archive {
    --fe-archive-pagination-gap: 24px;
    --fe-archive-shell-gap: clamp(16px, 2.2vw, 24px);
}

body.post-type-archive .fe-archive .fe-archive__main-col {
    display: flex;
    flex-direction: column;
    gap: var(--fe-archive-section-gap);
}

body.post-type-archive .fe-archive .fe-archive__hero,
body.post-type-archive .fe-archive .fe-archive__filters,
body.post-type-archive .fe-archive .fe-archive__results-count,
body.post-type-archive .fe-archive .fe-archive__grid,
body.post-type-archive .fe-archive .fe-pagination {
    width: 100%;
    margin: 0;
    max-width: 100%;
}

body.post-type-archive .fe-archive .fe-archive__results-count {
    padding-bottom: calc(var(--fe-archive-section-gap) - 8px);
}

body.post-type-archive .fe-archive .fe-archive__grid {
    gap: var(--fe-archive-gap);
}

body.post-type-archive .fe-archive .fe-pagination {
    margin-top: max(0px, calc(var(--fe-archive-pagination-gap) - var(--fe-archive-section-gap)));
}

@media (max-width: 921px) {
    body.home .fe-dashboard,
    body.page-template-page-about .fe-about-page,
    body.post-type-archive .fe-archive {
        padding-inline: var(--fe-page-padding-x-mobile);
        padding-top: var(--fe-page-top-spacing-mobile);
        padding-bottom: var(--fe-page-bottom-spacing-mobile);
    }

    body.post-type-archive .fe-archive {
        --fe-archive-section-gap: var(--fe-archive-section-gap-tablet);
    }
}

/* Runtime guard:
   on production, wp-custom-css injects `.ast-container { max-width:1200px; }`
   which constrains Home/About wrappers (ast-plain-container) and prevents
   FE container from reaching unified page width. Keep archive behavior intact. */
body.home.ast-plain-container #content > .ast-container,
body.page-template-page-about.ast-plain-container #content > .ast-container,
body.fe-archiwum-page #content > .ast-container,
body.fe-archiwum-page.ast-plain-container #content > .ast-container {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}

/* Remove Astra container constraints on the unified archive page */
body.fe-archiwum-page .fe-archive--unified {
    max-width: 100%;
    padding-inline: 0;
    padding-top: 0;
    width: 100%;
}

/* Add top spacing directly to the inner wrapper instead */
body.fe-archiwum-page .fe-archive--unified .fe-archive__with-sidebar {
    padding-top: 32px;
}

/* ════════════════════════════════════════
   1.5 ASTRA / WP BRIDGE + GLOBAL HEADER
   ════════════════════════════════════════ */

.wp-post-image {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.wp-block-post-featured-image,
.wp-block-post-featured-image img {
    width: 100% !important;
    max-width: 100% !important;
}

.site-header .main-header-bar-wrap,
.site-header .ast-primary-header-bar,
.site-header .main-header-bar {
    border-bottom: 1px solid var(--fe-line);
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.02);
}

.site-header .menu-link,
.site-header .main-header-menu .menu-link,
.site-header .ast-builder-menu-1 .menu-link,
.site-header .ast-builder-menu-2 .menu-link,
.header-main-layout-1 .menu-link {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: -0.01em;
    border-radius: 12px;
    transition: all 0.2s ease;
    padding: 6px 12px !important;
}

.site-header .menu-link:hover,
.site-header .main-header-menu .menu-link:hover,
.site-header .ast-builder-menu-1 .menu-link:hover,
.site-header .ast-builder-menu-2 .menu-link:hover {
    color: var(--fe-color-muscle) !important;
    background: rgba(37, 99, 235, 0.06) !important;
}

.site-header .current-menu-item > .menu-link,
.site-header .current_page_item > .menu-link,
.site-header .current-menu-ancestor > .menu-link {
    color: var(--fe-color-muscle) !important;
    background: rgba(37, 99, 235, 0.08) !important;
}

.site-header .ast-search-menu-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    transition: all 0.2s ease;
}

.site-header .ast-search-menu-icon:hover {
    border-color: var(--fe-color-muscle);
    color: var(--fe-color-muscle);
    background: rgba(37, 99, 235, 0.06);
}

/* ── Dropdown (sub-menu) ── */

/* Strzałka ▾ przy pozycji nadrzędnej */
.site-header .menu-item-has-children > .menu-link .astra-menu-icon,
.site-header .menu-item-has-children > .menu-link::after {
    transition: transform 0.2s ease;
}
.site-header .menu-item-has-children:hover > .menu-link .astra-menu-icon,
.site-header .menu-item-has-children:focus-within > .menu-link .astra-menu-icon {
    transform: rotate(180deg);
}

.site-header .main-header-menu > .menu-item-has-children {
    position: relative;
    /* Izolacja kontekstu — sibling <li> nie są blokowane przez otwarty dropdown */
    z-index: 1;
}

.site-header .main-header-menu > .menu-item-has-children:hover,
.site-header .main-header-menu > .menu-item-has-children:focus-within {
    z-index: 200;
}

/* Sibling menu items muszą być klikalny gdy dropdown sąsiada jest otwarty */
.site-header .main-header-menu > .menu-item {
    position: relative;
    z-index: 1;
}

/* Panel — wyrównany do lewej krawędzi rodzica, nie wyśrodkowany.
   Wyśrodkowanie (left:50% + translate-50%) powodowało że panel
   wychodził w lewo i fizycznie nakrywał sąsiednie pozycje (np. Regiony),
   blokując ich kliknięcia mimo pointer-events:none na zamkniętym menu. */
.site-header .sub-menu {
    top: calc(100% + 21px) !important;
    left: 0 !important;
    right: auto !important;
    min-width: 220px;
    margin: 0 !important;
    padding: 6px !important;
    background: var(--fe-bg, #ffffff) !important;
    border: 1px solid var(--fe-line, var(--fe-border, rgba(224, 192, 177, 0.58))) !important;
    border-radius: var(--fe-radius, 12px) !important;
    box-shadow: 0 8px 28px rgba(15, 23, 42, 0.12) !important;
    z-index: 250 !important;

    /* Hidden by default with no pointer interception */
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-4px) !important;
    transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s !important;
    transition-delay: 0.08s !important;
}

.site-header .menu-item-has-children:hover > .sub-menu,
.site-header .menu-item-has-children.focus > .sub-menu,
.site-header .menu-item-has-children.ast-menu-hover > .sub-menu,
.site-header .menu-item-has-children:focus-within > .sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
    transition-delay: 0s !important;
}

/* Elementy w dropdown */
.site-header .sub-menu .menu-link {
    display: block !important;
    padding: 8px 14px !important;
    border-radius: 8px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: var(--fe-ink, #1e293b) !important;
    background: transparent !important;
    transition: background 0.15s ease, color 0.15s ease !important;
}

.site-header .sub-menu .menu-link:hover,
.site-header .sub-menu .menu-link:focus-visible {
    background: rgba(15, 23, 42, 0.05) !important;
    color: var(--fe-color-muscle, #d96722) !important;
}

.site-header .sub-menu :is(.current-menu-item, .current_page_item) > .menu-link {
    background: rgba(217, 103, 34, 0.1) !important;
    color: var(--fe-color-muscle, #d96722) !important;
}

@media (max-width: 1200px) {
    .site-header .main-header-menu,
    .site-header .ast-builder-menu-1 .main-header-menu,
    .site-header .ast-builder-menu-2 .main-header-menu {
        display: flex;
        align-items: center;
        gap: 4px;
        overflow-x: auto;
        padding: 4px max(10px, env(safe-area-inset-right)) 4px max(10px, env(safe-area-inset-left));
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .site-header .main-header-menu::-webkit-scrollbar,
    .site-header .ast-builder-menu-1 .main-header-menu::-webkit-scrollbar,
    .site-header .ast-builder-menu-2 .main-header-menu::-webkit-scrollbar {
        display: none;
    }

    .site-header .main-header-menu > .menu-item {
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        min-height: 42px;
        position: relative;
    }

    .site-header .main-header-menu > .menu-item > .menu-link {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        gap: 5px;
        min-height: 42px;
        padding: 8px 12px !important;
        border-radius: 12px;
        white-space: nowrap;
        line-height: 1.15 !important;
    }

    .site-header .main-header-menu > .menu-item-has-children > .sub-menu {
        top: calc(100% + 4px) !important;
        left: 0 !important;
        min-width: min(190px, calc(100vw - 28px));
        padding: 8px !important;
        border-radius: 14px !important;
        background: rgba(255, 255, 255, 0.98) !important;
        box-shadow: 0 16px 40px rgba(15, 23, 42, 0.14) !important;
        transform: translateY(-4px) scale(0.98) !important;
        transform-origin: top left;
    }

    .site-header .main-header-menu > .menu-item-has-children:hover > .sub-menu,
    .site-header .main-header-menu > .menu-item-has-children.focus > .sub-menu,
    .site-header .main-header-menu > .menu-item-has-children.ast-menu-hover > .sub-menu,
    .site-header .main-header-menu > .menu-item-has-children:focus-within > .sub-menu {
        transform: translateY(0) scale(1) !important;
    }

    .site-header .sub-menu .menu-link {
        display: flex !important;
        align-items: center;
        min-height: 38px;
        padding: 9px 11px !important;
        border-radius: 10px !important;
        font-size: 13px !important;
        line-height: 1.2 !important;
    }
}

/* ── Hero media (stable block below header) ── */
.fe-hero-media {
    margin: 12px 0 20px;
    background: var(--fe-bg);
    border: 1px solid var(--fe-line);
    border-radius: var(--fe-radius);
    box-shadow: var(--fe-shadow);
    overflow: hidden;
}

.fe-main-col > .fe-hero-media:first-child {
    margin-top: 0;
}

/* ════════════════════════════════════════
   2. BASE — SINGLE TEMPLATES
   ════════════════════════════════════════ */

@keyframes fe-fade-in-up {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fe-single,
body.single-post .site-content {
    animation: fe-fade-in-up 0.22s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.fe-single {
    max-width: 1240px;
    margin: 0 auto;
    padding: 32px 20px 60px;
    font-family: var(--fe-font);
    color: var(--fe-ink);
}

.fe-single * { box-sizing: border-box; }

.fe-breadcrumbs {
    max-width: 1240px;
    margin: 0 auto 14px;
    color: var(--fe-muted, #64748b);
    font-family: var(--fe-font-sans);
    font-size: 12px;
    font-weight: 700;
}

.fe-breadcrumbs__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.fe-breadcrumbs__item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.fe-breadcrumbs__item:not(:last-child)::after {
    content: "/";
    color: var(--fe-faint, #94a3b8);
    font-weight: 600;
}

.fe-breadcrumbs__link,
.fe-breadcrumbs__current {
    display: inline-block;
    max-width: min(46vw, 320px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fe-breadcrumbs__link {
    color: inherit;
    text-decoration: none;
}

.fe-breadcrumbs__link:hover {
    color: var(--fe-ink, #0f172a);
}

/* ── Hero ── */
.fe-hero {
    background: var(--fe-bg);
    border: 1px solid var(--fe-line);
    border-radius: var(--fe-radius);
    padding: 28px 24px;
    margin-bottom: 24px;
    box-shadow: var(--fe-shadow);
}

.fe-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: var(--fe-radius-pill);
    font-family: var(--fe-font);
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--fe-accent);
    background: var(--fe-accent-bg);
    border: 1px solid var(--fe-accent-border);
    margin-bottom: 16px;
    transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

a.fe-hero__badge {
    cursor: pointer;
}

a.fe-hero__badge:hover {
    border-color: var(--fe-accent);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    background: color-mix(in srgb, var(--fe-accent-bg) 80%, var(--fe-accent) 20%);
}

.fe-hero__title {
    margin: 0 0 6px;
    font-family: var(--fe-font);
    font-size: clamp(1.75rem, 4vw, 2.8rem);
    font-weight: 700;
    line-height: 1.1;
    color: var(--fe-ink);
    letter-spacing: -0.03em;
}

.fe-hero__latin {
    display: block;
    font-family: var(--fe-font);
    font-style: italic;
    font-weight: 400;
    font-size: 16px;
    color: var(--fe-muted);
    margin-bottom: 14px;
}

.fe-hero__desc {
    max-width: 780px;
    font-size: 15px;
    line-height: 1.7;
    color: var(--fe-text);
    margin: 0;
}

.fe-hero-key-data .fe-text-paragraph {
    margin: 0;
}

.fe-hero-key-data strong {
    font-weight: 700;
}

/* ── Entry media showcase ── */
.fe-entry-media {
    display: grid;
    grid-template-columns: minmax(0, 240px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.05), rgba(255, 255, 255, 0.96));
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: var(--fe-radius);
    box-shadow: var(--fe-shadow);
    padding: 20px;
    margin: 0 0 24px;
}

.fe-entry-media__copy {
    display: grid;
    gap: 8px;
    align-content: start;
}

.fe-entry-media__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.1);
    color: var(--fe-accent);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.fe-entry-media__title {
    margin: 0;
    color: var(--fe-ink);
    font-size: 1.2rem;
    line-height: 1.2;
}

.fe-entry-media__desc {
    margin: 0;
    color: var(--fe-muted);
    font-size: 14px;
    line-height: 1.7;
}

.fe-entry-media__grid {
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1.5fr);
}

.fe-entry-media__grid.has-preview {
    grid-template-columns: minmax(0, 1.7fr) minmax(220px, 0.8fr);
}

.fe-entry-media__frame {
    display: grid;
    gap: 10px;
    margin: 0;
}

.fe-entry-media__visual {
    position: relative;
    overflow: hidden;
    border-radius: calc(var(--fe-radius) - 4px);
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: #f8fafc;
    min-height: 260px;
}

.fe-entry-media__visual--preview {
    min-height: 180px;
}

.fe-entry-media__image,
.fe-entry-media__preview-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fe-entry-media__caption {
    display: grid;
    gap: 6px;
    color: var(--fe-muted);
    font-size: 12px;
    line-height: 1.5;
}

.fe-entry-media__caption-label {
    color: var(--fe-ink);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.fe-entry-media__caption .fe-attribution {
    color: inherit;
}

.fe-entry-media__caption .fe-attribution a {
    color: var(--fe-accent);
}

/* ── Hero metrics ── */
.fe-hero__metrics {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-top: 22px;
}

.fe-metric {
    background: var(--fe-bg-soft);
    border-radius: var(--fe-radius-sm);
    padding: 14px;
}

.fe-metric__label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--fe-font);
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--fe-muted);
    margin-bottom: 6px;
}

.fe-metric__label i,
.fe-metric__label svg { width: 13px; height: 13px; }

.fe-metric__value {
    font-family: var(--fe-font);
    font-weight: 700;
    font-size: 24px;
    line-height: 1.1;
    color: var(--fe-ink);
}

.fe-metric__sub {
    margin-top: 4px;
    font-size: 12px;
    color: var(--fe-muted);
    line-height: 1.4;
}

/* ── Hero image strip (inside hero card) ── */
.fe-hero__image {
    margin-top: 20px;
    border-top: 1px solid var(--fe-line-soft);
    padding-top: 20px;
}

.fe-hero__image .fe-post-image {
    width: 100%;
    padding: 0;
}

.fe-hero__image .fe-post-image__img {
    max-height: min(50vh, 480px);
    border-radius: calc(var(--fe-radius) - 4px);
}

.fe-hero__image .fe-post-image__trigger {
    display: block;
    position: relative;
    border: 0;
    padding: 0;
    background: transparent;
    border-radius: calc(var(--fe-radius) - 4px);
    overflow: hidden;
    cursor: zoom-in;
    width: auto;
    outline: none;
    -webkit-tap-highlight-color: transparent;
}

.fe-hero__image .fe-post-image__trigger:focus,
.fe-hero__image .fe-post-image__trigger:focus-visible {
    outline: none;
    box-shadow: none;
}

.fe-hero__image .fe-post-image__zoom {
    position: absolute;
    bottom: 10px;
    right: 10px;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.fe-hero__image .fe-post-image__trigger:hover .fe-post-image__zoom {
    opacity: 1;
}

/* ── Post image (hero/preview) ── */
.fe-post-image__trigger {
    border: 0;
    padding: 0;
    background: transparent;
    outline: none;
    -webkit-tap-highlight-color: transparent;
    cursor: zoom-in;
}

.fe-post-image__trigger:focus,
.fe-post-image__trigger:focus-visible {
    outline: none;
    box-shadow: none;
}

.fe-post-image {
    width: min(100%, var(--fe-content-width, 860px));
    margin: 0 auto;
    padding: clamp(12px, 2vw, 20px);
}
.fe-post-image__img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: min(68vh, 720px);
    border-radius: 8px;
    object-fit: contain;
    margin: 0 auto;
}

/* ── Layout ── */
.fe-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 24px;
    align-items: start;
}

.fe-main-col,
.fe-side-col { min-width: 0; }

.fe-side-sticky {
    position: sticky;
    top: 110px;
    display: grid;
    gap: 16px;
}

/* ── Section card ── */
.fe-section {
    margin-bottom: 20px;
    background: var(--fe-bg);
    border: 1px solid var(--fe-line);
    border-radius: var(--fe-radius);
    box-shadow: var(--fe-shadow);
    overflow: hidden;
}

.fe-section__head {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 22px 16px;
    border-bottom: 1px solid var(--fe-line-soft);
}

.fe-section__title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-family: var(--fe-font);
    font-size: 18px;
    font-weight: 700;
    color: var(--fe-ink);
}

.fe-section__title i,
.fe-section__title svg {
    width: 20px;
    height: 20px;
    color: var(--fe-accent);
    flex-shrink: 0;
}

.fe-section__count {
    margin-left: auto;
    font-family: var(--fe-font);
    font-weight: 700;
    font-size: 12px;
    color: var(--fe-muted);
    background: var(--fe-bg-soft);
    border: 1px solid var(--fe-line);
    border-radius: var(--fe-radius-pill);
    padding: 4px 12px;
    white-space: nowrap;
}

.fe-section__body {
    padding: 20px 22px;
    line-height: 1.75;
    color: var(--fe-text);
    font-size: 15px;
}

.fe-readability { max-width: 780px; }

.fe-text-prose {
    line-height: 1.78;
}

.fe-text-paragraph {
    margin: 0 0 12px;
    color: var(--fe-text);
}

.fe-text-prose .fe-text-paragraph:last-child {
    margin-bottom: 0;
}

.fe-text-segments {
    margin: 0;
    padding-left: 20px;
    display: grid;
    gap: 8px;
    line-height: 1.72;
}

.fe-text-segments li {
    margin: 0;
    color: var(--fe-text);
}

.fe-text-segments li strong {
    color: var(--fe-ink);
}

.fe-clinical-list {
    margin: 0;
    padding-left: 20px;
    display: grid;
    gap: 6px;
    line-height: 1.65;
    color: var(--fe-text);
}

.fe-clinical-list--shortcode {
    margin-top: 8px;
}

.fe-clinical-list__item {
    margin: 0;
}

/* Legacy content compatibility: older editorial blocks using .muscle-article wrapper. */
.muscle-article h3 {
    margin-top: 1.8em;
    margin-bottom: 0.6em;
    font-size: 18px;
    color: #2c3e50;
}

.muscle-article h3:first-of-type {
    margin-top: 0;
}

.muscle-article .fe-clinical-list {
    line-height: 1.6;
    color: #333;
}

.muscle-article .fe-clinical-list li {
    margin-bottom: 10px;
}

.fe-text-segments--compact {
    gap: 6px;
    padding-left: 18px;
    font-size: 13px;
    line-height: 1.6;
}

.fe-archive__card-excerpt .fe-text-paragraph,
.fe-item-excerpt .fe-text-paragraph {
    margin: 0;
    font-size: 13px;
}

/* ── Content blocks ── */
.fe-content-block {
    background: var(--fe-bg-soft);
    border-radius: var(--fe-radius-sm);
    padding: 18px 16px;
}

.fe-content-block--highlight {
    background: transparent;
    border-left: 3px solid var(--fe-accent);
    border-radius: 0;
    padding: 16px 16px 16px 20px;
}

.fe-content-block + .fe-content-block { margin-top: 12px; }

.fe-content-block__label {
    font-family: var(--fe-font);
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--fe-muted);
    margin-bottom: 8px;
}

/* ── TL;DR ── */
.fe-tldr {
    margin-bottom: 20px;
    background: var(--fe-bg);
    border: 1px solid var(--fe-line);
    border-left: 4px solid var(--fe-accent);
    border-radius: var(--fe-radius);
    padding: 20px 22px;
    box-shadow: var(--fe-shadow);
}

.fe-tldr__label {
    font-family: var(--fe-font);
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--fe-accent);
    margin: 0 0 8px;
}

.fe-tldr__content {
    font-size: 15px;
    line-height: 1.75;
    color: var(--fe-ink);
    font-weight: 500;
}

/* ── Lead / intro card ── */
.fe-lead {
    background: var(--fe-bg-soft);
    border: 1px solid var(--fe-line);
    border-radius: var(--fe-radius);
    padding: 22px;
    margin-bottom: 20px;
}

.fe-lead__content {
    font-size: 15px;
    line-height: 1.75;
    color: var(--fe-text);
}

/* ── Red flags (pathology only) ── */
.fe-red-flags {
    background: var(--fe-red-flag-bg);
    border: 1px solid #fecaca;
    border-left: 4px solid var(--fe-red-flag-border);
    border-radius: var(--fe-radius);
    padding: 22px;
    margin-bottom: 20px;
}

.fe-red-flags__title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--fe-font);
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--fe-red-flag-border);
    margin-bottom: 10px;
}

.fe-red-flags__content {
    font-weight: 500;
    color: #7f1d1d;
    line-height: 1.75;
    font-size: 15px;
}

/* ── Two-column grid ── */
.fe-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

/* ── Clinical cards (pearls/issues) ── */
.fe-clinical-card {
    border-radius: var(--fe-radius-sm);
    padding: 18px;
    border: 1px solid var(--fe-line);
    background: var(--fe-bg);
}

.fe-clinical-card--info {
    background: var(--fe-bg-soft);
}

.fe-clinical-card--warn {
    background: var(--fe-red-flag-bg);
    border-color: #fecaca;
}

.fe-clinical-card__label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 10px;
    font-family: var(--fe-font);
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--fe-muted);
}

.fe-clinical-card--warn .fe-clinical-card__label { color: #b91c1c; }

/* ── Relation network grid ── */
.fe-network-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.fe-network-card {
    --fe-network-accent: var(--fe-muted);
    --fe-network-bg: var(--fe-bg-soft);
    --fe-network-border: var(--fe-line);
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--fe-network-accent) 8%, transparent), transparent 42%),
        var(--fe-network-bg);
    border: 1px solid var(--fe-network-border);
    border-radius: var(--fe-radius-sm);
    padding: 16px;
    box-shadow: inset 4px 0 0 color-mix(in srgb, var(--fe-network-accent) 72%, transparent);
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}

.fe-network-card:hover {
    border-color: color-mix(in srgb, var(--fe-network-accent) 42%, var(--fe-line));
    box-shadow:
        inset 4px 0 0 var(--fe-network-accent),
        0 8px 18px color-mix(in srgb, var(--fe-network-accent) 12%, transparent);
}

.fe-network-card__header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--fe-line-soft);
}

.fe-network-card__icon {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.fe-network-card__icon i,
.fe-network-card__icon svg { width: 15px; height: 15px; }

.fe-network-card--nerve .fe-network-card__icon { background: rgba(217, 119, 6, 0.1); color: var(--fe-color-nerve); }
.fe-network-card--vessel .fe-network-card__icon { background: rgba(220, 38, 38, 0.1); color: var(--fe-color-vessel); }
.fe-network-card--muscle .fe-network-card__icon { background: rgba(37, 99, 235, 0.1); color: var(--fe-color-muscle); }
.fe-network-card--joint .fe-network-card__icon { background: rgba(13, 148, 136, 0.1); color: var(--fe-color-joint); }
.fe-network-card--bone .fe-network-card__icon { background: var(--fe-bone-bg); color: var(--fe-bone-ink); border-color: var(--fe-bone-border); }
.fe-network-card--test .fe-network-card__icon { background: rgba(124, 58, 237, 0.1); color: var(--fe-color-test); }
.fe-network-card--pathology .fe-network-card__icon { background: rgba(181, 71, 15, 0.1); color: var(--fe-color-pathology); }

.fe-network-card__title {
    font-family: var(--fe-font);
    font-weight: 700;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: color-mix(in srgb, var(--fe-network-accent) 72%, var(--fe-ink));
    flex-grow: 1;
    min-width: 0;
}

.fe-network-card__count {
    font-family: var(--fe-font);
    font-weight: 700;
    font-size: 12px;
    color: color-mix(in srgb, var(--fe-network-accent) 82%, var(--fe-ink));
    background: #ffffff;
    border: 1px solid color-mix(in srgb, var(--fe-network-accent) 24%, var(--fe-line));
    border-radius: var(--fe-radius-pill);
    padding: 2px 8px;
    flex-shrink: 0;
}

.fe-network-card__more {
    margin-top: 10px;
}

.fe-network-card__more summary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    padding: 6px 10px;
    border: 1px solid var(--fe-line);
    border-radius: var(--fe-radius-pill);
    background: var(--fe-bg);
    color: var(--fe-muted);
    cursor: pointer;
    font-family: var(--fe-font);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    list-style: none;
    transition: border-color 0.18s ease, color 0.18s ease, background 0.18s ease;
}

.fe-network-card__more summary::-webkit-details-marker {
    display: none;
}

.fe-network-card__more summary::after {
    content: "";
    width: 7px;
    height: 7px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    transition: transform 0.18s ease;
}

.fe-network-card__more summary:hover {
    border-color: var(--fe-border-ink);
    color: var(--fe-ink);
}

.fe-network-card__more[open] summary {
    margin-bottom: 10px;
    background: var(--fe-bg-soft);
    color: var(--fe-ink);
}

.fe-network-card__more[open] summary::after {
    transform: rotate(225deg) translate(-1px, -1px);
}

.fe-network-card__more-close,
.fe-network-card__more[open] .fe-network-card__more-open {
    display: none;
}

.fe-network-card__more[open] .fe-network-card__more-close {
    display: inline;
}

.fe-chip-list--more {
    padding-top: 2px;
}

/* ── Chips (knowledge network) ── */
.fe-chip-group { margin-bottom: 16px; }
.fe-chip-group:last-child { margin-bottom: 0; }

.fe-chip-group__label {
    font-family: var(--fe-font);
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--fe-faint);
    margin-bottom: 10px;
}

.fe-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.fe-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 14px;
    border-radius: var(--fe-radius-pill);
    text-decoration: none;
    font-family: var(--fe-font);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    border: 1px solid var(--fe-line);
    background: var(--fe-bg);
    color: var(--fe-ink);
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}

.fe-chip:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    background: var(--fe-bg);
}

.fe-chip i,
.fe-chip svg { width: 14px; height: 14px; flex-shrink: 0; }

/* Chip icon colors per CPT type */
.fe-chip--muscle  i, .fe-chip--muscle  svg { color: var(--fe-color-muscle); }
.fe-chip--nerve   i, .fe-chip--nerve   svg { color: var(--fe-color-nerve); }
.fe-chip--joint   i, .fe-chip--joint   svg { color: var(--fe-color-joint); }
.fe-chip--bone { color: var(--fe-bone-ink); background: var(--fe-bone-bg); border-color: var(--fe-bone-border); }
.fe-chip--bone i, .fe-chip--bone svg { color: var(--fe-bone-ink); }
.fe-chip--vessel  i, .fe-chip--vessel  svg { color: var(--fe-color-vessel); }
.fe-chip--test    i, .fe-chip--test    svg { color: var(--fe-color-test); }
.fe-chip--pathology i, .fe-chip--pathology svg { color: var(--fe-color-pathology); }

.fe-chip--muscle:hover  { border-color: var(--fe-color-muscle); background: rgba(37, 99, 235, 0.04); }
.fe-chip--nerve:hover   { border-color: var(--fe-color-nerve); background: rgba(217, 119, 6, 0.04); }
.fe-chip--joint:hover   { border-color: var(--fe-color-joint); background: rgba(13, 148, 136, 0.04); }
.fe-chip--bone:hover    { border-color: var(--fe-bone); background: var(--fe-bone-bg); }
.fe-chip--vessel:hover  { border-color: var(--fe-color-vessel); background: rgba(220, 38, 38, 0.04); }
.fe-chip--test:hover    { border-color: var(--fe-color-test); background: rgba(124, 58, 237, 0.04); }
.fe-chip--pathology:hover { border-color: var(--fe-color-pathology); background: rgba(181, 71, 15, 0.04); }

/* ── Differential diagnosis list ── */
.fe-diff-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.fe-diff-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    background: var(--fe-bg);
    border: 1px solid var(--fe-line);
    border-radius: var(--fe-radius-sm);
    font-size: 14px;
    font-weight: 500;
    color: var(--fe-text);
    transition: border-color 0.18s ease, background 0.18s ease;
}

.fe-diff-item:has(.fe-diff-link):hover {
    border-color: var(--fe-accent);
    background: var(--fe-accent-bg);
}

.fe-diff-item i,
.fe-diff-item svg { color: var(--fe-muted); flex-shrink: 0; width: 14px; height: 14px; }

.fe-diff-link {
    color: var(--fe-text);
    text-decoration: none;
    font-weight: 600;
}

.fe-diff-link:hover { color: var(--fe-accent); }

/* ── Referral cards ── */
.fe-refer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
}

.fe-refer-card {
    border-radius: var(--fe-radius-sm);
    padding: 14px 16px 14px 18px;
    background: var(--fe-bg);
    border: 1px solid var(--fe-line);
    border-left-width: 4px;
}

.fe-refer-card--urgent  { border-left-color: #dc2626; }
.fe-refer-card--planned { border-left-color: #d97706; }
.fe-refer-card--monitor { border-left-color: #64748b; }

.fe-refer-card__label {
    font-family: var(--fe-font);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.fe-refer-card--urgent .fe-refer-card__label  { color: #b91c1c; }
.fe-refer-card--planned .fe-refer-card__label  { color: #92400e; }
.fe-refer-card--monitor .fe-refer-card__label  { color: #475569; }

.fe-refer-card__text {
    font-size: 13.5px;
    color: var(--fe-text);
    line-height: 1.65;
}

/* ── EBM empty state ── */
.fe-ebm-empty {
    background: var(--fe-info-bg);
    border-left: 3px solid var(--fe-info-border);
    border-radius: 0 var(--fe-radius-sm) var(--fe-radius-sm) 0;
    padding: 16px 16px 16px 20px;
    font-size: 14px;
    color: #92400e;
}

/* ── EBM stats gauge (clinical_test) ── */
.fe-ebm-gauge-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.fe-ebm-gauge-card {
    background: var(--fe-bg-soft);
    border-radius: var(--fe-radius-sm);
    padding: 16px;
    text-align: center;
}

.fe-ebm-gauge-card__label {
    font-family: var(--fe-font);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--fe-muted);
    margin-bottom: 4px;
}

.fe-ebm-gauge-card__value {
    font-family: var(--fe-font);
    font-size: 28px;
    font-weight: 700;
    color: var(--fe-ink);
}

/* ── References / bibliography ── */
.fe-method-note {
    background: var(--fe-bg-cream);
    border: 1px solid var(--fe-line);
    border-radius: var(--fe-radius-sm);
    padding: 16px;
    font-size: 14px;
    line-height: 1.65;
    color: var(--fe-text);
    margin-bottom: 16px;
}

.fe-method-note strong { color: var(--fe-ink); font-weight: 700; }

.fe-reference-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 12px;
}

.fe-reference-item {
    border: 1px solid var(--fe-line);
    border-radius: var(--fe-radius-sm);
    padding: 16px;
    background: var(--fe-bg);
}

.fe-reference-top {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 8px;
}

.fe-ref-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: var(--fe-radius-pill);
    background: var(--fe-bg-soft);
    border: 1px solid var(--fe-line);
    color: var(--fe-text);
    font-family: var(--fe-font);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.fe-ref-badge--global {
    background: #eff6ff;
    border-color: #bfdbfe;
    color: #1d4ed8;
}

.fe-reference-title {
    font-size: 14px;
    line-height: 1.6;
    color: var(--fe-text);
}

.fe-reference-title strong { color: var(--fe-ink); }

.fe-reference-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    text-decoration: none;
    color: var(--fe-accent);
    font-size: 13px;
    font-weight: 600;
}

.fe-reference-link:hover { text-decoration: underline; }

/* ── Side panels ── */
.fe-panel {
    background: var(--fe-bg);
    border: 1px solid var(--fe-line);
    border-radius: var(--fe-radius);
    box-shadow: var(--fe-shadow);
}

.fe-panel__inner { padding: 18px; }

.fe-panel__title {
    margin: 0 0 14px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--fe-font);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--fe-muted);
}

.fe-panel__title i,
.fe-panel__title svg { width: 15px; height: 15px; color: var(--fe-accent); }

/* TOC & Quick links */
.fe-toc-list,
.fe-mini-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 8px;
}

.fe-toc-list a,
.fe-mini-list a {
    text-decoration: none;
    color: var(--fe-text);
    font-family: var(--fe-font);
    font-size: 13px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 9px 12px;
    border: 1px solid var(--fe-line-soft);
    border-radius: 8px;
    background: var(--fe-bg);
    transition: 0.15s ease;
}

.fe-toc-list a:hover,
.fe-mini-list a:hover {
    border-color: var(--fe-line);
    color: var(--fe-accent);
    background: var(--fe-bg-soft);
}

.fe-toc-list a.is-active {
    border-color: var(--fe-accent);
    color: var(--fe-accent);
    background: color-mix(in srgb, var(--fe-accent) 6%, white);
}

.fe-toc-list a i,
.fe-mini-list a i { width: 14px; height: 14px; flex-shrink: 0; }

/* How to read */
.fe-how-to-read {
    background: var(--fe-bg-cream);
    border: 1px solid var(--fe-line);
    border-radius: var(--fe-radius-sm);
    padding: 16px;
    font-size: 14px;
    line-height: 1.65;
    color: var(--fe-text);
}

.fe-how-to-read strong { color: var(--fe-ink); font-weight: 700; }

/* ── Mobile toggle (TOC) ── */
.fe-mobile-toggle { display: none; }

/* ════════════════════════════════════════
   3. ARCHIVE TEMPLATES
   ════════════════════════════════════════ */

.fe-archive {
    /* Base page container (max-width / margin-inline / padding-inline / top spacing)
       is controlled by unified FE page container system above. */
    font-family: var(--fe-font);
    color: var(--fe-ink);
}

.fe-archive * { box-sizing: border-box; }

/* Archive hero */
.fe-archive__hero {
    background: var(--fe-archive-surface-hero);
    border: 1px solid var(--fe-archive-accent-border);
    border-radius: var(--fe-archive-radius-surface);
    padding: 30px 28px;
    box-shadow: var(--fe-archive-shadow-soft);
    display: flex;
    flex-direction: column;
}

.fe-archive__hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 14px;
    border-radius: var(--fe-radius-pill);
    font-family: var(--fe-font);
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--fe-accent);
    background: var(--fe-archive-accent-soft);
    border: 1px solid var(--fe-archive-accent-border);
    margin-bottom: 16px;
    align-self: flex-start;
}

.fe-archive__hero-title {
    margin: 0 0 12px;
    font-family: var(--fe-font);
    font-size: clamp(1.75rem, 4vw, 2.8rem);
    font-weight: 700;
    line-height: 1.14;
    color: var(--fe-ink);
    letter-spacing: -0.03em;
}

.fe-archive__hero-desc {
    max-width: 75ch;
    font-size: 15px;
    line-height: 1.78;
    color: var(--fe-text);
    margin: 0 0 20px;
    text-wrap: pretty;
}

.fe-archive__hero-info {
    background: color-mix(in srgb, var(--fe-accent-bg) 46%, var(--fe-bg-soft));
    border: 1px solid color-mix(in srgb, var(--fe-accent-border) 64%, var(--fe-line));
    border-radius: var(--fe-radius-sm);
    padding: 18px;
    margin-bottom: 20px;
}

.fe-archive__hero-info-title {
    font-family: var(--fe-font);
    font-weight: 700;
    font-size: 13px;
    color: var(--fe-accent);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 8px;
}

.fe-archive__hero-info p {
    font-size: 14px;
    line-height: 1.75;
    color: var(--fe-text);
    margin: 0;
    max-width: 78ch;
    text-wrap: pretty;
}

/* Archive metrics */
.fe-archive__metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: auto;
}

.fe-archive__metric {
    background: color-mix(in srgb, var(--fe-accent-bg) 36%, #ffffff);
    border: 1px solid color-mix(in srgb, var(--fe-accent-border) 62%, var(--fe-line));
    border-radius: var(--fe-radius-sm);
    padding: 14px;
}

.fe-archive__metric-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--fe-font);
    font-weight: 600;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--fe-muted);
    margin-bottom: 4px;
}

.fe-archive__metric-label i,
.fe-archive__metric-label svg { width: 12px; height: 12px; }

.fe-archive__metric-value {
    font-family: var(--fe-font);
    font-weight: 700;
    font-size: 22px;
    color: var(--fe-ink);
}

.fe-archive__metric-sub {
    font-size: 12px;
    color: var(--fe-muted);
    margin-top: 2px;
}

/* Archive layout */
.fe-archive__layout {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 24px;
    margin-top: 24px;
    align-items: start;
}

/* Archive filters */
.fe-archive__filters {
    background: color-mix(in srgb, var(--fe-accent-bg) 24%, #ffffff);
    border: 1px solid color-mix(in srgb, var(--fe-accent-border) 70%, var(--fe-line));
    border-radius: var(--fe-archive-radius-surface);
    padding: 22px;
    box-shadow: var(--fe-shadow);
}

.fe-archive__filter-label {
    font-family: var(--fe-font);
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--fe-muted);
    margin-bottom: 6px;
    display: block;
}

.fe-archive__filter-input,
.fe-archive__filter-select {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid color-mix(in srgb, var(--fe-accent-border) 50%, var(--fe-line));
    border-radius: 8px;
    font-family: var(--fe-font);
    font-size: 14px;
    color: var(--fe-ink);
    background: var(--fe-bg);
    margin-bottom: 14px;
    transition: border-color 0.2s;
}

.fe-archive__filter-input:focus,
.fe-archive__filter-select:focus {
    outline: none;
    border-color: var(--fe-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--fe-accent) 18%, transparent);
}

.fe-archive__filter-btn {
    width: 100%;
    padding: 12px;
    border: none;
    border-radius: 8px;
    font-family: var(--fe-font);
    font-weight: 600;
    font-size: 14px;
    color: #fff;
    background: color-mix(in srgb, var(--fe-accent) 86%, var(--fe-ink));
    cursor: pointer;
    transition: opacity 0.2s;
}

.fe-archive__filter-btn:hover { opacity: 0.9; }

/* Archive two-column layout: main content | sticky anatomy sidebar */
.fe-archive__with-sidebar {
    display: flex !important;
    gap: var(--fe-archive-shell-gap);
    align-items: stretch;
}

.fe-archive__main-col {
    flex: 1 1 0%;
    min-width: 0;
}

.fe-archive__sidebar {
    flex: 0 0 290px;
    width: 290px;
    min-width: 0;
    align-self: flex-start;
    background: color-mix(in srgb, var(--fe-accent-bg) 20%, #ffffff);
    border: 1px solid color-mix(in srgb, var(--fe-accent-border) 68%, var(--fe-line));
    border-radius: var(--fe-archive-radius-surface);
    padding: 14px;
}

.fe-archive__filter-form {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr auto;
    gap: 14px;
    align-items: end;
}

.fe-archive__grid {
    display: grid;
    gap: var(--fe-archive-gap);
}

.fe-archive__grid--cols-2 { grid-template-columns: repeat(2, 1fr); }
.fe-archive__grid--cols-3 { grid-template-columns: repeat(3, 1fr); }

.fe-archive__clear-link {
    font-size: 12px;
    font-weight: 600;
    color: var(--fe-accent);
    text-decoration: none;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.fe-archive__clear-link-icon { width: 14px; height: 14px; }

.fe-archive__clear-link:focus-visible,
.fe-archive__reset-btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px var(--fe-archive-accent-ring);
    border-radius: 999px;
}

.fe-archive__empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 48px 20px;
    color: var(--fe-muted);
}

.fe-archive__empty-icon {
    width: 48px;
    height: 48px;
    margin-bottom: 14px;
    opacity: 0.5;
}

.fe-archive__empty-title {
    font-size: 18px;
    color: var(--fe-ink);
    margin: 0 0 8px;
}

.fe-archive__empty-text {
    font-size: 14px;
    margin: 0;
}

/* Vessel type tabs */
.fe-vessel-tabs {
    display: inline-flex;
    background: var(--fe-bg-soft);
    border-radius: var(--fe-radius-pill);
    padding: 3px;
    margin-bottom: 14px;
}

.fe-vessel-tab {
    padding: 7px 14px;
    border-radius: var(--fe-radius-pill);
    font-family: var(--fe-font);
    font-weight: 600;
    font-size: 12px;
    color: var(--fe-muted);
    background: transparent;
    border: none;
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none;
}

.fe-vessel-tab--active {
    background: var(--fe-bg);
    color: var(--fe-ink);
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}

.fe-vessel-tab:hover:not(.fe-vessel-tab--active) { color: var(--fe-text); }

/* Archive cards */
.fe-archive__card {
    background: var(--fe-card-bg, var(--fe-archive-surface-card));
    border: 1px solid var(--fe-outline-variant, #e0c0b1);
    border-radius: var(--fe-archive-radius-card);
    padding: 22px;
    min-height: 320px;
    margin-bottom: 0;
    box-shadow: var(--fe-archive-shadow-soft);
    transition: border-color 0.18s ease, box-shadow 0.2s ease, transform 0.2s ease;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    height: 100%;
    color: inherit;
}

.fe-archive__card-link {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
    outline: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.fe-archive__card:hover {
    border-color: color-mix(in srgb, var(--fe-accent) 50%, var(--fe-border-ink));
    box-shadow: var(--fe-archive-shadow-hover);
    transform: translateY(-2px);
}

/* Remove native browser blue focus ring/outline on tap for both card
   markup variants: <a class="fe-archive__card-link"> nested inside
   <article class="fe-archive__card"> (fe-archive-card.php), and
   <a class="fe-archive__card ...">  used directly (fe-unified-archive.php) */
.fe-archive__card,
.fe-archive__card-link,
.fe-archive__card:active,
.fe-archive__card-link:active,
.fe-archive__card:focus,
.fe-archive__card-link:focus {
    outline: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.fe-archive__card:focus-visible,
.fe-archive__card-link:focus-visible {
    outline: none;
    border-color: var(--fe-accent);
    box-shadow: var(--fe-archive-shadow-hover), 0 0 0 3px var(--fe-archive-accent-ring);
    transform: translateY(-1px);
}

.fe-archive__card-region {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 11px;
    border-radius: var(--fe-radius-pill);
    font-family: var(--fe-font);
    font-weight: 600;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--fe-accent);
    background: var(--fe-archive-accent-soft);
    border: 1px solid color-mix(in srgb, var(--fe-accent-border) 72%, #ffffff);
    margin-bottom: 10px;
}

.fe-archive__card-icon {
    display: none !important;
}

.fe-archive__card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 10px;
}

.fe-archive__card-title {
    font-family: var(--fe-font);
    font-weight: 700;
    font-size: 17px;
    color: var(--fe-ink);
    margin: 0 0 4px;
    line-height: 1.3;
}

.fe-archive__card-subtitle {
    font-family: var(--fe-font);
    font-weight: 500;
    font-size: 13px;
    color: var(--fe-accent);
    margin-bottom: 10px;
    line-height: 1.35;
}

.fe-archive__card-title,
.fe-archive__card-subtitle {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.fe-archive__card-title {
    min-height: 2.8em;
    line-height: 1.4;
    -webkit-line-clamp: 2;
}

.fe-archive__card-subtitle {
    min-height: 2.7em;
    line-height: 1.35;
    -webkit-line-clamp: 2;
}

.fe-archive__card-ebm,
.fe-archive__card-no-ebm {
    min-height: 132px;
}

.fe-archive__card-ebm {
    align-items: stretch;
}

.fe-archive__card-meta {
    margin-top: auto;
}

.fe-archive__card-meta-item {
    align-items: center;
}

.fe-archive__card-meta-item i,
.fe-archive__card-meta-item svg {
    margin-top: 0;
}

.fe-archive__card-excerpt {
    font-size: 13px;
    line-height: 1.72;
    color: var(--fe-text);
    margin-bottom: 14px;
    text-wrap: pretty;
}

.fe-archive__card-meta {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-top: 14px;
    border-top: 1px solid var(--fe-line-soft);
    font-size: 12px;
    color: var(--fe-muted);
}

.fe-archive__card-meta-item {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    line-height: 1.5;
}

.fe-archive__card-meta-item i,
.fe-archive__card-meta-item svg { width: 13px; height: 13px; flex-shrink: 0; margin-top: 1px; }

.fe-archive__card-meta-item strong { font-weight: 600; color: var(--fe-text); }
.fe-archive__card-preview {
    margin-top: .7rem;
}
.fe-archive__card-preview-title {
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: var(--fe-muted);
    margin-bottom: .35rem;
}
.fe-archive__card-preview .fe-text-segments {
    margin: 0;
}

.fe-archive__card-relations {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--fe-line-soft);
}

.fe-archive__card-relations-title {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--fe-muted);
    margin-bottom: 8px;
}

.fe-archive__card-relations-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.fe-archive__card-relation-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: var(--fe-radius-pill);
    border: 1px solid color-mix(in srgb, var(--fe-accent-border) 60%, var(--fe-line));
    background: color-mix(in srgb, var(--fe-accent-bg) 24%, #ffffff);
    color: var(--fe-text);
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
}

.fe-archive__card-relation-chip:hover,
.fe-archive__card-relation-chip:focus-visible {
    border-color: var(--fe-accent);
    color: var(--fe-accent);
    background: color-mix(in srgb, var(--fe-accent-bg) 50%, #ffffff);
    outline: none;
}

.fe-archive__card-relation-chip-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    border-radius: 999px;
    padding: 0 5px;
    background: color-mix(in srgb, var(--fe-accent) 16%, white);
    color: var(--fe-accent);
    font-size: 11px;
    line-height: 1;
}

.fe-archive__card-cta {
    margin-top: auto;
    padding-top: 14px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--fe-accent);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.03em;
}

.fe-archive__card-cta i,
.fe-archive__card-cta svg {
    width: 14px;
    height: 14px;
    transition: transform 0.2s ease;
}

.fe-archive__card:hover .fe-archive__card-cta i,
.fe-archive__card:hover .fe-archive__card-cta svg,
.fe-archive__card:focus-within .fe-archive__card-cta i,
.fe-archive__card:focus-within .fe-archive__card-cta svg {
    transform: translate(1px, -1px);
}

/* Archive results count */
.fe-archive__results-count {
    font-family: var(--fe-font);
    font-size: 14px;
    color: var(--fe-muted);
    margin-bottom: 0;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--fe-line);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.fe-archive__results-count strong {
    color: var(--fe-ink);
    font-weight: 700;
}

/* ════════════════════════════════════════
   4. RESPONSIVE
   ════════════════════════════════════════ */

@media (max-width: 1100px) {
    .fe-layout { grid-template-columns: 1fr; }
    .fe-archive__layout { grid-template-columns: 1fr; }
    .fe-archive__grid--cols-2,
    .fe-archive__grid--cols-3 { grid-template-columns: repeat(2, 1fr); }
    .fe-archive__filter-form { grid-template-columns: 1fr 1fr; }
    .fe-side-col { order: -1; }
    .fe-main-col { order: 2; }
    .fe-side-sticky {
        position: static;
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .fe-panel--toc { order: 1; }
    .fe-panel--quick { order: 2; }
    .fe-panel--reading { order: 3; }
}

@media (max-width: 820px) {
    .fe-single { padding: 20px 14px 40px; }

    .fe-hero,
    .fe-archive__hero { padding: 22px 18px; }

    .fe-entry-media {
        grid-template-columns: 1fr;
        padding: 18px;
    }

    .fe-entry-media__grid,
    .fe-entry-media__grid.has-preview {
        grid-template-columns: 1fr;
    }

    .fe-hero__metrics { grid-template-columns: 1fr 1fr; }
    .fe-archive__metrics { grid-template-columns: 1fr; }
    .fe-post-image__img { max-height: 56vh; }

    .fe-archive__filters {
        padding: 16px;
        border-radius: var(--fe-archive-radius-surface);
    }

    .fe-archive__filter-input,
    .fe-archive__filter-select,
    .fe-archive__filter-btn {
        min-height: 44px;
    }

    .fe-archive__card {
        padding: 16px;
        border-radius: var(--fe-archive-radius-card);
        min-height: 280px;
    }

    .fe-archive__card-img { position: relative;
        margin: -16px -16px 12px;
        border-radius: calc(var(--fe-archive-radius-card) - 1px) calc(var(--fe-archive-radius-card) - 1px) 0 0;
    }

    .fe-archive__card-title {
        font-size: 15px;
        line-height: 1.32;
    }

    .fe-archive__card-subtitle {
        font-size: 12px;
        line-height: 1.3;
    }

    .fe-archive__card-meta {
        font-size: 11.5px;
    }

    .fe-section__head,
    .fe-section__body { padding-left: 18px; padding-right: 18px; }

    .fe-two-col,
    .fe-side-sticky { grid-template-columns: 1fr; }
    .fe-ebm-grid { grid-template-columns: 1fr; }
    .fe-network-grid { grid-template-columns: 1fr; }

    .fe-network-card { padding: 14px; }
    .fe-network-card__icon { width: 26px; height: 26px; border-radius: 6px; }
    .fe-network-card__icon i,
    .fe-network-card__icon svg { width: 13px; height: 13px; }
    .fe-network-card__header { gap: 6px; margin-bottom: 10px; padding-bottom: 8px; }

    .fe-network-card .fe-chip-list { gap: 6px; }
    .fe-network-card .fe-chip {
        padding: 6px 10px;
        font-size: 12px;
        gap: 5px;
    }
    .fe-network-card .fe-chip i,
    .fe-network-card .fe-chip svg { width: 12px; height: 12px; }

    .fe-hero__title { font-size: 1.6rem; }

    .fe-mobile-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        width: 100%;
        padding: 14px 18px;
        border: 0;
        background: transparent;
        font-family: var(--fe-font);
        color: var(--fe-muted);
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        cursor: pointer;
    }

    .fe-panel--toc .fe-panel__inner { padding: 0; }

    .fe-panel--toc .fe-toc-wrap {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.25s ease;
        padding: 0 18px;
    }

    .fe-panel--toc .fe-toc-wrap.open {
        max-height: 500px;
        padding: 0 18px 18px;
    }

    .fe-panel--toc .fe-panel__title { display: none; }

    .fe-panel--reading {
        display: none;
    }

    .fe-refer-grid { grid-template-columns: 1fr; }
    .fe-ebm-gauge-grid { grid-template-columns: 1fr; }
}

@media (max-width: 921px) {
    .fe-archive__with-sidebar { flex-direction: column; }
    .fe-archive__sidebar { width: 100%; flex: 0 0 auto; order: 1; }
    .fe-archive__main-col { order: 2; }
}

/* Sidebar stickiness only in two-column archive layouts */
.fe-archive--with-body-sidebar .fe-archive__sidebar {
    --fe-sidebar-sticky-top: clamp(82px, 8.5vh, 116px);
    position: sticky;
    top: var(--fe-sidebar-sticky-top);
    max-height: calc(100vh - var(--fe-sidebar-sticky-top) - 14px);
    overflow: auto;
}

@media (max-width: 921px) {
    .fe-archive--with-body-sidebar .fe-archive__sidebar {
        position: static;
        max-height: none;
        overflow: visible;
    }
}

/* ── Body region filter widget ── */
.fe-body-widget {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 18px 14px 14px;
    background: var(--fe-archive-surface-muted);
    border: 1px solid var(--fe-archive-accent-border);
    border-radius: var(--fe-archive-radius-card);
    box-shadow: var(--fe-shadow);
}

.fe-body-toggle {
    display: flex;
    width: 100%;
    border: 1px solid var(--fe-archive-accent-border);
    border-radius: var(--fe-radius-sm);
    overflow: hidden;
}

.fe-body-btn {
    flex: 1;
    padding: 7px 12px;
    border: none;
    cursor: pointer;
    font-family: var(--fe-font);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--fe-muted);
    background: transparent;
    transition: background 0.15s, color 0.15s;
}

.fe-body-btn.is-active {
    color: #fff;
    background: color-mix(in srgb, var(--fe-accent) 86%, var(--fe-ink));
    border-radius: calc(var(--fe-radius-sm) - 2px);
}

.fe-body-btn:hover:not(.is-active) {
    background: color-mix(in srgb, var(--fe-accent-bg) 48%, var(--fe-bg-soft));
    color: var(--fe-accent);
}

.fe-body-btn:focus-visible {
    outline: none;
    box-shadow: inset 0 0 0 2px var(--fe-accent), 0 0 0 3px var(--fe-archive-accent-ring);
}

.fe-body-svg-wrap {
    width: min(100%, 210px);
    height: clamp(320px, 48vh, 390px);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.fe-body-view {
    width: 100%;
    height: 100%;
    display: none;
}

.fe-body-view.is-visible {
    display: flex;
    align-items: center;
    justify-content: center;
}

.fe-body-view svg {
    width: 100%;
    height: 100%;
    max-width: min(100%, 210px);
    max-height: clamp(320px, 48vh, 390px);
    display: block;
    margin: 0 auto;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.06));
}

.fe-body-view .region-path {
    fill: transparent;
    stroke: none;
    cursor: pointer;
    transition: fill 0.12s ease;
}

.fe-body-view .region-path:hover,
.fe-body-view .region-path.hover {
    fill: color-mix(in srgb, var(--fe-accent) 20%, transparent);
}

.fe-body-view .region-path:focus-visible {
    outline: none;
    fill: color-mix(in srgb, var(--fe-accent) 26%, transparent);
    stroke: color-mix(in srgb, var(--fe-accent) 80%, #0f172a);
    stroke-width: 2px;
}

.fe-body-view .region-path.is-active {
    fill: color-mix(in srgb, var(--fe-accent) 38%, transparent);
    stroke: color-mix(in srgb, var(--fe-accent) 85%, #0f172a);
    stroke-width: 1.5px;
}

.fe-body-view .s1,
.fe-body-view .body-fill {
    fill: #eeeceb;
}

.fe-body-view .s2,
.fe-body-view .body-detail {
    fill: #e0ddd9;
}

.fe-body-view #Background #Path0 {
    display: none;
}

.fe-body-hint {
    margin: 0;
    font-family: var(--fe-font);
    font-size: 11px;
    color: var(--fe-faint);
    text-align: center;
}

#fe-body-tooltip {
    position: fixed;
    z-index: 10000;
    pointer-events: none;
    opacity: 0;
    white-space: nowrap;
    background: #0f172a;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    padding: 5px 12px;
    border-radius: 4px;
    transition: none;
}

@media (pointer: coarse) {
    #fe-body-tooltip { display: none !important; }
}

@media (max-width: 921px) {
    .fe-body-widget {
        position: static;
        gap: 14px;
    }

    .fe-body-svg-wrap {
        width: 160px;
        height: 300px;
    }

    .fe-body-view svg {
        max-width: 160px;
        max-height: 300px;
    }
}

@media (max-width: 640px) {
    body.post-type-archive .fe-archive {
        --fe-archive-section-gap: var(--fe-archive-section-gap-mobile);
        --fe-archive-gap: var(--fe-archive-gap-mobile);
    }

    .fe-archive__grid--cols-2,
    .fe-archive__grid--cols-3,
    .fe-archive__filter-form { grid-template-columns: 1fr; }
    .fe-archive__grid { gap: var(--fe-archive-gap); }
    .fe-archive__card { min-height: 0; }
    .fe-archive__clear-link {
        float: none;
        margin-top: 8px;
    }
}

@media (max-width: 560px) {
    .fe-hero__metrics { grid-template-columns: 1fr; }

    .fe-entry-media {
        padding: 16px;
    }

    .fe-entry-media__visual,
    .fe-entry-media__visual--preview {
        min-height: 180px;
    }

    .fe-post-image {
        padding: 10px;
    }

    .fe-hero__image {
        margin-top: 16px;
        padding-top: 16px;
    }

    .fe-hero__image .fe-post-image__img {
        max-height: min(40vh, 320px);
    }

    .fe-hero__image .fe-post-image__zoom {
        opacity: 1;
        width: 28px;
        height: 28px;
        bottom: 8px;
        right: 8px;
    }


    .fe-archive__results-count {
        font-size: 13px;
        line-height: 1.45;
    }

    .fe-archive__card {
        padding: 14px;
    }

    .fe-archive__card-img { position: relative;
        margin: -14px -14px 10px;
    }

    .fe-hero__title { font-size: 1.45rem; }
    .fe-hero__badge { font-size: 10px; }
    .fe-section__title { font-size: 16px; }
    .fe-metric { padding: 12px; }
}

/* ════════════════════════════════════════
   5. ABOUT PAGE
   ════════════════════════════════════════ */
.fe-about-page {
    /* Base page container (max-width / margin-inline / padding-inline / top spacing)
       is controlled by unified FE page container system above. */
    font-family: var(--fe-font);
    color: var(--fe-ink);
    line-height: 1.75;
}

.fe-about-page h1 {
    font-family: var(--fe-font);
    font-size: clamp(2rem, 4vw, 2.8rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    margin-bottom: 16px;
}

.fe-about-page h2 {
    font-family: var(--fe-font);
    font-size: 1.5rem;
    font-weight: 700;
    margin: 36px 0 16px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid var(--fe-line-soft);
    padding-bottom: 12px;
}

.fe-about-page h2 i { color: var(--fe-color-muscle); }

/* ════════════════════════════════════════
   6. FRONT PAGE
   ════════════════════════════════════════ */
.fe-front-page { font-family: var(--fe-font); }
.fe-front-page h1,
.fe-front-page h2,
.fe-front-page h3 { font-family: var(--fe-font); }

/* ── Archive: EBM education box (clinical_test) ── */
.fe-archive__education {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    background: var(--fe-info-bg);
    border: 1px solid #fcd34d;
    border-radius: var(--fe-radius);
    padding: 22px;
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 1.65;
    color: #92400e;
}

.fe-archive__education-title {
    font-family: var(--fe-font);
    font-weight: 700;
    font-size: 15px;
    color: #78350f;
    margin: 0 0 6px;
}

.fe-archive__education p { margin: 0 0 8px; }
.fe-archive__education p:last-child { margin-bottom: 0; }

.fe-archive__education-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.fe-archive__education-stat {
    font-size: 12px;
    background: rgba(255,255,255,0.7);
    border-radius: var(--fe-radius-pill);
    padding: 4px 10px;
    color: #78350f;
}

/* ── Archive card: EBM mini pills ── */
.fe-archive__card-ebm {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
}

.fe-archive__card-ebm-pill {
    background: var(--fe-bg-soft);
    border-radius: var(--fe-radius-sm);
    padding: 8px 12px;
    text-align: center;
    flex: 1;
}

.fe-archive__card-ebm-pill__value {
    font-family: var(--fe-font);
    font-weight: 700;
    font-size: 16px;
    color: var(--fe-accent);
    display: block;
}

.fe-archive__card-ebm-pill__label {
    font-family: var(--fe-font);
    font-size: 10px;
    font-weight: 500;
    color: var(--fe-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.fe-archive__card-no-ebm {
    background: var(--fe-bg-soft);
    border-radius: var(--fe-radius-sm);
    padding: 10px 12px;
    font-size: 12px;
    color: var(--fe-muted);
    text-align: center;
    margin-bottom: 12px;
}

/* ── Clinical test: EBM summary card ── */
.fe-ebm-summary {
    background: var(--fe-bg-soft);
    border: 1px solid var(--fe-line);
    border-radius: var(--fe-radius);
    padding: 20px;
    margin-bottom: 16px;
}

.fe-ebm-summary__label {
    font-family: var(--fe-font);
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--fe-muted);
    margin-bottom: 12px;
}

.fe-ebm-pills {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 10px;
}

.fe-ebm-pill {
    background: var(--fe-bg);
    border: 1px solid var(--fe-line);
    border-radius: var(--fe-radius-sm);
    padding: 12px;
    text-align: center;
}

.fe-ebm-pill__value {
    font-family: var(--fe-font);
    font-weight: 700;
    font-size: 22px;
    color: var(--fe-accent);
    display: block;
}

.fe-ebm-pill__label {
    font-family: var(--fe-font);
    font-weight: 500;
    font-size: 11px;
    color: var(--fe-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-top: 2px;
    display: block;
}

/* ── Single clinical_test: semantic EBM list ── */
body.single-clinical_test .fe-hero--clinical-test .fe-ebm-summary,
body.single-clinical_test .fe-hero--clinical-test .fe-hero__metrics {
    width: 100%;
}

body.single-clinical_test .fe-hero--clinical-test .fe-hero__metrics {
    grid-template-columns: repeat(5, 1fr);
}

body.single-clinical_test .fe-ebm-definition-list {
    margin: 0;
    display: grid;
    gap: 10px;
}

body.single-clinical_test .fe-ebm-definition-item {
    margin: 0;
    padding: 10px 12px;
    border: 1px solid var(--fe-line-soft);
    border-radius: 10px;
    background: var(--fe-bg);
}

body.single-clinical_test .fe-ebm-definition-item dt {
    margin: 0 0 4px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--fe-muted);
}

body.single-clinical_test .fe-ebm-definition-item dd {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--fe-text);
}

.fe-no-ebm-banner {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    background: var(--fe-info-bg);
    border: 1px solid #fcd34d;
    border-radius: var(--fe-radius-sm);
    padding: 16px;
    font-size: 14px;
    color: #92400e;
    line-height: 1.6;
}

.fe-no-ebm-banner strong { display: block; margin-bottom: 4px; color: #78350f; }
.fe-no-ebm-banner p { margin: 0; }

/* Confidence score */
.fe-score-card {
    background: var(--fe-bg-soft);
    border-radius: var(--fe-radius-sm);
    padding: 14px;
}

.fe-score-top {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 8px;
}

.fe-score-value {
    font-family: var(--fe-font);
    font-weight: 700;
    font-size: 22px;
    color: var(--fe-ink);
}

.fe-score-badge {
    font-family: var(--fe-font);
    font-weight: 600;
    font-size: 11px;
    color: var(--fe-muted);
}

.fe-score-bar {
    width: 100%;
    height: 6px;
    background: var(--fe-line);
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 8px;
}

.fe-score-fill {
    height: 100%;
    border-radius: 3px;
    transition: width 0.6s ease;
}

.fe-score-fill.high { background: #16a34a; }
.fe-score-fill.mid  { background: #d97706; }
.fe-score-fill.low  { background: #dc2626; }

.fe-score-note {
    font-size: 12px;
    color: var(--fe-muted);
    line-height: 1.5;
}

/* EBM level badge */
.fe-ebm-level-A { color: #16a34a; }
.fe-ebm-level-B { color: #d97706; }
.fe-ebm-level-C { color: #dc2626; }

/* Positive sign block */
.fe-pos-sign {
    margin-top: 16px;
    padding: 16px;
    background: var(--fe-bg-soft);
    border-left: 3px solid var(--fe-accent);
    border-radius: 0 var(--fe-radius-sm) var(--fe-radius-sm) 0;
}

.fe-pos-sign__label {
    font-family: var(--fe-font);
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--fe-accent);
    margin-bottom: 6px;
}

/* Pagination */
.fe-pagination {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 0;
}

.fe-pagination a,
.fe-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border: 1px solid var(--fe-line);
    border-radius: 8px;
    font-family: var(--fe-font);
    font-size: 13px;
    font-weight: 600;
    color: var(--fe-text);
    text-decoration: none;
    background: var(--fe-bg);
    transition: 0.15s;
}

.fe-pagination a:hover {
    border-color: var(--fe-accent);
    color: var(--fe-accent);
}

.fe-pagination .current {
    background: var(--fe-accent);
    border-color: var(--fe-accent);
    color: #fff;
}

/* === EBM cards: structured pathology output === */
.fe-section--ebm .fe-section__body {
    display: block;
}

.fe-ebm-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.fe-ebm-card {
    position: relative;
    background: #fff;
    border: 1px solid var(--fe-line);
    border-radius: 16px;
    padding: 14px 16px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.fe-ebm-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 24px rgba(16, 24, 40, 0.08);
}

.fe-ebm-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    border-radius: 16px 0 0 16px;
    background: var(--fe-accent, #c2410c);
    opacity: .9;
}

.fe-ebm-card__head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.fe-ebm-card__icon {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(194, 65, 12, 0.08);
    color: var(--fe-accent, #c2410c);
    flex: 0 0 auto;
}

.fe-ebm-card__label {
    font-size: 11px;
    line-height: 1.2;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--fe-muted, #6b7280);
}

.fe-ebm-card__text {
    font-size: 14px;
    line-height: 1.7;
    color: var(--fe-text, #1f2937);
}

.fe-ebm-card--quality::before,
.fe-ebm-card--best-test::before,
.fe-ebm-card--data::before,
.fe-ebm-card--limits::before,
.fe-ebm-card--source::before { background: #334155; }

.fe-ebm-card--quality .fe-ebm-card__icon,
.fe-ebm-card--best-test .fe-ebm-card__icon,
.fe-ebm-card--data .fe-ebm-card__icon,
.fe-ebm-card--limits .fe-ebm-card__icon,
.fe-ebm-card--source .fe-ebm-card__icon { background: rgba(51, 65, 85, 0.08); color: #334155; }

.fe-ebm-empty {
    border: 1px dashed var(--fe-line);
    background: #fafafa;
    border-radius: 16px;
    padding: 16px;
    font-size: 14px;
    color: var(--fe-muted, #6b7280);
}

/* =========================================
   EBM CARDS — PATHOLOGY
========================================= */
.fe-section--ebm .fe-section__body {
  display: block;
}

.fe-ebm-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.fe-ebm-card {
  position: relative;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 14px 16px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.fe-ebm-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(16, 24, 40, 0.08);
}

.fe-ebm-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  border-radius: 16px 0 0 16px;
  background: var(--fe-accent, #c2410c);
  opacity: .9;
}

.fe-ebm-card__head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.fe-ebm-card__icon {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(194, 65, 12, 0.08);
  color: var(--fe-accent, #c2410c);
  flex: 0 0 auto;
}

.fe-ebm-card__label {
  font-size: 11px;
  line-height: 1.2;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--fe-text-muted, #475569);
}

.fe-ebm-card__text {
  font-size: 14px;
  line-height: 1.8;
  color: #334155;
}

.fe-ebm-card--quality::before,
.fe-ebm-card--best-test::before,
.fe-ebm-card--data::before,
.fe-ebm-card--limits::before,
.fe-ebm-card--source::before { background: #334155; }

.fe-ebm-card--quality .fe-ebm-card__icon,
.fe-ebm-card--best-test .fe-ebm-card__icon,
.fe-ebm-card--data .fe-ebm-card__icon,
.fe-ebm-card--limits .fe-ebm-card__icon,
.fe-ebm-card--source .fe-ebm-card__icon { background: rgba(51, 65, 85, 0.08); color: #334155; }

.fe-ebm-empty {
  border: 1px dashed #e2e8f0;
  background: #fafafa;
  border-radius: 16px;
  padding: 16px;
  font-size: 14px;
  color: var(--fe-text-muted, #475569);
}

@media (max-width: 820px) {
  .fe-ebm-grid {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   UTILITIES + FRONT-PAGE TYPE MODIFIERS
   ========================================================= */

.fe-icon-12 { width: 12px; height: 12px; }
.fe-icon-13 { width: 13px; height: 13px; }
.fe-icon-14 { width: 14px; height: 14px; }
.fe-icon-18 { width: 18px; height: 18px; }
.fe-icon-20 { width: 20px; height: 20px; }
.fe-icon-22 { width: 22px; height: 22px; }
.fe-icon-accent { color: var(--fe-accent); }
.fe-loader-icon { color: var(--fe-accent); }
.fe-mt-16 { margin-top: 16px; }

.fe-section-head--recent { margin-bottom: 24px; }
.fe-recent-heading { display: flex; align-items: center; gap: 10px; }
.fe-recent-sublabel { font-size: 13px; color: #94a3b8; font-weight: 700; }

.fe-search-item-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 10px;
    background: color-mix(in srgb, var(--fe-accent) 12%, white);
    color: var(--fe-accent);
}

.fe-search-item-thumb {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
    background: var(--fe-bg-soft);
    border: 1px solid var(--fe-line);
}

.fe-search-item-thumb-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fe-search-item-copy {
    flex: 1 1 0;
    min-width: 0;
}

.fe-search-item-title {
    font-weight: 700;
    color: var(--fe-text);
    font-size: 14px;
    margin-bottom: 1px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.fe-search-item-latin {
    font-size: 11px;
    color: var(--fe-subtext, #475569);
    font-style: italic;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.fe-search-item-tag {
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--fe-accent);
    background: color-mix(in srgb, var(--fe-accent) 15%, white);
    padding: 3px 8px;
    border-radius: 6px;
    white-space: nowrap;
    flex-shrink: 0;
    align-self: center;
}

.fe-type-muscle {
    --fe-accent:      var(--fe-color-muscle);
    --fe-card-accent: var(--fe-color-muscle);
    --fe-quick-color: var(--fe-color-muscle);
    --fe-card-bg:     var(--fe-bg-muscle);
    --fe-accent-bg:   var(--fe-bg-muscle);
    --fe-accent-border: #c7d2fe;
}
.fe-type-joint {
    --fe-accent:      var(--fe-color-joint);
    --fe-card-accent: var(--fe-color-joint);
    --fe-quick-color: var(--fe-color-joint);
    --fe-card-bg:     var(--fe-bg-joint);
    --fe-accent-bg:   var(--fe-bg-joint);
    --fe-accent-border: #99f6e4;
}
.fe-type-nerve {
    --fe-accent:      var(--fe-color-nerve);
    --fe-card-accent: var(--fe-color-nerve);
    --fe-quick-color: var(--fe-color-nerve);
    --fe-card-bg:     var(--fe-bg-nerve);
    --fe-accent-bg:   var(--fe-bg-nerve);
    --fe-accent-border: #fde68a;
}
.fe-type-blood_vessel {
    --fe-accent:      var(--fe-color-vessel);
    --fe-card-accent: var(--fe-color-vessel);
    --fe-quick-color: var(--fe-color-vessel);
    --fe-card-bg:     var(--fe-bg-vessel);
    --fe-accent-bg:   var(--fe-bg-vessel);
    --fe-accent-border: #fecaca;
}
.fe-type-clinical_test {
    --fe-accent:      var(--fe-color-test);
    --fe-card-accent: var(--fe-color-test);
    --fe-quick-color: var(--fe-color-test);
    --fe-card-bg:     var(--fe-bg-test);
    --fe-accent-bg:   var(--fe-bg-test);
    --fe-accent-border: #ddd6fe;
}
.fe-type-pathology {
    --fe-accent:      var(--fe-color-pathology);
    --fe-card-accent: var(--fe-color-pathology);
    --fe-quick-color: var(--fe-color-pathology);
    --fe-card-bg:     var(--fe-bg-pathology);
    --fe-accent-bg:   var(--fe-bg-pathology);
    --fe-accent-border: #fed7aa;
}
.fe-type-generic {
    --fe-accent:      var(--fe-muted);
    --fe-card-accent: var(--fe-muted);
    --fe-card-bg:     var(--fe-bg-generic);
}

.fe-quick-link,
.fe-stat-card {
    background:   var(--fe-card-bg, var(--fe-bg));
    border-color: color-mix(in srgb, var(--fe-accent) 18%, var(--fe-line));
}

.fe-quick-icon,
.fe-card-icon,
.fe-recent-type {
    color: var(--fe-accent);
}

.fe-quick-icon,
.fe-card-icon {
    background: color-mix(in srgb, var(--fe-accent) 12%, white);
}

/* ── Archive card image ── */
.fe-archive__card-img { position: relative;
    overflow: hidden;
    border-radius: calc(var(--fe-radius) - 1px) calc(var(--fe-radius) - 1px) 0 0;
    margin: -20px -20px 14px;
}
.fe-archive__card-img-el {
    display: block;
    width: 100%;
    height: 250px;
    object-fit: contain;
    background-color: #ffffff;
}

/* ── Metric image tile (replaces Zakres EBM in headers) ── */
.fe-hero__metrics { align-items: start; }
.fe-metric--img {
    padding: 0;
    overflow: hidden;
    aspect-ratio: 3 / 4;
    min-height: 220px;
    max-height: 320px;
}
.fe-hmetric-btn {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 220px;
    border: none;
    background: none;
    padding: 0;
    cursor: zoom-in;
    position: relative;
    overflow: hidden;
    outline: none;
    -webkit-tap-highlight-color: transparent;
}
.fe-hmetric-img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .2s ease; }
.fe-hmetric-btn:hover .fe-hmetric-img,
.fe-hmetric-btn:focus-visible .fe-hmetric-img { transform: scale(1.05); }
.fe-hmetric-zoom { position: absolute; bottom: 6px; right: 6px; background: rgba(0,0,0,.45); border-radius: 50%; width: 26px; height: 26px; display: flex; align-items: center; justify-content: center; color: #fff; pointer-events: none; }

/* ── Symptoms section: bullet dots ── */
.fe-symptoms-body ul { list-style: none; padding: 0; margin: 0; }

.fe-symptoms-body .fe-text-paragraph,
.fe-symptoms-body li {
    position: relative;
    padding-left: 18px;
    margin-bottom: 8px;
}

.fe-symptoms-body .fe-text-paragraph:last-child,
.fe-symptoms-body li:last-child { margin-bottom: 0; }

.fe-symptoms-body .fe-text-paragraph::before,
.fe-symptoms-body li::before {
    content: "•";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--fe-accent, #b5470f);
    font-weight: 700;
    line-height: inherit;
}

/* ── Differential: description text ── */
.fe-diff-intro {
    font-size: 13.5px;
    color: var(--fe-muted);
    margin: 0 0 14px;
    line-height: 1.55;
}

/* ─── Scroll-to-top (Astra override) + Zgłoś błąd stacking ─────────────── */

#ast-scroll-top {
    bottom: 20px !important;
    left: 20px !important;
    right: auto !important;
    width: 40px !important;
    height: 40px !important;
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    box-shadow: 0 2px 8px rgba(15,23,42,0.08) !important;
    color: #0f172a !important;
    opacity: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}

#ast-scroll-top:hover {
    border-color: #0f172a !important;
    box-shadow: 0 4px 16px rgba(15,23,42,0.12) !important;
}

#ast-scroll-top .ast-icon::before,
#ast-scroll-top::before {
    color: #0f172a !important;
    font-size: 16px !important;
}



/* ── Type badge on cards ─────────────────────────────────── */

.fe-unified-type-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-top: 10px;
    font-family: var(--fe-font);
    border: 1px solid color-mix(in srgb, currentColor 22%, #ffffff);
}
.fe-unified-type-badge i,
.fe-unified-type-badge svg { width: 11px; height: 11px; flex-shrink: 0; pointer-events: none; }

.fe-unified-type-badge--muscle    { background: var(--fe-bg-muscle);    color: var(--fe-color-muscle); }
.fe-unified-type-badge--nerve     { background: var(--fe-bg-nerve);     color: var(--fe-color-nerve); }
.fe-unified-type-badge--joint     { background: var(--fe-bg-joint);     color: var(--fe-color-joint); }
.fe-unified-type-badge--bone      { background: var(--fe-bone-bg);      color: var(--fe-bone-ink); }
.fe-unified-type-badge--vessel    { background: var(--fe-bg-vessel);    color: var(--fe-color-vessel); }
.fe-unified-type-badge--test      { background: var(--fe-bg-test);      color: var(--fe-color-test); }
.fe-unified-type-badge--pathology { background: var(--fe-bg-pathology); color: var(--fe-color-pathology); }

/* ── Card accent border ──────────────────────────────────── */

.fe-archive__card--muscle    { --fe-accent: var(--fe-color-muscle); }
.fe-archive__card--nerve     { --fe-accent: var(--fe-color-nerve); }
.fe-archive__card--joint     { --fe-accent: var(--fe-color-joint); }
.fe-archive__card--bone      { --fe-accent: var(--fe-bone); }
.fe-archive__card--vessel    { --fe-accent: var(--fe-color-vessel); }
.fe-archive__card--test      { --fe-accent: var(--fe-color-test); }
.fe-archive__card--pathology { --fe-accent: var(--fe-color-pathology); }

.fe-archive__card-icon--muscle    { color: var(--fe-color-muscle); }
.fe-archive__card-icon--nerve     { color: var(--fe-color-nerve); }
.fe-archive__card-icon--joint     { color: var(--fe-color-joint); }
.fe-archive__card-icon--bone      { color: var(--fe-bone-ink); background: var(--fe-bone-bg); border-color: var(--fe-bone-border); }
.fe-archive__card-icon--vessel    { color: var(--fe-color-vessel); }
.fe-archive__card-icon--test      { color: var(--fe-color-test); }
.fe-archive__card-icon--pathology { color: var(--fe-color-pathology); }

/* ── Toolbar ─────────────────────────────────────────────── */

.fe-unified-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.fe-unified-sort__select {
    min-width: 180px;
}

/* ── Active filters metric value ─────────────────────────── */

.fe-unified-active-filters-val {
    font-size: 13px !important;
    font-weight: 600 !important;
    word-break: break-word;
    line-height: 1.35;
}

/* ── Search bar ──────────────────────────────────────────── */

.fe-unified-search-wrap {
    position: relative;
    margin-top: 20px;
    max-width: 600px;
}

.fe-unified-search-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--fe-muted);
    pointer-events: none;
    display: flex;
    align-items: center;
}
.fe-unified-search-icon i,
.fe-unified-search-icon svg { width: 16px; height: 16px; pointer-events: none; }

.fe-unified-search-input {
    width: 100%;
    padding: 14px 46px 14px 42px;
    border-radius: var(--fe-radius);
    border: 1.5px solid var(--fe-line);
    background: var(--fe-bg);
    font-family: var(--fe-font);
    font-size: 15px;
    color: var(--fe-ink);
    box-sizing: border-box;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04);
    transition: border-color 0.2s, box-shadow 0.2s;
}
.fe-unified-search-input:focus {
    outline: none;
    border-color: var(--fe-color-muscle);
    box-shadow: 0 0 0 3px rgba(59, 91, 219, 0.1);
}
.fe-unified-search-input::placeholder { color: var(--fe-faint); }

.fe-unified-search-clear {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    padding: 4px;
    cursor: pointer;
    color: var(--fe-muted);
    display: flex;
    align-items: center;
    border-radius: 4px;
    transition: color 0.15s;
    user-select: none;
    -webkit-user-select: none;
}
.fe-unified-search-clear:hover { color: var(--fe-ink); }
.fe-unified-search-clear i,
.fe-unified-search-clear svg { width: 16px; height: 16px; pointer-events: none; }

/* ── Mobile ──────────────────────────────────────────────── */

@media (max-width: 820px) {
    .fe-unified-search-input {
        font-size: 16px; /* prevent iOS zoom */
    }
}

/* ════════════════════════════════════════
   UNIFIED ARCHIVE — layout, visual polish & homepage-style alignment
   ════════════════════════════════════════ */

/* ── Page container / margins ──────────────────────────────── */

.fe-archive--unified {
    padding-bottom: 64px;
}

.fe-archive--unified .fe-archive__with-sidebar {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 32px;
    gap: 32px;
}

/* Wider sidebar on desktop so ludzik fits nicely */
.fe-archive--unified .fe-archive__sidebar {
    flex: 0 0 300px;
    width: 300px;
}

/* ── Bigger ludzik on desktop ──────────────────────────────── */

.fe-archive--unified .fe-body-svg-wrap {
    width: 230px !important;
    height: 440px !important;
}

.fe-archive--unified .fe-body-view svg {
    max-width: 230px !important;
    max-height: 440px !important;
}

/* ── CPT filter hover — whole row, not text-like ───────────── */

/* Replace text-selection-like highlight with a proper button hover */
.fe-unified-cpt-item:not(.fe-unified-cpt-item--checked):hover {
    opacity: 0.78;
    background: color-mix(in srgb, var(--fe-line) 30%, transparent);
    border-left-color: var(--fe-line);
    border-radius: var(--fe-radius-sm);
}

.fe-unified-cpt-item--checked:hover {
    background: color-mix(in srgb, var(--fe-line) 30%, transparent);
}

/* ── Search icon visibility ────────────────────────────────── */

/* Make the magnifying glass visually distinct from placeholder text */
.fe-unified-search-icon {
    color: var(--fe-ink) !important;
    opacity: 0.55;
}

.fe-unified-search-input:focus ~ .fe-unified-search-icon,
.fe-unified-search-wrap:focus-within .fe-unified-search-icon {
    opacity: 1;
    color: var(--fe-color-muscle) !important;
}

/* Add a subtle right separator between icon and input text */
.fe-unified-search-wrap::before {
    content: '';
    position: absolute;
    left: 42px;
    top: 50%;
    transform: translateY(-50%);
    height: 18px;
    width: 1px;
    background: var(--fe-line);
    pointer-events: none;
    z-index: 1;
}

.fe-unified-search-input {
    padding-left: 52px; /* push text past the separator */
}

/* ── Toolbar: results count + reset button ─────────────────── */

.fe-unified-toolbar {
    align-items: center;
    border-bottom: 1px solid var(--fe-line);
    padding-bottom: 14px;
    margin-bottom: 20px;
}

.fe-unified-toolbar__left {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

/* Override old float-based clear-link inside toolbar */
.fe-unified-toolbar .fe-archive__clear-link {
    float: none;
}

/* Results count inline (no standalone bottom border in toolbar) */
.fe-unified-toolbar .fe-archive__results-count {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
    font-size: 14px;
    color: var(--fe-muted);
    font-family: var(--fe-font);
}

.fe-unified-toolbar .fe-archive__results-count strong {
    color: var(--fe-ink);
    font-weight: 700;
}

/* Blue pill reset button */
.fe-archive__reset-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: var(--fe-color-muscle);
    color: #fff !important;
    border: none;
    border-radius: 999px;
    padding: 7px 16px;
    font-family: var(--fe-font);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    cursor: pointer;
    text-decoration: none;
    transition: opacity 0.15s;
    user-select: none;
    -webkit-user-select: none;
    flex-shrink: 0;
}
.fe-archive__reset-btn:hover { opacity: 0.82; }
.fe-archive__reset-btn svg,
.fe-archive__reset-btn i { width: 13px; height: 13px; pointer-events: none; flex-shrink: 0; }

/* ── Mobile: desktop-only notice ──────────────────────────── */

.fe-archive__desktop-notice {
    display: none; /* hidden on desktop */
}

@media (max-width: 921px) {
    .fe-archive__desktop-notice {
        display: flex;
        align-items: center;
        gap: 8px;
        background: var(--fe-bg-soft);
        border: 1px solid var(--fe-line);
        border-radius: var(--fe-radius-sm);
        padding: 10px 16px;
        font-family: var(--fe-font);
        font-size: 13px;
        color: var(--fe-muted);
        margin: 12px 16px 0;
    }
}

/* ── Responsive: ludzik size ──────────────────────────────── */

@media (max-width: 921px) {
    .fe-archive--unified .fe-body-svg-wrap {
        width: 160px !important;
        height: 300px !important;
    }
    .fe-archive--unified .fe-body-view svg {
        max-width: 160px !important;
        max-height: 300px !important;
    }
    .fe-archive--unified .fe-archive__with-sidebar {
        padding: 0 16px;
    }
}

@media (max-width: 640px) {
    .fe-archive--unified .fe-archive__with-sidebar {
        padding: 0 12px;
    }
}

/* ════════════════════════════════════════
   UNIFIED ARCHIVE — dopasowanie do stylu strony głównej
   ════════════════════════════════════════ */

/* Hero: lekki gradient tła jak na stronie głównej */
.fe-archive--unified .fe-archive__hero {
    background: var(--fe-archive-surface-hero);
    border-color: var(--fe-archive-accent-border);
    position: relative;
    overflow: hidden;
}

.fe-archive--unified .fe-archive__hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(
        circle at 82% 18%,
        color-mix(in srgb, var(--fe-accent) 18%, #ffffff) 0%,
        transparent 58%
    );
    pointer-events: none;
}

.fe-archive--unified .fe-archive__hero-badge {
    background: var(--fe-archive-accent-soft);
    color: var(--fe-accent);
    border-color: var(--fe-archive-accent-border);
}

.fe-archive--unified .fe-archive__hero-title {
    color: #171c20; /* --v2-on-surface */
    letter-spacing: -0.025em;
}

/* Cards: styl bliższy v2 z homepage — shadow zamiast samego border */
.fe-archive--unified .fe-archive__card {
    background: var(--fe-archive-surface-card);
    box-shadow: var(--fe-archive-shadow-soft);
    transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.18s ease;
}

.fe-archive--unified .fe-archive__card:hover {
    box-shadow: var(--fe-archive-shadow-hover);
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--fe-accent) 50%, var(--fe-border-ink));
}

/* Card excerpt text */
.fe-archive__card-excerpt-text {
    font-size: 13px;
    line-height: 1.6;
    color: var(--fe-text);
    margin: 0;
}

/* Sort select — match v2 feel */
.fe-archive--unified .fe-unified-sort__select {
    border-radius: 10px;
    padding: 9px 14px;
    font-size: 13px;
    border-color: var(--fe-line);
    background: var(--fe-bg);
    color: var(--fe-ink);
    font-weight: 500;
}

/* ════════════════════════════════════════
   MUSCLE ARCHIVE — visual layer only (scoped)
   ════════════════════════════════════════ */

body.post-type-archive-muscle .fe-archive .fe-archive__hero {
    background: linear-gradient(
        145deg,
        color-mix(in srgb, var(--fe-color-muscle) 10%, #ffffff) 0%,
        color-mix(in srgb, var(--fe-color-muscle) 3%, #f8fafc) 100%
    );
    border-color: color-mix(in srgb, var(--fe-color-muscle) 24%, var(--fe-line));
}

body.post-type-archive-muscle .fe-archive .fe-archive__hero-badge {
    background: color-mix(in srgb, var(--fe-color-muscle) 10%, #ffffff);
    border-color: color-mix(in srgb, var(--fe-color-muscle) 28%, var(--fe-line));
    color: var(--fe-color-muscle);
}

body.post-type-archive-muscle .fe-archive .fe-archive__metric {
    background: color-mix(in srgb, var(--fe-color-muscle) 6%, #ffffff);
    border-color: color-mix(in srgb, var(--fe-color-muscle) 22%, var(--fe-line));
}

body.post-type-archive-muscle .fe-archive .fe-archive__filters {
    background: color-mix(in srgb, var(--fe-color-muscle) 3%, #ffffff);
    border-color: color-mix(in srgb, var(--fe-color-muscle) 20%, var(--fe-line));
}

body.post-type-archive-muscle .fe-archive .fe-archive__card:hover {
    border-color: color-mix(in srgb, var(--fe-color-muscle) 50%, var(--fe-border-ink));
    box-shadow: 0 12px 28px color-mix(in srgb, var(--fe-color-muscle) 16%, rgba(15, 23, 42, 0.1));
}

/* ════════════════════════════════════════
   ARCHIVE UI REFRESH — ALL CPT ARCHIVES
   Spójny z homepage, zachowuje tokeny akcentu per CPT
   ════════════════════════════════════════ */

body.post-type-archive,
body.fe-archiwum-page {
    --fe-page-max-width: 1520px;
}

body.post-type-archive .fe-archive,
body.fe-archiwum-page .fe-archive {
    padding-top: 28px;
    padding-bottom: 72px;
}

body.post-type-archive .fe-archive .fe-archive__with-sidebar,
body.fe-archiwum-page .fe-archive .fe-archive__with-sidebar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 308px;
    gap: clamp(18px, 2vw, 30px);
    align-items: start;
}

body.post-type-archive .fe-archive .fe-archive__main-col,
body.fe-archiwum-page .fe-archive .fe-archive__main-col {
    min-width: 0;
}

body.post-type-archive .fe-archive .fe-archive__hero,
body.fe-archiwum-page .fe-archive .fe-archive__hero {
    border-radius: 28px;
    border-color: color-mix(in srgb, var(--fe-accent-border) 70%, var(--fe-line));
    background:
        radial-gradient(circle at 86% 10%, color-mix(in srgb, var(--fe-accent) 16%, transparent), transparent 42%),
        linear-gradient(180deg, #fbfdff 0%, color-mix(in srgb, var(--fe-accent-bg) 42%, #ffffff) 100%);
    box-shadow: 0 16px 42px color-mix(in srgb, var(--fe-accent) 10%, rgba(15, 23, 42, .09));
    padding: clamp(24px, 2vw, 34px);
}

body.post-type-archive .fe-archive .fe-archive__hero-badge,
body.fe-archiwum-page .fe-archive .fe-archive__hero-badge {
    background: color-mix(in srgb, var(--fe-accent-bg) 70%, #fff);
    border-color: color-mix(in srgb, var(--fe-accent-border) 86%, transparent);
    color: var(--fe-accent);
}

body.post-type-archive .fe-archive .fe-archive__hero-title,
body.fe-archiwum-page .fe-archive .fe-archive__hero-title {
    font-size: clamp(2rem, 2.8vw, 3.3rem);
    line-height: 1.06;
    letter-spacing: -.03em;
    max-width: 940px;
}

body.post-type-archive .fe-archive .fe-archive__hero-desc,
body.fe-archiwum-page .fe-archive .fe-archive__hero-desc {
    max-width: 900px;
    font-size: 15px;
    line-height: 1.7;
    color: #5d6b82;
}

body.post-type-archive .fe-archive .fe-archive__hero-info,
body.fe-archiwum-page .fe-archive .fe-archive__hero-info {
    margin-top: 22px;
    border-radius: 18px;
    background: rgba(255, 255, 255, .74);
    border: 1px solid color-mix(in srgb, var(--fe-accent-border) 74%, transparent);
}

body.post-type-archive .fe-archive .fe-archive__metrics,
body.fe-archiwum-page .fe-archive .fe-archive__metrics {
    margin-top: 20px;
    gap: 14px;
}

body.post-type-archive .fe-archive .fe-archive__metric,
body.fe-archiwum-page .fe-archive .fe-archive__metric {
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid color-mix(in srgb, var(--fe-accent-border) 75%, transparent);
    background: rgba(255, 255, 255, .84);
}

body.post-type-archive .fe-archive .fe-archive__metric-value,
body.fe-archiwum-page .fe-archive .fe-archive__metric-value {
    font-size: clamp(28px, 2.3vw, 34px);
    font-weight: 800;
}

body.post-type-archive .fe-archive .fe-archive__filters,
body.fe-archiwum-page .fe-archive .fe-archive__filters {
    margin-top: 18px;
    padding: 24px 26px;
    border-radius: 24px;
    border: 1px solid color-mix(in srgb, var(--fe-accent-border) 68%, var(--fe-line));
    background: #fff;
    box-shadow: 0 12px 32px color-mix(in srgb, var(--fe-accent) 7%, rgba(15, 23, 42, .08));
}

body.post-type-archive .fe-archive .fe-archive__filters-title,
body.fe-archiwum-page .fe-archive .fe-archive__filters-title {
    font-size: clamp(20px, 1.8vw, 24px);
    font-weight: 800;
    letter-spacing: -.02em;
}

body.post-type-archive .fe-archive .fe-archive__filters-desc,
body.fe-archiwum-page .fe-archive .fe-archive__filters-desc {
    color: #6b7890;
}

body.post-type-archive .fe-archive .fe-archive__filter-form,
body.fe-archiwum-page .fe-archive .fe-archive__filter-form {
    grid-template-columns: minmax(0, 1.45fr) minmax(180px, 1fr) minmax(180px, 1fr) auto;
    gap: 12px;
    margin-top: 18px;
}

body.post-type-archive .fe-archive .fe-archive__filter-input,
body.post-type-archive .fe-archive .fe-archive__filter-select,
body.fe-archiwum-page .fe-archive .fe-archive__filter-input,
body.fe-archiwum-page .fe-archive .fe-archive__filter-select {
    height: 48px;
    border-radius: 14px;
    border: 1px solid color-mix(in srgb, var(--fe-accent-border) 56%, #d9e3f2);
    background: #fbfdff;
    padding-inline: 14px;
    font-size: 14px;
}

body.post-type-archive .fe-archive .fe-archive__filter-btn,
body.fe-archiwum-page .fe-archive .fe-archive__filter-btn {
    height: 48px;
    padding: 0 18px;
    border: none;
    border-radius: 14px;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(180deg, color-mix(in srgb, var(--fe-accent) 84%, #4c70ff) 0%, var(--fe-accent) 100%);
    box-shadow: 0 10px 20px color-mix(in srgb, var(--fe-accent) 28%, transparent);
}

body.post-type-archive .fe-archive .fe-archive__results-count,
body.fe-archiwum-page .fe-archive .fe-archive__results-count {
    margin: 18px 0 16px;
    padding: 2px 4px 10px;
    border-bottom: 1px solid color-mix(in srgb, var(--fe-accent-border) 70%, transparent);
    color: #66758d;
}

body.post-type-archive .fe-archive .fe-archive__card,
body.fe-archiwum-page .fe-archive .fe-archive__card {
    border-radius: 20px;
    overflow: hidden;
    border-color: color-mix(in srgb, var(--fe-accent-border) 54%, var(--fe-line));
    box-shadow: 0 6px 20px rgba(15, 23, 42, .045);
    transition: transform .18s ease, box-shadow .2s ease, border-color .18s ease;
}

body.post-type-archive .fe-archive .fe-archive__card:hover,
body.fe-archiwum-page .fe-archive .fe-archive__card:hover {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--fe-accent) 58%, var(--fe-border-ink));
    box-shadow: 0 14px 30px color-mix(in srgb, var(--fe-accent) 14%, rgba(15, 23, 42, .12));
}

body.post-type-archive .fe-archive .fe-archive__sidebar,
body.fe-archiwum-page .fe-archive .fe-archive__sidebar {
    position: sticky;
    top: 108px;
}

body.post-type-archive .fe-archive .fe-body-widget,
body.fe-archiwum-page .fe-archive .fe-body-widget {
    border-radius: 24px;
    border: 1px solid color-mix(in srgb, var(--fe-accent-border) 68%, var(--fe-line));
    background: linear-gradient(180deg, #fbfdff 0%, color-mix(in srgb, var(--fe-accent-bg) 44%, #ffffff) 100%);
    box-shadow: 0 14px 36px color-mix(in srgb, var(--fe-accent) 9%, rgba(15, 23, 42, .1));
    padding: 16px 14px 14px;
}

body.post-type-archive .fe-archive .fe-body-toggle,
body.fe-archiwum-page .fe-archive .fe-body-toggle {
    border-radius: 999px;
    border-color: color-mix(in srgb, var(--fe-accent-border) 75%, var(--fe-line));
    background: color-mix(in srgb, var(--fe-accent-bg) 70%, #fff);
    padding: 4px;
}

body.post-type-archive .fe-archive .fe-body-btn,
body.fe-archiwum-page .fe-archive .fe-body-btn {
    border-radius: 999px;
}

body.post-type-archive .fe-archive .fe-body-btn.is-active,
body.fe-archiwum-page .fe-archive .fe-body-btn.is-active {
    background: linear-gradient(180deg, color-mix(in srgb, var(--fe-accent) 82%, #4c70ff) 0%, var(--fe-accent) 100%);
    color: #fff;
}

@media (max-width: 1200px) {
    body.post-type-archive .fe-archive .fe-archive__with-sidebar,
    body.fe-archiwum-page .fe-archive .fe-archive__with-sidebar {
        grid-template-columns: 1fr;
    }

    body.post-type-archive .fe-archive .fe-archive__sidebar,
    body.fe-archiwum-page .fe-archive .fe-archive__sidebar {
        position: static;
    }
}

@media (max-width: 920px) {
    body.post-type-archive .fe-archive,
    body.fe-archiwum-page .fe-archive {
        padding-top: 18px;
        padding-bottom: 56px;
    }

    body.post-type-archive .fe-archive .fe-archive__hero,
    body.fe-archiwum-page .fe-archive .fe-archive__hero {
        padding: 24px 20px;
        border-radius: 22px;
    }

    body.post-type-archive .fe-archive .fe-archive__metrics,
    body.fe-archiwum-page .fe-archive .fe-archive__metrics {
        grid-template-columns: 1fr;
    }

    body.post-type-archive .fe-archive .fe-archive__filters,
    body.fe-archiwum-page .fe-archive .fe-archive__filters {
        padding: 20px 18px;
        border-radius: 20px;
    }

    body.post-type-archive .fe-archive .fe-archive__filter-form,
    body.fe-archiwum-page .fe-archive .fe-archive__filter-form {
        grid-template-columns: 1fr;
    }
}

/* Header breakpoint matches fe_header_breakpoint() and the custom drawer. */
@media (min-width: 1201px) {
    #masthead .ast-mobile-header-wrap,
    #masthead #ast-mobile-header,
    body:not(.ast-header-break-point) .ast-mobile-popup-drawer,
    body:not(.ast-header-break-point) .ast-mobile-popup-overlay,
    body:not(.ast-header-break-point) .fe-drawer-shell,
    body:not(.ast-header-break-point) .fe-mobile-fab {
        display: none !important;
    }
}

@media (max-width: 1200px) {
    #masthead .ast-desktop-header-wrap,
    #masthead #ast-desktop-header {
        display: none !important;
    }

    #masthead .ast-mobile-header-wrap,
    #masthead #ast-mobile-header {
        display: block !important;
    }

    body.ast-header-break-point .main-header-menu.ast-nav-menu {
        display: none !important;
    }
}

.fe-network-card {
    min-width: 0;
}

.fe-network-card__header {
    align-items: flex-start;
}

.fe-network-card__title {
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.fe-network-card__count {
    min-width: 2rem;
    text-align: center;
}

.fe-network-card .fe-chip {
    max-width: 100%;
    min-width: 0;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.fe-network-card .fe-chip:focus-visible,
.fe-network-card__more summary:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--fe-accent, #2563eb) 18%, transparent);
}

.fe-network-card__more summary {
    user-select: none;
    -webkit-user-select: none;
}

.fe-network-card__more .fe-chip-list--more {
    border-top: 1px solid color-mix(in srgb, var(--fe-accent-border, #cbd5e1) 45%, transparent);
    padding-top: 10px;
}

.fe-network-card:hover {
    border-color: color-mix(in srgb, var(--fe-accent, #2563eb) 34%, var(--fe-line));
}

.fe-archive__filter-form > *,
.fe-archive__filters-head,
.fe-archive__results-count,
.fe-archive__empty {
    min-width: 0;
}

.fe-archive__filter-input,
.fe-archive__filter-select {
    text-overflow: ellipsis;
}

.fe-archive__filter-btn {
    white-space: nowrap;
}

.fe-archive__clear-link {
    min-height: 32px;
    padding-inline: 2px;
}

.fe-vessel-tabs {
    max-width: 100%;
    flex-wrap: wrap;
    gap: 4px;
}

.fe-vessel-tab {
    white-space: nowrap;
}

.fe-vessel-tab:focus-visible,
.fe-archive__filter-btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--fe-accent, #2563eb) 18%, transparent);
}

.fe-archive__empty {
    background: color-mix(in srgb, var(--fe-accent-bg, #f8fafc) 38%, #fff);
    border: 1px dashed color-mix(in srgb, var(--fe-accent-border, #cbd5e1) 72%, transparent);
    border-radius: 18px;
}

.fe-body-hint {
    color: color-mix(in srgb, var(--fe-muted) 86%, white);
}

@media (max-width: 640px) {
    .fe-network-card__header {
        gap: 8px;
    }

    .fe-network-card__more summary {
        width: 100%;
        justify-content: center;
    }

    .fe-vessel-tabs {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
    }

    .fe-vessel-tab {
        text-align: center;
        padding-inline: 8px;
    }

}

@media (prefers-reduced-motion: reduce) {
    .fe-network-card,
    .fe-network-card__more summary,
    .fe-network-card__more summary::after,
    .fe-archive__card,
    .fe-hmetric-img {
        transition: none !important;
    }
}

/* ════════════════════════════════════════
   UNIFIED ARCHIVE HOTFIX — mobile spacing + calmer desktop hero
   ════════════════════════════════════════ */
body.fe-archiwum-page .fe-archive .fe-archive__hero {
    background: color-mix(in srgb, var(--fe-accent-bg) 30%, #ffffff 70%);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

body.fe-archiwum-page .fe-archive .fe-archive__hero::before {
    display: none;
}

body.fe-archiwum-page .fe-archive .fe-archive__with-sidebar {
    grid-template-columns: 308px minmax(0, 1fr);
}

body.fe-archiwum-page .fe-archive .fe-archive__card {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

body.fe-archiwum-page .fe-archive .fe-archive__card-excerpt {
    display: block;
}

@media (max-width: 1200px) {
    body.fe-archiwum-page .fe-archive .fe-archive__with-sidebar {
        grid-template-columns: 1fr;
        gap: 18px;
    }
}

@media (max-width: 921px) {
    body.fe-archiwum-page .fe-archive {
        padding-top: 14px;
        padding-bottom: 42px;
    }

    body.fe-archiwum-page .fe-archive .fe-archive__with-sidebar {
        padding-inline: 12px;
        gap: 14px;
    }

    body.fe-archiwum-page .fe-archive .fe-archive__hero {
        padding: 18px 14px;
        border-radius: 16px;
    }

    body.fe-archiwum-page .fe-archive .fe-archive__hero-title {
        font-size: clamp(1.8rem, 7.2vw, 2.1rem);
        line-height: 1.15;
    }

    body.fe-archiwum-page .fe-archive .fe-archive__hero-desc {
        font-size: 14px;
        line-height: 1.55;
    }

    body.fe-archiwum-page .fe-archive .fe-archive__metrics {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    body.fe-archiwum-page .fe-archive .fe-archive__metric {
        padding: 12px 14px;
        border-radius: 14px;
    }

    body.fe-archiwum-page .fe-archive .fe-unified-toolbar {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    body.fe-archiwum-page .fe-archive .fe-unified-sort {
        width: 100%;
    }

    body.fe-archiwum-page .fe-archive .fe-unified-sort__select {
        width: 100%;
    }

    body.fe-archiwum-page .fe-archive .fe-archive__grid,
    body.fe-archiwum-page .fe-archive .fe-archive__grid--cols-3 {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    body.fe-archiwum-page .fe-archive .fe-archive__card {
        min-height: auto;
        padding: 14px;
        border-radius: 14px;
    }

    body.fe-archiwum-page .fe-archive .fe-archive__card-title,
    body.fe-archiwum-page .fe-archive .fe-archive__card-subtitle,
    body.fe-archiwum-page .fe-archive .fe-archive__card-excerpt-text {
        overflow-wrap: anywhere;
        word-break: break-word;
    }
}

/* Unified archive hub */
body.fe-archiwum-page .fe-archive--hub {
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
    padding: 36px 20px 64px;
}

.fe-archive-hub-hero {
    align-items: end;
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
    margin-bottom: 18px;
}

.fe-archive-hub-hero__copy h1 {
    color: var(--fe-ink, #0f172a);
    font-size: clamp(2rem, 4.4vw, 3.2rem);
    font-weight: 760;
    letter-spacing: 0;
    line-height: 1.08;
    margin: 0 0 12px;
    max-width: 820px;
}

.fe-archive-hub-hero__copy p {
    color: var(--fe-text, #374151);
    font-size: 15px;
    line-height: 1.65;
    margin: 0;
    max-width: 760px;
}

.fe-archive-hub-hero__stats {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fe-archive-hub-hero__stats .fe-rp-stat {
    background: #ffffff;
    border: 1px solid var(--fe-line, #e2e8f0);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    padding: 14px;
}

.fe-archive-type-strip {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0 0 18px;
}

.fe-archive-type-chip {
    --fe-type-bg: var(--fe-accent-bg, #eef2ff);
    --fe-type-color: var(--fe-accent, #2563eb);
    align-items: start;
    background: #ffffff;
    border: 1px solid var(--fe-line, #e2e8f0);
    border-radius: 8px;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.045);
    color: var(--fe-ink, #0f172a);
    cursor: pointer;
    display: grid;
    gap: 10px;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    min-height: 118px;
    padding: 14px;
    text-align: left;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.fe-archive-type-chip:hover,
.fe-archive-type-chip:focus {
    border-color: color-mix(in srgb, var(--fe-type-color) 38%, var(--fe-line, #e2e8f0));
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08);
    outline: 0;
    transform: translateY(-1px);
}

.fe-archive-type-chip.is-active {
    background: color-mix(in srgb, var(--fe-type-bg) 70%, #ffffff);
    border-color: color-mix(in srgb, var(--fe-type-color) 54%, var(--fe-line, #e2e8f0));
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fe-type-color) 26%, transparent), 0 12px 28px rgba(15, 23, 42, 0.07);
    color: var(--fe-ink, #0f172a);
}

.fe-archive-type-chip__icon {
    align-items: center;
    background: var(--fe-type-bg);
    border-radius: 8px;
    color: var(--fe-type-color);
    display: inline-flex;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.fe-archive-type-chip__icon svg {
    height: 18px;
    width: 18px;
}

.fe-archive-type-chip__body strong {
    color: var(--fe-ink, #0f172a);
    display: block;
    font-size: 14px;
    font-weight: 760;
    line-height: 1.25;
    margin-bottom: 5px;
}

.fe-archive-type-chip__body small {
    color: var(--fe-text, #374151);
    display: block;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.45;
}

.fe-archive-type-chip.is-active .fe-archive-type-chip__body strong {
    color: var(--fe-ink, #0f172a);
}

.fe-archive-type-chip.is-active .fe-archive-type-chip__body small {
    color: var(--fe-text, #374151);
}

.fe-archive-type-chip__count {
    background: var(--fe-type-bg);
    border: 1px solid color-mix(in srgb, var(--fe-type-color) 18%, var(--fe-line, #e2e8f0));
    border-radius: 999px;
    color: var(--fe-type-color);
    font-size: 12px;
    font-weight: 760;
    line-height: 1;
    padding: 6px 8px;
}

.fe-archive-type-chip[data-fe-archive-type="muscle"] {
    --fe-type-bg: var(--fe-bg-muscle);
    --fe-type-color: var(--fe-color-muscle);
}

.fe-archive-type-chip[data-fe-archive-type="nerve"] {
    --fe-type-bg: var(--fe-bg-nerve);
    --fe-type-color: var(--fe-color-nerve);
}

.fe-archive-type-chip[data-fe-archive-type="joint"] {
    --fe-type-bg: var(--fe-bg-joint);
    --fe-type-color: var(--fe-color-joint);
}

.fe-archive-type-chip[data-fe-archive-type="bone"] {
    --fe-type-bg: var(--fe-bone-bg);
    --fe-type-color: var(--fe-bone-ink);
}

.fe-archive-type-chip[data-fe-archive-type="blood_vessel"] {
    --fe-type-bg: var(--fe-bg-vessel);
    --fe-type-color: var(--fe-color-vessel);
}

.fe-archive-type-chip[data-fe-archive-type="clinical_test"] {
    --fe-type-bg: var(--fe-bg-test);
    --fe-type-color: var(--fe-color-test);
}

.fe-archive-type-chip[data-fe-archive-type="pathology"] {
    --fe-type-bg: var(--fe-bg-pathology);
    --fe-type-color: var(--fe-color-pathology);
}

.fe-archive-search-panel {
    background: #ffffff;
    border: 1px solid var(--fe-line, #e2e8f0);
    border-radius: 8px;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.055);
    margin-bottom: 16px;
    padding: 18px;
}

.fe-archive-search-panel__head {
    align-items: end;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 240px);
    margin-bottom: 14px;
}

.fe-archive-search-panel__head h2 {
    color: var(--fe-ink, #0f172a);
    font-size: 22px;
    line-height: 1.2;
    margin: 0 0 6px;
}

.fe-archive-search-panel__head p {
    color: var(--fe-muted, #64748b);
    font-size: 14px;
    line-height: 1.55;
    margin: 0;
}

.fe-archive-search-panel__active {
    background: var(--fe-bg-soft, #f8fafc);
    border: 1px solid var(--fe-line, #e2e8f0);
    border-radius: 8px;
    padding: 12px;
}

.fe-archive-search-panel__active span {
    color: var(--fe-muted, #64748b);
    display: block;
    font-size: 11px;
    font-weight: 760;
    letter-spacing: 0.06em;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.fe-archive-search-panel__active strong {
    color: var(--fe-ink, #0f172a);
    display: block;
    font-size: 14px;
    font-weight: 700;
}

body.fe-archiwum-page .fe-archive--hub .fe-archive__with-sidebar {
    grid-template-columns: 280px minmax(0, 1fr);
}

body.fe-archiwum-page .fe-archive--hub .fe-archive__grid,
body.fe-archiwum-page .fe-archive--hub .fe-archive__grid--cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.fe-archiwum-page .fe-archive--hub .fe-archive__card {
    border-radius: 8px;
}

@media (max-width: 1180px) {
    .fe-archive-type-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.fe-archiwum-page .fe-archive--hub .fe-archive__with-sidebar,
    body.fe-archiwum-page .fe-archive--hub .fe-archive__grid,
    body.fe-archiwum-page .fe-archive--hub .fe-archive__grid--cols-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 921px) {
    .fe-archive-hub-hero,
    .fe-archive-search-panel__head,
    body.fe-archiwum-page .fe-archive--hub .fe-archive__with-sidebar {
        grid-template-columns: 1fr;
    }

    .fe-archive-hub-hero__stats {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    body.fe-archiwum-page .fe-archive--hub {
        padding: 24px 14px 48px;
    }

    .fe-archive-type-strip,
    body.fe-archiwum-page .fe-archive--hub .fe-archive__grid,
    body.fe-archiwum-page .fe-archive--hub .fe-archive__grid--cols-3 {
        grid-template-columns: 1fr;
    }

    .fe-archive-type-chip {
        min-height: 0;
    }
}

:root {
    --fev3-bg: #faf9f6;
    --fev3-surface-cream: #F8F5F0;
    --fev3-surface-low: #f4f3f1;
    --fev3-surface-variant: #e3e2e0;
    --fev3-primary: #9d4300;
    --fev3-primary-fixed: #ffdbca;
    --fev3-primary-fixed-dim: #ffb690;
    --fev3-primary-fixed-variant: #783200;
    --fev3-on-primary: #ffffff;
    --fev3-secondary: #565e74;
    --fev3-secondary-container: #dae2fd;
    --fev3-on-secondary-container: #5c647a;
    --fev3-slate-muted: #64748B;
    --fev3-on-surface: #1a1c1a;
    --fev3-on-surface-variant: #584237;
    --fev3-success-teal: #0D9488;
    --fev3-terracotta-deep: #C2410C;
    --fev3-outline: #8c7164;
    --fev3-font: var(--fe-font-sans);
    --fev3-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --fev3-shadow: 0 4px 20px rgba(15,23,42,0.05);
    --fev3-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --fev3-radius-xl: 0.75rem;
}

/* Layout Basics */
.fev3-page-wrap {
    font-family: var(--fev3-font);
    background-color: var(--fev3-bg);
    color: var(--fev3-on-surface);
    padding: 4rem 1.5rem 6rem;
}

/* Edytowalna treść strony wpisana w wp-admin (Strony → edytuj stronę). */
.fe-editable-page-content {
    font-family: var(--fev3-font);
    line-height: 1.7;
    max-width: 48rem;
    margin: 0 auto;
    padding: 1.5rem 0 0.25rem;
    color: var(--fev3-on-surface);
}
.fe-editable-page-content h1,
.fe-editable-page-content h2,
.fe-editable-page-content h3 {
    line-height: 1.3;
    margin: 1.5rem 0 0.75rem;
}
.fe-editable-page-content p,
.fe-editable-page-content ul,
.fe-editable-page-content ol {
    margin: 0 0 1rem;
}
.fe-editable-page-content a {
    color: var(--fev3-primary);
    text-underline-offset: 0.2em;
}
.fe-about .fe-editable-page-content,
.fe-contact .fe-editable-page-content {
    max-width: 1180px;
}
.fev3-container {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 5rem;
}

/* Hero */
.fev3-hero {
    text-align: center;
    max-width: 48rem;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: center;
}
.fev3-hero h1 {
    font-size: clamp(2.5rem, 5vw, 3rem);
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--fev3-on-surface);
    margin: 0;
}
.fev3-hero p {
    font-size: 1.125rem;
    line-height: 1.6;
    color: var(--fev3-on-surface-variant);
    margin: 0;
}

.fev3-stats-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    margin-top: 1rem;
}
.fev3-stat-card {
    background: var(--fev3-surface-low);
    border-radius: var(--fev3-radius-xl);
    padding: 1rem 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: var(--fev3-shadow);
}
.fev3-stat-card strong {
    font-size: 2rem;
    font-weight: 700;
    color: var(--fev3-primary);
    line-height: 1.2;
}
.fev3-stat-card span {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--fev3-secondary);
}

/* Category Grid */
.fev3-grid-categories {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 1.5rem;
}
.fev3-category-card {
    background: var(--fev3-surface-cream);
    border-radius: var(--fev3-radius-xl);
    padding: 1.5rem;
    box-shadow: var(--fev3-shadow);
    border: 1px solid transparent;
    transition: all 0.2s ease-in-out;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    text-decoration: none;
}
.fev3-category-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--fev3-shadow-lg);
    border-color: var(--fev3-primary-fixed-dim);
}
.fev3-icon-circle {
    width: 3rem;
    height: 3rem;
    border-radius: 9999px;
    background: var(--fev3-primary-fixed);
    color: var(--fev3-primary-fixed-variant);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s;
}
.fev3-category-card:hover .fev3-icon-circle {
    transform: scale(1.1);
}
.fev3-category-card h3 {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--fev3-on-surface);
    margin: 0;
}
.fev3-category-card p {
    font-size: 1rem;
    color: var(--fev3-on-surface-variant);
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.fev3-category-card .fev3-category-count {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--fev3-slate-muted);
    margin-top: auto;
}

.fev3-region-section {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.fev3-section-heading h2 {
    color: var(--fev3-on-surface);
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    line-height: 1.2;
    margin: 0 0 0.5rem;
}

.fev3-section-heading p {
    color: var(--fev3-on-surface-variant);
    font-size: 1rem;
    margin: 0;
}

.fev3-region-grid {
    display: grid;
    gap: 0.875rem;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
}

.fev3-region-card {
    align-items: center;
    background: var(--fev3-surface-cream);
    border: 1px solid var(--fe-brand-line-soft, rgba(224, 192, 177, 0.58));
    border-radius: var(--fev3-radius-xl);
    color: var(--fev3-on-surface);
    display: flex;
    gap: 0.75rem;
    min-width: 0;
    padding: 1rem;
    text-decoration: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.fev3-region-card:hover {
    border-color: var(--fev3-primary-fixed-dim);
    box-shadow: var(--fev3-shadow);
    transform: translateY(-2px);
}

.fev3-region-card.is-active {
    background: rgba(255, 219, 202, 0.24);
    border-color: var(--fe-brand-primary, var(--fev3-primary));
    box-shadow: 0 10px 24px rgba(88, 34, 0, 0.08);
}

.fev3-region-icon {
    align-items: center;
    background: var(--fev3-primary-fixed);
    border-radius: 999px;
    color: var(--fev3-primary-fixed-variant);
    display: inline-flex;
    flex: 0 0 2.5rem;
    height: 2.5rem;
    justify-content: center;
    width: 2.5rem;
}

.fev3-region-icon svg {
    height: 1.1rem;
    width: 1.1rem;
}

.fev3-region-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.fev3-region-copy strong {
    font-size: 0.95rem;
    line-height: 1.3;
}

.fev3-region-copy small {
    color: var(--fev3-slate-muted);
    font-size: 0.78rem;
    margin-top: 0.2rem;
}

@media (max-width: 600px) {
    .fev3-region-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fev3-region-card {
        align-items: flex-start;
        padding: 0.875rem;
    }

    .fev3-region-icon {
        flex-basis: 2rem;
        height: 2rem;
        width: 2rem;
    }
}

.fev3-btn-primary {
    background: var(--fev3-primary);
    color: var(--fev3-on-primary);
    padding: 1rem 2rem;
    border-radius: 9999px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s;
}
.fev3-btn-primary:hover {
    background: var(--fev3-terracotta-deep);
}

.fev3-btn-text {
    background: transparent;
    border: none;
    color: var(--fev3-primary);
    font-weight: 600;
    cursor: pointer;
    padding: 0.5rem;
}

/* Results Grid */
.fev3-results-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}
@media (max-width: 921px) {
    .fev3-results-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 640px) {
    .fev3-results-grid {
        grid-template-columns: 1fr;
    }
}
.fev3-result-card {
    background: var(--fev3-surface-cream);
    border-radius: var(--fev3-radius-xl);
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    box-shadow: var(--fev3-shadow);
    border: 1px solid transparent;
    transition: all 0.2s;
    text-decoration: none;
}
.fev3-result-card:hover {
    box-shadow: var(--fev3-shadow-lg);
    border-color: var(--fev3-primary-fixed-dim);
}
.fev3-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.fev3-card-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--fev3-on-surface);
    margin: 0 0 0.25rem;
}
.fev3-card-meta {
    font-size: 1rem;
    color: var(--fev3-secondary);
    font-style: italic;
    margin: 0;
}
.fev3-badge {
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: var(--fev3-surface-variant);
    color: var(--fev3-on-surface-variant);
}
.fev3-badge.badge-test {
    background: var(--fev3-primary-fixed);
    color: var(--fev3-primary-fixed-variant);
}
.fev3-badge.badge-pathology {
    background: var(--fev3-secondary-container);
    color: var(--fev3-on-secondary-container);
}
.fev3-card-desc {
    color: var(--fev3-on-surface-variant);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0;
}
.fev3-card-desc ul,
.fev3-card-desc ol,
.fev3-card-desc li {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.fev3-card-highlight {
    background: var(--fev3-surface-low);
    padding: 1rem;
    border-radius: 0.5rem;
    margin-top: auto;
}
.fev3-card-highlight h4 {
    font-size: 0.875rem;
    font-weight: 600;
    margin: 0 0 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.fev3-dot {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 9999px;
    background: var(--fev3-success-teal);
    display: inline-block;
}
.fev3-card-highlight ul {
    margin: 0;
    padding-left: 1.25rem;
    color: var(--fev3-on-surface-variant);
    font-size: 0.875rem;
}
.fev3-card-highlight li {
    margin-bottom: 0.25rem;
}
.fev3-card-link {
    color: var(--fev3-primary);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.25rem;
    margin-top: 0.5rem;
    text-decoration: none;
}
.fev3-card-link:hover {
    color: var(--fev3-terracotta-deep);
}

/* About / Contact Content Blocks */
.fev3-content-block {
    background: var(--fev3-surface-cream);
    border-radius: var(--fev3-radius-xl);
    padding: 2rem;
    box-shadow: var(--fev3-shadow);
}
@media (min-width: 768px) {
    .fev3-content-block { padding: 3rem; }
}
.fev3-content-block h2 {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--fev3-on-surface);
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 2rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--fev3-surface-variant);
    padding-bottom: 0.75rem;
}
.fev3-content-block h2:first-child {
    margin-top: 0;
}
.fev3-content-block h2 i {
    color: var(--fev3-primary);
}
.fev3-content-block p {
    margin-bottom: 1.5rem;
    line-height: 1.6;
}
.fev3-form-group {
    margin-bottom: 1.5rem;
}
.fev3-form-label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
}
.fev3-form-input, .fev3-form-textarea {
    width: 100%;
    padding: 0.75rem 1rem;
    border-radius: 0.5rem;
    border: 1px solid var(--fev3-slate-muted);
    background: var(--fev3-surface-low);
    font-family: var(--fev3-font);
}
.fev3-form-input:focus, .fev3-form-textarea:focus {
    border-color: var(--fev3-primary);
    box-shadow: 0 0 0 1px var(--fev3-primary);
    outline: none;
}

body { background-color: var(--fev3-surface-bright, #faf9f6) !important; }


.fe-archive__card-region--absolute { position: absolute; top: 10px; right: 10px; z-index: 10; margin-bottom: 0; box-shadow: 0 2px 4px rgba(0,0,0,0.15); }

/* Unified warm visual layer
   Keeps CPT colors as small accents while normalizing surfaces, width and archive controls. */
:root {
    /* Global semantic visual grammar. Brand and CPT hues remain contextual below. */
    --fe-brand-bg: #faf9f6;
    --fe-brand-surface: #fffdf9;
    --fe-brand-surface-soft: #f8f5f0;
    --fe-brand-surface-muted: #efeeeb;
    --fe-brand-line: #e0c0b1;
    --fe-brand-line-soft: rgba(224, 192, 177, 0.58);
    --fe-brand-primary: #9d4300;
    --fe-brand-primary-strong: #783200;
    --fe-brand-primary-hot: #f97316;
    --fe-brand-primary-soft: #ffdbca;
    --fe-brand-text: #1a1c1a;
    --fe-brand-muted: #584237;
    --fe-brand-subtle: #475569;

    /* Surfaces */
    --fe-page-bg: var(--fe-brand-bg);
    --fe-section-bg: var(--fe-brand-surface-soft);
    --fe-surface: var(--fe-brand-surface);
    --fe-surface-raised: #fffefa;
    --fe-surface-sunken: var(--fe-brand-surface-muted);
    --fe-surface-hover: color-mix(in srgb, var(--fe-surface) 88%, var(--fe-brand-primary-soft));
    --fe-surface-active: color-mix(in srgb, var(--fe-surface) 78%, var(--fe-brand-primary-soft));
    --fe-surface-selected: var(--fe-brand-primary-soft);
    --fe-surface-input: var(--fe-surface);

    /* Text */
    --fe-text-strong: var(--fe-brand-text);
    --fe-text: var(--fe-brand-muted);
    --fe-text-muted: var(--fe-brand-subtle);
    --fe-text-faint: #94a3b8;
    --fe-text-disabled: #9ca3af;
    --fe-text-on-accent: #fff;

    /* Borders */
    --fe-border-soft: color-mix(in srgb, var(--fe-brand-line-soft) 68%, transparent);
    --fe-border: var(--fe-brand-line-soft);
    --fe-border-strong: var(--fe-brand-line);

    /* Compatibility aliases for existing public components. */
    --fe-bg: var(--fe-page-bg);
    --fe-bg-soft: var(--fe-section-bg);
    --fe-bg-cream: var(--fe-surface);
    --fe-line: var(--fe-border);
    --fe-line-soft: var(--fe-border-soft);
    --fe-ink: var(--fe-text-strong);
    --fe-muted: var(--fe-text-muted);
    --fe-font: var(--fe-font-sans);
    --fe-page-max-width: 1320px;
    --fe-page-padding-x: 24px;
    --fe-page-padding-x-mobile: 16px;
    /* Geometry */
    --fe-radius-xs: 6px;
    --fe-radius-sm: 10px;
    --fe-radius-md: 16px;
    --fe-radius-lg: 18px;
    --fe-radius-xl: 24px;
    --fe-radius-pill: 999px;
    --fe-radius-control: var(--fe-radius-sm);
    --fe-radius-card: var(--fe-radius-md);
    --fe-radius-panel: var(--fe-radius-lg);
    --fe-radius-hero: var(--fe-radius-xl);
    --fe-radius: var(--fe-radius-card);

    /* Shared elevation */
    --fe-shadow-xs: 0 1px 2px rgba(88, 34, 0, .05);
    --fe-shadow-sm: 0 4px 12px rgba(88, 34, 0, .05);
    --fe-shadow-md: 0 10px 28px rgba(88, 34, 0, .06);
    --fe-shadow-lg: 0 18px 40px rgba(88, 34, 0, .10);
    --fe-shadow-overlay: 0 24px 54px rgba(50, 31, 20, .16);
    --fe-shadow: var(--fe-shadow-md);

    /* Controls and focus */
    --fe-control-height-sm: 36px;
    --fe-control-height: 44px;
    --fe-control-height-lg: 52px;
    --fe-focus-color: var(--fe-brand-primary);
    --fe-focus-ring-width: 3px;
    --fe-focus-ring-offset: 3px;
    --fe-focus-halo: rgba(255, 255, 255, .92);
    --fe-input-bg: var(--fe-surface-input);
    --fe-input-border: var(--fe-border);
    --fe-input-text: var(--fe-text);
    --fe-input-placeholder: var(--fe-text-faint);

    /* Functional statuses */
    --fe-success: #237c5a;
    --fe-success-bg: #edf7f2;
    --fe-success-border: #83bea2;
    --fe-success-text: #166534;
    --fe-error: #a12f25;
    --fe-error-bg: #fff0ee;
    --fe-error-border: #d99e98;
    --fe-error-text: #991b1b;
    --fe-warning: #a16207;
    --fe-warning-bg: #fff8e8;
    --fe-warning-border: #d6b475;
    --fe-warning-text: #80550b;
    --fe-info: #3b638e;
    --fe-info-bg: #edf3fa;
    --fe-info-border: #b8c9dd;
    --fe-info-text: #244c7c;

    /* Typography roles for controls, labels and supporting text. */
    --fe-font-size-xs: .75rem;
    --fe-font-size-sm: .875rem;
    --fe-font-size-md: 1rem;
    --fe-font-size-lg: 1.125rem;
    --fe-font-weight-medium: 500;
    --fe-font-weight-semibold: 600;
    --fe-font-weight-bold: 700;
    --fe-font-weight-extrabold: 800;
    --fe-archive-radius-surface: 24px;
    --fe-archive-radius-card: 16px;
    --fe-archive-surface-card: var(--fe-surface);
    --fe-archive-surface-hero: linear-gradient(180deg, #fffdf9 0%, #faf9f6 100%);
    --fe-archive-surface-muted: var(--fe-section-bg);
    --fe-archive-accent-soft: var(--fe-brand-primary-soft);
    --fe-archive-accent-border: var(--fe-border-strong);
    --fe-page-background: radial-gradient(72rem 42rem at 100% 0%, rgba(255, 228, 209, .64) 0%, rgba(255, 228, 209, 0) 62%), linear-gradient(135deg, #fffefa 0%, #faf7f0 58%, #f5ede2 100%);
}

/* Wspólny, spokojny kierunek tła. Warianty są przypisane do typu widoku,
   dzięki czemu pozostają stałe przy odświeżeniu strony. */
html {
    background: #faf7f0;
}

body {
    --fe-page-background: radial-gradient(72rem 42rem at 100% 0%, rgba(255, 228, 209, .64) 0%, rgba(255, 228, 209, 0) 62%), linear-gradient(135deg, #fffefa 0%, #faf7f0 58%, #f5ede2 100%);
    background: var(--fe-page-background) !important;
}

body.post-type-archive,
body.fe-archiwum-page,
body.tax-region,
body.tax-organ_system {
    --fe-page-background: radial-gradient(72rem 44rem at 0% 18%, rgba(252, 230, 211, .58) 0%, rgba(252, 230, 211, 0) 63%), linear-gradient(118deg, #fffefa 0%, #faf7f0 56%, #f6eee4 100%);
}

body.single,
body.fe-lv2-reader-page {
    --fe-page-background: radial-gradient(68rem 42rem at 100% 100%, rgba(255, 226, 207, .56) 0%, rgba(255, 226, 207, 0) 64%), linear-gradient(42deg, #fffefa 0%, #faf7f0 58%, #f5ede2 100%);
}

body:has(.fe-learning-page) {
    --fe-page-background: radial-gradient(68rem 42rem at 0% 0%, rgba(255, 225, 205, .56) 0%, rgba(255, 225, 205, 0) 63%), linear-gradient(132deg, #fffefa 0%, #faf7f0 60%, #f5ede2 100%);
}

body.page-template-page-contact,
body.fe-contact-page-v2 {
    --fe-page-background: radial-gradient(70rem 42rem at 100% 15%, rgba(255, 223, 204, .62) 0%, rgba(255, 223, 204, 0) 63%), linear-gradient(135deg, #fffefa 0%, #faf7f0 57%, #f4ebe0 100%);
}

body.page-template-page-about,
body.fe-about-page {
    --fe-page-background: radial-gradient(72rem 44rem at 100% 8%, rgba(255, 221, 202, .66) 0%, rgba(255, 221, 202, 0) 62%), linear-gradient(135deg, #fffefa 0%, #faf7f0 58%, #f4ebe1 100%);
}

#page,
#content,
.site,
.site-content,
.ast-separate-container,
.ast-plain-container,
.ast-page-builder-template {
    background: transparent !important;
}

body,
button,
input,
select,
textarea {
    font-family: var(--fe-font);
}

#content > .ast-container,
.site-content .ast-container,
body.ast-plain-container #content > .ast-container,
body.ast-separate-container #content > .ast-container,
body.home.ast-plain-container #content > .ast-container,
body.page-template-page-about.ast-plain-container #content > .ast-container,
body.page-template-page-contact.ast-plain-container #content > .ast-container,
body.post-type-archive #content > .ast-container,
body.single #content > .ast-container,
body.tax-region #content > .ast-container,
body.tax-organ_system #content > .ast-container,
body.fe-clinical-tools-page #content > .ast-container,
body.fe-clinical-tools-page #primary,
body.fe-clinical-tools-page .site-main,
body.fe-archiwum-page #content > .ast-container {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.home .fe-dashboard,
body.home .fev2-wrap,
body.home .fev2-hero-inner,
body.page-template-page-about .fe-about-page,
body.page-template-page-contact .fe-contact-page,
body.page-template-page-regions .fe-regions-page,
body .fe-rp-page,
body.page-template-page-archiwum .fe-archive,
body.post-type-archive .fe-archive,
body.single .fe-single,
body.tax-region .fe-region-page,
body.tax-region .fe-region-dashboard,
body.tax-organ_system .fe-organ-system-page,
body.tax-organ_system .fe-os-dashboard,
body.fe-archiwum-page .fe-archive--hub,
body.fe-clinical-tools-page .fe-ct-shell {
    max-width: var(--fe-page-max-width, 1320px) !important;
    width: 100%;
}

body.post-type-archive,
body.fe-archiwum-page,
body.single-muscle,
body.single-nerve,
body.single-joint,
body.single-bone,
body.single-blood_vessel,
body.single-clinical_test,
body.single-pathology,
body.single-anatomy_note {
    background: var(--fe-page-background) !important;
}

body.post-type-archive .fe-archive,
body.fe-archiwum-page .fe-archive {
    padding-inline: var(--fe-page-padding-x);
}

body.single .fe-single {
    padding-inline: var(--fe-page-padding-x);
}

.site-header .ast-primary-header-bar,
.site-header .main-header-bar,
.site-header .main-header-bar-wrap {
    background: rgba(255, 253, 249, 0.94) !important;
    border-bottom-color: var(--fe-brand-line-soft) !important;
}

.site-header .menu-link:hover,
.site-header .main-header-menu .menu-link:hover,
.site-header .ast-builder-menu-1 .menu-link:hover,
.site-header .ast-builder-menu-2 .menu-link:hover,
.site-header .current-menu-item > .menu-link,
.site-header .current_page_item > .menu-link,
.site-header .current-menu-ancestor > .menu-link {
    color: var(--fe-brand-primary) !important;
    background: rgba(255, 219, 202, 0.46) !important;
}

.site-header .ast-search-menu-icon {
    background: #fffdf9;
    border-color: var(--fe-brand-line-soft);
}

.site-header .ast-search-menu-icon:hover {
    border-color: var(--fe-brand-primary);
    color: var(--fe-brand-primary);
    background: rgba(255, 219, 202, 0.5);
}

body.post-type-archive .fe-archive .fe-archive__with-sidebar,
body.fe-archiwum-page .fe-archive .fe-archive__with-sidebar {
    grid-template-columns: minmax(0, 1fr) 292px;
}

body.post-type-archive .fe-archive .fe-archive__hero,
body.fe-archiwum-page .fe-archive .fe-archive__hero,
.fe-hero {
    background: linear-gradient(135deg, #fffdf9 0%, #f8f5f0 100%) !important;
    border-color: var(--fe-brand-line-soft) !important;
    box-shadow: 0 18px 40px rgba(88, 34, 0, 0.07) !important;
}

body.post-type-archive .fe-archive .fe-archive__hero::before,
body.fe-archiwum-page .fe-archive .fe-archive__hero::before {
    opacity: 0.28;
}

body.post-type-archive .fe-archive .fe-archive__hero-title,
body.fe-archiwum-page .fe-archive .fe-archive__hero-title,
.fe-hero-title,
.fe-single h1 {
    color: var(--fe-brand-text);
    letter-spacing: 0;
}

body.post-type-archive .fe-archive .fe-archive__hero-badge,
body.fe-archiwum-page .fe-archive .fe-archive__hero-badge,
.fe-eyebrow,
.fe-section-kicker {
    background: var(--fe-brand-primary-soft) !important;
    border-color: var(--fe-brand-line-soft) !important;
    color: var(--fe-accent, var(--fe-brand-primary)) !important;
}

body.post-type-archive .fe-archive .fe-archive__metric,
body.fe-archiwum-page .fe-archive .fe-archive__metric,
.fe-stat,
.fe-card {
    background: var(--fe-brand-surface) !important;
    border-color: var(--fe-brand-line-soft) !important;
}

body.post-type-archive .fe-archive .fe-archive__filters,
body.fe-archiwum-page .fe-archive .fe-archive__filters {
    background: var(--fe-brand-surface) !important;
    border-color: var(--fe-brand-line-soft) !important;
    border-radius: 26px !important;
    box-shadow: 0 16px 34px rgba(88, 34, 0, 0.07) !important;
}

body.post-type-archive .fe-archive .fe-archive__filter-form,
body.fe-archiwum-page .fe-archive .fe-archive__filter-form {
    align-items: stretch;
    background: #fffdf9;
    border: 1px solid var(--fe-brand-line-soft);
    border-radius: 999px;
    box-shadow: 0 10px 24px rgba(88, 34, 0, 0.07);
    gap: 0;
    padding: 6px;
}

body.post-type-archive .fe-archive .fe-archive__filter-form > div,
body.fe-archiwum-page .fe-archive .fe-archive__filter-form > div {
    align-items: center;
    display: flex;
    min-width: 0;
    position: relative;
}

body.post-type-archive .fe-archive .fe-archive__filter-form > div + div,
body.fe-archiwum-page .fe-archive .fe-archive__filter-form > div + div {
    border-left: 1px solid var(--fe-brand-line-soft);
}

body.post-type-archive .fe-archive .fe-archive__filter-label,
body.fe-archiwum-page .fe-archive .fe-archive__filter-label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

body.post-type-archive .fe-archive .fe-archive__filter-input,
body.post-type-archive .fe-archive .fe-archive__filter-select,
body.fe-archiwum-page .fe-archive .fe-archive__filter-input,
body.fe-archiwum-page .fe-archive .fe-archive__filter-select {
    background: transparent !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    height: 48px;
    margin: 0 !important;
    min-width: 0;
    padding-inline: 18px;
}

body.post-type-archive .fe-archive .fe-archive__filter-input:focus,
body.post-type-archive .fe-archive .fe-archive__filter-select:focus,
body.fe-archiwum-page .fe-archive .fe-archive__filter-input:focus,
body.fe-archiwum-page .fe-archive .fe-archive__filter-select:focus {
    box-shadow: inset 0 0 0 2px rgba(157, 67, 0, 0.18) !important;
}

body.post-type-archive .fe-archive .fe-archive__filter-btn,
body.fe-archiwum-page .fe-archive .fe-archive__filter-btn,
.fe-button,
.fev3-btn-primary {
    background: var(--fe-brand-primary-hot) !important;
    border-radius: 999px !important;
    color: #582200 !important;
    font-weight: 800;
    box-shadow: 0 9px 18px rgba(157, 67, 0, 0.18) !important;
}

body.post-type-archive .fe-archive .fe-archive__filter-btn:hover,
body.fe-archiwum-page .fe-archive .fe-archive__filter-btn:hover,
.fe-button:hover,
.fev3-btn-primary:hover {
    background: var(--fe-brand-primary) !important;
    color: #ffffff !important;
    opacity: 1;
}

.fe-vessel-tabs {
    background: var(--fe-brand-surface-soft) !important;
    border: 1px solid var(--fe-brand-line-soft);
    border-radius: 999px;
}

.fe-vessel-tab--active,
.fe-vessel-tab:hover {
    background: var(--fe-brand-primary-soft) !important;
    color: var(--fe-brand-primary-strong) !important;
}

body.post-type-archive .fe-archive .fe-archive__card,
body.fe-archiwum-page .fe-archive .fe-archive__card,
.fev3-result-card,
.fev3-category-card,
.fev3-content-block {
    background: var(--fe-brand-surface) !important;
    border-color: var(--fe-brand-line-soft) !important;
    border-radius: var(--fe-archive-radius-card) !important;
    box-shadow: 0 8px 22px rgba(88, 34, 0, 0.045) !important;
}

body.post-type-archive .fe-archive .fe-archive__card:hover,
body.fe-archiwum-page .fe-archive .fe-archive__card:hover,
.fev3-result-card:hover,
.fev3-category-card:hover {
    border-color: var(--fe-brand-primary-soft) !important;
    box-shadow: 0 15px 30px rgba(88, 34, 0, 0.09) !important;
}

.fe-archive__card-region,
.fe-unified-type-badge,
.fev3-badge,
.fe-chip {
    border-radius: 999px;
}

.fe-archive__card-region {
    background: var(--fe-brand-primary-soft) !important;
    border: 1px solid var(--fe-brand-line-soft);
    color: var(--fe-accent, var(--fe-brand-primary)) !important;
}

.fev3-page-wrap,
.fev3-search-section,
.fev3-stat-card,
.fev3-card-highlight {
    background: var(--fe-brand-surface-soft) !important;
}

.fev3-container {
    max-width: var(--fe-page-max-width);
}

.fev3-page-wrap.fev3-container {
    max-width: var(--fe-page-max-width) !important;
}

.fev3-search-section,
.fev3-content-block {
    border: 1px solid var(--fe-brand-line-soft);
}

.fev3-search-bar {
    background: var(--fe-brand-surface);
    border: 1px solid var(--fe-brand-line-soft);
    border-radius: 999px;
    box-shadow: 0 10px 24px rgba(88, 34, 0, 0.07);
    gap: 0;
    padding: 6px;
}

.fev3-search-input,
.fev3-form-input,
.fev3-form-textarea,
.fev3-select {
    background: var(--fe-brand-surface) !important;
    border-color: var(--fe-brand-line-soft) !important;
}

.fev3-search-input {
    border: 0 !important;
    box-shadow: none !important;
}

.fev3-form-input,
.fev3-form-textarea,
.fev3-select {
    border-radius: 12px !important;
}

.fev3-btn-text {
    color: var(--fe-brand-primary) !important;
}

body.page-template-page-contact .fe-contact-page,
body.page-template-page-about .fe-about-page,
body.page-template-page-regions .fe-regions-page,
body .fe-rp-page,
body.tax-region .fe-region-dashboard,
body.tax-organ_system .fe-os-dashboard,
body.page-template-page-uklady-narzadow .fe-os-archive,
.fev3-page-wrap.fev3-container {
    margin-inline: auto;
    padding-inline: var(--fe-page-padding-x);
}

.fe-rp-page,
.fe-region-dashboard,
.fe-os-dashboard,
.fe-os-archive,
.fev3-page-wrap {
    background: transparent !important;
    color: var(--fe-brand-text);
}

.fe-rp-hero,
.fe-rp-card,
.fe-rp-stat,
.fe-region-dashboard .fe-bento-card,
.fe-region-dashboard .fe-stat-box,
.fe-region-dashboard .fe-item-card,
.fe-region-dashboard .fe-next-region,
.fe-os-hero,
.fe-os-card,
.fe-os-stats-card,
.fe-os-notes,
.fe-os-results,
.fe-os-siblings,
.fe-os-dashboard .fe-stat-box,
.fe-os-dashboard .fe-item-card,
.fe-os-dashboard .fe-note-card {
    background-color: var(--fe-brand-surface) !important;
    border-color: var(--fe-brand-line-soft) !important;
    box-shadow: 0 10px 26px rgba(88, 34, 0, 0.055) !important;
}

.fe-rp-eyebrow,
.fe-rp-badge,
.fe-hero-badge,
.fe-card-kicker,
.fe-section-kicker,
.fe-os-eyebrow,
.fe-os-kicker,
.fe-os-notes-head-icon,
.fe-badge,
.fe-card-badge {
    background: var(--fe-brand-primary-soft) !important;
    border-color: var(--fe-brand-line-soft) !important;
    color: var(--fe-accent, var(--fe-brand-primary)) !important;
}

.fe-rp-title,
.fe-region-dashboard .fe-hero-title,
.fe-results-title,
.fe-bento-title,
.fe-next-title,
.fe-os-title,
.fe-os-card-title,
.fe-section-head h2,
.fe-item-title {
    color: var(--fe-brand-text) !important;
    letter-spacing: 0 !important;
}

:where(
    .fe-dashboard,
    .fe-archive,
    .fe-single,
    .fe-rp-page,
    .fe-region-dashboard,
    .fe-os-dashboard,
    .fev3-page-wrap,
    .site-header
) * {
    letter-spacing: 0;
}

@media (max-width: 920px) {
    body.post-type-archive .fe-archive,
    body.fe-archiwum-page .fe-archive,
    body.single .fe-single,
    body.page-template-page-contact .fe-contact-page,
    body.page-template-page-about .fe-about-page,
    body.page-template-page-regions .fe-regions-page,
    body .fe-rp-page,
    body.tax-region .fe-region-dashboard,
    body.tax-organ_system .fe-os-dashboard,
    .fev3-page-wrap.fev3-container {
        padding-inline: var(--fe-page-padding-x-mobile);
    }

    body.post-type-archive .fe-archive .fe-archive__filter-form,
    body.fe-archiwum-page .fe-archive .fe-archive__filter-form {
        border-radius: 20px;
        gap: 8px;
        padding: 10px;
    }

    body.post-type-archive .fe-archive .fe-archive__filter-form > div,
    body.fe-archiwum-page .fe-archive .fe-archive__filter-form > div {
        background: var(--fe-brand-surface-soft);
        border: 1px solid var(--fe-brand-line-soft) !important;
        border-radius: 14px;
    }

    body.post-type-archive .fe-archive .fe-archive__filter-btn,
    body.fe-archiwum-page .fe-archive .fe-archive__filter-btn {
        width: 100%;
    }
}


/* Hotfix: archive filter fit, card titles and menu active state */
body:not(.home) .site-header .menu-item-home > .menu-link,
body:not(.home) .site-header .menu-item-home.current-menu-item > .menu-link,
body:not(.home) .site-header .menu-item-home.current_page_item > .menu-link,
body:not(.home) .site-header .menu-item-home.current-menu-ancestor > .menu-link,
body:not(.home) .site-header .fe-menu-item-start > .menu-link,
body:not(.home) .site-header .fe-menu-item-start.current-menu-item > .menu-link,
body:not(.home) .site-header .fe-menu-item-start.current_page_item > .menu-link,
body:not(.home) .site-header .fe-menu-item-start.current-menu-ancestor > .menu-link {
    background: transparent !important;
    color: inherit !important;
}

body.home .site-header .menu-item-home.current-menu-item > .menu-link,
body.home .site-header .menu-item-home.current_page_item > .menu-link,
body.home .site-header .menu-item.fe-menu-item-start.current-menu-item > .menu-link,
body.home .site-header .menu-item.fe-menu-item-start.current_page_item > .menu-link {
    color: var(--fe-brand-primary) !important;
    background: rgba(255, 219, 202, 0.46) !important;
}

body.post-type-archive .fe-archive .fe-archive__filter-form,
body.fe-archiwum-page .fe-archive .fe-archive__filter-form {
    display: grid;
    grid-template-columns: minmax(180px, 1.35fr) minmax(150px, 0.85fr) minmax(150px, 0.85fr) auto;
}

body.post-type-archive .fe-archive .fe-archive__filter-form:has(> :nth-child(5)),
body.fe-archiwum-page .fe-archive .fe-archive__filter-form:has(> :nth-child(5)) {
    grid-template-columns: minmax(180px, 1.28fr) minmax(145px, 0.8fr) minmax(145px, 0.8fr) minmax(92px, 0.45fr) auto;
}

body.post-type-archive .fe-archive .fe-archive__filter-form > div:last-child,
body.fe-archiwum-page .fe-archive .fe-archive__filter-form > div:last-child {
    border-left: 1px solid var(--fe-brand-line-soft);
}

body.post-type-archive .fe-archive .fe-archive__filter-btn,
body.fe-archiwum-page .fe-archive .fe-archive__filter-btn {
    min-width: 112px;
    padding-inline: 22px;
}

body.post-type-archive .fe-archive .fe-archive__card-title,
body.fe-archiwum-page .fe-archive .fe-archive__card-title {
    color: var(--fe-brand-text) !important;
    display: block !important;
    font-size: clamp(1.05rem, 1.15vw, 1.22rem);
    font-weight: 800;
    line-height: 1.25;
    margin: 6px 0 10px;
    overflow-wrap: anywhere;
}

body.post-type-archive .fe-archive .fe-archive__card-link,
body.fe-archiwum-page .fe-archive .fe-archive__card-link {
    color: inherit;
}

body.post-type-archive .fe-archive .fev3-card-meta + .fe-archive__card-title,
body.fe-archiwum-page .fe-archive .fev3-card-meta + .fe-archive__card-title {
    margin-top: 4px;
}

body.post-type-archive .fe-archive .fe-archive__results-count,
body.fe-archiwum-page .fe-archive .fe-archive__results-count {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: flex-start;
}

body.post-type-archive .fe-archive .fe-archive__results-count strong,
body.fe-archiwum-page .fe-archive .fe-archive__results-count strong {
    color: var(--fe-brand-text);
    margin-inline: 4px;
}

@media (max-width: 1120px) {
    body.post-type-archive .fe-archive .fe-archive__filter-form,
    body.post-type-archive .fe-archive .fe-archive__filter-form:has(> :nth-child(5)),
    body.fe-archiwum-page .fe-archive .fe-archive__filter-form,
    body.fe-archiwum-page .fe-archive .fe-archive__filter-form:has(> :nth-child(5)) {
        border-radius: 20px;
        gap: 8px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 10px;
    }

    body.post-type-archive .fe-archive .fe-archive__filter-form > div,
    body.fe-archiwum-page .fe-archive .fe-archive__filter-form > div {
        background: var(--fe-brand-surface-soft);
        border: 1px solid var(--fe-brand-line-soft) !important;
        border-radius: 14px;
    }
}

@media (max-width: 640px) {
    body.post-type-archive .fe-archive .fe-archive__filter-form,
    body.post-type-archive .fe-archive .fe-archive__filter-form:has(> :nth-child(5)),
    body.fe-archiwum-page .fe-archive .fe-archive__filter-form,
    body.fe-archiwum-page .fe-archive .fe-archive__filter-form:has(> :nth-child(5)) {
        grid-template-columns: 1fr;
    }
}

/* Hotfix: top navigation hit areas and false Start active state */
.site-header .main-header-menu,
.site-header .ast-builder-menu-1 .main-header-menu,
.site-header .ast-builder-menu-2 .main-header-menu {
    align-items: center;
    gap: 4px;
}

.site-header .main-header-menu > .menu-item,
.site-header .ast-builder-menu-1 .main-header-menu > .menu-item,
.site-header .ast-builder-menu-2 .main-header-menu > .menu-item {
    align-items: center;
    display: inline-flex;
    min-height: 44px;
    position: relative;
}

.site-header .main-header-menu > .menu-item > .menu-link,
.site-header .ast-builder-menu-1 .main-header-menu > .menu-item > .menu-link,
.site-header .ast-builder-menu-2 .main-header-menu > .menu-item > .menu-link {
    align-items: center;
    border-radius: 12px !important;
    display: inline-flex !important;
    height: auto !important;
    justify-content: center;
    line-height: 1.2 !important;
    min-height: 40px;
    padding: 10px 12px !important;
    position: relative;
    z-index: 3;
}

body:not(.home) .site-header .main-header-menu > .menu-item:first-child > .menu-link,
body:not(.home) .site-header .main-header-menu > .menu-item:first-child.current-menu-item > .menu-link,
body:not(.home) .site-header .main-header-menu > .menu-item:first-child.current_page_item > .menu-link,
body:not(.home) .site-header .main-header-menu > .menu-item:first-child.current-menu-ancestor > .menu-link,
body:not(.home) .site-header .ast-builder-menu-1 .main-header-menu > .menu-item:first-child > .menu-link,
body:not(.home) .site-header .ast-builder-menu-1 .main-header-menu > .menu-item:first-child.current-menu-item > .menu-link,
body:not(.home) .site-header .ast-builder-menu-1 .main-header-menu > .menu-item:first-child.current_page_item > .menu-link,
body:not(.home) .site-header .ast-builder-menu-1 .main-header-menu > .menu-item:first-child.current-menu-ancestor > .menu-link,
body:not(.home) .site-header .menu-item.fe-menu-item-start > .menu-link,
body:not(.home) .site-header .menu-item.fe-menu-item-start.current-menu-item > .menu-link,
body:not(.home) .site-header .menu-item.fe-menu-item-start.current_page_item > .menu-link,
body:not(.home) .site-header .menu-item.fe-menu-item-start.current-menu-ancestor > .menu-link {
    background: transparent !important;
    color: var(--fe-ink, #1a1c1a) !important;
}

body.home .site-header .main-header-menu > .menu-item:first-child.current-menu-item > .menu-link,
body.home .site-header .main-header-menu > .menu-item:first-child.current_page_item > .menu-link,
body.home .site-header .ast-builder-menu-1 .main-header-menu > .menu-item:first-child.current-menu-item > .menu-link,
body.home .site-header .ast-builder-menu-1 .main-header-menu > .menu-item:first-child.current_page_item > .menu-link,
body.home .site-header .menu-item.fe-menu-item-start.current-menu-item > .menu-link,
body.home .site-header .menu-item.fe-menu-item-start.current_page_item > .menu-link {
    color: var(--fe-brand-primary) !important;
    background: rgba(255, 219, 202, 0.46) !important;
}

/* WordPress may keep an ancestor state after a menu is edited. On the real
 * homepage the Start link is the only highlighted first-level destination. */
body.fe-real-front-page .site-header .main-header-menu > .menu-item:not(.fe-menu-item-start).current-menu-item > .menu-link,
body.fe-real-front-page .site-header .main-header-menu > .menu-item:not(.fe-menu-item-start).current_page_item > .menu-link,
body.fe-real-front-page .site-header .main-header-menu > .menu-item:not(.fe-menu-item-start).current-menu-ancestor > .menu-link,
body.fe-real-front-page .site-header .ast-builder-menu-1 .main-header-menu > .menu-item:not(.fe-menu-item-start).current-menu-item > .menu-link,
body.fe-real-front-page .site-header .ast-builder-menu-1 .main-header-menu > .menu-item:not(.fe-menu-item-start).current_page_item > .menu-link,
body.fe-real-front-page .site-header .ast-builder-menu-1 .main-header-menu > .menu-item:not(.fe-menu-item-start).current-menu-ancestor > .menu-link {
    background: transparent !important;
    color: var(--fe-ink, #1a1c1a) !important;
}

.site-header .main-header-menu > .menu-item-has-children > .sub-menu,
.site-header .ast-builder-menu-1 .main-header-menu > .menu-item-has-children > .sub-menu,
.site-header .ast-builder-menu-2 .main-header-menu > .menu-item-has-children > .sub-menu {
    top: calc(100% + 21px) !important;
    z-index: 250 !important;
}

.site-header .main-header-menu > .menu-item-has-children > .sub-menu::before,
.site-header .ast-builder-menu-1 .main-header-menu > .menu-item-has-children > .sub-menu::before,
.site-header .ast-builder-menu-2 .main-header-menu > .menu-item-has-children > .sub-menu::before {
    display: none !important;
}

.site-header .main-header-menu > .menu-item-has-children:hover::after,
.site-header .ast-builder-menu-1 .main-header-menu > .menu-item-has-children:hover::after,
.site-header .ast-builder-menu-2 .main-header-menu > .menu-item-has-children:hover::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 26px;
    z-index: 240;
}

.site-header .main-header-menu > .menu-item-has-children:hover > .menu-link,
.site-header .main-header-menu > .menu-item-has-children:focus-within > .menu-link,
.site-header .ast-builder-menu-1 .main-header-menu > .menu-item-has-children:hover > .menu-link,
.site-header .ast-builder-menu-1 .main-header-menu > .menu-item-has-children:focus-within > .menu-link {
    pointer-events: auto;
    position: relative;
    z-index: 260;
}

/* Hotfix: unified /archiwum/ search controls */
.fev3-search-section form {
    display: grid;
    gap: 12px;
}

.fev3-search-section .fev3-search-bar {
    align-items: center;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    width: 100%;
}

.fev3-search-section .fev3-search-input-wrap {
    align-items: center;
    display: flex;
    min-width: 0;
    padding-left: 14px;
}

.fev3-search-section .fev3-search-input-wrap i,
.fev3-search-section .fev3-search-input-wrap svg {
    flex: 0 0 auto;
    margin-right: 10px;
}

.fev3-search-section .fev3-search-input {
    min-width: 0;
    width: 100%;
}

.fev3-search-section .fev3-btn-primary {
    min-height: 44px;
    min-width: 104px;
    padding: 0 22px;
    white-space: nowrap;
}

.fev3-search-section .fev3-filters {
    align-items: center;
    background: var(--fe-brand-surface, #fffdf9);
    border: 1px solid var(--fe-brand-line-soft, rgba(224, 192, 177, 0.58));
    border-radius: 999px;
    display: flex;
    gap: 0;
    padding: 6px;
}

.fev3-search-section .fev3-filters .fev3-select {
    border: 0 !important;
    border-left: 1px solid var(--fe-brand-line-soft, rgba(224, 192, 177, 0.58)) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    min-height: 42px;
    min-width: 180px;
}

.fev3-search-section .fev3-filters .fev3-select:first-child {
    border-left: 0 !important;
}

.fev3-search-section .fev3-btn-text {
    margin-left: auto;
    min-height: 38px;
    padding-inline: 14px;
    white-space: nowrap;
}

@media (max-width: 720px) {
    .fev3-search-section .fev3-search-bar {
        border-radius: 999px !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 0 !important;
        padding: 5px 5px 5px 14px !important;
    }

    .fev3-search-section .fev3-filters {
        border-radius: 18px;
        grid-template-columns: 1fr;
    }

    .fev3-search-section .fev3-search-input-wrap {
        width: 100%;
    }

    .fev3-search-section .fev3-filters .fev3-select,
    .fev3-search-section .fev3-btn-text {
        width: 100%;
    }

    .fev3-search-section .fev3-btn-primary {
        border-radius: 999px !important;
        min-height: 38px !important;
        padding: 0 18px !important;
        font-size: 0.9rem !important;
        width: auto !important;
        white-space: nowrap !important;
    }

    .fev3-search-section .fev3-filters {
        align-items: stretch;
        flex-direction: column;
        gap: 8px;
        padding: 10px;
    }

    .fev3-search-section .fev3-filters .fev3-select {
        border: 1px solid var(--fe-brand-line-soft, rgba(224, 192, 177, 0.58)) !important;
        border-radius: 12px !important;
    }
}

.fev3-category-card.is-active {
    border-color: var(--fe-brand-primary) !important;
    box-shadow: 0 15px 30px rgba(88, 34, 0, 0.09) !important;
    background: rgba(255, 219, 202, 0.2) !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   Muscle Type Badges (Typy mięśni)
   ───────────────────────────────────────────────────────────────────────────── */
.fe-badge-type {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 11px;
    border-radius: 999px;
    font-family: var(--fe-font, inherit);
    font-weight: 700;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-left: 6px;
    margin-bottom: 10px;
}

.fe-badge-type--group {
    background: #e0f2fe !important;
    border: 1px solid #bae6fd !important;
    color: #0369a1 !important;
}

.fe-badge-type--complex {
    background: #fef9c3 !important;
    border: 1px solid #fef08a !important;
    color: #a16207 !important;
}

.fe-badge-type--related {
    background: #f3e8ff !important;
    border: 1px solid #e9d5ff !important;
    color: #6b21a8 !important;
}

/* Custom Badge Colors for Clinical Test Types */
.fe-badge-type--manual {
    background: #f1f5f9 !important;
    border: 1px solid #cbd5e1 !important;
    color: #475569 !important;
}

.fe-badge-type--functional {
    background: #ecfdf5 !important;
    border: 1px solid #a7f3d0 !important;
    color: #047857 !important;
}

/* ═══════════════════════════════════════════════════════════════════════
   Unified 2-Row Pill Filter Layout ("v3") — used across ALL CPT archives
   (mięśnie, nerwy, kości, stawy, naczynia, zespoły kliniczne, testy).
   Originally built for clinical_test, now generalized. Scoped to the
   `.fe-archive__filter-form--v3` class instead of a body/post-type
   selector so any archive template can opt in.
   ═══════════════════════════════════════════════════════════════════ */
.fe-archive .fe-archive__filter-form--v3 {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    padding: 0 !important;
    border-radius: 0 !important;
    width: 100% !important;
}

/* Reset the direct children divs from inheriting default form layout rules */
.fe-archive .fe-archive__filter-form--v3 > div {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    width: 100% !important;
    display: block !important;
}

.fe-archive .fe-archive__filter-form--v3 > div + div {
    border-left: 0 !important;
}

/* Styling for the first row (Search Bar pill) */
.fe-archive .fe-archive__filter-form--v3 > div.fe-archive__search-bar {
    align-items: center !important;
    background: var(--fe-brand-surface, #fffdf9) !important;
    border: 1px solid var(--fe-brand-line-soft) !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 24px rgba(88, 34, 0, 0.07) !important;
    display: flex !important;
    padding: 4px 18px !important;
    position: relative !important;
    width: 100% !important;
}

.fe-archive__search-icon {
    color: var(--fe-brand-primary) !important;
    flex: 0 0 auto !important;
    margin-right: 12px !important;
    width: 18px !important;
    height: 18px !important;
    display: inline-block !important;
}

.fe-archive__search-bar .fe-archive__filter-input {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: var(--fe-brand-text) !important;
    font-size: 1.05rem !important;
    height: 48px !important;
    margin: 0 !important;
    outline: none !important;
    width: 100% !important;
}

/* Styling for the second row (Select Filters pill) — column count is set
   inline per-template via `--fe-select-filter-cols` (defaults to 5) so
   archives with fewer/more dropdowns (region+sort+limit = 3, or region+
   type+sort+limit = 4, etc.) size their columns correctly. */
.fe-archive .fe-archive__filter-form--v3 > div.fe-archive__select-filters {
    align-items: stretch !important;
    background: var(--fe-brand-surface, #fffdf9) !important;
    border: 1px solid var(--fe-brand-line-soft) !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 24px rgba(88, 34, 0, 0.07) !important;
    display: grid !important;
    grid-template-columns: repeat(var(--fe-select-filter-cols, 5), minmax(0, 1fr)) !important;
    gap: 0 !important;
    padding: 6px !important;
    width: 100% !important;
}

.fe-archive__select-filters > div {
    align-items: center !important;
    display: flex !important;
    min-width: 0 !important;
    position: relative !important;
}

.fe-archive__select-filters > div + div {
    border-left: 1px solid var(--fe-brand-line-soft) !important;
}

.fe-archive__select-filters .fe-archive__filter-select {
    background: transparent !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    font-size: 0.95rem !important;
    height: 44px !important;
    margin: 0 !important;
    min-width: 0 !important;
    padding-inline: 18px !important;
    width: 100% !important;
    /* Native <select> text must never overflow/get clipped on narrow columns */
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.fe-archive__select-filters .fe-archive__filter-select:focus {
    box-shadow: inset 0 0 0 2px rgba(157, 67, 0, 0.18) !important;
}

/* ── Optional tab bar above the v3 filter form (e.g. Wszystkie/Tętnice/Żyły,
   Wszystkie/ICD-11) — shared pill-tab style across archives ── */
.fe-archive-v3-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.fe-archive-v3-tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 18px;
    border-radius: 999px;
    border: 1px solid var(--fe-brand-line-soft);
    background: var(--fe-brand-surface, #fffdf9);
    color: var(--fe-brand-muted, #584237);
    font-family: var(--fe-font);
    font-weight: 600;
    font-size: 13px;
    text-decoration: none;
    transition: all 0.15s ease;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    outline: none;
}

.fe-archive-v3-tab:hover {
    border-color: var(--fe-brand-primary);
    color: var(--fe-brand-primary);
}

.fe-archive-v3-tab--active {
    background: var(--fe-brand-primary);
    border-color: var(--fe-brand-primary);
    color: #fff;
}

/* ═══════════════════════════════════════════════════════════════════════
   Responsive breakpoints — generalized (no longer clinical_test-only).
   Uses `min()`/explicit width failsafes so dropdown labels never get
   squeezed or visually disappear on real phone widths (360–430px range,
   matching the reported mobile bug on testy-kliniczne/).
   ═══════════════════════════════════════════════════════════════════ */
@media (max-width: 1120px) {
    .fe-archive__select-filters {
        border-radius: 20px !important;
        gap: 8px !important;
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
        padding: 10px !important;
    }

    .fe-archive__select-filters > div {
        background: var(--fe-brand-surface-soft) !important;
        border: 1px solid var(--fe-brand-line-soft) !important;
        border-radius: 12px !important;
    }

    .fe-archive__select-filters > div + div {
        border-left: 1px solid var(--fe-brand-line-soft) !important;
    }
}

@media (max-width: 640px) {
    .fe-archive__select-filters {
        grid-template-columns: 1fr 1fr !important;
    }

    .fe-archive__search-bar {
        border-radius: 20px !important;
        padding-inline: 12px !important;
    }
}

/* Failsafe for real small phones: force single column so every dropdown
   keeps full label text visible (fixes the "typy wyborów schowały się"
   mobile bug — squeezed 2-up columns truncating select text at ≤480px). */
@media (max-width: 480px) {
    .fe-archive__select-filters {
        grid-template-columns: 1fr !important;
        gap: 6px !important;
    }

    .fe-archive__select-filters .fe-archive__filter-select {
        font-size: 0.92rem !important;
    }

    .fe-archive-v3-tabs {
        gap: 6px;
    }

    .fe-archive-v3-tab {
        flex: 1 1 auto;
        justify-content: center;
        padding: 8px 12px;
        font-size: 12.5px;
    }
}

/* Dark is a second configuration of the same semantic system, not a parallel UI. */
html[data-fe-theme="dark"] {
    --fe-brand-bg: #111310;
    --fe-brand-surface: #1a1c18;
    --fe-brand-surface-soft: #151714;
    --fe-brand-surface-muted: #141613;
    --fe-brand-line: #5f493e;
    --fe-brand-line-soft: rgba(190, 145, 120, .30);
    --fe-brand-primary: #e39a67;
    --fe-brand-primary-strong: #f0b88e;
    --fe-brand-primary-hot: #e97936;
    --fe-brand-primary-soft: #392319;
    --fe-brand-text: #f2efe9;
    --fe-brand-muted: #c8bdb4;
    --fe-brand-subtle: #9f968e;

    --fe-surface-raised: #22231f;
    --fe-surface-sunken: #141613;
    --fe-surface-hover: color-mix(in srgb, var(--fe-surface) 84%, var(--fe-brand-primary-soft));
    --fe-surface-active: color-mix(in srgb, var(--fe-surface) 72%, var(--fe-brand-primary-soft));
    --fe-surface-selected: #392319;
    --fe-surface-input: #1a1c18;
    --fe-text-faint: #918981;
    --fe-text-disabled: #756e68;
    --fe-text-on-accent: #1a1c1a;
    --fe-ink: var(--fe-text-strong);
    --fe-muted: var(--fe-brand-muted);
    --fe-line: var(--fe-brand-line-soft);
    --fe-line-soft: var(--fe-border-soft);
    --fe-bg: var(--fe-page-bg);
    --fe-bg-soft: var(--fe-brand-surface-soft);
    --fe-bg-cream: var(--fe-surface);

    --fe-shadow-xs: 0 1px 2px rgba(0, 0, 0, .22);
    --fe-shadow-sm: 0 4px 12px rgba(0, 0, 0, .26);
    --fe-shadow-md: 0 10px 28px rgba(0, 0, 0, .32);
    --fe-shadow-lg: 0 18px 40px rgba(0, 0, 0, .38);
    --fe-shadow-overlay: 0 24px 54px rgba(0, 0, 0, .48);

    --fe-focus-color: #f0b88e;
    --fe-focus-halo: rgba(17, 19, 16, .92);
    --fe-success: #66c59a;
    --fe-success-bg: #152c23;
    --fe-success-border: #2f7e5e;
    --fe-success-text: #8bdab6;
    --fe-error: #f08a82;
    --fe-error-bg: #331d1c;
    --fe-error-border: #8d413b;
    --fe-error-text: #ffaaa3;
    --fe-warning: #e5b95c;
    --fe-warning-bg: #302617;
    --fe-warning-border: #7c5e27;
    --fe-warning-text: #f0cf84;
    --fe-info: #7eafe4;
    --fe-info-bg: #172737;
    --fe-info-border: #355c86;
    --fe-info-text: #a9ccf0;

    --fe-color-muscle: #8195ff;
    --fe-color-joint: #4dc8b5;
    --fe-color-bone: #c7a17d;
    --fe-bone: #c7a17d;
    --fe-color-nerve: #e1b84b;
    --fe-color-vessel: #ef7373;
    --fe-color-test: #ad91ff;
    --fe-color-pathology: #e88b54;
    --fe-color-journal_watch: #7eafe4;
    --fe-color-anatomy_note: #7fc98f;
    --fe-color-uklad: #7eafe4;
    --fe-bg-muscle: color-mix(in srgb, var(--fe-color-muscle) 12%, var(--fe-surface));
    --fe-bg-joint: color-mix(in srgb, var(--fe-color-joint) 12%, var(--fe-surface));
    --fe-bg-bone: color-mix(in srgb, var(--fe-color-bone) 12%, var(--fe-surface));
    --fe-bg-nerve: color-mix(in srgb, var(--fe-color-nerve) 12%, var(--fe-surface));
    --fe-bg-vessel: color-mix(in srgb, var(--fe-color-vessel) 12%, var(--fe-surface));
    --fe-bg-test: color-mix(in srgb, var(--fe-color-test) 12%, var(--fe-surface));
    --fe-bg-pathology: color-mix(in srgb, var(--fe-color-pathology) 12%, var(--fe-surface));
    --fe-border-muscle: color-mix(in srgb, var(--fe-color-muscle) 30%, var(--fe-border));
    --fe-border-joint: color-mix(in srgb, var(--fe-color-joint) 30%, var(--fe-border));
    --fe-border-bone: color-mix(in srgb, var(--fe-color-bone) 30%, var(--fe-border));
    --fe-border-nerve: color-mix(in srgb, var(--fe-color-nerve) 30%, var(--fe-border));
    --fe-border-vessel: color-mix(in srgb, var(--fe-color-vessel) 30%, var(--fe-border));
    --fe-border-test: color-mix(in srgb, var(--fe-color-test) 30%, var(--fe-border));
    --fe-border-pathology: color-mix(in srgb, var(--fe-color-pathology) 30%, var(--fe-border));

    --fe-dock-hover: rgba(255, 255, 255, .08);
    --fe-dock-active: rgba(255, 255, 255, .14);
    --fe-dock-hover-text: #f8fafc;
    --fe-dock-badge-bg: rgba(227, 154, 103, .22);
    --fe-dock-badge-text: #f0b88e;
    --fe-archive-surface-hero: linear-gradient(180deg, var(--fe-surface-raised) 0%, var(--fe-page-bg) 100%);
    --fe-archive-accent-soft: var(--fe-brand-primary-soft);
    --fe-archive-accent-border: var(--fe-border-strong);
    --fe-page-background: #111310;
}

:root {
    --fe-border-muscle: #c7d2fe;
    --fe-border-joint: #99f6e4;
    --fe-border-bone: var(--fe-bone-border);
    --fe-border-nerve: #fde68a;
    --fe-border-vessel: #fecaca;
    --fe-border-test: #ddd6fe;
    --fe-border-pathology: #fed7aa;
    --fe-dock-hover: rgba(15, 23, 42, .06);
    --fe-dock-active: rgba(15, 23, 42, .10);
    --fe-dock-hover-text: #0f172a;
    --fe-dock-badge-bg: rgba(217, 103, 34, .14);
    --fe-dock-badge-text: var(--fe-brand-primary-strong);
}

html[data-fe-theme="dark"] body,
html[data-fe-theme="dark"] body.post-type-archive,
html[data-fe-theme="dark"] body.fe-archiwum-page,
html[data-fe-theme="dark"] body.single,
html[data-fe-theme="dark"] body.fe-lv2-reader-page,
html[data-fe-theme="dark"] body:has(.fe-learning-page),
html[data-fe-theme="dark"] body.page-template-page-contact,
html[data-fe-theme="dark"] body.fe-contact-page-v2,
html[data-fe-theme="dark"] body.page-template-page-about,
html[data-fe-theme="dark"] body.fe-about-page {
    --fe-page-background: #111310;
}

html[data-fe-theme="dark"],
html[data-fe-theme="dark"] body,
html[data-fe-theme="dark"] #page,
html[data-fe-theme="dark"] .site,
html[data-fe-theme="dark"] .site-content,
html[data-fe-theme="dark"] #content {
    background-color: var(--fe-page-bg);
    color: var(--fe-text);
}

html[data-fe-theme="dark"] .site-header .main-header-bar-wrap,
html[data-fe-theme="dark"] .site-header .ast-primary-header-bar,
html[data-fe-theme="dark"] .site-header .main-header-bar {
    background-color: var(--fe-surface) !important;
    color: var(--fe-text);
}

html[data-fe-theme="dark"] .site-header .main-header-bar-wrap,
html[data-fe-theme="dark"] .site-header .ast-primary-header-bar,
html[data-fe-theme="dark"] .site-header .main-header-bar {
    background-color: var(--fe-surface) !important;
    border-bottom: 1px solid var(--fe-border) !important;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.4) !important;
    color: var(--fe-text);
}

html[data-fe-theme="dark"] .site-header :is(
    .main-header-menu .menu-link,
    .ast-builder-menu .menu-link,
    .ast-builder-menu a,
    .ast-header-break-point .main-header-menu a
) {
    color: var(--fe-text-strong) !important;
}

html[data-fe-theme="dark"] .site-header :is(
    .main-header-menu > .menu-item > .menu-link,
    .ast-builder-menu > .menu-item > .menu-link
) {
    background: transparent !important;
    color: var(--fe-text-strong) !important;
}

html[data-fe-theme="dark"] .site-header :is(
    .main-header-menu > .menu-item > .menu-link:hover,
    .ast-builder-menu > .menu-item > .menu-link:hover,
    .main-header-menu > .menu-item > .menu-link:focus-visible,
    .ast-builder-menu > .menu-item > .menu-link:focus-visible
) {
    background: var(--fe-brand-primary-soft) !important;
    color: var(--fe-brand-primary-strong) !important;
}

html[data-fe-theme="dark"] .site-header :is(
    .main-header-menu > :is(.current-menu-item, .current_page_item, .current-menu-ancestor, .current_page_ancestor, .current-menu-parent, .current_page_parent) > .menu-link,
    .ast-builder-menu > :is(.current-menu-item, .current_page_item, .current-menu-ancestor, .current_page_ancestor, .current-menu-parent, .current_page_parent) > .menu-link
) {
    background: var(--fe-brand-primary-soft) !important;
    color: var(--fe-brand-primary-strong) !important;
}

html[data-fe-theme="dark"] body:not(.home) .site-header .main-header-menu > .menu-item:first-child:not(:hover) > .menu-link,
html[data-fe-theme="dark"] body:not(.home) .site-header .ast-builder-menu-1 .main-header-menu > .menu-item:first-child:not(:hover) > .menu-link,
html[data-fe-theme="dark"] body:not(.home) .site-header .menu-item.fe-menu-item-start:not(:hover) > .menu-link {
    background: transparent !important;
    color: var(--fe-text-strong) !important;
}

html[data-fe-theme="dark"] body.fe-real-front-page .site-header .main-header-menu > .menu-item:not(.fe-menu-item-start).current-menu-ancestor > .menu-link,
html[data-fe-theme="dark"] body.fe-real-front-page .site-header .ast-builder-menu-1 .main-header-menu > .menu-item:not(.fe-menu-item-start).current-menu-ancestor > .menu-link {
    background: transparent !important;
    color: var(--fe-text-strong) !important;
}

html[data-fe-theme="dark"] .site-header .sub-menu {
    background-color: var(--fe-surface-raised) !important;
    border: 1px solid var(--fe-border-strong) !important;
    border-radius: var(--fe-radius-md, 16px) !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.45) !important;
    color: var(--fe-text) !important;
}

html[data-fe-theme="dark"] .site-header .sub-menu .menu-link {
    background: transparent !important;
    color: var(--fe-text) !important;
}

html[data-fe-theme="dark"] .site-header .sub-menu .menu-link:hover,
html[data-fe-theme="dark"] .site-header .sub-menu .menu-link:focus-visible {
    background: var(--fe-surface-hover) !important;
    color: var(--fe-brand-primary-strong) !important;
}

html[data-fe-theme="dark"] .site-header .sub-menu :is(.current-menu-item, .current_page_item, [aria-current="page"]) > .menu-link {
    background: var(--fe-surface-hover) !important;
    color: var(--fe-brand-primary-strong) !important;
    font-weight: 700 !important;
}

html[data-fe-theme="dark"] .site-header :is(.fe-menu-search-trigger > a, .ast-search-menu-icon) {
    background: var(--fe-surface) !important;
    border: 1px solid var(--fe-border) !important;
    color: var(--fe-text-strong) !important;
}

html[data-fe-theme="dark"] .site-header :is(.fe-menu-search-trigger > a:hover, .fe-menu-search-trigger > a:focus-visible, .ast-search-menu-icon:hover, .ast-search-menu-icon:focus-visible) {
    background: var(--fe-surface-hover) !important;
    border-color: var(--fe-brand-primary) !important;
    color: var(--fe-brand-primary-strong) !important;
}

html[data-fe-theme="dark"] .site-header :is(.ast-mobile-menu-trigger-minimal, .main-header-menu-toggle) {
    color: var(--fe-text-strong) !important;
}

html[data-fe-theme="dark"] .fe-breadcrumbs__link:hover {
    color: var(--fe-brand-primary-strong) !important;
}

.fe-theme-logo {
    background: center / contain no-repeat url('../images/fizjoevidence-logo-light.svg');
    background: center / contain no-repeat url('../images/fizjoevidence-logo-light.webp');
    display: block;
    flex: 0 0 auto;
    height: 72px;
    max-height: 72px;
    max-width: 42vw;
    width: 100px;
}

html[data-fe-theme="dark"] .fe-theme-logo {
    background-image: url('../images/fizjoevidence-logo-dark.svg');
    background-image: url('../images/fizjoevidence-logo-dark.webp');
}

.site-header .fe-menu-search-trigger :is(a, button) {
    align-items: center;
    border: 1px solid var(--fe-border, #e2e8f0);
    border-radius: var(--fe-radius-pill, 999px);
    color: var(--fe-text-strong, #1a1c1a);
    display: inline-flex;
    height: 38px;
    justify-content: center;
    text-decoration: none;
    width: auto;
    padding: 0 14px;
    gap: 8px;
    white-space: nowrap;
}

.site-header .fe-menu-search-trigger :is(a, button):hover,
.site-header .fe-menu-search-trigger :is(a, button):focus-visible {
    background: var(--fe-surface-hover, #f8eee8);
    border-color: var(--fe-brand-primary, #9d4300);
    color: var(--fe-brand-primary, #9d4300);
}

.site-header .fe-menu-search-trigger :is(a, button) svg {
    height: 18px;
    width: 18px;
}

@media (max-width: 1200px) {
    .fe-drawer-brand .fe-theme-logo {
        height: 56px;
        max-width: 170px;
        width: 84px;
    }
}

@media (max-width: 1200px) {
    html[data-fe-theme="dark"] .fe-drawer-panel {
        color: var(--fe-text);
    }

    html[data-fe-theme="dark"] .fe-drawer-panel :is(
        .fe-drawer-brand-name,
        .fe-drawer-search-btn,
        .fe-drawer-appearance__option,
        .fe-drawer-menu > li > a,
        .fe-drawer-menu > li > .fe-drawer-menu-row > a,
        .fe-drawer-submenu__link
    ) {
        color: var(--fe-text-strong) !important;
    }

    html[data-fe-theme="dark"] .fe-drawer-panel :is(
        .fe-drawer-appearance__label,
        .fe-drawer-section-label
    ) {
        color: var(--fe-text) !important;
    }

    html[data-fe-theme="dark"] .fe-drawer-panel :is(
        .fe-drawer-search-arrow,
        .fe-drawer-submenu-toggle,
        .fe-drawer-arrow,
        .fe-drawer-icon,
        .fe-drawer-submenu__icon
    ) {
        color: var(--fe-brand-primary-strong) !important;
    }

    html[data-fe-theme="dark"] .fe-drawer-panel :is(
        .fe-drawer-close,
        .fe-drawer-search-btn,
        .fe-drawer-appearance__option,
        .fe-drawer-submenu-toggle
    ) {
        background: var(--fe-surface) !important;
        border-color: var(--fe-border) !important;
    }

    html[data-fe-theme="dark"] .fe-drawer-panel :is(
        .fe-drawer-close:hover,
        .fe-drawer-search-btn:hover,
        .fe-drawer-submenu-toggle:hover,
        .fe-drawer-submenu__link:hover,
        .fe-drawer-submenu .current-menu-item > .fe-drawer-submenu__link,
        .fe-drawer-submenu__link[aria-current="page"]
    ) {
        background: var(--fe-surface-hover) !important;
        color: var(--fe-text-strong) !important;
    }

    html[data-fe-theme="dark"] .fe-drawer-panel .fe-drawer-submenu {
        background: var(--fe-surface-sunken);
        border-color: var(--fe-border);
    }

    html[data-fe-theme="dark"] .fe-drawer-panel .fe-drawer-submenu li + li,
    html[data-fe-theme="dark"] .fe-drawer-panel .fe-drawer-support {
        border-color: var(--fe-border-soft);
    }
}

:is(.fe-legal-footer-bar, .site-footer, .site-above-footer-wrap, .site-primary-footer-wrap, .site-below-footer-wrap, .ast-footer-overlay, #colophon) {
    border: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

html[data-fe-theme="dark"] :is(.site-footer, .site-above-footer-wrap, .site-primary-footer-wrap, .site-below-footer-wrap, .ast-footer-overlay) {
    background-color: var(--fe-surface-sunken) !important;
    color: var(--fe-text);
}

html[data-fe-theme="dark"] :is(.site-footer, .site-above-footer-wrap, .site-primary-footer-wrap, .site-below-footer-wrap, .ast-footer-overlay) :is(a, p, span, li, h2, h3, h4) {
    color: inherit;
}

html[data-fe-theme="dark"] :is(.site-footer, .site-above-footer-wrap, .site-primary-footer-wrap, .site-below-footer-wrap, .ast-footer-overlay) :is(.ast-footer-copyright, .copyright, .site-info, .site-info a) {
    color: var(--fe-brand-muted) !important;
}

html[data-fe-theme="dark"] .fev3-page-wrap {
    --fev3-bg: var(--fe-page-bg);
    --fev3-surface-cream: var(--fe-surface);
    --fev3-surface-variant: var(--fe-surface-sunken);
    --fev3-on-surface: var(--fe-text-strong);
    --fev3-on-surface-variant: var(--fe-text);
    --fev3-outline: var(--fe-text-muted);
    --fev3-primary: var(--fe-brand-primary);
    --fev3-primary-fixed: var(--fe-brand-primary-soft);
    --fev3-primary-fixed-dim: var(--fe-brand-primary-soft);
    --fev3-primary-fixed-variant: var(--fe-brand-primary-strong);
}

html[data-fe-theme="dark"] .fev3-page-wrap :is(h1, h2, h3, h4, p, li, strong),
html[style*="color-scheme: dark"] .fev3-page-wrap :is(h1, h2, h3, h4, p, li, strong) {
    color: var(--fe-text) !important;
    -webkit-text-fill-color: var(--fe-text) !important;
}

html[data-fe-theme="dark"] .fev3-page-wrap h1,
html[data-fe-theme="dark"] .fev3-page-wrap h2,
html[data-fe-theme="dark"] .fev3-page-wrap h3,
html[data-fe-theme="dark"] .fev3-page-wrap h4,
html[data-fe-theme="dark"] .fev3-page-header h1,
html[data-fe-theme="dark"] .fev3-content-block h2,
html[style*="color-scheme: dark"] .fev3-page-wrap h1,
html[style*="color-scheme: dark"] .fev3-page-wrap h2,
html[style*="color-scheme: dark"] .fev3-page-wrap h3,
html[style*="color-scheme: dark"] .fev3-page-wrap h4,
html[style*="color-scheme: dark"] .fev3-page-header h1,
html[style*="color-scheme: dark"] .fev3-content-block h2 {
    color: var(--fe-text-strong, #f2efe9) !important;
    -webkit-text-fill-color: var(--fe-text-strong, #f2efe9) !important;
}

html[data-fe-theme="dark"] .fev3-content-block h2,
html[style*="color-scheme: dark"] .fev3-content-block h2 {
    border-bottom-color: var(--fe-border, #3d473f) !important;
}

html[data-fe-theme="dark"] .fev3-page-header p,
html[data-fe-theme="dark"] .fev3-content-block :is(p, ol, ul, li),
html[style*="color-scheme: dark"] .fev3-page-header p,
html[style*="color-scheme: dark"] .fev3-content-block :is(p, ol, ul, li) {
    color: var(--fe-text, #c8bdb4) !important;
    -webkit-text-fill-color: var(--fe-text, #c8bdb4) !important;
}

html[data-fe-theme="dark"] .fev3-content-block strong,
html[data-fe-theme="dark"] .fev3-page-wrap strong,
html[style*="color-scheme: dark"] .fev3-content-block strong,
html[style*="color-scheme: dark"] .fev3-page-wrap strong {
    color: var(--fe-text-strong, #f2efe9) !important;
    -webkit-text-fill-color: var(--fe-text-strong, #f2efe9) !important;
}

html[data-fe-theme="dark"] .fev3-page-wrap :is(a, .fev3-btn-text),
html[style*="color-scheme: dark"] .fev3-page-wrap :is(a, .fev3-btn-text) {
    color: var(--fe-brand-primary) !important;
}

html[data-fe-theme="dark"] .fev3-page-wrap .fev3-badge,
html[style*="color-scheme: dark"] .fev3-page-wrap .fev3-badge {
    background: var(--fe-surface-raised) !important;
    border: 1px solid var(--fe-border) !important;
    color: var(--fe-brand-primary-strong) !important;
}

@media print {
    #masthead,
    .site-header,
    .ast-desktop-header,
    .ast-mobile-header,
    .ast-mobile-header-wrap,
    #ast-mobile-header,
    .main-header-bar-wrap,
    .main-header-bar,
    .ast-primary-header-bar,
    .site-branding,
    .custom-logo-link,
    .fe-theme-logo,
    .site-logo-img,
    .site-footer,
    #colophon,
    .ast-footer-overlay,
    #ast-scroll-top,
    .fe-search-modal,
    #fe-search-trigger,
    #fe-mobile-fab,
    .fe-bug-trigger,
    .fe-drawer-panel,
    .fe-drawer-backdrop,
    .fe-mobile-nav-drawer,
    .fe-legal-footer-bar,
    .ast-above-header-wrap,
    .ast-below-header-wrap {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        position: absolute !important;
        top: -99999px !important;
        left: -99999px !important;
    }
    html, body, #page, #content, .site-content, .ast-container, main, article {
        background: #ffffff !important;
        background-color: #ffffff !important;
        background-image: none !important;
        color: #000000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
        filter: none !important;
    }
    html[data-fe-theme="dark"] {
        color-scheme: light;
        --fe-page-bg: #fff;
        --fe-section-bg: #fff;
        --fe-surface: #fff;
        --fe-surface-raised: #fff;
        --fe-surface-sunken: #fff;
        --fe-text-strong: #1a1c1a;
        --fe-text: #111827;
        --fe-text-muted: #4b5563;
        --fe-border: #e5e7eb;
    }
}


/* Journal Watch: hero zachowuje kontrast także po przełączeniu motywu. */
html[data-fe-theme="dark"] body.single-journal_watch .fe-hero {
    background: linear-gradient(135deg, #1d251f 0%, #151a17 100%) !important;
    border-color: var(--fe-border, #3d473f) !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.24);
}

html[data-fe-theme="dark"] body.single-journal_watch .fe-hero :is(
    .fe-hero__title,
    .fe-hero__latin
) {
    color: var(--fe-text-strong, #f2efe9) !important;
}

html[data-fe-theme="dark"] body.single-journal_watch .fe-jw-question {
    background: rgba(15, 118, 110, 0.2) !important;
    border-left-color: #14b8a6 !important;
    color: #f2efe9 !important;
}

html[data-fe-theme="dark"] body.single-journal_watch .fe-jw-verdict--positive {
    background: rgba(34, 197, 94, 0.12) !important;
    border-color: rgba(34, 197, 94, 0.3) !important;
    color: #86efac !important;
}

html[data-fe-theme="dark"] body.single-journal_watch .fe-jw-verdict--moderate {
    background: rgba(245, 158, 11, 0.12) !important;
    border-color: rgba(245, 158, 11, 0.3) !important;
    color: #fde68a !important;
}

html[data-fe-theme="dark"] body.single-journal_watch .fe-jw-verdict--neutral {
    background: rgba(59, 130, 246, 0.12) !important;
    border-color: rgba(59, 130, 246, 0.3) !important;
    color: #93c5fd !important;
}

html[data-fe-theme="dark"] body.single-journal_watch .fe-jw-editorial {
    color: #e2e8f0 !important;
}

html[data-fe-theme="dark"] body.single-journal_watch .fe-jw-implication {
    background: linear-gradient(135deg, rgba(15, 118, 110, 0.22), rgba(15, 118, 110, 0.08)) !important;
    border-color: rgba(20, 184, 166, 0.35) !important;
    color: #f2efe9 !important;
}

html[data-fe-theme="dark"] body.single-journal_watch .fe-jw-citation {
    background: #1c221d !important;
    border-left-color: #14b8a6 !important;
    color: #94a3b8 !important;
}

html[data-fe-theme="dark"] body.single-journal_watch .fe-jw-chip-list a {
    background: #1c221d !important;
    border-color: #313d33 !important;
    color: #f2efe9 !important;
}

html[data-fe-theme="dark"] body.single-journal_watch .fe-jw-chip-list a:hover {
    border-color: #14b8a6 !important;
    color: #14b8a6 !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   Desktop header: stable logo, navigation and right action cluster, vertically centered logo, left-aligned tabs, right action cluster
   ───────────────────────────────────────────────────────────────────────────── */
@media (min-width: 1201px) {
    #masthead :is(.ast-primary-header-bar, .main-header-bar, .main-header-bar-wrap),
    #ast-desktop-header :is(.ast-primary-header-bar, .main-header-bar, .main-header-bar-wrap),
    .site-header :is(.ast-primary-header-bar, .main-header-bar, .main-header-bar-wrap) {
        height: 80px !important;
        min-height: 80px !important;
        max-height: 80px !important;
        padding-block: 0 !important;
    }
    #masthead :is(.site-primary-header-wrap, .ast-builder-grid-row-container),
    #ast-desktop-header :is(.site-primary-header-wrap, .ast-builder-grid-row-container),
    .site-header :is(.site-primary-header-wrap, .ast-builder-grid-row-container) {
        height: 80px !important;
        min-height: 80px !important;
        max-height: 80px !important;
        width: 100% !important;
        max-width: 1320px !important;
        margin-inline: auto !important;
        padding-inline: 24px !important;
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center !important;
    }
    #masthead :is(.ast-builder-grid-row, .ast-builder-grid-row-has-sides, .ast-builder-grid-row-no-center),
    #ast-desktop-header :is(.ast-builder-grid-row, .ast-builder-grid-row-has-sides, .ast-builder-grid-row-no-center),
    .site-header :is(.ast-builder-grid-row, .ast-builder-grid-row-has-sides, .ast-builder-grid-row-no-center) {
        height: 80px !important;
        min-height: 80px !important;
        max-height: 80px !important;
        display: flex !important;
        grid-template-columns: none !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    #masthead .site-header-primary-section-left,
    #ast-desktop-header .site-header-primary-section-left,
    .site-header .site-header-primary-section-left {
        display: flex !important;
        align-items: center !important;
        height: 80px !important;
        flex: 0 0 auto !important;
        width: auto !important;
        margin-right: 20px !important;
        grid-column: auto !important;
        overflow: visible !important;
    }
    #masthead :is(.site-branding, .site-logo-img),
    #ast-desktop-header :is(.site-branding, .site-logo-img),
    .site-header :is(.site-branding, .site-logo-img) {
        display: flex !important;
        align-items: center !important;
        height: 100% !important;
        overflow: visible !important;
    }
    #masthead :is(.custom-logo-link.fe-theme-logo, .custom-logo-link img, .custom-logo),
    #ast-desktop-header :is(.custom-logo-link.fe-theme-logo, .custom-logo-link img, .custom-logo),
    .site-header :is(.custom-logo-link.fe-theme-logo, .custom-logo-link img, .custom-logo) {
        height: 72px !important;
        width: 100px !important;
        max-height: 72px !important;
        max-width: 100px !important;
        object-fit: contain !important;
        background-size: contain !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
        display: block !important;
        flex-shrink: 0 !important;
        margin: 0 !important;
    }
    #masthead .site-header-primary-section-right,
    #ast-desktop-header .site-header-primary-section-right,
    .site-header .site-header-primary-section-right {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: auto !important;
        height: 80px !important;
        grid-column: auto !important;
    }
    #masthead :is(.ast-builder-menu-1, .ast-main-header-bar-alignment, .main-header-bar-navigation, .site-navigation, .main-navigation),
    #ast-desktop-header :is(.ast-builder-menu-1, .ast-main-header-bar-alignment, .main-header-bar-navigation, .site-navigation, .main-navigation),
    .site-header :is(.ast-builder-menu-1, .ast-main-header-bar-alignment, .main-header-bar-navigation, .site-navigation, .main-navigation) {
        width: auto !important;
        min-width: 0 !important;
        flex: 1 1 auto !important;
        height: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }
    #masthead .main-header-menu,
    #ast-desktop-header .main-header-menu,
    .site-header .main-header-menu {
        width: 100% !important;
        height: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 4px !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        flex-wrap: nowrap !important;
    }
    #masthead .main-header-menu > .menu-item,
    #ast-desktop-header .main-header-menu > .menu-item,
    .site-header .main-header-menu > .menu-item {
        display: inline-flex !important;
        align-items: center !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: 0 !important;
        margin: 0 !important;
        flex-shrink: 0 !important;
        position: relative !important;
    }
    #masthead .main-header-menu > .menu-item:not(.fe-menu-search-trigger):not(.fe-menu-theme-toggle):not(.fe-menu-account) > .menu-link,
    #ast-desktop-header .main-header-menu > .menu-item:not(.fe-menu-search-trigger):not(.fe-menu-theme-toggle):not(.fe-menu-account) > .menu-link,
    .site-header .main-header-menu > .menu-item:not(.fe-menu-search-trigger):not(.fe-menu-theme-toggle):not(.fe-menu-account) > .menu-link {
        font-size: 0.88rem !important;
        font-weight: 600 !important;
        color: var(--fe-text-strong, #1a1c1a) !important;
        padding: 8px 13px !important;
        border-radius: var(--fe-radius-pill, 999px) !important;
        transition: background 0.18s ease, color 0.18s ease !important;
        white-space: nowrap !important;
        line-height: 1.4 !important;
    }
    #masthead .main-header-menu > .menu-item:not(.fe-menu-search-trigger):not(.fe-menu-theme-toggle):not(.fe-menu-account) > .menu-link:hover,
    #ast-desktop-header .main-header-menu > .menu-item:not(.fe-menu-search-trigger):not(.fe-menu-theme-toggle):not(.fe-menu-account) > .menu-link:hover,
    .site-header .main-header-menu > .menu-item:not(.fe-menu-search-trigger):not(.fe-menu-theme-toggle):not(.fe-menu-account) > .menu-link:hover {
        background: var(--fe-surface-hover, #f8eee8) !important;
        color: var(--fe-brand-primary, #0053a6) !important;
    }
    #masthead .main-header-menu > .current-menu-item > .menu-link,
    #ast-desktop-header .main-header-menu > .current-menu-item > .menu-link,
    .site-header .main-header-menu > .current-menu-item > .menu-link {
        color: var(--fe-brand-primary, #0053a6) !important;
        background: rgba(0, 83, 166, 0.08) !important;
    }

    /* Push the actions cluster (Search, Theme, Account) to the far right */
    #masthead .main-header-menu > .fe-menu-search-trigger,
    #ast-desktop-header .main-header-menu > .fe-menu-search-trigger,
    .site-header .main-header-menu > .fe-menu-search-trigger {
        margin-left: auto !important;
    }

    /* Search trigger: pill with Ctrl K */
    #masthead .fe-menu-search-trigger :is(a, button),
    #ast-desktop-header .fe-menu-search-trigger :is(a, button),
    .site-header .fe-menu-search-trigger :is(a, button) {
        all: unset !important;
        box-sizing: border-box !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        height: 38px !important;
        width: auto !important;
        padding: 0 14px !important;
        border-radius: var(--fe-radius-pill, 999px) !important;
        border: 1px solid var(--fe-border, rgba(224, 192, 177, 0.58)) !important;
        background: var(--fe-surface-sunken, #efeeeb) !important;
        color: var(--fe-text-strong, #1a1c1a) !important;
        font-size: 0.84rem !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        cursor: pointer !important;
        transition: border-color 0.18s ease, color 0.18s ease, background 0.18s ease !important;
        white-space: nowrap !important;
    }
    #masthead .fe-menu-search-trigger :is(a, button):hover,
    #ast-desktop-header .fe-menu-search-trigger :is(a, button):hover,
    .site-header .fe-menu-search-trigger :is(a, button):hover {
        border-color: var(--fe-brand-primary, #0053a6) !important;
        color: var(--fe-brand-primary, #0053a6) !important;
        background: var(--fe-surface-hover, #f8eee8) !important;
    }
    #masthead .fe-menu-search-trigger svg,
    #ast-desktop-header .fe-menu-search-trigger svg,
    .site-header .fe-menu-search-trigger svg {
        width: 17px !important;
        height: 17px !important;
        flex-shrink: 0 !important;
        display: block !important;
    }
    #masthead .fe-menu-search-trigger .fe-search-label,
    #ast-desktop-header .fe-menu-search-trigger .fe-search-label,
    .site-header .fe-menu-search-trigger .fe-search-label {
        display: inline !important;
        font-weight: 600 !important;
        white-space: nowrap !important;
    }
    #masthead .fe-menu-search-trigger kbd.fe-search-kbd,
    #ast-desktop-header .fe-menu-search-trigger kbd.fe-search-kbd,
    .site-header .fe-menu-search-trigger kbd.fe-search-kbd {
        display: inline-block !important;
        font-family: var(--fe-font-sans) !important;
        font-size: 0.72rem !important;
        font-weight: 600 !important;
        background: var(--fe-surface, #fffdf9) !important;
        border: 1px solid var(--fe-border, rgba(224, 192, 177, 0.58)) !important;
        border-radius: 6px !important;
        padding: 2px 6px !important;
        color: var(--fe-text-strong, #1a1c1a) !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }

    /* Theme Toggle Button */
    #masthead .fe-menu-theme-toggle .fe-theme-toggle-btn,
    #ast-desktop-header .fe-menu-theme-toggle .fe-theme-toggle-btn,
    .site-header .fe-menu-theme-toggle .fe-theme-toggle-btn {
        all: unset !important;
        box-sizing: border-box !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;
        border-radius: var(--fe-radius-pill, 999px) !important;
        border: 1px solid var(--fe-border, rgba(224, 192, 177, 0.58)) !important;
        background: var(--fe-surface, #fffdf9) !important;
        color: var(--fe-text-strong, #1a1c1a) !important;
        cursor: pointer !important;
        padding: 0 !important;
        margin: 0 !important;
        transition: background 0.18s ease, border-color 0.18s ease !important;
    }
    #masthead .fe-menu-theme-toggle .fe-theme-toggle-btn:hover,
    #ast-desktop-header .fe-menu-theme-toggle .fe-theme-toggle-btn:hover,
    .site-header .fe-menu-theme-toggle .fe-theme-toggle-btn:hover {
        background: var(--fe-surface-hover, #f8eee8) !important;
        border-color: var(--fe-brand-primary, #0053a6) !important;
    }
    #masthead .fe-menu-theme-toggle .fe-theme-toggle-btn svg,
    #ast-desktop-header .fe-menu-theme-toggle .fe-theme-toggle-btn svg,
    .site-header .fe-menu-theme-toggle .fe-theme-toggle-btn svg {
        width: 18px !important;
        height: 18px !important;
        flex-shrink: 0 !important;
    }

    /* Account button */
    #masthead .fe-menu-account > .fe-account-link,
    #ast-desktop-header .fe-menu-account > .fe-account-link,
    .site-header .fe-menu-account > .fe-account-link {
        all: unset !important;
        box-sizing: border-box !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        height: 38px !important;
        min-height: 38px !important;
        padding: 0 16px !important;
        border-radius: 12px !important;
        background: #783200 !important;
        color: #ffffff !important;
        font-size: 0.88rem !important;
        font-weight: 700 !important;
        text-decoration: none !important;
        box-shadow: 0 4px 14px rgba(120, 50, 0, 0.18) !important;
        transition: transform 0.15s ease, box-shadow 0.2s ease, background 0.2s ease !important;
        white-space: nowrap !important;
        cursor: pointer !important;
    }
    #masthead .fe-menu-account > .fe-account-link:hover,
    #ast-desktop-header .fe-menu-account > .fe-account-link:hover,
    .site-header .fe-menu-account > .fe-account-link:hover {
        background: #8a3c05 !important;
        box-shadow: 0 8px 20px rgba(120, 50, 0, 0.25) !important;
        transform: translateY(-1px) !important;
        color: #ffffff !important;
    }
    #masthead .fe-menu-account > .fe-account-link svg,
    #ast-desktop-header .fe-menu-account > .fe-account-link svg,
    .site-header .fe-menu-account > .fe-account-link svg {
        color: #ffffff !important;
        width: 16px !important;
        height: 16px !important;
    }

    /* Dark Mode Variants */
    html[data-fe-theme="dark"] :is(#masthead, #ast-desktop-header, .site-header) .main-header-menu > .menu-item:not(.fe-menu-search-trigger):not(.fe-menu-theme-toggle):not(.fe-menu-account) > .menu-link {
        color: var(--fe-text-strong, #f2efe9) !important;
    }
    html[data-fe-theme="dark"] :is(#masthead, #ast-desktop-header, .site-header) .main-header-menu > .menu-item:not(.fe-menu-search-trigger):not(.fe-menu-theme-toggle):not(.fe-menu-account) > .menu-link:hover {
        background: var(--fe-surface-hover, #22231f) !important;
        color: var(--fe-brand-primary, #e39a67) !important;
    }
    html[data-fe-theme="dark"] :is(#masthead, #ast-desktop-header, .site-header) .main-header-menu > .current-menu-item > .menu-link {
        color: var(--fe-brand-primary, #e39a67) !important;
        background: rgba(227, 154, 103, 0.12) !important;
    }
    html[data-fe-theme="dark"] :is(#masthead, #ast-desktop-header, .site-header) .fe-menu-search-trigger :is(a, button) {
        background: var(--fe-surface-sunken, #141613) !important;
        border-color: var(--fe-border, rgba(190, 145, 120, 0.3)) !important;
        color: var(--fe-text-strong, #f2efe9) !important;
    }
    html[data-fe-theme="dark"] :is(#masthead, #ast-desktop-header, .site-header) .fe-menu-search-trigger kbd.fe-search-kbd {
        background: var(--fe-surface, #1a1c18) !important;
        border-color: var(--fe-border, rgba(190, 145, 120, 0.3)) !important;
        color: var(--fe-text-strong, #f2efe9) !important;
    }
    html[data-fe-theme="dark"] :is(#masthead, #ast-desktop-header, .site-header) .fe-menu-theme-toggle .fe-theme-toggle-btn {
        background: var(--fe-surface, #1a1c18) !important;
        border-color: var(--fe-border, rgba(190, 145, 120, 0.3)) !important;
        color: var(--fe-text-strong, #f2efe9) !important;
    }
    html[data-fe-theme="dark"] :is(#masthead, #ast-desktop-header, .site-header) .fe-menu-account > .fe-account-link {
        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4) !important;
    }
}

/* Moon / Sun toggle icons visibility */
.fe-icon-moon,
.fe-icon-sun {
    display: none !important;
}
html[data-fe-theme="dark"] .fe-icon-moon {
    display: none !important;
}
html[data-fe-theme="dark"] .fe-icon-sun {
    display: block !important;
    color: #f2efe9 !important;
}
html:not([data-fe-theme="dark"]) .fe-icon-moon,
html[data-fe-theme="light"] .fe-icon-moon {
    display: block !important;
    color: #1a1c1a !important;
}
html:not([data-fe-theme="dark"]) .fe-icon-sun,
html[data-fe-theme="light"] .fe-icon-sun {
    display: none !important;
}

@media (min-width: 1201px) and (max-width: 1360px) {
    #masthead .fe-menu-search-trigger :is(.fe-search-label, kbd.fe-search-kbd),
    #ast-desktop-header .fe-menu-search-trigger :is(.fe-search-label, kbd.fe-search-kbd) {
        display: none !important;
    }
    #masthead .fe-menu-search-trigger :is(a, button),
    #ast-desktop-header .fe-menu-search-trigger :is(a, button) {
        padding: 0 10px !important;
        width: 38px !important;
        height: 38px !important;
        justify-content: center !important;
    }
}

@media (max-width: 1200px) {
    #masthead .ast-builder-grid-row,
    #ast-mobile-header .ast-builder-grid-row,
    .site-header .ast-builder-grid-row {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        width: 100% !important;
        flex: 1 1 auto !important;
        flex-wrap: nowrap !important;
        min-width: 0 !important;
    }

    #masthead .site-header-primary-section-left,
    #ast-mobile-header .site-header-primary-section-left,
    .site-header .site-header-primary-section-left {
        display: flex !important;
        align-items: center !important;
        height: 100% !important;
        min-height: 68px !important;
        flex: 0 0 auto !important;
        width: auto !important;
        overflow: visible !important;
    }

    #masthead :is(.site-branding, .site-logo-img),
    #ast-mobile-header :is(.site-branding, .site-logo-img),
    .site-header :is(.site-branding, .site-logo-img) {
        display: flex !important;
        align-items: center !important;
        height: 100% !important;
        overflow: visible !important;
    }

    #masthead :is(.custom-logo-link.fe-theme-logo, .custom-logo-link img, .custom-logo),
    #ast-mobile-header :is(.custom-logo-link.fe-theme-logo, .custom-logo-link img, .custom-logo),
    .site-header :is(.custom-logo-link.fe-theme-logo, .custom-logo-link img, .custom-logo),
    .site-header .custom-logo-link.fe-theme-logo,
    .site-header .custom-logo-link img,
    .site-header .custom-logo {
        max-height: 60px !important;
        max-width: 84px !important;
        height: 60px !important;
        width: 84px !important;
        background-size: contain !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
        display: block !important;
        flex-shrink: 0 !important;
        margin: 0 !important;
    }

    #masthead .site-header-primary-section-right,
    #ast-mobile-header .site-header-primary-section-right,
    .site-header .site-header-primary-section-right {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        margin-left: auto !important;
        height: 100% !important;
    }

    #masthead :is(.ast-button-wrap, .main-header-menu-toggle, .ast-mobile-menu-trigger-minimal),
    #ast-mobile-header :is(.ast-button-wrap, .main-header-menu-toggle, .ast-mobile-menu-trigger-minimal),
    .site-header :is(.ast-button-wrap, .main-header-menu-toggle, .ast-mobile-menu-trigger-minimal) {
        margin-left: auto !important;
    }

    .site-header .fe-mobile-header-account {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        gap: 6px;
        height: 38px;
        min-height: 38px;
        padding: 0 12px;
        border-radius: var(--fe-radius-pill, 999px);
        border: 1px solid var(--fe-border, rgba(224, 192, 177, 0.58));
        background: var(--fe-surface, #fffdf9);
        color: var(--fe-text-strong, #1a1c1a);
        font-size: 12.5px;
        font-weight: 700;
        text-decoration: none !important;
        box-shadow: var(--fe-shadow-xs, 0 1px 3px rgba(0, 0, 0, 0.05));
        margin-right: 8px;
        flex-shrink: 0;
        transition: background .15s ease, border-color .15s ease, color .15s ease;
    }

    .site-header .fe-mobile-header-account:hover,
    .site-header .fe-mobile-header-account:focus-visible {
        background: var(--fe-surface-hover, #f8eee8);
        border-color: var(--fe-brand-primary, #9d4300);
        color: var(--fe-brand-primary, #9d4300);
    }

    html[data-fe-theme="dark"] .site-header .fe-mobile-header-account {
        background: var(--fe-surface, #1a1c18) !important;
        border-color: var(--fe-border, rgba(190, 145, 120, 0.3)) !important;
        color: var(--fe-text-strong, #f2efe9) !important;
    }

    html[data-fe-theme="dark"] .site-header .fe-mobile-header-account:hover,
    html[data-fe-theme="dark"] .site-header .fe-mobile-header-account:focus-visible {
        background: var(--fe-surface-hover, #22231f) !important;
        border-color: var(--fe-brand-primary, #e39a67) !important;
        color: var(--fe-brand-primary, #e39a67) !important;
    }

    @media (max-width: 380px) {
        .site-header .fe-mobile-header-account {
            padding: 0 8px;
        }
        .site-header .fe-mobile-header-account__name {
            display: none;
        }
    }
}

/* --- STICKY FOOTER --- */
html, body {
    height: 100%;
}
.site, #page {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
.site-content, #content {
    flex: 1 0 auto;
}
.site-header, .site-footer {
    flex: 0 0 auto;
    width: 100%;
    align-self: stretch;
}

/* Mobile header keeps full-width gutters across lessons and atlas screens. */
@media (max-width: 1200px) {
	:is(#masthead, .site-header) {
		width: 100% !important;
		max-width: 100% !important;
		align-self: stretch !important;
		box-sizing: border-box !important;
	}

	:is(#masthead, .site-header) :is(.ast-mobile-header-wrap, #ast-mobile-header) {
		height: 68px !important;
		max-height: 68px !important;
		min-height: 68px !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	:is(#masthead, .site-header, #ast-mobile-header, .ast-mobile-header-wrap) :is(.ast-primary-header-bar, .main-header-bar, .main-header-bar-wrap) {
		height: 68px !important;
		max-height: 68px !important;
		min-height: 68px !important;
		padding-block: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

    :is(#masthead, .site-header, #ast-mobile-header, .ast-mobile-header-wrap) :is(.site-primary-header-wrap, .ast-builder-grid-row-container) {
        width: 100% !important;
        max-width: 100% !important;
        margin-inline: auto !important;
        padding-inline: 16px !important;
        padding-block: 0 !important;
        box-sizing: border-box !important;
    }

	:is(#masthead, .site-header, #ast-mobile-header, .ast-mobile-header-wrap) :is(.ast-builder-grid-row, .site-primary-header-wrap) {
		min-height: 68px !important;
		height: 68px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.site-header :is(.custom-logo-link.fe-theme-logo, .custom-logo-link img, .custom-logo) {
		max-height: 60px !important;
		max-width: 84px !important;
		height: 60px !important;
		width: 84px !important;
	}

}

@media (max-width: 921px) {
	.post-type-archive-clinical_test .fe-archive__card-top {
		align-items: center;
		gap: 6px;
	}

	.post-type-archive-clinical_test .fe-archive__card-top :is(.fe-archive__card-region, .fe-badge-type) {
		font-size: 8.5px;
		justify-content: center;
		letter-spacing: .035em;
		margin: 0;
		min-height: 30px;
		padding: 3px 8px;
		white-space: nowrap;
	}

	.post-type-archive-clinical_test .fe-archive__card-top .fe-archive__card-region {
		flex: 1 1 auto;
		min-width: 0;
	}

	.post-type-archive-clinical_test .fe-archive__card-top .fe-badge-type {
		flex: 0 0 108px;
	}

	.post-type-archive-clinical_test .fe-archive__card-top .fe-archive__card-icon {
		height: 30px;
		width: 30px;
	}
}

/* Homepage Hero Search Shortcut Hint */
.fev2-search-hint {
    align-items: center;
    color: var(--fe-text-muted, #64748b);
    display: flex;
    font-size: 0.82rem;
    gap: 6px;
    justify-content: center;
    margin-top: 10px;
    text-align: center;
}
.fev2-search-hint kbd {
    background: var(--fe-surface, #ffffff);
    border: 1px solid var(--fe-border, #cbd5e1);
    border-radius: 6px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    color: var(--fe-text-strong, #1a1c1a);
    display: inline-block;
    font-family: var(--fe-font-sans);
    font-size: 0.74rem;
    font-weight: 700;
    line-height: 1.2;
    padding: 2px 7px;
}
html[data-fe-theme="dark"] .fev2-search-hint {
    color: var(--fe-text-muted, #94a3b8);
}
html[data-fe-theme="dark"] .fev2-search-hint kbd {
    background: var(--fe-surface-sunken, #141613);
    border-color: var(--fe-border, rgba(190, 145, 120, 0.3));
    color: var(--fe-text-strong, #f2efe9);
}
@media (max-width: 640px) {
    .fev2-search-hint {
        display: none !important;
    }
}

/* Account names never displace navigation or the mobile menu button. */
#masthead .fe-account-link__name,
#masthead .fe-mobile-header-account__name {
    max-width: 120px;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#masthead .fe-mobile-header-account__name {
    max-width: 96px;
}
#masthead .site-header-primary-section-right,
#masthead .site-branding,
#masthead .site-logo-img {
    flex-shrink: 0;
}
