/* ============================================================
   AIRBORNE SHOP — Base Styles v1.2.0  (Phase 2)
   Dark/gold luxury digital store — matches design reference
   ============================================================ */

/* Font: Merriweather is enqueued via hooks.php > wp_enqueue_style('airborne-fonts').
   No @import needed here — the stale Inter/Playfair import has been removed. */

/* ── Reset / scope ──────────────────────────────────────────── */
.airborne-shop-active *,
.airborne-layout *,
.ab-shop-page * {
    box-sizing: border-box;
}

/* ── Global font override (BUG 2 / 5 / 6 fix) ───────────────────────────────
   Sets Merriweather at the body and layout-root level so all text inherits it
   via the normal CSS cascade. We deliberately do NOT use a wildcard (*) rule
   with font-family — that clobbers icon fonts (dashicons, WC icon glyphs)
   which rely on font-family being set on ::before/::after pseudo-elements.
   Body-level inheritance reaches every text node correctly without that risk. */
body.airborne-shop-active,
body.airborne-shop-active .airborne-layout,
body.airborne-shop-active .ab-shop-page {
    font-family: 'Merriweather', Georgia, 'Times New Roman', serif;
}

/* Explicitly target text-bearing elements that may not inherit cleanly
   (WC notices, breadcrumbs, dynamically injected markup). Skips any class
   containing "icon" or "dashicon" so pseudo-element icon fonts are untouched. */
body.airborne-shop-active .airborne-layout p,
body.airborne-shop-active .airborne-layout span:not([class*="icon"]):not([class*="dashicon"]),
body.airborne-shop-active .airborne-layout div,
body.airborne-shop-active .airborne-layout h1,
body.airborne-shop-active .airborne-layout h2,
body.airborne-shop-active .airborne-layout h3,
body.airborne-shop-active .airborne-layout h4,
body.airborne-shop-active .airborne-layout h5,
body.airborne-shop-active .airborne-layout h6,
body.airborne-shop-active .airborne-layout a,
body.airborne-shop-active .airborne-layout li,
body.airborne-shop-active .airborne-layout td,
body.airborne-shop-active .airborne-layout th,
body.airborne-shop-active .airborne-layout label,
body.airborne-shop-active .airborne-layout input,
body.airborne-shop-active .airborne-layout select,
body.airborne-shop-active .airborne-layout textarea,
body.airborne-shop-active .airborne-layout button,
body.airborne-shop-active .ab-shop-page p,
body.airborne-shop-active .ab-shop-page span:not([class*="icon"]):not([class*="dashicon"]),
body.airborne-shop-active .ab-shop-page div,
body.airborne-shop-active .ab-shop-page h1,
body.airborne-shop-active .ab-shop-page h2,
body.airborne-shop-active .ab-shop-page h3,
body.airborne-shop-active .ab-shop-page h4,
body.airborne-shop-active .ab-shop-page h5,
body.airborne-shop-active .ab-shop-page h6,
body.airborne-shop-active .ab-shop-page a,
body.airborne-shop-active .ab-shop-page li,
body.airborne-shop-active .ab-shop-page td,
body.airborne-shop-active .ab-shop-page th,
body.airborne-shop-active .ab-shop-page label,
body.airborne-shop-active .ab-shop-page input,
body.airborne-shop-active .ab-shop-page select,
body.airborne-shop-active .ab-shop-page textarea,
body.airborne-shop-active .ab-shop-page button {
    font-family: 'Merriweather', Georgia, 'Times New Roman', serif;
}

/* ── KILL WooCommerce/theme default shop layout overrides ───── */
.airborne-layout ul.products,
.airborne-layout ul.products.columns-3,
.airborne-layout ul.products.columns-4 {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    width: 100% !important;
    float: none !important;
}
.airborne-layout ul.products li.product {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
/* Hide WC default result count / ordering bar */
.airborne-shop-active .woocommerce-ordering,
.airborne-shop-active .woocommerce-result-count {
    display: none !important;
}
/* Hide the default WC breadcrumb */
.airborne-layout .woocommerce-breadcrumb { display: none !important; }

/* Force theme content containers to full width when Airborne is active */
body.airborne-shop-active .entry-content,
body.airborne-shop-active .page-content,
body.airborne-shop-active .post-content,
body.airborne-shop-active #content .entry-content,
body.airborne-shop-active .site-main,
body.airborne-shop-active main.site-main,
body.airborne-shop-active article.page {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    float: none !important;
}

/* Storefront / Twenty-* theme specific overrides */
body.airborne-shop-active .woocommerce-page .col-full,
body.airborne-shop-active .col-full {
    max-width: 100% !important;
    padding: 0 !important;
}
body.airborne-shop-active #primary {
    width: 100% !important;
    float: none !important;
}
body.airborne-shop-active #secondary { display: none !important; }

/* ── Layout chrome ──────────────────────────────────────────── */
/* ── OUTER WRAPPER: full-width, houses hero + content row ── */
/* ── DOUBLE-LINE OUTER WRAPPER ───────────────────────────── */
/* Outer line — thick black */
.airborne-outer-wrap {
    max-width: 1412px !important;
    margin: 0 auto !important;
    padding: 7px !important;
    border: 3px solid #000000 !important;
    border-radius: 26px !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

.airborne-layout {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 32px 28px 56px !important;
    font-family: 'Merriweather', Georgia, serif !important;
    box-sizing: border-box !important;
    /* Inner line — thick gold */
    border: 3px solid rgba(201,168,76,0.85) !important;
    border-radius: 22px !important;
    background: rgba(8,8,10,0.80) !important;
    box-shadow: inset 0 1px 0 rgba(201,168,76,0.10) !important;
}

/* ── HERO: full-width row — no bleed hack needed ─────────── */
.airborne-main-col .ab-hero-v4 {
    width: 100% !important;
    max-width: none !important;
    margin-bottom: 0 !important;
}

/* ── CONTENT ROW: grid below hero ───────────────────────── */
.airborne-content-row {
    display: grid !important;
    grid-template-columns: 1fr 300px !important;
    gap: 24px !important;
    align-items: start !important;
    margin-top: 24px !important;
}

.airborne-checkout-layout {
    grid-template-columns: 1fr !important;
}

.airborne-main-col {
    min-width: 0 !important;
    overflow: hidden !important;
}

/* Sidebar scrolls with main content — no sticky */
.airborne-side-col {
    min-width: 0 !important;
    width: 300px !important;
    align-self: start !important;
    position: static !important;
}

@media (max-width: 960px) {
    .airborne-content-row { grid-template-columns: 1fr !important; }
    .airborne-side-col {
        width: 100% !important;
        position: static !important;
    }
}

/* ════════════════════════════════════════════════════════════
   HERO SLIDER
   ════════════════════════════════════════════════════════════ */
.ab-hero-slider {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(201,168,76,0.28);
    margin-bottom: 32px;
    background: var(--ab-hero-bg);
    min-height: 340px;
}
.ab-hero-track {
    display: flex;
    transition: transform 0.5s cubic-bezier(.4,0,.2,1);
}
.ab-hero-slide {
    flex: 0 0 100%;
    min-height: 340px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 24px;
    align-items: center;
    padding: 44px 40px;
    position: relative;
    background-size: cover;
    background-position: center;
}
.ab-hero-slide-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg,
        rgba(10,10,11,0.92) 0%,
        rgba(10,10,11,0.72) 55%,
        rgba(10,10,11,0.30) 100%);
    z-index: 0;
}
.ab-hero-slide-content,
.ab-hero-visual {
    position: relative;
    z-index: 1;
}
.ab-hero-eyebrow {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.5px;
    color: var(--ab-gold);
    margin-bottom: 10px;
    text-transform: uppercase;
}
.ab-hero-title {
    font-family: 'Merriweather', Georgia, serif;
    font-size: clamp(26px, 3.5vw, 44px);
    font-weight: 700;
    margin: 0 0 12px;
    line-height: 1.1;
    color: var(--ab-text);
}
.ab-hero-title span { color: var(--ab-gold); }
.ab-hero-sub {
    font-size: 13px;
    opacity: 0.72;
    max-width: 420px;
    margin-bottom: 22px;
    line-height: 1.65;
    color: var(--ab-text);
}
.ab-hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.5px;
    color: var(--ab-text);
    opacity: 0.8;
}
/* Hero product box */
.ab-hero-box {
    width: 148px;
    height: 188px;
    border-radius: 14px;
    background: linear-gradient(145deg, #1a1a22, #0d0d14);
    border: 1px solid rgba(201,168,76,0.30);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-shadow: 0 0 60px rgba(201,168,76,0.22), 0 0 120px rgba(201,168,76,0.08);
}
.ab-hero-logo {
    font-size: 52px;
    color: var(--ab-gold);
    text-shadow: 0 0 30px rgba(201,168,76,0.7);
    line-height: 1;
}
.ab-hero-brand {
    text-align: center;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    color: var(--ab-gold);
    line-height: 1.4;
}
.ab-hero-brand span {
    font-size: 8px;
    letter-spacing: 1.5px;
    opacity: 0.65;
    display: block;
    font-weight: 600;
    margin-top: 2px;
}
.ab-hero-os {
    display: flex;
    gap: 8px;
    font-size: 14px;
    opacity: 0.55;
}
/* Slider controls */
.ab-slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background: rgba(10,10,11,0.55);
    border: 1px solid var(--ab-border);
    color: var(--ab-text);
    font-size: 26px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    transition: background 0.2s, border-color 0.2s;
}
.ab-slider-btn:hover {
    background: rgba(201,168,76,0.2);
    border-color: var(--ab-gold);
    color: var(--ab-gold);
}
.ab-slider-prev { left: 14px; }
.ab-slider-next { right: 14px; }
.ab-slider-dots {
    position: absolute;
    bottom: 14px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 7px;
    z-index: 10;
}
.ab-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255,255,255,0.3);
    cursor: pointer;
    transition: background 0.25s, transform 0.25s;
}
.ab-dot-active {
    background: var(--ab-gold);
    transform: scale(1.3);
}
@media (max-width: 640px) {
    .ab-hero-slide { grid-template-columns: 1fr; padding: 28px 20px; min-height: 260px; }
    .ab-hero-visual { display: none; }
}

