/*
 Theme Name: North European Space Folklore
 Theme URI: https://ragnarcraft.com
 Description: Custom child theme for RagnarCraft ("North European Space Folklore" / Nordic High-Tech).
 Author: RagnarCraft
 Template: twentytwentytwo
 Text Domain: ragnarcraft-theme
*/

@charset "UTF-8";

/* ==========================================================================
   RAGNARCRAFT // 2026 CORE ARCHITECTURE
   ========================================================================== */
:root {
  --rc-onyx: #000000;
  --rc-panel: #0a0a0b;
  --rc-amber: #ffbf00;
  --rc-zinc: #71717a;
  --rc-white: #f4f4f5;
  /* Terminal / receipt typography; fallback for linters and edge cases */
  --rc-font-technical: "Cascadia Code", "Courier New", monospace;
}

/* 1. RESET & VOID */
body {
    background-color: var(--rc-onyx) !important;
    color: var(--rc-white) !important;
    font-family: var(--rc-font-technical) !important;
    margin: 0;
}

/* Neutralize parent theme: collapse all artificial voids (no flex centering, no rubber-band stretch) */
body,
.wp-site-blocks,
#page {
    min-height: auto !important;
    height: auto !important;
    display: block !important;
}
main,
.rc-shell,
main.rc-shell {
    flex-grow: 0 !important;
    flex: none !important;
    display: block !important;
    min-height: 0 !important;
}
.rc-shell > .woocommerce,
main.rc-shell > * {
    flex-grow: 0 !important;
    flex: none !important;
}

/* Final Weld: single product â€” kill ghost voids so layout matches shop (ACQUIRE ASSET â†’ footer tight) */
body.single-product #page,
body.single-product .wp-site-blocks {
    min-height: auto !important;
    height: auto !important;
    display: block !important;
}
body.single-product main.rc-shell,
body.single-product .rc-shell {
    display: block !important;
    min-height: 0 !important;
    flex: none !important;
    flex-grow: 0 !important;
}
body.single-product .rc-shell > .woocommerce,
body.single-product .rc-shell > * {
    flex-grow: 0 !important;
    flex: none !important;
}
body.single-product .wp-block-group,
body.archive.woocommerce .wp-block-group,
body.woocommerce-page .wp-block-group {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: 0 !important;
}

/* Prevent header collapse during AJAX refresh */
#rc-header-terminal-zone {
    min-height: 60px; /* Adjust to match your header height */
    transition: opacity 0.2s ease-in-out;
}
.adding-to-cart #rc-header-terminal-zone {
    opacity: 0.7; /* Visual cue that system is processing */
}

/* 2. THE SHELL (Global Wrapper) â€” content snaps to top; no gap below header. */
.rc-shell {
    margin-top: 0 !important;
    padding-top: 0 !important;
    background: var(--rc-onyx) !important;
    padding: 0 1rem 2rem 1rem;
}

.rc-shell__frame {
    border: 1px solid rgba(255, 191, 0, 0.3);
    padding: 2rem;
    max-width: 1200px;
    margin: 0 auto;
}

/* Bento block segment frame: each 7-item capsule is its own terminal window */
.rc-bento-block__frame {
    margin-bottom: 4rem;
    background: rgba(5, 5, 5, 0.6);
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 191, 0, 0.05);
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.rc-bento-block__frame:last-child {
    margin-bottom: 0;
}

/* --------------------------------------------------------------------------
   Mobile shop / product archive â€” screen efficiency (main.rc-shell--catalog only)
   Tighter gutters + capsule padding; keeps bento identity; single-product unchanged.
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {
    main.rc-shell--catalog {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
        padding-bottom: 1.35rem;
    }

    main.rc-shell--catalog .rc-shell__header--page {
        margin-bottom: 0.5rem;
    }

    /* scroll-margin on this frame: manifest URLs are /shop/#capsule-01 (id on this div, not .rc-bento-block) */
    main.rc-shell--catalog .rc-shell__frame.rc-bento-block__frame {
        padding: 0.65rem 0 1.1rem 0;
        margin-bottom: 1.2rem;
        scroll-margin-top: 100px;
        /* Outer â€œcapsuleâ€ off on phones â€” product cards keep borders; focus on grid + art */
        border: none !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    main.rc-shell--catalog .rc-shell__frame.rc-bento-block__frame:hover {
        border-color: transparent !important;
        box-shadow: none !important;
    }

    main.rc-shell--catalog .rc-bento-header {
        margin-bottom: 14px;
        gap: 6px;
        padding-bottom: 10px;
        border-bottom: 1px dashed rgba(255, 191, 0, 0.22);
        align-items: center;
    }

    main.rc-shell--catalog .rc-label {
        letter-spacing: 3px;
        padding-bottom: 0;
    }

    main.rc-shell--catalog .rc-bento-block__grid {
        padding-top: 0.2rem !important;
    }

    main.rc-shell--catalog .rc-bento-block__grid .products {
        gap: 1rem !important;
    }

    /* Product archive footers: spacing inside footer paint (no body-colored void above strip) */
    body.post-type-archive-product .rc-terminal-footer,
    body.tax-product_cat .rc-terminal-footer,
    body.tax-product_tag .rc-terminal-footer {
        margin-top: 0 !important;
        padding: 3rem 0.75rem 1.25rem !important;
    }
}

.rc-bento-block__frame:hover {
    border-color: rgba(255, 191, 0, 0.4);
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.6), 0 0 20px rgba(255, 191, 0, 0.08), inset 0 1px 0 rgba(255, 191, 0, 0.08);
}

/* Page-level header (outside segment frames, above all blocks) â€” tight transition to shop */
.rc-shell__header,
.rc-shell__header--page {
    max-width: 1200px;
    margin: 0 auto 1rem auto;
}

/* Section header that sits inside the frame, directly above the grid */
.rc-grid-header {
    font-family: var(--rc-font-technical);
    color: var(--rc-amber);
    font-size: 12px;
    letter-spacing: 3px;
    border-bottom: 1px dashed rgba(255, 191, 0, 0.3);
    margin-bottom: 2rem;
}

/* ==========================================================================
   3. THE TACTICAL BENTO GRID (1 HERO + 6 ARTIFACTS)
   Per-block: .rc-bento-block__grid .products
   ========================================================================== */
.rc-bento-block__grid .products {
    display: grid !important;
    /* 3-Column Grid for Desktop Balance */
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 2rem !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 auto !important;
    max-width: 1200px;
}

/* THE HERO (First Item in the Loop) */
.rc-bento-block__grid .products li.product:first-child {
    grid-column: span 2 !important;
    grid-row: span 2 !important;
}

/* THE SUB-ARTIFACTS (Remaining 6) */
.rc-bento-block__grid .products li.product:not(:first-child) {
    grid-column: span 1 !important;
}

/* --- MOBILE-FIRST OVERRIDE --- */
@media (max-width: 1024px) {
    .rc-bento-block__grid .products {
        grid-template-columns: 1fr !important; /* Single column for tactical scrolling */
        gap: 1.5rem !important;
    }

    .rc-bento-block__grid .products li.product:first-child {
        grid-column: span 1 !important;
        grid-row: span 1 !important;
    }
}

/* ==========================================================================
   4. THE PRODUCT CARD (THE ARCHIVE ARTIFACT + MAIN DECK SHIVER)
   ========================================================================== */
.rc-product-card {
    background-color: var(--rc-panel) !important;
    border: 1px solid rgba(255, 191, 0, 0.2) !important;
    padding: 1.5rem !important; 
    display: flex;
    flex-direction: column;
    position: relative;
    backdrop-filter: blur(5px);
    
    /* THE MAIN DECK TRANSITION */
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

/* THE "SHIVER" / POWER-UP STATE */
.rc-product-card:hover {
    border-color: var(--rc-amber) !important;
    box-shadow: 0 0 30px rgba(255, 191, 0, 0.15);
    transform: translateY(-5px); /* The tactical lift */
    z-index: 10;
}

/* 8K IMAGE POLISH */
.rc-product-card__media {
    border: 1px solid rgba(255, 191, 0, 0.1);
    background: #000;
    margin-bottom: 1.5rem;
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    transition: border-color 0.3s ease;
}

/* Mobile-only (phones): override base card padding/stack spacing.
   Placed here (after base rules) so it reliably wins in the cascade. */
@media (max-width: 768px) {
    body.woocommerce-page .rc-product-card {
        padding: 1.2rem !important;
    }

    body.woocommerce-page .rc-product-card__media {
        margin-bottom: 1.1rem !important;
    }

    /* Shop / category bento: tighter than default Woo mobile (must follow rules above). */
    main.rc-shell--catalog .rc-product-card {
        padding: 1rem !important;
    }

    main.rc-shell--catalog .rc-product-card__media {
        margin-bottom: 0.95rem !important;
    }

    /* Titles: full width above price; normal word breaks (avoid B|AG splits). */
    main.rc-shell--catalog .rc-product-card__meta-row {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.4rem;
        width: 100%;
    }

    main.rc-shell--catalog .rc-product-card__title {
        width: 100%;
        max-width: 100%;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        hyphens: none;
        line-height: 1.35;
    }

    main.rc-shell--catalog .rc-product-card__price {
        width: 100%;
    }
}

.rc-product-card__media img {
    width: 100%;
    height: auto;
    object-fit: cover;
    filter: brightness(0.8) contrast(1.1); /* "Dormant" state */
    transition: filter 0.4s ease, transform 0.6s ease;
}

/* IMAGE BRIGHTENS ON CARD HOVER */
.rc-product-card:hover .rc-product-card__media img {
    filter: brightness(1.1) contrast(1.2); /* "Active" state */
}

.rc-product-card:hover .rc-product-card__media {
    border-color: rgba(255, 191, 0, 0.5);
}

/* 5. TYPOGRAPHY & TELEMETRY */
.rc-product-card__title {
    font-size: 0.9rem !important;
    color: var(--rc-amber) !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0 0 0.5rem 0 !important;
}

.rc-product-card__price .amount {
    color: var(--rc-white) !important;
    font-weight: bold;
    font-size: 1.1rem;
}

.rc-product-card__specs {
    margin: 1rem 0;
    border-top: 1px dashed #222;
    padding-top: 1rem;
}

.rc-product-card__spec-line {
    font-size: 10px;
    color: var(--rc-zinc);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 4px;
}

/* Force hide old mobile bento cart strip only â€” do NOT target .rc-clear-cart in .rc-mobile-cart-control (header [ X ]). */
.rc-bento-cart-text-mobile {
    display: none !important;
}

/* Force Mobile Header Stack Alignment */
.rc-mobile-nav-stack {
    margin-top: 5px;
    font-family: monospace;
    letter-spacing: 1px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
}

/* Desktop Tactical HUD (bottom-right) */
@media (min-width: 1024px) {
  .rc-terminal-hud {
      position: fixed;
      bottom: 80px;
      right: 30px;
      z-index: 9999;
      font-family: monospace;
      text-align: right;
  }
}

.rc-hud-stack {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rc-hud-item {
    color: #ffbf00;
    text-decoration: none;
    font-size: 0.8em !important;
    letter-spacing: 1px !important;
    font-weight: bold !important;
    font-family: var(--rc-font-technical), 'Courier New', Courier, monospace !important;
    text-transform: uppercase !important;
    transition: text-shadow 0.2s;
}

.rc-hud-link:hover {
    text-shadow: 0 0 12px #ffbf00;
}

.rc-hud-reset {
    color: #444 !important; /* Standby grey */
}

.rc-hud-reset.active {
    color: #ffbf00 !important; /* Active amber */
}
/* Hero Title Scaling */
.rc-bento-block__grid .products li.product:first-child .rc-product-card__title {
    font-size: 1.4rem !important;
    margin-bottom: 1rem !important;
}

/* 6. CLEANUP (Hide standard Woo duplicates) */
.rc-product-card .price { display: none !important; } 
.rc-product-card__price .price { display: block !important; } 

/* 7. THE BUTTON */
.rc-product-card__actions a.button {
    background: transparent !important;
    color: var(--rc-amber) !important;
    border: 1px solid var(--rc-amber) !important;
    border-radius: 0 !important;
    font-size: 11px !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    padding: 12px !important;
    width: 100%;
    text-align: center;
    transition: all 0.3s ease;
}

.rc-product-card__actions a.button:hover {
    background: var(--rc-amber) !important;
    color: #000 !important;
}

/* Button Glow Sync */
.rc-product-card:hover .rc-product-card__actions a.button {
    box-shadow: 0 0 10px rgba(255, 191, 0, 0.3);
    border-color: var(--rc-amber) !important;
}

/* 8. GLOBAL TERMINAL HEADER */
/* Inactive [ X ] + login/disconnect: same visual language as CART [ 0 ] (dimmed amber chip). */

header.rc-global-terminal,
.rc-global-terminal {
    display: block !important;
    width: 100%;
    background: #000;
    border-bottom: 1px solid rgba(255, 176, 0, 0.2);
    margin-bottom: 50px;
    padding: 20px 0;
}

.rc-terminal-inner {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 80px;
}

/* Desktop only: narrower inner so absolute .rc-system-status / .telemetry sit inside a cozy inset (Safari vs 100% + max-width). Mobile block below unchanged. */
@media (min-width: 769px) {
    .rc-terminal-inner {
        width: 92%;
    }
}

.rc-global-terminal img {
    height: 80px !important;
    width: auto !important;
    display: block;
    filter: drop-shadow(0 0 5px rgba(255, 191, 0, 0.6))
            drop-shadow(0 0 15px rgba(255, 191, 0, 0.3));
}

.rc-global-terminal .rc-system-status {
    position: absolute;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.welcome-text {
    font-family: var(--rc-font-technical), monospace;
    font-size: 12px;
    color: var(--rc-amber);
    text-transform: uppercase;
    letter-spacing: 1px;
    line-height: 1.4;
}

.rc-system-id-line {
    margin-top: 6px;
    opacity: 0.95;
}

.rc-system-id-row {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.rc-system-status-orb {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    flex-shrink: 0;
    vertical-align: middle;
    background: radial-gradient(circle at 32% 28%, #fff6cc 0%, #ffbf00 42%, #c78a00 100%);
    box-shadow:
        0 0 3px rgba(255, 191, 0, 0.85),
        0 0 8px rgba(255, 191, 0, 0.4),
        0 0 14px rgba(255, 200, 100, 0.2);
    animation: rc-system-status-orb-pulse 2.4s ease-in-out infinite alternate;
}

@keyframes rc-system-status-orb-pulse {
    0% {
        opacity: 0.75;
        box-shadow:
            0 0 2px rgba(255, 191, 0, 0.55),
            0 0 6px rgba(255, 191, 0, 0.28),
            0 0 10px rgba(255, 200, 100, 0.12);
    }
    100% {
        opacity: 1;
        box-shadow:
            0 0 4px rgba(255, 214, 100, 0.95),
            0 0 11px rgba(255, 191, 0, 0.5),
            0 0 20px rgba(255, 180, 60, 0.22);
    }
}

@media (prefers-reduced-motion: reduce) {
    .rc-system-status-orb {
        animation: none;
        opacity: 0.9;
        box-shadow: 0 0 5px rgba(255, 191, 0, 0.45);
    }
}

.rc-global-terminal .telemetry {
    position: absolute;
    right: 0;
    text-align: right;
    font-family: var(--rc-font-technical);
    font-size: 12px;
    color: var(--rc-amber);
    line-height: 1.4;
    text-transform: uppercase;
}

.rc-header-auth-link {
    display: inline-block;
    text-decoration: none;
    letter-spacing: 0.75px;
    font-family: var(--rc-font-technical), monospace;
    text-transform: uppercase;
    line-height: 1.2;
}

.rc-system-auth-row {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
}

.rc-system-auth-row .rc-header-auth-link.rc-header-auth-link--account {
    margin-top: 0 !important;
}

button.rc-header-info-trigger {
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 11px !important;
    line-height: 1;
    text-transform: none !important;
    position: relative;
    font-family: "Segoe UI", Arial, sans-serif;
    font-weight: 700;
    color: #ffbf00;
}

button.rc-header-info-trigger[data-rc-tooltip],
a.rc-header-back-arrow[data-rc-tooltip],
button.rc-bento-hud-trigger[data-rc-tooltip],
a.rc-header-vault-lock[data-rc-tooltip] {
    position: relative;
}

button.rc-header-info-trigger[data-rc-tooltip]:hover::after,
button.rc-header-info-trigger[data-rc-tooltip]:focus-visible::after,
a.rc-header-back-arrow[data-rc-tooltip]:hover::after,
a.rc-header-back-arrow[data-rc-tooltip]:focus-visible::after,
button.rc-bento-hud-trigger[data-rc-tooltip]:hover::after,
button.rc-bento-hud-trigger[data-rc-tooltip]:focus-visible::after,
a.rc-header-vault-lock[data-rc-tooltip]:hover::after,
a.rc-header-vault-lock[data-rc-tooltip]:focus-visible::after {
    content: attr(data-rc-tooltip);
    position: absolute;
    left: calc(100% + 8px);
    top: 0;
    transform: translateY(0);
    padding: 4px 8px;
    border: 1px solid rgba(255, 191, 0, 0.6);
    background: #000;
    color: #ffbf00;
    font-size: 10px;
    letter-spacing: 0.45px;
    text-transform: uppercase;
    white-space: nowrap;
    pointer-events: none;
    z-index: 10002;
}

/* Right-edge controls: tooltip opens left so it stays on screen. */
a.rc-header-back-arrow[data-rc-tooltip]:hover::after,
a.rc-header-back-arrow[data-rc-tooltip]:focus-visible::after,
button.rc-bento-hud-trigger[data-rc-tooltip]:hover::after,
button.rc-bento-hud-trigger[data-rc-tooltip]:focus-visible::after,
a.rc-header-vault-lock[data-rc-tooltip]:hover::after,
a.rc-header-vault-lock[data-rc-tooltip]:focus-visible::after {
    left: auto;
    right: calc(100% + 8px);
}

.rc-order-history-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: center;
    padding: 18px;
    box-sizing: border-box;
}

.rc-order-history-modal[hidden] {
    display: none !important;
}

.rc-order-history-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.78);
}

.rc-order-history-window {
    position: relative;
    width: min(760px, 96vw);
    max-height: min(82vh, 900px);
    overflow: auto;
    border: 1px solid rgba(255, 191, 0, 0.65);
    background: #000;
    color: #ffbf00;
    padding: 16px 16px 14px;
    box-sizing: border-box;
    font-family: var(--rc-font-technical, 'Courier New', monospace);
    box-shadow: 0 0 0 1px rgba(255, 191, 0, 0.2), 0 14px 28px rgba(0, 0, 0, 0.55);
}

.rc-order-history-actions {
    float: right;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.rc-order-history-contact,
.rc-order-history-close {
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    border: 1px solid rgba(255, 191, 0, 0.7);
    background: #000;
    color: #ffbf00;
    padding: 4px 8px;
    font-family: inherit;
    font-size: 11px;
    letter-spacing: 0.55px;
    float: none;
}

.rc-order-history-contact:hover,
.rc-order-history-contact:focus-visible,
.rc-order-history-close:hover,
.rc-order-history-close:focus-visible {
    background: rgba(255, 191, 0, 0.1);
}

.rc-order-history-title {
    margin: 0 0 10px;
    padding-right: 72px;
    font-size: 12px;
    letter-spacing: 0.08em;
    color: #ffbf00;
}

.rc-order-history-content {
    margin: 0;
    white-space: pre-wrap;
    word-break: break-word;
    line-height: 1.55;
    font-size: 12px;
    color: #f4f4f5;
    user-select: text;
}

body.rc-order-history-open {
    overflow: hidden;
}

@media (max-width: 520px) {
    .rc-order-history-modal {
        padding: 10px;
    }

    .rc-order-history-window {
        width: 100%;
        max-height: 88vh;
        padding: 12px 12px 10px;
    }

    .rc-order-history-actions {
        float: none;
        display: flex;
        justify-content: flex-end;
        flex-wrap: wrap;
        margin-bottom: 8px;
    }

    .rc-order-history-contact,
    .rc-order-history-close {
        min-height: 36px;
        padding: 6px 10px;
    }

    .rc-order-history-title {
        padding-right: 0;
    }
}

@media (max-width: 768px) {
    /* No hover/focus tooltips on phone (BACK, MENU, VAULT, order history). Desktop unchanged. */
    button.rc-header-info-trigger[data-rc-tooltip]:hover::after,
    button.rc-header-info-trigger[data-rc-tooltip]:focus::after,
    button.rc-header-info-trigger[data-rc-tooltip]:focus-visible::after,
    a.rc-header-back-arrow[data-rc-tooltip]:hover::after,
    a.rc-header-back-arrow[data-rc-tooltip]:focus::after,
    a.rc-header-back-arrow[data-rc-tooltip]:focus-visible::after,
    button.rc-bento-hud-trigger[data-rc-tooltip]:hover::after,
    button.rc-bento-hud-trigger[data-rc-tooltip]:focus::after,
    button.rc-bento-hud-trigger[data-rc-tooltip]:focus-visible::after,
    a.rc-header-vault-lock[data-rc-tooltip]:hover::after,
    a.rc-header-vault-lock[data-rc-tooltip]:focus::after,
    a.rc-header-vault-lock[data-rc-tooltip]:focus-visible::after {
        content: none !important;
        display: none !important;
    }

    .rc-system-auth-row .rc-header-info-trigger {
        display: none !important;
    }

    .rc-system-status-orb {
        display: inline-block !important;
    }

    /* Mobile hard-stop: keep header info button hidden (desktop-only trigger). */
    header.rc-global-terminal .rc-system-status .rc-system-auth-row .rc-header-info-trigger,
    .rc-global-terminal .rc-system-status .rc-system-auth-row .rc-header-info-trigger {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}

/* Mobile bento HUD trigger: 3-line nav button on section header right side. */
@media (max-width: 768px) {
    /*
     * Shop bento header (iPhone / narrow): title stays left; 3-line HUD + fragment shell sit on the right.
     * Avoid justify-content:space-between + margin:auto + .rc-bento-header__actions{width:100%} (generic mobile)
     * â€” that trio clusters label + HUD on the left in WebKit. Label flex-grows; actions uses width:auto.
     */
    main.rc-shell--catalog .rc-bento-header {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
    }

    main.rc-shell--catalog .rc-bento-header .rc-label {
        text-align: left !important;
        flex: 1 1 auto;
        min-width: 0;
        margin-right: 0 !important;
    }

    main.rc-shell--catalog .rc-bento-header .rc-bento-header__actions {
        width: auto !important;
        max-width: none;
        min-width: 0;
        flex: 0 0 auto;
        margin-left: 0 !important;
        justify-content: flex-end;
    }

    /*
     * Shop bento mobile: [ i ] frame matches the 3-line HUD button exactly
     * (same box as main.rc-shell--catalog .rc-bento-menu-trigger .rc-bento-hud-trigger.rc-manifest-trigger: 34Ã—28).
     */
    main.rc-shell--catalog .rc-bento-header button.rc-header-auth-link.rc-header-auth-link--account.rc-header-info-trigger.rc-bento-header-info-trigger {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        flex-shrink: 0;
        align-self: center;
        margin: 0 !important;
        box-sizing: border-box;
        width: 34px;
        height: 28px;
        min-width: 34px;
        min-height: 28px;
        max-width: 34px;
        max-height: 28px;
        padding: 0 !important;
        font-family: var(--rc-font-technical, 'Courier New', monospace) !important;
        font-size: 12px !important;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0;
        text-transform: none !important;
        text-decoration: none;
        color: #ffbf00 !important;
        background: #000 !important;
        border: 1px solid rgba(255, 191, 0, 0.58) !important;
        opacity: 0.55;
        text-shadow: none;
        -webkit-appearance: none;
        appearance: none;
        cursor: pointer;
        -webkit-tap-highlight-color: rgba(255, 191, 0, 0.15);
        touch-action: manipulation;
        transition: opacity 0.2s ease, text-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
    }

    main.rc-shell--catalog .rc-bento-header button.rc-header-auth-link.rc-header-auth-link--account.rc-header-info-trigger.rc-bento-header-info-trigger:hover {
        opacity: 1;
        text-shadow: 0 0 6px rgba(255, 191, 0, 0.55);
        border-color: rgba(255, 191, 0, 0.88) !important;
        background: #000 !important;
        color: #ffbf00 !important;
    }

    main.rc-shell--catalog .rc-bento-header button.rc-header-auth-link.rc-header-auth-link--account.rc-header-info-trigger.rc-bento-header-info-trigger:focus-visible {
        outline: 1px solid rgba(255, 191, 0, 0.65);
        outline-offset: 2px;
        opacity: 1;
    }

    main.rc-shell--catalog .rc-bento-header button.rc-header-auth-link.rc-header-auth-link--account.rc-header-info-trigger.rc-bento-header-info-trigger:active {
        opacity: 1;
        border-color: rgba(255, 191, 0, 0.85) !important;
    }

    main.rc-shell--catalog .rc-bento-menu-trigger {
        flex: 0 0 auto;
        margin-left: 0 !important;
        align-self: center;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
}

/* Vault padlock (logged-in header): chip + pulsing amber â€œcosmicâ€ glow â€” mobile/desktop share base. */
.rc-header-vault-lock {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    min-width: 28px;
    padding: 2px 6px;
    box-sizing: border-box;
    color: #ffbf00;
    text-decoration: none;
    border: 1px solid rgba(255, 191, 0, 0.35);
    background: #000;
    transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.35s ease;
}

.rc-header-vault-lock:hover {
    border-color: rgba(255, 191, 0, 0.85);
    background: rgba(255, 191, 0, 0.06);
}

.rc-header-vault-lock:focus-visible {
    outline: 1px solid rgba(255, 191, 0, 0.75);
    outline-offset: 2px;
}

.rc-cosmic-glow-lock .rc-header-vault-lock__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    animation: rc-vault-lock-cosmic 2.6s ease-in-out infinite alternate;
}

.rc-cosmic-glow-lock .rc-header-vault-lock__icon svg {
    display: block;
}

/* Faint cosmic glow on vault padlock (right) â€” subtler than first pass */
@keyframes rc-vault-lock-cosmic {
    0% {
        filter:
            drop-shadow(0 0 1px rgba(255, 191, 0, 0.32))
            drop-shadow(0 0 4px rgba(255, 191, 0, 0.16))
            drop-shadow(0 0 9px rgba(255, 220, 120, 0.06));
    }
    100% {
        filter:
            drop-shadow(0 0 2px rgba(255, 214, 100, 0.45))
            drop-shadow(0 0 6px rgba(255, 191, 0, 0.22))
            drop-shadow(0 0 12px rgba(255, 180, 60, 0.1));
    }
}

/* Faint outer halo on the vault padlock chip (soft field; icon uses rc-vault-lock-cosmic above) */
.rc-header-vault-lock.rc-cosmic-glow-lock {
    box-shadow: 0 0 8px rgba(255, 191, 0, 0.08);
    animation: rc-vault-lock-chip-halo 3s ease-in-out infinite alternate;
}

@keyframes rc-vault-lock-chip-halo {
    0% {
        box-shadow: 0 0 6px rgba(255, 191, 0, 0.06);
    }
    100% {
        box-shadow: 0 0 12px rgba(255, 191, 0, 0.12);
    }
}

@media (prefers-reduced-motion: reduce) {
    .rc-cosmic-glow-lock .rc-header-vault-lock__icon {
        animation: none;
        filter: drop-shadow(0 0 3px rgba(255, 191, 0, 0.28));
    }

    .rc-header-vault-lock.rc-cosmic-glow-lock {
        animation: none;
        box-shadow: 0 0 8px rgba(255, 191, 0, 0.08);
    }
}

/* Desktop telemetry: column â€” TIMESTAMP â†’ CART row â†’ [ X ] row (matches mobile hierarchy). */
@media (min-width: 769px) {
    .rc-global-terminal .rc-telemetry-desktop-row {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
        width: 100%;
    }

    .rc-global-terminal .rc-telemetry-desktop-cluster {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 6px;
        max-width: 100%;
    }

    .rc-global-terminal .rc-telemetry-desktop-cluster .rc-telemetry-timestamp {
        display: block;
        margin: 0;
    }

    .rc-desktop-header-nav {
        display: block;
        text-align: right;
    }

    .rc-desktop-nav-stack {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 6px;
    }

    .rc-desktop-nav-row {
        display: flex;
        justify-content: flex-end;
        width: 100%;
    }

    .rc-desktop-nav-row--cart {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        gap: 8px;
    }

    .rc-desktop-nav-row--clear {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-end;
        gap: 10px;
    }

    /* Same frame as right-side CART / [ X ] chips */
    .rc-desktop-terminal-btn,
    .rc-global-terminal .rc-system-status .rc-header-auth-link.rc-header-auth-link--account {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 28px;
        padding: 4px 10px;
        font-size: 11px;
        letter-spacing: 0.6px;
        line-height: 1.1;
        text-transform: uppercase;
        font-family: var(--rc-font-technical, 'Courier New', monospace);
        border: 1px solid rgba(255, 191, 0, 0.75);
        background: #000;
        color: #ffbf00;
        text-decoration: none;
        box-sizing: border-box;
    }

    .rc-desktop-terminal-btn {
        transition: background 0.2s ease, border-color 0.2s ease, text-shadow 0.2s ease;
    }

    /* Login / disconnect: identical metrics to CART chip; shrink-wrap + dimmed until hover */
    .rc-global-terminal .rc-system-status .rc-header-auth-link.rc-header-auth-link--account {
        margin-top: 8px;
        width: fit-content;
        max-width: 100%;
        align-self: flex-start;
        opacity: 0.55;
        text-shadow: none;
        transition: opacity 0.2s ease, text-shadow 0.2s ease, border-color 0.2s ease;
    }

    .rc-global-terminal .rc-system-status .rc-header-auth-link.rc-header-auth-link--account:hover {
        opacity: 1;
        text-shadow: 0 0 6px rgba(255, 191, 0, 0.55);
    }

    .rc-global-terminal .rc-system-status .rc-header-auth-link.rc-header-auth-link--account:focus-visible {
        outline: 1px solid rgba(255, 191, 0, 0.65);
        outline-offset: 2px;
        opacity: 1;
    }

    .rc-desktop-terminal-btn.rc-cart-active {
        text-shadow: 0 0 6px rgba(255, 191, 0, 0.55);
    }

    .rc-desktop-terminal-btn.rc-cart-empty {
        opacity: 0.55;
        cursor: default;
        pointer-events: none;
    }

    /* Inactive [ X ]: same chip as CART [ 0 ] â€” gold border/text, dimmed via opacity only */
    .rc-desktop-clear-link.inactive {
        pointer-events: none;
        cursor: default;
        opacity: 0.55;
        color: #ffbf00;
        border-color: rgba(255, 191, 0, 0.75);
        background: #000;
        text-shadow: none;
    }

    .rc-desktop-clear-link.active:hover {
        text-shadow: 0 0 8px rgba(255, 191, 0, 0.5);
    }

    .rc-desktop-manifest-btn {
        border: none;
        background: none;
        padding: 0;
        cursor: pointer;
        font: inherit;
        color: var(--rc-amber);
        font-weight: bold;
        letter-spacing: 1px;
        text-shadow:
            0 0 4px rgba(255, 191, 0, 0.8),
            0 0 8px rgba(255, 191, 0, 0.5);
        animation: manifest-pulse 2s infinite alternate ease-in-out;
    }

    .rc-desktop-manifest-btn:hover {
        color: #ffffff;
        text-shadow:
            0 0 5px rgba(255, 191, 0, 1),
            0 0 10px rgba(255, 191, 0, 0.8),
            0 0 20px rgba(255, 191, 0, 0.6);
    }

    body.single-product .rc-global-terminal .telemetry .rc-manifest-trigger {
        float: none;
    }

    /* .rc-hide-on-mobile uses display:inline !important on desktop â€” force flex for the telemetry row. */
    .rc-global-terminal .rc-telemetry-desktop-row.rc-hide-on-mobile {
        display: flex !important;
    }
}

/*
 * Main shop (/shop/) â€” desktop: fixed terminal header + smooth slide off-screen.
 * Mobile shop uses the same --rc-shop-header-offset (see max-width:768 block). Vault / other pages: unchanged.
 */
@media (min-width: 769px) {
    body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) header.rc-global-terminal,
    body.single-product:not(.woocommerce-cart):not(.woocommerce-checkout) header.rc-global-terminal {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        box-sizing: border-box;
        z-index: 9999;
        margin-bottom: 0;
        transition: transform 0.42s cubic-bezier(0.33, 1, 0.32, 1);
        transform: translate3d(0, 0, 0);
        will-change: transform;
        backface-visibility: hidden;
    }

    body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) header.rc-global-terminal.rc-global-terminal--scroll-hidden,
    body.single-product:not(.woocommerce-cart):not(.woocommerce-checkout) header.rc-global-terminal.rc-global-terminal--scroll-hidden {
        transform: translate3d(0, -100%, 0);
        pointer-events: none;
    }

    /* Parent pointer-events:none would block [ X ] / CART / account link; descendants opt back in (transform still moves hit area off-screen). */
    body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) header.rc-global-terminal.rc-global-terminal--scroll-hidden .rc-desktop-header-nav,
    body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) header.rc-global-terminal.rc-global-terminal--scroll-hidden .rc-mobile-cart-control,
    body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) header.rc-global-terminal.rc-global-terminal--scroll-hidden .rc-system-status,
    body.single-product:not(.woocommerce-cart):not(.woocommerce-checkout) header.rc-global-terminal.rc-global-terminal--scroll-hidden .rc-desktop-header-nav,
    body.single-product:not(.woocommerce-cart):not(.woocommerce-checkout) header.rc-global-terminal.rc-global-terminal--scroll-hidden .rc-mobile-cart-control,
    body.single-product:not(.woocommerce-cart):not(.woocommerce-checkout) header.rc-global-terminal.rc-global-terminal--scroll-hidden .rc-system-status,
    body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) header.rc-global-terminal.rc-global-terminal--scroll-hidden .rc-telemetry-mobile-row,
    body.single-product:not(.woocommerce-cart):not(.woocommerce-checkout) header.rc-global-terminal.rc-global-terminal--scroll-hidden .rc-telemetry-mobile-row {
        pointer-events: auto;
    }

    /*
     * Must win over .rc-shell { padding-top: 0 !important; } or content sits under the fixed bar.
     * Full padding shorthand keeps same L/R/bottom as global .rc-shell (0 1rem 2rem 1rem).
     */
    body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) main.rc-shell.rc-shell--catalog {
        padding: calc(var(--rc-shop-header-offset, 168px) + 1rem) 1rem 2rem 1rem !important;
    }

    body.single-product:not(.woocommerce-cart):not(.woocommerce-checkout) main.rc-shell.rc-shell--single {
        padding-top: calc(var(--rc-shop-header-offset, 168px) + 1rem) !important;
    }

    body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) main.rc-shell--catalog .rc-shell__frame.rc-bento-block__frame {
        scroll-margin-top: calc(var(--rc-shop-header-offset, 168px) + 1rem);
    }
}

