/* ==========================================================================
   Overload Casino — stilmall
   Ordning: tokens -> mobilskala -> reset -> tillgänglighet -> komponenter
   ========================================================================== */

/* --- Typsnitt, självhostade (inga externa anrop) ------------------------- */
@font-face {
    font-family: 'Roboto Head';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/typecase/roboto-latin-700-normal.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2122, U+2191, U+2193, U+2212, U+2215;
}
@font-face {
    font-family: 'Roboto Head';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/typecase/roboto-latin-ext-700-normal.woff2') format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB;
}
@font-face {
    font-family: 'Inter Read';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/typecase/inter-latin-400-normal.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2122, U+2191, U+2193, U+2212, U+2215;
}
@font-face {
    font-family: 'Inter Read';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/typecase/inter-latin-ext-400-normal.woff2') format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB;
}
@font-face {
    font-family: 'Inter Read';
    font-style: normal;
    font-weight: 500 700;
    font-display: swap;
    src: url('/typecase/inter-latin-600-normal.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2122, U+2191, U+2193, U+2212, U+2215;
}

/* --- Tokens: färger, skalor, rörelse ------------------------------------ */
:root {
    /* färger, redan förskjutna av byggskriptet */
    --pq-primary: #202224;
    --pq-pop: #f68443;
    --pq-accent-strong: #f76414;
    --pq-field: #111213;
    --pq-card: #1b1d1f;
    --pq-front: #ffffff;
    --pq-muted: #bebebe;
    --pq-divider: #2f3336;
    --pq-stroke-heavy: #454a4e;
    --pq-blend-a: #fcd4b6;
    --pq-fade-bottom: #fa9e6e;
    --pq-caution: #ba181b;
    --pq-deep: #0c0d0e;
    --pq-ember: #2b1a11;

    /* rumsskala SPACE-01 */
    --pq-hair: 4px;
    --pq-tiny: 8px;
    --pq-snug: 12px;
    --pq-base: 16px;
    --pq-wide: 24px;
    --pq-roomy: 40px;
    --pq-vast: 64px;
    --pq-huge: 96px;
    --pq-sec-y: 44px;

    /* geometri GEO-08: mjuk topp, skarp botten */
    --r-hair: 2px 2px 0 0;
    --r-tiny: 4px 4px 0 0;
    --r-snug: 6px 6px 0 0;
    --r-base: 12px 12px 0 0;
    --r-wide: 20px 20px 0 0;
    --r-roomy: 26px 26px 0 0;
    --r-vast: 32px 32px 0 0;
    --r-huge: 40px 40px 0 0;
    --pq-capsule: 9999px 9999px 0 0;
    --pq-round-full: 50%;
    --pq-slim: 1px;
    --pq-even: 2px;
    --pq-thick: 3px;

    /* typografi TYPO-06 */
    --pq-head: 'Roboto Head', 'Helvetica Neue', Arial, sans-serif;
    --pq-text: 'Inter Read', 'Helvetica Neue', Arial, sans-serif;
    --pq-title: 36px;
    --z-head: 26px;
    --pq-lg-2: 20px;
    --pq-md-2: 17px;
    --pq-minor: 14px;
    --pq-micro-head: 12px;
    --pq-reading: 14px;
    --pq-sm: 12px;
    --pq-mini: 11px;
    --pq-compact: 1.15;
    --l-base: 1.45;
    --l-roomy: 1.6;
    --pq-book: 400;
    --pq-medium: 500;
    --pq-black: 700;
    --pq-close: -0.01em;
    --e-base: 0;
    --pq-loose: 0.06em;

    /* skuggor */
    --d-hair: 0 -1px 0 rgba(0, 0, 0, 0.08) inset;
    --d-tiny: 0 1px 2px rgba(0, 0, 0, 0.16);
    --d-snug: 0 2px 4px rgba(0, 0, 0, 0.22);
    --d-base: 0 4px 12px rgba(0, 0, 0, 0.28);
    --d-wide: 0 10px 28px rgba(0, 0, 0, 0.34);
    --d-roomy: 0 14px 34px rgba(0, 0, 0, 0.38);
    --d-vast: 0 18px 44px rgba(0, 0, 0, 0.42);
    --d-huge: 0 24px 60px rgba(0, 0, 0, 0.48);

    /* rörelse — siffror och kurvor från spec, inga runda tal */
    --pq-short: 79ms;
    --pq-steady: 170ms;
    --pq-long: 267ms;
    --pq-settle: cubic-bezier(0.33, 0.72, 0.33, 0.95);
    --pq-start: cubic-bezier(0.45, 0.1, 0.25, 0.93);
    --pq-both: cubic-bezier(0.45, 0.1, 0.25, 0.93);
    --pq-bounce: cubic-bezier(0.21, 1.6, 0.66, 1);

    /* behållare CONT-04 */
    --pq-page: 1280px;
    --pq-column: 1280px;
    --pq-brief: 440px;
    --pq-pad-lg: 56px;
    --pq-edge-mid: 24px;
    --pq-pad-sm: 16px;
    --pq-gutter: var(--pq-pad-sm);
    --pq-size-desktop: 40px;
    --pq-height-mobile: 40px;
}

/* --- Mobilskala: TYPO-06 mobiluppsättning ------------------------------- */
@media (max-width: 579px) {
    :root {
        --pq-title: 26px;
        --z-head: 22px;
        --pq-lg-2: 18px;
        --pq-md-2: 16px;
        --pq-minor: 13px;
        --pq-micro-head: 11px;
        --pq-reading: 14px;
        --pq-sm: 12px;
        --pq-mini: 10px;
        --pq-sec-y: 32px;
    }
}
@media (min-width: 580px) {
    :root {
        --pq-gutter: var(--pq-edge-mid);
    }
}
@media (min-width: 1160px) {
    :root {
        --pq-gutter: var(--pq-pad-lg);
    }
}

/* --- Reset och bas ------------------------------------------------------ */
*,
*::before,
*::after {
    box-sizing: border-box;
}
html,
body {
    overflow-x: clip;
}
html {
    -webkit-text-size-adjust: 100%;
}
body {
    background: var(--pq-field);
    color: var(--pq-front);
    font-family: var(--pq-text);
    font-size: var(--pq-reading);
    font-weight: var(--pq-book);
    line-height: var(--l-base);
    margin: 0;
    padding: 0;
}
img {
    max-width: 100%;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    overflow-wrap: anywhere;
    margin: 0;
}
p {
    margin: 0;
}
ul,
ol {
    margin: 0;
    padding: 0;
}
li {
    list-style: none;
}
a {
    color: var(--pq-pop);
    text-decoration: none;
}
button {
    font: inherit;
}
:focus-visible {
    outline: var(--pq-even) solid var(--pq-pop);
    outline-offset: 2px;
}
.shell {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
.shell-main {
    flex: 1 0 auto;
}

/* --- Tillgänglighet ----------------------------------------------------- */
.skip-link {
    background: var(--pq-pop);
    color: var(--pq-field);
    inset-inline-start: var(--pq-base);
    padding: var(--pq-snug) var(--pq-base);
    position: fixed;
    top: var(--pq-base);
    z-index: 400;
}
.skip-link:not(:focus) {
    top: -200px !important;
}
.sr-only {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

/* --- Gemensam sektionsbredd (samma på alla -inner) ---------------------- */
.crucifix-classique-inner,
.piazzetta-fin-inner,
.oriflamme-noble-inner,
.veilleur-raffine-inner,
.jube-robuste-inner,
.reliquaire-dense-inner,
.gueridon-fin-inner,
.peristyle-mince-inner,
.presbytere-large-inner,
.baptistere-profond-inner,
.piedestal-vif-inner,
.stalle-moderne-inner,
.hypostyle-large-inner,
.bosquet-classique-inner,
.stalle-vaste-inner,
.enceinte-fluide-inner,
.pic-band-inner,
.berceau-mince-utility-part,
.berceau-mince-file-part {
    display: block;
    margin-inline: auto;
    max-width: calc(var(--pq-page) + 2 * var(--pq-pad-lg));
    padding-inline: var(--pq-gutter);
    width: 100%;
}

/* --- Avslöjande vid scroll (reveal: slide) ------------------------------ */
[data-visible] {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity var(--pq-long) var(--pq-settle), transform var(--pq-long) var(--pq-settle);
}
[data-visible].is-shown {
    opacity: 1;
    transform: translateY(0);
}

/* ==========================================================================
   Header — HEAD-UTIL: tunn servicerad, huvudrad under
   ========================================================================== */
.berceau-mince {
    background: var(--pq-field);
    border-block-end: 0;
    color: var(--pq-front);
    position: sticky;
    top: 0;
    transition: padding-block var(--pq-steady) var(--pq-settle);
    z-index: 120;
}
.berceau-mince-utility {
    background: var(--pq-primary);
    color: var(--pq-muted);
    font-size: var(--pq-mini);
    letter-spacing: var(--pq-loose);
    min-height: 30px;
}
.berceau-mince-utility-part {
    align-items: center;
    display: flex;
    gap: var(--pq-snug);
    justify-content: space-between;
    min-height: 30px;
}
.berceau-mince-desk {
    background: var(--pq-primary);
    color: var(--pq-muted);
    text-transform: uppercase;
}
.berceau-mince-note {
    background: var(--pq-primary);
    color: var(--pq-muted);
}
.berceau-mince-file {
    background: var(--pq-field);
    min-height: 40px;
    position: relative;
}
.berceau-mince-file-part {
    align-items: center;
    display: flex;
    gap: var(--pq-base);
    min-height: 40px;
    padding-block: var(--pq-snug);
}
.berceau-mince.is-shrunk .berceau-mince-file-part {
    padding-block: var(--pq-hair);
}
.berceau-mince-emblem {
    align-items: center;
    background: var(--pq-card);
    border: var(--pq-slim) solid var(--pq-divider);
    border-radius: var(--r-snug);
    color: var(--pq-front);
    display: inline-flex;
    flex-shrink: 0;
    order: 2;
    padding: var(--pq-hair) var(--pq-snug);
}
.berceau-mince-emblem-media {
    display: block;
    height: 48px;
    transition: height var(--pq-steady) var(--pq-settle);
    width: auto;
}
.berceau-mince.is-shrunk .berceau-mince-emblem-media {
    height: 36px;
}
.berceau-mince-menu {
    flex: 0 1 auto;
    min-width: 0;
    order: 3;
}
.berceau-mince-run {
    align-items: center;
    display: flex;
    gap: var(--pq-wide);
    justify-content: flex-start;
}
.berceau-mince-item {
    display: flex;
}
.berceau-mince-item[hidden] {
    display: none;
}
.berceau-mince-item-extra {
    display: flex;
    position: relative;
}
.berceau-mince-item-extra[hidden] {
    display: none;
}
.berceau-mince-link {
    color: var(--pq-muted);
    font-size: 15px;
    font-variant: small-caps;
    font-weight: 500;
    padding-block: var(--pq-tiny);
    position: relative;
    white-space: nowrap;
}
.berceau-mince-link:hover {
    color: var(--pq-pop);
}
.berceau-mince-link::after {
    background: var(--pq-pop);
    block-size: var(--pq-even);
    content: '';
    inset-block-end: 0;
    inset-inline-start: 0;
    position: absolute;
    transition: inline-size var(--pq-steady) var(--pq-settle);
    inline-size: 0;
}
.berceau-mince-link:hover::after {
    inline-size: 100%;
}
.berceau-mince-link-on {
    color: var(--pq-front);
    font-weight: var(--pq-black);
}
.berceau-mince-more-opener {
    background: var(--pq-card);
    border: var(--pq-slim) solid var(--pq-divider);
    border-radius: var(--r-snug);
    color: var(--pq-front);
    cursor: pointer;
    font-size: 15px;
    font-weight: 500;
    padding: var(--pq-tiny) var(--pq-snug);
    white-space: nowrap;
}
.berceau-mince-more-opener:hover {
    background: var(--pq-primary);
    color: var(--pq-pop);
}
.berceau-mince-more-pane {
    background: var(--pq-card);
    border: var(--pq-slim) solid var(--pq-divider);
    border-radius: var(--r-snug);
    box-shadow: var(--d-wide);
    display: none;
    inset-block-start: calc(100% + var(--pq-tiny));
    inset-inline-end: 0;
    max-height: 60vh;
    min-width: 190px;
    overflow-y: auto;
    padding: var(--pq-tiny);
    position: absolute;
    z-index: 130;
}
.berceau-mince-more-pane.is-open {
    display: block;
}
.berceau-mince-more-pane .berceau-mince-item {
    display: block;
}
.berceau-mince-more-pane .berceau-mince-link {
    display: block;
    padding: var(--pq-tiny) var(--pq-snug);
}
.berceau-mince-more-pane .berceau-mince-link::after {
    content: none;
}
.berceau-mince-actions {
    align-items: center;
    display: flex;
    gap: var(--pq-base);
    margin-inline-start: auto;
    order: 4;
}
.berceau-mince-btn-quiet {
    align-items: center;
    background: var(--pq-card);
    border: var(--pq-slim) solid var(--pq-stroke-heavy);
    border-radius: var(--r-snug);
    color: var(--pq-front);
    display: inline-flex;
    flex-shrink: 0;
    font-size: var(--pq-sm);
    font-weight: var(--pq-medium);
    justify-content: center;
    min-height: 44px;
    padding-inline: var(--pq-base);
    white-space: nowrap;
}
.berceau-mince-btn-quiet:hover {
    background: var(--pq-primary);
    color: var(--pq-pop);
}
.berceau-mince-menu-lever {
    background: var(--pq-card);
    border: var(--pq-slim) solid var(--pq-divider);
    border-radius: var(--r-snug);
    color: var(--pq-front);
    cursor: pointer;
    display: none;
    flex-shrink: 0;
    font-size: var(--pq-sm);
    font-weight: var(--pq-medium);
    letter-spacing: var(--pq-loose);
    min-height: 44px;
    order: 1;
    padding-inline: var(--pq-snug);
    text-transform: uppercase;
    white-space: nowrap;
}
.berceau-mince-menu-lever:hover {
    background: var(--pq-primary);
    color: var(--pq-pop);
}
.berceau-mince-sheet {
    background: var(--pq-card);
    border-block-start: var(--pq-slim) solid var(--pq-divider);
    display: none;
    inset-block-start: 100%;
    inset-inline: 0;
    max-height: 72vh;
    overflow-y: auto;
    padding: var(--pq-base) var(--pq-gutter) var(--pq-wide);
    position: absolute;
    z-index: 125;
}
.berceau-mince-sheet.is-open {
    display: block;
}
.berceau-mince-sheet-run {
    display: flex;
    flex-direction: column;
}
.berceau-mince-sheet-item {
    display: block;
}
.berceau-mince-sheet-link {
    border-block-end: var(--pq-slim) solid var(--pq-divider);
    color: var(--pq-front);
    display: block;
    font-size: var(--pq-md-2);
    padding-block: var(--pq-snug);
}
.berceau-mince-sheet-link:hover {
    color: var(--pq-pop);
}

@media (max-width: 899px) {
    .berceau-mince-menu {
        display: none;
    }
    .berceau-mince-menu-lever {
        display: inline-flex;
    }
    .berceau-mince-btn-quiet {
        display: none;
    }
}
@media (max-width: 619px) {
    .berceau-mince-file-part {
        flex-wrap: wrap;
    }
    .berceau-mince-actions {
        flex-basis: 100%;
        margin-inline-start: 0;
        order: 4;
    }
    .berceau-mince-emblem-media {
        height: 34px;
    }
    .berceau-mince-desk {
        display: none;
    }
}

/* --- 18+-remsa RG-02: band direkt under headern ------------------------- */
.rg-banner {
    background: var(--pq-caution);
    color: var(--pq-front);
    display: block;
    font-size: var(--pq-mini);
    letter-spacing: var(--pq-loose);
    margin: 0;
    padding: var(--pq-tiny) var(--pq-gutter);
    text-align: center;
}
.rg-link {
    background: var(--pq-caution);
    color: var(--pq-front);
    text-decoration: underline;
    text-underline-offset: 2px;
}
.rg-link:hover {
    background: var(--pq-caution);
    color: var(--pq-blend-a);
}
@media (max-width: 619px) {
    .rg-say {
        display: none;
    }
}

/* ==========================================================================
   Hero — HERO-08: tidskriftsomslag
   ========================================================================== */
.crucifix-classique {
    background-color: var(--pq-deep);
    background-image: url('/store/lead.webp');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}
.crucifix-classique-overlay {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.85), rgba(0, 0, 0, 0.4));
    inset: 0;
    pointer-events: none;
    position: absolute;
}
.crucifix-classique-inner {
    align-items: center;
    display: flex;
    min-height: clamp(430px, calc(100vh - 150px), 720px);
    padding-block: var(--pq-sec-y);
    position: relative;
    z-index: 2;
}
.crucifix-classique-matter {
    display: block;
}
.crucifix-classique-issue {
    color: var(--pq-blend-a);
    display: block;
    font-size: var(--pq-mini);
    letter-spacing: var(--pq-loose);
    margin-block-end: var(--pq-snug);
    text-transform: uppercase;
}
.crucifix-classique-banner {
    color: var(--pq-front);
    font-family: var(--pq-head);
    font-size: clamp(30px, 5vw, 54px);
    font-weight: var(--pq-black);
    letter-spacing: var(--pq-close);
    line-height: var(--pq-compact);
    max-width: 900px;
}
.crucifix-classique-lead {
    color: var(--pq-blend-a);
    font-size: var(--pq-md-2);
    line-height: var(--l-base);
    margin-block-start: var(--pq-base);
    max-width: 600px;
}
.crucifix-classique-meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--pq-snug);
    margin-block-start: var(--pq-wide);
}
.crucifix-classique-meta-item {
    background: rgba(17, 18, 19, 0.92);
    border: var(--pq-slim) solid var(--pq-stroke-heavy);
    border-radius: var(--r-tiny);
    color: var(--pq-muted);
    font-size: var(--pq-sm);
    letter-spacing: var(--pq-loose);
    padding: var(--pq-hair) var(--pq-snug);
    text-transform: uppercase;
}
.crucifix-classique-issue,
.crucifix-classique-banner,
.crucifix-classique-lead,
.crucifix-classique-meta {
    animation: pq-enter var(--pq-long) var(--pq-settle) both;
}
.crucifix-classique-banner {
    animation-delay: var(--pq-short);
}
.crucifix-classique-lead {
    animation-delay: 158ms;
}
.crucifix-classique-meta {
    animation-delay: 237ms;
}
@keyframes pq-enter {
    from {
        opacity: 0;
        transform: translateY(26px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ==========================================================================
   Sidhuvud på undersidor — PHEAD-04: två kolumner
   ========================================================================== */
.piazzetta-fin {
    background: var(--pq-primary);
    color: var(--pq-front);
}
.piazzetta-fin-inner {
    display: grid;
    gap: var(--pq-roomy);
    grid-template-columns: minmax(0, 1fr);
    padding-block: var(--pq-sec-y);
}
.piazzetta-fin-lane {
    min-width: 0;
}
.piazzetta-fin-lane-side {
    align-self: end;
}
.piazzetta-fin-issue {
    color: var(--pq-pop);
    display: block;
    font-size: var(--pq-mini);
    letter-spacing: var(--pq-loose);
    margin-block-end: var(--pq-tiny);
    text-transform: uppercase;
}
.piazzetta-fin-banner {
    color: var(--pq-front);
    font-family: var(--pq-head);
    font-size: clamp(26px, 3.6vw, 40px);
    font-weight: var(--pq-black);
    letter-spacing: var(--pq-close);
    line-height: var(--pq-compact);
}
.piazzetta-fin-words {
    color: var(--pq-muted);
    font-size: var(--pq-md-2);
    line-height: var(--l-roomy);
}
@media (min-width: 860px) {
    .piazzetta-fin-inner {
        grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    }
}

/* ==========================================================================
   Brödsmulor — BREAD-03: chevron
   ========================================================================== */
.stalle-vaste {
    background: var(--pq-field);
}
.stalle-vaste-inner {
    padding-block: var(--pq-base);
}
.stalle-vaste-link {
    color: var(--pq-muted);
    font-size: var(--pq-sm);
}
.stalle-vaste-link:hover {
    color: var(--pq-pop);
}
.stalle-vaste-mark {
    color: var(--pq-fade-bottom);
    margin-inline: var(--pq-tiny);
}
.stalle-vaste-item {
    color: var(--pq-front);
    font-size: var(--pq-sm);
}

/* ==========================================================================
   Inline-CTA — INLINE-CTA-02: centrerad kort-uppmaning
   ========================================================================== */
.catafalque-brut {
    display: block;
    padding-block: var(--pq-roomy);
    padding-inline: var(--pq-gutter);
}
.catafalque-brut-plate {
    background: var(--pq-card);
    border: var(--pq-slim) solid var(--pq-stroke-heavy);
    border-radius: var(--r-base);
    color: var(--pq-front);
    margin-inline: auto;
    max-width: 600px;
    padding: var(--pq-wide);
    text-align: center;
}
.catafalque-brut-top {
    color: var(--pq-front);
    font-family: var(--pq-head);
    font-size: var(--pq-md-2);
    font-weight: var(--pq-black);
}
.catafalque-brut-words {
    color: var(--pq-muted);
    font-size: var(--pq-reading);
    margin-block: var(--pq-snug);
}

/* ==========================================================================
   Brödtext — PROSE-15: första stycket i fetstil, luftig densitet
   ========================================================================== */
.oriflamme-noble {
    background: var(--pq-field);
}
.oriflamme-noble-inner {
    padding-block: var(--pq-sec-y);
}
.oriflamme-noble-matter {
    display: block;
    margin-block-end: var(--pq-roomy);
}
.oriflamme-noble-matter:first-child .oriflamme-noble-banner {
    margin-block-start: 0;
}
.oriflamme-noble-banner {
    color: var(--pq-front);
    font-family: var(--pq-head);
    font-size: var(--z-head);
    font-weight: var(--pq-medium);
    letter-spacing: var(--pq-close);
    line-height: var(--pq-compact);
    margin-block-end: var(--pq-base);
    margin-block-start: var(--pq-wide);
    scroll-margin-block-start: 120px;
}
.oriflamme-noble-words {
    color: var(--pq-muted);
    font-size: var(--pq-reading);
    line-height: var(--l-roomy);
    margin-block-end: var(--pq-base);
}
.oriflamme-noble-words-open {
    color: var(--pq-front);
    font-weight: var(--pq-black);
}
.oriflamme-noble-link {
    color: var(--pq-pop);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color var(--pq-steady) var(--pq-settle), text-decoration-thickness var(--pq-steady) var(--pq-settle);
}
.oriflamme-noble-link:hover {
    color: var(--pq-blend-a);
    text-decoration-thickness: var(--pq-thick);
}
.oriflamme-noble-run {
    counter-reset: step;
    display: block;
    margin-block-end: var(--pq-base);
}
.oriflamme-noble-item {
    color: var(--pq-muted);
    font-size: var(--pq-reading);
    line-height: var(--l-roomy);
    padding-inline-start: var(--pq-wide);
    position: relative;
    margin-block-end: var(--pq-tiny);
}
.oriflamme-noble-item::before {
    color: var(--pq-pop);
    content: '\25B8';
    inset-inline-start: 0;
    position: absolute;
}
.oriflamme-noble-run-step .oriflamme-noble-item {
    counter-increment: step;
}
.oriflamme-noble-run-step .oriflamme-noble-item::before {
    content: counter(step) '.';
    font-weight: var(--pq-black);
}
.oriflamme-noble-invite {
    align-items: center;
    background: var(--pq-ember);
    border: var(--pq-slim) solid var(--pq-stroke-heavy);
    border-radius: var(--r-base);
    color: var(--pq-front);
    display: flex;
    flex-wrap: wrap;
    gap: var(--pq-base);
    justify-content: space-between;
    margin-block: var(--pq-wide);
    padding: var(--pq-wide);
}
.oriflamme-noble-invite-words {
    background: var(--pq-ember);
    color: var(--pq-front);
    font-size: var(--pq-md-2);
    font-weight: var(--pq-medium);
    max-width: var(--pq-brief);
}

/* ==========================================================================
   Bildband på undersidor
   ========================================================================== */
.pic-band {
    background: var(--pq-field);
}
.pic-band-inner {
    display: grid;
    gap: var(--pq-base);
    grid-template-columns: minmax(0, 1fr);
    padding-block: var(--pq-sec-y);
}
.pic-frame {
    background: var(--pq-card);
    border: var(--pq-slim) solid var(--pq-divider);
    border-radius: var(--r-base);
    margin: 0;
    overflow: hidden;
    padding: var(--pq-tiny);
}
.pic-shot {
    border-radius: var(--r-snug);
    display: block;
    height: auto;
    max-height: 340px;
    object-fit: cover;
    width: 100%;
}
.pic-frame-tall .pic-shot {
    max-height: 380px;
    object-fit: cover;
}
@media (min-width: 860px) {
    .pic-band-inner {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* ==========================================================================
   Kortsektion — GRID-05: bred toppruta + kompakt lista
   ========================================================================== */
.veilleur-raffine {
    background: var(--pq-field);
}
.veilleur-raffine-inner {
    padding-block: var(--pq-sec-y);
}
.veilleur-raffine-top {
    color: var(--pq-front);
    font-family: var(--pq-head);
    font-size: var(--z-head);
    font-weight: var(--pq-black);
    letter-spacing: var(--pq-close);
    line-height: var(--pq-compact);
    margin-block-end: var(--pq-wide);
}
.veilleur-raffine-star {
    align-items: center;
    background: var(--pq-primary);
    border-radius: var(--r-wide);
    color: var(--pq-front);
    display: grid;
    gap: var(--pq-wide);
    grid-template-columns: minmax(0, 1fr);
    margin-block-end: var(--pq-roomy);
    padding: var(--pq-roomy);
}
.veilleur-raffine-star-matter {
    min-width: 0;
}
.veilleur-raffine-star-banner {
    color: var(--pq-front);
    font-family: var(--pq-head);
    font-size: var(--z-head);
    font-weight: var(--pq-black);
    letter-spacing: var(--pq-close);
    line-height: var(--pq-compact);
    margin-block-end: var(--pq-snug);
}
.veilleur-raffine-star-words {
    color: var(--pq-blend-a);
    font-size: var(--pq-md-2);
    line-height: var(--l-base);
}
.veilleur-raffine-run {
    display: grid;
    gap: var(--pq-base);
    grid-template-columns: minmax(0, 1fr);
}
.veilleur-raffine-plate {
    background: var(--pq-card);
    border-block-start: var(--pq-even) solid var(--pq-pop);
    color: var(--pq-front);
    padding: var(--pq-base);
    transition: transform var(--pq-steady) var(--pq-settle);
}
.veilleur-raffine-plate:hover {
    transform: translateY(-5px);
}
.veilleur-raffine-glyph {
    align-items: center;
    background: var(--pq-ember);
    border: var(--pq-slim) solid var(--pq-stroke-heavy);
    border-radius: var(--pq-round-full);
    color: var(--pq-pop);
    display: inline-flex;
    height: 38px;
    justify-content: center;
    margin-block-end: var(--pq-snug);
    width: 38px;
}
.veilleur-raffine-glyph svg {
    fill: currentColor;
    height: 21px;
    width: 21px;
}
.veilleur-raffine-banner {
    color: var(--pq-front);
    font-family: var(--pq-text);
    font-size: var(--pq-reading);
    font-weight: var(--pq-black);
    margin-block-end: var(--pq-tiny);
}
.veilleur-raffine-words {
    color: var(--pq-muted);
    font-size: var(--pq-sm);
    line-height: var(--l-base);
}
.veilleur-raffine-invite {
    align-items: center;
    background: var(--pq-ember);
    border: var(--pq-slim) solid var(--pq-stroke-heavy);
    border-radius: var(--r-base);
    color: var(--pq-front);
    display: flex;
    flex-wrap: wrap;
    gap: var(--pq-base);
    grid-column: 1 / -1;
    justify-content: space-between;
    padding: var(--pq-wide);
}
.veilleur-raffine-invite-words {
    background: var(--pq-ember);
    color: var(--pq-front);
    font-size: var(--pq-md-2);
    font-weight: var(--pq-medium);
}
@media (min-width: 860px) {
    .veilleur-raffine-star {
        grid-template-columns: minmax(0, 1fr) auto;
    }
    .veilleur-raffine-run {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ==========================================================================
   Omdömen — REV-07: rutnät med färgkodade betyg
   ========================================================================== */
.jube-robuste {
    background: var(--pq-field);
    scroll-margin-block-start: 120px;
}
.jube-robuste-inner {
    padding-block: var(--pq-sec-y);
}
.jube-robuste-top {
    color: var(--pq-front);
    font-family: var(--pq-head);
    font-size: var(--z-head);
    font-weight: var(--pq-black);
    letter-spacing: var(--pq-close);
    line-height: var(--pq-compact);
    margin-block-end: var(--pq-wide);
    scroll-margin-block-start: 120px;
}
.jube-robuste-run {
    display: grid;
    gap: var(--pq-base);
    grid-template-columns: minmax(0, 1fr);
}
.jube-robuste-plate {
    border-radius: var(--r-base);
    color: var(--pq-front);
    padding: var(--pq-wide);
}
.jube-robuste-plate-hot {
    background: var(--pq-ember);
    color: var(--pq-front);
}
.jube-robuste-plate-mid {
    background: var(--pq-card);
    color: var(--pq-front);
}
.jube-robuste-plate-calm {
    background: var(--pq-primary);
    color: var(--pq-front);
}
.jube-robuste-score {
    align-items: baseline;
    display: flex;
    gap: var(--pq-tiny);
    margin-block-end: var(--pq-snug);
}
.jube-robuste-score-figure {
    color: var(--pq-pop);
    font-family: var(--pq-head);
    font-size: var(--z-head);
    font-weight: var(--pq-black);
    line-height: var(--pq-compact);
}
.jube-robuste-score-marks {
    color: var(--pq-fade-bottom);
    font-size: var(--pq-reading);
    letter-spacing: var(--pq-loose);
}
.jube-robuste-words {
    color: var(--pq-muted);
    font-size: var(--pq-reading);
    line-height: var(--l-base);
    margin: 0;
}
.jube-robuste-who {
    color: var(--pq-front);
    font-size: var(--pq-sm);
    font-weight: var(--pq-black);
    letter-spacing: var(--pq-loose);
    margin-block-start: var(--pq-snug);
    text-transform: uppercase;
}
.jube-robuste-invite {
    align-items: center;
    background: var(--pq-ember);
    border: var(--pq-slim) solid var(--pq-stroke-heavy);
    border-radius: var(--r-base);
    color: var(--pq-front);
    display: flex;
    flex-wrap: wrap;
    gap: var(--pq-base);
    grid-column: 1 / -1;
    justify-content: space-between;
    padding: var(--pq-wide);
}
.jube-robuste-invite-words {
    background: var(--pq-ember);
    color: var(--pq-front);
    font-size: var(--pq-md-2);
    font-weight: var(--pq-medium);
}
@media (min-width: 860px) {
    .jube-robuste-run {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ==========================================================================
   Vanliga frågor — FAQ-03: två kolumner, kortstil
   ========================================================================== */
.reliquaire-dense {
    background: var(--pq-field);
}
.reliquaire-dense-inner {
    padding-block: var(--pq-sec-y);
}
.reliquaire-dense-head {
    color: var(--pq-front);
    font-family: var(--pq-head);
    font-size: var(--z-head);
    font-weight: var(--pq-black);
    letter-spacing: var(--pq-close);
    line-height: var(--pq-compact);
    margin-block-end: var(--pq-wide);
}
.reliquaire-dense-run {
    align-items: stretch;
    display: grid;
    gap: var(--pq-base);
    grid-template-columns: minmax(0, 1fr);
}
.reliquaire-dense-item {
    background: var(--pq-card);
    border: var(--pq-slim) solid var(--pq-stroke-heavy);
    border-radius: var(--r-base);
    color: var(--pq-front);
    padding: var(--pq-wide);
}
.reliquaire-dense-top {
    align-items: baseline;
    cursor: pointer;
    display: grid;
    gap: var(--pq-snug);
    grid-template-columns: auto minmax(0, 1fr);
    list-style: none;
}
.reliquaire-dense-top::-webkit-details-marker {
    display: none;
}
.reliquaire-dense-tag {
    color: var(--pq-pop);
    font-family: var(--pq-head);
    font-size: var(--pq-lg-2);
    font-weight: var(--pq-black);
}
.reliquaire-dense-banner {
    color: var(--pq-front);
    font-family: var(--pq-text);
    font-size: var(--pq-minor);
    font-weight: var(--pq-black);
    line-height: var(--l-base);
}
.reliquaire-dense-matter {
    display: grid;
    grid-template-rows: 1fr;
    transition: grid-template-rows var(--pq-long) var(--pq-settle);
}
.reliquaire-dense-words {
    color: var(--pq-muted);
    font-size: var(--pq-reading);
    line-height: var(--l-base);
    margin-block-start: var(--pq-snug);
}
@media (min-width: 860px) {
    .reliquaire-dense-run {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ==========================================================================
   Tabelldata — TABLE-08: flytande kort utan <table>
   ========================================================================== */
.peristyle-mince {
    background: var(--pq-field);
}
.peristyle-mince-inner {
    padding-block: var(--pq-sec-y);
}
.peristyle-mince-top {
    color: var(--pq-front);
    font-family: var(--pq-head);
    font-size: var(--z-head);
    font-weight: var(--pq-black);
    letter-spacing: var(--pq-close);
    line-height: var(--pq-compact);
    margin-block-end: var(--pq-wide);
    scroll-margin-block-start: 120px;
}
.peristyle-mince-run {
    display: grid;
    gap: var(--pq-base);
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.peristyle-mince-plate {
    background: var(--pq-card);
    border-radius: var(--r-base);
    color: var(--pq-front);
    display: flex;
    flex-direction: column;
    gap: var(--pq-snug);
    padding: var(--pq-wide);
}
.peristyle-mince-line {
    display: flex;
    flex-direction: column;
    gap: var(--pq-hair);
}
.peristyle-mince-tag {
    color: var(--pq-muted);
    font-size: var(--pq-mini);
    letter-spacing: var(--pq-loose);
    text-transform: uppercase;
}
.peristyle-mince-fact {
    color: var(--pq-front);
    font-size: var(--pq-reading);
    font-weight: var(--pq-medium);
    line-height: var(--l-base);
}

/* ==========================================================================
   Uppmaning — CTA-09: överrubrik + H2 + kort text
   ========================================================================== */
.gueridon-fin {
    background: var(--pq-primary);
    scroll-margin-block-start: 120px;
}
.gueridon-fin-inner {
    padding-block: var(--pq-sec-y);
    scroll-margin-block-start: 120px;
    text-align: start;
}
.gueridon-fin-issue {
    color: var(--pq-pop);
    display: block;
    font-size: var(--pq-mini);
    letter-spacing: var(--pq-loose);
    margin-block-end: var(--pq-tiny);
    text-transform: uppercase;
}
.gueridon-fin-banner {
    color: var(--pq-front);
    font-family: var(--pq-head);
    font-size: var(--z-head);
    font-weight: var(--pq-black);
    letter-spacing: var(--pq-close);
    line-height: var(--pq-compact);
}
.gueridon-fin-words {
    color: var(--pq-muted);
    font-size: var(--pq-reading);
    line-height: var(--l-roomy);
    margin-block: var(--pq-base);
    max-width: var(--pq-brief);
}
.gueridon-fin-terms {
    color: var(--pq-muted);
    display: block;
    font-size: var(--pq-sm);
    letter-spacing: var(--pq-loose);
    margin-block-start: var(--pq-snug);
}

/* ==========================================================================
   Juridiska sidor — LEGAL-05: definitionslista
   ========================================================================== */
.presbytere-large {
    background: var(--pq-field);
}
.presbytere-large-inner {
    padding-block: var(--pq-sec-y);
}
.presbytere-large-run {
    display: block;
    margin: 0;
}
.presbytere-large-term {
    color: var(--pq-front);
    font-family: var(--pq-head);
    font-size: var(--pq-md-2);
    font-weight: var(--pq-black);
    margin-block-end: var(--pq-tiny);
    margin-block-start: var(--pq-wide);
    padding-block-start: var(--pq-snug);
    position: relative;
    scroll-margin-block-start: 120px;
}
.presbytere-large-term::before {
    background: var(--pq-pop);
    content: '';
    height: var(--pq-even);
    inset-block-start: 0;
    inset-inline-start: 0;
    position: absolute;
    width: 30px;
}
.presbytere-large-def {
    color: var(--pq-muted);
    margin-block-end: var(--pq-base);
    margin-inline-start: 0;
}
.presbytere-large-words {
    color: var(--pq-muted);
    font-size: var(--pq-reading);
    line-height: var(--l-roomy);
    margin-block-end: var(--pq-snug);
}
.presbytere-large-link {
    color: var(--pq-pop);
    text-decoration: underline;
}
.presbytere-large-aid {
    background: var(--pq-card);
    border: var(--pq-slim) solid var(--pq-divider);
    border-radius: var(--r-base);
    color: var(--pq-front);
    margin-block-start: var(--pq-wide);
    padding: var(--pq-wide);
}
.presbytere-large-top {
    color: var(--pq-front);
    display: block;
    font-family: var(--pq-head);
    font-size: var(--pq-md-2);
    font-weight: var(--pq-black);
    margin-block-end: var(--pq-snug);
}
.presbytere-large-aid-run {
    display: grid;
    gap: var(--pq-tiny);
}
.presbytere-large-item {
    color: var(--pq-muted);
    font-size: var(--pq-reading);
    line-height: var(--l-base);
    padding-inline-start: var(--pq-base);
    position: relative;
}
.presbytere-large-item::before {
    color: var(--pq-pop);
    content: '\25B8';
    inset-inline-start: 0;
    position: absolute;
}
.presbytere-large-note {
    background: var(--pq-primary);
    border-radius: var(--r-snug);
    color: var(--pq-muted);
    font-size: var(--pq-sm);
    line-height: var(--l-base);
    margin-block-start: var(--pq-base);
    padding: var(--pq-base);
}

/* ==========================================================================
   Kontaktformulär — FORM-06: flytande etiketter
   ========================================================================== */
.baptistere-profond {
    background: var(--pq-field);
}
.baptistere-profond-inner {
    padding-block: var(--pq-sec-y);
}
.baptistere-profond-top {
    color: var(--pq-front);
    font-family: var(--pq-head);
    font-size: var(--z-head);
    font-weight: var(--pq-black);
    letter-spacing: var(--pq-close);
    line-height: var(--pq-compact);
    margin-block-end: var(--pq-snug);
}
.baptistere-profond-brief {
    color: var(--pq-muted);
    font-size: var(--pq-reading);
    line-height: var(--l-roomy);
    margin-block-end: var(--pq-wide);
}
.baptistere-profond-shape {
    display: grid;
    gap: var(--pq-base);
    grid-template-columns: minmax(0, 1fr);
}
.baptistere-profond-line {
    min-width: 0;
    position: relative;
}
.baptistere-profond-entry {
    background: var(--pq-card);
    border: var(--pq-slim) solid var(--pq-stroke-heavy);
    border-radius: var(--r-snug);
    color: var(--pq-front);
    font-family: var(--pq-text);
    font-size: var(--pq-reading);
    padding: var(--pq-wide) var(--pq-base) var(--pq-tiny);
    width: 100%;
}
.baptistere-profond-entry-note {
    min-height: 130px;
    resize: vertical;
}
.baptistere-profond-tag {
    color: var(--pq-muted);
    font-size: var(--pq-reading);
    inset-block-start: 50%;
    inset-inline-start: var(--pq-base);
    pointer-events: none;
    position: absolute;
    transform: translateY(-50%);
    transition: inset-block-start var(--pq-steady) var(--pq-settle), font-size var(--pq-steady) var(--pq-settle);
}
.baptistere-profond-entry-note + .baptistere-profond-tag {
    inset-block-start: var(--pq-wide);
}
.baptistere-profond-entry:focus + .baptistere-profond-tag,
.baptistere-profond-entry:not(:placeholder-shown) + .baptistere-profond-tag {
    color: var(--pq-pop);
    font-size: var(--pq-mini);
    inset-block-start: var(--pq-tiny);
    transform: translateY(0);
}
.baptistere-profond-send {
    background: var(--pq-pop);
    border: 0;
    border-radius: var(--r-snug);
    color: var(--pq-field);
    cursor: pointer;
    font-size: var(--pq-reading);
    font-weight: var(--pq-black);
    justify-self: start;
    letter-spacing: var(--pq-loose);
    min-height: 48px;
    padding-inline: var(--pq-roomy);
    text-transform: uppercase;
    transition: transform var(--pq-short) var(--pq-settle);
}
.baptistere-profond-send:hover {
    background: var(--pq-accent-strong);
    color: var(--pq-field);
}
.baptistere-profond-send:active {
    transform: scale(0.97);
}
.baptistere-profond-done {
    background: var(--pq-ember);
    border-radius: var(--r-snug);
    color: var(--pq-front);
    font-size: var(--pq-reading);
    padding: var(--pq-base);
}
@media (min-width: 860px) {
    .baptistere-profond-shape {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .baptistere-profond-line-wide {
        grid-column: 1 / -1;
    }
}

/* ==========================================================================
   Byline — BYLINE-06: text vänster, porträtt höger
   ========================================================================== */
.stalle-moderne {
    background: var(--pq-field);
    display: block;
}
.stalle-moderne-inner {
    align-items: center;
    display: flex;
    gap: var(--pq-base);
    justify-content: center;
    padding-block: var(--pq-base);
}
.stalle-moderne-words {
    color: var(--pq-muted);
    flex: 0 1 auto;
    font-size: var(--pq-sm);
    font-style: italic;
}
.stalle-moderne-tag {
    color: var(--pq-muted);
    letter-spacing: var(--pq-loose);
    text-transform: uppercase;
}
.stalle-moderne-who {
    color: var(--pq-pop);
    text-decoration: underline;
    text-decoration-thickness: 1px;
}
.stalle-moderne-who:hover {
    color: var(--pq-blend-a);
    text-decoration-thickness: var(--pq-even);
}
.stalle-moderne-mark {
    color: var(--pq-muted);
    margin-inline: var(--pq-tiny);
}
.stalle-moderne-position {
    color: var(--pq-muted);
}
.stalle-moderne-portrait {
    border-radius: var(--pq-round-full);
    flex-shrink: 0;
    height: 40px;
    object-fit: cover;
    width: 40px;
}

/* ==========================================================================
   Författarkort — AUTH-05: kompakt inline
   ========================================================================== */
.piedestal-vif {
    background: var(--pq-field);
    display: block;
}
.piedestal-vif-inner {
    display: grid;
    gap: var(--pq-base);
    grid-template-columns: minmax(0, 1fr);
    padding-block: var(--pq-sec-y);
}
.piedestal-vif-plate {
    background: var(--pq-card);
    border-radius: var(--r-base);
    color: var(--pq-front);
    display: flex;
    gap: var(--pq-snug);
    max-width: 480px;
    padding: var(--pq-base);
}
.piedestal-vif-portrait {
    border-radius: var(--pq-round-full);
    flex-shrink: 0;
    height: 56px;
    object-fit: cover;
    width: 56px;
}
.piedestal-vif-matter {
    display: flex;
    flex-direction: column;
    gap: var(--pq-hair);
    min-width: 0;
}
.piedestal-vif-position {
    color: var(--pq-pop);
    font-size: var(--pq-mini);
    letter-spacing: var(--pq-loose);
    text-transform: uppercase;
}
.piedestal-vif-who {
    color: var(--pq-front);
    font-size: var(--pq-reading);
    font-weight: var(--pq-black);
}
.piedestal-vif-words {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: var(--pq-muted);
    display: -webkit-box;
    font-size: var(--pq-sm);
    line-height: var(--l-base);
    overflow: hidden;
}
.piedestal-vif-articles {
    background: var(--pq-card);
    border: var(--pq-slim) solid var(--pq-divider);
    border-radius: var(--r-base);
    color: var(--pq-front);
    max-width: 480px;
    padding: var(--pq-base);
}
.piedestal-vif-articles-top {
    color: var(--pq-front);
    display: block;
    font-family: var(--pq-head);
    font-size: var(--pq-minor);
    font-weight: var(--pq-black);
    letter-spacing: var(--pq-loose);
    margin-block-end: var(--pq-tiny);
    text-transform: uppercase;
}
.piedestal-vif-articles-run {
    display: grid;
    gap: var(--pq-hair);
}
.piedestal-vif-articles-item {
    display: block;
}
.piedestal-vif-articles-link {
    color: var(--pq-pop);
    font-size: var(--pq-sm);
    text-decoration: underline;
}
.piedestal-vif-articles-link:hover {
    color: var(--pq-blend-a);
}

/* ==========================================================================
   Kakor — COOK-11: i flödet ovanför sidfoten
   ========================================================================== */
.hypostyle-large {
    background: var(--pq-field);
    display: block;
    opacity: 1;
    visibility: visible;
}
.hypostyle-large.is-gone {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    padding: 0;
    visibility: hidden;
}
.hypostyle-large-inner {
    padding-block: var(--pq-base);
}
.hypostyle-large .hypostyle-large-inner {
    align-items: center;
    display: grid;
    gap: var(--pq-base);
    grid-template-columns: minmax(0, 1fr);
}
.hypostyle-large-words {
    background: var(--pq-card);
    border: var(--pq-slim) solid var(--pq-divider);
    border-radius: var(--r-base);
    color: var(--pq-muted);
    font-size: var(--pq-sm);
    line-height: var(--l-base);
    padding: var(--pq-base);
}
.hypostyle-large-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--pq-tiny);
}
.hypostyle-large-approve {
    background: var(--pq-pop);
    border: 0;
    border-radius: var(--r-snug);
    color: var(--pq-field);
    cursor: pointer;
    font-size: var(--pq-sm);
    font-weight: var(--pq-black);
    min-height: 44px;
    padding-inline: var(--pq-wide);
}
.hypostyle-large-approve:hover {
    background: var(--pq-accent-strong);
    color: var(--pq-field);
}
.hypostyle-large-refuse {
    background: var(--pq-card);
    border: var(--pq-slim) solid var(--pq-stroke-heavy);
    border-radius: var(--r-snug);
    color: var(--pq-front);
    cursor: pointer;
    font-size: var(--pq-sm);
    min-height: 44px;
    padding-inline: var(--pq-wide);
}
.hypostyle-large-refuse:hover {
    background: var(--pq-primary);
    color: var(--pq-pop);
}
@media (min-width: 860px) {
    .hypostyle-large .hypostyle-large-inner {
        grid-template-columns: minmax(0, 1fr) auto;
    }
}
@media (max-width: 720px) {
    .hypostyle-large-words {
        font-size: 13px;
        line-height: 1.35;
        padding: 12px 14px;
    }
    .hypostyle-large-approve,
    .hypostyle-large-refuse {
        font-size: var(--pq-sm);
        min-height: 40px;
        padding-inline: var(--pq-base);
    }
}

/* ==========================================================================
   404 — ERR-04: helbild med atmosfär
   ========================================================================== */
.bosquet-classique {
    background-color: var(--pq-deep);
    background-image: linear-gradient(180deg, rgba(12, 13, 14, 0.35), rgba(0, 0, 0, 0.88)), url('/store/lead.webp');
    background-position: center;
    background-size: cover;
    display: flex;
    flex: 1 0 auto;
}
.bosquet-classique-inner {
    align-items: center;
    display: flex;
    min-height: clamp(400px, calc(100vh - 220px), 640px);
    padding-block: var(--pq-sec-y);
}
.bosquet-classique-matter {
    width: 100%;
}
.bosquet-classique-banner {
    color: var(--pq-front);
    font-family: var(--pq-head);
    font-size: clamp(28px, 5vw, 52px);
    font-weight: var(--pq-black);
    letter-spacing: var(--pq-close);
    line-height: var(--pq-compact);
    max-width: var(--pq-brief);
}
.bosquet-classique-words {
    color: var(--pq-blend-a);
    font-size: var(--pq-md-2);
    line-height: var(--l-base);
    margin-block: var(--pq-base);
    max-width: 600px;
}
.bosquet-classique-goto {
    align-items: center;
    background: var(--pq-pop);
    border-radius: var(--r-snug);
    color: var(--pq-field);
    display: inline-flex;
    font-weight: var(--pq-black);
    letter-spacing: var(--pq-loose);
    min-height: 48px;
    padding-inline: var(--pq-roomy);
    text-transform: uppercase;
}
.bosquet-classique-goto:hover {
    background: var(--pq-accent-strong);
    color: var(--pq-field);
}

/* ==========================================================================
   Sidfot — FOOT-02: två rader, varumärke + navigation
   ========================================================================== */
.enceinte-fluide {
    background: var(--pq-field);
    border-block-start: var(--pq-slim) solid var(--pq-divider);
}
.enceinte-fluide-inner {
    padding-block: var(--pq-sec-y);
}
.enceinte-fluide-file {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--pq-base);
    justify-content: space-between;
}
.enceinte-fluide-file-base {
    border-block-start: var(--pq-slim) solid var(--pq-divider);
    margin-block-start: var(--pq-base);
    padding-block-start: var(--pq-base);
}
.enceinte-fluide-emblem {
    align-items: center;
    background: var(--pq-card);
    border: var(--pq-slim) solid var(--pq-divider);
    border-radius: var(--r-snug);
    color: var(--pq-front);
    display: inline-flex;
    padding: var(--pq-hair) var(--pq-snug);
}
.enceinte-fluide-emblem-media {
    display: block;
    height: 52px;
    width: auto;
}
.enceinte-fluide-menu {
    display: block;
}
.enceinte-fluide-legal-menu {
    display: block;
}
.enceinte-fluide-top {
    color: var(--pq-muted);
    display: block;
    font-size: var(--pq-mini);
    letter-spacing: var(--pq-loose);
    margin-block-end: var(--pq-tiny);
    text-transform: uppercase;
}
.enceinte-fluide-run {
    display: flex;
    flex-wrap: wrap;
    gap: var(--pq-base);
}
.enceinte-fluide-item {
    display: block;
}
.enceinte-fluide-link {
    color: var(--pq-muted);
    font-size: var(--pq-sm);
    position: relative;
}
.enceinte-fluide-link:hover {
    color: var(--pq-front);
}
.enceinte-fluide-link::after {
    background: var(--pq-pop);
    block-size: var(--pq-even);
    content: '';
    inset-block-end: -6px;
    inset-inline-start: 0;
    position: absolute;
    transition: inline-size var(--pq-steady) var(--pq-settle);
    inline-size: 0;
}
.enceinte-fluide-link:hover::after {
    inline-size: 100%;
}
.enceinte-fluide-words {
    color: var(--pq-muted);
    font-size: var(--pq-sm);
}
.enceinte-fluide-return {
    color: var(--pq-muted);
    font-size: var(--pq-sm);
    text-decoration: underline;
}
.enceinte-fluide-return:hover {
    color: var(--pq-pop);
}
@media (max-width: 719px) {
    .enceinte-fluide-file {
        flex-direction: column;
        text-align: center;
    }
    .enceinte-fluide-run {
        justify-content: center;
    }
}

/* ==========================================================================
   Erbjudandeknapp — bas-geometri (färg och rörelse läggs på i slutet)
   ========================================================================== */
.bordeau-act {
    align-items: center;
    border-radius: var(--r-snug);
    display: inline-flex;
    flex-shrink: 0;
    font-family: var(--pq-text);
    font-weight: var(--pq-black);
    justify-content: center;
    letter-spacing: var(--pq-loose);
    min-height: 50px;
    padding: 14px 30px;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
}
.berceau-mince-btn.bordeau-act {
    font-size: var(--pq-sm);
    min-height: 44px;
    padding: var(--pq-tiny) var(--pq-base);
}
@media (max-width: 1279px) {
    .berceau-mince-btn.bordeau-act {
        padding: var(--pq-tiny) var(--pq-snug);
    }
}
@media (max-width: 619px) {
    .berceau-mince-btn.bordeau-act {
        width: 100%;
    }
    .bordeau-act {
        white-space: normal;
    }
}

/* ==========================================================================
   Nedtonad rörelse
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation: none !important;
        transition: none !important;
    }
    [data-visible] {
        opacity: 1;
        transform: none;
    }
}

/* --- Modifierare som saknade egen regel -------------------------------- */
.enceinte-fluide-file-lead {
    align-items: center;
    row-gap: var(--pq-wide);
}
.gueridon-fin-btn {
    margin-block-start: var(--pq-tiny);
}
.catafalque-brut-btn {
    margin-inline: auto;
}
.veilleur-raffine-star-btn {
    justify-self: start;
}
@media (min-width: 860px) {
    .veilleur-raffine-star-btn {
        justify-self: end;
    }
}

/* ==========================================================================
   Erbjudandeknapp — färg och rörelse ur scripts/cta-style.mjs
   (klassnamn anpassat till bygget, siffror och teknik oförändrade)
   ========================================================================== */
.bordeau-act {
    background: #4F46E5;
    color: #FFFFFF;
    position: relative;
    text-decoration: none;
    transition: background var(--pq-steady) var(--pq-settle), color var(--pq-steady) var(--pq-settle), transform var(--pq-steady) var(--pq-settle);
}
.bordeau-act.bordeau-act {
    color: #FFFFFF;
    text-decoration: none;
}
.bordeau-act:hover {
    animation: none;
    background: #4338CA;
    color: #FFFFFF;
}
.bordeau-act.bordeau-act:hover {
    color: #FFFFFF;
    text-decoration: none;
}
.bordeau-act:hover::after {
    animation: none;
}
.bordeau-act:active {
    background: #3730A3;
    color: #FFFFFF;
}
.bordeau-act:focus-visible {
    outline: var(--pq-thick) solid var(--pq-blend-a);
    outline-offset: 3px;
}
.bordeau-act {
    animation: bordeau-pulse 1.45s var(--pq-both) infinite;
    overflow: hidden;
}
.bordeau-act::after {
    animation: bordeau-glint 1.45s var(--pq-both) infinite;
    background-image: linear-gradient(100deg, transparent 0%, rgba(255, 255, 255, 0.42) 50%, transparent 100%);
    background-position: 160% 0;
    background-repeat: no-repeat;
    background-size: 280% 100%;
    content: '';
    inset: 0;
    pointer-events: none;
    position: absolute;
    transform: none;
    width: 100%;
}
@keyframes bordeau-pulse {
    0% {
        animation-timing-function: var(--pq-settle);
        transform: scale(1);
    }
    19.310% {
        animation-timing-function: var(--pq-both);
        transform: scale(1.075);
    }
    58.621%,
    100% {
        transform: scale(1);
    }
}
@keyframes bordeau-glint {
    0%,
    5.517% {
        background-position: 160% 0;
    }
    48.276%,
    100% {
        background-position: -90% 0;
    }
}
@media (prefers-reduced-motion: reduce) {
    .bordeau-act,
    .bordeau-act::after {
        animation: none !important;
        transition: none !important;
    }
}

@media (max-width: 920px) {
  .berceau-mince-menu,
  .berceau-mince-run,
  .berceau-mince-link,
  .berceau-mince-btn-quiet { display: none !important; }
  .berceau-mince-menu-lever { display: flex !important; }
}