/* ════════════════════════════════════════════════════════════
   SECTION HEADER — numbered label + nav arrows
   ════════════════════════════════════════════════════════════ */
.ab-section {
    margin-bottom: 28px !important;
    border: 1.5px solid rgba(201,168,76,0.40) !important;
    border-radius: 14px !important;
    padding: 0 !important;
    background: rgba(10,10,14,0.75) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.50), inset 0 1px 0 rgba(201,168,76,0.07) !important;
}
.ab-section-header {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 0 !important;
    padding: 12px 18px !important;
    border-bottom: 1.5px solid rgba(201,168,76,0.35) !important;
    background: rgba(201,168,76,0.06) !important;
}
.ab-section-body {
    padding: 20px 18px !important;
}
/* Wrap the product row inside section body if not already */
.ab-section > .ab-product-row-wrap,
.ab-section .ab-section-body {
    padding: 20px 18px !important;
}
.ab-section-num {
    font-size: 11px !important;
    font-weight: 900 !important;
    color: #000 !important;
    background: #C9A84C !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    letter-spacing: 0 !important;
}
.ab-section-title,
h2.ab-section-title,
.ab-section .ab-section-title,
.ab-shop-page .ab-section-title {
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 2.5px !important;
    margin: 0 !important;
    flex: 1 !important;
    color: #C9A84C !important;
    text-transform: uppercase !important;
    font-family: 'Merriweather', Georgia, serif !important;
    line-height: 1 !important;
    border: none !important;
    padding: 0 !important;
    background: none !important;
}
.ab-view-all {
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 1.8px !important;
    color: var(--ab-gold, #C9A84C) !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}
.ab-view-all:hover { text-decoration: underline !important; color: var(--ab-gold, #C9A84C) !important; }

/* Row nav arrows (< >) */
.ab-row-nav {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}
.ab-row-btn,
.ab-row-prev,
.ab-row-next,
.ab-section .ab-row-btn {
    width: 28px !important;
    height: 28px !important;
    border-radius: 6px !important;
    border: 1.5px solid #C9A84C !important;
    background: rgba(201,168,76,0.08) !important;
    color: #C9A84C !important;
    font-size: 16px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    transition: border-color 0.2s, background 0.2s, color 0.2s !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    -webkit-tap-highlight-color: transparent !important;
    user-select: none !important;
    box-shadow: none !important;
    outline: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.ab-row-btn:hover,
.ab-row-btn:focus,
.ab-row-btn:active,
.ab-row-btn.active,
.ab-row-prev:hover,
.ab-row-prev:active,
.ab-row-next:hover,
.ab-row-next:active {
    border-color: #ffffff !important;
    background: rgba(255,255,255,0.15) !important;
    color: #ffffff !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent !important;
}

/* ════════════════════════════════════════════════════════════
   HORIZONTAL PRODUCT ROW (scrollable)
   ════════════════════════════════════════════════════════════ */
.ab-product-row-wrap {
    overflow: hidden !important;
    position: relative !important;
    width: 100% !important;
}
.ab-product-row {
    display: flex !important;
    gap: 16px !important;
    transition: transform 0.38s cubic-bezier(.4,0,.2,1);
    will-change: transform;
}
/* Each card: 4 visible at once */
.ab-product-row .ab-product-card {
    flex: 0 0 calc(25% - 12px) !important;
    min-width: 180px !important;
}
@media (max-width: 1100px) { .ab-product-row .ab-product-card { flex: 0 0 calc(33.33% - 11px) !important; } }
@media (max-width: 720px)  { .ab-product-row .ab-product-card { flex: 0 0 calc(50% - 8px) !important; } }
@media (max-width: 440px)  { .ab-product-row .ab-product-card { flex: 0 0 90% !important; } }



/* ════════════════════════════════════════════════════════════
   HERO V4 — Pure black + gold particles bg, countdown in
   right column, 3D product card with image as screen.
   Hero is a full-width row ABOVE the two-column content grid.
   ════════════════════════════════════════════════════════════ */

/* Merriweather for all hero + card + sidebar elements */
.ab-hero-v4,
.ab-hero-v4 *,
.ab-product-card,
.ab-product-card *,
.ab-section *,
.ab-sidebar-box,
.ab-sidebar-box * {
    font-family: 'Merriweather', Georgia, serif;
}

/* Hero row wrapper — full width, above content grid */
.airborne-hero-row {
    width: 100%;
    margin-bottom: 0;
}

/* ── Hero wrapper: pure black, full width ─────────────────── */
.ab-hero-v4 {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(201,168,76,0.30);
    margin-bottom: 0;
    background-color: #080808;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    width: 100% !important;
    max-width: none;
    box-shadow: 0 0 60px rgba(201,168,76,0.08);
    min-height: 340px;
}

/* SVG particle background layer */
.ab-hero-v4-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}
.ab-hero-particles {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
}

/* Left-side text readability gradient */
.ab-hero-v4::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        100deg,
        rgba(8,8,8,0.80) 0%,
        rgba(8,8,8,0.60) 40%,
        rgba(8,8,8,0.10) 70%,
        rgba(8,8,8,0.00) 100%
    );
    z-index: 1;
    pointer-events: none;
}

/* ── Inner grid ──────────────────────────────────────────── */
.ab-hero-v4-inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: center;
    padding: 32px 40px;
    min-height: 0;
}

/* ── LEFT COLUMN ─────────────────────────────────────────── */
.ab-hero-v4-left {
    display: flex;
    flex-direction: column;
    gap: 0;
    max-width: 580px;
}

.ab-hero-v4-eyebrow {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 3px;
    color: #C9A84C;
    margin-bottom: 14px;
    text-transform: uppercase;
}

.ab-hero-v4-title {
    font-family: 'Merriweather', Georgia, serif;
    font-size: clamp(32px, 4.5vw, 60px);
    font-weight: 900;
    margin: 0 0 2px;
    line-height: 1.08;
    color: #F0EDE8;
    display: block;
    letter-spacing: -0.5px;
}

.ab-hero-v4-title-em {
    display: block;
    font-family: 'Merriweather', Georgia, serif;
    font-style: italic;
    font-weight: 400;
    font-size: clamp(16px, 1.8vw, 24px);
    color: #C9A84C;
    margin-top: 8px;
    line-height: 1.4;
    letter-spacing: 0.3px;
    opacity: 0.92;
}

.ab-hero-v4-sub {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.75;
    color: rgba(240,237,232,0.68);
    margin: 16px 0 22px;
    max-width: 440px;
}

/* Bottom row: price tile + trust badges side by side */
.ab-hero-v4-bottom-row {
    display: flex;
    align-items: stretch;
    gap: 12px;
    flex-wrap: nowrap;
}

/* WAS / NOW price tile */
.ab-hero-v4-price-tile {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border: 1.5px solid rgba(201,168,76,0.38);
    border-radius: 8px;
    padding: 10px 18px;
    background: rgba(0,0,0,0.65);
    backdrop-filter: blur(8px);
    flex-shrink: 0;
}

/* Trust badges tile */
.ab-hero-v4-trust-tile {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border: 1.5px solid rgba(201,168,76,0.38);
    border-radius: 8px;
    padding: 10px 18px;
    background: rgba(0,0,0,0.55);
    backdrop-filter: blur(8px);
    flex-wrap: wrap;
}
.ab-hvt-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: 0.8px;
    color: rgba(240,237,232,0.88);
    text-transform: uppercase;
    white-space: nowrap;
}
.ab-hvt-icon { font-size: 12px; }
.ab-hvt-sep {
    color: rgba(201,168,76,0.35);
    font-size: 14px;
    font-weight: 300;
}

/* ── RIGHT COLUMN: hidden — countdown is now absolutely positioned ── */
.ab-hero-v4-right {
    display: none;
}

/* ── Countdown box — absolutely positioned, bottom-right of hero ─── */
/* ════════════════════════════════════════════════════════════
   COUNTDOWN BOX — outer wrapper
   4 sub-tiles stacked inside a gold-outlined container.
   Equal small gap on all sides; taller than before.
   ════════════════════════════════════════════════════════════ */
.ab-hero-v4-countdown-box {
    position: absolute;
    top: 24px;
    bottom: 24px;
    right: 24px;
    z-index: 10;
    background: rgba(10,10,12,0.88);
    border: 1.5px solid rgba(201,168,76,0.50);
    border-radius: 14px;
    padding: 20px 16px;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 8px 40px rgba(0,0,0,0.65), inset 0 1px 0 rgba(201,168,76,0.12);
    width: 250px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    justify-content: center;
}

/* ── Sub-tile base — outlined card inside the wrapper ──────── */
.ab-hcd-subtile {
    border: 1px solid rgba(201,168,76,0.30);
    border-radius: 8px;
    padding: 10px 14px;
    background: rgba(255,255,255,0.03);
    box-sizing: border-box;
    width: 100%;
}

/* ── Sub-tile 1: Sale headline (e.g. "SUMMER MEGA SALE") ───── */
.ab-hcd-subtile--name {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 14px;
}