/* 9. SINGLE PRODUCT DOSSIER */
.single-product .single_add_to_cart_button {
    background: #000 !important;
    border: 1px solid #ffb000 !important;
    color: #ffb000 !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    padding: 10px 20px !important;
    border-radius: 0 !important;
    font-family: var(--rc-font-technical), monospace;
}

.single-product .single_add_to_cart_button:hover {
    background: #ffb000 !important;
    color: #000 !important;
}

/* Inline ACQUIRE ASSET - sits on the price row (lazy path); terminal block unchanged at summary foot */
body.single-product .rc-price-acquire-row {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    margin: 0;
    max-width: 100%;
    box-sizing: border-box;
    vertical-align: middle;
}

body.single-product .rc-price-acquire-row form.cart {
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
}

/* Variable products: align size dropdown + ACQUIRE row, and separate Clear from select. */
body.single-product .rc-price-acquire-row form.variations_form.cart {
    align-items: flex-end;
}

body.single-product .rc-price-acquire-row form.variations_form.cart .variations {
    margin: 0;
    width: auto;
}

body.single-product .rc-price-acquire-row form.variations_form.cart .variations td.value {
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

body.single-product .rc-price-acquire-row form.variations_form.cart .reset_variations {
    margin-left: 0.25rem;
    white-space: nowrap;
}

body.single-product .rc-cart-terminal-override form.variations_form.cart .variations td.value {
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

body.single-product .rc-cart-terminal-override form.variations_form.cart .reset_variations {
    margin-left: 0.25rem;
    white-space: nowrap;
}

body.single-product .rc-price-acquire-row form.variations_form.cart .single_variation_wrap {
    margin: 0;
}

body.single-product .rc-price-acquire-row form.variations_form.cart .single_variation_wrap .woocommerce-variation-add-to-cart {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
}

/* Vault drop (ID 977): Size Guide stacked above ACQUIRE ASSET — inline row + terminal match. */
body.single-product:is(.rc-vault-drop-pdp, .postid-977) form.variations_form.cart {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 0.65rem;
}

body.single-product:is(.rc-vault-drop-pdp, .postid-977) form.variations_form.cart .variations {
    width: 100%;
    margin: 0;
}

body.single-product:is(.rc-vault-drop-pdp, .postid-977) form.variations_form.cart .variations td.value {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.35rem !important;
}

body.single-product:is(.rc-vault-drop-pdp, .postid-977) form.variations_form.cart .variations td.value select {
    width: 100%;
    max-width: 100%;
}

body.single-product:is(.rc-vault-drop-pdp, .postid-977) form.variations_form.cart.rc-vault-guide-stacked .variations td.value > a:not(.reset_variations) {
    display: none !important;
}

body.single-product:is(.rc-vault-drop-pdp, .postid-977) form.variations_form.cart .single_variation_wrap {
    margin: 0 !important;
    width: 100%;
    max-width: 100%;
    flex: 0 0 auto !important;
}

body.single-product:is(.rc-vault-drop-pdp, .postid-977) form.variations_form.cart .woocommerce-variation-add-to-cart {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.55rem !important;
}

body.single-product:is(.rc-vault-drop-pdp, .postid-977) form.variations_form.cart .single_add_to_cart_button {
    width: auto !important;
    max-width: 100% !important;
    align-self: flex-start !important;
    flex: 0 0 auto !important;
}

body.single-product:is(.rc-vault-drop-pdp, .postid-977) .rc-size-guide-link {
    display: block;
    width: fit-content;
    max-width: 100%;
    margin: 0 0 0.15rem;
    color: #ffbf00;
    font-family: 'Courier New', ui-monospace, Consolas, monospace;
    font-size: 0.85rem;
    letter-spacing: 1px;
    line-height: 1.35;
    text-decoration: none;
    white-space: nowrap;
}

body.single-product:is(.rc-vault-drop-pdp, .postid-977) .rc-size-guide-link:hover,
body.single-product:is(.rc-vault-drop-pdp, .postid-977) .rc-size-guide-link:focus-visible {
    color: #fff;
    text-decoration: none;
}

@media (min-width: 769px) {
    body.single-product:is(.rc-vault-drop-pdp, .postid-977) .rc-price-acquire-row form.variations_form.cart,
    body.single-product:is(.rc-vault-drop-pdp, .postid-977) .rc-cart-terminal-override form.variations_form.cart {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        row-gap: 0.65rem !important;
        column-gap: 0 !important;
        width: 100% !important;
    }

    body.single-product:is(.rc-vault-drop-pdp, .postid-977) .rc-price-acquire-row form.variations_form.cart::before {
        display: none !important;
        content: none !important;
    }

    body.single-product:is(.rc-vault-drop-pdp, .postid-977) .rc-price-acquire-row form.variations_form.cart .variations,
    body.single-product:is(.rc-vault-drop-pdp, .postid-977) .rc-price-acquire-row form.variations_form.cart .single_variation_wrap,
    body.single-product:is(.rc-vault-drop-pdp, .postid-977) .rc-cart-terminal-override form.variations_form.cart .variations,
    body.single-product:is(.rc-vault-drop-pdp, .postid-977) .rc-cart-terminal-override form.variations_form.cart .single_variation_wrap {
        flex: 0 0 auto !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-top: 0 !important;
    }

    body.single-product:is(.rc-vault-drop-pdp, .postid-977) .rc-price-acquire-row form.variations_form.cart .single_add_to_cart_button,
    body.single-product:is(.rc-vault-drop-pdp, .postid-977) .rc-cart-terminal-override form.variations_form.cart .single_add_to_cart_button {
        order: unset !important;
        align-self: flex-start !important;
        width: auto !important;
        max-width: 100% !important;
    }
}

body.single-product .rc-price-acquire-row .single_add_to_cart_button {
    white-space: nowrap;
}

body.single-product .rc-price-acquire-row .rc-express-pay-row {
    margin-top: 1.35rem;
}

/* Desktop: ACQUIRE ASSET on its own row; express (GPay / Link / PayPal) on the next line */
@media (min-width: 769px) {
    body.single-product .rc-price-acquire-row {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
        max-width: 100%;
    }

    body.single-product .rc-price-acquire-row form.cart {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        row-gap: 1.55rem;
        column-gap: 0.75rem;
        width: 100%;
        max-width: 100%;
    }

    /* Flex line-break after ACQUIRE ASSET without stretching the button */
    body.single-product .rc-price-acquire-row form.cart::before {
        content: "";
        order: 1;
        flex-basis: 100%;
        width: 0;
        height: 0;
        overflow: hidden;
        margin: 0;
        padding: 0;
    }

    body.single-product .rc-price-acquire-row .single_add_to_cart_button {
        order: 0;
        flex: 0 0 auto;
        width: auto;
        max-width: 100%;
        align-self: flex-start;
        margin-bottom: 0.35rem;
    }

    /* Express row wrapper (rc_express_pay_row_* in functions.php): one horizontal line on PC */
    body.single-product .rc-price-acquire-row .rc-express-pay-row,
    body.single-product .rc-cart-terminal-override .rc-express-pay-row {
        order: 2;
        margin-top: 0;
        flex: 0 0 auto;
        width: auto;
        max-width: 100%;
        display: flex;
        flex-flow: row nowrap;
        align-items: center;
        gap: 0.65rem;
        clear: none !important;
    }

    /* PayPal block often sits on its own flex row below express wallets */
    body.single-product .rc-price-acquire-row form.cart > #ppcp-button,
    body.single-product .rc-price-acquire-row form.cart > .ppcp-button-wrapper,
    body.single-product .rc-price-acquire-row form.cart > div[class*="paypal-buttons"],
    body.single-product .rc-price-acquire-row form.cart > [id*="paypal-button"] {
        margin-top: 0.45rem !important;
    }

    body.single-product .rc-price-acquire-row .rc-express-pay-row > *,
    body.single-product .rc-cart-terminal-override .rc-express-pay-row > * {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
        display: inline-flex !important;
        align-items: center;
        clear: none !important;
    }

    body.single-product .rc-price-acquire-row #wc-stripe-payment-request-wrapper,
    body.single-product .rc-price-acquire-row .wc-stripe-payment-request-wrapper,
    body.single-product .rc-price-acquire-row .wc-stripe-express-checkout-element,
    body.single-product .rc-price-acquire-row .wc-stripe-product-checkout-container,
    body.single-product .rc-price-acquire-row #ppcp-button,
    body.single-product .rc-price-acquire-row .ppcp-button-wrapper,
    body.single-product .rc-price-acquire-row [id*="paypal-button"],
    body.single-product .rc-price-acquire-row div[class*="paypal-buttons"] {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
        clear: none !important;
    }

    body.single-product .rc-price-acquire-row .wc-stripe-product-checkout-container,
    body.single-product .rc-price-acquire-row .wc-stripe-express-checkout-element {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 0.5rem;
    }
}

/* Wide viewports: extra air on large monitors (mobile unchanged) */
@media (min-width: 1600px) {
    body.single-product .rc-price-acquire-row form.cart {
        row-gap: 1.85rem;
    }

    body.single-product .rc-price-acquire-row .rc-express-pay-row,
    body.single-product .rc-cart-terminal-override .rc-express-pay-row {
        margin-top: 0;
    }
}

/* Desktop: price row → acquire (title↔price spacing lives in late block at EOF) */
@media (min-width: 769px) {
    body.single-product .woocommerce div.product div.summary > .rc-price-acquire-row {
        margin-top: 0.25rem !important;
    }

    body.single-product .woocommerce div.product div.summary > .rc-price-acquire-row form.cart {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
}

body.single-product div.product div.summary > p.price {
    display: inline-block;
    vertical-align: middle;
    width: auto;
    max-width: 100%;
    margin-right: 0.65rem;
    box-sizing: border-box;
}

/* Warehouse merch: price + "N in stock" on one line. */
body.single-product div.product div.summary > .rc-price-stock-row {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem 0.85rem;
    width: auto;
    max-width: 100%;
    margin: 0 0.65rem 0 0;
    box-sizing: border-box;
    vertical-align: middle;
}

body.single-product div.product div.summary > .rc-price-stock-row > p.price {
    display: inline-block;
    margin: 0;
    vertical-align: baseline;
}

body.single-product div.product div.summary > .rc-price-stock-row > p.stock {
    display: inline-block;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    color: #aaaaaa;
    font-size: 0.92em;
}

body.single-product div.product div.summary:has(> .rc-price-stock-row) .rc-price-acquire-row form.cart > p.stock {
    display: none !important;
}

/* 11. TERMINAL NAVIGATION */
.rc-abort-link {
    color: var(--rc-zinc);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 2px;
    transition: color 0.3s ease;
}

.rc-abort-link:hover {
    color: var(--rc-amber);
}

/* 13. TACTICAL TRACKING ZOOM */
.rc-product-frame__media {
    width: 100%;
    max-width: 100%;
    margin: 0 auto 2rem auto;
    border: 1px solid rgba(255, 191, 0, 0.2);
    background: #000;
    padding: 10px;
    overflow: hidden;
    box-sizing: border-box;
}

/* Single product: dossier frame hugs gallery horizontally (see rc_gallery_frame_sync JS + Flexslider). */
body.single-product {
    --rc-gallery-slide-ms: 780ms;
}

body.single-product .rc-product-frame__media {
    overflow: visible;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto 2rem auto;
    padding: 10px;
    box-sizing: border-box;
}

@media (min-width: 769px) {
    body.single-product .rc-product-frame__media {
        transition:
            width var(--rc-gallery-slide-ms) cubic-bezier(0.4, 0, 0.2, 1),
            max-width var(--rc-gallery-slide-ms) cubic-bezier(0.4, 0, 0.2, 1);
    }

    body.single-product .woocommerce div.product.rc-product-frame .rc-product-frame__media div.images {
        transition:
            width var(--rc-gallery-slide-ms) cubic-bezier(0.4, 0, 0.2, 1),
            max-width var(--rc-gallery-slide-ms) cubic-bezier(0.4, 0, 0.2, 1);
    }
}

/*
 * Desktop dossier: image column gets more horizontal space than Wooâ€™s default ~48% float
 * (so wide assets and the gallery arenâ€™t trapped in a narrow â€œpostage stampâ€).
 */
@media (min-width: 769px) {
    body.single-product .woocommerce div.product.rc-product-frame {
        display: grid;
        grid-template-columns: minmax(0, 1.68fr) minmax(0, 0.82fr);
        gap: 1.75rem;
        align-items: start;
    }

    body.single-product .woocommerce div.product.rc-product-frame .rc-product-frame__media,
    body.single-product .woocommerce div.product.rc-product-frame .rc-product-frame__summary {
        float: none !important;
        width: 100% !important;
        max-width: none !important;
    }

    body.single-product .woocommerce div.product.rc-product-frame .rc-product-frame__media {
        width: fit-content !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: auto !important;
    }

    body.single-product .woocommerce div.product.rc-product-frame .rc-product-frame__media div.images {
        width: fit-content !important;
        max-width: 100% !important;
        float: none !important;
    }

    /* Tabs, related, etc. stay full width below the two-up row */
    body.single-product .woocommerce div.product.rc-product-frame > *:not(.rc-product-frame__media):not(.rc-product-frame__summary) {
        grid-column: 1 / -1;
    }

    body.single-product .woocommerce div.product.rc-product-frame.rc-deck--wide-active {
        grid-template-columns: minmax(0, 2.45fr) minmax(0, 0.55fr);
        gap: 1.25rem;
    }
}

.rc-product-frame__media img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    transition: transform 0.3s ease-out !important;
    cursor: crosshair !important;
}

/*
 * Woo single-product gallery magnifier (.rc-pinpoint-zoom img): must NOT inherit the global transform
 * transition above â€” JS updates transform-origin every mousemove; animating transform causes "disco" flicker.
 * Specificity + !important beats .rc-product-frame__media img { transition: â€¦ !important }.
 */
body.single-product .rc-product-frame__media .woocommerce-product-gallery .rc-pinpoint-zoom img {
    transition: none !important;
}

/*
 * Tactical hover zoom (non-gallery images in the media column only).
 * Gallery: NEVER use img:hover here â€” use .rc-zoom-active on .rc-pinpoint-zoom after init.
 */
.rc-product-frame__media img:not(.woocommerce-product-gallery img):hover {
    transform: scale(2);
}
/*
 * Woo gallery magnifier: single source of truth for transform (pre- and post-init).
 * No scale until .rc-zoom-active; magnifier only after body.rc-gallery-loaded.
 */
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img:not(.rc-zoom-active) {
    transform: none !important;
}
body.single-product .rc-product-frame__media .woocommerce-product-gallery .rc-pinpoint-zoom img:not(.rc-zoom-active) {
    transform: none !important;
}
body.single-product.rc-gallery-loaded .rc-product-frame__media .woocommerce-product-gallery .rc-pinpoint-zoom img.rc-zoom-active {
    transform: scale(2.5) !important;
}

/* --- THE RAGNAR CLEANUP (DE-CLUTTERING 222) --- */

/* Hide "Showing X results" (Not needed for a boutique shop) */
.woocommerce-result-count {
    display: none !important;
}

/* Hide the "Default Sorting" dropdown (Keep the UI clean/tactical) */
.woocommerce-ordering {
    display: none !important;
}

/* Hide the Breadcrumbs (Keep the 'Space Ronin' focus) */
.woocommerce-breadcrumb {
    display: none !important;
}
/* --- SECTION HEADER TELEMETRY --- */
.rc-section-title {
    font-family: var(--rc-font-technical) !important;
    color: var(--rc-amber) !important;
    font-size: 14px !important;
    text-transform: uppercase;
    letter-spacing: 4px;
    border-left: 3px solid var(--rc-amber);
    padding-left: 15px;
    margin: 60px 0 30px 0 !important;
    display: block;
    width: 100%;
    /* Add a subtle glow to match the 'R' logo */
    text-shadow: 0 0 10px rgba(255, 191, 0, 0.4);
}
/* ==========================================================================
   COLLECTION GRID ANCHOR (section label is PHP .rc-label only â€” no pseudo-elements)
   Per-block: .rc-bento-block__grid
   ========================================================================== */

.rc-bento-block__grid {
    position: relative !important;
    padding-top: 0.5rem !important; /* Minimal gap below .rc-label */
}

/* JUMP targets: offset scroll so section lands below fixed/sticky UI without extra physical gap */
.rc-bento-block {
    scroll-margin-top: 100px;
}

/* ==========================================================================
   14. RAGNARCRAFT TECHNICAL FOOTER (MOBILE-FIRST)
   Single source of truth: no inline styles. Uniform on Shop, Single Product, and all pages.
   ========================================================================== */
#terminal-footer.rc-terminal-footer,
.rc-terminal-footer,
body.woocommerce-page .rc-terminal-footer,
body.woocommerce .rc-terminal-footer {
    display: block !important;
    width: 100%;
    box-sizing: border-box;
    background-color: #050505 !important;
    color: #ffcc00 !important;
    font-family: var(--rc-font-technical), 'Courier New', Courier, monospace !important;
    text-align: center;
    text-transform: uppercase;
    /* Top spacing lives inside footer (#050505) so no black body gap under vault/shell */
    padding: 3.25rem 1rem 2rem 1rem !important;
    padding-bottom: 2rem !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border-top: 1px solid #333;
    position: relative;
    z-index: 20;
}

/* Footer links: wrap cleanly, stay centered on narrow viewports */
.rc-terminal-footer .rc-footer-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem 1rem;
}

.rc-terminal-footer .rc-footer-payments-wrap {
    margin: 1.35rem auto 0.85rem;
    max-width: 980px;
}

.rc-terminal-footer .rc-footer-payments {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.8rem 1.6rem;
}

.rc-terminal-footer .rc-footer-payments__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    opacity: 0.9;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.rc-terminal-footer .rc-footer-payments__item:hover {
    opacity: 1;
    transform: translateY(-1px);
}

.rc-terminal-footer .rc-footer-payments__item img {
    display: block;
    height: auto;
    max-height: 32px;
    max-width: 260px;
    width: auto;
    object-fit: contain;
}

.rc-terminal-footer .rc-footer-payments__item .rc-footer-payments__inline-svg {
    display: block;
    height: 26px;
    width: auto;
    max-width: 260px;
}

.rc-terminal-footer .rc-footer-payments__item--google-pay img {
    max-height: 34px;
}

.rc-terminal-footer .rc-footer-payments__item--paypal img {
    max-height: 30px;
    max-width: 210px;
    opacity: 1;
}

.rc-terminal-footer .rc-footer-payments__item--lhv img {
    max-height: 23px;
    opacity: 1;
    filter: brightness(0) invert(1);
}

.rc-terminal-footer .rc-footer-payments__item--visa img,
.rc-terminal-footer .rc-footer-payments__item--mastercard img,
.rc-terminal-footer .rc-footer-payments__item--revolut img {
    display: block;
    width: auto;
    max-height: 26px;
    opacity: 1;
}

.rc-terminal-footer .rc-footer-payments__item--visa img,
.rc-terminal-footer .rc-footer-payments__item--visa .rc-footer-payments__inline-svg {
    max-height: 24px;
    height: 24px;
}

.rc-terminal-footer .rc-footer-payments__item--mastercard img,
.rc-terminal-footer .rc-footer-payments__item--mastercard .rc-footer-payments__inline-svg {
    max-height: 29px;
    height: 29px;
}

/* Revolut source logo is dark; force visible on black footer. */
.rc-terminal-footer .rc-footer-payments__item--revolut img {
    filter: brightness(0) invert(1);
}

.rc-terminal-footer .rc-footer-payments__item--revolut .rc-footer-payments__inline-svg {
    filter: none;
    width: 82px;
    height: 25px;
    max-width: 82px;
}

.rc-terminal-footer .rc-footer-payments__item--revolut .rc-footer-payments__inline-svg path {
    fill: #f4f4f5 !important;
}

.rc-terminal-footer .rc-footer-payments__item--revolut .rc-footer-payments__inline-svg,
.rc-terminal-footer .rc-footer-payments__item--revolut .rc-footer-payments__inline-svg * {
    fill: #f4f4f5 !important;
    stroke: transparent !important;
}

.rc-terminal-footer .rc-footer-infra {
    margin-top: 0.5rem;
    font-size: 0.66rem;
    letter-spacing: 1px;
    opacity: 0.56;
}

@media (max-width: 768px) {
    .rc-terminal-footer .rc-footer-payments {
        gap: 0.65rem 1.05rem;
    }

    .rc-terminal-footer .rc-footer-payments__item img {
        max-height: 26px;
        max-width: 220px;
    }

    .rc-terminal-footer .rc-footer-payments__item .rc-footer-payments__inline-svg {
        height: 24px;
        max-width: 220px;
    }

    .rc-terminal-footer .rc-footer-payments__item--google-pay img {
        max-height: 28px;
    }

    .rc-terminal-footer .rc-footer-payments__item--paypal img {
        max-height: 25px;
        max-width: 180px;
        opacity: 1;
    }

    .rc-terminal-footer .rc-footer-payments__item--lhv img {
        max-height: 21px;
        opacity: 1;
        filter: brightness(0) invert(1);
    }

    .rc-terminal-footer .rc-footer-payments__item--visa img,
    .rc-terminal-footer .rc-footer-payments__item--mastercard img,
    .rc-terminal-footer .rc-footer-payments__item--revolut img {
        max-height: 24px;
        opacity: 1;
    }

    .rc-terminal-footer .rc-footer-payments__item--visa img,
    .rc-terminal-footer .rc-footer-payments__item--visa .rc-footer-payments__inline-svg {
        max-height: 22px;
        height: 22px;
    }

    .rc-terminal-footer .rc-footer-payments__item--mastercard img,
    .rc-terminal-footer .rc-footer-payments__item--mastercard .rc-footer-payments__inline-svg {
        max-height: 26px;
        height: 26px;
    }

    .rc-terminal-footer .rc-footer-payments__item--revolut .rc-footer-payments__inline-svg {
        width: 72px;
        height: 22px;
        max-width: 72px;
    }

    /* Shop, single product, vault terminal: hide REG_ID on mobile footer only. */
    body.rc-footer-hide-reg-mobile .rc-terminal-footer .rc-footer-reg-id {
        display: none !important;
    }
}

/* --------------------------------------------------------------------------
   Single product â€” desktop: full-bleed footer strip + balance shell â†” CORP spacing
   (Block themes often constrain #page width so border-top looked â€œboxedâ€.)
   -------------------------------------------------------------------------- */
/* PDP: void black behind footer (transparent footer must not reveal #page #050505 from force_dark_shop). */
body.single-product,
body.single-product #page,
body.single-product .wp-site-blocks,
body.single-product .site,
body.single-product #content,
body.single-product .site-main {
    background-color: #000000 !important;
    background: #000000 !important;
}

body.single-product #terminal-footer.rc-terminal-footer,
body.single-product footer.rc-terminal-footer.site-footer,
body.single-product footer.site-footer.rc-terminal-footer {
    background-color: transparent !important;
    background: transparent !important;
    border-top: 1px solid #333 !important;
    box-shadow: none !important;
    margin-top: 1.5rem !important;
    padding-top: 2rem !important;
    padding-bottom: 0.35rem !important;
    margin-bottom: 0 !important;
}

body.single-product .rc-terminal-footer .rc-footer-meta,
body.single-product .rc-terminal-footer .rc-footer-links,
body.single-product .rc-terminal-footer .rc-footer-copyright,
body.single-product .rc-terminal-footer .rc-footer-contact,
body.single-product .rc-terminal-footer .rc-footer-payments-wrap {
    background: transparent !important;
    background-color: transparent !important;
}

@media (min-width: 769px) {
    body.single-product {
        overflow-x: clip;
    }

    body.single-product #page,
    body.single-product .wp-site-blocks {
        overflow-x: clip;
    }

    body.single-product main.rc-shell.rc-shell--single {
        padding-bottom: 0.75rem !important;
    }

    body.single-product .rc-shell--single .rc-shell__frame {
        padding-bottom: 1rem !important;
    }

    body.single-product #terminal-footer.rc-terminal-footer,
    body.single-product footer.rc-terminal-footer.site-footer,
    body.single-product footer.site-footer.rc-terminal-footer {
        background-color: transparent !important;
        background: transparent !important;
        border-top: 1px solid #333 !important;
        box-shadow: none !important;
        width: auto;
        max-width: none;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        box-sizing: border-box;
        padding-top: 2.1rem !important;
        padding-bottom: 0.35rem !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
}

/* Single product: kill any residual post-footer black strip from wrappers */
body.single-product {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

body.single-product .wp-site-blocks,
body.single-product #page {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* Single product footer: normalize inline spacing so text stack is vertically centered */
body.single-product .rc-terminal-footer .rc-footer-meta {
    margin-bottom: 0.7rem !important;
}

body.single-product .rc-terminal-footer .rc-footer-copyright {
    margin-top: 0.8rem !important;
    margin-bottom: 0 !important;
}

body.single-product .rc-terminal-footer .rc-footer-contact {
    margin-top: 0.55rem !important;
    margin-bottom: 0 !important;
}

/* Match .rc-shell__frame so DATA_STREAM aligns on Shop and Single Product */
.rc-footer-grid {
    display: flex;
    justify-content: flex-end;
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
}

.rc-entity-details {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
}

/* Dynamic section label (PHP only â€” no pseudo-elements). Rigid UI / hardware readout. */
.rc-label {
    font-family: var(--rc-font-technical);
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 4px;
    text-shadow: 0 0 5px rgba(255, 191, 0, 0.4);
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: default;
    color: rgba(255, 191, 0, 0.9);
    display: inline-block;
    padding-bottom: 4px;
}

.rc-nav {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rc-link {
    color: #888;
    text-decoration: none;
    font-size: 13px;
    transition: all 0.2s ease;
    display: inline-block;
    padding: 6px 10px;
    border: 1px solid #444; /* Ghost button frame */
    border-radius: 0;
    background: transparent;
}

.rc-link:hover {
    color: #fff;
    border-color: #ffbf00;
    text-shadow: 0 0 8px #ffbf00;
}

/* Header [ MANIFEST ] / Bento [ MENU ]: pure text, no box (brackets kept); class-only for no duplicate ID */
.rc-manifest-trigger,
button.rc-manifest-trigger {
    border: none !important;
    outline: none !important;
    background: none !important;
    padding: 0 !important;
}
.rc-manifest-trigger:hover,
button.rc-manifest-trigger:hover {
    border: none !important;
    background: none !important;
}

/* Bento HUD: 3-line manifest trigger next to section title (all viewports; shop grid places it in col 2 on desktop). */
.rc-bento-menu-trigger {
    display: inline-block !important;
    margin-left: 10px; /* Space from title when in flex flow */
    vertical-align: middle;
    white-space: nowrap !important;
    font-size: 0.85rem;
    letter-spacing: 1px;
}

/* Desktop + mobile: keep cart strip on one line inside narrow bento columns */
.rc-cart-monitor a.rc-cart-link,
.rc-cart-link {
    white-space: nowrap !important;
}
.rc-bento-menu-trigger:active {
    opacity: 1;
    color: #ffb84d; /* Amber highlight on tap */
}

/* 3-line bento HUD: lines + boxed button must exist above 768px (was only inside max-width:768 â€” desktop looked empty). */
.rc-bento-menu-trigger .rc-bento-hud-trigger__line {
    display: block;
    width: 14px;
    height: 1px;
    background: #ffbf00;
    box-shadow: 0 0 4px rgba(255, 191, 0, 0.35);
}

main.rc-shell--catalog .rc-bento-menu-trigger {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    line-height: 0;
}

main.rc-shell--catalog .rc-bento-menu-trigger .rc-bento-hud-trigger.rc-manifest-trigger {
    display: inline-flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    width: 34px;
    height: 28px;
    min-width: 34px;
    min-height: 28px;
    border: 1px solid rgba(255, 191, 0, 0.58) !important;
    background: #000 !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer;
    animation: none !important;
    text-shadow: none !important;
}

main.rc-shell--catalog .rc-bento-menu-trigger .rc-bento-hud-trigger.rc-manifest-trigger:hover,
main.rc-shell--catalog .rc-bento-menu-trigger .rc-bento-hud-trigger.rc-manifest-trigger:focus-visible {
    border-color: rgba(255, 191, 0, 0.88) !important;
    background: rgba(255, 191, 0, 0.08) !important;
    outline: none !important;
}

/* Bento block header: title + HUD + cart cluster */
.rc-bento-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 20px;
    gap: 12px;
}

/* Right cluster: cart fragment + desktop cart link + 3-line HUD (see bento-block.php order) */
.rc-bento-header__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 1rem 1.25rem;
    margin-left: auto;
}

/* Menu sits after cart in DOM; drop title-offset margin from global .rc-bento-menu-trigger */
main.rc-shell--catalog .rc-bento-header__actions .rc-bento-menu-trigger {
    margin-left: 0;
}

.rc-bento-nav-cluster {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}

/* Desktop: | CLEAR CART [ X ] â€” same class + rules as // NAVIGATION PANEL (see functions.php) */
@media (min-width: 769px) {
    .rc-cart-clear-slot {
        margin: 0;
        padding: 0;
        min-height: 0;
        text-align: right;
        white-space: nowrap;
    }

    .rc-bento-nav-cluster a.rc-nav-panel-trigger {
        text-decoration: none;
    }

    .rc-bento-nav-cluster a.rc-nav-panel-trigger:visited {
        color: rgba(255, 191, 0, 0.6);
    }
}

/*
 * Shop bento (PC, â‰¥1025): title | [ cart â€¦ + 3-line HUD ] â€” HUD is last in __actions (right edge of hero row).
 */
@media (min-width: 1025px) {
    main.rc-shell--catalog .rc-bento-header {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 2rem;
        align-items: center;
        box-sizing: border-box;
    }

    main.rc-shell--catalog .rc-bento-header .rc-label {
        grid-column: 1;
        min-width: 0;
    }

    main.rc-shell--catalog .rc-bento-header .rc-bento-header__actions {
        grid-column: 2;
        margin-left: 0;
        justify-self: end;
        justify-content: flex-end;
        align-items: center;
        flex-wrap: nowrap;
        width: auto;
        max-width: 100%;
    }

    main.rc-shell--catalog .rc-bento-header .rc-bento-header__actions .rc-bento-menu-trigger {
        flex: 0 0 auto;
    }
}

/* Tablet shop: keep nav + cart on one row so flex-end layout does not jump */
@media (min-width: 769px) and (max-width: 1024px) {
    main.rc-shell--catalog .rc-bento-header__actions {
        flex-wrap: nowrap;
    }
}

/* Mobile-only: keep label and [ MENU ] on one line */
@media (max-width: 768px) {
    .rc-bento-header {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .rc-bento-header__actions {
        width: 100%;
        margin-left: 0;
        justify-content: flex-start;
    }
}
.rc-nav-panel-trigger {
    font-family: var(--rc-font-technical);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: rgba(255, 191, 0, 0.6);
    cursor: pointer;
    transition: opacity 0.2s ease, color 0.2s ease, text-shadow 0.2s ease;
}
.rc-nav-panel-trigger:hover {
    opacity: 1;
    color: rgba(255, 191, 0, 1);
    text-shadow: 0 0 8px rgba(255, 191, 0, 0.5);
}

.rc-entity-details p {
    font-size: 12px;
    margin: 4px 0;
    line-height: 1.6;
}

.rc-email {
    margin-top: 15px !important;
    color: #555;
}

@media (max-width: 768px) {
    .rc-footer-grid {
        justify-content: center;
    }

    .rc-entity-details {
        align-items: center;
        text-align: center;
    }
}

/* Mini compliance HUD on checkout */
.rc-checkout-compliance-hud {
    margin-top: 28px;
    font-family: var(--rc-font-technical), monospace;
    font-size: 0.7rem;
    color: #666666;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px;
}

@media (max-width: 768px) {
    /* Mobile: hide checkout compliance HUD (desktop keeps full strip). */
    .rc-checkout-compliance-hud {
        display: none !important;
    }
}

.rc-checkout-compliance-hud a {
    color: #666666;
    text-decoration: none;
    padding: 0 2px;
    transition: color 0.2s ease, text-shadow 0.2s ease;
}

.rc-checkout-compliance-hud a:hover {
    color: #ffbf00;
    text-shadow: 0 0 6px rgba(255, 191, 0, 0.8);
}

/* Legal / Impressum: minimal status bar â€” [ MANIFEST ] only, right-aligned */
.rc-legal-status-bar {
    text-align: right;
    margin-top: 1rem;
    font-size: 0.85rem;
    letter-spacing: 1px;
}

.rc-manifest-link {
    text-decoration: none !important;
    color: inherit;
    font-family: inherit;
    cursor: pointer;
    opacity: 0.7;
    transition: opacity 0.2s ease;
}
.rc-manifest-link:hover {
    opacity: 1;
    color: #ffb84d !important; /* Amber Phosphor Glow */
    text-shadow: 0 0 8px rgba(255, 184, 77, 0.6);
}

/* ==========================================================================
   MANIFEST OVERLAY (Terminal Navigation) â€” ID-scoped so links win over global/parent styles
   ========================================================================== */
#rc-manifest-overlay.rc-terminal-manifest {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(5, 5, 5, 0.8);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    z-index: 9999;
    display: flex;
    flex-direction: column;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
}

#rc-manifest-overlay.rc-terminal-manifest.is-active {
    opacity: 1;
    pointer-events: auto;
}

#rc-manifest-overlay .rc-manifest-header {
    display: flex;
    justify-content: flex-end;
    padding: 16px 28px 16px 20px;
}