.ab-hcd-sale-name {
    font-family: 'Merriweather', Georgia, serif;
    font-size: 16px;
    font-weight: 900;
    color: #C9A84C;
    text-align: center;
    line-height: 1.3;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

/* ── Sub-tile 2: Product name (smaller, muted) ──────────────── */
.ab-hcd-subtile--offer {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 14px;
}

.ab-hcd-offer-eyebrow {
    font-family: 'Merriweather', Georgia, serif;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: rgba(201,168,76,0.85);
}

/* ── Sub-tile 3: Countdown digits ──────────────────────────── */
.ab-hcd-subtile--countdown {
    padding: 10px 8px;
    overflow: hidden;
}

.ab-hcd-units {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
    align-items: center;
    gap: 2px;
    width: 100%;
}

.ab-hcd-unit {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    padding: 6px 2px 5px;
    min-width: 0;
}

.ab-hcd-num {
    font-family: 'Merriweather', Georgia, serif;
    font-size: 17px;
    font-weight: 900;
    color: #F0EDE8;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.5px;
}

/* Product name — sub-tile 2 (smaller, muted) */
.ab-hcd-product-name {
    font-family: 'Merriweather', Georgia, serif;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    color: rgba(240,237,232,0.60);
    text-align: center;
    line-height: 1.4;
}

.ab-hcd-sub {
    font-family: 'Merriweather', Georgia, serif;
    font-size: 7px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: rgba(240,237,232,0.45);
    text-transform: uppercase;
}

.ab-hcd-colon {
    font-size: 15px;
    font-weight: 900;
    color: rgba(240,237,232,0.35);
    line-height: 1;
    padding-bottom: 8px;
    text-align: center;
    font-family: 'Merriweather', Georgia, serif;
    flex-shrink: 0;
}

/* ── Sub-tile 4: Shop Now CTA ──────────────────────────────── */
.ab-hcd-subtile--cta {
    padding: 0;
    border: 1px solid rgba(201,168,76,0.50);
    background: transparent;
}

.ab-hcd-shop-btn {
    display: block;
    width: 100%;
    text-align: center;
    padding: 12px 16px;
    background: #C9A84C;
    color: #0a0a0c !important;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 2.5px;
    border-radius: 7px;
    text-decoration: none !important;
    text-transform: uppercase;
    transition: none;
    font-family: 'Merriweather', Georgia, serif;
    box-sizing: border-box;
    -webkit-text-stroke: 0.4px #0a0a0c;
    /* Force black regardless of theme link colour */
    -webkit-text-fill-color: #0a0a0c;
}
.ab-hcd-shop-btn:hover,
.ab-hcd-shop-btn:focus,
.ab-hcd-shop-btn:visited,
.ab-hcd-shop-btn:active {
    background: #C9A84C;
    color: #0a0a0c !important;
    -webkit-text-fill-color: #0a0a0c;
    transform: none;
    text-decoration: none !important;
}

/* ════════════════════════════════════════════════════════════
   HERO: PRODUCT IMAGE AS FULL BACKGROUND
   ════════════════════════════════════════════════════════════ */

/* When product image is present, override pure-black bg */
.ab-hero-v4.ab-hero-imgbg {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;
}

/* Dark overlay so text stays readable */
.ab-hero-v4.ab-hero-imgbg::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        100deg,
        rgba(0,0,0,0.88) 0%,
        rgba(0,0,0,0.70) 50%,
        rgba(0,0,0,0.45) 100%
    );
    z-index: 0;
    pointer-events: none;
}

/* Keep all child content above the overlay */
.ab-hero-v4.ab-hero-imgbg .ab-hero-v4-bg,
.ab-hero-v4.ab-hero-imgbg .ab-hero-v4-inner {
    position: relative;
    z-index: 1;
}

/* ════════════════════════════════════════════════════════════
/* ═══════════════════════════════════════════════════════════
   FLOATING PRODUCT TILE — image on top, price strip below
   ════════════════════════════════════════════════════════════ */

/* Small product name tag above the eyebrow on the left */
.ab-hero-v4-product-name-tag {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2.5px;
    color: rgba(201,168,76,0.65);
    text-transform: uppercase;
    margin-bottom: 6px;
}

.ab-hero-product-tile {
    background: rgba(8, 8, 10, 0.82);
    border: 1px solid rgba(201,168,76,0.40);
    border-radius: 16px;
    overflow: hidden;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow:
        0 8px 40px rgba(0,0,0,0.65),
        inset 0 1px 0 rgba(201,168,76,0.15);
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 200px;
    max-width: 260px;
    align-self: center;
}

/* Product image */
.ab-hpt-img-wrap {
    width: 100%;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: rgba(0,0,0,0.4);
}

.ab-hpt-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.ab-hero-product-tile:hover .ab-hpt-img {
    transform: scale(1.04);
}

/* ── ACTION STRIP: WAS | NOW | ADD TO CART ── */
.ab-hpt-action-strip {
    display: flex;
    align-items: center;
    border-top: 1px solid rgba(201,168,76,0.28);
    background: rgba(0,0,0,0.55);
    padding: 10px 14px;
    gap: 10px;
    flex-wrap: nowrap;
}

.ab-hpt-strip-cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1px;
    flex-shrink: 0;
}

.ab-hpt-strip-label {
    font-size: 7.5px;
    font-weight: 700;
    letter-spacing: 2px;
    color: rgba(240,237,232,0.35);
    text-transform: uppercase;
}

.ab-hpt-strip-now-label {
    color: rgba(201,168,76,0.75);
}

.ab-hpt-strip-was-val {
    font-size: 12px;
    font-weight: 700;
    color: rgba(240,237,232,0.35);
    text-decoration: line-through;
    line-height: 1;
}

.ab-hpt-strip-now-val {
    font-size: 18px;
    font-weight: 900;
    color: #C9A84C;
    letter-spacing: -0.5px;
    line-height: 1;
}

.ab-hpt-strip-sep {
    color: rgba(201,168,76,0.30);
    font-size: 16px;
    font-weight: 300;
    flex-shrink: 0;
}

.ab-hpt-strip-atc {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 12px;
    background: transparent;
    color: #C9A84C !important;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 1.5px;
    border-radius: 7px;
    border: 1.5px solid #C9A84C;
    text-decoration: none !important;
    text-transform: uppercase;
    transition: background 0.2s, color 0.2s, transform 0.15s;
    white-space: nowrap;
    font-family: 'Merriweather', Georgia, serif;
    flex-shrink: 0;
    margin-left: auto;
}

.ab-hpt-strip-atc:hover {
    background: #C9A84C;
    color: #000 !important;
    transform: translateY(-1px);
}

/* Keep old classes for backward compat but hide them */
.ab-hpt-name,
.ab-hpt-price-row,
.ab-hpt-atc-btn { display: none; }





   Structure:
     .ab-laptop-wrap        outer container + perspective
       .ab-laptop-scene     preserve-3d, slight rotateY tilt
         .ab-laptop-lid     screen half (tilted back)
           .ab-laptop-screen-bezel
             .ab-laptop-screen-inner  ← product image goes here
         .ab-laptop-hinge   thin connector strip
         .ab-laptop-base    keyboard half (tilted forward)
           .ab-laptop-base-inner  keyboard texture
           .ab-laptop-trackpad
   ════════════════════════════════════════════════════════════ */

.ab-laptop-wrap {
    flex-shrink: 0;
    width: 240px;
    perspective: 800px;
    perspective-origin: 50% 40%;
}

.ab-laptop-scene {
    position: relative;
    transform-style: preserve-3d;
    transform: rotateY(-8deg) rotateX(2deg);
    transition: transform 0.5s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.ab-laptop-wrap:hover .ab-laptop-scene {
    transform: rotateY(-4deg) rotateX(1deg);
}

/* ── LID (screen half) ───────────────────────────────────── */
.ab-laptop-lid {
    width: 220px;
    height: 148px;
    background: #111114;
    border-radius: 10px 10px 2px 2px;
    border: 2px solid #C9A84C;
    border-bottom: 1.5px solid rgba(201,168,76,0.5);
    position: relative;
    box-shadow:
        0 -4px 24px rgba(201,168,76,0.12),
        0 8px 32px rgba(0,0,0,0.8),
        inset 0 0 0 1px rgba(255,255,255,0.04);
    /* slight backward tilt — open laptop look */
    transform-origin: bottom center;
    transform: rotateX(-6deg);
    transform-style: preserve-3d;
    z-index: 2;
}

/* Camera dot */
.ab-laptop-lid::before {
    content: '';
    position: absolute;
    top: 5px;
    left: 50%;
    transform: translateX(-50%);
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: rgba(201,168,76,0.45);
    box-shadow: 0 0 4px rgba(201,168,76,0.3);
}

/* Screen bezel area */
.ab-laptop-screen-bezel {
    position: absolute;
    inset: 9px 10px 8px 10px;
    background: #000;
    border-radius: 4px;
    overflow: hidden;
    border: 1px solid rgba(201,168,76,0.15);
}

/* Product image fills screen */
.ab-laptop-screen-inner {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform 0.4s;
}
.ab-laptop-wrap:hover .ab-laptop-screen-inner {
    transform: scale(1.03);
}

/* Fallback when no product image */
.ab-laptop-screen-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: linear-gradient(135deg, #0a0a0c, #111118);
}
.ab-laptop-screen-fallback-icon {
    font-size: 32px;
    color: #C9A84C;
    opacity: 0.5;
}
.ab-laptop-screen-fallback-text {
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 2px;
    color: rgba(201,168,76,0.35);
    text-transform: uppercase;
}

/* Gold screen reflection sheen */
.ab-laptop-screen-bezel::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg,
        rgba(201,168,76,0.06) 0%,
        transparent 50%,
        rgba(0,0,0,0.15) 100%
    );
    pointer-events: none;
    z-index: 2;
}