#rc-manifest-overlay .rc-manifest-links {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 12px;
    font-family: var(--rc-font-technical), monospace;
    font-size: 1.1rem;
    text-align: center;
    min-height: 0;
}

/* Uncloak links: high specificity + explicit properties to override global/parent anchor styles */
#rc-manifest-overlay .rc-manifest-links a {
    display: block;
    font-family: var(--rc-font-technical), monospace;
    font-weight: 500;
    font-size: 1.1rem;
    line-height: 1.4;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #ffbf00;
    text-decoration: none;
    padding: 1rem 0;
    margin-bottom: 0.25rem;
    border-bottom: 1px solid rgba(255, 191, 0, 0.15);
    transition: color 0.25s ease, text-shadow 0.25s ease, filter 0.25s ease;
    visibility: visible;
    opacity: 1;
}

#rc-manifest-overlay .rc-manifest-links a:hover {
    color: #ffffff;
    text-shadow: 0 0 12px rgba(255, 191, 0, 0.9);
    filter: brightness(1.2);
}

#rc-manifest-overlay .rc-manifest-links a.rc-manifest-sublink {
    color: rgba(255, 191, 0, 0.65);
    font-size: 0.9em;
    font-weight: 500;
    border-bottom-color: rgba(255, 191, 0, 0.08);
}

#rc-manifest-overlay .rc-manifest-links a.rc-manifest-sublink:hover {
    color: rgba(255, 191, 0, 0.9);
}

/* Restricted / VAULT line: dimmed + subtle glitch to imply locked area */
#rc-manifest-overlay .rc-manifest-links a.rc-manifest-restricted {
    font-family: var(--rc-font-technical), monospace;
    color: rgba(255, 191, 0, 0.5);
    opacity: 0.7;
    border-bottom-color: rgba(255, 191, 0, 0.08);
    animation: rc-manifest-glitch 4s ease-in-out infinite;
}

#rc-manifest-overlay .rc-manifest-links a.rc-manifest-restricted:hover {
    color: rgba(255, 191, 0, 0.65);
    opacity: 0.85;
    text-shadow: 0 0 6px rgba(255, 191, 0, 0.4);
}

@keyframes rc-manifest-glitch {
    0%, 90%, 100% { opacity: 0.7; filter: none; }
    92% { opacity: 0.55; filter: brightness(0.9); }
    94% { opacity: 0.75; filter: brightness(1.05); }
    96% { opacity: 0.6; filter: brightness(0.95); }
    98% { opacity: 0.7; filter: none; }
}

#rc-manifest-overlay .rc-manifest-close {
    background: transparent;
    border: none;
    color: #ffbf00;
    font-family: var(--rc-font-technical), monospace;
    font-weight: 700;
    font-size: 1.1rem;
    line-height: 1.4;
    letter-spacing: 2px;
    text-transform: uppercase;
    cursor: pointer;
    transition: color 0.2s ease, text-shadow 0.2s ease;
}

#rc-manifest-overlay .rc-manifest-close:hover {
    color: #ffffff;
    text-shadow: 0 0 12px rgba(255, 191, 0, 0.9);
    filter: brightness(1.2);
}

@media (min-width: 768px) {
    #rc-manifest-overlay .rc-manifest-links {
        font-size: 1.3rem;
    }
    #rc-manifest-overlay .rc-manifest-links a {
        font-size: 1.3rem;
    }

    #rc-manifest-overlay .rc-manifest-close {
        font-size: 1.3rem;
    }
}

@media (max-width: 768px) {
    #rc-manifest-overlay .rc-manifest-header-mobile {
        display: flex;
        justify-content: flex-end;
        padding: 16px 28px 0 20px;
    }

    #rc-manifest-overlay .rc-manifest-header-mobile .rc-manifest-close {
        font-size: 1.1rem;
        padding: 8px 14px;
        margin-right: 0;
        line-height: 1;
    }

    /* Hide elements marked for mobile (e.g. SYSTEM_INFO link) */
    .hide-on-mobile {
        display: none !important;
    }
}

/* ==========================================================================
   LORE DATABANK TILE (Bento Block Grid)
   ========================================================================== */
.rc-bento-block__grid .products .rc-lore-block {
    background-color: #000000;
    border: 1px solid rgba(255, 191, 0, 0.25);
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    font-family: var(--rc-font-technical), monospace;
    box-sizing: border-box !important; /* Keep border inside width */
}

.rc-lore-block__inner {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    min-height: 100%;
    flex: 1;
}

.rc-lore-block__inner .rc-lore-body {
    margin-top: auto;
}

.rc-lore-header {
    color: #ffbf00;
    font-size: 0.85rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 0.75rem;
    text-shadow: 0 0 8px rgba(255, 191, 0, 0.6);
}

.rc-lore-body p {
    font-size: 0.8rem;
    color: #888888;
    margin: 0 0 0.35rem 0;
    line-height: 1.5;
}

.rc-lore-status {
    color: #ffbf00;
    font-weight: 600;
    margin-top: 0.5rem;
    text-shadow: 0 0 8px rgba(255, 191, 0, 0.7);
}

.rc-lore-teaser {
    font-size: 0.75rem;
    color: #666666;
    font-style: italic;
    margin: 0.25rem 0 0;
    line-height: 1.45;
    letter-spacing: 0.5px;
}

.rc-lore-teaser:empty {
    display: none;
}

/* Rogue dock + story datum — one inset well inside the lore bento */
.rc-rogue-dock-row {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    width: 100%;
    flex: 1;
    align-self: stretch;
}

.rc-rogue-dock-row .rc-rogue-dock {
    flex: 0 0 auto;
    width: 100%;
}

/* Story fragment — bracket frame (all capsules) */
.rc-lore-datum {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 0.65rem 0.9rem 0.75rem 1.05rem;
    background: transparent;
    border: none;
    box-shadow: none;
    overflow: hidden;
    min-height: 0;
    transition: box-shadow 0.35s ease;
}

.rc-lore-datum__content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    min-height: 0;
    padding: 0.12rem 0.2rem 0.18rem 0.4rem;
    box-sizing: border-box;
}

.rc-lore-datum__brackets {
    position: absolute;
    inset: 12px 14px 16px 18px;
    pointer-events: none;
    opacity: 0.34;
    background:
        linear-gradient(#ffbf00, #ffbf00) left top / 9px 1px no-repeat,
        linear-gradient(#ffbf00, #ffbf00) left top / 1px 9px no-repeat,
        linear-gradient(#ffbf00, #ffbf00) right top / 9px 1px no-repeat,
        linear-gradient(#ffbf00, #ffbf00) right top / 1px 9px no-repeat,
        linear-gradient(#ffbf00, #ffbf00) left bottom / 9px 1px no-repeat,
        linear-gradient(#ffbf00, #ffbf00) left bottom / 1px 9px no-repeat,
        linear-gradient(#ffbf00, #ffbf00) right bottom / 9px 1px no-repeat,
        linear-gradient(#ffbf00, #ffbf00) right bottom / 1px 9px no-repeat;
    transition: opacity 0.35s ease, inset 0.35s ease;
}

.rc-lore-datum__scan {
    position: absolute;
    left: 0;
    right: 0;
    height: 1px;
    top: 0;
    opacity: 0;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255, 191, 0, 0.75), transparent);
    box-shadow: 0 0 10px rgba(255, 191, 0, 0.35);
}

.rc-lore-datum__label,
.rc-lore-datum__text,
.rc-lore-datum__foot {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    text-indent: 0;
    box-sizing: border-box;
}

.rc-lore-datum__label {
    font-size: 0.62rem;
    letter-spacing: 0.85px;
    color: rgba(255, 191, 0, 0.82);
    text-transform: uppercase;
    line-height: 1.4;
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: none;
}

.rc-lore-datum__text {
    flex: 1 1 auto;
    font-size: 0.8rem;
    line-height: 1.58;
    color: #949494;
    letter-spacing: 0.2px;
    overflow-wrap: break-word;
    word-break: normal;
}

.rc-lore-datum__tag {
    display: inline-block;
    white-space: nowrap;
    letter-spacing: 0.35px;
    color: rgba(255, 191, 0, 0.78);
}

.rc-lore-datum__foot {
    margin-top: auto;
    font-size: 0.58rem;
    letter-spacing: 1px;
    color: #555555;
    text-transform: uppercase;
    padding-top: 0.35rem;
    padding-bottom: 0.12rem;
}

@keyframes rc-lore-datum-scan {
    0% {
        top: -4%;
        opacity: 0;
    }
    15% {
        opacity: 0.85;
    }
    85% {
        opacity: 0.85;
    }
    100% {
        top: 104%;
        opacity: 0;
    }
}

@keyframes rc-lore-datum-pulse {
    0%, 100% {
        box-shadow: inset 0 0 0 rgba(255, 191, 0, 0);
    }
    50% {
        box-shadow: inset 0 0 22px rgba(255, 191, 0, 0.09);
    }
}

@keyframes rc-lore-datum-glitch {
    0%, 100% {
        transform: translate3d(0, 0, 0);
        text-shadow: none;
    }
    48% {
        transform: translate3d(0, 0, 0);
    }
    50% {
        transform: translate3d(1px, 0, 0);
        text-shadow: -1px 0 rgba(255, 191, 0, 0.25);
    }
    52% {
        transform: translate3d(0, 0, 0);
    }
}

/* Legacy capsule only — brief panel + label flash bursts (hover) */
.rc-lore-datum--legacy::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 2;
    opacity: 0;
    background:
        linear-gradient(105deg, transparent 38%, rgba(255, 191, 0, 0.2) 50%, transparent 62%),
        radial-gradient(circle at 18% 22%, rgba(255, 255, 255, 0.07), transparent 42%);
}

@keyframes rc-lore-datum-legacy-flash {
    0%, 86%, 100% {
        opacity: 0;
    }
    87% {
        opacity: 0.55;
    }
    88% {
        opacity: 0;
    }
    91% {
        opacity: 0.32;
    }
    92% {
        opacity: 0;
    }
}

@keyframes rc-lore-datum-legacy-label-flash {
    0%, 84%, 100% {
        color: rgba(255, 191, 0, 0.82);
        text-shadow: none;
    }
    85% {
        color: #fff4cc;
        text-shadow: 0 0 14px rgba(255, 191, 0, 0.95), 1px 0 0 rgba(255, 120, 0, 0.35);
    }
    86% {
        color: rgba(255, 191, 0, 0.82);
        text-shadow: none;
    }
    90% {
        color: #ffbf00;
        text-shadow: 0 0 10px rgba(255, 191, 0, 0.7);
    }
    91% {
        color: rgba(255, 191, 0, 0.82);
        text-shadow: none;
    }
}

/* Rogue-planet digital dock (vault key + master bundle) */
.rc-rogue-dock {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    width: 100%;
    max-width: 26rem;
    padding: 0.35rem 0 0.75rem;
}

.rc-rogue-dock__tile {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    text-decoration: none;
    color: inherit;
    background: rgba(10, 10, 10, 0.9);
    border: 1px solid rgba(255, 191, 0, 0.2);
    padding: 0.7rem;
    min-height: 100%;
    position: relative;
    transition: border-color 0.35s ease, box-shadow 0.35s ease, transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-tap-highlight-color: transparent;
}

.rc-rogue-dock__tile:focus-visible {
    outline: 2px solid #ffbf00;
    outline-offset: 2px;
}

.rc-rogue-dock__badge {
    font-size: 0.58rem;
    letter-spacing: 1px;
    color: #666666;
    text-transform: uppercase;
    line-height: 1.3;
}

.rc-rogue-dock__media {
    aspect-ratio: 1 / 1;
    width: 100%;
    border: 1px solid rgba(255, 191, 0, 0.12);
    background: #000000;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
    isolation: isolate;
    transition: border-color 0.35s ease;
}

.rc-rogue-dock__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: brightness(0.82) contrast(1.08);
    transition: filter 0.4s ease, transform 0.55s ease;
}

.rc-rogue-dock__placeholder {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(255, 191, 0, 0.08) 0%, transparent 45%),
        repeating-linear-gradient(
            0deg,
            rgba(255, 191, 0, 0.05) 0,
            rgba(255, 191, 0, 0.05) 1px,
            transparent 1px,
            transparent 7px
        );
}

/* Vault key — credential lattice (resting) */
.rc-rogue-dock__placeholder--vault {
    background-color: #000000;
    background-image:
        linear-gradient(135deg, rgba(255, 191, 0, 0.07) 0%, transparent 48%),
        repeating-linear-gradient(
            90deg,
            rgba(255, 191, 0, 0.045) 0,
            rgba(255, 191, 0, 0.045) 1px,
            transparent 1px,
            transparent 11px
        ),
        repeating-linear-gradient(
            0deg,
            rgba(255, 191, 0, 0.045) 0,
            rgba(255, 191, 0, 0.045) 1px,
            transparent 1px,
            transparent 11px
        );
    box-shadow: inset 0 -16px 24px rgba(255, 191, 0, 0.05);
}

.rc-rogue-dock__ph-lattice,
.rc-rogue-dock__ph-scan,
.rc-rogue-dock__ph-brackets,
.rc-rogue-dock__ph-core,
.rc-rogue-dock__ph-blob,
.rc-rogue-dock__ph-ring {
    position: absolute;
    pointer-events: none;
}

.rc-rogue-dock__ph-lattice {
    inset: 0;
    opacity: 0;
    background:
        linear-gradient(135deg, transparent 35%, rgba(255, 191, 0, 0.28) 50%, transparent 65%);
    background-size: 220% 220%;
}

.rc-rogue-dock__ph-scan {
    left: 0;
    right: 0;
    height: 2px;
    top: 0;
    opacity: 0;
    background: linear-gradient(90deg, transparent, rgba(255, 191, 0, 0.95), transparent);
    box-shadow: 0 0 14px rgba(255, 191, 0, 0.55);
}

.rc-rogue-dock__ph-brackets {
    inset: 9px;
    opacity: 0.42;
    background:
        linear-gradient(#ffbf00, #ffbf00) left top / 11px 1px no-repeat,
        linear-gradient(#ffbf00, #ffbf00) left top / 1px 11px no-repeat,
        linear-gradient(#ffbf00, #ffbf00) right top / 11px 1px no-repeat,
        linear-gradient(#ffbf00, #ffbf00) right top / 1px 11px no-repeat,
        linear-gradient(#ffbf00, #ffbf00) left bottom / 11px 1px no-repeat,
        linear-gradient(#ffbf00, #ffbf00) left bottom / 1px 11px no-repeat,
        linear-gradient(#ffbf00, #ffbf00) right bottom / 11px 1px no-repeat,
        linear-gradient(#ffbf00, #ffbf00) right bottom / 1px 11px no-repeat;
    transition: opacity 0.35s ease, inset 0.35s ease;
}

.rc-rogue-dock__ph-core {
    inset: 0;
    display: grid;
    place-items: center;
    opacity: 0.55;
}

.rc-rogue-dock__ph-core::before {
    content: '';
    width: 7px;
    height: 7px;
    background: rgba(255, 191, 0, 0.52);
    box-shadow:
        10px 0 0 0 rgba(255, 191, 0, 0.14),
        20px 0 0 0 rgba(255, 191, 0, 0.34),
        0 10px 0 0 rgba(255, 191, 0, 0.2),
        10px 10px 0 0 rgba(255, 191, 0, 0.58),
        20px 10px 0 0 rgba(255, 191, 0, 0.16),
        0 20px 0 0 rgba(255, 191, 0, 0.1),
        10px 20px 0 0 rgba(255, 191, 0, 0.26),
        20px 20px 0 0 rgba(255, 191, 0, 0.4);
}

/* Master bundle — nebula blob (resting) */
.rc-rogue-dock__placeholder--bundle {
    background:
        radial-gradient(circle at 32% 38%, rgba(255, 191, 0, 0.14), transparent 54%),
        radial-gradient(circle at 68% 62%, rgba(255, 160, 0, 0.08), transparent 48%),
        #000000;
}

.rc-rogue-dock__ph-blob {
    border-radius: 50%;
    filter: blur(18px);
    opacity: 0.55;
    transform: translate3d(0, 0, 0);
}

.rc-rogue-dock__ph-blob--a {
    width: 58%;
    height: 58%;
    top: 18%;
    left: 14%;
    background: radial-gradient(circle, rgba(255, 191, 0, 0.42) 0%, rgba(255, 140, 0, 0.12) 42%, transparent 72%);
}

.rc-rogue-dock__ph-blob--b {
    width: 52%;
    height: 52%;
    bottom: 10%;
    right: 8%;
    background: radial-gradient(circle, rgba(255, 210, 120, 0.28) 0%, rgba(255, 120, 0, 0.1) 45%, transparent 70%);
}

.rc-rogue-dock__ph-ring {
    inset: 14%;
    border-radius: 50%;
    border: 1px solid rgba(255, 191, 0, 0.14);
    opacity: 0.45;
    box-shadow: inset 0 0 24px rgba(255, 191, 0, 0.06);
}

@keyframes rc-rogue-lattice-sweep {
    0% {
        opacity: 0;
        background-position: 100% 100%;
    }
    18% {
        opacity: 1;
    }
    100% {
        opacity: 0;
        background-position: 0% 0%;
    }
}

@keyframes rc-rogue-scan-pass {
    0% {
        top: -8%;
        opacity: 0;
    }
    12% {
        opacity: 1;
    }
    88% {
        opacity: 1;
    }
    100% {
        top: 108%;
        opacity: 0;
    }
}

@keyframes rc-rogue-core-pulse {
    0%, 100% {
        opacity: 0.45;
        filter: brightness(0.9);
    }
    50% {
        opacity: 0.82;
        filter: brightness(1.15);
    }
}

@keyframes rc-rogue-blob-drift-a {
    0%, 100% {
        transform: translate3d(0, 0, 0) scale(1);
    }
    50% {
        transform: translate3d(6%, -4%, 0) scale(1.08);
    }
}

@keyframes rc-rogue-blob-drift-b {
    0%, 100% {
        transform: translate3d(0, 0, 0) scale(1);
    }
    50% {
        transform: translate3d(-5%, 6%, 0) scale(1.06);
    }
}

@keyframes rc-rogue-ring-breathe {
    0%, 100% {
        opacity: 0.38;
        transform: scale(0.96);
    }
    50% {
        opacity: 0.72;
        transform: scale(1.03);
    }
}

@keyframes rc-rogue-bundle-breathe {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.02);
    }
}

.rc-rogue-dock__label {
    font-size: 0.62rem;
    line-height: 1.35;
    letter-spacing: 1px;
    color: #ffbf00;
    text-transform: uppercase;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.rc-rogue-dock__price {
    line-height: 1.2;
}

/* Match main bento .rc-product-card__price hierarchy (amount large, VAT suffix smaller). */
.rc-rogue-dock__price .price {
    display: block !important;
    color: #ffffff !important;
    font-size: 1.05rem !important;
    font-weight: bold !important;
}

.rc-rogue-dock__price .amount,
.rc-rogue-dock__price .woocommerce-Price-amount {
    color: var(--rc-white) !important;
    font-weight: bold;
    font-size: 1.1rem;
}

.rc-rogue-dock__price .woocommerce-price-suffix,
.rc-rogue-dock__price small {
    font-size: 0.72em;
    font-weight: normal;
    letter-spacing: 0.5px;
    color: #ffffff;
    text-transform: uppercase;
}

.rc-rogue-dock__price del,
.rc-rogue-dock__price ins {
    text-decoration: none;
}

.rc-rogue-dock__cue {
    font-size: 0.58rem;
    letter-spacing: 1px;
    color: rgba(255, 191, 0, 0.75);
    opacity: 0;
    transition: opacity 0.25s ease;
}

.rc-rogue-dock__tile:active {
    transform: translateY(-1px);
    border-color: rgba(255, 191, 0, 0.65);
}

@media (hover: hover) and (pointer: fine) {
    .rc-rogue-dock__tile:hover {
        border-color: #ffbf00;
        box-shadow: 0 0 24px rgba(255, 191, 0, 0.14);
        transform: translateY(-4px);
    }

    .rc-rogue-dock__tile:hover .rc-rogue-dock__media {
        border-color: rgba(255, 191, 0, 0.45);
    }

    .rc-rogue-dock__tile:hover .rc-rogue-dock__img {
        filter: brightness(1.05) contrast(1.15);
        transform: scale(1.03);
    }

    .rc-rogue-dock__tile:hover .rc-rogue-dock__cue {
        opacity: 1;
    }

    /* Vault + bundle — corner brackets, lattice shine, vertical laser (hover) */
    .rc-rogue-dock__tile--vault:hover .rc-rogue-dock__ph-lattice,
    .rc-rogue-dock__tile--bundle:hover .rc-rogue-dock__ph-lattice {
        animation: rc-rogue-lattice-sweep 1.1s ease-out infinite;
    }

    .rc-rogue-dock__tile--vault:hover .rc-rogue-dock__ph-scan,
    .rc-rogue-dock__tile--bundle:hover .rc-rogue-dock__ph-scan {
        animation: rc-rogue-scan-pass 1.4s ease-in-out infinite;
    }

    .rc-rogue-dock__tile--vault:hover .rc-rogue-dock__ph-brackets,
    .rc-rogue-dock__tile--bundle:hover .rc-rogue-dock__ph-brackets {
        opacity: 0.92;
        inset: 6px;
    }

    .rc-rogue-dock__tile--vault:hover .rc-rogue-dock__ph-core::before {
        animation: rc-rogue-core-pulse 1.2s ease-in-out infinite;
    }

    .rc-rogue-dock__tile--vault:hover .rc-rogue-dock__cue {
        text-shadow: 0 0 8px rgba(255, 191, 0, 0.45);
    }

    /* Master bundle — nebula blob (hover) */
    .rc-rogue-dock__tile--bundle:hover .rc-rogue-dock__placeholder--bundle {
        animation: rc-rogue-bundle-breathe 4.2s ease-in-out infinite;
    }

    .rc-rogue-dock__tile--bundle:hover .rc-rogue-dock__ph-blob--a {
        opacity: 0.78;
        animation: rc-rogue-blob-drift-a 5s ease-in-out infinite;
    }

    .rc-rogue-dock__tile--bundle:hover .rc-rogue-dock__ph-blob--b {
        opacity: 0.72;
        animation: rc-rogue-blob-drift-b 6.2s ease-in-out infinite;
    }

    .rc-rogue-dock__tile--bundle:hover .rc-rogue-dock__ph-ring {
        animation: rc-rogue-ring-breathe 4.5s ease-in-out infinite;
    }

    .rc-rogue-dock__tile--bundle:hover .rc-rogue-dock__media {
        box-shadow: inset 0 0 36px rgba(255, 160, 0, 0.08);
    }
}

@media (prefers-reduced-motion: reduce) {
    .rc-rogue-dock__tile--vault:hover .rc-rogue-dock__ph-lattice,
    .rc-rogue-dock__tile--vault:hover .rc-rogue-dock__ph-scan,
    .rc-rogue-dock__tile--vault:hover .rc-rogue-dock__ph-core::before,
    .rc-rogue-dock__tile--bundle:hover .rc-rogue-dock__ph-lattice,
    .rc-rogue-dock__tile--bundle:hover .rc-rogue-dock__ph-scan,
    .rc-rogue-dock__tile--bundle:hover .rc-rogue-dock__placeholder--bundle,
    .rc-rogue-dock__tile--bundle:hover .rc-rogue-dock__ph-blob--a,
    .rc-rogue-dock__tile--bundle:hover .rc-rogue-dock__ph-blob--b,
    .rc-rogue-dock__tile--bundle:hover .rc-rogue-dock__ph-ring {
        animation: none !important;
    }
}

@media (max-width: 480px) {
    .rc-rogue-dock {
        max-width: none;
        gap: 0.85rem;
    }

    .rc-rogue-dock__tile {
        padding: 0.65rem;
    }

    .rc-rogue-dock__label {
        font-size: 0.58rem;
    }
}

@media (min-width: 481px) and (max-width: 1024px) {
    .rc-rogue-dock {
        max-width: 22rem;
    }
}

@media (min-width: 1025px) {
    .rc-lore-block__inner {
        min-height: 460px;
        min-width: 0;
    }

    .rc-lore-header {
        margin-bottom: 0.35rem;
    }

    .rc-rogue-dock-row {
        display: grid;
        grid-template-columns: minmax(22.5rem, 24.5rem) minmax(0, 1fr);
        grid-template-rows: auto;
        align-items: stretch;
        gap: 0;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        padding: 0.75rem 0.85rem;
        margin: 0.1rem 0 0.75rem;
        border: 1px solid rgba(255, 191, 0, 0.14);
        background: rgba(10, 10, 10, 0.72);
        box-shadow: inset 0 0 28px rgba(255, 191, 0, 0.03);
        flex: 1 1 auto;
        min-height: 0;
        overflow: hidden;
    }

    .rc-rogue-dock-row .rc-rogue-dock {
        grid-column: 1;
        grid-template-columns: repeat(2, minmax(0, 10.75rem));
        gap: 1rem;
        max-width: 100%;
        width: 100%;
        align-content: center;
        align-self: stretch;
        padding: 0.15rem 1rem 0.15rem 0;
        margin: 0;
        border-right: 1px dashed rgba(255, 191, 0, 0.18);
        box-sizing: border-box;
    }

    .rc-lore-datum {
        grid-column: 2;
        min-width: 0;
        width: 100%;
        height: auto;
        align-self: stretch;
        padding: 0.65rem 0.85rem 0.75rem 1.2rem;
        justify-content: flex-start;
        box-sizing: border-box;
        overflow: hidden;
    }

    .rc-lore-datum__content {
        padding: 0.12rem 0.15rem 0.2rem 0.45rem;
    }

    .rc-lore-datum__brackets {
        inset: 13px 14px 17px 20px;
        opacity: 0.34;
    }

    .rc-lore-datum__label {
        font-size: 0.6rem;
        letter-spacing: 0.8px;
    }

    .rc-lore-datum__text {
        font-size: 0.82rem;
        line-height: 1.56;
        color: #9a9a9a;
    }

    .rc-lore-datum__foot {
        padding-top: 0.45rem;
    }
}

@media (hover: hover) and (pointer: fine) {
    /* Unified fragment hover — scanline + bracket tighten (all capsules) */
    .rc-lore-datum:hover .rc-lore-datum__scan {
        animation: rc-lore-datum-scan 1.6s ease-in-out infinite;
    }

    .rc-lore-datum:hover .rc-lore-datum__brackets {
        opacity: 0.58;
        inset: 11px 12px 15px 17px;
    }

    .rc-lore-datum:hover .rc-lore-datum__content {
        text-shadow: 0 0 10px rgba(255, 191, 0, 0.06);
    }

    /* Capsule 04 — Grand Exit: text glitch + inset pulse + flash bursts */
    .rc-lore-datum--legacy:hover::after {
        animation: rc-lore-datum-legacy-flash 2.8s ease-in-out infinite;
    }

    .rc-lore-datum--legacy:hover .rc-lore-datum__label {
        animation: rc-lore-datum-legacy-label-flash 3.1s ease-in-out infinite;
    }

    .rc-lore-datum--legacy:hover .rc-lore-datum__text {
        animation: rc-lore-datum-glitch 2.8s ease-in-out infinite;
    }

    .rc-lore-datum--legacy:hover .rc-lore-datum__content {
        animation: rc-lore-datum-pulse 3.2s ease-in-out infinite;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rc-lore-datum:hover .rc-lore-datum__scan,
    .rc-lore-datum--legacy:hover::after,
    .rc-lore-datum--legacy:hover .rc-lore-datum__label,
    .rc-lore-datum--legacy:hover .rc-lore-datum__text,
    .rc-lore-datum--legacy:hover .rc-lore-datum__content {
        animation: none !important;
    }
}

/* 1. Ensure the parent is a real Grid */
.rc-bento-block__grid ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

@media (min-width: 1025px) {
    /* 2. Kill legacy float/width interference + 3. Force the span */
    .rc-bento-block__grid ul.products li.product.rc-lore-block {
        float: none !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;

        grid-column: 2 / -1 !important; /* Start at col 2, go to the very end */
        display: flex !important;
        flex-direction: column !important;
        min-height: 500px;              /* Give it deep terminal presence */
    }
}

/* Mobile safety: Ensure it stays 1-column on phones */
@media (max-width: 1024px) {
    .rc-bento-block__grid ul.products li.product.rc-lore-block {
        grid-column: span 1 !important;
        width: auto !important;   /* Let grid + gap control width */
        margin: 0 !important;     /* Match product card container margins */
    }
}

/* Hide quantity UI under Single Artifact model */
.quantity,
.product-quantity {
    display: none !important;
}

/* Purge neon ghosts: only PHP .rc-label carries section identity */
.rc-bento-block::before,
.rc-bento-block__grid::before {
    display: none !important;
    content: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* =====================================================================
   RESPONSIVE TERMINAL TEXT UTILITIES (mobile-first)
   ===================================================================== */
.rc-no-wrap {
  white-space: nowrap;
}

.rc-no-wrap-ellipsis {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rc-hide-on-mobile {
  display: none !important;
}

.rc-hide-on-desktop {
  display: inline !important;
}

.rc-text-desktop {
  display: none;
}

.rc-text-mobile {
  display: inline;
}

@media (min-width: 769px) {
  .rc-hide-on-mobile {
    display: inline !important;
  }

  .rc-hide-on-desktop {
    display: none !important;
  }

  .rc-text-desktop {
    display: inline;
  }

  .rc-text-mobile {
    display: none;
  }

  /* Mobile-only telemetry row is not used on tablet/desktop. */
  .rc-telemetry-mobile-row {
    display: none !important;
  }
}

/* =====================================================================
   MANIFEST NAVIGATION TRIGGER (NEON GLOW)
   ===================================================================== */
.rc-manifest-trigger {
  color: var(--rc-amber); /* Bright amber core */
  cursor: pointer;
  font-weight: bold;
  letter-spacing: 1px;
  transition: all 0.3s ease-in-out;

  /* Base glow */
  text-shadow:
    0 0 4px rgba(255, 191, 0, 0.8),
    0 0 8px rgba(255, 191, 0, 0.5);

  /* Attach the breathing animation */
  animation: manifest-pulse 2s infinite alternate ease-in-out;
}

/* Extra intensity on hover for desktop users */
.rc-manifest-trigger:hover {
  color: #ffffff; /* White hot core */
  text-shadow:
    0 0 5px rgba(255, 191, 0, 1),
    0 0 10px rgba(255, 191, 0, 0.8),
    0 0 20px rgba(255, 191, 0, 0.6),
    0 0 30px rgba(255, 191, 0, 0.4);
}

/* Continuous breathing keyframes */
@keyframes manifest-pulse {
  0% {
    text-shadow:
      0 0 2px rgba(255, 191, 0, 0.5),
      0 0 5px rgba(255, 191, 0, 0.3);
    opacity: 0.85;
  }
  100% {
    text-shadow:
      0 0 6px rgba(255, 191, 0, 0.9),
      0 0 12px rgba(255, 191, 0, 0.7),
      0 0 18px rgba(255, 191, 0, 0.4);
    opacity: 1;
  }
}

/* =====================================================================
   ORDER RECEIVED â€” High-fidelity terminal receipt (order-received.php)
   ===================================================================== */
.rc-order-success-terminal {
    background: #050505;
    border: 1px solid #ffb800;
    padding: 20px;
    margin-top: 2rem;
    font-family: var(--rc-font-technical, 'Courier New', monospace);
    color: #ffb800;
}

.rc-terminal-header h2 {
    color: #00ff41; /* Matrix green for success status */
    letter-spacing: 2px;
    border-bottom: 1px solid #00ff41;
    padding-bottom: 10px;
    margin: 0 0 0.5rem 0;
    font-size: 1rem;
}
.rc-terminal-header p {
    margin: 0;
    font-size: 0.85rem;
    letter-spacing: 1px;
    color: rgba(255, 184, 0, 0.9);
}

.rc-asset-logistics {
    margin: 20px 0;
    padding: 10px;
    background: rgba(255, 184, 0, 0.05);
    border-left: 3px solid #ffb800;
    font-size: 0.85rem;
    color: #ffb800;
}
.rc-asset-logistics__product {
    font-weight: bold;
    margin-bottom: 4px;
}
.rc-asset-logistics__line {
    margin-bottom: 2px;
}

.rc-return-to-manifest-wrap {
    margin-top: 2rem;
    margin-bottom: 0;
    text-align: center;
}
body.rc-order-received a.rc-btn-download,
a.rc-btn-download,
.rc-btn-download,
body.rc-order-received a.rc-return-to-manifest,
a.rc-return-to-manifest,
.rc-return-to-manifest {
    display: inline-block;
    padding: 10px 20px;
    background: transparent !important;
    border: 1px solid #ffbf00 !important;
    color: #ffbf00 !important;
    border-radius: 0;
    font-family: var(--rc-font-technical, 'Courier New', monospace);
    font-size: 0.85rem;
    font-weight: bold;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-decoration: none !important;
    line-height: 1.25;
    box-sizing: border-box;
    transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}
body.rc-order-received a.rc-btn-download:hover,
a.rc-btn-download:hover,
.rc-btn-download:hover,
body.rc-order-received a.rc-return-to-manifest:hover,
a.rc-return-to-manifest:hover,
.rc-return-to-manifest:hover {
    background: #ffbf00 !important;
    color: #050505 !important;
    box-shadow: 0 0 12px rgba(255, 191, 0, 0.45);
}

.rc-download-section {
    margin-top: 1.75rem;
}
.rc-download-section h3 {
    color: #888;
    font-size: 0.75rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 12px;
}
.rc-download-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}
.rc-download-label {
    color: #b0b0b0;
    font-size: 0.85rem;
    letter-spacing: 0.04em;
    line-height: 1.35;
}

/* Persistent single-product terminal [ RESET_TERMINAL ] hover (active state only) */
.rc-terminal-reset:not([href="#"]):hover {
    background-color: #ffbf00 !important;
    color: #000 !important;
    box-shadow: 0 0 10px #ffbf00;
}

/* Minimal, borderless header RESET link and manifest toggle */
.rc-header-reset-minimal,
.rc-manifest-toggle {
    border: none !important;
    background: none !important;
    padding: 0 !important;
    transition: text-shadow 0.2s;
}

/* Hide header RESET on desktop */
@media (min-width: 769px) {
  .rc-header-reset-minimal {
    display: none !important;
  }
}

/* [ RETURN ] only below tactical HUD breakpoint â€” matches JS (functions.php rc_desktop_hud_script). */
@media (min-width: 1024px) {
  .rc-return-top {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

/*
 * Portable bottom [ RETURN ] (<1024px): same reveal as #rc-desktop-hud â€” past 300px only while scrolling up
 * (functions.php rc_desktop_hud_script). Tablets 769â€“1023 inherit the same behaviour.
 */
@media (max-width: 1023px) {
  .rc-return-top {
    position: fixed;
    right: 20px;
    bottom: 80px;
    display: inline-block !important;
    padding: 10px 14px;
    background: #000;
    color: #ffbf00;
    border: 1px solid #ffbf00;
    border-radius: 0;
    font-family: var(--rc-font-technical, 'Courier New', monospace);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    cursor: pointer;
    z-index: 99999;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
  }

  .rc-return-top.is-visible {
    opacity: 1;
    pointer-events: auto;
  }

  body.ragnar-arcade-open .rc-return-top.is-visible {
    pointer-events: none;
    opacity: 0.2;
  }
}

/* Mobile shop + single product: [ RETURN ] -> vault-style up arrow (U+2191 via CSS escape). */
@media (max-width: 768px) {
  body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) .rc-return-top,
  body.single-product:not(.woocommerce-cart):not(.woocommerce-checkout) .rc-return-top {
    box-sizing: border-box;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: clamp(2.75rem, 12vw, 3rem);
    height: clamp(2.75rem, 12vw, 3rem);
    min-width: clamp(2.75rem, 12vw, 3rem);
    min-height: clamp(2.75rem, 12vw, 3rem);
    max-width: clamp(2.75rem, 12vw, 3rem);
    max-height: clamp(2.75rem, 12vw, 3rem);
    right: 16px;
    bottom: 84px;
    padding: 0 !important;
    margin: 0;
    line-height: 1 !important;
    letter-spacing: 0.015em;
    font-size: clamp(0.84rem, 3.35vw, 0.96rem);
    border: 1px solid rgba(255, 191, 0, 0.55);
    color: #ffb000;
    background: transparent;
    overflow: hidden;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
    color: transparent !important;
    text-indent: -9999px;
    position: fixed;
  }

  body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) .rc-return-top::before,
  body.single-product:not(.woocommerce-cart):not(.woocommerce-checkout) .rc-return-top::before {
    content: "\2191";
    position: absolute;
    inset: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffb000;
    font-size: clamp(0.84rem, 3.35vw, 0.96rem);
    line-height: 1;
    text-indent: 0;
  }

  body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) .rc-return-top:hover,
  body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) .rc-return-top:focus,
  body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) .rc-return-top:focus-visible,
  body.single-product:not(.woocommerce-cart):not(.woocommerce-checkout) .rc-return-top:hover,
  body.single-product:not(.woocommerce-cart):not(.woocommerce-checkout) .rc-return-top:focus,
  body.single-product:not(.woocommerce-cart):not(.woocommerce-checkout) .rc-return-top:focus-visible {
    background: #ffb000;
    color: #000;
    outline: none;
    box-shadow: 0 0 18px rgba(255, 191, 0, 0.65);
  }

  body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) .rc-return-top:hover::before,
  body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) .rc-return-top:focus::before,
  body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) .rc-return-top:focus-visible::before,
  body.single-product:not(.woocommerce-cart):not(.woocommerce-checkout) .rc-return-top:hover::before,
  body.single-product:not(.woocommerce-cart):not(.woocommerce-checkout) .rc-return-top:focus::before,
  body.single-product:not(.woocommerce-cart):not(.woocommerce-checkout) .rc-return-top:focus-visible::before {
    color: #000;
  }
}

/* Single product: mobile-only return chip (JS arms after gallery + payment + description). */
@media (min-width: 769px) {
  body.single-product .rc-return-top--single-product {
    display: none !important;
    pointer-events: none !important;
  }
}

@media (max-width: 768px) {
  /* Mobile main shop: hide external cookie-consent floating revisit controls. */
  body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) .cmplz-manage-consent,
  body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) #cmplz-manage-consent,
  body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) #cky-btn-revisit-wrapper,
  body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) .cky-btn-revisit-wrapper,
  body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) #onetrust-consent-sdk #onetrust-pc-btn-handler {
    display: none !important;
  }
}