/* ── HINGE ───────────────────────────────────────────────── */
.ab-laptop-hinge {
    width: 200px;
    height: 4px;
    background: linear-gradient(
        to right,
        rgba(140,110,40,0.6),
        #C9A84C,
        rgba(201,168,76,0.8),
        #C9A84C,
        rgba(140,110,40,0.6)
    );
    border-radius: 2px;
    position: relative;
    z-index: 3;
    box-shadow: 0 0 6px rgba(201,168,76,0.3);
}

/* ── BASE (keyboard half) ────────────────────────────────── */
.ab-laptop-base {
    width: 232px;
    height: 52px;
    background: linear-gradient(180deg, #1a1a1e 0%, #111114 100%);
    border-radius: 2px 2px 10px 10px;
    border: 2px solid rgba(201,168,76,0.55);
    border-top: 1px solid rgba(201,168,76,0.25);
    position: relative;
    transform-origin: top center;
    transform: rotateX(8deg);
    transform-style: preserve-3d;
    z-index: 1;
    box-shadow:
        0 12px 40px rgba(0,0,0,0.9),
        0 0 20px rgba(201,168,76,0.06),
        inset 0 1px 0 rgba(255,255,255,0.04);
}

/* Keyboard rows — CSS texture */
.ab-laptop-base::before {
    content: '';
    position: absolute;
    top: 8px;
    left: 14px;
    right: 14px;
    height: 22px;
    background: repeating-linear-gradient(
        90deg,
        rgba(201,168,76,0.08) 0px,
        rgba(201,168,76,0.08) 6px,
        transparent 6px,
        transparent 9px
    ),
    repeating-linear-gradient(
        180deg,
        rgba(201,168,76,0.06) 0px,
        rgba(201,168,76,0.06) 4px,
        transparent 4px,
        transparent 8px
    );
    border-radius: 2px;
    opacity: 0.7;
}

/* Trackpad */
.ab-laptop-base::after {
    content: '';
    position: absolute;
    bottom: 7px;
    left: 50%;
    transform: translateX(-50%);
    width: 52px;
    height: 14px;
    border: 1px solid rgba(201,168,76,0.25);
    border-radius: 3px;
    background: rgba(201,168,76,0.04);
}

/* Bottom edge depth shadow */
.ab-laptop-base-shadow {
    width: 200px;
    height: 8px;
    background: linear-gradient(to bottom, rgba(0,0,0,0.7), transparent);
    border-radius: 0 0 8px 8px;
    margin-top: -2px;
}

/* Product name tag below laptop */
.ab-laptop-product-tag {
    margin-top: 10px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}
.ab-laptop-product-name {
    font-size: 10px;
    font-weight: 700;
    color: #F0EDE8;
    letter-spacing: 0.5px;
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ab-laptop-product-price {
    font-size: 14px;
    font-weight: 900;
    color: #C9A84C;
    letter-spacing: -0.3px;
}
.ab-laptop-product-orig {
    font-size: 9px;
    color: rgba(240,237,232,0.35);
    text-decoration: line-through;
    margin-right: 4px;
}

/* ── Old card wrappers (kept for compat, zeroed out) ──────── */
.ab-hero-v4-card {
    display: contents;
}
.ab-hero-v4-card-info,
.ab-hero-v4-card-btn,
.ab-hero-v4-card-inner,
.ab-hero-v4-box-scene,
.ab-hero-v4-box-front,
.ab-hero-v4-box-top,
.ab-hero-v4-box-side {
    display: none;
}

.ab-hero-v4-screen-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.ab-hero-v4-screen-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 48px;
    color: #C9A84C;
    opacity: 0.5;
}

/* Info bar */
.ab-hero-v4-card-info {
    background: #0d0d10;
    padding: 11px 14px 8px;
    border-left: 2px solid #C9A84C;
    border-right: 2px solid #C9A84C;
    border-top: 1px solid rgba(201,168,76,0.30);
    /* Slight left offset to align with front face (side-face is 22px) */
    margin-left: 22px;
    box-sizing: border-box;
}

.ab-hero-v4-card-meta {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
}

.ab-hero-v4-card-name {
    font-size: 11px;
    font-weight: 700;
    color: #F0EDE8;
    line-height: 1.35;
    flex: 1;
}

.ab-hero-v4-card-price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 1px;
    flex-shrink: 0;
}

.ab-hero-v4-card-orig {
    font-size: 9.5px;
    color: rgba(240,237,232,0.38);
    text-decoration: line-through;
    font-weight: 400;
}

.ab-hero-v4-card-now {
    font-size: 16px;
    font-weight: 900;
    color: #C9A84C;
    line-height: 1;
    letter-spacing: -0.3px;
}

/* Shop Now button */
.ab-hero-v4-card-btn {
    display: block;
    text-align: center;
    padding: 11px 14px;
    background: #C9A84C;
    color: #000 !important;
    font-size: 9.5px;
    font-weight: 900;
    letter-spacing: 2px;
    text-decoration: none !important;
    transition: background 0.2s;
    font-family: 'Merriweather', Georgia, serif;
    text-transform: uppercase;
    border: 2px solid #C9A84C;
    border-top: 1px solid rgba(201,168,76,0.5);
    border-radius: 0 0 6px 6px;
    /* Align with front face */
    margin-left: 22px;
    box-sizing: border-box;
}
.ab-hero-v4-card-btn:hover {
    background: #E8C86A;
    color: #000 !important;
}

/* ── Mobile ───────────────────────────────────────────────── */
@media (max-width: 760px) {
    .ab-hero-v4-inner {
        grid-template-columns: 1fr;
        padding: 24px 18px;
    }
    .ab-hero-v4-right {
        display: none;
    }
    .ab-hero-v4-trust-tile { flex-wrap: wrap; gap: 6px; }
}

/* ── Mobile: countdown box stays bottom-right, smaller ─────── */
@media (max-width: 760px) {
    .ab-hero-v4-countdown-box {
        top: auto;
        bottom: 12px;
        right: 12px;
        width: 180px;
        padding: 8px;
        gap: 6px;
    }
    .ab-hcd-num { font-size: 20px; }
    .ab-hcd-unit { padding: 8px 4px 6px; }
    .ab-hcd-sale-name { font-size: 12px; }
    .ab-hcd-subtile { padding: 7px 10px; }
    .ab-hero-v4 { min-height: 280px; }
}
@media (max-width: 1024px) and (min-width: 761px) {
    .ab-hero-v4-inner {
        grid-template-columns: 1fr;
    }
    .ab-hero-product-tile { max-width: 200px; padding: 16px 16px 14px; }
    .ab-hpt-now { font-size: 22px; }
}


/* ════════════════════════════════════════════════════════════
   PRODUCT CARDS — Modern redesign v2.0.6
   Clean dark tiles with image, category chip, name, price,
   a two-tone "ADD TO CART" button with icon.
   ════════════════════════════════════════════════════════════ */

.ab-product-card {
    border-radius: 16px !important;
    overflow: hidden !important;
    border: 1px solid rgba(201,168,76,0.22) !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.55) !important;
    background: linear-gradient(175deg, #13131a 0%, #0c0c11 100%) !important;
    transition: transform 0.22s cubic-bezier(.22,.61,.36,1),
                box-shadow 0.22s,
                border-color 0.22s !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    cursor: default !important;
}
.ab-product-card:hover {
    transform: translateY(-6px) scale(1.015) !important;
    border-color: rgba(201,168,76,0.65) !important;
    box-shadow:
        0 12px 40px rgba(0,0,0,0.7),
        0 0 0 1px rgba(201,168,76,0.12),
        0 0 30px rgba(201,168,76,0.10) !important;
}

/* ── Image panel ── */
.ab-card-img {
    position: relative !important;
    height: 190px !important;
    overflow: hidden !important;
    background: #080810 !important;
    flex-shrink: 0 !important;
}
/* subtle inner gradient overlay so image fades into card body */
.ab-card-img::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 48px;
    background: linear-gradient(to bottom, transparent, rgba(12,12,17,0.90));
    pointer-events: none;
    z-index: 1;
}
.ab-card-img img,
.ab-product-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
    display: block !important;
    transition: transform 0.45s cubic-bezier(.22,.61,.36,1) !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}
.ab-product-card:hover .ab-card-img img {
    transform: scale(1.08) !important;
}

.ab-no-img {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 48px;
    color: #C9A84C;
    opacity: 0.15;
    letter-spacing: 0;
}

/* ── Sale badge — top-left pill ── */
.ab-sale-badge {
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    background: linear-gradient(90deg, #C9A84C, #e8c86a) !important;
    color: #000 !important;
    font-size: 8.5px !important;
    font-weight: 900 !important;
    letter-spacing: 1.4px !important;
    padding: 4px 9px !important;
    border-radius: 20px !important;
    z-index: 4 !important;
    font-family: 'Merriweather', Georgia, serif !important;
    box-shadow: 0 2px 8px rgba(201,168,76,0.35) !important;
    text-transform: uppercase !important;
}

/* ── Star rating — top-right pill ── */
.ab-stars-row {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    background: rgba(0,0,0,0.72) !important;
    backdrop-filter: blur(4px) !important;
    border-radius: 20px !important;
    padding: 4px 9px !important;
    z-index: 4 !important;
    border: 1px solid rgba(201,168,76,0.20) !important;
}
.ab-rating-val {
    font-size: 10px !important;
    color: #e8c86a !important;
    font-weight: 700 !important;
}
.woocommerce .star-rating,
.ab-stars-row .star-rating,
.ab-stars .star-rating {
    color: #C9A84C !important;
    font-size: 11px !important;
}

/* ── Card body ── */
.ab-card-body {
    padding: 0 !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    background: transparent !important;
}
.ab-card-name  { display: none !important; }
.ab-card-price { display: none !important; }

/* Name + price block */
.ab-card-meta-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    padding: 14px 14px 10px !important;
    flex: 1 !important;
}