/* Mobile single-product: keep Apple/Google/Link express buttons inside product frame. */
@media (max-width: 768px) {
  body.single-product #wc-stripe-payment-request-wrapper,
  body.single-product .wc-stripe-payment-request-wrapper,
  body.single-product .wc-stripe-express-checkout-element,
  body.single-product .stripe-payment-request-button,
  body.single-product .payment_request_button,
  body.single-product .express-payment-button,
  body.single-product .wcpay-payment-request-button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.single-product .wc-stripe-payment-request-wrapper iframe,
  body.single-product .wc-stripe-express-checkout-element iframe,
  body.single-product .wcpay-payment-request-button iframe {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    display: block !important;
  }

  /* Embedded EveryPay/Stripe card pane: keep mobile scrollable if provider UI is wider. */
  body.single-product .wc-stripe-product-checkout-container {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
  }

  body.single-product .wc-stripe-product-checkout-container > div {
    min-width: max-content;
    max-width: none;
  }

  body.single-product .wc-stripe-product-checkout-container iframe {
    width: auto !important;
    min-width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    display: block !important;
  }

  /*
   * Single product (mobile): [ BACK TO SHOP ] + [ ABORT_MISSION ] â€” stack, full-width rows,
   * â‰¥48px tap height, extra vertical rhythm (rc_force_cart_terminal in functions.php).
   */
  body.single-product .rc-cart-terminal-override {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 1.25rem !important;
    padding-top: 1.5rem !important;
    margin-top: 1.75rem !important;
  }

  /* Mobile: top summary keeps the working variation form; hide duplicated terminal form at bottom. */
  body.single-product .rc-cart-terminal-override form.cart {
    display: none !important;
  }

  body.single-product .rc-cart-terminal-override .rc-back-link,
  body.single-product .rc-cart-terminal-override .rc-abort-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 48px !important;
    padding: 14px 18px !important;
    margin: 0 !important;
    font-size: 0.8125rem !important;
    line-height: 1.25 !important;
    text-align: center !important;
    letter-spacing: 0.12em !important;
    text-decoration: none !important;
    -webkit-tap-highlight-color: rgba(255, 191, 0, 0.15);
    touch-action: manipulation;
  }

  body.single-product .rc-cart-terminal-override .rc-back-link {
    border: 1px solid rgba(255, 191, 0, 0.5) !important;
    color: #ffbf00 !important;
    background: rgba(0, 0, 0, 0.35) !important;
  }

  body.single-product .rc-cart-terminal-override .rc-abort-link {
    border: 1px solid rgba(161, 161, 170, 0.55) !important;
    color: #a1a1aa !important;
    background: rgba(0, 0, 0, 0.35) !important;
  }
}

/* Glow only when active (non-# href) */
.rc-header-reset-minimal:not([href="#"]):hover,
.rc-manifest-toggle:hover {
    text-shadow: 0 0 8px #ffbf00;
}

/* =====================================================================
   MOBILE TERMINAL UTILITIES (header, cart, return, cart widget)
   ===================================================================== */
@media (max-width: 768px) {
  /* Sticky terminal header on Woo pages */
  header.rc-global-terminal,
  .rc-global-terminal {
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    background: #000 !important;
  }

  /*
   * Main shop only (mobile): same fixed bar + scroll-hide as desktop; overrides sticky above.
   * Padding matches main.rc-shell--catalog mobile gutters (0.75rem / 1.35rem bottom).
   */
  body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) header.rc-global-terminal,
  body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) .rc-global-terminal,
  body.single-product:not(.woocommerce-cart):not(.woocommerce-checkout) header.rc-global-terminal,
  body.single-product:not(.woocommerce-cart):not(.woocommerce-checkout) .rc-global-terminal {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 0;
    transition: transform 0.42s cubic-bezier(0.33, 1, 0.32, 1);
    transform: translate3d(0, 0, 0);
    will-change: transform;
    backface-visibility: hidden;
  }

  body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) header.rc-global-terminal.rc-global-terminal--scroll-hidden,
  body.single-product:not(.woocommerce-cart):not(.woocommerce-checkout) header.rc-global-terminal.rc-global-terminal--scroll-hidden {
    transform: translate3d(0, -100%, 0);
    pointer-events: none;
  }

  body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) header.rc-global-terminal.rc-global-terminal--scroll-hidden .rc-desktop-header-nav,
  body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) header.rc-global-terminal.rc-global-terminal--scroll-hidden .rc-mobile-cart-control,
  body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) header.rc-global-terminal.rc-global-terminal--scroll-hidden .rc-system-status,
  body.single-product:not(.woocommerce-cart):not(.woocommerce-checkout) header.rc-global-terminal.rc-global-terminal--scroll-hidden .rc-desktop-header-nav,
  body.single-product:not(.woocommerce-cart):not(.woocommerce-checkout) header.rc-global-terminal.rc-global-terminal--scroll-hidden .rc-mobile-cart-control,
  body.single-product:not(.woocommerce-cart):not(.woocommerce-checkout) header.rc-global-terminal.rc-global-terminal--scroll-hidden .rc-system-status,
  body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) header.rc-global-terminal.rc-global-terminal--scroll-hidden .rc-telemetry-mobile-row,
  body.single-product:not(.woocommerce-cart):not(.woocommerce-checkout) header.rc-global-terminal.rc-global-terminal--scroll-hidden .rc-telemetry-mobile-row {
    pointer-events: auto;
  }

  /*
   * iPhone / Dynamic Island / notch: insets on fixed terminal bar so content is not obscured.
   * JS --rc-shop-header-offset uses offsetHeight, which includes this padding.
   */
  body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) header.rc-global-terminal,
  body.single-product:not(.woocommerce-cart):not(.woocommerce-checkout) header.rc-global-terminal {
    padding-top: env(safe-area-inset-top, 0px);
    box-sizing: border-box;
  }

  /* Single product (mobile): hide disconnect + ID on the left; keep WELCOME / RAGNARCRAFT + [ LOGIN ] for guests */
  body.single-product:not(.woocommerce-cart):not(.woocommerce-checkout).logged-in
    header.rc-global-terminal .rc-system-status .rc-header-auth-link.rc-header-auth-link--account {
    display: none !important;
  }

  body.single-product:not(.woocommerce-cart):not(.woocommerce-checkout)
    header.rc-global-terminal .rc-system-status .rc-system-id-line {
    display: none !important;
  }

  /* 128px fallback: closer to real mobile bar if JS has not set --rc-shop-header-offset yet */
  body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) main.rc-shell.rc-shell--catalog {
    box-sizing: border-box !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    padding: calc(var(--rc-shop-header-offset, 128px) + 0.75rem) 0.75rem 1.35rem 0.75rem !important;
  }

  body.single-product:not(.woocommerce-cart):not(.woocommerce-checkout) main.rc-shell.rc-shell--single {
    padding-top: calc(var(--rc-shop-header-offset, 128px) + 0.75rem) !important;
  }

  body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) main.rc-shell--catalog .rc-shell__frame.rc-bento-block__frame {
    scroll-margin-top: calc(var(--rc-shop-header-offset, 128px) + 0.75rem);
  }

  body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) main.rc-shell--catalog .rc-shell__frame,
  body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) main.rc-shell--catalog .rc-bento-block__grid,
  body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) main.rc-shell--catalog ul.products {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) main.rc-shell--catalog li.product.rc-product-card {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .rc-terminal-inner {
    display: grid !important;
    grid-template-columns: minmax(92px, 1.1fr) auto minmax(100px, 1fr);
    align-items: center;
    column-gap: 8px;
    min-height: 92px;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: max(10px, env(safe-area-inset-left, 0px));
    padding-right: max(10px, env(safe-area-inset-right, 0px));
    box-sizing: border-box;
  }

  .rc-global-terminal .rc-system-status,
  .rc-global-terminal .telemetry {
    position: static;
  }

  .rc-global-terminal .rc-system-status {
    justify-self: start;
    max-width: min(38vw, 132px);
    min-width: 0;
  }

  .rc-global-terminal .telemetry {
    justify-self: end;
    text-align: right;
    font-size: 10px;
    line-height: 1.2;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    min-width: 0;
    max-width: 100%;
  }

  /*
   * One horizontal band: TIMESTAMP Â· back (product) Â· CART Â· [ X ]
   * Touch targets â‰¥44px where practical (Apple HIG / flagship iPhone class devices).
   */
  /* Stacked: TIMESTAMP â†’ CART â†’ [ X ] (same hierarchy as desktop cluster). */
  .rc-telemetry-mobile-row {
    display: flex !important;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 6px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .rc-telemetry-mobile-row .rc-telemetry-timestamp--compact {
    flex: 0 0 auto;
    font-size: 9px;
    letter-spacing: 0.4px;
    color: rgba(255, 191, 0, 0.52);
    text-transform: uppercase;
    line-height: 1.25;
    white-space: nowrap;
    min-width: 0;
  }

  .rc-telemetry-mobile-row .rc-header-back-arrow--mobile-row {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin-top: 0;
    min-height: 44px;
    min-width: 44px;
    padding: 0 8px;
    box-sizing: border-box;
  }

  .rc-telemetry-mobile-row .rc-mobile-cart-control {
    flex: 0 0 auto;
    max-width: 100%;
  }

  .rc-telemetry-mobile-row .rc-mobile-nav-stack {
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 6px;
    margin-top: 0;
  }

  .rc-telemetry-mobile-row .rc-mobile-nav-line {
    width: auto;
    display: flex;
    justify-content: flex-end;
  }

  .rc-telemetry-mobile-row .rc-mobile-nav-line .rc-mobile-cart-link,
  .rc-telemetry-mobile-row .rc-mobile-nav-line a.rc-clear-cart.rc-mobile-clear-link {
    min-height: 44px !important;
    min-width: 44px;
    padding: 0 12px !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box;
  }

  .rc-mobile-nav-line.rc-mobile-clear-line {
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: nowrap;
  }

  .rc-telemetry-mobile-row .rc-header-vault-lock {
    min-height: 44px;
    min-width: 44px;
    padding: 0 10px;
    box-sizing: border-box;
    -webkit-tap-highlight-color: rgba(255, 191, 0, 0.2);
    touch-action: manipulation;
  }

  .rc-telemetry-mobile-row .rc-header-vault-lock .rc-header-vault-lock__icon svg {
    width: 20px;
    height: 20px;
  }

  .rc-global-terminal img {
    height: 78px !important;
  }

  .welcome-text {
    font-size: 10px;
    line-height: 1.2;
  }

  .rc-system-id-line {
    margin-top: 4px;
  }

  .rc-header-back-arrow {
    display: inline-block;
    margin-top: 6px;
    color: #ffbf00;
    text-decoration: none;
    font-family: var(--rc-font-technical, 'Courier New', monospace);
    font-size: 10px;
    letter-spacing: 0.8px;
    border: 1px solid rgba(255, 191, 0, 0.55);
    padding: 3px 6px;
    line-height: 1;
  }

  /* Account under WELCOME: same chip frame as telemetry CART (44px / 0 12px / 10px) */
  .rc-global-terminal .rc-system-status .rc-header-auth-link.rc-header-auth-link--account {
    margin-top: 6px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 12px !important;
    max-width: 100%;
    box-sizing: border-box;
    font-size: 10px !important;
    letter-spacing: 0.6px;
    line-height: 1;
    text-transform: uppercase;
    font-family: var(--rc-font-technical, 'Courier New', monospace);
    background: #000;
    color: #ffbf00;
    border: 1px solid rgba(255, 191, 0, 0.55);
    width: fit-content;
    align-self: flex-start;
    opacity: 0.6;
    text-shadow: none;
    -webkit-tap-highlight-color: rgba(255, 191, 0, 0.15);
    touch-action: manipulation;
    transition: opacity 0.2s ease, text-shadow 0.2s ease, border-color 0.2s ease;
  }

  .rc-system-auth-row {
    margin-top: 6px;
    gap: 6px;
  }

  .rc-global-terminal .rc-system-status .rc-header-auth-link.rc-header-auth-link--account:hover {
    opacity: 1;
    color: #ffbf00;
    border-color: rgba(255, 191, 0, 0.75);
    text-shadow: 0 0 8px rgba(255, 191, 0, 0.55);
  }

  .rc-global-terminal .rc-system-status .rc-header-auth-link.rc-header-auth-link--account:active {
    opacity: 1;
    color: #ffbf00;
    border-color: rgba(255, 191, 0, 0.85);
    text-shadow: 0 0 8px rgba(255, 191, 0, 0.65);
  }

  .rc-global-terminal .rc-system-status .rc-header-auth-link.rc-header-auth-link--account:focus-visible {
    outline: 1px solid rgba(255, 191, 0, 0.65);
    outline-offset: 2px;
    opacity: 1;
  }

  .rc-header-back-arrow:hover {
    color: #ffffff;
    border-color: rgba(255, 191, 0, 0.9);
  }

  /* Mobile CART button inside header */
  .rc-mobile-cart-link {
    display: inline-block;
    margin-left: 0;
    padding: 3px 6px;
    background: #000;
    color: #ffbf00;
    border: 1px solid rgba(255, 191, 0, 0.55);
    border-radius: 0;
    font-family: var(--rc-font-technical, 'Courier New', monospace);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    text-decoration: none;
    line-height: 1;
  }

  /* Mobile header nav stack: readable spacing + thumb-friendly tap targets */
  .rc-mobile-nav-stack {
    margin-top: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 4px;
    flex-wrap: nowrap;
  }

  .rc-mobile-nav-line {
    display: flex;
    justify-content: flex-end;
    width: auto;
    flex: 0 0 auto;
  }

  .rc-mobile-nav-line .rc-mobile-cart-link,
  .rc-mobile-nav-line .rc-manifest-trigger {
    display: inline-flex !important;
    align-items: center;
    justify-content: flex-end;
    min-height: 26px;
    padding: 2px 4px !important;
    font-size: 10px !important;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    line-height: 1;
    margin-left: 0 !important;
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(255, 191, 0, 0.2);
    white-space: nowrap;
  }

  /* [ X ] between CART and MENU: same chip height/tap target as siblings */
  .rc-mobile-nav-line a.rc-clear-cart.rc-mobile-clear-link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    box-sizing: border-box;
  }

  /*
   * Mobile shop: [ MENU ] must match CART / [ X ] chips.
   * .rc-manifest-toggle + .rc-manifest-trigger both use border/background/padding: none !important globally â€” need
   * higher specificity + !important here (and single-product .rc-mobile-cart-control).
   */
  .rc-mobile-nav-line button.rc-manifest-toggle.rc-manifest-trigger,
  .rc-mobile-nav-line .rc-manifest-toggle.rc-manifest-trigger {
    border: 1px solid rgba(255, 191, 0, 0.75) !important;
    background: #000 !important;
    color: #ffbf00 !important;
    outline: none !important;
    text-decoration: none;
    text-shadow: none;
    animation: none;
    cursor: pointer;
    font-family: var(--rc-font-technical, 'Courier New', monospace);
  }

  .rc-mobile-nav-line button.rc-manifest-toggle.rc-manifest-trigger:hover,
  .rc-mobile-nav-line .rc-manifest-toggle.rc-manifest-trigger:hover {
    background: rgba(255, 191, 0, 0.12) !important;
    border-color: rgba(255, 191, 0, 0.9) !important;
    color: #ffbf00 !important;
  }

  .rc-mobile-cart-control button.rc-manifest-toggle.rc-manifest-trigger {
    display: inline-flex !important;
    align-items: center;
    justify-content: flex-end;
    min-height: 26px;
    padding: 2px 6px !important;
    font-size: 10px !important;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    line-height: 1;
    border: 1px solid rgba(255, 191, 0, 0.75) !important;
    background: #000 !important;
    color: #ffbf00 !important;
    outline: none !important;
    font-family: var(--rc-font-technical, 'Courier New', monospace);
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(255, 191, 0, 0.2);
    white-space: nowrap;
    cursor: pointer;
  }

  .rc-mobile-cart-control button.rc-manifest-toggle.rc-manifest-trigger:hover {
    background: rgba(255, 191, 0, 0.12) !important;
    border-color: rgba(255, 191, 0, 0.9) !important;
  }

  .rc-mobile-nav-line .rc-mobile-cart-link {
    border: 1px solid rgba(255, 191, 0, 0.75);
    background: #000;
    text-decoration: none;
    letter-spacing: 0.6px;
  }

  .rc-mobile-clear-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    min-width: 32px;
    padding: 2px 6px;
    border: 1px solid rgba(255, 191, 0, 0.55);
    background: #000;
    color: #ffbf00;
    text-decoration: none;
    font-family: var(--rc-font-technical, 'Courier New', monospace);
    font-size: 10px;
    letter-spacing: 0.6px;
    line-height: 1;
    text-transform: uppercase;
    opacity: 0.6;
    text-shadow: none;
  }

  .rc-mobile-clear-link.active {
    opacity: 1;
    color: #ffbf00;
    border-color: rgba(255, 191, 0, 0.75);
    text-shadow: 0 0 8px rgba(255, 191, 0, 0.6);
  }

  /* Inactive [ X ]: same dimmed gold as CART [ 0 ] */
  .rc-mobile-clear-link.inactive {
    opacity: 0.6;
    color: #ffbf00;
    border: 1px solid rgba(255, 191, 0, 0.55);
    background: #000;
    text-shadow: none;
    pointer-events: none;
    cursor: default;
  }

  .rc-mobile-nav-line .rc-mobile-cart-link.rc-cart-empty {
    opacity: 0.6;
    pointer-events: none;
    cursor: default;
  }

  .rc-mobile-cart-link.rc-cart-empty {
    opacity: 0.6;
    pointer-events: none;
    cursor: default;
  }

  /* Glow state when cart has 1+ items (text-only) */
  .rc-mobile-cart-link.rc-cart-active {
    text-shadow: 0 0 8px #ffbf00;
  }

  /* Compact cart monitor widget on mobile */
  .rc-cart-fragment {
    margin-top: 4px;
    font-size: 0.7rem;
  }

  .rc-cart-monitor {
    display: block !important;
    margin-left: 0 !important;
    line-height: 1.2;
  }

  .rc-cart-monitor a {
    display: flex;
    align-items: center;
    white-space: nowrap;
    font-size: 0.7rem !important;
  }

  /* Mobile-only bento cart text sizing */
  .rc-bento-cart-text-mobile {
    font-size: 0.7rem;
    display: flex;
    align-items: center;
    white-space: nowrap;
    line-height: 1.6;
  }

  .rc-bento-cart-text-mobile .rc-bento-cart-icon-mobile {
    margin-right: 6px;
    margin-bottom: 0;
  }

  /* =====================================================================
     PROJECT FRANKENSTEIN — mobile PDP summary/text (sections 2–4)
     Stripped toxic summary > * / inline-flex price fight. Gallery rules below unchanged.
     Reference: assets/css/frankenstein-mobile-pdp.css
     ===================================================================== */

  /* 2. QUARANTINE ZONE: text wrap & summary containers */
  body.single-product .woocommerce div.product div.summary,
  body.single-product div.product div.summary {
    float: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    clear: both !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  body.single-product div.product div.summary *,
  body.single-product div.product .summary {
    box-sizing: border-box !important;
    max-width: 100% !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    white-space: normal !important;
    text-align: left !important;
  }

  body.single-product .product_title {
    font-size: 1.4rem;
    margin-bottom: 5px !important;
  }

  body.single-product .woocommerce-product-details__short-description a {
    overflow-wrap: anywhere !important;
  }

  /* 3. NEUTRALIZE toxic flex rows — block stack price / acquire */
  body.single-product .woocommerce div.product div.summary > p.price,
  body.single-product .woocommerce div.product div.summary > .rc-price-stock-row {
    display: block !important;
    width: 100% !important;
    margin-right: 0 !important;
    margin-bottom: 12px !important;
  }

  body.single-product .woocommerce div.product div.summary > .rc-price-stock-row > p.price,
  body.single-product .woocommerce div.product div.summary > .rc-price-stock-row > p.stock {
    display: block !important;
    margin: 0 0 5px 0 !important;
  }

  body.single-product .woocommerce div.product div.summary > .rc-price-acquire-row {
    display: block !important;
    width: 100% !important;
    margin-top: 15px !important;
    margin-bottom: 8px !important;
  }

  body.single-product .woocommerce div.product div.summary > .rc-price-acquire-row form.cart,
  body.single-product .woocommerce div.product div.summary > .rc-price-acquire-row:has(.variations_form.cart) form.variations_form.cart {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 12px;
    margin-top: 0 !important;
  }

  body.single-product .rc-price-acquire-row:has(.variations_form.cart) form.variations_form.cart .variations {
    width: 100% !important;
    margin: 0 !important;
  }

  body.single-product .rc-price-acquire-row:has(.variations_form.cart) form.variations_form.cart table.variations,
  body.single-product .rc-price-acquire-row:has(.variations_form.cart) form.variations_form.cart table.variations tbody,
  body.single-product .rc-price-acquire-row:has(.variations_form.cart) form.variations_form.cart table.variations tr,
  body.single-product .rc-price-acquire-row:has(.variations_form.cart) form.variations_form.cart table.variations td.label,
  body.single-product .rc-price-acquire-row:has(.variations_form.cart) form.variations_form.cart table.variations td.value {
    display: block !important;
    width: 100% !important;
  }

  body.single-product .rc-price-acquire-row:has(.variations_form.cart) form.variations_form.cart table.variations td.label {
    margin-bottom: 5px;
  }

  body.single-product .rc-price-acquire-row:has(.variations_form.cart) form.variations_form.cart table.variations td.value select {
    width: 100% !important;
    min-width: 0;
  }

  body.single-product .rc-price-acquire-row:has(.variations_form.cart) form.variations_form.cart .single_variation_wrap {
    width: 100% !important;
    margin: 0 !important;
  }

  body.single-product .rc-price-acquire-row:has(.variations_form.cart) form.variations_form.cart .single_variation_wrap .woocommerce-variation-add-to-cart {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 10px;
  }

  body.single-product .rc-price-acquire-row:has(.variations_form.cart) .single_add_to_cart_button {
    width: 100% !important;
    text-align: center !important;
    padding: 15px !important;
  }

  body.single-product:is(.rc-vault-drop-pdp, .postid-977) .rc-price-acquire-row:has(.variations_form.cart) .single_add_to_cart_button,
  body.single-product:is(.rc-vault-drop-pdp, .postid-977) .rc-cart-terminal-override:has(.variations_form.cart) .single_add_to_cart_button {
    width: auto !important;
    align-self: flex-start !important;
    padding: 10px 20px !important;
  }

  body.single-product:is(.rc-vault-drop-pdp, .postid-977) .rc-price-acquire-row:has(.variations_form.cart) form.variations_form.cart .single_variation_wrap .woocommerce-variation-add-to-cart {
    align-items: flex-start !important;
  }

  body.single-product .rc-price-acquire-row:has(.variations_form.cart) .rc-express-pay-row {
    width: 100%;
    max-width: 100%;
    margin-top: 0.65rem !important;
  }

  /* 4. META & SPECS */
  body.single-product div.product div.summary .product_meta {
    border-top: 1px dashed #333;
    border-bottom: 1px dashed #333;
    padding: 8px 0 !important;
    margin-top: 12px !important;
    margin-bottom: 12px !important;
  }

  body.single-product div.product div.summary .product_meta span {
    display: block;
    margin-bottom: 3px;
  }

  body.single-product .rc-product-card__specs {
    margin: 10px 0 !important;
    padding: 8px 0 !important;
  }

  body.single-product .rc-product-card__spec-line {
    letter-spacing: 0.5px !important;
    width: 100% !important;
    display: block !important;
  }

  body.single-product .woocommerce-product-details__short-description {
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  body.single-product .woocommerce div.product,
  body.single-product div.product {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }


  /* De-float images column; stack gallery vertically (main stage + arrows row, thumbs below). */
  body.single-product .woocommerce div.product div.images,
  body.single-product div.product div.images {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 auto !important;
    float: none !important;
  }

  /*
   * IMPORTANT: plain flex without column was row â€” Flexslider wrapper + ol.flex-control-thumbs sat side-by-side.
   * Column keeps only the main slide + direction nav in the upper block; thumbnail rail stacks underneath.
   */
  body.single-product .woocommerce-product-gallery {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 auto !important;
    float: none !important;
  }

  body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
    position: relative;
    width: 100%;
    flex: 0 0 auto;
  }

  body.single-product .woocommerce-product-gallery { opacity: 1 !important; }
}

.rc-header-back-arrow {
    display: inline-block;
    margin-top: 8px;
    color: var(--rc-amber);
    text-decoration: none;
    font-family: var(--rc-font-technical), monospace;
    font-size: 11px;
    letter-spacing: 1px;
    border: 1px solid rgba(255, 191, 0, 0.55);
    padding: 4px 8px;
    line-height: 1;
}

.rc-header-back-arrow:hover {
    color: #fff;
    border-color: rgba(255, 191, 0, 0.9);
}

body.single-product .rc-global-terminal .telemetry .rc-telemetry-desktop-cluster .rc-header-back-arrow--telemetry {
    display: inline-flex;
    align-items: center;
    margin-top: 0;
}

@media (min-width: 769px) {
    body.single-product .rc-global-terminal .telemetry .rc-telemetry-desktop-cluster .rc-telemetry-timestamp {
        display: block !important;
        margin: 0;
    }
}

/* Compress WooCommerce Single Product Gaps (global) */
.woocommerce div.product div.summary {
    margin-bottom: 0 !important;
}
.woocommerce div.product div.summary p.price,
.woocommerce div.product div.summary .woocommerce-product-details__short-description,
.woocommerce div.product div.summary .product_meta,
.woocommerce div.product div.summary form.cart {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}
/* Target the dashed border separators if they have excessive padding */
.woocommerce div.product div.summary .product_meta {
    border-top: 1px dashed #333;
    border-bottom: 1px dashed #333;
}

  /* Ensure sticky header works on Woo pages by preventing overflow clipping */
  body.woocommerce,
  body.woocommerce-page,
  body.archive.woocommerce,
  body.single-product,
  body.woocommerce #page,
  body.woocommerce-page #page,
  body.woocommerce .wp-site-blocks,
  body.woocommerce-page .wp-site-blocks,
  body.woocommerce .site,
  body.woocommerce-page .site,
  body.woocommerce .content-area,
  body.woocommerce-page .content-area,
  body.woocommerce #primary,
  body.woocommerce-page #primary,
  body.woocommerce #main,
  body.woocommerce-page #main,
  body.woocommerce .site-main,
  body.woocommerce-page .site-main,
  body.woocommerce .rc-shell,
  body.woocommerce-page .rc-shell,
  body.single-product .rc-shell,
  body.single-product main.rc-shell {
    overflow: visible !important;
    overflow-x: visible !important;
  }

/*
 * Single product: kill horizontal page scroll (sticky-header rule above uses overflow-x:visible).
 * 100vw footers and wide gallery rails otherwise show a bottom horizontal scrollbar.
 */
body.single-product {
    overflow-x: hidden !important;
}
body.single-product #page,
body.single-product .wp-site-blocks {
    overflow-x: hidden !important;
    max-width: 100%;
}
body.single-product .woocommerce div.product.rc-product-frame {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

/* ==========================================================
   AMBER PROTOCOL: WOOCOMMERCE SHOP GRID HOVERS
   ========================================================== */

/* 1. Base Container Transition */
.woocommerce ul.products li.product {
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    border: 1px solid transparent; 
    padding: 10px; /* Adjust based on your current grid spacing */
    background: transparent;
}

/* 2. The Holographic Lift (Container Hover) */
.woocommerce ul.products li.product:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.8), inset 0 0 15px rgba(255, 191, 0, 0.05);
    border-color: rgba(255, 191, 0, 0.3);
    background: rgba(10, 10, 10, 0.4); /* Slight dark background to make glow pop */
}

/* 3. Base Image Setup (Slightly desaturated for impact) */
.woocommerce ul.products li.product a img {
    transition: all 0.6s ease-in-out;
    filter: grayscale(30%) contrast(1.1);
}

/* 4. The Amber Crossfade (Image Hover) */
.woocommerce ul.products li.product a:hover img {
    /* Forces the image into a high-contrast amber spectrum */
    filter: sepia(1) hue-rotate(350deg) saturate(3.5) brightness(0.9) contrast(1.2);
    box-shadow: 0 0 20px rgba(255, 191, 0, 0.15);
}

/* 5. Typography Glow (Title Hover) */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    transition: color 0.3s ease, text-shadow 0.3s ease;
}

.woocommerce ul.products li.product:hover .woocommerce-loop-product__title {
    color: #ffbf00 !important;
    text-shadow: 0 0 8px rgba(255, 191, 0, 0.6);
}

/* 6. Price Color Lock (Ensures whole numbers stay sharp) */
.woocommerce ul.products li.product .price {
    color: #ffbf00;
    transition: filter 0.3s ease;
}

.woocommerce ul.products li.product:hover .price {
    filter: drop-shadow(0 0 4px rgba(255, 191, 0, 0.4));
}
/* ==========================================================
   MOBILE HOTFIXES (APPENDED)
   ========================================================== */