.ab-card-meta-name {
    font-family: 'Merriweather', Georgia, serif !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    color: #edeae4 !important;
    line-height: 1.45 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}
.ab-card-meta-name a {
    color: inherit !important;
    text-decoration: none !important;
    transition: color 0.18s !important;
}
.ab-card-meta-name a:hover { color: #C9A84C !important; }

/* Price row — sale price prominent, old price struck */
.ab-card-meta-price {
    display: flex !important;
    align-items: baseline !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    margin-top: 2px !important;
}
.ab-card-meta-price-del {
    font-size: 11px !important;
    color: rgba(240,237,232,0.35) !important;
    text-decoration: line-through !important;
    font-weight: 400 !important;
}
.ab-card-meta-price-now {
    font-size: 19px !important;
    font-weight: 900 !important;
    color: #C9A84C !important;
    line-height: 1 !important;
    letter-spacing: -0.5px !important;
}

/* ── ADD TO CART button ── */
/* ── Zero-price FREE badge ───────────────────────────────────────────────── */
.ab-price-free {
    font-size: 12px !important;
    font-weight: 800 !important;
    color: #27AE60 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    font-family: 'Merriweather', Georgia, serif !important;
}

.ab-btn-cart,
.ab-btn-atc-link {
    width: 100% !important;
    background: rgba(201,168,76,0.10) !important;
    border: none !important;
    border-top: 1px solid rgba(201,168,76,0.18) !important;
    color: #C9A84C !important;
    font-family: 'Merriweather', Georgia, serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 1.6px !important;
    padding: 13px 14px !important;
    border-radius: 0 0 16px 16px !important;
    cursor: pointer !important;
    transition: background 0.18s, color 0.18s !important;
    text-transform: uppercase !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    text-decoration: none !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 2 !important;
}
.ab-btn-cart:hover,
.ab-btn-atc-link:hover {
    background: #C9A84C !important;
    color: #000 !important;
    border-top-color: transparent !important;
}
.ab-btn-cart.loading,
.ab-btn-atc-link.loading { opacity: 0.55 !important; pointer-events: none !important; }

/* ════════════════════════════════════════════════════════════
   SIDEBAR BOXES
   ════════════════════════════════════════════════════════════ */
.ab-sidebar-box {
    border-radius: 12px;
    padding: 0;
    margin-bottom: 16px;
    font-family: 'Merriweather', Georgia, serif;
    border: 1.5px solid rgba(201,168,76,0.40);
    background: rgba(10,10,14,0.80);
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,0.50), inset 0 1px 0 rgba(201,168,76,0.07);
}
/* Gold label strip at top of each sidebar box — like Nexvault section headers */
.ab-sidebar-box-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-bottom: 1.5px solid rgba(201,168,76,0.35);
    background: rgba(201,168,76,0.06);
}
.ab-sidebar-box-icon {
    font-size: 13px;
    color: #C9A84C;
    flex-shrink: 0;
}
.ab-sidebar-box-title {
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: rgba(201,168,76,0.90);
    margin: 0;
}
/* Inner content padding */
.ab-sidebar-box-body {
    padding: 16px;
}

/* ── Countdown ─────────────────────────────────────────────── */
.ab-limited-badge {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
    color: var(--ab-gold);
    margin-bottom: 5px;
    text-transform: uppercase;
}
.ab-sale-title {
    font-family: 'Merriweather', Georgia, serif;
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 14px;
    line-height: 1.2;
    color: var(--ab-text);
}
.ab-countdown {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
    margin-bottom: 16px;
}
.ab-cd-unit {
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 8px;
    padding: 10px 4px;
}
.ab-cd-num {
    font-size: 26px;
    font-weight: 800;
    line-height: 1;
    color: var(--ab-gold);
}
.ab-cd-label {
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.2px;
    margin-top: 4px;
    opacity: 0.55;
    color: var(--ab-text);
}

/* ── Deals ─────────────────────────────────────────────────── */
.ab-sidebar-heading {
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 2.5px;
    margin-bottom: 14px;
    color: rgba(201,168,76,0.90);
    text-transform: uppercase;
}
.ab-flash { font-size: 13px; }
.ab-deal-item {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid rgba(201,168,76,0.18);
}
.ab-deal-item:last-of-type { border-bottom: none; }
.ab-deal-img {
    width: 52px;
    height: 52px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    background: var(--ab-img-bg);
}
.ab-deal-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ab-deal-name {
    font-size: 11px;
    font-weight: 600;
    margin-bottom: 4px;
    line-height: 1.3;
    color: var(--ab-text);
}
.ab-deal-price { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
.ab-price-now { font-weight: 700; font-size: 13px; color: var(--ab-gold); }
.ab-price-was { font-size: 11px; opacity: 0.4; text-decoration: line-through; color: var(--ab-text); }
.ab-badge-off {
    font-size: 9px; font-weight: 800; padding: 2px 5px;
    border-radius: 4px; background: var(--ab-gold); color: #000;
}
.ab-mini-timer { font-size: 10px; opacity: 0.55; margin-top: 3px; color: var(--ab-text); }

/* ── Trust badges ──────────────────────────────────────────── */
.ab-trust-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 12px;
}
.ab-trust-item:last-child { margin-bottom: 0; }
.ab-trust-icon { font-size: 18px; flex-shrink: 0; margin-top: 1px; }
.ab-trust-item strong {
    display: block;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.8px;
    color: var(--ab-text);
    text-transform: uppercase;
}
.ab-trust-item p { font-size: 11px; margin: 2px 0 0; opacity: 0.55; color: var(--ab-text); }

/* ── Payment badges ────────────────────────────────────────── */
.ab-payments-box {
    /* outer box is now ab-sidebar-box — this class removed as outer wrapper */
}
.ab-payments-inner {
    display: flex;
    gap: 7px;
    justify-content: center;
    flex-wrap: wrap;
}
.ab-pay-badge {
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.8px;
    padding: 6px 10px;
    border-radius: 6px;
    border: 1px solid rgba(201,168,76,0.40);
    color: rgba(201,168,76,0.85);
    background: rgba(201,168,76,0.06);
}

/* ── Currency switcher ─────────────────────────────────────── */
.ab-currency-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    margin-bottom: 7px;
    color: var(--ab-text);
}
.ab-currency-select {
    width: 100%;
    padding: 9px 12px;
    border-radius: 8px;
    font-family: 'Merriweather', Georgia, serif;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid var(--ab-gold);
    outline: none;
    background: var(--ab-card);
    color: var(--ab-text);
    transition: border-color 0.2s;
}
.ab-currency-select:focus { box-shadow: 0 0 0 3px rgba(201,168,76,0.15); }

/* ════════════════════════════════════════════════════════════
   SHARED BUTTONS
   ════════════════════════════════════════════════════════════ */
.ab-btn-gold {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #C9A84C, #E8C86A, #C9A84C);
    background-size: 200% 100%;
    color: #000 !important;
    font-weight: 800;
    font-size: 12px;
    letter-spacing: 1.5px;
    text-align: center;
    padding: 12px 20px;
    border-radius: 8px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: box-shadow 0.2s, transform 0.18s, background-position 0.4s;
    text-transform: uppercase;
}
.ab-btn-gold:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 22px rgba(201,168,76,0.45);
    background-position: right center;
    color: #000 !important;
}
.ab-btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid var(--ab-gold);
    color: var(--ab-gold) !important;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 1.5px;
    text-align: center;
    padding: 10px 20px;
    border-radius: 8px;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    text-transform: uppercase;
}
.ab-btn-outline:hover {
    background: var(--ab-gold);
    color: #000 !important;
}
.ab-full { display: block; width: 100%; text-align: center; }

/* ════════════════════════════════════════════════════════════
   CART & CHECKOUT (styled in later phases, base rules here)
   ════════════════════════════════════════════════════════════ */
.airborne-checkout-layout table.cart,
.airborne-checkout-layout table.shop_table {
    border-radius: 14px !important;
    overflow: hidden !important;
    border: 1px solid var(--ab-border) !important;
    background: var(--ab-card) !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    width: 100% !important;
}
.airborne-checkout-layout table.cart th,
.airborne-checkout-layout table.shop_table th {
    background: var(--ab-card-2) !important;
    color: var(--ab-text) !important;
    font-size: 10px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    padding: 14px 18px !important;
    font-family: 'Merriweather', Georgia, serif !important;
    border-bottom: 1px solid var(--ab-border) !important;
}
.airborne-checkout-layout table.cart td,
.airborne-checkout-layout table.shop_table td {
    padding: 16px 18px !important;
    border-bottom: 1px solid var(--ab-border) !important;
    background: transparent !important;
    color: var(--ab-text) !important;
    vertical-align: middle !important;
}
.airborne-checkout-layout .cart_totals,
.airborne-checkout-layout .checkout_coupon {
    background: var(--ab-card) !important;
    border: 1px solid var(--ab-border) !important;
    border-radius: 14px !important;
    padding: 24px !important;
    margin-top: 20px !important;
}
.airborne-checkout-layout .wc-proceed-to-checkout .checkout-button,
.airborne-checkout-layout #place_order {
    background: linear-gradient(135deg, #C9A84C, #E8C86A, #C9A84C) !important;
    color: #000 !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    letter-spacing: 1.5px !important;
    border-radius: 10px !important;
    border: none !important;
    padding: 16px 32px !important;
    width: 100% !important;
    transition: all 0.2s !important;
    font-family: 'Merriweather', Georgia, serif !important;
}
.airborne-checkout-layout .wc-proceed-to-checkout .checkout-button:hover,
.airborne-checkout-layout #place_order:hover {
    box-shadow: 0 8px 30px rgba(201,168,76,0.45) !important;
    transform: translateY(-1px) !important;
}
.airborne-checkout-layout input[type="text"],
.airborne-checkout-layout input[type="email"],
.airborne-checkout-layout input[type="tel"],
.airborne-checkout-layout input[type="number"],
.airborne-checkout-layout select,
.airborne-checkout-layout textarea {
    border-radius: 8px !important;
    border: 1px solid var(--ab-border) !important;
    background: var(--ab-bg) !important;
    color: var(--ab-text) !important;
    font-family: 'Merriweather', Georgia, serif !important;
    padding: 11px 14px !important;
    font-size: 13px !important;
    transition: border-color 0.2s !important;
    width: 100% !important;
}
.airborne-checkout-layout input:focus,
.airborne-checkout-layout select:focus,
.airborne-checkout-layout textarea:focus {
    border-color: var(--ab-gold) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(201,168,76,0.12) !important;
}

/* ════════════════════════════════════════════════════════════
   WC NOTICES
   ════════════════════════════════════════════════════════════ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-radius: 10px !important;
    border-top: none !important;
    border-left: 4px solid var(--ab-gold) !important;
    background: var(--ab-card) !important;
    color: var(--ab-text) !important;
    padding: 14px 18px !important;
    font-family: 'Merriweather', Georgia, serif !important;
    margin-bottom: 16px !important;
}
.woocommerce-message::before { color: var(--ab-gold) !important; }

/* ════════════════════════════════════════════════════════════
   WC BREADCRUMBS
   ════════════════════════════════════════════════════════════ */
.woocommerce-breadcrumb { font-size: 12px; margin-bottom: 12px; opacity: 0.55; font-family: 'Merriweather', Georgia, serif; }
.woocommerce-breadcrumb a { color: var(--ab-gold); text-decoration: none; }

/* ════════════════════════════════════════════════════════════
   TOAST NOTIFICATION
   ════════════════════════════════════════════════════════════ */
.ab-toast {
    position: fixed;
    bottom: 28px;
    right: 28px;
    z-index: 99999;
    padding: 13px 20px;
    border-radius: 12px;
    font-family: 'Merriweather', Georgia, serif;
    font-size: 13px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 10px;
    transform: translateY(80px);
    opacity: 0;
    transition: all 0.35s cubic-bezier(.4,0,.2,1);
    box-shadow: 0 8px 32px rgba(0,0,0,0.35);
    max-width: 320px;
}
.ab-toast.ab-toast-show { transform: translateY(0); opacity: 1; }
.ab-toast-success { background: #1a2e1a; border: 1px solid #3a7a3a; color: #7ecf7e; }
.ab-toast-gold    { background: var(--ab-card); border: 1px solid var(--ab-gold); color: var(--ab-text); }

/* ════════════════════════════════════════════════════════════
   QTY STEPPER (cart)
   ════════════════════════════════════════════════════════════ */
.ab-qty-wrap {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--ab-gold);
    border-radius: 8px;
    overflow: hidden;
}
.ab-qty-btn {
    background: transparent;
    border: none;
    color: var(--ab-gold);
    font-size: 18px;
    width: 36px;
    height: 40px;
    cursor: pointer;
    font-family: 'Merriweather', Georgia, serif;
    transition: background 0.15s;
}
.ab-qty-btn:hover { background: rgba(201,168,76,0.12); }
.ab-qty-wrap input.qty {
    border: none !important;
    background: transparent !important;
    text-align: center !important;
    width: 50px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--ab-text) !important;
}

/* ════════════════════════════════════════════════════════════
   PAYMENT LOGOS GRID
   ════════════════════════════════════════════════════════════ */
.ab-payments-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: flex-start;
}
.ab-pay-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    overflow: hidden;
    transition: opacity 0.2s, transform 0.15s;
    cursor: default;
}
.ab-pay-logo:hover {
    opacity: 0.85;
    transform: translateY(-1px);
}
.ab-pay-logo svg {
    display: block;
    border-radius: 5px;
}


/* ════════════════════════════════════════════════════════════
   CATEGORY ARCHIVE PAGE (taxonomy-product_cat.php)
   ════════════════════════════════════════════════════════════ */

.ab-cat-archive {
    padding: 0;
}

/* Breadcrumb + title block */
.ab-cat-archive-header {
    padding: 24px 0 20px;
    border-bottom: 1px solid rgba(201,168,76,0.15);
    margin-bottom: 24px;
}

.ab-cat-breadcrumb {
    font-size: 11px;
    letter-spacing: 0.8px;
    color: rgba(240,237,232,0.45);
    text-transform: uppercase;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.ab-cat-breadcrumb a {
    color: #C9A84C;
    text-decoration: none;
    transition: opacity 0.15s;
}
.ab-cat-breadcrumb a:hover { opacity: 0.7; }
.ab-crumb-sep { opacity: 0.5; }

.ab-cat-archive-title {
    font-family: 'Merriweather', Georgia, serif !important;
    font-size: 26px !important;
    font-weight: 900 !important;
    letter-spacing: 2px !important;
    color: #edeae4 !important;
    margin: 0 0 6px !important;
    line-height: 1.2 !important;
}

.ab-cat-archive-desc {
    font-size: 13px;
    color: rgba(240,237,232,0.55);
    margin: 0 0 8px;
    line-height: 1.6;
}

.ab-cat-archive-count {
    font-size: 11px;
    color: #C9A84C;
    letter-spacing: 0.8px;
    font-weight: 600;
}

/* Full-width grid: 4 columns desktop, responsive */
.ab-cat-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 18px !important;
    margin-bottom: 32px;
}
@media (max-width: 1100px) { .ab-cat-grid { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 720px)  { .ab-cat-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; } }
@media (max-width: 440px)  { .ab-cat-grid { grid-template-columns: 1fr !important; } }

/* Cards inside the grid: no flex-width override needed */
.ab-cat-grid .ab-product-card {
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
}

/* Empty state */
.ab-cat-empty {
    text-align: center;
    padding: 60px 20px;
    color: rgba(240,237,232,0.5);
    font-size: 14px;
}
.ab-cat-empty .ab-btn-gold {
    margin-top: 20px;
    display: inline-flex;
}

/* Pagination */
.ab-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    padding: 20px 0 10px;
}
.ab-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    padding: 0 10px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    border: 1px solid rgba(201,168,76,0.25);
    color: rgba(240,237,232,0.65);
    text-decoration: none;
    transition: border-color 0.18s, color 0.18s, background 0.18s;
}
.ab-pagination .page-numbers:hover,
.ab-pagination .page-numbers.current {
    border-color: #C9A84C;
    color: #C9A84C;
    background: rgba(201,168,76,0.08);
}

/* ── Ensure sidebar buttons always clickable ── */
.ab-btn-gold,
.ab-btn-outline,
.ab-view-deals,
.ab-deal-item {
    position: relative !important;
    z-index: 5 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}


/* ════════════════════════════════════════════════════════════
   SINGLE PRODUCT PAGE  (ab-sp-*)
   ════════════════════════════════════════════════════════════ */

/* Outer wrapper */
.ab-sp-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 0 60px;
    font-family: 'Merriweather', Georgia, serif;
    color: var(--ab-text);
}

/* ── Breadcrumb ─────────────────────────────────────────────── */
.ab-sp-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 11px;
    letter-spacing: 0.7px;
    color: var(--ab-muted);
    text-transform: uppercase;
    padding: 18px 0 20px;
    font-family: 'Merriweather', Georgia, serif;
}
.ab-sp-breadcrumb a,
.ab-sp-breadcrumb-cat a {
    color: var(--ab-gold);
    text-decoration: none;
    transition: opacity 0.15s;
}
.ab-sp-breadcrumb a:hover,
.ab-sp-breadcrumb-cat a:hover { opacity: 0.7; }
.ab-sp-bcrumb-sep { opacity: 0.4; }
.ab-sp-bcrumb-current { color: var(--ab-text); }

/* ── Hero Panel ─────────────────────────────────────────────── */
.ab-sp-hero {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
    background: var(--ab-card);
    border: 1px solid var(--ab-border);
    border-radius: 16px;
    padding: 40px;
    margin-bottom: 40px;
}
@media (max-width: 860px) {
    .ab-sp-hero {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 24px;
    }
}