/* 1. Prevent Footer Crash: Forces the shell to act as a full-height flex column, pushing the footer down natively */
/* iOS: 100dvh aligns Safari tab vs home-screen web app; safe-area respects notch/home indicator (header.php uses viewport-fit=cover). */
@media (max-width: 768px) {
    .rc-shell {
        display: flex !important;
        flex-direction: column !important;
        min-height: 100vh !important;
        min-height: 100dvh !important;
        padding-top: 0;
        padding-left: max(1rem, env(safe-area-inset-left, 0px));
        padding-right: max(1rem, env(safe-area-inset-right, 0px));
        padding-bottom: calc(2rem + env(safe-area-inset-bottom, 0px));
    }
    
    .rc-terminal-footer {
        margin-top: auto !important;
    }

    /* 2. Contain Overflowing Buttons: Prevents [ RETURN ] / [ SUBMIT ] from bleeding off the screen */
    .rc-bento-block__frame button, 
    .rc-bento-block__frame .button,
    .rc-product-card__actions a.button {
        max-width: 100% !important;
        box-sizing: border-box !important;
        white-space: normal !important; /* Allows text to wrap instead of pushing the button width out */
    }

    /* 3. Terminal Input Row Flex: Prevents the text input and submit buttons from crushing each other */
    .rc-bento-block__frame form {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
        width: 100% !important;
    }
    
    .rc-bento-block__frame input[type="text"],
    .rc-bento-block__frame input[type="password"] {
        flex: 1 1 auto !important;
        min-width: 0 !important; /* Forces the input to shrink if needed */
        box-sizing: border-box !important;
    }
    
    .rc-bento-block__frame button[type="submit"] {
        flex: 0 0 auto !important;
    }

    /* 4. Text Wrap Safety: prices only — titles use catalog rules above */
    .rc-product-card__price .amount {
        word-break: keep-all !important;
        overflow-wrap: break-word !important;
    }

    /* 5. LOGISTICS CHIP COMPRESSION */
    body.single-product .rc-logistic-specifications {
        display: inline-flex !important;
        align-items: center;
        gap: 8px;
        width: fit-content !important;
        max-width: 100% !important;
        margin: 1rem 0 !important;
        padding: 8px 14px !important;
        border: 1px solid var(--rc-amber, #ffbf00) !important;
        background: rgba(255, 191, 0, 0.08) !important;
        border-radius: 3px;
        font-size: 0.75rem !important;
        letter-spacing: 0.5px;
        color: var(--rc-amber, #ffbf00) !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* Strip native paragraph formatting inside the chip */
    body.single-product .rc-logistic-specifications p,
    body.single-product .rc-logistic-specifications span {
        margin: 0 !important;
        padding: 0 !important;
        color: inherit !important;
        display: inline !important;
        font-family: var(--rc-font-technical), monospace !important;
    }

    /* 6. GLOBAL MOBILE TYPOGRAPHY NORMALIZATION */
    /* Forces AK Tronic, POD, and Digital descriptions to the exact same scale */
    body.single-product .woocommerce-product-details__short-description {
        font-size: 0.92rem !important;
        line-height: 1.5 !important;
    }

    body.single-product .woocommerce-product-details__short-description :is(
        p,
        li,
        ul,
        ol,
        h1,
        h2,
        h3,
        h4,
        h5,
        h6,
        .wp-block-heading,
        .wp-block-paragraph
    ) {
        font-size: inherit !important;
        line-height: inherit !important;
    }

    body.single-product .rc-product-card__specs,
    body.single-product .rc-product-card__spec-line,
    body.single-product .entry-content p {
        font-size: 0.92rem !important;
        line-height: 1.5 !important;
    }

    /* §5 typography lock last: chip stays compact; wins over §6 short-description rules */
    body.single-product .woocommerce-product-details__short-description .rc-logistic-specifications,
    body.single-product .woocommerce-product-details__short-description .rc-logistic-specifications :is(p, span, li, ul, ol) {
        font-size: 0.75rem !important;
        line-height: 1.15 !important;
    }

    body.single-product .woocommerce-product-details__short-description .rc-logistic-specifications p,
    body.single-product .woocommerce-product-details__short-description .rc-logistic-specifications span {
        line-height: 1 !important;
    }
}

/*
 * iOS home-screen web app (standalone): env(safe-area) + max(1rem, â€¦) + .rc-shell__frame padding
 * can yield a narrower text column than Mobile Safari tab â†’ mid-word wraps on titles/prices.
 * Scoped to display-mode standalone/fullscreen only; browser tab unchanged.
 */
@media (max-width: 768px) and (display-mode: standalone),
       (max-width: 768px) and (display-mode: fullscreen) {
    body.single-product {
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }

    body.single-product main.rc-shell.rc-shell--single {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        padding-bottom: calc(2rem + env(safe-area-inset-bottom, 0px)) !important;
    }

    body.single-product .rc-shell--single .rc-shell__frame {
        padding: 1rem !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.single-product .rc-product-frame,
    body.single-product div.product.rc-product-frame {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        min-width: 0 !important;
    }

    body.single-product div.product .summary,
    body.single-product .woocommerce div.product div.summary {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Typographic lock: complements ragnarcraft_force_dark_shop() price fix (no em-stacking) */
    body.single-product .product_title {
        font-size: clamp(0.88rem, 3.2vw, 1.08rem) !important;
        line-height: 1.2 !important;
    }
    body.single-product .summary p.price,
    body.single-product div.product .summary .price {
        font-size: 0.98rem !important;
        line-height: 1.28 !important;
    }
    body.single-product .summary p.price .amount,
    body.single-product .summary p.price .woocommerce-Price-amount {
        font-size: 1em !important;
    }
    body.single-product .woocommerce-product-details__short-description,
    body.single-product .rc-product-card__specs,
    body.single-product .rc-product-card__spec-line {
        font-size: 0.875rem !important;
        line-height: 1.4 !important;
    }

    /* Horizontal drift / clipped edges; scroll padding for home indicator over price */
    body.single-product {
        overflow-x: hidden !important;
        padding-bottom: calc(1.5rem + env(safe-area-inset-bottom, 0px)) !important;
    }
    body.single-product #page,
    body.single-product .wp-site-blocks {
        overflow-x: hidden !important;
        max-width: 100% !important;
    }
    body.single-product .rc-product-frame__media {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 0 !important;
        min-height: min(72vw, 360px) !important;
        box-sizing: border-box !important;
    }
    body.single-product .rc-product-frame__media img {
        max-width: 100% !important;
        width: auto !important;
        height: auto !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    body.single-product .rc-cart-terminal-override {
        margin-top: 1rem !important;
        padding-top: 1rem !important;
        gap: 12px !important;
    }
    body.single-product .rc-product-card__specs {
        margin: 4px 0 !important;
        padding: 2px 0 !important;
    }
    body.single-product .rc-product-card__spec-line {
        text-align: left !important;
        margin-bottom: 0.2rem !important;
        line-height: 1.3 !important;
        unicode-bidi: plaintext;
        direction: ltr;
    }
}

/*
 * iOS home-screen web app (standalone): shop / catalog bento â€” same containment as single-product.
 * Browser tab keeps existing gutters; standalone needs safe-area + overflow-x or the grid can sit â€œoutsideâ€ the frame.
 */
@media (max-width: 768px) and (display-mode: standalone),
       (max-width: 768px) and (display-mode: fullscreen) {
    body.woocommerce-page:not(.woocommerce-cart):not(.woocommerce-checkout) {
        overflow-x: hidden !important;
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }

    body.woocommerce-page:not(.woocommerce-cart):not(.woocommerce-checkout) #page,
    body.woocommerce-page:not(.woocommerce-cart):not(.woocommerce-checkout) .wp-site-blocks {
        overflow-x: hidden !important;
        max-width: 100% !important;
    }

    /* Fixed shop header: respect notch / status inset; offsetHeight includes this for --rc-shop-header-offset */
    body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) header.rc-global-terminal {
        padding-top: env(safe-area-inset-top, 0px);
        box-sizing: border-box;
    }

    body.woocommerce-page:not(.woocommerce-cart):not(.woocommerce-checkout) main.rc-shell.rc-shell--catalog {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding-left: max(0.75rem, env(safe-area-inset-left, 0px)) !important;
        padding-right: max(0.75rem, env(safe-area-inset-right, 0px)) !important;
        padding-bottom: calc(1.35rem + env(safe-area-inset-bottom, 0px)) !important;
    }

    body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) main.rc-shell.rc-shell--catalog {
        padding-top: calc(var(--rc-shop-header-offset, 128px) + 0.75rem) !important;
    }

    body.woocommerce-page:not(.woocommerce-cart):not(.woocommerce-checkout) .rc-bento-block__grid,
    body.woocommerce-page:not(.woocommerce-cart):not(.woocommerce-checkout) ul.products {
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-page:not(.woocommerce-cart):not(.woocommerce-checkout) .rc-shell__header--page,
    body.woocommerce-page:not(.woocommerce-cart):not(.woocommerce-checkout) .rc-bento-block {
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
}

/*
 * Same single-product web-app layout as above, driven by html.rc-web-app-standalone (see wp_head script).
 * Covers cases where (display-mode: standalone) in @media does not match but navigator.standalone does.
 */
@media (max-width: 768px) {
    html.rc-web-app-standalone body.single-product {
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }

    html.rc-web-app-standalone body.single-product main.rc-shell.rc-shell--single {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        padding-bottom: calc(2rem + env(safe-area-inset-bottom, 0px)) !important;
    }

    html.rc-web-app-standalone body.single-product .rc-shell--single .rc-shell__frame {
        padding: 1rem !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    html.rc-web-app-standalone body.single-product .rc-product-frame,
    html.rc-web-app-standalone body.single-product div.product.rc-product-frame {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        min-width: 0 !important;
    }

    html.rc-web-app-standalone body.single-product div.product .summary,
    html.rc-web-app-standalone body.single-product .woocommerce div.product div.summary {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    html.rc-web-app-standalone body.single-product .product_title {
        font-size: clamp(0.88rem, 3.2vw, 1.08rem) !important;
        line-height: 1.2 !important;
    }
    html.rc-web-app-standalone body.single-product .summary p.price,
    html.rc-web-app-standalone body.single-product div.product .summary .price {
        font-size: 0.98rem !important;
        line-height: 1.28 !important;
    }
    html.rc-web-app-standalone body.single-product .summary p.price .amount,
    html.rc-web-app-standalone body.single-product .summary p.price .woocommerce-Price-amount {
        font-size: 1em !important;
    }
    html.rc-web-app-standalone body.single-product .woocommerce-product-details__short-description,
    html.rc-web-app-standalone body.single-product .rc-product-card__specs,
    html.rc-web-app-standalone body.single-product .rc-product-card__spec-line {
        font-size: 0.875rem !important;
        line-height: 1.4 !important;
    }

    html.rc-web-app-standalone body.single-product {
        overflow-x: hidden !important;
        padding-bottom: calc(1.5rem + env(safe-area-inset-bottom, 0px)) !important;
    }
    html.rc-web-app-standalone body.single-product #page,
    html.rc-web-app-standalone body.single-product .wp-site-blocks {
        overflow-x: hidden !important;
        max-width: 100% !important;
    }
    html.rc-web-app-standalone body.single-product .rc-product-frame__media {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 0 !important;
        min-height: min(72vw, 360px) !important;
        box-sizing: border-box !important;
    }
    html.rc-web-app-standalone body.single-product .rc-product-frame__media img {
        max-width: 100% !important;
        width: auto !important;
        height: auto !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    html.rc-web-app-standalone body.single-product .rc-cart-terminal-override {
        margin-top: 1rem !important;
        padding-top: 1rem !important;
        gap: 12px !important;
    }
    html.rc-web-app-standalone body.single-product .rc-product-card__specs {
        margin: 4px 0 !important;
        padding: 2px 0 !important;
    }
    html.rc-web-app-standalone body.single-product .rc-product-card__spec-line {
        text-align: left !important;
        margin-bottom: 0.2rem !important;
        line-height: 1.3 !important;
        unicode-bidi: plaintext;
        direction: ltr;
    }

    /* Shop / catalog bento (navigator.standalone / class hook) â€” mirror display-mode: standalone block above */
    html.rc-web-app-standalone body.woocommerce-page:not(.woocommerce-cart):not(.woocommerce-checkout) {
        overflow-x: hidden !important;
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }

    html.rc-web-app-standalone body.woocommerce-page:not(.woocommerce-cart):not(.woocommerce-checkout) #page,
    html.rc-web-app-standalone body.woocommerce-page:not(.woocommerce-cart):not(.woocommerce-checkout) .wp-site-blocks {
        overflow-x: hidden !important;
        max-width: 100% !important;
    }

    html.rc-web-app-standalone body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) header.rc-global-terminal {
        padding-top: env(safe-area-inset-top, 0px);
        box-sizing: border-box;
    }

    html.rc-web-app-standalone body.woocommerce-page:not(.woocommerce-cart):not(.woocommerce-checkout) main.rc-shell.rc-shell--catalog {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding-left: max(0.75rem, env(safe-area-inset-left, 0px)) !important;
        padding-right: max(0.75rem, env(safe-area-inset-right, 0px)) !important;
        padding-bottom: calc(1.35rem + env(safe-area-inset-bottom, 0px)) !important;
    }

    html.rc-web-app-standalone body.woocommerce-shop:not(.woocommerce-cart):not(.woocommerce-checkout) main.rc-shell.rc-shell--catalog {
        padding-top: calc(var(--rc-shop-header-offset, 128px) + 0.75rem) !important;
    }

    html.rc-web-app-standalone body.woocommerce-page:not(.woocommerce-cart):not(.woocommerce-checkout) .rc-bento-block__grid,
    html.rc-web-app-standalone body.woocommerce-page:not(.woocommerce-cart):not(.woocommerce-checkout) ul.products {
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    html.rc-web-app-standalone body.woocommerce-page:not(.woocommerce-cart):not(.woocommerce-checkout) .rc-shell__header--page,
    html.rc-web-app-standalone body.woocommerce-page:not(.woocommerce-cart):not(.woocommerce-checkout) .rc-bento-block {
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
}
/* ==========================================================
   MAIN DECK / MENU HOTFIX (APPENDED)
   ========================================================== */
   @media (max-width: 768px) {
    /* Converts the rigid wrapper into a scrolling flex column */
    .deck-wrapper {
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
        min-height: 100vh !important;
        min-height: 100dvh !important;
        justify-content: flex-start !important; 
        padding-bottom: calc(2rem + env(safe-area-inset-bottom, 0px)) !important;
    }
    
    /* Pulls the footer out of absolute space and stacks it cleanly at the bottom */
    .system-footer {
        position: relative !important;
        bottom: auto !important;
        margin-top: auto !important; /* Forces it to the absolute bottom of the scroll */
        padding-top: 3rem !important;
        z-index: 50 !important; /* Brings it to the front so it is clickable */
        pointer-events: auto !important;
    }
}
/* ==========================================================
   GLOBAL iOS INPUT OVERRIDES (TERMINATE BLUE RING)
   ========================================================== */
   input[type="text"], 
   input[type="password"], 
   input[type="email"], 
   textarea {
       -webkit-appearance: none !important;
       -moz-appearance: none !important;
       appearance: none !important;
       outline: none !important;
       box-shadow: none !important;
       border-radius: 0 !important; /* Kills Apple's forced rounded corners */
   }
   
   /* Replaces the blue ring with your custom Amber protocol glow on tap */
   input[type="text"]:focus, 
   input[type="password"]:focus {
       outline: none !important;
       border-color: #ffbf00 !important;
       box-shadow: 0 0 12px rgba(255, 191, 0, 0.6) !important;
   }

/* ==========================================================
   MY ACCOUNT / VAULT â€” TERMINAL SKIN (nav, tables, forms)
   Amber: #ffbf00 â€” scoped to body.woocommerce-account
   ========================================================== */

/* 1. Account nav â€” directory list, block buttons, invert hover */
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 1.5rem 0 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    list-style: none !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block !important;
    box-sizing: border-box !important;
    padding: 12px 14px !important;
    border: 1px solid #ffbf00 !important;
    border-radius: 0 !important;
    background: #000000 !important;
    color: #ffbf00 !important;
    font-family: var(--rc-font-technical) !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a:focus {
    background: #ffbf00 !important;
    color: #000000 !important;
    outline: none !important;
    box-shadow: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    background: #ffbf00 !important;
    color: #000000 !important;
}

/* 2. Orders + downloads tables */
body.woocommerce-account .woocommerce-orders-table,
body.woocommerce-account .woocommerce-MyAccount-downloads table,
body.woocommerce-account .woocommerce-MyAccount-downloads .shop_table {
    width: 100% !important;
    border-collapse: collapse !important;
    background: #000000 !important;
    border: 1px solid #ffbf00 !important;
    font-family: var(--rc-font-technical) !important;
}

body.woocommerce-account .woocommerce-orders-table th,
body.woocommerce-account .woocommerce-orders-table td,
body.woocommerce-account .woocommerce-MyAccount-downloads table th,
body.woocommerce-account .woocommerce-MyAccount-downloads table td,
body.woocommerce-account .woocommerce-MyAccount-downloads .shop_table th,
body.woocommerce-account .woocommerce-MyAccount-downloads .shop_table td {
    border: 1px solid #ffbf00 !important;
    background: #000000 !important;
    color: #ffbf00 !important;
    padding: 12px 14px !important;
    font-family: var(--rc-font-technical) !important;
    font-size: 0.8rem !important;
    vertical-align: middle !important;
}

body.woocommerce-account .woocommerce-orders-table thead th,
body.woocommerce-account .woocommerce-MyAccount-downloads table thead th,
body.woocommerce-account .woocommerce-MyAccount-downloads .shop_table thead th {
    background: #ffbf00 !important;
    color: #000000 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
}

body.woocommerce-account .woocommerce-orders-table tbody tr:nth-child(odd) td,
body.woocommerce-account .woocommerce-orders-table tbody tr:nth-child(even) td,
body.woocommerce-account .woocommerce-orders-table tbody tr:nth-child(odd) th,
body.woocommerce-account .woocommerce-orders-table tbody tr:nth-child(even) th,
body.woocommerce-account .woocommerce-MyAccount-downloads table tbody tr:nth-child(odd) td,
body.woocommerce-account .woocommerce-MyAccount-downloads table tbody tr:nth-child(even) td,
body.woocommerce-account .woocommerce-MyAccount-downloads .shop_table tbody tr:nth-child(odd) td,
body.woocommerce-account .woocommerce-MyAccount-downloads .shop_table tbody tr:nth-child(even) td {
    background: #000000 !important;
    color: #ffbf00 !important;
}

body.woocommerce-account .woocommerce-orders-table a,
body.woocommerce-account .woocommerce-MyAccount-downloads a {
    color: #ffbf00 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

body.woocommerce-account .woocommerce-orders-table a:hover,
body.woocommerce-account .woocommerce-MyAccount-downloads a:hover {
    color: #fff !important;
}

/* 3. Edit account + edit address forms */
body.woocommerce-account form.edit-account input[type="text"],
body.woocommerce-account form.edit-account input[type="email"],
body.woocommerce-account form.edit-account input[type="password"],
body.woocommerce-account form.edit-account input[type="tel"],
body.woocommerce-account form.edit-account input[type="url"],
body.woocommerce-account form.edit-account textarea,
body.woocommerce-account form.edit-account select,
body.woocommerce-account .woocommerce-EditAccountForm input[type="text"],
body.woocommerce-account .woocommerce-EditAccountForm input[type="email"],
body.woocommerce-account .woocommerce-EditAccountForm input[type="password"],
body.woocommerce-account .woocommerce-EditAccountForm input[type="tel"],
body.woocommerce-account .woocommerce-EditAccountForm input[type="url"],
body.woocommerce-account .woocommerce-EditAccountForm textarea,
body.woocommerce-account .woocommerce-EditAccountForm select,
body.woocommerce-account form.edit-address input.input-text,
body.woocommerce-account form.edit-address input[type="text"],
body.woocommerce-account form.edit-address input[type="email"],
body.woocommerce-account form.edit-address input[type="tel"],
body.woocommerce-account form.edit-address textarea,
body.woocommerce-account .woocommerce-address-fields input.input-text,
body.woocommerce-account .woocommerce-address-fields input[type="email"],
body.woocommerce-account .woocommerce-address-fields input[type="tel"],
body.woocommerce-account .woocommerce-address-fields textarea,
body.woocommerce-account .woocommerce-address-fields select,
body.woocommerce-account form.edit-address select {
    background: #000000 !important;
    border: 1px solid #ffbf00 !important;
    border-radius: 0 !important;
    color: #ffbf00 !important;
    font-family: var(--rc-font-technical) !important;
    font-size: 0.85rem !important;
    padding: 10px 12px !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    outline: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

body.woocommerce-account form.edit-account textarea,
body.woocommerce-account .woocommerce-EditAccountForm textarea,
body.woocommerce-account form.edit-address textarea,
body.woocommerce-account .woocommerce-address-fields textarea {
    min-height: 100px !important;
}

body.woocommerce-account form.edit-account input:focus,
body.woocommerce-account form.edit-account textarea:focus,
body.woocommerce-account form.edit-account select:focus,
body.woocommerce-account .woocommerce-EditAccountForm input:focus,
body.woocommerce-account .woocommerce-EditAccountForm textarea:focus,
body.woocommerce-account .woocommerce-EditAccountForm select:focus,
body.woocommerce-account form.edit-address input:focus,
body.woocommerce-account form.edit-address textarea:focus,
body.woocommerce-account form.edit-address select:focus,
body.woocommerce-account .woocommerce-address-fields input:focus,
body.woocommerce-account .woocommerce-address-fields textarea:focus,
body.woocommerce-account .woocommerce-address-fields select:focus {
    border-color: #ffbf00 !important;
    box-shadow: 0 0 0 1px #ffbf00, 0 0 14px rgba(255, 191, 0, 0.45) !important;
    outline: none !important;
}

/* ==========================================================================
   VAULT DASHBOARD / VAULT LOGIN â€” stealth chrome (scripts load via header/footer)
   page-{slug} always present; page-template-* when template slug is stored in post meta.
   Theme nav uses .vault-nav (no <header> element).
   ========================================================================== */
body.page-template-page-vault-dashboard,
body.page-template-page-vault-login,
body.page-vault-dashboard,
body.page-vault-login,
body.rc-vault-dashboard-body,
body.rc-vault-login-terminal {
    background-color: #000000 !important;
}

.page-template-page-vault-dashboard header,
.page-template-page-vault-dashboard footer,
.page-template-page-vault-login header,
.page-template-page-vault-login footer,
.page-vault-dashboard header,
.page-vault-dashboard footer,
.page-vault-login header,
.page-vault-login footer,
/* Keep top nav visible on Vault Dashboard (disconnect lives here); hide only on vault-login */
.page-template-page-vault-login .vault-nav,
.page-vault-login .vault-nav {
    display: none !important;
}

body.page-vault-login .rc-vault-login-main,
.rc-vault-login-main {
    max-width: 720px;
    margin: 0 auto;
    padding: 2rem 1.25rem 4rem;
    box-sizing: border-box;
    font-family: var(--rc-font-technical);
}

@media (max-width: 768px) {
    body.page-vault-login .rc-vault-login-main,
    .rc-vault-login-main {
        padding: 1.25rem 1rem 3rem;
        width: 100%;
        max-width: 100%;
    }

    /* WC shortcodes inside vault-login: align with viewport padding */
    .rc-vault-login-main .woocommerce {
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .rc-vault-login-main .woocommerce form .form-row input.input-text,
    .rc-vault-login-main .woocommerce input.input-text {
        box-sizing: border-box !important;
        max-width: 100% !important;
    }
}

/*
 * Desktop: lost-password username/email field â€” cap width.
 * Link from vault is often /my-account/lost-password/ (body.woocommerce-account), not page-vault-login.
 */
@media (min-width: 769px) {
    body.woocommerce-account form.lost_reset_password .form-row,
    body.woocommerce-account form.woocommerce-ResetPassword.lost_reset_password .form-row,
    body.page-vault-login .rc-vault-login-main form.lost_reset_password .form-row,
    body.page-vault-login .rc-vault-login-main form.woocommerce-ResetPassword.lost_reset_password .form-row {
        max-width: 28rem !important;
    }

    body.woocommerce-account form.lost_reset_password .form-row input.input-text,
    body.woocommerce-account form.lost_reset_password .form-row input[type="email"],
    body.woocommerce-account form.woocommerce-ResetPassword.lost_reset_password .form-row input.input-text,
    body.woocommerce-account form.woocommerce-ResetPassword.lost_reset_password .form-row input[type="email"],
    body.page-vault-login .rc-vault-login-main form.lost_reset_password .form-row input.input-text,
    body.page-vault-login .rc-vault-login-main form.lost_reset_password .form-row input[type="email"],
    body.page-vault-login .rc-vault-login-main form.woocommerce-ResetPassword.lost_reset_password .form-row input.input-text,
    body.page-vault-login .rc-vault-login-main form.woocommerce-ResetPassword.lost_reset_password .form-row input[type="email"] {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* ==========================================================================
   VAULT DASHBOARD â€” disconnect in header (header.php)
   ========================================================================== */
/* Mobile: â† + â†‘ | cart + DISCONNECT; Desktop: logo | GFX_PWR + session (header.php) */
nav.vault-nav.vault-nav--vault-dashboard {
    display: grid;
    grid-template-columns: auto minmax(0, max-content);
    align-items: center;
    column-gap: 10px;
}

nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-left {
    grid-column: 1;
    justify-self: start;
    display: flex;
    align-items: center;
    gap: 8px;
}

nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-back,
nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-top--scroll {
    display: inline-flex;
}

nav.vault-nav.vault-nav--vault-dashboard .nav-logo {
    display: none !important;
    min-width: 0;
}

nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-right {
    grid-column: 2;
    justify-self: end;
    min-width: 0;
    max-width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px 14px;
}

nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-right .rc-vault-nav-exit {
    margin-left: 0;
}

/* SHOP â€” GFX_PWR-style: grey at rest; amber + outline on hover/focus (same as AUTO) */
nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-shop-wrap {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    min-width: 0;
}

nav.vault-nav.vault-nav--vault-dashboard a.rc-vault-nav-shop {
    -webkit-appearance: none;
    appearance: none;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    margin: 0;
    padding: 1px 5px;
    min-height: 0;
    min-width: 0;
    box-sizing: border-box;
    font-family: var(--rc-font-technical, 'Courier New', monospace);
    font-size: clamp(0.58rem, 1.1vw, 0.72rem);
    letter-spacing: 0.06em;
    line-height: 1.2;
    text-decoration: none !important;
    text-transform: uppercase;
    white-space: nowrap;
    /* Dimmer than AUTO (#aaa) so SHOP recedes until hover */
    color: #4a4a4a;
    cursor: pointer;
}

nav.vault-nav.vault-nav--vault-dashboard a.rc-vault-nav-shop:hover,
nav.vault-nav.vault-nav--vault-dashboard a.rc-vault-nav-shop:focus-visible {
    color: #ffbf00;
    text-decoration: none;
    outline: 1px solid rgba(255, 191, 0, 0.5);
    outline-offset: 1px;
}

/* YOUR CART â€” before GFX_PWR; same cart glyph + compact exit frame as DISCONNECT */
nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-cart-wrap {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    min-width: 0;
}

nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-cart {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    font-family: var(--rc-font-technical, 'Courier New', monospace);
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    line-height: 1.2;
    box-sizing: border-box;
}

nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-cart-icon {
    font-size: 1em;
    line-height: 1;
    flex-shrink: 0;
}

nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-cart-label {
    white-space: nowrap;
}

/* Desktop by default: keep original cart behavior, hide mobile shop link variant. */
nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-cart--mobile-shop {
    display: none !important;
}

nav.vault-nav.vault-nav--vault-dashboard span.rc-vault-nav-cart.rc-vault-nav-cart--empty {
    pointer-events: none;
    cursor: default;
    opacity: 0.5;
    color: #666 !important;
    border-color: rgba(255, 191, 0, 0.35) !important;
    background: transparent !important;
}

nav.vault-nav.vault-nav--vault-dashboard span.rc-vault-nav-cart.rc-vault-nav-cart--empty:hover,
nav.vault-nav.vault-nav--vault-dashboard span.rc-vault-nav-cart.rc-vault-nav-cart--empty:focus {
    background: transparent !important;
    color: #666 !important;
    outline: none;
}

nav.vault-nav.vault-nav--vault-dashboard a.rc-vault-nav-cart--active {
    color: #ffb000 !important;
}

/* Vault desktop: active YOUR CART must stay readable on amber hover/focus fill. */
nav.vault-nav.vault-nav--vault-dashboard a.rc-vault-nav-cart--active:hover,
nav.vault-nav.vault-nav--vault-dashboard a.rc-vault-nav-cart--active:focus,
nav.vault-nav.vault-nav--vault-dashboard a.rc-vault-nav-cart--active:focus-visible,
nav.vault-nav.vault-nav--vault-dashboard a.rc-vault-nav-cart--active:hover .rc-vault-nav-cart-icon,
nav.vault-nav.vault-nav--vault-dashboard a.rc-vault-nav-cart--active:hover .rc-vault-nav-cart-label,
nav.vault-nav.vault-nav--vault-dashboard a.rc-vault-nav-cart--active:focus .rc-vault-nav-cart-icon,
nav.vault-nav.vault-nav--vault-dashboard a.rc-vault-nav-cart--active:focus .rc-vault-nav-cart-label,
nav.vault-nav.vault-nav--vault-dashboard a.rc-vault-nav-cart--active:focus-visible .rc-vault-nav-cart-icon,
nav.vault-nav.vault-nav--vault-dashboard a.rc-vault-nav-cart--active:focus-visible .rc-vault-nav-cart-label {
    color: #000 !important;
}

nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-gfx-wrap {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 0;
}

@media (min-width: 769px) {
    nav.vault-nav.vault-nav--vault-dashboard {
        grid-template-columns: minmax(0, 1fr) minmax(0, max-content);
    }

    nav.vault-nav.vault-nav--vault-dashboard .nav-logo {
        display: block !important;
        grid-column: 1;
        justify-self: start;
    }

    nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-left {
        display: none !important;
    }

    nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-right {
        grid-column: 2;
    }

    /* Slimmer bar: match GFX row height to compact disconnect */
    nav.vault-nav.vault-nav--vault-dashboard {
        padding-top: max(10px, env(safe-area-inset-top, 0px));
        padding-bottom: 10px;
    }

    nav.vault-nav.vault-nav--vault-dashboard .rc-btn-exit.rc-btn-exit--compact {
        padding: 3px 10px !important;
        line-height: 1.2 !important;
    }
}

nav.vault-nav.vault-nav--vault-dashboard .rc-vault-gfx-ctl {
    margin: 0;
    font-family: var(--rc-font-technical, 'Courier New', monospace);
    /* Buttons (AUTO / FULL / LEAN): original responsive size */
    font-size: clamp(0.58rem, 1.1vw, 0.72rem);
    letter-spacing: 0.06em;
    color: #888;
    line-height: 1.4;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 2px 4px;
    text-align: right;
}

/* // GFX_PWR: â€” match .rc-vault-nav-exit-label only; buttons keep .rc-vault-gfx-ctl sizing above */
nav.vault-nav.vault-nav--vault-dashboard .rc-vault-gfx-ctl__label {
    font-size: 0.58rem;
    letter-spacing: 0.1em;
    color: #888;
    text-transform: uppercase;
    margin-right: 4px;
    white-space: nowrap;
}

nav.vault-nav.vault-nav--vault-dashboard .rc-vault-gfx-btn {
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    border: none;
    color: #aaa;
    font-family: inherit;
    font-size: inherit;
    letter-spacing: inherit;
    cursor: pointer;
    /* Dense header: no 44px touch floor on desktop (GFX hidden on mobile anyway) */
    padding: 1px 5px;
    margin: 0;
    min-height: 0;
    min-width: 0;
    line-height: 1.2;
    box-sizing: border-box;
    text-decoration: none;
}

nav.vault-nav.vault-nav--vault-dashboard .rc-vault-gfx-btn:hover,
nav.vault-nav.vault-nav--vault-dashboard .rc-vault-gfx-btn:focus-visible {
    color: #ffbf00;
    text-decoration: none;
    outline: 1px solid rgba(255, 191, 0, 0.5);
    outline-offset: 1px;
}

nav.vault-nav.vault-nav--vault-dashboard .rc-vault-gfx-btn--active {
    color: #ffbf00;
    text-decoration: none;
    font-weight: bold;
}

/* Scroll target: land vault R below sticky nav (+ notch / Dynamic Island when viewport-fit=cover) */
#vault-top {
    scroll-margin-top: calc(62px + env(safe-area-inset-top, 0px));
}

@media (max-width: 768px) {
    /* Shorter sticky bar (no wordmark): tighten scroll landing under nav */
    #vault-top {
        scroll-margin-top: calc(48px + env(safe-area-inset-top, 0px));
    }

    /* Mobile vault dashboard: hide header on scroll-down, show on scroll-up. */
    nav.vault-nav.vault-nav--vault-dashboard {
        transition: transform 0.42s cubic-bezier(0.33, 1, 0.32, 1);
        transform: translate3d(0, 0, 0);
        will-change: transform;
        backface-visibility: hidden;
    }

    nav.vault-nav.vault-nav--vault-dashboard.rc-vault-nav--scroll-hidden {
        transform: translate3d(0, -100%, 0);
        pointer-events: none;
    }
}

.rc-vault-nav-top {
    -webkit-appearance: none;
    appearance: none;
    font-family: var(--rc-font-technical, 'Courier New', monospace);
    font-size: 1.05rem;
    letter-spacing: 0;
    color: #ffb000;
    border: 1px solid rgba(255, 191, 0, 0.55);
    background: transparent;
    padding: 6px 11px;
    cursor: pointer;
    border-radius: 0;
    line-height: 1;
    transition: background 0.15s ease, color 0.15s ease;
}

.rc-vault-nav-top__glyph {
    display: inline-block;
    font-weight: bold;
    line-height: 1;
}

.rc-vault-nav-top:hover,
.rc-vault-nav-top:focus {
    background: #ffb000;
    color: #000;
    outline: none;
}

@media (max-width: 520px) {
    .rc-vault-nav-top {
        padding: 5px 9px;
        font-size: 1rem;
    }
}

.rc-disconnect-label--sm {
    display: none;
}

/* Mobile vault: â† + â†‘ + icon cart + DISCONNECT; no SHOP / wordmark / YOUR CART text */
@media (max-width: 768px) {
    nav.vault-nav.vault-nav--vault-dashboard {
        /* Touch-friendly square actions (theme target ~44px+) */
        --rc-vault-action: clamp(2.75rem, 12vw, 3rem);
    }

    /* Mobile: no GFX_PWR row */
    nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-gfx-wrap {
        display: none !important;
    }

    nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-shop-wrap {
        display: none !important;
    }

    nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-cart-label {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }

    nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-exit-label {
        display: none !important;
    }

    nav.vault-nav.vault-nav--vault-dashboard .rc-disconnect-label--lg {
        display: none;
    }

    nav.vault-nav.vault-nav--vault-dashboard .rc-disconnect-label--sm {
        display: inline;
    }

    nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-cart-wrap {
        position: relative;
    }

    nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-cart {
        gap: 0 !important;
    }

    nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-cart--desktop {
        display: none !important;
    }

    nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-cart--mobile-shop {
        display: inline-flex !important;
        color: #666 !important;
        border-color: rgba(255, 191, 0, 0.35) !important;
        background: transparent !important;
    }

    nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-cart--mobile-shop:hover,
    nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-cart--mobile-shop:focus {
        color: #888 !important;
        border-color: rgba(255, 191, 0, 0.45) !important;
        background: transparent !important;
    }

    nav.vault-nav.vault-nav--vault-dashboard a.rc-vault-nav-cart.rc-btn-exit--vault-nav-pair,
    nav.vault-nav.vault-nav--vault-dashboard span.rc-vault-nav-cart.rc-btn-exit--vault-nav-pair {
        box-sizing: border-box;
        width: var(--rc-vault-action);
        min-width: var(--rc-vault-action);
        max-width: var(--rc-vault-action);
        height: var(--rc-vault-action);
        min-height: var(--rc-vault-action);
        max-height: var(--rc-vault-action);
        padding: 0 !important;
        justify-content: center !important;
    }

    nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-cart-icon {
        font-size: clamp(1rem, 4.5vw, 1.2rem);
    }

    /* Square mobile arrow controls */
    nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-left .rc-vault-nav-top {
        box-sizing: border-box;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: var(--rc-vault-action);
        height: var(--rc-vault-action);
        min-width: var(--rc-vault-action);
        min-height: var(--rc-vault-action);
        max-width: var(--rc-vault-action);
        max-height: var(--rc-vault-action);
        padding: 0 !important;
        margin: 0;
        line-height: 1 !important;
        flex-shrink: 0;
        overflow: hidden;
    }

    nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-left .rc-vault-nav-top__glyph {
        font-size: clamp(0.84rem, 3.35vw, 0.96rem);
        line-height: 1;
    }

    /* Up-arrow glows once user scrolls down. */
    nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-top--scroll.rc-vault-nav-top--armed {
        border-color: #ffb000;
        color: #ffb000;
        background: rgba(255, 176, 0, 0.2);
        box-shadow:
            0 0 0 1px rgba(255, 191, 0, 0.35),
            0 0 14px rgba(255, 191, 0, 0.5);
        animation: rc-vault-nav-top-armed-pulse 2.2s ease-in-out infinite;
    }

    nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-top--scroll.rc-vault-nav-top--armed:hover,
    nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-top--scroll.rc-vault-nav-top--armed:focus {
        animation: none;
        background: #ffb000;
        color: #000;
        box-shadow: 0 0 18px rgba(255, 191, 0, 0.65);
    }

    @media (prefers-reduced-motion: reduce) {
        nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-top--scroll.rc-vault-nav-top--armed {
            animation: none;
        }
    }

    @keyframes rc-vault-nav-top-armed-pulse {
        0%, 100% {
            box-shadow:
                0 0 0 1px rgba(255, 191, 0, 0.35),
                0 0 10px rgba(255, 191, 0, 0.35);
        }
        50% {
            box-shadow:
                0 0 0 1px rgba(255, 191, 0, 0.55),
                0 0 20px rgba(255, 191, 0, 0.6);
        }
    }

    /* DISCONNECT only â€” cart uses square rules above */
    nav.vault-nav.vault-nav--vault-dashboard .rc-vault-nav-exit .rc-btn-exit.rc-btn-exit--vault-nav-pair {
        box-sizing: border-box;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: auto;
        min-width: 0;
        max-width: min(46vw, 12rem);
        height: var(--rc-vault-action);
        min-height: var(--rc-vault-action);
        max-height: var(--rc-vault-action);
        padding: 0 5px !important;
        margin: 0;
        line-height: 1 !important;
        flex-shrink: 1;
        overflow: hidden;
        white-space: nowrap !important;
        font-size: clamp(0.46rem, 2.1vw, 0.58rem) !important;
        letter-spacing: 0.015em !important;
        font-weight: 600;
        border: 1px solid rgba(255, 191, 0, 0.55) !important;
        background: transparent !important;
        text-decoration: none !important;
        text-transform: uppercase;
    }

}

@media (max-width: 520px) {
    nav.vault-nav.vault-nav--vault-dashboard {
        --rc-vault-action: clamp(2.65rem, 15vw, 3rem);
    }
}

.rc-vault-nav-exit {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
    margin-left: auto;
}

.rc-vault-nav-exit-label {
    font-family: var(--rc-font-technical);
    font-size: 0.58rem;
    letter-spacing: 0.1em;
    color: #888;
    text-transform: uppercase;
    white-space: nowrap;
}

@media (max-width: 520px) {
    .rc-vault-nav-exit-label {
        display: none;
    }
}

.rc-btn-exit {
    display: inline-block;
    font-family: var(--rc-font-technical);
    color: #ffb000;
    border: 1px solid #ffb000;
    padding: 10px 20px;
    text-decoration: none;
    border-radius: 0;
    transition: background 0.15s ease, color 0.15s ease;
}

.rc-btn-exit.rc-btn-exit--compact {
    padding: 5px 10px !important;
    font-size: 0.62rem !important;
    letter-spacing: 0.06em;
    line-height: 1.35;
}

/* Mobile: single-line disconnect (no bracket wrapping) */
@media (max-width: 768px) {
    .rc-btn-exit.rc-btn-exit--compact {
        white-space: nowrap !important;
        padding: 4px 8px !important;
        font-size: 0.56rem !important;
        letter-spacing: 0.04em;
    }
}

.rc-btn-exit:hover,
.rc-btn-exit:focus {
    background: #ffb000;
    color: #000000;
    outline: none;
}

/* ==========================================================================
   BRUTALIST SINGLE PRODUCT GALLERY LAYOUT (WooCommerce)
   ========================================================================== */
body.single-product .rc-file-frame {
    border: none !important;
    background: transparent !important;
}

body.single-product .rc-product-deck {
    border: none !important;
}

/*
 * Landscape active slide: widen image column toward viewport edges (class toggled from rc_force_enqueue_wc_gallery_scripts JS).
 * Default grid stays in single-product.php; this only applies when .rc-deck--wide-active is set.
 */
body.single-product .rc-product-deck.rc-deck--wide-active {
    grid-template-columns: minmax(0, 2.85fr) minmax(0, 0.38fr);
    max-width: min(1920px, 99vw);
    gap: 1.25rem;
}

@media (max-width: 768px) {
    body.single-product .rc-product-deck.rc-deck--wide-active {
        grid-template-columns: 1fr;
        max-width: 100%;
    }
}

/*
 * Single product gallery â€” mobile: full-width stage (JS shrink-wrap disabled in functions.php).
 * Swipe (Flexslider touch) + optional prev/next indicators; arrows hidden on desktop via media query below.
 */
@media (max-width: 768px) {
    body.single-product .rc-product-frame__media {
        width: 100% !important;
        max-width: 100% !important;
        align-items: stretch !important;
        align-self: stretch !important;
    }

    body.single-product .woocommerce div.product.rc-product-frame .rc-product-frame__media div.images {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
    }

    body.single-product .woocommerce-product-gallery {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto;
        margin-right: auto;
    }

    body.single-product .woocommerce-product-gallery .flex-viewport {
        width: 100% !important;
        max-width: 100% !important;
    }

    body.single-product .woocommerce-product-gallery .flex-viewport .slides .woocommerce-product-gallery__image {
        width: 100% !important;
    }

    body.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image > a {
        width: 100% !important;
        max-width: 100% !important;
    }

    body.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image img {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/*
 * Single product gallery â€” horizontal frame follows image width (Flexslider viewport sized in JS).
 */
body.single-product .woocommerce-product-gallery {
    position: relative;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto;
    --rc-gallery-main-max-h: min(50vh, 560px);
    /* Band at bottom of gallery for desktop prev/next (aligned with thumbnail row) */
    --rc-thumb-rail-height: 112px;
}

@media (min-width: 769px) {
    body.single-product .woocommerce-product-gallery {
        transition:
            width var(--rc-gallery-slide-ms) cubic-bezier(0.4, 0, 0.2, 1),
            max-width var(--rc-gallery-slide-ms) cubic-bezier(0.4, 0, 0.2, 1);
    }
}

/* Prev/next: Flexslider adds .flex-direction-nav when directionNav is true (see rc_product_gallery_carousel_options). */
body.single-product .woocommerce-product-gallery .flex-direction-nav a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    min-width: 44px;
    min-height: 44px;
    opacity: 0.55;
    background: rgba(0, 0, 0, 0.45);
    border: 1px solid rgba(255, 191, 0, 0.35);
    color: var(--rc-amber);
    font-size: 1.35rem;
    line-height: 1;
    text-decoration: none;
    text-indent: 0;
    overflow: visible;
    box-sizing: border-box;
}

body.single-product .woocommerce-product-gallery .flex-direction-nav a:hover,
body.single-product .woocommerce-product-gallery .flex-direction-nav a:focus-visible {
    opacity: 1;
    background: rgba(0, 0, 0, 0.7);
}

body.single-product .woocommerce-product-gallery .flex-direction-nav a.flex-disabled {
    opacity: 0.18;
    pointer-events: none;
}

body.single-product .woocommerce-product-gallery .flex-direction-nav .screen-reader-text {
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
}

/* Desktop / wide window: same controls, flanking the thumbnail strip (nav lives inside __wrapper; thumbs are sibling below). */
@media (min-width: 769px) {
    body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
        position: relative;
        overflow: visible !important;
    }

    body.single-product .woocommerce-product-gallery .flex-direction-nav {
        list-style: none;
        margin: 0;
        padding: 0;
        position: absolute;
        left: 0;
        right: 0;
        width: 100%;
        height: var(--rc-thumb-rail-height, 112px);
        display: block !important;
        pointer-events: none;
        z-index: 4;
        box-sizing: border-box;
    }

    /* Nav inside __wrapper: sit just under the viewport (matches ol margin-top on thumbs). */
    body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper .flex-direction-nav {
        top: calc(100% + 10px);
        bottom: auto;
    }

    /* Nav as direct child of gallery: pin to bottom band over the thumbnail row. */
    body.single-product .woocommerce-product-gallery > .flex-direction-nav {
        top: auto;
        bottom: 0;
    }

    /* Inside the gallery box (aligned with dossier grid) â€” not viewport-wide -3rem floats. */
    body.single-product .woocommerce-product-gallery .flex-direction-nav .flex-nav-prev,
    body.single-product .woocommerce-product-gallery .flex-direction-nav .flex-nav-next {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        margin: 0;
        padding: 0;
        pointer-events: auto;
    }

    body.single-product .woocommerce-product-gallery .flex-direction-nav .flex-nav-prev {
        left: 6px;
        right: auto;
    }

    body.single-product .woocommerce-product-gallery .flex-direction-nav .flex-nav-next {
        right: 6px;
        left: auto;
    }
}

@media (max-width: 768px) {
    body.single-product .woocommerce-product-gallery .flex-direction-nav {
        list-style: none;
        margin: 0;
        padding: 0;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
        z-index: 3;
    }

    body.single-product .woocommerce-product-gallery .flex-direction-nav li {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        margin: 0;
        padding: 0;
        pointer-events: auto;
    }

    body.single-product .woocommerce-product-gallery .flex-direction-nav .flex-nav-prev {
        left: 2px;
    }

    body.single-product .woocommerce-product-gallery .flex-direction-nav .flex-nav-next {
        right: 2px;
    }

    /*
     * Solo hero: nav lives in .flex-viewport (see rc-product-gallery-mobile.js) â€” true vertical center of the
     * wide slide; keep both controls above pager and fully inside the stage.
     */
    body.single-product .woocommerce-product-gallery--rc-has-mobile-solo .flex-viewport .flex-direction-nav {
        z-index: 6;
    }

    body.single-product .woocommerce-product-gallery--rc-has-mobile-solo .flex-viewport .flex-direction-nav li {
        top: 50%;
        transform: translateY(-50%);
        display: block;
        list-style: none;
    }

    body.single-product .woocommerce-product-gallery--rc-has-mobile-solo .flex-viewport .flex-direction-nav .flex-nav-prev {
        left: max(6px, env(safe-area-inset-left, 0px));
        right: auto;
    }

    body.single-product .woocommerce-product-gallery--rc-has-mobile-solo .flex-viewport .flex-direction-nav .flex-nav-next {
        right: max(6px, env(safe-area-inset-right, 0px));
        left: auto;
    }

    body.single-product .woocommerce-product-gallery--rc-has-mobile-solo .flex-viewport .flex-direction-nav .flex-nav-prev,
    body.single-product .woocommerce-product-gallery--rc-has-mobile-solo .flex-viewport .flex-direction-nav .flex-nav-prev a,
    body.single-product .woocommerce-product-gallery--rc-has-mobile-solo .flex-viewport .flex-direction-nav .flex-nav-next,
    body.single-product .woocommerce-product-gallery--rc-has-mobile-solo .flex-viewport .flex-direction-nav .flex-nav-next a {
        visibility: visible !important;
    }
}

body.single-product .woocommerce-product-gallery .flex-viewport {
    max-width: 100%;
    width: auto;
    min-width: 0;
    max-height: var(--rc-gallery-main-max-h, min(50vh, 560px));
    display: block;
    box-sizing: border-box;
    border: none;
    background: transparent;
    padding: 0;
    overflow: hidden !important;
    position: relative;
    transition:
        width var(--rc-gallery-slide-ms, 780ms) cubic-bezier(0.4, 0, 0.2, 1),
        height var(--rc-gallery-slide-ms, 780ms) cubic-bezier(0.4, 0, 0.2, 1);
}

body.single-product .woocommerce-product-gallery .flex-viewport .slides .woocommerce-product-gallery__image {
    width: auto !important;
    max-width: 100%;
    margin: 0 !important;
    box-sizing: border-box;
}

body.single-product .woocommerce-product-gallery__image {
    margin: 0;
}

body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image > a {
    display: block;
    position: relative;
    overflow: hidden !important;
    box-sizing: border-box;
    max-width: 100%;
}

@media (max-width: 768px) {
    body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image > a {
        max-height: var(--rc-gallery-main-max-h, min(42vh, 380px));
    }
}

@media (min-width: 769px) {
    body.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image > a {
        max-height: var(--rc-gallery-main-max-h, min(50vh, 560px));
    }
}

/* PhotoSwipe trigger disabled in theme â€” hide if anything still injects this node. */
body.single-product .woocommerce-product-gallery__trigger {
    display: none !important;
}

@media (max-width: 768px) {
    body.single-product .woocommerce-product-gallery {
        --rc-gallery-main-max-h: min(42vh, 380px);
    }
}

body.single-product .woocommerce-product-gallery__wrapper {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Pre-init interaction lock: unlock after wc-product-gallery-after-init + pinpoint wrap (JS). */
@media (min-width: 769px) {
    body.single-product:not(.rc-gallery-loaded) .woocommerce-product-gallery .flex-viewport,
    body.single-product:not(.rc-gallery-loaded) .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
        pointer-events: none;
    }
}

body.single-product .woocommerce-product-gallery__image a,
body.single-product .woocommerce-product-gallery__image img {
    display: block;
    width: 100%;
    height: auto;
}

body.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image > a {
    display: block;
    max-height: var(--rc-gallery-main-max-h, min(50vh, 560px));
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    width: auto;
    max-width: 100%;
}

body.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image img {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: var(--rc-gallery-main-max-h, min(50vh, 560px)) !important;
    object-fit: contain;
    margin: 0 auto;
    display: block;
    cursor: default;
}

/*
 * Desktop, one gallery image: Woo disables Flexslider (no .flex-viewport). Match flex-viewport contain
 * on the img — do not cap the <a> or width:100% img grows past max-height and clips at the anchor.
 */
@media (min-width: 769px) {
    body.single-product .woocommerce-product-gallery.rc-gallery--solo .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image > a,
    body.single-product .woocommerce-product-gallery:not(:has(.flex-viewport)) .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image > a {
        max-height: none;
        width: auto;
        max-width: 100%;
        overflow: hidden;
    }

    body.single-product .woocommerce-product-gallery.rc-gallery--solo .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image img,
    body.single-product .woocommerce-product-gallery:not(:has(.flex-viewport)) .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image img {
        width: auto !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: var(--rc-gallery-main-max-h, min(50vh, 560px)) !important;
        object-fit: contain;
        margin: 0 auto;
        display: block;
    }

    body.single-product:not(.rc-gallery-loaded) .woocommerce-product-gallery.rc-gallery--solo .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image > a,
    body.single-product:not(.rc-gallery-loaded) .woocommerce-product-gallery:not(:has(.flex-viewport)) .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image > a {
        max-height: var(--rc-gallery-main-max-h, min(50vh, 560px));
    }

    body.single-product .woocommerce-product-gallery.rc-gallery--solo.rc-gallery--landscape .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image,
    body.single-product .woocommerce-product-gallery:not(:has(.flex-viewport)).rc-gallery--landscape .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image {
        width: 100% !important;
    }

    body.single-product .woocommerce-product-gallery.rc-gallery--solo.rc-gallery--landscape .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image > a,
    body.single-product .woocommerce-product-gallery:not(:has(.flex-viewport)).rc-gallery--landscape .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image > a {
        width: 100%;
        max-width: 100%;
    }

    body.single-product .woocommerce-product-gallery.rc-gallery--solo.rc-gallery--landscape .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image img,
    body.single-product .woocommerce-product-gallery:not(:has(.flex-viewport)).rc-gallery--landscape .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: var(--rc-gallery-main-max-h, min(50vh, 560px)) !important;
        object-fit: contain;
    }
}

/*
 * Landscape slides: fill the image column width so panos grow horizontally with the same max-height band
 * (shrink-wrap + width:auto was making wide assets a tiny strip).
 */
/*
 * Wide mode: no width !important â€” instant jumps killed CSS transitions; widths are driven by rc_gallery_frame_js (jQuery animate, 780ms).
 */
body.single-product .rc-product-frame__media.rc-gallery-frame--wide {
    width: 100%;
    max-width: 100%;
    align-items: stretch;
}

@media (min-width: 769px) {
    body.single-product .woocommerce div.product.rc-product-frame .rc-product-frame__media.rc-gallery-frame--wide {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        align-self: stretch !important;
    }

    body.single-product .woocommerce div.product.rc-product-frame .rc-product-frame__media.rc-gallery-frame--wide div.images {
        width: 100% !important;
        max-width: 100% !important;
    }

    body.single-product .woocommerce-product-gallery.rc-gallery--landscape {
        --rc-gallery-main-max-h: min(72vh, 820px);
    }
}

@media (min-width: 1600px) {
    body.single-product .woocommerce-product-gallery.rc-gallery--landscape {
        --rc-gallery-main-max-h: min(82vh, 1040px);
    }
}

body.single-product .woocommerce-product-gallery.rc-gallery--landscape {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0;
    align-self: stretch;
}

body.single-product .woocommerce-product-gallery.rc-gallery--landscape .flex-viewport {
    max-width: 100%;
}

body.single-product .woocommerce-product-gallery.rc-gallery--landscape .flex-viewport .slides .woocommerce-product-gallery__image {
    width: 100% !important;
}

body.single-product .woocommerce-product-gallery.rc-gallery--landscape .flex-viewport .woocommerce-product-gallery__image > a {
    width: 100%;
    max-width: 100%;
}

body.single-product .woocommerce-product-gallery.rc-gallery--landscape .flex-viewport .woocommerce-product-gallery__image img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: var(--rc-gallery-main-max-h, min(50vh, 560px)) !important;
    object-fit: contain;
}

body.single-product .woocommerce-product-gallery.rc-gallery--landscape ol.flex-control-thumbs {
    width: 100%;
    max-width: 100%;
    align-self: stretch;
}

body.single-product ol.flex-control-thumbs {
    list-style: none;
    padding: 12px 0 0 0;
    margin: 10px 0 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    align-content: center;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
    border: none;
    background: transparent;
    box-sizing: border-box;
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 100%;
    align-self: stretch;
}

@media (min-width: 769px) {
    /* After base padding rule â€” keeps arrows in-grid without thumbs sitting under them. */
    body.single-product ol.flex-control-thumbs {
        padding: 12px 2.75rem 0 2.75rem;
    }
}

body.single-product ol.flex-control-thumbs::-webkit-scrollbar {
    height: 0;
    width: 0;
}

/* Defensive: never show zoom plugin clones in the thumbnail rail */
body.single-product .flex-control-thumbs .zoomImg,
body.single-product .flex-control-thumbs .zoomContainer {
    display: none !important;
}

body.single-product .flex-control-thumbs li {
    flex: 0 0 auto;
    width: clamp(88px, 22vw, 168px);
    min-width: 88px;
    max-width: none;
    height: 80px;
    overflow: hidden;
    cursor: pointer;
    position: relative;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: none;
    background: rgba(10, 10, 10, 0.85);
}

/*
 * Hover/active ring must sit ABOVE the thumb img. Inset box-shadow on li is painted under
 * position:absolute imgs â€” ring looked missing / â€œbrokenâ€. Use ::after overlay instead.
 */
body.single-product .flex-control-thumbs li::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    box-shadow: inset 0 0 0 1px transparent;
    transition: box-shadow 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

body.single-product .flex-control-thumbs li:hover::after,
body.single-product .flex-control-thumbs li.flex-active::after {
    box-shadow:
        inset 0 0 0 1px rgba(255, 191, 0, 0.82),
        0 0 0 1px rgba(255, 191, 0, 0.42);
}

body.single-product .flex-control-thumbs li:focus-visible {
    outline: none;
}

body.single-product .flex-control-thumbs li:focus-visible::after {
    box-shadow:
        inset 0 0 0 1px rgba(255, 191, 0, 0.9),
        0 0 0 1px rgba(255, 191, 0, 0.5);
}

body.single-product .flex-control-thumbs li img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0.5;
    border-radius: 0;
    border: none;
    vertical-align: middle;
    transition: opacity 0.15s ease;
}

/*
 * Thumbnail rail: .rc-product-frame__media img { height:auto !important } applies to ALL imgs in the frame,
 * including thumbs â€” wide assets then letterbox inside the fixed-height li. Override + fill the cell.
 */
body.single-product .rc-product-frame__media .flex-control-thumbs li {
    position: relative;
}

body.single-product .rc-product-frame__media .flex-control-thumbs li img {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center;
    transition: opacity 0.15s ease;
    outline: none;
}

body.single-product .rc-product-frame__media .flex-control-thumbs li img:hover {
    transform: none !important;
}

body.single-product .flex-control-thumbs li:hover img,
body.single-product .flex-control-thumbs li.flex-active img,
body.single-product .flex-control-thumbs li img.flex-active {
    opacity: 1;
}

/* Undo mobile utility that centers the gallery as a flex item â€” it breaks the slider + thumb column layout */
body.single-product .rc-col-image .woocommerce-product-gallery {
    display: block !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
}

/* =============================================================================
 * Single product â€” MOBILE PREMIUM GALLERY (max-width: 767px ONLY)
 * Edge-to-edge hero, no thumb rail, no hover-zoom / zoom-layer conflicts, counter overlay.
 * Desktop / â‰¥768px: unchanged (earlier rules in this file still apply there).
 * ============================================================================= */
/*
 * Solo mobile hero: .rc-hide-on-desktop is globally display:inline â€” breaks block layout / 4:5 box.
 * Force full-width block on single product below desktop breakpoint (matches .rc-hide-on-desktop cutoff).
 */
@media (max-width: 768px) {
    body.single-product .woocommerce-product-gallery > .rc-mobile-solo-hero.rc-hide-on-desktop {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        /* Vertical scroll only; horizontal swipes should not reach Flexslider on the parent gallery. */
        touch-action: pan-y pinch-zoom;
    }

    /* Air gap + hairline between 4:5 solo hero and wide Flexslider block (hero reads as its own panel). */
    body.single-product .woocommerce-product-gallery--rc-has-mobile-solo > .rc-mobile-solo-hero {
        margin-bottom: clamp(1.55rem, 6.8vw, 2.7rem) !important;
        padding-bottom: clamp(1.35rem, 5.4vw, 2.2rem) !important;
        border-bottom: 1px solid rgba(255, 191, 0, 0.22) !important;
    }

    /*
     * __wrapper stays positioned for layout; prev/next are mounted in .flex-viewport by JS so % centering
     * matches the wide image only â€” see rc-product-gallery-mobile.js.
     */
    body.single-product .woocommerce-product-gallery--rc-has-mobile-solo > .woocommerce-product-gallery__wrapper {
        margin-top: clamp(0.95rem, 4.2vw, 1.6rem) !important;
        position: relative !important;
        z-index: 2;
    }
}

@media (max-width: 767px) {
    /* Full-bleed media column: break out of .rc-shell + .rc-shell__frame horizontal padding */
    body.single-product:not(.woocommerce-cart):not(.woocommerce-checkout) .rc-product-frame__media {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        padding: 0 !important;
        border: none !important;
        box-shadow: none !important;
        background: #000 !important;
        overflow-x: hidden !important;
        overflow-y: visible !important;
        overscroll-behavior-x: contain;
    }

    body.single-product .woocommerce div.product.rc-product-frame .rc-product-frame__media div.images {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.single-product .woocommerce-product-gallery {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
        overscroll-behavior-x: contain;
        /* Taller stage for high-res art; object-fit:contain on img keeps aspect */
        --rc-gallery-main-max-h: min(88vh, 920px) !important;
    }

    body.single-product .woocommerce-product-gallery .flex-viewport {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        border: none !important;
        background: #000 !important;
        overflow: hidden !important;
        overflow-x: hidden !important;
        overscroll-behavior-x: contain;
        /* Swipe between slides; clip track so page column does not drift. */
        touch-action: pan-x pan-y pinch-zoom;
        -webkit-user-drag: none;
    }

    body.single-product .woocommerce-product-gallery .flex-viewport .slides .woocommerce-product-gallery__image > a {
        max-height: var(--rc-gallery-main-max-h, min(88vh, 920px)) !important;
    }

    body.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image img {
        max-height: var(--rc-gallery-main-max-h, min(88vh, 920px)) !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
        object-position: center center !important;
        -webkit-user-drag: none;
        user-select: none;
    }

    /*
     * Mobile solo 4:5 hero: gap from slider is set in max-width:768px block above (margin + border).
     */
    body.single-product .woocommerce-product-gallery > .rc-mobile-solo-hero .woocommerce-product-gallery__image > a {
        aspect-ratio: 4 / 5 !important;
        width: 100% !important;
        max-width: 100% !important;
        max-height: min(92vh, 980px) !important;
        height: auto !important;
        display: block !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        background: #000 !important;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    body.single-product .woocommerce-product-gallery > .rc-mobile-solo-hero .rc-mobile-solo-hero__img {
        width: 100% !important;
        height: 100% !important;
        max-height: none !important;
        object-fit: contain !important;
        object-position: center center !important;
        pointer-events: none !important;
        display: block !important;
    }

    /* Hide default thumbnail strip; swipe + arrows + counter */
    body.single-product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs,
    body.single-product .rc-product-frame__media ol.flex-control-nav.flex-control-thumbs {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
    }

    /* Kill jQuery Zoom layer if anything re-injects it */
    body.single-product .woocommerce-product-gallery .zoomImg,
    body.single-product div.images .zoomImg {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    /* Tactical â€œscale on hoverâ€ fights touch + gallery; disable in this viewport */
    body.single-product .rc-product-frame__media img:not(.woocommerce-product-gallery img):hover {
        transform: none !important;
    }

    /* Touches pass to <a> for PhotoSwipe; keep pinpoint wrapper from stealing */
    body.single-product .woocommerce-product-gallery .rc-pinpoint-zoom img {
        pointer-events: none !important;
    }

    body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image > a {
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    /* Slide counter â€” appended by rc-product-gallery-mobile.js */
    body.single-product .woocommerce-product-gallery .rc-gallery-mobile-pager {
        position: absolute;
        left: 50%;
        bottom: max(0.65rem, env(safe-area-inset-bottom, 0px));
        transform: translateX(-50%);
        z-index: 5;
        pointer-events: none;
        font-family: var(--rc-font-technical), monospace;
        font-size: 0.7rem;
        font-weight: 600;
        letter-spacing: 0.2em;
        color: rgba(255, 191, 0, 0.92);
        text-shadow:
            0 0 12px rgba(0, 0, 0, 0.95),
            0 0 8px rgba(255, 191, 0, 0.35);
        padding: 0.35rem 0.65rem;
        border: 1px solid rgba(255, 191, 0, 0.25);
        background: rgba(0, 0, 0, 0.5);
        box-sizing: border-box;
    }
}

/* ==========================================================================
   CHECKOUT â€” Smartposti / Itella native select (checkout-smartposti-ui.js)
   Pure Amber Premium: matte charcoal, soft white, amber focus.
   ========================================================================== */
body.woocommerce-checkout .itella-shipping-block select.rc-smartposti-select,
body.woocommerce-checkout select.rc-smartposti-select {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0.5rem 0 0;
    padding: 15px;
    font-family: var(--rc-font-technical), ui-monospace, monospace;
    font-size: 0.875rem;
    line-height: 1.35;
    color: #e0e0e0;
    background-color: #121212;
    border: 1px solid #2a2a2a;
    border-radius: 2px;
    appearance: auto;
    cursor: pointer;
}

body.woocommerce-checkout .itella-shipping-block select.rc-smartposti-select:hover,
body.woocommerce-checkout select.rc-smartposti-select:hover {
    border-color: #3a3a3a;
}

body.woocommerce-checkout .itella-shipping-block select.rc-smartposti-select:focus,
body.woocommerce-checkout select.rc-smartposti-select:focus {
    outline: none;
    border-color: #ffb000;
    box-shadow: 0 0 0 1px #ffb000;
}

body.woocommerce-checkout .itella-shipping-block select.rc-smartposti-select option,
body.woocommerce-checkout select.rc-smartposti-select option {
    background-color: #121212;
    color: #e0e0e0;
}

/* ==========================================================================
   CHECKOUT â€” WooCommerce Blocks shipping / payment radios (RadioControl)
   Core paints :checked::before as #000; dark-controls uses near-black fill.
   Override ring + inner dot to Pure Amber (#FFB000).
   Ref: wc-block-components-radio-control (Woo Blocks components package).
   ========================================================================== */
body.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input,
body.woocommerce-checkout .has-dark-controls .wc-block-components-radio-control .wc-block-components-radio-control__input,
body.ragnar-checkout-body .wc-block-components-radio-control .wc-block-components-radio-control__input,
body.ragnar-checkout-body .has-dark-controls .wc-block-components-radio-control .wc-block-components-radio-control__input {
    background-color: #121212 !important;
    border-color: rgba(255, 176, 0, 0.55) !important;
}

body.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input:checked,
body.woocommerce-checkout .has-dark-controls .wc-block-components-radio-control .wc-block-components-radio-control__input:checked,
body.ragnar-checkout-body .wc-block-components-radio-control .wc-block-components-radio-control__input:checked,
body.ragnar-checkout-body .has-dark-controls .wc-block-components-radio-control .wc-block-components-radio-control__input:checked {
    border-color: #ffb000 !important;
}

body.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input:checked::before,
body.woocommerce-checkout .has-dark-controls .wc-block-components-radio-control .wc-block-components-radio-control__input:checked::before,
body.ragnar-checkout-body .wc-block-components-radio-control .wc-block-components-radio-control__input:checked::before,
body.ragnar-checkout-body .has-dark-controls .wc-block-components-radio-control .wc-block-components-radio-control__input:checked::before {
    background: #ffb000 !important;
    background-color: #ffb000 !important;
}

body.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input:focus,
body.woocommerce-checkout .has-dark-controls .wc-block-components-radio-control .wc-block-components-radio-control__input:focus,
body.ragnar-checkout-body .wc-block-components-radio-control .wc-block-components-radio-control__input:focus,
body.ragnar-checkout-body .has-dark-controls .wc-block-components-radio-control .wc-block-components-radio-control__input:focus {
    outline: 1px solid #ffb000 !important;
    outline-offset: 2px !important;
}

/* Blocks checkout â€” grand total price only (TotalsFooterItem __value); label + VAT stay amber */
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value *,
body.ragnar-checkout-body .ragnar-terminal-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.ragnar-checkout-body .ragnar-terminal-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value * {
    color: #f5f5f5 !important;
}

/* Cookie policy page utility back button (stage-safe via theme hook). */
.rc-cookie-back {
    position: fixed;
    top: 14px;
    left: 14px;
    z-index: 9999;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    text-decoration: none;
    font-family: "Courier New", monospace;
    font-size: 12px;
    letter-spacing: 1px;
    text-transform: uppercase;
    line-height: 1;
}

.rc-cookie-back:hover,
.rc-cookie-back:focus-visible {
    border-color: #fff;
    background: rgba(0, 0, 0, 0.75);
    color: #fff;
    text-decoration: none;
}

.rc-cookie-back__arrow {
    font-size: 14px;
    line-height: 1;
}

/* Desktop: tighter top of summary column (gallery ↔ title gap) + title → price */
@media (min-width: 769px) {
    body.single-product .rc-product-frame .rc-product-frame__summary,
    body.single-product .rc-product-frame .summary.entry-summary,
    body.single-product .woocommerce div.product.rc-product-frame .rc-product-frame__summary,
    body.single-product .woocommerce div.product.rc-product-frame div.summary {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }

    body.single-product .rc-product-frame .rc-product-frame__media,
    body.single-product .woocommerce div.product.rc-product-frame .rc-product-frame__media {
        margin-bottom: 0 !important;
    }

  body.single-product .rc-product-frame .rc-product-frame__summary > h1.product_title,
  body.single-product .rc-product-frame .rc-product-frame__summary > h1.entry-title,
  body.single-product div.product.rc-product-frame .rc-product-frame__summary > h1.product_title,
  body.single-product .woocommerce div.product.rc-product-frame .rc-product-frame__summary > h1.product_title,
  body.single-product .woocommerce div.product.rc-product-frame div.summary h1.product_title,
  body.single-product .woocommerce div.product div.summary h1.product_title,
  body.single-product .woocommerce div.product div.summary .product_title {
        margin-top: 0.85rem !important;
        margin-bottom: 0 !important;
        margin-block-start: 0.85rem !important;
        margin-block-end: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        line-height: 1.12 !important;
    }

    /* Two invisible lines after title (glyph height, not margin) — air before €, pushes acquire row down */
    body.single-product .rc-product-frame .rc-product-frame__summary > h1.product_title::after,
    body.single-product .rc-product-frame .rc-product-frame__summary > h1.entry-title::after,
    body.single-product div.product.rc-product-frame .rc-product-frame__summary > h1.product_title::after,
    body.single-product .woocommerce div.product.rc-product-frame .rc-product-frame__summary > h1.product_title::after {
        content: "" !important;
        display: block !important;
        height: 2.7em;
        font-size: 0.95rem;
        line-height: 1.35;
        color: transparent !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: hidden;
        pointer-events: none;
        user-select: none;
    }

    body.single-product .woocommerce div.product.rc-product-frame .rc-product-frame__summary > p.price,
    body.single-product .woocommerce div.product.rc-product-frame div.summary > p.price,
    body.single-product .woocommerce div.product div.summary > p.price {
        display: block !important;
        margin-top: 0 !important;
        margin-bottom: 0.5rem !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}

/* Vault Key: critical one-per-account notice (PDP + Woo error fallback). */
body.single-product .rc-product-frame__summary .rc-critical-notice,
body.single-product div.product div.summary > .rc-critical-notice,
body.single-product .rc-critical-notice.rc-vault-license-limit {
    box-sizing: border-box;
    display: block !important;
    clear: both;
    width: fit-content;
    max-width: 100%;
    margin: 0.65rem 0 0.85rem;
    padding: 0.65rem 0.9rem;
    border: 1px solid #ff4444;
    background: rgba(255, 68, 68, 0.08);
    box-shadow: 0 0 12px rgba(255, 51, 51, 0.12), inset 0 0 0 1px rgba(255, 51, 51, 0.15);
    font-family: "Courier New", Courier, monospace;
    font-size: 0.75rem;
    line-height: 1.45;
    letter-spacing: 0.04em;
    color: #ff5555;
}

body.single-product .rc-critical-notice__head {
    margin: 0 0 0.4rem;
    padding: 0;
    color: #ff3333;
    font-weight: normal;
    white-space: nowrap;
    text-shadow: 0 0 8px rgba(255, 51, 51, 0.35);
}

body.single-product .rc-critical-notice__body {
    margin: 0;
    padding: 0;
    color: #ff8888;
    white-space: nowrap;
    max-width: none;
}

@media (max-width: 480px) {
    body.single-product .rc-critical-notice.rc-vault-license-limit {
        font-size: 0.68rem;
        letter-spacing: 0.02em;
        padding: 0.55rem 0.75rem;
    }
}

body.single-product .woocommerce .woocommerce-error,
body.ragnar-checkout-body .woocommerce-error,
.ragnar-terminal-checkout .woocommerce-error {
    border-color: #ff3333 !important;
    color: #ff5555 !important;
}

body.single-product .woocommerce .woocommerce-error li,
body.single-product .woocommerce .woocommerce-error p,
body.ragnar-checkout-body .woocommerce-error li,
body.ragnar-checkout-body .woocommerce-error p,
.ragnar-terminal-checkout .woocommerce-error li,
.ragnar-terminal-checkout .woocommerce-error p {
    color: #ff5555 !important;
}

/* HARDWARE LOGISTICS — shipping ETA (distinct from .rc-logistic-specifications auth chip). */
body.single-product .rc-product-frame__summary .rc-hardware-logistics,
body.single-product .rc-hardware-logistics {
    box-sizing: border-box;
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0.85rem 0 0;
    padding: 0.55rem 0.75rem;
    border-left: 3px solid #ff9900;
    background: rgba(255, 153, 0, 0.04);
    font-family: "Courier New", Courier, monospace;
    font-size: 0.75rem;
    line-height: 1.45;
    letter-spacing: 0.03em;
    color: #cccccc;
}

body.single-product .rc-hardware-logistics__line {
    margin: 0 0 0.35rem;
    padding: 0;
    color: #cccccc;
}

body.single-product .rc-hardware-logistics__line:last-child {
    margin-bottom: 0;
    color: #aaaaaa;
}

/* Single product: logistics block — thin amber frame only (CRITICAL_NOTICE stays outside). */
body.single-product #product.rc-product-frame .woocommerce-product-details__short-description .rc-logistic-specifications,
body.single-product .rc-product-frame .woocommerce-product-details__short-description .rc-logistic-specifications {
    box-sizing: border-box;
    display: block;
    width: fit-content;
    max-width: 100%;
    margin: 0.65rem 0 0.85rem;
    padding: 0.55rem 0.7rem;
    border: 1px solid var(--rc-amber, #ffbf00);
}

body.single-product #product.rc-product-frame .woocommerce-product-details__short-description .rc-logistic-specifications > :first-child,
body.single-product .rc-product-frame .woocommerce-product-details__short-description .rc-logistic-specifications > :first-child {
    margin-top: 0;
}

body.single-product #product.rc-product-frame .woocommerce-product-details__short-description .rc-logistic-specifications > :last-child,
body.single-product .rc-product-frame .woocommerce-product-details__short-description .rc-logistic-specifications > :last-child {
    margin-bottom: 0;
}

/* Single product: terminal keys (amber accent) + dimmer description prose for hierarchy. */
body.single-product #product.rc-product-frame .rc-product-frame__summary .rc-terminal-key,
body.single-product .rc-product-frame .rc-product-frame__summary .woocommerce-product-details__short-description .rc-terminal-key,
body.single-product div.product.rc-product-frame .rc-product-frame__summary .rc-terminal-key,
body.single-product #product.rc-product-frame .woocommerce-Tabs-panel--description .rc-terminal-key {
    color: var(--rc-amber, #ffbf00) !important;
    font-weight: normal !important;
    text-shadow: 0 0 8px rgba(255, 191, 0, 0.35);
}

body.single-product #product.rc-product-frame .rc-product-frame__summary .woocommerce-product-details__short-description p,
body.single-product #product.rc-product-frame .rc-product-frame__summary .woocommerce-product-details__short-description li,
body.single-product .rc-product-frame .rc-product-frame__summary .woocommerce-product-details__short-description p,
body.single-product .rc-product-frame .rc-product-frame__summary .woocommerce-product-details__short-description li,
body.single-product #product.rc-product-frame .woocommerce-Tabs-panel--description p,
body.single-product #product.rc-product-frame .woocommerce-Tabs-panel--description li {
    color: #cccccc !important;
}

body.single-product #product.rc-product-frame .rc-product-frame__summary .woocommerce-product-details__short-description a,
body.single-product #product.rc-product-frame .woocommerce-Tabs-panel--description a {
    color: var(--rc-amber, #ffbf00) !important;
    text-decoration: underline;
    text-underline-offset: 2px;
}