/* Image column */
.ab-sp-img-col {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.ab-sp-img-frame {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    background: var(--ab-img-bg);
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ab-sp-main-img,
.ab-sp-img-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.ab-sp-img-frame:hover .ab-sp-main-img { transform: scale(1.03); }
.ab-sp-img-placeholder {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
}
.ab-sp-sale-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background: var(--ab-gold);
    color: #0A0A0B;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1.5px;
    padding: 4px 10px;
    border-radius: 4px;
    font-family: 'Merriweather', Georgia, serif;
}

/* Thumbnail strip */
.ab-sp-thumbs {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.ab-sp-thumb {
    width: 64px;
    height: 64px;
    border-radius: 8px;
    overflow: hidden;
    border: 2px solid var(--ab-border);
    cursor: pointer;
    transition: border-color 0.18s;
    flex-shrink: 0;
}
.ab-sp-thumb:hover,
.ab-sp-thumb-active { border-color: var(--ab-gold) !important; }
.ab-sp-thumb-img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Detail column */
.ab-sp-detail-col {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.ab-sp-cat-tag {
    display: inline-block;
    margin-bottom: 10px;
}
.ab-sp-cat-tag a {
    font-size: 10px;
    letter-spacing: 1.5px;
    font-weight: 700;
    color: var(--ab-gold);
    text-decoration: none;
    border: 1px solid rgba(201,168,76,0.35);
    padding: 3px 10px;
    border-radius: 4px;
    font-family: 'Merriweather', Georgia, serif;
    transition: background 0.15s;
}
.ab-sp-cat-tag a:hover { background: rgba(201,168,76,0.1); }

.ab-sp-title {
    font-family: 'Merriweather', Georgia, serif !important;
    font-size: 26px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    color: var(--ab-text) !important;
    margin: 0 0 14px !important;
    letter-spacing: 0.5px;
}

/* Star rating */
.ab-sp-rating-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}
.ab-sp-stars .star-rating { font-size: 14px !important; }
.ab-sp-rating-num {
    font-size: 13px;
    font-weight: 700;
    color: var(--ab-gold);
}
.ab-sp-review-count {
    font-size: 12px;
    color: var(--ab-muted);
}

/* Price block */
.ab-sp-price-block {
    margin-bottom: 18px;
}
.ab-sp-price-block .woocommerce-Price-amount,
.ab-sp-price-block .price,
.ab-sp-price-block bdi {
    font-family: 'Merriweather', Georgia, serif !important;
    font-size: 28px !important;
    font-weight: 900 !important;
    color: var(--ab-gold) !important;
}
.ab-sp-price-block .price del {
    font-size: 18px !important;
    color: var(--ab-muted) !important;
    margin-right: 8px;
}
.ab-sp-price-block .price ins {
    text-decoration: none !important;
}
.ab-sp-price-block .price del .woocommerce-Price-amount {
    font-size: 18px !important;
    color: var(--ab-muted) !important;
}

/* Short description */
.ab-sp-short-desc {
    font-size: 14px;
    color: rgba(240,237,232,0.7);
    line-height: 1.7;
    margin-bottom: 22px;
}
.ab-sp-short-desc p { margin: 0 0 8px; }

/* ── Add to Cart block ──────────────────────────────────────── */
.ab-sp-atc-block {
    margin-bottom: 22px;
}

/* Qty input + button row */
.ab-sp-atc-block form.cart {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap;
}

/* Qty input */
.ab-sp-atc-block .quantity { display: flex !important; }
.ab-sp-atc-block .quantity input.qty {
    width: 60px !important;
    height: 48px !important;
    border: 1px solid var(--ab-gold) !important;
    border-radius: 8px !important;
    background: var(--ab-card-2) !important;
    color: var(--ab-text) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-align: center !important;
    font-family: 'Merriweather', Georgia, serif !important;
    padding: 0 8px !important;
    box-sizing: border-box !important;
}
.ab-sp-atc-block .quantity input.qty:focus {
    outline: none !important;
    border-color: var(--ab-gold-2) !important;
    box-shadow: 0 0 0 3px var(--ab-glow) !important;
}

/* Add to Cart button */
.ab-sp-atc-block button.single_add_to_cart_button,
.ab-sp-atc-block .button.single_add_to_cart_button {
    flex: 1 !important;
    min-width: 180px !important;
    height: 48px !important;
    background: linear-gradient(135deg, var(--ab-gold) 0%, var(--ab-gold-2) 100%) !important;
    color: #0A0A0B !important;
    border: none !important;
    border-radius: 8px !important;
    font-family: 'Merriweather', Georgia, serif !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: opacity 0.18s, transform 0.15s, box-shadow 0.18s !important;
    box-shadow: 0 4px 18px rgba(201,168,76,0.3) !important;
}
.ab-sp-atc-block button.single_add_to_cart_button:hover,
.ab-sp-atc-block .button.single_add_to_cart_button:hover {
    opacity: 0.88 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 24px rgba(201,168,76,0.45) !important;
}

/* Variation selects */
.ab-sp-atc-block .variations select {
    background: var(--ab-card-2) !important;
    border: 1px solid var(--ab-border) !important;
    color: var(--ab-text) !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
    font-family: 'Merriweather', Georgia, serif !important;
    font-size: 13px !important;
    margin-bottom: 8px;
}
.ab-sp-atc-block .variations td,
.ab-sp-atc-block .variations th {
    padding: 4px 8px 8px 0 !important;
    font-size: 12px;
    color: var(--ab-muted);
    letter-spacing: 0.5px;
}

/* Stock status */
.ab-sp-atc-block .stock {
    font-size: 12px !important;
    letter-spacing: 0.5px !important;
    font-family: 'Merriweather', Georgia, serif !important;
}
.ab-sp-atc-block .in-stock  { color: #4caf8c !important; }
.ab-sp-atc-block .out-of-stock { color: #e55 !important; }

/* ── Meta block (SKU / Cat / Tags) ─────────────────────────── */
.ab-sp-meta-block {
    border-top: 1px solid var(--ab-border);
    padding-top: 16px;
    margin-bottom: 18px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.ab-sp-meta-row {
    display: flex;
    align-items: baseline;
    gap: 10px;
    font-size: 12px;
    line-height: 1.5;
}
.ab-sp-meta-label {
    color: var(--ab-muted);
    letter-spacing: 0.6px;
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 700;
    flex-shrink: 0;
    min-width: 70px;
}
.ab-sp-meta-value {
    color: var(--ab-text);
}
.ab-sp-meta-value a {
    color: var(--ab-gold);
    text-decoration: none;
}
.ab-sp-meta-value a:hover { opacity: 0.75; }

/* Trust pills */
.ab-sp-trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.ab-sp-trust-pill {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: rgba(240,237,232,0.6);
    border: 1px solid var(--ab-border);
    border-radius: 20px;
    padding: 4px 12px;
    transition: border-color 0.15s, color 0.15s;
}
.ab-sp-trust-pill:hover {
    border-color: rgba(201,168,76,0.4);
    color: var(--ab-gold);
}

/* ── Tabs ───────────────────────────────────────────────────── */
.ab-sp-tabs-wrap {
    background: var(--ab-card);
    border: 1px solid var(--ab-border);
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 40px;
}

.ab-sp-tab-nav {
    display: flex;
    gap: 0;
    border-bottom: 1px solid var(--ab-border);
    padding: 0 32px;
}
.ab-sp-tab-btn {
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    color: var(--ab-muted);
    font-family: 'Merriweather', Georgia, serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    padding: 18px 20px 15px;
    cursor: pointer;
    transition: color 0.18s, border-color 0.18s;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: -1px;
}
.ab-sp-tab-btn:hover { color: var(--ab-text); }
.ab-sp-tab-btn.ab-sp-tab-active {
    color: var(--ab-gold);
    border-bottom-color: var(--ab-gold);
}
.ab-sp-tab-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(201,168,76,0.15);
    color: var(--ab-gold);
    font-size: 10px;
    font-weight: 900;
    min-width: 18px;
    height: 18px;
    border-radius: 9px;
    padding: 0 5px;
}

.ab-sp-tab-panel { display: none; }
.ab-sp-tab-panel.ab-sp-panel-active { display: block; }

.ab-sp-description {
    padding: 32px;
    font-size: 14px;
    line-height: 1.8;
    color: rgba(240,237,232,0.8);
}
.ab-sp-description h2,
.ab-sp-description h3,
.ab-sp-description h4 {
    font-family: 'Merriweather', Georgia, serif;
    color: var(--ab-text);
    margin: 24px 0 10px;
}
.ab-sp-description p { margin: 0 0 14px; }
.ab-sp-description ul,
.ab-sp-description ol {
    padding-left: 20px;
    margin-bottom: 14px;
}
.ab-sp-description li { margin-bottom: 6px; }

/* ── Reviews tab (WC default comments) ─────────────────────── */
.ab-sp-reviews {
    padding: 32px;
}

/* Reset WC review styles into NexVault theme */
.ab-sp-reviews #reviews h3,
.ab-sp-reviews #reviews h2 {
    font-family: 'Merriweather', Georgia, serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--ab-text) !important;
    margin: 0 0 20px !important;
    letter-spacing: 0.5px;
}
.ab-sp-reviews .woocommerce-Reviews-title { display: none; }
.ab-sp-reviews .comment-list { list-style: none !important; padding: 0 !important; margin: 0 0 28px !important; }
.ab-sp-reviews .comment-list .comment,
.ab-sp-reviews .comment-list .review {
    background: var(--ab-card-2) !important;
    border: 1px solid var(--ab-border) !important;
    border-radius: 10px !important;
    padding: 20px !important;
    margin-bottom: 14px !important;
}
.ab-sp-reviews .comment-text { border: none !important; padding: 0 !important; }
.ab-sp-reviews .comment-text p { margin: 0 0 6px !important; font-size: 13px !important; line-height: 1.6 !important; color: rgba(240,237,232,0.75) !important; }
.ab-sp-reviews .comment-author .fn { font-size: 13px !important; font-weight: 700 !important; color: var(--ab-text) !important; }
.ab-sp-reviews .comment-author .says { display: none !important; }
.ab-sp-reviews .star-rating { font-size: 13px !important; }
.ab-sp-reviews .meta { font-size: 11px !important; color: var(--ab-muted) !important; margin-bottom: 8px !important; }

/* Review form */
.ab-sp-reviews #review_form_wrapper h3 {
    font-size: 16px !important;
    margin: 0 0 18px !important;
}
.ab-sp-reviews .comment-form-rating { margin-bottom: 16px; }
.ab-sp-reviews .comment-form-rating label,
.ab-sp-reviews .comment-form-comment label,
.ab-sp-reviews .comment-form-author label,
.ab-sp-reviews .comment-form-email label {
    font-size: 11px !important;
    letter-spacing: 0.6px !important;
    text-transform: uppercase !important;
    color: var(--ab-muted) !important;
    font-weight: 700 !important;
    display: block !important;
    margin-bottom: 6px !important;
}
.ab-sp-reviews .comment-form-author input,
.ab-sp-reviews .comment-form-email input,
.ab-sp-reviews .comment-form-comment textarea {
    background: var(--ab-card-2) !important;
    border: 1px solid var(--ab-border) !important;
    border-radius: 8px !important;
    color: var(--ab-text) !important;
    font-family: 'Merriweather', Georgia, serif !important;
    font-size: 13px !important;
    padding: 10px 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: border-color 0.15s, box-shadow 0.15s !important;
}
.ab-sp-reviews .comment-form-author input:focus,
.ab-sp-reviews .comment-form-email input:focus,
.ab-sp-reviews .comment-form-comment textarea:focus {
    outline: none !important;
    border-color: var(--ab-gold) !important;
    box-shadow: 0 0 0 3px var(--ab-glow) !important;
}
.ab-sp-reviews .comment-form-comment textarea { min-height: 100px; resize: vertical; }
.ab-sp-reviews input#submit,
.ab-sp-reviews .submit {
    background: linear-gradient(135deg, var(--ab-gold) 0%, var(--ab-gold-2) 100%) !important;
    color: #0A0A0B !important;
    border: none !important;
    border-radius: 8px !important;
    font-family: 'Merriweather', Georgia, serif !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    padding: 12px 28px !important;
    cursor: pointer !important;
    transition: opacity 0.18s, transform 0.15s !important;
    box-shadow: 0 4px 16px rgba(201,168,76,0.3) !important;
    margin-top: 12px;
}
.ab-sp-reviews input#submit:hover,
.ab-sp-reviews .submit:hover { opacity: 0.87 !important; transform: translateY(-1px) !important; }

/* "No reviews yet" notice */
.ab-sp-reviews .woocommerce-noreviews {
    font-size: 13px !important;
    color: var(--ab-muted) !important;
    margin-bottom: 20px;
}

/* ── Related Products ───────────────────────────────────────── */
.ab-sp-related { margin-bottom: 20px; }
.ab-sp-related-title {
    font-family: 'Merriweather', Georgia, serif !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    color: var(--ab-text) !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    margin: 0 0 20px !important;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(201,168,76,0.2);
}
.ab-sp-related-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}
@media (max-width: 1000px) { .ab-sp-related-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px)  { .ab-sp-related-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; } }
@media (max-width: 420px)  { .ab-sp-related-grid { grid-template-columns: 1fr; } }

/* Related cards: inherit shop grid card style */
.ab-sp-rel-card {
    text-decoration: none !important;
    display: flex !important;
    flex-direction: column !important;
}
.ab-sp-rel-card .ab-card-meta-name {
    font-family: 'Merriweather', Georgia, serif;
    font-size: 12px;
    font-weight: 700;
    color: var(--ab-text);
    display: block !important;
    margin-bottom: 4px;
}
.ab-sp-rel-card .ab-card-meta-price {
    font-size: 13px;
    font-weight: 700;
    color: var(--ab-gold);
    display: block !important;
}
.ab-sp-rel-card .ab-card-meta-price .woocommerce-Price-amount { color: var(--ab-gold) !important; }

/* ── Light mode overrides ───────────────────────────────────── */
.airborne-theme-light .ab-sp-short-desc { color: rgba(26,26,26,0.7); }
.airborne-theme-light .ab-sp-description { color: rgba(26,26,26,0.75); }
.airborne-theme-light .ab-sp-trust-pill { color: rgba(26,26,26,0.5); }
.airborne-theme-light .ab-sp-reviews .comment-list .comment,
.airborne-theme-light .ab-sp-reviews .comment-list .review { background: #f5f0e8 !important; }
.airborne-theme-light .ab-sp-reviews .comment-text p { color: rgba(26,26,26,0.7) !important; }

/* ── Suppress WC defaults on single product ────────────────── */
/* Hide raw WC breadcrumb (we render our own) */
.single-product .woocommerce-breadcrumb { display: none !important; }
/* Hide default WC product title (we render in hero) */
.ab-sp-wrap .product_title.entry-title { display: none !important; }
/* Hide default WC price rendered outside our block */
.ab-sp-wrap > .summary > .price:first-of-type { display: none; }
/* Remove extra margin WC themes add */
.woocommerce div.product div.images { margin-bottom: 0 !important; }
/* Ensure WC's own add-to-cart wrappers don't break our layout */
.ab-sp-atc-block .woocommerce-variation-add-to-cart { display: flex; gap: 12px; align-items: center; }


/* ═══════════════════════════════════════════════════════════════
   FONT & COLOR CONSISTENCY FIXES v2.4.7
   Force Merriweather everywhere except hero (already set)
   Fix hero Line 2 gold color override
   Fix all text colors to match design system
═══════════════════════════════════════════════════════════════ */

/* ── Global Merriweather scope ── */
.airborne-layout,
.airborne-layout *,
.ab-shop-page,
.ab-shop-page *,
.ab-sidebar-box,
.ab-sidebar-box *,
.ab-section,
.ab-section *,
.ab-product-card,
.ab-product-card * {
    font-family: 'Merriweather', Georgia, serif !important;
}

/* ── Hero Line 2 — force gold, override ALL theme em/i styles ── */
.ab-hero-v4-title em,
.ab-hero-v4-title .ab-hero-v4-title-em,
em.ab-hero-v4-title-em,
.ab-hero-v4 em,
.ab-hero-v4-left em {
    color: #C9A84C !important;
    font-style: italic !important;
    font-weight: 400 !important;
    font-size: clamp(16px, 1.8vw, 24px) !important;
    display: block !important;
    margin-top: 8px !important;
    line-height: 1.4 !important;
    opacity: 0.92 !important;
    font-family: 'Merriweather', Georgia, serif !important;
}

/* ── Section header titles — gold, Merriweather ── */
.ab-section-title,
h2.ab-section-title,
.ab-section .ab-section-title,
.ab-section-header h2,
.ab-section-header .ab-section-title {
    color: #C9A84C !important;
    font-family: 'Merriweather', Georgia, serif !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    line-height: 1 !important;
}

/* ── Section number badge ── */
.ab-section-num {
    color: #000000 !important;
    background: #C9A84C !important;
    font-family: 'Merriweather', Georgia, serif !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}

/* ── VIEW ALL link ── */
.ab-view-all {
    color: #C9A84C !important;
    font-family: 'Merriweather', Georgia, serif !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

/* ── Product card name ── */
.ab-card-meta-name,
.ab-card-meta-name a {
    font-family: 'Merriweather', Georgia, serif !important;
    color: #edeae4 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}
.ab-card-meta-name a:hover { color: #C9A84C !important; }

/* ── Product card price ── */
.ab-card-meta-price-now {
    color: #C9A84C !important;
    font-family: 'Merriweather', Georgia, serif !important;
    font-size: 18px !important;
    font-weight: 900 !important;
}
.ab-card-meta-price-del {
    color: rgba(240,237,232,0.35) !important;
    font-family: 'Merriweather', Georgia, serif !important;
}

/* ── ADD TO CART button ── */
/* ── Zero-price FREE badge ───────────────────────────────────────────────── */
.ab-price-free {
    font-size: 12px !important;
    font-weight: 800 !important;
    color: #27AE60 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    font-family: 'Merriweather', Georgia, serif !important;
}

.ab-btn-cart,
.ab-btn-atc-link {
    font-family: 'Merriweather', Georgia, serif !important;
    color: #C9A84C !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 1.6px !important;
    text-transform: uppercase !important;
}
.ab-btn-cart:hover,
.ab-btn-atc-link:hover {
    color: #000000 !important;
}

/* ── Sidebar box titles ── */
.ab-sidebar-box-title {
    color: #C9A84C !important;
    font-family: 'Merriweather', Georgia, serif !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
}

/* ── Sidebar deal item ── */
.ab-deal-name {
    color: #edeae4 !important;
    font-family: 'Merriweather', Georgia, serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
}
.ab-price-now {
    color: #C9A84C !important;
    font-family: 'Merriweather', Georgia, serif !important;
    font-weight: 700 !important;
}
.ab-price-was {
    color: rgba(240,237,232,0.4) !important;
    font-family: 'Merriweather', Georgia, serif !important;
}
.ab-mini-timer {
    color: rgba(240,237,232,0.5) !important;
    font-family: 'Merriweather', Georgia, serif !important;
}

/* ── Trust badge titles ── */
.ab-trust-item strong {
    color: #edeae4 !important;
    font-family: 'Merriweather', Georgia, serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;
}
.ab-trust-item p {
    color: rgba(240,237,232,0.55) !important;
    font-family: 'Merriweather', Georgia, serif !important;
    font-size: 11px !important;
}

/* ── Payment badges ── */
.ab-pay-badge {
    color: rgba(201,168,76,0.85) !important;
    font-family: 'Merriweather', Georgia, serif !important;
    font-size: 9px !important;
    font-weight: 800 !important;
}

/* ── Currency select ── */
.ab-currency-select {
    font-family: 'Merriweather', Georgia, serif !important;
    color: #edeae4 !important;
    background: #111111 !important;
    border-color: #C9A84C !important;
}

/* ── Sale badge on cards ── */
.ab-sale-badge {
    font-family: 'Merriweather', Georgia, serif !important;
    color: #000000 !important;
}

