/* ============================================================
   GamingZone â€” Light & Clean Modern Design System
   Part 1: Tokens, reset, buttons, topbar, header, nav, alerts
   ============================================================ */

:root {
    --primary: #44d62c;
    --primary-dark: #6a9a2e;
    --primary-soft: #eef7e0;
    --violet: #44d62c;
    --accent: #44d62c;
    --accent-ink: #ffffff;
    --ink: #000000;
    --cyan: #0ea5e9;
    --grad: linear-gradient(135deg, #44d62c 0%, #2fb51f 100%);

    --bg: #ffffff;
    --bg-alt: #f5f7f6;
    --surface: #ffffff;
    --surface-2: #f7f8f7;
    --surface-3: #eef1ef;

    --border: #e2e5e3;
    --border-strong: #cfd3d1;

    --text: #0a0a0a;
    --text-2: #3f4744;
    --text-3: #656e6a;
    --text-4: #93998e;

    --danger: #e11d48;
    --success: #16a34a;
    --warning: #f59e0b;

    --radius: 15px;
    --radius-sm: 10px;
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05), 0 1px 3px rgba(0, 0, 0, 0.06);
    --shadow: 0 4px 16px -4px rgba(0, 0, 0, 0.10), 0 2px 6px rgba(0, 0, 0, 0.05);
    --shadow-lg: 0 24px 48px -12px rgba(0, 0, 0, 0.22);
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; background-color: var(--bg); }
html:has(body.light-theme) { background-color: #f4f4f4; }

body {
    font-family: 'Outfit', system-ui, sans-serif;
    background-color: var(--bg);
    color: var(--text);
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 { font-family: 'Outfit', system-ui, sans-serif; font-weight: 700; line-height: 1.2; }
h2 { font-weight: 600; }

a { text-decoration: none; color: inherit; }
img { max-width: 100%; height: auto; display: block; }
i { line-height: 1; }
ul { list-style: none; }
button { font-family: inherit; }

.container { max-width: 1320px; margin: 0 auto; padding: 0 24px; }

/* ---------- Buttons ---------- */
.btn-primary {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    background: var(--accent); color: var(--accent-ink); font-weight: 600; font-size: 14px; letter-spacing: .2px;
    padding: 13px 26px; border: none; border-radius: 999px; cursor: pointer;
    box-shadow: 0 8px 20px -8px rgba(57, 255, 106, 0.55);
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 14px 28px -10px rgba(57, 255, 106, 0.6); filter: brightness(1.05); }
.btn-primary:active { transform: translateY(0); }

.btn-outline {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    color: var(--ink); font-weight: 600; font-size: 13px;
    padding: 11px 22px; border: 2px solid var(--ink); border-radius: 999px;
    background: transparent; cursor: pointer; transition: all .18s ease;
}
.btn-outline:hover { background: var(--ink); color: #fff; }

/* ---------- Top Bar ---------- */
.top-bar { background: #000; color: #b8bdb9; padding: 8px 0; font-size: 12.5px; }
.top-bar-inner { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.top-bar-left { display: flex; align-items: center; gap: 22px; }
.top-bar-left span { display: inline-flex; align-items: center; gap: 7px; }
.top-bar-left i { color: var(--accent); }
.top-bar-right { display: flex; gap: 22px; }
.top-bar-right a { color: #b8bdb9; transition: color .15s; display: inline-flex; align-items: center; gap: 6px; }
.top-bar-right a:hover { color: var(--accent); }
.top-bar-right i { color: var(--accent); }

/* ---------- Header ---------- */
.header { background: #000; border-bottom: 1px solid #1a1a1a; position: sticky; top: 0; z-index: 200; }
.header-inner { display: flex; align-items: center; gap: 28px; padding: 16px 24px; max-width: 1400px; margin: 0 auto; }

.logo { display: inline-flex; align-items: center; gap: 10px; flex-shrink: 0; }
.logo-mark {
    width: 42px; height: 42px; border-radius: 12px; background: var(--accent);
    display: grid; place-items: center; color: var(--accent-ink); font-size: 19px;
    box-shadow: 0 8px 18px -8px rgba(57, 255, 106, 0.6);
}
.logo-name { font-family: 'Outfit'; font-weight: 700; font-size: 21px; letter-spacing: -.5px; color: #fff; }
.logo-name span { color: var(--accent); }

.search-bar { flex: 1; max-width: 640px; }
.search-bar form {
    display: flex; align-items: center; background: #141614;
    border: 1.5px solid #262a26; border-radius: 999px; padding: 4px 4px 4px 18px;
    transition: border-color .15s, box-shadow .15s;
}
.search-bar form:focus-within { border-color: var(--accent); box-shadow: 0 0 0 4px rgba(57, 255, 106, 0.15); }
.search-bar input { flex: 1; background: transparent; border: none; font-size: 14px; color: #fff; outline: none; padding: 8px 8px; }
.search-bar input::placeholder { color: #7a8079; }
.search-btn {
    background: var(--accent); color: var(--accent-ink); border: none; width: 40px; height: 40px;
    border-radius: 50%; font-size: 14px; cursor: pointer; display: grid; place-items: center;
    transition: filter .15s;
}
.search-btn:hover { filter: brightness(1.08); }

.header-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.header-action {
    position: relative; display: grid; place-items: center; width: 44px; height: 44px;
    background: #141614; border: 1px solid #262a26; border-radius: 50%;
    color: #d8dbd9; font-size: 16px; cursor: pointer; border: none; transition: all .15s;
}
.header-action:hover { color: var(--accent-ink); border-color: var(--accent); background: var(--accent); }
.cart-count {
    position: absolute; top: -2px; right: -2px; background: var(--danger); color: #fff;
    font-size: 10px; font-weight: 700; min-width: 18px; height: 18px; border-radius: 999px;
    display: grid; place-items: center; padding: 0 4px; border: 2px solid #000;
}

.mobile-nav-toggle { display: none; background: none; border: none; font-size: 20px; color: #fff; cursor: pointer; width: 44px; height: 44px; border-radius: 12px; }

/* mega search (qr) badge */
.header-promo-badges { display: flex; gap: 8px; }
.hp-badge {
    display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px;
    font-size: 12.5px; font-weight: 600; border: 1px solid #262a26; background: #141614;
    color: #d8dbd9; white-space: nowrap; transition: all .15s;
}
.hp-badge i { color: var(--accent); }
.hp-badge:hover { border-color: var(--accent); color: var(--accent); box-shadow: var(--shadow-sm); }

/* ---------- Mega Menu (Toutes les catégories) ---------- */
.mega-menu-wrap { position: relative; flex-shrink: 0; }
.mega-menu-btn {
    display: inline-flex; align-items: center; gap: 10px; padding: 13px 18px;
    background: var(--accent); color: var(--accent-ink); border: none; border-radius: 10px;
    font-size: 13.5px; font-weight: 700; cursor: pointer; white-space: nowrap; transition: filter .15s;
}
.mega-menu-btn:hover { filter: brightness(1.05); }
.mega-menu-panel {
    position: absolute; top: calc(100% + 8px); left: 0; z-index: 300; display: grid;
    grid-template-columns: repeat(2, 1fr); gap: 2px; min-width: 420px;
    background: var(--surface); border: 1px solid var(--border); border-radius: 14px;
    box-shadow: var(--shadow-lg); padding: 10px; opacity: 0; visibility: hidden;
    transform: translateY(6px); transition: all .18s ease;
}
.mega-menu-panel.open { opacity: 1; visibility: visible; transform: translateY(0); }
.mega-menu-item {
    display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 10px;
    font-size: 13.5px; font-weight: 500; color: var(--text-2); transition: all .12s;
}
.mega-menu-item i { color: var(--primary); width: 18px; text-align: center; }
.mega-menu-item:hover { background: var(--primary-soft); color: var(--primary); }

/* ---------- Main Nav ---------- */
.main-nav { background: #000; border-bottom: 1px solid #1a1a1a; position: sticky; top: 76px; z-index: 150; }
.nav-inner { display: flex; align-items: center; justify-content: flex-start; gap: 14px; overflow-x: visible; scrollbar-width: none; padding: 10px 0; }
.nav-inner .nav-links { margin: 0 auto; flex-wrap: wrap; }
.nav-inner::-webkit-scrollbar { display: none; }
.nav-links { display: flex; align-items: center; gap: 2px; }
.nav-links > li > a {
    display: inline-flex; align-items: center; gap: 6px; padding: 13px 16px;
    font-size: 13.5px; font-weight: 500; color: #d8dbd9;
    border-radius: 10px; white-space: nowrap; transition: all .15s;
}
.nav-links > li > a:hover, .nav-links > li > a.active { color: var(--accent-ink); background: var(--accent); }
.nav-links > li > a > i.caret { font-size: 10px; color: #7a8079; }

/* dropdown (simple, for categories) */
.nav-dropdown {
    position: absolute; top: 100%; left: 50%; transform: translateX(-50%) translateY(8px);
    background: var(--surface); border: 1px solid var(--border); border-radius: 14px;
    box-shadow: var(--shadow-lg); padding: 10px; min-width: 240px; opacity: 0;
    visibility: hidden; transition: all .18s ease; z-index: 300;
}
.nav-item-has-dropdown { position: relative; }
.nav-item-has-dropdown:hover .nav-dropdown, .nav-item-has-dropdown.is-open .nav-dropdown {
    opacity: 1; visibility: visible; transform: translateX(-50%) translateY(4px);
}
.nav-dropdown a {
    display: block; padding: 9px 14px; border-radius: 10px; font-size: 13.5px; color: var(--text-2);
    transition: all .12s;
}
.nav-dropdown a:hover { background: var(--primary-soft); color: var(--primary); }

/* ---------- Alerts ---------- */
.alert { padding: 12px 0; }
.alert .container { display: flex; align-items: center; gap: 10px; font-size: 14px; }
.alert-success { background: #ecfdf5; color: #065f46; }
.alert-error { background: #fff1f2; color: #9f1239; }

/* ---------- Breadcrumb ---------- */
.breadcrumb { padding: 16px 0; font-size: 13px; color: var(--text-3); }
.breadcrumb .container { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.breadcrumb a { color: var(--text-3); transition: color .15s; }
.breadcrumb a:hover { color: var(--primary); }
.breadcrumb .sep { margin: 0 6px; color: var(--text-4); }

/* ---------- Footer ---------- */
.footer { background: var(--text); color: #a7ada9; margin-top: 70px; }
.footer-grid {
    display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr 1.2fr; gap: 36px; padding: 60px 0 44px;
}
.footer-col > img.footer-logo { height: 34px; margin-bottom: 16px; }
.footer-brand { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.footer-brand .logo-mark { width: 38px; height: 38px; font-size: 17px; }
.footer-brand .logo-name { color: #fff; font-size: 19px; }
.footer-col p { font-size: 13.5px; line-height: 1.7; }
.social-links { display: flex; gap: 10px; margin-top: 18px; }
.social-links a {
    width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center;
    background: rgba(255, 255, 255, 0.06); color: #cbd5e1; font-size: 14px; transition: all .15s;
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.social-links a:hover { background: var(--grad); color: #fff; transform: translateY(-3px); }

.footer-col h4 { color: #fff; font-size: 14px; letter-spacing: .5px; margin-bottom: 18px; }
.footer-col ul { display: flex; flex-direction: column; gap: 11px; }
.footer-col ul a { font-size: 13.5px; color: #a7ada9; transition: color .15s; }
.footer-col ul a:hover { color: var(--primary); }
.payment-methods { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.payment-icon {
    display: inline-flex; align-items: center; justify-content: center; padding: 7px 13px;
    background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px; font-size: 11.5px; font-weight: 700; color: #fff; letter-spacing: 1px;
}
.trust-badges { display: flex; flex-direction: column; gap: 10px; }
.trust-badges span { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; color: #cbd5e1; }
.trust-badges i { color: var(--primary); }

.footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.08); padding: 20px 0; }
.footer-bottom-inner { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.footer-bottom p { font-size: 12.5px; }
.footer-links { display: flex; gap: 22px; }
.footer-links a { font-size: 12.5px; transition: color .15s; }
.footer-links a:hover { color: #fff; }


/* ============================================================
   GamingZone â€” Part 2: Home sections (hero, features, categories,
   products grid, promo, brands, newsletter)
   ============================================================ */

/* ---------- Hero ---------- */
.hero-slider { position: relative; height: 520px; overflow: hidden; }
.slider-container { width: 100%; height: 100%; position: relative; }
.slides-wrapper { width: 100%; height: 100%; }
.slide {
    position: absolute; inset: 0; background-size: cover; background-position: center;
    opacity: 0; transition: opacity .8s ease; display: flex; align-items: center;
}
.slide.active { opacity: 1; z-index: 1; }
.slide-content { max-width: 580px; padding: 0 72px; }
.slide-label {
    display: inline-flex; align-items: center; gap: 8px; background: rgba(15, 23, 42, 0.55);
    backdrop-filter: blur(8px); color: #fff; padding: 8px 16px; font-size: 11.5px;
    font-weight: 600; letter-spacing: 2px; border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px; margin-bottom: 20px; text-transform: uppercase;
}
.slide-content h1 { font-size: 52px; line-height: 1.08; color: #fff; margin-bottom: 16px; text-shadow: 0 4px 24px rgba(0, 0, 0, 0.35); }
.slide-content h1 .highlight { background: linear-gradient(120deg, #fff 30%, #a5b4fc 90%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.slide-content p { font-size: 16px; color: rgba(255, 255, 255, 0.9); margin-bottom: 28px; max-width: 440px; }
.slide-content .btn-primary { background: #fff; color: var(--primary); box-shadow: 0 12px 30px -10px rgba(0, 0, 0, 0.4); }
.slide-content .btn-primary:hover { transform: translateY(-2px); }

.slider-btn {
    position: absolute; top: 50%; transform: translateY(-50%); z-index: 5;
    background: rgba(255, 255, 255, 0.92); border: none; color: var(--text);
    width: 46px; height: 46px; border-radius: 50%; font-size: 15px; cursor: pointer;
    display: grid; place-items: center; box-shadow: var(--shadow); transition: all .15s;
}
.slider-btn:hover { background: var(--primary); color: #fff; }
.slider-btn.prev { left: 24px; }
.slider-btn.next { right: 24px; }
.slider-dots { position: absolute; bottom: 26px; left: 50%; transform: translateX(-50%); z-index: 5; display: flex; gap: 8px; }
.dot { width: 9px; height: 9px; border-radius: 999px; background: rgba(255, 255, 255, 0.5); cursor: pointer; transition: all .25s; }
.dot.active { background: #fff; width: 26px; }

/* ---------- Feature bar ---------- */
.features-bar { background: var(--surface); border-bottom: 1px solid var(--border); padding: 26px 0; }
.features-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.feature-item { display: flex; align-items: center; gap: 16px; padding: 14px 20px; border-radius: var(--radius); }
.feature-item > i {
    width: 52px; height: 52px; flex-shrink: 0; border-radius: 14px; display: grid; place-items: center;
    font-size: 20px; background: var(--primary-soft); color: var(--primary);
}
.feature-item:nth-child(2) > i { background: #ecfeff; color: #0891b2; }
.feature-item:nth-child(3) > i { background: #fdf4ff; color: #a21caf; }
.feature-item:nth-child(4) > i { background: #ecfdf5; color: #059669; }
.feature-item h4 { font-size: 14.5px; margin-bottom: 2px; }
.feature-item p { font-size: 12.5px; color: var(--text-3); }

/* ---------- Section headers ---------- */
.section-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 30px; }
.section-label { display: inline-flex; align-items: center; gap: 6px; color: var(--primary); font-size: 11.5px; font-weight: 700; letter-spacing: 1.5px; margin-bottom: 8px; text-transform: uppercase; }
.section-header h2 { font-size: 30px; letter-spacing: -.5px; }
.view-all { color: var(--primary); font-weight: 600; font-size: 14px; display: inline-flex; align-items: center; gap: 6px; transition: gap .15s; }
.view-all:hover { gap: 10px; }

/* ---------- Categories ---------- */
.categories { padding: 72px 0 40px; }
.categories-header { text-align: center; max-width: 620px; margin: 0 auto 42px; }
.categories-header h2 { font-size: 34px; margin-bottom: 10px; }
.categories-header p { color: var(--text-3); font-size: 15px; }
.categories-grid-icons { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.category-icon-card { display: flex; align-items: center; gap: 18px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 22px; box-shadow: var(--shadow-sm); transition: all .2s ease; }
.category-icon-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: var(--primary); }
.category-icon { width: 58px; height: 58px; flex-shrink: 0; border-radius: 16px; display: grid; place-items: center; font-size: 22px; background: linear-gradient(145deg, var(--primary-soft), #fdf4ff); color: var(--primary); }
.category-icon-info h4 { font-size: 15.5px; margin-bottom: 4px; }
.category-icon-info ul li { font-size: 12px; color: var(--text-4); line-height: 1.9; }
.category-icon-info ul li::before { content: "\2022"; color: var(--primary); margin-right: 6px; }
.categories-more { text-align: center; margin-top: 36px; }

/* ---------- Products sections ---------- */
.products-section { padding: 40px 0 72px; }
.best-sellers { background: linear-gradient(180deg, transparent, var(--bg-alt)); }
.products-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.products-grid.cols-5 { grid-template-columns: repeat(5, 1fr); }
.products-grid.cols-4 { grid-template-columns: repeat(4, 1fr); }
.products-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
.products-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }

/* ---------- Product card (cybertek "vignette" structure) ---------- */
.product-card {
    position: relative; display: flex; flex-direction: column;
    background: var(--surface); border: 1px solid var(--border-strong);
    border-radius: 15px; padding: 5px; overflow: hidden; transition: all .2s ease;
}
.product-card:hover { border-color: var(--primary); box-shadow: var(--shadow-lg); }
.product-badges { position: absolute; top: 14px; left: 14px; z-index: 3; display: flex; flex-direction: column; gap: 6px; }
.badge { display: inline-block; padding: 5px 12px; font-size: 11px; font-weight: 700; border-radius: 999px; letter-spacing: .5px; }
.badge.new { background: #111; color: #fff; }
.badge.sale { background: #111; color: #fff; }

.product-img { position: relative; aspect-ratio: 1; background: var(--surface-2); overflow: hidden; border-radius: 11px; }
.product-img img { width: 100%; height: 100%; object-fit: cover; transition: opacity .25s; }
.product-img .img-hover { position: absolute; inset: 0; opacity: 0; }
.product-card:hover .img-hover { opacity: 1; }
.product-card:hover .product-img:has(.img-hover) .img-primary { opacity: 0; }

.product-info { padding: 14px 10px 10px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.product-cat-row { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.product-brand-logo { height: 14px; width: auto; object-fit: contain; }
.product-cat { font-size: 12px; font-weight: 600; text-transform: none; color: var(--text-3); }
.product-name { font-size: 12px; font-weight: 600; line-height: 1.45; color: var(--text); flex: 1; }
.product-desc { font-size: 12px; line-height: 1.5; color: var(--text-3); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.product-cta {
    display: flex; align-items: center; justify-content: center; width: 100%;
    margin-top: 10px; padding: 10px 15px; border-radius: 50px;
    background: #111; color: #fff; font-weight: 600; font-size: 14px;
    transition: all .15s ease; cursor: pointer; border: none;
}
.product-card:hover .product-cta { background: #44d62c; color: #000; filter: brightness(1.05); }
.product-cta.is-disabled { background: var(--surface-3); color: var(--text-4); }
.product-cta i { margin-right: 6px; }

.product-specs { display: flex; flex-wrap: wrap; gap: 4px 8px; list-style: none; padding: 0; margin: 2px 0 0; }
.product-specs li { font-size: 11px; color: var(--text-3); line-height: 1.3; }
.product-specs li::before { content: '•'; color: var(--primary); margin-right: 4px; }

.product-price-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.product-price { display: flex; align-items: baseline; gap: 8px; margin-top: 4px; }
.product-price .current { font-size: 20px; font-weight: 600; font-family: 'Outfit'; color: var(--text); }
.product-price .old { font-size: 13px; color: var(--text-4); text-decoration: line-through; }

.product-actions { display: flex; align-items: center; gap: 8px; margin-top: 4px; }
.product-add-form { flex: 1; }
.product-wishlist {
    display: flex; align-items: center; justify-content: center;
    width: 38px; height: 38px; border-radius: 50%;
    border: 1px solid var(--border); background: transparent;
    color: var(--text-3); font-size: 14px; cursor: pointer; transition: all .15s;
    flex-shrink: 0;
}
.product-wishlist:hover { color: #ef4444; border-color: #ef4444; background: rgba(239,68,68,.08); }

.product-cart-icon {
    display: flex; align-items: center; justify-content: center;
    width: 36px; height: 36px; border-radius: 8px;
    background: #111; color: #fff; border: none;
    font-size: 14px; cursor: pointer; transition: all .15s; flex-shrink: 0;
}
.product-cart-icon:hover { background: #222; transform: scale(1.08); }

.no-products { color: var(--text-3); grid-column: 1 / -1; text-align: center; padding: 40px; }

/* ---------- Promo banners ---------- */
.promo-banners { padding: 20px 0; }
.banners-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.promo-banner { position: relative; min-height: 240px; border-radius: var(--radius); overflow: hidden; background-size: cover; background-position: center; display: flex; align-items: flex-end; padding: 28px; isolation: isolate; }
.promo-banner::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(15, 23, 42, 0.6), transparent 60%); z-index: -1; }
.banner-content h3 { color: #fff; font-size: 24px; margin-bottom: 14px; text-shadow: 0 2px 12px rgba(0, 0, 0, 0.3); }
.banner-content .btn-outline { color: #fff; border-color: #fff; background: rgba(255, 255, 255, 0.12); backdrop-filter: blur(6px); font-size: 12px; padding: 9px 18px; }
.banner-content .btn-outline:hover { background: #fff; color: var(--primary); }

/* ---------- Brands ---------- */
.brands { padding: 30px 0 60px; }
.brands-slider { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; }
.brand-item { padding: 18px 34px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); font-family: 'Outfit'; font-weight: 700; font-size: 15px; color: var(--text-3); opacity: .8; letter-spacing: .5px; transition: all .2s; text-transform: capitalize; }
.brand-item:hover { opacity: 1; color: var(--primary); transform: translateY(-3px); box-shadow: var(--shadow); }

/* ---------- Newsletter ---------- */
.newsletter { padding: 20px 0 70px; }
.newsletter-inner { background: linear-gradient(130deg, #4f46e5 0%, #7c3aed 60%, #a21caf 100%); border-radius: 24px; padding: 48px 56px; display: flex; align-items: center; justify-content: space-between; gap: 40px; position: relative; overflow: hidden; }
.newsletter-inner::before { content: ""; position: absolute; width: 340px; height: 340px; border-radius: 50%; background: rgba(255, 255, 255, 0.08); top: -120px; right: -80px; }
.newsletter-left { display: flex; align-items: center; gap: 22px; color: #fff; position: relative; z-index: 1; }
.newsletter-left > i { font-size: 44px; opacity: .9; }
.newsletter-left h3 { font-size: 24px; margin-bottom: 6px; letter-spacing: .3px; }
.newsletter-left p { font-size: 14px; color: rgba(255, 255, 255, 0.85); }
.newsletter-form { display: flex; gap: 10px; max-width: 460px; width: 100%; flex-shrink: 0; position: relative; z-index: 1; }
.newsletter-form input { flex: 1; padding: 14px 20px; border: none; border-radius: 999px; font-size: 14px; outline: none; }
.newsletter-form .btn-primary { background: var(--text); flex-shrink: 0; }
.newsletter-form .btn-primary:hover { filter: none; box-shadow: 0 12px 26px -10px rgba(0, 0, 0, 0.5); }

/* ============================================================
   Cybertek-like home storefront
   ============================================================ */
body.theme-dark {
    background: #0b0b0b;
    color: #e0e0e0;
}

body.theme-dark .header {
    background: #000;
    border-bottom: 2px solid #44d62c;
    position: sticky;
    top: 0;
}

body.theme-dark .header-inner {
    max-width: 1100px;
    min-height: 70px;
    padding: 9px 0 8px;
    gap: 22px;
}

body.theme-dark .logo {
    min-width: 250px;
    gap: 11px;
}

body.theme-dark .logo-mark {
    width: 50px;
    height: 50px;
    border-radius: 0;
    background: #fff;
    color: #000;
    box-shadow: none;
}

body.theme-dark .logo-name {
    color: #fff;
    font-size: 31px;
    font-weight: 800;
    line-height: .86;
    text-transform: uppercase;
    letter-spacing: -1px;
}

body.theme-dark .logo-name span {
    display: block;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
}

body.theme-dark .search-bar {
    max-width: 300px;
}

body.theme-dark .search-bar form {
    background: #fff;
    border: 0;
    border-radius: 17px;
    padding: 0 0 0 20px;
    min-height: 50px;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.12);
}

body.theme-dark .search-bar form:focus-within {
    box-shadow: inset 0 0 0 2px #44d62c;
}

body.theme-dark .search-bar input {
    color: #222;
    font-size: 14px;
    font-weight: 600;
}

body.theme-dark .search-bar input::placeholder {
    color: #777;
}

body.theme-dark .search-btn {
    width: 48px;
    height: 48px;
    border-radius: 15px;
    background: #44d62c;
    color: #000;
    font-size: 21px;
}

body.theme-dark .header-promo-badges {
    display: none;
}

body.theme-dark .header-actions {
    gap: 18px;
    color: #fff;
}

body.theme-dark .header-action {
    width: 44px;
    min-width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    color: #fff;
    font-size: 19px;
}

body.theme-dark .cart-count {
    top: 24px;
    right: 0;
    min-width: 0;
    height: auto;
    background: transparent;
    border: 0;
    padding: 0;
    color: #fff;
    font-size: 12px;
}

body.theme-dark .main-nav {
    background: #000;
    border: 0;
    top: 70px;
}

body.theme-dark .nav-inner {
    max-width: 1100px;
    justify-content: flex-start;
    gap: 8px;
    padding: 0;
}

body.theme-dark .mega-menu-wrap {
    display: contents;
}

body.theme-dark .mega-menu-btn,
body.theme-dark .nav-links > li > a {
    height: 35px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 28px;
    border-radius: 8px 8px 0 0;
    background: #fff;
    color: #111;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    border: 1px solid #666;
    border-bottom: 0;
}

body.theme-dark .mega-menu-btn {
    min-width: 170px;
}

body.theme-dark .mega-menu-btn i {
    display: none;
}

body.theme-dark .mega-menu-btn:hover,
body.theme-dark .nav-links > li > a:hover,
body.theme-dark .nav-links > li > a.active,
body.theme-dark .nav-links > li:last-child > a {
    background: #44d62c;
    color: #000;
}

body.theme-dark .nav-links > li:nth-child(n+7) {
    display: none;
}

body.theme-dark .nav-dropdown,
body.theme-dark .mega-menu-panel {
    border-radius: 0 0 8px 8px;
    border-color: #d5d5d5;
}

.ct-wrap {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 24px;
}

.ct-hero {
    position: relative;
    background: #050505;
    overflow: hidden;
}

.ct-hero-track {
    position: relative;
    height: 640px;
}

.ct-hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity .3s ease;
}

.ct-hero-slide.active {
    opacity: 1;
}

.ct-hero-slide img,
.ct-hero-slide video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ct-hero-arrow {
    position: absolute;
    top: 50%;
    z-index: 3;
    width: 38px;
    height: 54px;
    transform: translateY(-50%);
    border: 0;
    background: rgba(0,0,0,.48);
    color: #fff;
    cursor: pointer;
}

.ct-hero-prev {
    left: 16px;
}

.ct-hero-next {
    right: 16px;
}

.ct-hero-thumbs {
    position: absolute;
    right: 30px;
    bottom: 14px;
    display: flex;
    gap: 7px;
    z-index: 4;
}

.ct-hero-thumbs button {
    width: 34px;
    height: 5px;
    border: 0;
    border-radius: 5px;
    background: rgba(255,255,255,.45);
    cursor: pointer;
}

.ct-hero-thumbs button.active {
    background: #44d62c;
}

.ct-services {
    background: #fff;
    border-bottom: 1px solid #d9d9d9;
}

.ct-services-grid {
    min-height: 52px;
    display: grid;
    grid-template-columns: 1.05fr .9fr 1.05fr 1.15fr 1.85fr;
    align-items: center;
    gap: 18px;
}

.ct-service {
    display: grid;
    grid-template-columns: 34px 1fr;
    column-gap: 8px;
    align-items: center;
    line-height: 1.05;
    color: #000;
}

.ct-service i {
    grid-row: span 2;
    font-size: 25px;
    text-align: center;
}

.ct-service strong {
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.ct-service span {
    font-size: 12px;
    font-weight: 700;
}

.ct-category-zone {
    background: #0d0d0d;
    padding: 10px 0 26px;
}

.ct-category-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 9px;
}

.ct-category-card {
    background: #fff;
    min-height: 330px;
    border: 1px solid #d4d4d4;
    border-radius: 13px 13px 0 0;
    overflow: hidden;
    text-align: center;
}

.ct-category-img {
    display: block;
    height: 188px;
    overflow: hidden;
}

.ct-category-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease;
}

.ct-category-card:hover .ct-category-img img {
    transform: scale(1.04);
}

.ct-category-title {
    margin-top: -39px;
    min-height: 39px;
    display: grid;
    place-items: center;
    position: relative;
    z-index: 1;
    background: linear-gradient(180deg, rgba(0,0,0,.65), #000);
    color: #44d62c;
    font-size: 15px;
    font-weight: 900;
    text-transform: uppercase;
}

.ct-category-card ul {
    padding: 8px 10px 14px;
}

.ct-category-card li a {
    display: block;
    padding: 3px 4px;
    color: #555;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
}

.ct-category-card li a:hover {
    color: #000;
}

.ct-products {
    background: #e9e9e9;
    padding: 8px 0 28px;
}

.ct-products-light {
    padding-top: 0;
}

.ct-slider-title {
    background: #000;
    color: #fff;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    font-size: 22px;
    font-weight: 900;
    text-transform: uppercase;
}

.ct-product-rail-wrap {
    position: relative;
}

.ct-product-rail {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    padding: 0 2px 6px;
}

.ct-product-rail::-webkit-scrollbar {
    display: none;
}

.ct-rail-btn {
    position: absolute;
    top: 45%;
    z-index: 5;
    width: 34px;
    height: 46px;
    border: 0;
    background: #000;
    color: #fff;
    cursor: pointer;
}

.ct-rail-prev {
    left: -17px;
}

.ct-rail-next {
    right: -17px;
}

.ct-product-rail .product-card {
    flex: 1 1 0;
    min-width: 180px;
    max-width: 260px;
    border-radius: 0;
    border: 0;
    background: #fff;
    box-shadow: none;
    scroll-snap-align: start;
}

.ct-product-rail .product-card:hover {
    transform: none;
    box-shadow: 0 3px 12px rgba(0,0,0,.15);
}

.ct-product-rail .product-img {
    aspect-ratio: 1.1;
    background: #fff;
}

.ct-product-rail .product-info {
    padding: 9px 12px 12px;
    gap: 6px;
    text-align: center;
}

.ct-product-rail .product-cat {
    color: #555;
    font-size: 11px;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
}

.ct-product-rail .product-name {
    min-height: 58px;
    color: #111;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.28;
    overflow: hidden;
}

.ct-product-rail .product-price {
    justify-content: center;
    flex-wrap: wrap;
    gap: 5px;
}

.ct-product-rail .product-price .current {
    color: #111;
    font-size: 18px;
    font-weight: 900;
}

.ct-product-rail .product-price .old {
    color: #777;
    font-size: 12px;
}

.ct-product-rail .product-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 27px;
    padding: 0 12px;
    margin: 2px auto 0;
    background: #000;
    color: #fff;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.ct-product-rail .badge {
    border-radius: 0;
    background: #44d62c;
    color: #000;
}

.ct-newsletter {
    background: #000;
    color: #fff;
    padding: 24px 0;
}

.ct-newsletter-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 28px;
}

.ct-newsletter strong {
    display: block;
    font-size: 16px;
    text-transform: uppercase;
}

.ct-newsletter span {
    color: #d7d7d7;
    font-size: 13px;
}

.ct-newsletter form {
    display: flex;
    min-width: 360px;
}

.ct-newsletter input {
    flex: 1;
    min-width: 0;
    border: 0;
    padding: 12px 14px;
    font: inherit;
}

.ct-newsletter button {
    border: 0;
    padding: 0 18px;
    background: #44d62c;
    color: #000;
    font-weight: 900;
    cursor: pointer;
}

body.theme-dark .footer {
    margin-top: 0;
}

@media (max-width: 1150px) {
    body.theme-dark .header-inner,
    body.theme-dark .nav-inner,
    .ct-wrap {
        max-width: 100%;
        padding-left: 16px;
        padding-right: 16px;
    }

    body.theme-dark .logo {
        min-width: 210px;
    }

    body.theme-dark .logo-name {
        font-size: 26px;
    }

    body.theme-dark .nav-links > li > a,
    body.theme-dark .mega-menu-btn {
        padding: 0 18px;
    }

    .ct-category-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 860px) {
    body.theme-dark .header-inner {
        flex-wrap: wrap;
        min-height: auto;
        padding-top: 12px;
        padding-bottom: 12px;
    }

    body.theme-dark .logo {
        min-width: auto;
        flex: 1;
    }

    body.theme-dark .search-bar {
        order: 3;
        max-width: none;
        width: 100%;
        flex-basis: 100%;
    }

    body.theme-dark .header-action::after,
    body.theme-dark .cart-count::after {
        content: "";
    }

    body.theme-dark .header-action {
        min-width: 44px;
        justify-content: center;
    }

    body.theme-dark .mobile-nav-toggle {
        display: grid;
        place-items: center;
        background: #44d62c;
        color: #000;
    }

    body.theme-dark .main-nav {
        top: 118px;
    }

    body.theme-dark .nav-inner {
        display: none;
    }

    body.theme-dark .main-nav.mobile-open .nav-inner {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        padding: 10px 16px 16px;
    }

    body.theme-dark .nav-links {
        flex-direction: column;
        align-items: stretch;
        gap: 6px;
    }

    body.theme-dark .mega-menu-btn,
    body.theme-dark .nav-links > li > a {
        width: 100%;
        border-radius: 8px;
    }

.ct-hero-track {
        height: 400px;
    }

    .ct-services-grid {
        grid-template-columns: repeat(2, 1fr);
        padding-top: 12px;
        padding-bottom: 12px;
    }

    .ct-category-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ct-newsletter-inner {
        flex-direction: column;
        align-items: stretch;
    }

    .ct-newsletter form {
        min-width: 0;
    }
}

/* Cybertek-style product detail page. */
.ct-product-breadcrumb {
    background: #fff;
    border: 0;
    padding: 12px 0 0;
}

.ct-product-breadcrumb .container,
.ct-product-wrap {
    max-width: 1230px;
    margin: 0 auto;
    padding: 0 20px;
}

.ct-product-page {
    background: #fff;
    padding: 0 0 70px;
}

.ct-product-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 615px;
    gap: 40px;
    min-height: 640px;
    padding-top: 4px;
}

.ct-product-buybox h1 {
    margin-bottom: 12px;
    color: #111;
    font-size: 26px;
    font-weight: 800;
    line-height: 1.25;
}

.ct-question {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 54px;
    color: #111;
    font-size: 13px;
    font-weight: 600;
}

.ct-question i {
    font-size: 20px;
}

.ct-product-gallery {
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    align-items: center;
    gap: 30px;
}

.ct-discount-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    padding: 6px 14px;
    border-radius: 999px;
    background: #dc2626;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
}

.ct-thumbs {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ct-thumbs button {
    width: 60px;
    height: 60px;
    padding: 2px;
    border: 1px solid #111;
    background: #fff;
    cursor: pointer;
}

.ct-thumbs button.active {
    border-color: #44d62c;
    box-shadow: 0 0 0 2px #44d62c;
}

.ct-thumbs img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.ct-main-image {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 360px;
    border: 1px solid #eee;
    background: #fff;
}

.ct-main-image img {
    width: 100%;
    max-width: 430px;
    max-height: 430px;
    object-fit: contain;
}

.ct-zoom-btn {
    position: absolute;
    bottom: 14px;
    right: 14px;
    width: 40px;
    height: 40px;
    border: 1px solid #e5e5e5;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    color: #111;
    font-size: 15px;
    cursor: pointer;
    display: grid;
    place-items: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
    transition: all .15s;
}

.ct-zoom-btn:hover {
    background: #44d62c;
    color: #fff;
    border-color: #44d62c;
}

.ct-photo-note {
    margin-top: 18px;
    color: #777;
    text-align: center;
    font-size: 13px;
    font-weight: 500;
}

.ct-product-buybox {
    padding-top: 3px;
}

.ct-buybox-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}

.ct-brand-link {
    display: inline-flex;
    align-items: center;
    padding: 5px 14px;
    border-radius: 999px;
    background: #f3f3f3;
    color: #111;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.ct-rating-row {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.ct-stars {
    display: inline-flex;
    gap: 2px;
    color: #f5a623;
    font-size: 13px;
}

.ct-rating-count {
    color: #777;
    font-size: 13px;
    font-weight: 600;
}

.ct-sku {
    margin-bottom: 18px;
    color: #777;
    font-size: 12px;
}

.ct-short-desc {
    margin-bottom: 14px;
    color: #555;
    font-size: 14px;
    line-height: 1.6;
    font-weight: 500;
}

.ct-price-block {
    margin-bottom: 20px;
}

.ct-price-row {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 12px;
}

.ct-price {
    color: #111;
    font-size: 44px;
    font-weight: 900;
    line-height: 1;
}

.ct-price-currency {
    color: #111;
    font-size: 20px;
    font-weight: 800;
}

.ct-old-price {
    color: #888;
    font-size: 16px;
    text-decoration: line-through;
    font-weight: 600;
}

.ct-save-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    border-radius: 999px;
    background: #dcfce7;
    color: #15803d;
    font-size: 12px;
    font-weight: 700;
}

.ct-tax-note {
    margin-top: 6px;
    color: #888;
    font-size: 12px;
}

.ct-stock-line {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
    color: #16a34a;
    font-size: 13px;
    font-weight: 700;
}

.ct-stock-line.out {
    color: #be123c;
}

.ct-add-row {
    display: flex;
    align-items: stretch;
    gap: 10px;
    margin: 26px 0 18px;
}

.ct-qty {
    display: inline-flex;
    align-items: center;
    border: 2px solid #111;
    background: #fff;
}

.ct-qty-btn {
    width: 40px;
    height: 42px;
    border: 0;
    background: none;
    color: #111;
    font-size: 12px;
    cursor: pointer;
}

.ct-qty-btn:hover {
    background: #f3f3f3;
}

.ct-qty-val {
    min-width: 40px;
    text-align: center;
    color: #111;
    font-size: 15px;
    font-weight: 800;
}

.ct-add-form {
    flex: 1;
    margin: 0;
}

.ct-wishlist-toggle {
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    border: 2px solid #111;
    background: #fff;
    color: #111;
    font-size: 15px;
    cursor: pointer;
    transition: all .15s;
}

.ct-wishlist-toggle:hover,
.ct-wishlist-toggle.active {
    background: #fb7185;
    border-color: #fb7185;
    color: #fff;
}

.ct-trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    margin-bottom: 22px;
    padding: 12px 0;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}

.ct-trust-row span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #444;
    font-size: 12px;
    font-weight: 600;
}

.ct-trust-row i {
    color: #44d62c;
}

.ct-product-meta {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 26px;
    color: #111;
    font-size: 13px;
    font-weight: 500;
}

.ct-price-finance {
    display: flex;
    align-items: center;
    gap: 28px;
    margin-bottom: 18px;
}

.ct-price {
    color: #111;
    font-size: 42px;
    font-weight: 900;
    line-height: .9;
}

.ct-price span {
    margin-left: 4px;
    font-size: 19px;
    font-weight: 800;
}

.ct-price-finance p {
    margin-top: 4px;
    color: #777;
    font-size: 12px;
}

.ct-finance {
    display: grid;
    grid-template-columns: auto auto auto;
    align-items: end;
    gap: 6px;
    color: #111;
}

.ct-finance span {
    grid-column: 1 / -1;
    font-size: 12px;
    font-weight: 700;
}

.ct-finance strong {
    font-size: 36px;
    line-height: .9;
}

.ct-finance em {
    font-style: normal;
    font-size: 13px;
    font-weight: 700;
}

.ct-main-specs h2,
.ct-product-section h2 {
    margin-bottom: 22px;
    color: #111;
    font-size: 31px;
    font-weight: 800;
    line-height: 1.05;
}

.ct-main-specs ul {
    margin-bottom: 8px;
    color: #111;
}

.ct-main-specs li {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.45;
}

.ct-main-specs li::before {
    content: "- ";
}

.ct-main-specs li span {
    font-weight: 700;
}

.ct-main-specs a {
    color: #555;
    font-size: 13px;
    text-decoration: underline;
}

.ct-add-form {
    margin: 36px 0 18px;
}

.ct-add-cart,
.ct-out-stock {
    width: 100%;
    min-height: 42px;
    height: auto;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 0;
    background: #111;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: background .15s;
}

.ct-add-cart:hover {
    background: #44d62c;
    color: #000;
}

.ct-out-stock {
    background: #eee;
    color: #555;
    cursor: default;
}

.ct-dispo-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.ct-dispo-card {
    min-height: 132px;
    padding: 14px 12px;
    border: 1px solid #111;
    background: #fff;
}

.ct-dispo-card h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    color: #111;
    font-size: 15px;
    font-weight: 800;
}

.ct-dispo-card strong {
    display: block;
    margin-bottom: 8px;
    color: #16a34a;
    font-size: 13px;
}

.ct-dispo-card p,
.ct-dispo-card a {
    color: #111;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
}

.ct-dispo-card a {
    display: inline-block;
    margin-top: 8px;
    text-decoration: underline;
}

.ct-product-tabs {
    display: flex;
    gap: 34px;
    margin-top: 16px;
    border-top: 1px solid #111;
    border-bottom: 1px solid #eee;
}

.ct-product-tabs a {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    color: #111;
    font-size: 13px;
    font-weight: 700;
}

.ct-product-tabs a.active {
    border-bottom: 3px solid #111;
}

.ct-tab-panels {
    margin-top: 34px;
}

.ct-tab-panel {
    display: none;
}

.ct-tab-panel.active {
    display: block;
}

.ct-tab-panel h2 {
    margin-bottom: 22px;
    color: #111;
    font-size: 31px;
    font-weight: 800;
    line-height: 1.05;
}

.ct-review-summary {
    margin-bottom: 26px;
    padding: 24px;
    border: 1px solid #eee;
    background: #fafafa;
}

.ct-review-score {
    display: flex;
    align-items: center;
    gap: 14px;
}

.ct-review-score strong {
    color: #111;
    font-size: 44px;
    font-weight: 900;
    line-height: 1;
}

.ct-review-score .ct-stars {
    font-size: 16px;
}

.ct-review-score small {
    display: block;
    color: #777;
    font-size: 13px;
    font-weight: 600;
}

.ct-review-list {
    display: grid;
    gap: 14px;
}

.ct-review-item {
    padding: 18px 20px;
    border: 1px solid #eee;
    background: #fff;
}

.ct-review-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}

.ct-review-head strong {
    color: #111;
    font-size: 14px;
}

.ct-review-head time {
    margin-left: auto;
    color: #999;
    font-size: 12px;
}

.ct-review-item p {
    color: #444;
    font-size: 14px;
    line-height: 1.6;
}

.ct-no-reviews {
    padding: 30px;
    text-align: center;
    background: #fafafa;
    border: 1px dashed #ccc;
}

.ct-no-reviews i {
    color: #ccc;
    font-size: 28px;
    margin-bottom: 10px;
}

.ct-no-reviews p {
    color: #777;
    font-size: 14px;
}

.ct-zoom-modal {
    display: grid;
    place-items: center;
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .85);
    z-index: 500;
    opacity: 0;
    visibility: hidden;
    transition: all .2s;
    backdrop-filter: blur(6px);
}

.ct-zoom-modal.open {
    opacity: 1;
    visibility: visible;
}

.ct-zoom-modal-inner {
    position: relative;
    max-width: 88vw;
    max-height: 88vh;
}

.ct-zoom-close {
    position: absolute;
    top: -16px;
    right: -16px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: none;
    background: #fff;
    color: #111;
    font-size: 16px;
    cursor: pointer;
    z-index: 2;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .2);
}

.ct-zoom-modal-inner img {
    max-width: 88vw;
    max-height: 88vh;
    object-fit: contain;
    border-radius: 16px;
    background: #fff;
    padding: 20px;
}

.ct-product-section {
    padding: 56px 0 10px;
}

.ct-description-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 44px;
    align-items: start;
}

.ct-description-grid h3 {
    margin-bottom: 16px;
    font-size: 16px;
    font-weight: 800;
}

.ct-description-grid .desc {
    color: #111;
    font-size: 14px;
    line-height: 1.7;
}

.ct-description-grid img {
    width: 100%;
    max-height: 320px;
    object-fit: contain;
}

.ct-spec-table {
    display: grid;
    gap: 10px;
    max-width: 860px;
}

.ct-spec-table div {
    display: grid;
    grid-template-columns: 260px 1fr;
    min-height: 36px;
    border-bottom: 1px solid #eee;
}

.ct-spec-table strong,
.ct-spec-table span {
    padding: 8px 12px;
    font-size: 13px;
}

.ct-spec-table strong {
    background: #f3f3f3;
}

.ct-related-rail {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

@media (max-width: 980px) {
    .ct-product-top {
        grid-template-columns: 1fr;
    }

    .ct-product-gallery {
        grid-template-columns: 1fr;
    }

    .ct-thumbs {
        order: 2;
        flex-direction: row;
        flex-wrap: wrap;
    }

    .ct-description-grid,
    .ct-dispo-grid {
        grid-template-columns: 1fr;
    }

    .ct-related-rail {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .ct-product-breadcrumb .container,
    .ct-product-wrap {
        padding: 0 14px;
    }

    .ct-buybox-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .ct-buybox-head h1 {
        font-size: 24px;
        margin-bottom: 0;
    }

    .ct-price-row {
        align-items: flex-start;
    }

    .ct-add-row {
        flex-wrap: wrap;
    }

    .ct-add-form {
        flex: 1 1 100%;
        order: 3;
    }

    .ct-wishlist-toggle {
        order: 2;
    }

    .ct-main-specs h2,
    .ct-product-section h2,
    .ct-tab-panel h2 {
        font-size: 25px;
    }

    .ct-spec-table div {
        grid-template-columns: 1fr;
    }

    .ct-related-rail {
        grid-template-columns: 1fr;
    }
}

/* Readability pass: keep Cybertek boldness for titles, soften small text. */
body.theme-dark .mega-menu-btn,
body.theme-dark .nav-links > li > a,
.ct-shop-page .filter-toggle-btn,
.ct-shop-page .ct-shop-controls .filter-select,
.ct-shop-page .card-action-btn {
    font-weight: 800;
}

.ct-frequent-searches a,
.ct-shop-checks a,
.ct-shop-page .filter-group-title,
.ct-shop-page .filter-list-item,
.ct-shop-page .filter-pill,
.ct-shop-page .sort-select-wrap label,
.mega-menu-rail-item,
.mega-menu-rail-item span,
.mega-menu-rail-item i,
.mega-menu-link-grid a,
.mega-menu-section-head a,
.mega-menu-feature a,
.mega-menu-feature span {
    font-weight: 600;
}

body.theme-dark .mega-menu-panel,
body.theme-dark .mega-menu-panel * {
    font-weight: 600;
}

.ct-shop-heading p,
.ct-shop-page .product-specs,
.ct-shop-page .card-stock-badge,
.ct-shop-page .product-card-body h3 {
    font-weight: 600;
}

.ct-shop-heading h1,
.ct-shop-page .filter-header h3,
.mega-menu-section-head h3,
.mega-menu-feature strong {
    font-weight: 800;
}

.ct-shop-page .card-current-price,
.ct-slider-title,
.ct-category-title {
    font-weight: 900;
}

@media (max-width: 540px) {
    body.theme-dark .logo-name {
        font-size: 22px;
    }

    body.theme-dark .logo-mark {
        width: 42px;
        height: 42px;
    }

.ct-hero-track {
        height: 320px;
    }

    .ct-services-grid,
    .ct-category-grid {
        grid-template-columns: 1fr;
    }

    .ct-category-card {
        min-height: 0;
    }

    .ct-product-rail {
        grid-auto-columns: 172px;
    }

    .ct-product-rail .product-card {
        width: 172px;
    }
}

/* ============================================================
   Cybertek-like shop listing
   ============================================================ */
body.theme-dark .breadcrumb {
    background: #efefef;
    padding: 13px 0;
    border-bottom: 1px solid #d7d7d7;
    color: #555;
}

body.theme-dark .breadcrumb .container {
    max-width: 1100px;
}

body.theme-dark .breadcrumb a:hover {
    color: #000;
}

.ct-shop-page {
    background: #0b0b0b;
    padding: 0 0 54px;
}

.ct-shop-page > .container {
    max-width: 1100px;
    padding: 0;
}

.ct-shop-heading {
    display: block;
    background: #fff;
    color: #111;
    min-height: 96px;
    padding: 4px 10px 16px;
    border: 0;
}

.ct-shop-heading h1 {
    margin: 0 0 8px;
    font-size: 25px;
    font-weight: 900;
    text-transform: none;
    letter-spacing: -.2px;
}

.ct-shop-heading h1 span {
    color: #111;
    font-size: 22px;
    font-weight: 500;
}

.ct-shop-heading p {
    max-width: 900px;
    color: #111;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.45;
}

.ct-frequent-searches {
    display: flex;
    gap: 10px;
    overflow: hidden;
    padding: 26px 25px 20px;
    background: #fff;
}

.ct-frequent-searches a {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 22px;
    border-radius: 999px;
    background: #f1f1f1;
    color: #111;
    font-size: 12px;
    font-weight: 900;
}

.ct-shop-page .products-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 30px;
    align-items: start;
    padding: 0;
}

.ct-shop-page .filter-sidebar {
    position: sticky;
    top: 140px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 20px;
}

.ct-shop-page .filter-sidebar.open {
    transform: translateX(0);
}

.ct-shop-page .filter-overlay {
    position: fixed;
    inset: 0;
    display: block;
    visibility: hidden;
    opacity: 0;
    z-index: 350;
    background: rgba(0,0,0,.45);
    transition: opacity .2s ease, visibility .2s ease;
}

.ct-shop-page .filter-overlay.open {
    visibility: visible;
    opacity: 1;
}

.ct-shop-page .filter-header {
    min-height: 46px;
    margin: 0;
    padding: 0 14px;
    background: #000;
    color: #fff;
    border: 0;
}

.ct-shop-page .filter-header h3 {
    font-size: 18px;
    font-weight: 900;
    text-transform: uppercase;
}

.ct-shop-page .reset-filters {
    color: #44d62c;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.ct-shop-page .filter-group {
    margin: 0;
    padding: 0 14px;
    border-bottom: 1px solid #e5e5e5;
}

.ct-shop-page .filter-group[open] {
    margin: 0;
    padding-bottom: 12px;
}

.ct-shop-page .filter-group-plain {
    padding: 12px 14px;
    background: #fff;
    border: 0;
    border-radius: 0;
}

.ct-shop-page .filter-group-title {
    min-height: 42px;
    padding: 0;
    color: #111;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
}

.ct-shop-page .filter-group-title i {
    color: #000;
}

.ct-shop-page .filter-search {
    border-radius: 0;
    border: 1px solid #d7d7d7;
    background: #f7f7f7;
}

.ct-shop-page .filter-list-scroll {
    max-height: 215px;
}

.ct-shop-page .filter-list-item {
    min-height: 31px;
    padding: 5px 2px;
    gap: 8px;
    border-radius: 0;
    color: #333;
    font-size: 12.5px;
    font-weight: 700;
}

.ct-shop-page .filter-list-item:hover {
    background: #eef7e0;
    color: #000;
}

.ct-shop-page .filter-list-item.active {
    color: #000;
}

.ct-shop-page .filter-list-item.active .filter-list-check,
.ct-shop-page .filter-pill.active {
    color: #000;
}

.ct-shop-page .filter-list-check {
    color: #111;
}

.ct-shop-page .filter-list-count {
    min-width: 26px;
    text-align: right;
    color: #777;
    font-weight: 800;
}

.ct-shop-page .filter-pill {
    width: 100%;
    border-radius: 0;
    background: #f4f4f4;
    color: #111;
    font-weight: 800;
}

.ct-shop-page .filter-pill.active {
    background: #44d62c;
}

.ct-shop-page .price-slider-track {
    background: #d8d8d8;
}

.ct-shop-page .price-slider-range {
    background: #44d62c;
}

.ct-shop-page input[type="range"]::-webkit-slider-thumb {
    background: #000;
}

.ct-shop-page .products-top-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 25px;
    margin: 8px auto 12px;
    padding: 0;
    background: #fff;
    border: 0;
}

.ct-shop-page .results-count {
    color: #111;
    font-size: 14px;
    font-weight: 900;
    text-transform: lowercase;
}

.ct-shop-page .products-top-bar .top-bar-right {
    display: none;
}

.ct-shop-page .mobile-toolbar-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 760px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
}

.ct-shop-page .filter-toggle-btn {
    width: 100%;
    height: 43px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0;
    border-radius: 999px;
    background: #44d62c;
    color: #000;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
}

.ct-shop-page .filter-toggle-btn::after {
    content: "1";
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #000;
    color: #fff;
    font-size: 12px;
}

.ct-shop-page .toolbar-view-row {
    display: none !important;
}

.ct-shop-page .sort-select-wrap label {
    color: #111;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.ct-shop-page .filter-select {
    height: 34px;
    padding: 0 34px 0 12px;
    border-radius: 0;
    border: 1px solid #cfcfcf;
    background-color: #f5f5f5;
    color: #111;
    font-size: 12px;
    font-weight: 800;
}

.ct-shop-page .products-grid {
    width: 760px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin: 0 auto;
}

.ct-shop-page .products-grid.cols-5,
.ct-shop-page .products-grid.cols-4,
.ct-shop-page .products-grid.cols-3,
.ct-shop-page .products-grid.cols-2 {
    display: flex;
    flex-direction: column;
}

.ct-shop-page .list-view,
.ct-shop-page .products-grid.list-view {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ct-shop-page .product-card-list {
    display: grid;
    grid-template-columns: 248px 1fr 216px;
    gap: 8px;
    min-height: 278px;
    border: 0;
    border-radius: 0 0 8px 8px;
    background: #fff;
    padding: 8px;
    box-shadow: 0 4px 16px rgba(0,0,0,.12);
}

.ct-shop-page .product-card-list:hover {
    transform: none;
    box-shadow: 0 4px 14px rgba(0,0,0,.16);
}

.ct-shop-page .product-card-img {
    width: 248px;
    min-height: 242px;
    border-radius: 0;
    background: #fff;
}

.ct-shop-page .product-card-img img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
}

.ct-shop-page .product-card-body {
    display: grid;
    grid-template-columns: 1fr 216px;
    grid-column: span 2;
    gap: 24px;
}

.ct-shop-page .product-card-body h3 {
    grid-column: 1;
    margin-top: 24px;
    color: #111;
    font-size: 14px;
    font-weight: 900;
}

.ct-shop-page .product-specs {
    grid-column: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px 12px;
    max-height: 142px;
    overflow: hidden;
    color: #111;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
}

.ct-shop-page .spec-dot {
    width: 4px;
    height: 4px;
    margin-right: 4px;
    background: #111;
}

.ct-shop-page .product-card-pricing {
    grid-column: 1;
    align-self: end;
    display: flex;
    align-items: flex-end;
    gap: 6px;
}

.ct-shop-page .card-current-price {
    color: #111;
    font-size: 37px;
    font-weight: 900;
    line-height: .86;
}

.ct-shop-page .card-old-price {
    color: #777;
    font-size: 13px;
}

.ct-shop-page .card-stock-badge {
    grid-column: 2;
    grid-row: 2;
    align-self: end;
    width: 100%;
    border-radius: 0;
    background: transparent !important;
    color: #111 !important;
    font-size: 12px;
    line-height: 1.5;
    text-align: left;
}

.ct-shop-page .card-stock-badge::before {
    content: "Dispo web :\A\2713 ";
    white-space: pre;
    color: #16a34a;
    font-weight: 900;
}

.ct-shop-page .product-card-actions {
    grid-column: 2;
    grid-row: 1;
    display: grid;
    grid-template-columns: 1fr;
    align-self: start;
    margin-top: 31px;
    gap: 10px;
}

.ct-shop-page .product-card-actions > a,
.ct-shop-page .product-card-actions > button {
    display: none;
}

.ct-shop-page .product-card-actions form {
    display: block !important;
}

.ct-shop-page .card-action-btn {
    width: 100%;
    height: 53px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 0;
    background: #44d62c;
    color: #000;
    border-radius: 0;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
}

.ct-shop-page .card-action-btn:hover {
    background: #cbd589;
    color: #000;
}

.ct-shop-page .card-action-btn span {
    display: inline;
}

.ct-shop-page .infinite-scroll-loader,
.ct-shop-page .infinite-scroll-end {
    background: #fff;
    margin-top: 12px;
    color: #111;
    font-weight: 800;
}

@media (max-width: 1150px) {
    .ct-shop-page > .container,
    body.theme-dark .breadcrumb .container {
        max-width: 100%;
        padding-left: 16px;
        padding-right: 16px;
    }

    .ct-shop-page .products-grid,
    .ct-shop-page .products-grid.cols-5,
    .ct-shop-page .products-grid.cols-4,
    .ct-shop-page .products-grid.cols-3,
    .ct-shop-page .products-grid.cols-2 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 992px) {
    .ct-shop-page .products-layout {
        grid-template-columns: 1fr;
    }

    .ct-shop-page .filter-sidebar {
        position: fixed;
        top: 0;
        padding: 0;
        z-index: 400;
    }

    .ct-shop-page .mobile-toolbar-actions {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 12px;
        padding: 10px;
        background: #fff;
        border: 1px solid #ddd;
    }

    .ct-shop-page .filter-toggle-btn {
        border-radius: 0;
        border: 0;
        background: #000;
        color: #fff;
        font-weight: 900;
    }

    .ct-shop-page .view-toggle-bar {
        display: flex !important;
        gap: 6px;
    }

    .ct-shop-page .view-toggle-btn {
        width: 34px;
        height: 34px;
        display: grid;
        place-items: center;
        background: #efefef;
        color: #111;
    }

    .ct-shop-page .view-toggle-btn.active {
        background: #44d62c;
        color: #000;
    }
}

@media (max-width: 700px) {
    .ct-shop-heading {
        flex-direction: column;
        align-items: stretch;
    }

    .ct-shop-heading h1 {
        font-size: 23px;
    }

    .ct-shop-page .products-top-bar {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
        padding: 12px;
    }

    .ct-shop-page .products-grid,
    .ct-shop-page .products-grid.cols-5,
    .ct-shop-page .products-grid.cols-4,
    .ct-shop-page .products-grid.cols-3,
    .ct-shop-page .products-grid.cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 430px) {
    .ct-shop-page > .container,
    body.theme-dark .breadcrumb .container {
        padding-left: 10px;
        padding-right: 10px;
    }

    .ct-shop-page .products-grid,
    .ct-shop-page .products-grid.cols-5,
    .ct-shop-page .products-grid.cols-4,
    .ct-shop-page .products-grid.cols-3,
    .ct-shop-page .products-grid.cols-2 {
        grid-template-columns: 1fr;
    }
}

/* Final shop-listing overrides: keep this after older responsive rules. */
.ct-shop-page .products-grid,
.ct-shop-page .products-grid.cols-5,
.ct-shop-page .products-grid.cols-4,
.ct-shop-page .products-grid.cols-3,
.ct-shop-page .products-grid.cols-2 {
display: flex;
    flex-direction: column;
    gap: 20px;
    grid-template-columns: none;
    margin-top: -68px;
}

.ct-shop-page .mobile-toolbar-actions {
    justify-content: center;
    background: transparent;
    border: 0;
}

.ct-shop-page .filter-toggle-btn {
    border-radius: 999px;
    background: #44d62c;
    color: #000;
}

.ct-shop-page .view-toggle-bar {
    display: none !important;
}

@media (max-width: 820px) {
    .ct-shop-page .product-card-list {
        grid-template-columns: 220px 1fr;
        gap: 10px;
    }

    .ct-shop-page .product-card-img {
        width: 220px;
    }

    .ct-shop-page .product-card-body {
        grid-template-columns: 1fr;
        grid-column: auto;
        gap: 8px;
    }

    .ct-shop-page .product-card-body h3,
    .ct-shop-page .product-specs,
    .ct-shop-page .product-card-pricing,
    .ct-shop-page .card-stock-badge,
    .ct-shop-page .product-card-actions {
        grid-column: 1;
        grid-row: auto;
        margin-top: 0;
    }

    .ct-shop-page .product-card-actions {
        margin-top: 4px;
    }

    .ct-shop-page .card-current-price {
        font-size: 30px;
    }
}

@media (max-width: 560px) {
    .ct-frequent-searches {
        padding-left: 10px;
        padding-right: 10px;
        overflow-x: auto;
    }

    .ct-shop-page .product-card-list {
        grid-template-columns: 1fr;
        min-height: 0;
        gap: 8px;
    }

    .ct-shop-page .product-card-img {
        width: 100%;
        min-height: 0;
    }

    .ct-shop-page .product-card-img img {
        height: auto;
        max-height: 270px;
    }

    .ct-shop-page .product-specs {
        grid-template-columns: 1fr;
    }

.ct-shop-page .products-grid {
        gap: 16px;
    }
}

/* Screenshot-matched Cybertek desktop category layout. */
@media (min-width: 993px) {
    body.theme-dark .breadcrumb .container,
    .ct-shop-page > .container {
        max-width: 1280px;
    }

    .ct-shop-heading {
        padding-left: 0;
        padding-right: 0;
    }

    .ct-frequent-searches {
        padding-left: 0;
        padding-right: 0;
    }

    .ct-shop-page .products-layout {
        display: grid;
        grid-template-columns: 250px minmax(0, 1fr);
        gap: 30px;
    }

    .ct-shop-page .filter-sidebar {
        position: sticky;
        top: 118px;
        left: auto;
        bottom: auto;
        width: 250px;
        max-width: none;
        height: auto;
        max-height: none;
        overflow-y: visible;
        transform: none;
        box-shadow: none;
        z-index: 1;
    }

    .ct-shop-page .filter-overlay,
    .ct-shop-page .mobile-toolbar-actions,
    .ct-shop-page .products-top-bar {
        display: none;
    }

    .ct-shop-page .filter-header {
        display: block;
        min-height: 50px;
        padding: 0 0 8px;
        background: #fff;
        color: #000;
    }

    .ct-shop-page .filter-header h3 {
        font-size: 20px;
        line-height: 1;
        margin-bottom: 6px;
    }

    .ct-shop-page .reset-filters {
        color: #000;
        text-decoration: underline;
        font-size: 13px;
        font-weight: 500;
        text-transform: none;
    }

    .ct-shop-page .filter-header-actions {
        justify-content: flex-start;
    }

    .ct-shop-page .filter-close-btn {
        display: none;
    }

    .ct-shop-page .filter-group-plain {
        background: #f3f3f3;
        min-height: 61px;
        display: flex;
        align-items: center;
        padding: 10px 20px;
        margin-bottom: 10px;
    }

    .ct-shop-page .filter-group-plain .filter-search {
        border: 0;
        background: #fff;
        border-radius: 999px;
    }

    .ct-shop-page .filter-group {
        padding: 0;
        margin-bottom: 6px;
        border: 0;
        background: #fff;
    }

    .ct-shop-page .filter-group[open] {
        padding-bottom: 8px;
    }

    .ct-shop-page .filter-group-title {
        min-height: 42px;
        padding: 0 16px;
        border: 1px solid #d9d9d9;
        border-radius: 4px;
        background: #f4f4f4;
        font-size: 13px;
    }

    .ct-shop-page .filter-group-body {
        padding: 8px 10px 0;
    }

    .ct-shop-page .filter-list-item {
        min-height: 24px;
        padding: 2px 0;
    }

    .ct-shop-page .ct-shop-controls {
        display: flex;
    }

    .ct-shop-controls {
        min-height: 54px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        margin-bottom: 10px;
    }

    .ct-shop-checks {
        display: flex;
        align-items: center;
        gap: 14px;
    }

    .ct-shop-checks a {
        color: #000;
        font-size: 16px;
        font-weight: 500;
    }

    .ct-shop-page .ct-shop-controls .sort-select-wrap {
        margin-left: auto;
    }

    .ct-shop-page .ct-shop-controls .filter-select {
        width: 202px;
        height: 42px;
        border: 2px solid #7c7c7c;
        border-radius: 3px;
        background-color: #fff;
        font-size: 14px;
        font-weight: 900;
    }

.ct-shop-page .products-grid,
    .ct-shop-page .products-grid.cols-5,
    .ct-shop-page .products-grid.cols-4,
    .ct-shop-page .products-grid.cols-3,
    .ct-shop-page .products-grid.cols-2 {
        width: 100%;
        max-width: none;
        gap: 20px;
        margin: 0;
    }

    .ct-shop-page .product-card-list {
        width: 100%;
        min-height: 240px;
        grid-template-columns: 248px minmax(0, 1fr) 250px;
        gap: 16px;
        padding: 22px 8px 18px;
        border-radius: 0 0 8px 8px;
        box-shadow: 0 4px 14px rgba(0,0,0,.13);
    }

    .ct-shop-page .product-card-img {
        width: 248px;
        min-height: 190px;
    }

    .ct-shop-page .product-card-img img {
        max-height: 190px;
    }

    .ct-shop-page .product-card-body {
        grid-template-columns: minmax(0, 1fr) 250px;
        gap: 20px;
    }

    .ct-shop-page .product-card-body h3 {
        margin-top: 17px;
        font-size: 14px;
    }

    .ct-shop-page .product-specs {
        grid-template-columns: 1fr 1fr;
        gap: 2px 28px;
        max-height: 72px;
        font-size: 12px;
    }

    .ct-shop-page .card-current-price {
        font-size: 36px;
    }

    .ct-shop-page .product-card-actions {
        margin-top: 0;
    }

    .ct-shop-page .card-action-btn {
        height: 53px;
    }

    .ct-shop-page .card-stock-badge {
        align-self: start;
        margin-top: 10px;
    }
}


/* ============================================================
   GamingZone â€” Part 3: Product listing, filters, product detail
   ============================================================ */

/* ---------- Product listing page ---------- */
.products-page { padding: 10px 0 70px; }
.products-header h1 { font-size: 30px; margin-bottom: 26px; }

.products-layout { display: grid; grid-template-columns: 280px 1fr; gap: 30px; align-items: start; }

.filter-sidebar { position: sticky; top: 140px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 20px; }
.filter-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; padding-bottom: 14px; border-bottom: 1px solid var(--border); }
.filter-header h3 { font-size: 16px; display: flex; align-items: center; gap: 8px; }
.filter-header-actions { display: flex; align-items: center; gap: 10px; }
.reset-filters { font-size: 12.5px; color: var(--primary); font-weight: 600; }
.filter-close-btn { display: none; background: none; border: none; font-size: 16px; color: var(--text-3); cursor: pointer; }

.filter-group { margin-bottom: 8px; }
.filter-group[open] { margin-bottom: 18px; }
.filter-group-title { list-style: none; cursor: pointer; font-size: 13.5px; font-weight: 600; padding: 10px 0; display: flex; justify-content: space-between; align-items: center; color: var(--text); }
.filter-group-title::-webkit-details-marker { display: none; }
.filter-group-title i { font-size: 11px; color: var(--text-4); transition: transform .2s; }
.filter-group[open] .filter-group-title i { transform: rotate(180deg); }
.filter-group-body { padding-top: 6px; }
.filter-group-plain { background: var(--surface-2); border: 1px solid var(--border); border-radius: 12px; padding: 6px 8px; margin-bottom: 18px; }

.filter-search { display: flex; align-items: center; gap: 8px; background: var(--surface-2); border: 1.5px solid var(--border); border-radius: 10px; padding: 0 12px; margin-bottom: 10px; }
.filter-search i { font-size: 12px; color: var(--text-4); }
.filter-search input { flex: 1; border: none; background: none; padding: 10px 0; font-size: 13px; outline: none; color: var(--text); }
.filter-group-plain .filter-search { margin-bottom: 0; }

.filter-list-scroll { max-height: 240px; overflow-y: auto; padding-right: 4px; }
.filter-list-scroll::-webkit-scrollbar { width: 6px; }
.filter-list-scroll::-webkit-scrollbar-thumb { background: var(--border-strong); border-radius: 999px; }
.filter-list-item { display: flex; align-items: center; gap: 10px; padding: 9px 8px; border-radius: 10px; font-size: 13.5px; color: var(--text-2); transition: all .12s; }
.filter-list-item--sub { padding-left: 28px; font-size: 12.5px; }
.filter-list-item:hover { background: var(--surface-2); color: var(--text); }
.filter-list-item.active { color: var(--primary); font-weight: 600; }
.filter-list-check { width: 16px; color: var(--text-4); font-size: 14px; flex-shrink: 0; }
.filter-list-item.active .filter-list-check { color: var(--primary); }
.brand-logo-thumb { width: 30px; height: 20px; object-fit: contain; }
.filter-list-label { flex: 1; line-height: 1.3; }
.filter-list-count { font-size: 12px; color: var(--text-4); }

.filter-pill { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 10px; background: var(--surface-2); font-size: 13px; color: var(--text-2); transition: all .12s; }
.filter-pill.active { background: var(--primary-soft); color: var(--primary); font-weight: 600; }

.price-labels { display: flex; justify-content: space-between; font-size: 12.5px; color: var(--text-3); margin-bottom: 12px; }
.price-slider-wrap { position: relative; height: 30px; }
.price-slider-track { position: absolute; top: 13px; left: 0; right: 0; height: 4px; background: var(--surface-3); border-radius: 999px; }
.price-slider-range { position: absolute; top: 13px; height: 4px; background: var(--grad); border-radius: 999px; }
.price-range { -webkit-appearance: none; appearance: none; position: absolute; top: 6px; width: 100%; height: 20px; background: transparent; pointer-events: none; }
.price-range::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 3px solid var(--primary); box-shadow: var(--shadow-sm); cursor: pointer; pointer-events: all; }
.price-range::-moz-range-thumb { width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 3px solid var(--primary); cursor: pointer; pointer-events: all; }

.products-main { min-width: 0; }
.mobile-toolbar-actions { display: none; }
.products-top-bar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; gap: 16px; }
.top-bar-left .results-count { font-size: 13.5px; color: var(--text-3); }
.top-bar-right { display: flex; align-items: center; gap: 14px; }
.sort-select-wrap { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--text-3); }
.filter-select { padding: 10px 36px 10px 14px; border: 1.5px solid var(--border); border-radius: 12px; font-size: 13px; background: var(--surface); color: var(--text); outline: none; cursor: pointer; appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2364748b' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; }
.filter-select:focus { border-color: var(--primary); box-shadow: 0 0 0 4px var(--primary-soft); }

.view-toggle-bar { display: none; }

.list-view { display: flex; flex-direction: column; gap: 18px; }
.list-view.compact .product-card-list { padding: 14px; gap: 16px; }
.list-view.compact .product-card-img { width: 150px; }

/* product card list variant */
.product-card-list { display: flex; gap: 22px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 18px; transition: all .2s; }
.product-card-list:hover { box-shadow: var(--shadow-lg); transform: translateY(-3px); }
.product-card-img { width: 210px; flex-shrink: 0; border-radius: 12px; overflow: hidden; }
.product-card-img img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4/3; }
.product-card-body { display: flex; flex-direction: column; gap: 10px; flex: 1; }
.product-card-body h3 { font-size: 17px; }
.product-card-body h3 a:hover { color: var(--primary); }
.product-specs { display: flex; flex-direction: column; gap: 6px; }
.product-specs li { font-size: 13px; color: var(--text-3); }
.spec-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--primary); margin-right: 8px; vertical-align: middle; }
.product-card-pricing { display: flex; align-items: baseline; gap: 10px; }
.card-current-price { font-size: 20px; font-weight: 700; font-family: 'Outfit'; color: var(--text); }
.card-old-price { font-size: 14px; color: var(--text-4); text-decoration: line-through; }
.card-stock-badge { align-self: flex-start; font-size: 11px; font-weight: 700; padding: 5px 12px; border-radius: 999px; }
.card-stock-badge.in-stock { background: #ecfdf5; color: #059669; }
.card-stock-badge.out-of-stock { background: #fff1f2; color: #be123c; }
.product-card-actions { display: flex; gap: 8px; margin-top: auto; }
.card-action-btn { width: 40px; height: 40px; border-radius: 12px; border: 1px solid var(--border); background: var(--surface); color: var(--text-3); font-size: 14px; cursor: pointer; display: grid; place-items: center; transition: all .15s; }
.card-action-btn:hover { background: var(--primary-soft); color: var(--primary); border-color: var(--primary); }
.card-action-btn.is-disabled { opacity: .4; cursor: not-allowed; }

.no-results { text-align: center; padding: 70px 20px; grid-column: 1 / -1; }
.no-results i { font-size: 52px; color: var(--text-4); margin-bottom: 18px; }
.no-results h3 { font-size: 20px; margin-bottom: 8px; }
.no-results p { color: var(--text-3); margin-bottom: 20px; }

.infinite-scroll-loader { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 26px; color: var(--text-3); font-size: 14px; }
.infinite-scroll-end { text-align: center; padding: 20px; color: var(--text-4); font-size: 13px; }
.filter-overlay { display: none; }

/* pagination */
.pagination { display: flex; justify-content: center; gap: 6px; margin: 40px 0; }
.pagination a, .pagination span { min-width: 40px; height: 40px; padding: 0 8px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; font-size: 13.5px; color: var(--text-2); background: var(--surface); border: 1px solid var(--border); }
.pagination a:hover { border-color: var(--primary); color: var(--primary); }
.pagination .active { background: var(--grad); color: #fff; border: none; font-weight: 600; }

/* ---------- Product detail ---------- */
.product-page { padding: 10px 0 70px; }
.product-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; margin-bottom: 56px; }

.gallery .main-img { position: relative; border-radius: var(--radius); overflow: hidden; background: var(--surface-2); border: 1px solid var(--border); aspect-ratio: 1; }
.gallery .main-img img { width: 100%; height: 100%; object-fit: contain; }
.zoom-btn { position: absolute; bottom: 16px; right: 16px; width: 42px; height: 42px; border-radius: 50%; border: none; background: rgba(255, 255, 255, 0.92); color: var(--text); font-size: 15px; cursor: pointer; display: grid; place-items: center; box-shadow: var(--shadow); }
.thumbnails { display: flex; gap: 12px; margin-top: 14px; flex-wrap: wrap; }
.thumbnails img { width: 74px; height: 74px; border-radius: 12px; object-fit: cover; cursor: pointer; border: 2px solid transparent; padding: 2px; background: var(--surface-2); }
.thumbnails img.active { border-color: var(--primary); }

.product-detail-info { display: flex; flex-direction: column; gap: 14px; }
.product-brand-link { align-self: flex-start; font-size: 11.5px; font-weight: 700; letter-spacing: 1px; color: var(--primary); background: var(--primary-soft); padding: 6px 14px; border-radius: 999px; }
.product-detail-info h1 { font-size: 30px; letter-spacing: -.5px; }

.price-row { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.price-row .current { font-size: 32px; font-weight: 700; font-family: 'Outfit'; color: var(--text); }
.price-row .old { font-size: 18px; color: var(--text-4); text-decoration: line-through; }
.save-badge { background: #ecfdf5; color: #059669; font-size: 12px; font-weight: 700; padding: 6px 14px; border-radius: 999px; }
.tax-note { font-size: 13px; color: var(--text-3); }
.tax-note a { color: var(--primary); }
.product-sku { font-size: 12.5px; color: var(--text-4); }

.qty-label { font-size: 13px; font-weight: 600; margin-top: 6px; }
.qty-row { display: flex; align-items: stretch; gap: 12px; flex-wrap: wrap; }
.qty-control { display: inline-flex; align-items: center; border: 1.5px solid var(--border); border-radius: 12px; overflow: hidden; background: var(--surface); }
.qty-control button { width: 40px; height: 46px; border: none; background: var(--surface-2); color: var(--text-2); font-size: 16px; cursor: pointer; transition: all .12s; }
.qty-control button:hover { background: var(--primary); color: #fff; }
.qty-control input { width: 52px; height: 46px; border: none; text-align: center; font-size: 15px; font-weight: 600; color: var(--text); outline: none; -moz-appearance: textfield; }
.qty-control input::-webkit-outer-spin-button, .qty-control input::-webkit-inner-spin-button { -webkit-appearance: none; }

.btn-add { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 10px; background: var(--grad); color: #fff; font-size: 14px; font-weight: 600; padding: 0 26px; border: none; border-radius: 12px; cursor: pointer; min-height: 46px; transition: all .15s; box-shadow: 0 8px 20px -8px rgba(79, 70, 229, 0.55); }
.btn-add:hover { transform: translateY(-2px); }
.btn-wishlist-lg { width: 46px; height: 46px; border-radius: 12px; border: 1.5px solid var(--border); background: var(--surface); color: var(--text-3); font-size: 16px; cursor: pointer; transition: all .15s; }
.btn-wishlist-lg:hover { border-color: var(--danger); color: var(--danger); }
.btn-wishlist-lg.wishlisted { background: #fff1f2; border-color: var(--danger); color: var(--danger); }

.btn-buy-now { display: block; width: 100%; margin-top: 12px; background: var(--surface); color: var(--primary); font-size: 14px; font-weight: 600; padding: 13px; border: 2px solid var(--primary); border-radius: 12px; cursor: pointer; transition: all .15s; }
.btn-buy-now:hover { background: var(--primary-soft); }

.out-of-stock-msg { color: var(--danger); font-size: 14px; font-weight: 600; }
.pickup-note { font-size: 13px; color: var(--text-3); display: flex; align-items: center; gap: 8px; }
.pickup-note i, .pickup-note a { color: var(--primary); }

.share-row { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--text-3); margin-top: 8px; }
.share-btn { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; color: #fff; font-size: 14px; transition: transform .15s; }
.share-btn:hover { transform: translateY(-3px) scale(1.05); }
.share-btn.facebook { background: #1877f2; }
.share-btn.pinterest { background: #e60023; }
.share-btn.twitter { background: var(--text); }
.share-btn.email { background: var(--text-3); }

.trust-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 20px; }
.trust-item { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; padding: 14px 8px; background: var(--surface-2); border: 1px solid var(--border); border-radius: 12px; font-size: 11.5px; color: var(--text-3); }
.trust-item i { font-size: 18px; color: var(--primary); }

/* tabs */
.product-tabs { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; margin-bottom: 56px; }
.tabs-header { display: flex; border-bottom: 1px solid var(--border); overflow-x: auto; scrollbar-width: none; }
.tabs-header::-webkit-scrollbar { display: none; }
.tab-btn { background: none; border: none; padding: 16px 24px; font-size: 14px; font-weight: 600; color: var(--text-3); cursor: pointer; border-bottom: 3px solid transparent; transition: all .15s; white-space: nowrap; }
.tab-btn:hover { color: var(--primary); }
.tab-btn.active { color: var(--primary); border-bottom-color: var(--primary); }
.tab-content { display: none; padding: 28px; }
.tab-content.active { display: block; }
.tab-content .desc { line-height: 1.8; color: var(--text-2); }
.tab-content table { width: 100%; border-collapse: collapse; }
.tab-content table th, .tab-content table td { text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--border); font-size: 14px; }
.tab-content table th { width: 220px; color: var(--text-3); font-weight: 600; }
.tab-content p { font-size: 14px; color: var(--text-2); margin-bottom: 10px; }

.review-item { padding: 16px 0; border-bottom: 1px solid var(--border); }
.review-item:last-child { border-bottom: none; }
.review-header { display: flex; align-items: center; gap: 14px; margin-bottom: 8px; }
.review-header strong { font-size: 14px; }
.review-stars { color: #f59e0b; font-size: 12px; }
.review-item p { font-size: 14px; color: var(--text-2); margin-bottom: 6px; }
.review-date { font-size: 12px; color: var(--text-4); }

.related-products h2.related-title { font-size: 24px; margin-bottom: 24px; }
.related-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }

/* zoom modal */
.zoom-modal { display: grid; place-items: center; position: fixed; inset: 0; background: rgba(15, 23, 42, 0.85); z-index: 500; opacity: 0; visibility: hidden; transition: all .2s; backdrop-filter: blur(6px); }
.zoom-modal.open { opacity: 1; visibility: visible; }
.zoom-modal-inner { position: relative; max-width: 88vw; max-height: 88vh; }
.zoom-close { position: absolute; top: -16px; right: -16px; width: 40px; height: 40px; border-radius: 50%; border: none; background: #fff; color: var(--text); font-size: 16px; cursor: pointer; z-index: 2; box-shadow: var(--shadow); }
.zoom-modal-inner img { max-width: 88vw; max-height: 88vh; object-fit: contain; border-radius: 16px; }


/* ============================================================
   GamingZone â€” Part 4: Cart, checkout, success, info pages
   ============================================================ */

/* ---------- Cart ---------- */
.cart-page { padding: 10px 0 70px; }
.cart-page h1 { font-size: 30px; margin-bottom: 28px; }
.cart-content { display: grid; grid-template-columns: 1fr 380px; gap: 30px; align-items: start; }
.cart-items { display: flex; flex-direction: column; gap: 14px; }

.cart-item { display: grid; grid-template-columns: 90px 1fr auto auto auto; gap: 18px; align-items: center; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 16px; transition: box-shadow .15s; }
.cart-item:hover { box-shadow: var(--shadow); }
.item-image { width: 90px; height: 90px; border-radius: 12px; overflow: hidden; background: var(--surface-2); }
.item-image img { width: 100%; height: 100%; object-fit: cover; }
.item-info h4 { font-size: 14.5px; margin-bottom: 4px; }
.item-info h4 a:hover { color: var(--primary); }
.item-price { font-size: 13px; color: var(--text-3); }
.item-qty { justify-self: center; }
.item-qty .qty-control input { width: 44px; }
.item-total { font-weight: 700; font-family: 'Outfit'; font-size: 15px; white-space: nowrap; }
.remove-btn { width: 38px; height: 38px; border-radius: 12px; border: 1px solid var(--border); background: var(--surface); color: var(--text-4); cursor: pointer; transition: all .15s; }
.remove-btn:hover { background: #fff1f2; border-color: var(--danger); color: var(--danger); }

.cart-summary { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 26px; position: sticky; top: 140px; }
.cart-summary h3 { font-size: 18px; margin-bottom: 20px; }
.summary-row { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; font-size: 14px; color: var(--text-2); }
.summary-row.total { border-top: 1px solid var(--border); margin-top: 8px; padding-top: 18px; font-size: 16px; font-weight: 700; color: var(--text); }
.summary-row.total span:last-child { font-size: 22px; font-family: 'Outfit'; }
.btn-checkout { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; background: var(--grad); color: #fff; padding: 15px; border-radius: 12px; font-size: 14px; font-weight: 700; letter-spacing: .5px; margin: 18px 0 10px; transition: all .15s; box-shadow: 0 8px 20px -8px rgba(79, 70, 229, 0.55); }
.btn-checkout:hover { transform: translateY(-2px); }
.btn-continue { display: block; text-align: center; color: var(--text-3); font-size: 13px; }
.btn-continue:hover { color: var(--primary); }

.empty-cart-page { text-align: center; padding: 80px 20px; }
.empty-cart-page > i { font-size: 64px; color: var(--text-4); margin-bottom: 20px; }
.empty-cart-page h2 { font-size: 24px; margin-bottom: 8px; }
.empty-cart-page p { color: var(--text-3); margin-bottom: 28px; }

/* ---------- Checkout ---------- */
.checkout-page { padding: 10px 0 70px; }
.checkout-page h1 { font-size: 30px; margin-bottom: 28px; }
.checkout-content { display: grid; grid-template-columns: 1fr 400px; gap: 30px; align-items: start; }
.checkout-info { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 30px; }
.checkout-info h3 { font-size: 17px; margin: 22px 0 16px; }
.checkout-info h3:first-child { margin-top: 0; }

.form-group { margin-bottom: 16px; }
.form-group label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 7px; color: var(--text-2); }
.form-group input, .form-group textarea, .form-group select { width: 100%; padding: 12px 16px; border: 1.5px solid var(--border); border-radius: 12px; font-size: 14px; color: var(--text); background: var(--surface-2); outline: none; transition: all .15s; font-family: inherit; resize: vertical; }
.form-group input:focus, .form-group textarea:focus, .form-group select:focus { border-color: var(--primary); background: var(--surface); box-shadow: 0 0 0 4px var(--primary-soft); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

.payment-options { display: flex; flex-direction: column; gap: 12px; margin-bottom: 16px; }
.payment-option { display: flex; align-items: center; gap: 14px; padding: 16px; border: 1.5px solid var(--border); border-radius: 14px; cursor: pointer; transition: all .15s; }
.payment-option:hover { border-color: var(--primary); }
.payment-option:has(input:checked) { border-color: var(--primary); background: var(--primary-soft); }
.payment-option:has(input:checked) .payment-info span { color: var(--text-2); }
.payment-option input { accent-color: var(--primary); width: 18px; height: 18px; }
.payment-info { display: flex; flex-direction: column; }
.payment-info strong { font-size: 14px; }
.payment-info span { font-size: 12.5px; color: var(--text-3); }
.radio-custom { display: none; }

.error { color: var(--danger); font-size: 12.5px; margin-top: 6px; display: block; }

.checkout-summary { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 26px; position: sticky; top: 140px; }
.checkout-summary h3 { font-size: 18px; margin-bottom: 18px; }
.order-items { max-height: 320px; overflow-y: auto; border-bottom: 1px solid var(--border); padding-bottom: 12px; margin-bottom: 8px; }
.order-item { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; font-size: 13.5px; color: var(--text-2); }
.item-details { flex: 1; display: flex; flex-direction: column; }
.item-name { line-height: 1.35; }
.item-qty { font-size: 12.5px; color: var(--text-4); }
.order-item .item-price { white-space: nowrap; font-weight: 600; }
.order-totals { padding-top: 8px; }
.order-totals .summary-row.total span:last-child { font-size: 20px; }
.btn-place-order { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; background: var(--grad); color: #fff; padding: 15px; border: none; border-radius: 12px; font-size: 14px; font-weight: 700; letter-spacing: .3px; margin-top: 16px; cursor: pointer; transition: all .15s; box-shadow: 0 8px 20px -8px rgba(79, 70, 229, 0.55); }
.btn-place-order:hover { transform: translateY(-2px); }
.secure-text { display: flex; align-items: center; justify-content: center; gap: 7px; font-size: 12.5px; color: var(--text-3); margin-top: 14px; }
.secure-text i { color: var(--success); }

/* ---------- Order success ---------- */
.success-page { padding: 50px 0 80px; }
.success-content { max-width: 640px; margin: 0 auto; text-align: center; background: var(--surface); border: 1px solid var(--border); border-radius: 24px; padding: 60px 48px; }
.success-icon { width: 90px; height: 90px; border-radius: 50%; background: #ecfdf5; color: var(--success); font-size: 38px; display: grid; place-items: center; margin: 0 auto 24px; }
.success-content h1 { font-size: 30px; margin-bottom: 10px; }
.success-content > p { color: var(--text-3); margin-bottom: 8px; }
.order-number { display: inline-block; font-family: 'Outfit'; font-size: 22px; font-weight: 700; color: var(--primary); background: var(--primary-soft); padding: 12px 28px; border-radius: 12px; margin: 16px 0 28px; letter-spacing: 1px; }
.order-details { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; text-align: left; background: var(--surface-2); border-radius: 16px; padding: 22px; margin-bottom: 28px; }
.detail-group h4 { font-size: 13px; text-transform: uppercase; letter-spacing: .6px; color: var(--text-4); margin-bottom: 10px; }
.detail-group p { font-size: 13.5px; color: var(--text-2); line-height: 1.7; }
.detail-group p.total { font-weight: 700; color: var(--text); font-size: 15px; }
.confirmation-text { font-size: 13px; color: var(--text-3); margin-bottom: 24px; }
.success-actions .btn-primary { min-width: 220px; }

/* ---------- Simple info pages (pages.show, brands) ---------- */
.sd-page-hero { background: linear-gradient(135deg, var(--primary) 0%, var(--violet) 100%); color: #fff; padding: 70px 0; }
.sd-page-kicker { display: inline-block; font-size: 11.5px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; opacity: .85; margin-bottom: 10px; }
.sd-page-hero h1 { font-size: 40px; margin-bottom: 10px; }
.sd-page-hero p { font-size: 16px; color: rgba(255, 255, 255, 0.9); max-width: 620px; }
.sd-info-page { padding: 60px 0; }
.sd-info-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-bottom: 50px; }
.sd-info-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 30px; transition: all .2s; }
.sd-info-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-4px); }
.sd-info-card i { width: 54px; height: 54px; border-radius: 14px; background: var(--primary-soft); color: var(--primary); display: grid; place-items: center; font-size: 20px; margin-bottom: 18px; }
.sd-info-card h2 { font-size: 18px; margin-bottom: 10px; }
.sd-info-card p { font-size: 14px; color: var(--text-3); }
.sd-page-cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 34px 40px; }
.sd-page-cta h2 { font-size: 22px; margin-bottom: 6px; }
.sd-page-cta p { color: var(--text-3); font-size: 14px; }
.sd-page-cta-actions { display: flex; gap: 12px; }
.sd-btn { display: inline-flex; align-items: center; gap: 8px; padding: 12px 24px; border-radius: 999px; font-size: 14px; font-weight: 600; cursor: pointer; border: none; }
.sd-btn-primary { background: var(--grad); color: #fff; box-shadow: 0 8px 20px -8px rgba(79, 70, 229, 0.55); }
.sd-btn-primary:hover { transform: translateY(-2px); }
.sd-btn-outline { background: var(--surface); color: var(--primary); border: 2px solid var(--primary); }
.sd-btn-outline:hover { background: var(--primary-soft); }

/* brands grid */
.sd-brand-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.sd-brand-card { display: flex; flex-direction: column; align-items: center; gap: 8px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 28px 20px; text-align: center; transition: all .2s; }
.sd-brand-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: var(--primary); }
.sd-brand-card img { height: 44px; object-fit: contain; }
.sd-brand-card span { width: 54px; height: 54px; border-radius: 14px; background: var(--primary-soft); color: var(--primary); font-weight: 700; display: grid; place-items: center; font-size: 18px; }
.sd-brand-card strong { font-size: 15px; }
.sd-brand-card small { color: var(--text-4); font-size: 12.5px; }
.sd-empty-state { text-align: center; padding: 70px 20px; }
.sd-empty-state i { font-size: 52px; color: var(--text-4); margin-bottom: 16px; }
.sd-empty-state h2 { font-size: 20px; margin-bottom: 6px; }
.sd-empty-state p { color: var(--text-3); }

/* ---------- Contact ---------- */
.contact-vektralike { padding: 10px 0 70px; }
.contact-vektralike h1 { font-size: 30px; margin-bottom: 28px; }
.contact-main-card { display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; background: var(--surface); border: 1px solid var(--border); border-radius: 24px; padding: 44px; margin-bottom: 24px; }
.contact-main-copy h2 { font-size: 24px; margin-bottom: 14px; }
.contact-main-copy p { color: var(--text-3); font-size: 14.5px; margin-bottom: 12px; }
.contact-lines { display: flex; flex-direction: column; gap: 12px; margin-top: 24px; }
.contact-line { display: flex; flex-direction: column; background: var(--surface-2); border: 1px solid var(--border); border-radius: 14px; padding: 14px 18px; }
.contact-line span { font-size: 12px; text-transform: uppercase; letter-spacing: .5px; color: var(--text-4); }
.contact-line strong { font-size: 15px; margin-top: 2px; }
.contact-main-image { border-radius: 18px; overflow: hidden; background: var(--surface-2); display: flex; align-items: center; justify-content: center; }
.contact-main-image img { object-fit: contain; width: 100%; }
.contact-under-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.contact-under-grid article { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 28px; }
.contact-under-grid h2 { font-size: 18px; margin-bottom: 10px; }
.contact-under-grid p { color: var(--text-3); font-size: 14px; margin-bottom: 12px; }
.contact-under-grid ul { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
.contact-under-grid ul li { font-size: 13.5px; color: var(--text-2); padding-left: 18px; position: relative; }
.contact-under-grid ul li::before { content: "\2713"; position: absolute; left: 0; color: var(--success); font-weight: 700; }
.contact-under-grid a { color: var(--primary); font-weight: 600; font-size: 14px; }
.contact-under-grid select { width: 100%; padding: 11px 14px; border: 1.5px solid var(--border); border-radius: 10px; font-size: 13.5px; margin-bottom: 14px; background: var(--surface); outline: none; }

/* ---------- About ---------- */
.about-hero-sd { background: linear-gradient(135deg, var(--primary) 0%, var(--violet) 100%); color: #fff; padding: 80px 0; }
.about-hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.about-kicker { display: inline-block; font-size: 11.5px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; background: rgba(255, 255, 255, 0.15); padding: 7px 16px; border-radius: 999px; margin-bottom: 16px; }
.about-hero-copy h1 { font-size: 42px; line-height: 1.15; margin-bottom: 18px; }
.about-hero-copy p { font-size: 16px; color: rgba(255, 255, 255, 0.9); margin-bottom: 28px; max-width: 480px; }
.about-actions { display: flex; gap: 14px; flex-wrap: wrap; }
.about-actions a { background: #fff; color: var(--primary); padding: 13px 26px; border-radius: 999px; font-weight: 600; font-size: 14px; transition: all .15s; }
.about-actions a:hover { transform: translateY(-2px); box-shadow: 0 12px 30px -10px rgba(0, 0, 0, 0.35); }
.about-actions a + a { background: transparent; color: #fff; border: 2px solid rgba(255, 255, 255, 0.6); }
.about-hero-media img { border-radius: 20px; box-shadow: 0 24px 48px -12px rgba(0, 0, 0, 0.35); }
.about-story-sd { padding: 70px 0; }
.about-story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.about-story-grid h2 { font-size: 30px; line-height: 1.3; }
.about-story-text p { color: var(--text-3); font-size: 15px; margin-bottom: 16px; }
.about-pillars-sd { background: var(--surface); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 60px 0; }
.about-pillars-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.about-pillars-grid article { text-align: center; padding: 20px; }
.about-pillars-grid i { width: 62px; height: 62px; border-radius: 18px; background: var(--primary-soft); color: var(--primary); display: grid; place-items: center; font-size: 24px; margin: 0 auto 18px; }
.about-pillars-grid h3 { font-size: 18px; margin-bottom: 8px; }
.about-pillars-grid p { color: var(--text-3); font-size: 14px; max-width: 280px; margin: 0 auto; }
.about-catalog-sd { padding: 70px 0; }
.about-section-head { text-align: center; margin-bottom: 36px; }
.about-section-head h2 { font-size: 30px; }
.about-catalog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.about-catalog-grid a { display: flex; align-items: center; justify-content: space-between; background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 20px 24px; font-weight: 600; font-size: 15px; transition: all .15s; }
.about-catalog-grid a::after { content: "\2192"; color: var(--primary); }
.about-catalog-grid a:hover { border-color: var(--primary); transform: translateY(-3px); box-shadow: var(--shadow); }
.about-map-sd { padding: 70px 0; background: var(--surface); }
.about-map-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.about-map-copy h2 { font-size: 30px; margin-bottom: 12px; }
.about-map-copy > p { color: var(--text-3); margin-bottom: 24px; }
.about-address-card { display: flex; align-items: center; gap: 16px; background: var(--surface-2); border: 1px solid var(--border); border-radius: 14px; padding: 18px 20px; margin-bottom: 24px; }
.about-address-card i { font-size: 22px; color: var(--primary); }
.about-address-card strong { display: block; font-size: 14px; }
.about-address-card span { color: var(--text-3); font-size: 13px; }
.about-map-frame { border-radius: 20px; overflow: hidden; box-shadow: var(--shadow-lg); }
.about-map-frame iframe { width: 100%; height: 380px; border: 0; display: block; }
.about-final-sd { background: linear-gradient(135deg, var(--primary) 0%, var(--violet) 100%); color: #fff; text-align: center; padding: 80px 0; }
.about-final-sd h2 { font-size: 34px; margin-bottom: 12px; }
.about-final-sd p { color: rgba(255, 255, 255, 0.9); max-width: 520px; margin: 0 auto 28px; }
.about-final-sd a { background: #fff; color: var(--primary); padding: 14px 30px; border-radius: 999px; font-weight: 600; display: inline-block; transition: transform .15s; }
.about-final-sd a:hover { transform: translateY(-2px); }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
    .products-grid.cols-5, .products-grid.cols-4 { grid-template-columns: repeat(3, 1fr); }
    .categories-grid-icons { grid-template-columns: repeat(3, 1fr); }
    .footer-grid { grid-template-columns: repeat(3, 1fr); gap: 30px; }
    .related-grid { grid-template-columns: repeat(3, 1fr); }
    .sd-brand-grid { grid-template-columns: repeat(3, 1fr); }
    .product-detail { gap: 32px; }
}

@media (max-width: 900px) {
    .header-inner { gap: 16px; flex-wrap: wrap; }
    .header-promo-badges { display: none; }
    .search-bar { order: 3; flex-basis: 100%; max-width: none; }
    .main-nav { position: static; }
    .features-grid { grid-template-columns: repeat(2, 1fr); }
    .categories-grid-icons { grid-template-columns: repeat(2, 1fr); }
    .products-layout { grid-template-columns: 1fr; }
    .filter-sidebar { position: fixed; top: 0; left: 0; bottom: 0; width: 320px; max-width: 90vw; z-index: 400; overflow-y: auto; border-radius: 0; transform: translateX(-100%); transition: transform .25s; }
    .filter-sidebar.open { transform: translateX(0); }
    .filter-close-btn { display: block; }
    .filter-overlay { position: fixed; inset: 0; background: rgba(15, 23, 42, 0.5); z-index: 350; display: block; opacity: 0; visibility: hidden; transition: all .25s; }
    .filter-overlay.open { opacity: 1; visibility: visible; }
    .mobile-toolbar-actions { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
    .filter-toggle-btn { display: inline-flex; align-items: center; gap: 8px; padding: 11px 18px; background: var(--surface); border: 1.5px solid var(--border); border-radius: 12px; font-weight: 600; font-size: 13.5px; color: var(--text); cursor: pointer; }
    .filter-toggle-btn:hover { border-color: var(--primary); color: var(--primary); }
    .view-toggle-bar { display: none !important; }
    .product-detail { grid-template-columns: 1fr; }
    .cart-content, .checkout-content { grid-template-columns: 1fr; }
    .cart-summary, .checkout-summary { position: static; }
    .banners-grid { grid-template-columns: 1fr; }
    .newsletter-inner { flex-direction: column; align-items: stretch; padding: 36px 28px; }
    .newsletter-form { max-width: none; }
    .trust-row { grid-template-columns: repeat(2, 1fr); }
    .related-grid { grid-template-columns: repeat(2, 1fr); }
    .about-hero-grid, .about-story-grid, .about-map-grid { grid-template-columns: 1fr; }
    .about-hero-copy h1, .about-hero-sd h1 { font-size: 34px; }
    .order-details { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    .top-bar-right { display: none; }
    .mobile-nav-toggle { display: grid; place-items: center; }
    .nav-links { display: none; }
    .mega-menu-panel { min-width: 0; width: calc(100vw - 48px); max-width: 360px; grid-template-columns: 1fr; }
    .main-nav.mobile-open .nav-inner { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: var(--surface); z-index: 300; align-items: flex-start; padding: 80px 24px 24px; overflow-y: auto; }
    .main-nav.mobile-open .nav-links { display: flex; flex-direction: column; width: 100%; gap: 4px; }
    .nav-links > li > a { width: 100%; font-size: 15px; padding: 14px 12px; }
    .nav-item-has-dropdown .nav-dropdown { position: static; transform: none; opacity: 1; visibility: visible; box-shadow: none; border: none; padding: 0 0 6px 16px; }
    .nav-item-has-dropdown .nav-dropdown a { font-size: 14px; }
    .products-grid.cols-5, .products-grid.cols-4, .products-grid.cols-3 { grid-template-columns: repeat(2, 1fr); }
    .categories-grid-icons { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .features-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
    .feature-item { padding: 12px 14px; }
    .feature-item > i { width: 44px; height: 44px; font-size: 17px; }
    .sd-info-grid, .about-pillars-grid, .contact-under-grid { grid-template-columns: 1fr; }
    .sd-brand-grid { grid-template-columns: repeat(2, 1fr); }
    .cart-item { grid-template-columns: 70px 1fr auto; grid-template-rows: auto auto; }
    .item-qty { grid-column: 2 / 3; justify-self: start; }
    .item-total, .remove-btn { grid-row: 1 / 2; }
    .remove-btn { grid-column: 3 / 4; }
    .form-row { grid-template-columns: 1fr; }
    .contact-main-card { grid-template-columns: 1fr; }
    .slide-content { padding: 0 36px; }
    .slide-content h1 { font-size: 34px; }
    .hero-slider { height: 440px; }
    .product-card-list { flex-direction: column; }
    .product-card-img { width: 100%; }
    .about-catalog-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 520px) {
    .products-grid.cols-5, .products-grid.cols-4, .products-grid.cols-3 { grid-template-columns: 1fr; }
    .footer-bottom-inner { flex-direction: column; text-align: center; }
    .slide-content h1 { font-size: 28px; }
    .newsletter-left { flex-direction: column; text-align: center; }
    .section-header { flex-direction: column; align-items: flex-start; gap: 12px; }
    .about-catalog-grid { grid-template-columns: 1fr; }
    .trust-row { grid-template-columns: 1fr 1fr; }
}

/* ---------------- Helpers & refinements ---------------- */
.select-chevron { display: none; }
.filter-list { display: flex; flex-direction: column; gap: 2px; }
.checkout-form .form-group { margin-bottom: 16px; }
.cart-btn { position: relative; }

/* ============================================================
   GamingZone — Part 5: Cybertek-style dark home theme
   Hero slider, trust strip, category tiles, carousels, newsletter
   ============================================================ */

body.theme-dark ::selection { background: rgba(57, 255, 106, 0.4); color: #000; }
body.theme-dark .footer { background: #000; }
body.theme-dark .filter-select { color-scheme: light; }
body.theme-dark input[type="range"] { color-scheme: light; }
body.theme-dark .product-card { background: var(--surface); border-color: var(--border); }
body.theme-dark .product-card:hover { border-color: transparent; }

.cy-green { color: var(--primary); }

/* ---------- Cy Buttons ---------- */
.cy-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-weight: 600; font-size: 14px; padding: 13px 26px; border-radius: 999px; border: none; cursor: pointer; transition: all .18s ease; }
.cy-btn-primary { background: var(--accent); color: var(--accent-ink); box-shadow: 0 8px 20px -8px rgba(57, 255, 106, 0.5); }
.cy-btn-primary:hover { transform: translateY(-2px); box-shadow: 0 14px 28px -10px rgba(57, 255, 106, 0.6); filter: brightness(1.05); }
.cy-btn-outline { background: transparent; color: var(--ink); border: 1.5px solid rgba(0, 0, 0, 0.35); }
.cy-btn-outline:hover { border-color: var(--primary); color: var(--primary); background: rgba(34, 197, 94, 0.08); }

/* ---------- Hero Slider ---------- */
.cy-hero { position: relative; height: 560px; overflow: hidden; }
.cy-hero-slides { position: relative; width: 100%; height: 100%; }
.cy-hero-slide {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    opacity: 0; transition: opacity .6s ease;
    display: flex; align-items: center;
}
.cy-hero-slide.active { opacity: 1; z-index: 1; }
.cy-hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.35) 60%, rgba(0,0,0,.15) 100%); z-index: 1; }
.cy-hero-content { position: relative; z-index: 2; max-width: 620px; }
.cy-hero-tag { display: inline-flex; align-items: center; gap: 8px; background: var(--grad); color: #fff; padding: 7px 16px; font-size: 11px; font-weight: 700; letter-spacing: 1.5px; border-radius: 999px; margin-bottom: 20px; text-transform: uppercase; }
.cy-hero-content h1 { font-size: 50px; line-height: 1.06; color: #fff; margin-bottom: 16px; letter-spacing: -1px; text-shadow: 0 4px 24px rgba(0,0,0,.4); }
.cy-hero-content p { font-size: 16px; color: rgba(255,255,255,.88); margin-bottom: 28px; max-width: 440px; }
.cy-hero-btns { display: flex; gap: 14px; flex-wrap: wrap; }

.cy-hero-prev, .cy-hero-next {
    position: absolute; top: 50%; transform: translateY(-50%); z-index: 5;
    width: 48px; height: 48px; border-radius: 50%; border: none; cursor: pointer;
    background: rgba(255,255,255,.92); color: #111; font-size: 16px;
    display: grid; place-items: center; box-shadow: 0 4px 16px rgba(0,0,0,.3);
    transition: all .15s;
}
.cy-hero-prev:hover, .cy-hero-next:hover { background: var(--primary); color: #fff; }
.cy-hero-prev { left: 24px; }
.cy-hero-next { right: 24px; }

.cy-hero-dots { position: absolute; bottom: 28px; left: 50%; transform: translateX(-50%); z-index: 5; display: flex; gap: 10px; }
.cy-hero-dots span { width: 10px; height: 10px; border-radius: 999px; background: rgba(255,255,255,.4); cursor: pointer; transition: all .25s; }
.cy-hero-dots span.active { background: var(--primary); width: 28px; }

/* ---------- Trust Strip ---------- */
.cy-trust { background: var(--surface); border-bottom: 1px solid var(--border); padding: 20px 0; }
.cy-trust-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.cy-trust-item { display: flex; align-items: center; gap: 14px; padding: 10px 14px; border-radius: 12px; transition: background .15s; }
.cy-trust-item:hover { background: var(--surface-2); }
.cy-trust-item > i { font-size: 22px; color: var(--primary); flex-shrink: 0; width: 40px; text-align: center; }
.cy-trust-item strong { display: block; font-size: 13px; color: var(--text); line-height: 1.3; }
.cy-trust-item span { font-size: 11.5px; color: var(--text-4); }

/* ---------- Section Shell ---------- */
.cy-section { padding: 72px 0; }
.cy-section.cy-bg-dark { background: linear-gradient(180deg, transparent, rgba(34,197,94,.05) 30%, rgba(34,197,94,.05) 70%, transparent); }
.cy-section-head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 34px; }
.cy-section-head h2 { font-size: 28px; color: var(--text); letter-spacing: -.4px; display: flex; align-items: center; gap: 10px; }
.cy-section-head h2 i { font-size: 22px; }
.cy-view-all { color: var(--primary); font-weight: 600; font-size: 14px; display: inline-flex; align-items: center; gap: 8px; transition: gap .15s; white-space: nowrap; }
.cy-view-all:hover { gap: 13px; }

/* ---------- Category Tiles ---------- */
.cy-cats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.cy-cat-tile {
    position: relative; min-height: 320px; border-radius: 18px; overflow: hidden;
    display: flex; flex-direction: column; justify-content: flex-end;
    border: 1px solid rgba(255,255,255,.08); transition: all .25s;
    background-size: cover; background-position: center;
}
.cy-cat-overlay { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.2) 60%); z-index: 1; transition: background .25s; }
.cy-cat-tile:hover { transform: translateY(-5px); box-shadow: 0 24px 44px -18px rgba(0,0,0,.65); border-color: rgba(139,197,63,.45); }
.cy-cat-tile:hover .cy-cat-overlay { background: linear-gradient(0deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.3) 60%); }
.cy-cat-body { position: relative; z-index: 2; padding: 28px; }
.cy-cat-body h3 { font-size: 22px; color: #fff; margin-bottom: 12px; }
.cy-cat-body ul { list-style: none; margin-bottom: 16px; }
.cy-cat-body ul li { font-size: 13px; color: rgba(255,255,255,.7); padding: 4px 0; }
.cy-cat-body ul li::before { content: "\2022"; color: var(--primary); margin-right: 8px; }
.cy-cat-cta { display: inline-flex; align-items: center; gap: 8px; color: var(--primary); font-size: 13px; font-weight: 600; transition: gap .15s; }
.cy-cat-tile:hover .cy-cat-cta { gap: 13px; }

/* ---------- Carousel ---------- */
.cy-carousel-wrap { position: relative; }
.cy-carousel {
    display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory;
    scrollbar-width: none; padding: 4px 0 20px;
}
.cy-carousel::-webkit-scrollbar { display: none; }
.cy-carousel > * { flex: 0 0 calc(25% - 15px); scroll-snap-align: start; min-width: 220px; }

.cy-carousel-btn {
    position: absolute; top: 50%; transform: translateY(-50%); z-index: 5;
    width: 42px; height: 42px; border-radius: 50%; border: none; cursor: pointer;
    background: rgba(255,255,255,.92); color: #111; font-size: 14px;
    display: grid; place-items: center; box-shadow: 0 4px 14px rgba(0,0,0,.3);
    transition: all .15s;
}
.cy-carousel-btn:hover { background: var(--primary); color: #fff; }
.cy-carousel-prev { left: -18px; }
.cy-carousel-next { right: -18px; }

/* ---------- Newsletter ---------- */
.cy-newsletter { padding: 20px 0 80px; }
.cy-newsletter-inner {
    position: relative; overflow: hidden; border-radius: 20px;
    padding: 44px 48px; display: flex; align-items: center;
    justify-content: space-between; gap: 36px;
    background: linear-gradient(120deg, #16161c, #1a1a21);
    border: 1px solid rgba(139,197,63,.3);
}
.cy-newsletter-inner::before {
    content: ""; position: absolute; width: 280px; height: 280px; border-radius: 50%;
    background: radial-gradient(circle, rgba(57,255,106,.3), transparent 70%);
    top: -130px; right: -50px;
}
.cy-newsletter-copy { position: relative; z-index: 1; }
.cy-newsletter-copy h2 { color: #fff; font-size: 26px; margin-bottom: 6px; }
.cy-newsletter-copy p { color: #a7ada9; font-size: 14px; }
.cy-newsletter-form { position: relative; z-index: 1; display: flex; gap: 10px; max-width: 440px; width: 100%; flex-shrink: 0; }
.cy-newsletter-form input {
    flex: 1; padding: 14px 20px; border-radius: 999px;
    border: 1px solid #2a2d2a; background: #0c0c0f; color: #fff;
    font-size: 14px; outline: none; transition: border-color .15s, box-shadow .15s;
}
.cy-newsletter-form input::placeholder { color: #6b716c; }
.cy-newsletter-form input:focus { border-color: var(--accent); box-shadow: 0 0 0 4px rgba(57,255,106,.18); }
.cy-newsletter-form .cy-btn { flex-shrink: 0; }

/* ---------- Bottom Trust Badges ---------- */
.cy-bottom-trust { padding: 40px 0 60px; }
.cy-bottom-trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.cy-badge {
    display: flex; align-items: center; gap: 14px;
    background: var(--surface); border: 1px solid var(--border);
    border-radius: 14px; padding: 18px 20px; transition: all .2s;
}
.cy-badge:hover { border-color: rgba(139,197,63,.4); transform: translateY(-3px); box-shadow: 0 12px 26px -12px rgba(0,0,0,.5); }
.cy-badge i { font-size: 20px; color: var(--primary); flex-shrink: 0; }
.cy-badge span { font-size: 13px; color: var(--text-2); font-weight: 500; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
    .cy-cats { grid-template-columns: repeat(2, 1fr); }
    .cy-trust-grid { grid-template-columns: repeat(3, 1fr); }
    .cy-bottom-trust-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
    .cy-hero { height: 480px; }
    .cy-hero-content h1 { font-size: 38px; }
    .cy-trust-grid { grid-template-columns: repeat(2, 1fr); }
    .cy-cats { grid-template-columns: 1fr; }
    .cy-carousel > * { flex: 0 0 calc(50% - 10px); }
}

@media (max-width: 720px) {
    .cy-hero { height: 420px; }
    .cy-hero-content h1 { font-size: 32px; }
    .cy-hero-prev, .cy-hero-next { display: none; }
    .cy-section-head { flex-direction: column; align-items: flex-start; gap: 12px; }
    .cy-newsletter-inner { flex-direction: column; padding: 32px 24px; }
    .cy-newsletter-form { max-width: none; flex-direction: column; }
    .cy-carousel > * { flex: 0 0 calc(100%); }
    .cy-bottom-trust-grid { grid-template-columns: 1fr; }
    .cy-trust-grid { grid-template-columns: 1fr; }
}

/* Final Cybertek category-page match. Kept last to beat older shop rules. */
@media (min-width: 993px) {
    body.theme-dark .header-inner,
    body.theme-dark .nav-inner,
    body.theme-dark .breadcrumb .container,
    .ct-shop-page > .container {
        max-width: 1280px;
    }

    body.theme-dark .breadcrumb {
        background: #fff;
        border: 0;
        padding: 14px 0 0;
    }

    .ct-shop-heading {
        padding: 4px 0 16px;
    }

    .ct-frequent-searches {
        padding: 26px 0 20px;
    }

    .ct-shop-page .products-layout {
        display: grid;
        grid-template-columns: 250px minmax(0, 1fr);
        gap: 30px;
    }

    .ct-shop-page .filter-sidebar {
        position: sticky;
        top: 118px;
        width: 250px;
        max-width: none;
        height: auto;
        max-height: none;
        overflow-y: visible;
        transform: none;
        box-shadow: none;
        z-index: 1;
    }

    .ct-shop-page .filter-overlay,
    .ct-shop-page .mobile-toolbar-actions,
    .ct-shop-page .products-top-bar {
        display: none !important;
    }

    .ct-shop-page .filter-header {
        display: block;
        min-height: 50px;
        padding: 0 0 8px;
        background: #fff;
        color: #000;
    }

    .ct-shop-page .filter-header h3 {
        margin-bottom: 6px;
        font-size: 20px;
        line-height: 1;
        font-weight: 900;
        text-transform: none;
    }

    .ct-shop-page .filter-header-actions {
        justify-content: flex-start;
    }

    .ct-shop-page .reset-filters {
        color: #000;
        text-decoration: underline;
        font-size: 13px;
        font-weight: 500;
        text-transform: none;
    }

    .ct-shop-page .filter-close-btn {
        display: none;
    }

    .ct-shop-page .ct-shop-controls {
        min-height: 54px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        margin-bottom: 10px;
    }

    .ct-shop-checks {
        display: flex;
        gap: 14px;
    }

    .ct-shop-checks a {
        color: #000;
        font-size: 16px;
        font-weight: 500;
    }

    .ct-shop-page .ct-shop-controls .filter-select {
        width: 202px;
        height: 42px;
        border: 2px solid #777;
        border-radius: 3px;
        background-color: #fff;
        color: #000;
        font-size: 14px;
        font-weight: 900;
    }

.ct-shop-page .products-grid,
    .ct-shop-page .products-grid.cols-5,
    .ct-shop-page .products-grid.cols-4,
    .ct-shop-page .products-grid.cols-3,
    .ct-shop-page .products-grid.cols-2 {
        width: 100%;
        max-width: none;
        display: flex;
        flex-direction: column;
        gap: 20px;
        margin: 0;
        grid-template-columns: none;
    }

    .ct-shop-page .product-card-list {
        width: 100%;
        min-height: 240px;
        display: grid;
        grid-template-columns: 248px minmax(0, 1fr) 250px;
        gap: 16px;
        padding: 22px 8px 18px;
        border: 0;
        border-radius: 0 0 8px 8px;
        background: #fff;
        box-shadow: 0 4px 14px rgba(0,0,0,.13);
        transition: box-shadow .2s;
    }

    .ct-shop-page .product-card-list:hover {
        transform: none;
        box-shadow: 0 5px 18px rgba(0,0,0,.16);
    }

    .ct-shop-page .product-card-img {
        width: 248px;
        min-height: 190px;
        border-radius: 0;
        background: #fff;
    }

    .ct-shop-page .product-card-img img {
        width: 100%;
        height: 100%;
        max-height: 190px;
        aspect-ratio: 1 / 1;
        object-fit: contain;
    }

    .ct-shop-page .product-card-body {
        grid-column: span 2;
        display: grid;
        grid-template-columns: minmax(0, 1fr) 250px;
        gap: 20px;
    }

    .ct-shop-page .product-card-body h3 {
        grid-column: 1;
        margin-top: 17px;
        color: #111;
        font-size: 14px;
        font-weight: 900;
    }

    .ct-shop-page .product-specs {
        grid-column: 1;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2px 28px;
        max-height: 72px;
        overflow: hidden;
        color: #111;
        font-size: 12px;
        font-weight: 700;
        line-height: 1.3;
    }

    .ct-shop-page .product-card-pricing {
        grid-column: 1;
        align-self: end;
        display: flex;
        align-items: flex-end;
        gap: 6px;
    }

    .ct-shop-page .card-current-price {
        color: #111;
        font-size: 36px;
        font-weight: 900;
        line-height: .86;
    }

    .ct-shop-page .product-card-actions {
        grid-column: 2;
        grid-row: 1;
        display: grid;
        grid-template-columns: 1fr;
        align-self: start;
        margin-top: 0;
        gap: 10px;
    }

    .ct-shop-page .product-card-actions > a,
    .ct-shop-page .product-card-actions > button {
        display: none;
    }

    .ct-shop-page .product-card-actions form {
        display: block !important;
    }

    .ct-shop-page .card-action-btn {
        width: 100%;
        height: 53px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        border: 0;
        border-radius: 0;
        background: #44d62c;
        color: #000;
        font-size: 13px;
        font-weight: 900;
    }

    .ct-shop-page .card-action-btn span {
        display: inline;
    }

    .ct-shop-page .card-stock-badge {
        grid-column: 2;
        grid-row: 2;
        align-self: start;
        width: 100%;
        margin-top: 10px;
        border-radius: 0;
        background: transparent !important;
        color: #111 !important;
        font-size: 12px;
        line-height: 1.5;
        text-align: left;
    }
}

/* ============ Dark filter contrast hard fix ============ */
body.theme-dark .ct-shop-page .filter-group-body,
body.theme-dark .ct-shop-page .filter-list,
body.theme-dark .ct-shop-page .filter-list-item,
body.theme-dark .ct-shop-page .filter-list-item.active {
    background: #151515 !important;
    color: #f4f4f4 !important;
}

body.theme-dark .ct-shop-page .filter-list-item:hover {
    background: #1f1f1f !important;
}

body.theme-dark .ct-shop-page .filter-list-label,
body.theme-dark .ct-shop-page .filter-list-count,
body.theme-dark .ct-shop-page .filter-list-item.active .filter-list-label,
body.theme-dark .ct-shop-page .filter-list-item.active .filter-list-count {
    color: #f4f4f4 !important;
}

body.theme-dark .ct-shop-page .filter-list-check,
body.theme-dark .ct-shop-page .filter-list-check i {
    background: transparent !important;
    color: #44d62c !important;
}

body.theme-dark .ct-shop-page .price-slider-wrap {
    background: transparent !important;
}

body.theme-dark .ct-shop-page .price-slider-track {
    background: #555 !important;
}

body.theme-dark .ct-shop-page .price-slider-range {
    background: #44d62c !important;
}

body.theme-dark .ct-shop-page .price-range {
    background: transparent !important;
    color-scheme: dark;
}

body.theme-dark .ct-shop-page .price-range::-webkit-slider-runnable-track {
    height: 5px;
    border-radius: 999px;
    background: transparent;
}

body.theme-dark .ct-shop-page .price-range::-webkit-slider-thumb {
    border: 2px solid #050505 !important;
    background: #44d62c !important;
}

body.theme-dark .ct-shop-page .price-range::-moz-range-track {
    height: 5px;
    border-radius: 999px;
    background: transparent;
}

body.theme-dark .ct-shop-page .price-range::-moz-range-thumb {
    border: 2px solid #050505 !important;
    background: #44d62c !important;
}

/* ============ Visible light / dark mode switch ============ */
.header-actions .theme-switch,
body.theme-dark .header-actions .theme-switch,
body.light-theme .header-actions .theme-switch {
    width: auto !important;
    min-width: 126px !important;
    height: 44px !important;
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 0 14px !important;
    overflow: visible !important;
    border: 1px solid #44d62c !important;
    border-radius: 0 !important;
    background: #44d62c !important;
    color: #050505 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-transform: uppercase;
}

.header-actions .theme-switch i,
.header-actions .theme-switch .theme-switch-label {
    display: inline-flex !important;
    align-items: center;
    color: inherit !important;
    font-size: inherit !important;
}

.header-actions .theme-switch:hover,
body.theme-dark .header-actions .theme-switch:hover,
body.light-theme .header-actions .theme-switch:hover {
    background: #66ff4d !important;
    border-color: #66ff4d !important;
    color: #050505 !important;
}

@media (max-width: 720px) {
    .header-actions .theme-switch,
    body.theme-dark .header-actions .theme-switch,
    body.light-theme .header-actions .theme-switch {
        min-width: 44px !important;
        width: 44px !important;
        padding: 0 !important;
    }

    .header-actions .theme-switch .theme-switch-label {
        display: none !important;
    }
}

/* ============ Final true light mode layer ============ */
body.light-theme,
body.light-theme.theme-dark {
    background: #f4f4f4 !important;
    color: #050505 !important;
}

body.light-theme .top-bar,
body.light-theme .header,
body.light-theme.theme-dark .header {
    background: #050505 !important;
    color: #ffffff !important;
}

body.light-theme .main-nav,
body.light-theme.theme-dark .main-nav {
    background: #050505 !important;
    border-bottom-color: #44d62c !important;
}

body.light-theme .header-action:not(.theme-switch),
body.light-theme.theme-dark .header-action:not(.theme-switch) {
    background: #050505 !important;
    border-color: #050505 !important;
    color: #ffffff !important;
}

body.light-theme .search-bar form,
body.light-theme.theme-dark .search-bar form {
    background: #ffffff !important;
    border: 1px solid #d8d8d8 !important;
}

body.light-theme .search-bar input,
body.light-theme.theme-dark .search-bar input {
    background: #ffffff !important;
    color: #050505 !important;
}

body.light-theme .breadcrumb,
body.light-theme.theme-dark .breadcrumb {
    background: #eeeeee !important;
    color: #5e5e5e !important;
}

body.light-theme .breadcrumb a,
body.light-theme.theme-dark .breadcrumb a {
    color: #2fb51f !important;
}

body.light-theme .products-page,
body.light-theme.theme-dark .products-page,
body.light-theme .ct-shop-page,
body.light-theme.theme-dark .ct-shop-page {
    background: #f4f4f4 !important;
    color: #050505 !important;
}

body.light-theme .ct-shop-heading,
body.light-theme.theme-dark .ct-shop-heading {
    background: #f4f4f4 !important;
    color: #050505 !important;
}

body.light-theme .ct-shop-heading h1,
body.light-theme.theme-dark .ct-shop-heading h1 {
    color: #050505 !important;
}

body.light-theme .ct-shop-heading h1 span,
body.light-theme.theme-dark .ct-shop-heading h1 span {
    color: #2fb51f !important;
}

body.light-theme .ct-shop-heading p,
body.light-theme.theme-dark .ct-shop-heading p {
    color: #575757 !important;
}

body.light-theme .ct-frequent-searches,
body.light-theme.theme-dark .ct-frequent-searches {
    background: #f4f4f4 !important;
}

body.light-theme .ct-frequent-searches a,
body.light-theme.theme-dark .ct-frequent-searches a {
    background: #efefef !important;
    border-color: #dddddd !important;
    color: #050505 !important;
}

body.light-theme .ct-frequent-searches a:hover,
body.light-theme.theme-dark .ct-frequent-searches a:hover {
    background: #44d62c !important;
    color: #050505 !important;
}

body.light-theme .filter-sidebar,
body.light-theme.theme-dark .filter-sidebar,
body.light-theme .ct-shop-page .filter-sidebar,
body.light-theme.theme-dark .ct-shop-page .filter-sidebar {
    background: #f4f4f4 !important;
    color: #050505 !important;
}

body.light-theme .ct-shop-page .filter-header,
body.light-theme.theme-dark .ct-shop-page .filter-header {
    background: #f4f4f4 !important;
    color: #050505 !important;
}

body.light-theme .ct-shop-page .filter-header h3,
body.light-theme.theme-dark .ct-shop-page .filter-header h3,
body.light-theme .ct-shop-page .filter-header .reset-filters,
body.light-theme.theme-dark .ct-shop-page .filter-header .reset-filters {
    color: #050505 !important;
}

body.light-theme .ct-shop-page .ct-active-filters a,
body.light-theme.theme-dark .ct-shop-page .ct-active-filters a {
    background: #e9e9e9 !important;
    color: #050505 !important;
}

body.light-theme .ct-shop-page .filter-group,
body.light-theme.theme-dark .ct-shop-page .filter-group,
body.light-theme .ct-shop-page .filter-group-title,
body.light-theme.theme-dark .ct-shop-page .filter-group-title,
body.light-theme .ct-shop-page .filter-group-body,
body.light-theme.theme-dark .ct-shop-page .filter-group-body,
body.light-theme .ct-shop-page .filter-list,
body.light-theme.theme-dark .ct-shop-page .filter-list,
body.light-theme .ct-shop-page .filter-list-item,
body.light-theme.theme-dark .ct-shop-page .filter-list-item {
    background: #ffffff !important;
    border-color: #d6d6d6 !important;
    color: #050505 !important;
}

body.light-theme .ct-shop-page .filter-list-label,
body.light-theme.theme-dark .ct-shop-page .filter-list-label,
body.light-theme .ct-shop-page .filter-list-count,
body.light-theme.theme-dark .ct-shop-page .filter-list-count {
    color: #050505 !important;
}

body.light-theme .ct-shop-page .filter-list-item.active,
body.light-theme.theme-dark .ct-shop-page .filter-list-item.active {
    background: #eefbea !important;
}

body.light-theme .ct-shop-page .filter-list-item.active .filter-list-label,
body.light-theme.theme-dark .ct-shop-page .filter-list-item.active .filter-list-label,
body.light-theme .ct-shop-page .filter-list-item.active .filter-list-count,
body.light-theme.theme-dark .ct-shop-page .filter-list-item.active .filter-list-count {
    color: #050505 !important;
    text-decoration-color: #050505 !important;
}

body.light-theme .ct-shop-page .filter-list-check i,
body.light-theme.theme-dark .ct-shop-page .filter-list-check i {
    color: #2fb51f !important;
}

body.light-theme .ct-shop-page .price-labels span,
body.light-theme.theme-dark .ct-shop-page .price-labels span {
    background: #ffffff !important;
    border-color: #cfcfcf !important;
    color: #050505 !important;
}

body.light-theme .ct-shop-page .price-slider-track,
body.light-theme.theme-dark .ct-shop-page .price-slider-track {
    background: #cfcfcf !important;
}

body.light-theme .ct-shop-page .price-slider-range,
body.light-theme.theme-dark .ct-shop-page .price-slider-range,
body.light-theme .ct-shop-page .price-range::-webkit-slider-thumb,
body.light-theme.theme-dark .ct-shop-page .price-range::-webkit-slider-thumb,
body.light-theme .ct-shop-page .price-range::-moz-range-thumb,
body.light-theme.theme-dark .ct-shop-page .price-range::-moz-range-thumb {
    background: #44d62c !important;
}

body.light-theme .ct-shop-page .ct-shop-checks a,
body.light-theme.theme-dark .ct-shop-page .ct-shop-checks a {
    color: #050505 !important;
}

body.light-theme .ct-shop-page .filter-select,
body.light-theme.theme-dark .ct-shop-page .filter-select,
body.light-theme .ct-shop-page .ct-shop-controls .filter-select,
body.light-theme.theme-dark .ct-shop-page .ct-shop-controls .filter-select {
    background: #ffffff !important;
    border-color: #777777 !important;
    color: #050505 !important;
}

body.light-theme .ct-shop-page .no-results,
body.light-theme.theme-dark .ct-shop-page .no-results {
    background: #ffffff !important;
    border-color: #dddddd !important;
    color: #050505 !important;
}

body.light-theme .ct-shop-page .no-results h3,
body.light-theme.theme-dark .ct-shop-page .no-results h3 {
    color: #050505 !important;
}

body.light-theme .ct-shop-page .no-results p,
body.light-theme.theme-dark .ct-shop-page .no-results p {
    color: #5d5d5d !important;
}

body.light-theme .footer,
body.light-theme.theme-dark .footer {
    background: #ffffff !important;
    border-top: 1px solid #dddddd !important;
    color: #050505 !important;
}

body.light-theme .footer a,
body.light-theme.theme-dark .footer a,
body.light-theme .footer p,
body.light-theme.theme-dark .footer p {
    color: #444444 !important;
}

/* ============ Cybertek-like home product carousel ============ */
body.theme-dark .ct-category-zone,
body.theme-dark .ct-products,
body.theme-dark .ct-products-light {
    background: #0d0d0d !important;
}
body.light-theme .ct-category-zone,
body.light-theme .ct-products,
body.light-theme .ct-products-light {
    background: #e9e9e9 !important;
}

.ct-products,
.ct-products-light {
    padding: 30px 0 18px !important;
    background: #0d0d0d !important;
}

.ct-products + .ct-products,
.ct-products-light + .ct-products-light {
    padding-top: 16px !important;
}

.ct-products .ct-wrap,
.ct-products-light .ct-wrap {
    max-width: 1280px !important;
}

.ct-slider-title {
    width: min(300px, 80vw) !important;
    height: 36px !important;
    margin: 0 auto -1px !important;
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px 8px 0 0 !important;
    background: #44d62c !important;
    color: #050505 !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

.ct-product-rail-wrap {
    position: relative !important;
    min-height: 302px !important;
    padding: 20px 84px 20px !important;
    border-radius: 16px !important;
    background: #141414 !important;
    box-shadow: none !important;
    overflow: hidden !important;
}
body.light-theme .ct-product-rail-wrap {
    background: #ffffff !important;
}

.ct-product-rail {
    display: flex !important;
    gap: 20px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
    padding: 0 !important;
}

.ct-product-rail::-webkit-scrollbar {
    display: none !important;
}

.ct-product-rail .product-card {
    flex: 0 0 234px !important;
    width: 234px !important;
    min-width: 234px !important;
    max-width: 234px !important;
    min-height: 260px !important;
    display: flex !important;
    flex-direction: column !important;
    border: 1px solid #d5d5d5 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    color: #050505 !important;
    box-shadow: none !important;
    scroll-snap-align: start !important;
    overflow: hidden !important;
}

.ct-product-rail .product-card:hover {
    transform: none !important;
    border-color: #44d62c !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .12) !important;
}

.ct-product-rail .product-badges {
    top: 6px !important;
    left: 6px !important;
    z-index: 3 !important;
}

.ct-product-rail .badge {
    min-height: 20px !important;
    padding: 2px 12px !important;
    border-radius: 3px !important;
    background: #ffe4e7 !important;
    color: #ff1d2d !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}

.ct-product-rail .product-img {
    height: 138px !important;
    min-height: 138px !important;
    aspect-ratio: auto !important;
    display: grid !important;
    place-items: center !important;
    padding: 16px 14px 4px !important;
    background: #ffffff !important;
}

.ct-product-rail .product-img img {
    max-width: 100% !important;
    max-height: 116px !important;
    object-fit: contain !important;
}

.ct-product-rail .product-info {
    flex: 1 !important;
    display: grid !important;
    grid-template-rows: auto 1fr auto auto !important;
    gap: 4px !important;
    padding: 6px 8px 7px !important;
    text-align: left !important;
}

.ct-product-rail .product-cat {
    margin: 0 !important;
    color: #303030 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.1 !important;
    text-transform: none !important;
}

.ct-product-rail .product-name {
    min-height: 38px !important;
    max-height: 44px !important;
    margin: 0 !important;
    color: #050505 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.08 !important;
    overflow: hidden !important;
}

.ct-product-rail .product-price {
    min-height: 27px !important;
    display: flex !important;
    align-items: baseline !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    margin: 0 !important;
}

.ct-product-rail .product-price .current {
    color: #050505 !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    line-height: .95 !important;
}

.ct-product-rail .product-price .old {
    color: #606060 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.ct-product-rail .product-cta {
    width: 100% !important;
    min-height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 2px 0 0 !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
    background: #44d62c !important;
    color: #050505 !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    text-transform: none !important;
}

.ct-rail-btn {
    position: absolute !important;
    top: 50% !important;
    z-index: 4 !important;
    width: 42px !important;
    height: 62px !important;
    display: grid !important;
    place-items: center !important;
    border: 0 !important;
    background: transparent !important;
    color: #050505 !important;
    transform: translateY(-50%) !important;
    cursor: pointer !important;
}

.ct-rail-btn i {
    font-size: 42px !important;
    line-height: 1 !important;
}

.ct-rail-prev {
    left: 28px !important;
}

.ct-rail-next {
    right: 28px !important;
}

.ct-rail-btn:hover {
    color: #44d62c !important;
}

@media (max-width: 900px) {
    .ct-product-rail-wrap {
        padding: 18px 54px !important;
    }

    .ct-product-rail .product-card {
        flex-basis: 220px !important;
        width: 220px !important;
        min-width: 220px !important;
        max-width: 220px !important;
    }

    .ct-rail-prev {
        left: 12px !important;
    }

    .ct-rail-next {
        right: 12px !important;
    }
}

@media (max-width: 560px) {
    .ct-products,
    .ct-products-light {
        padding: 22px 0 12px !important;
    }

    .ct-product-rail-wrap {
        margin: 0 12px !important;
        padding: 16px 14px !important;
        border-radius: 12px !important;
    }

    .ct-product-rail {
        gap: 14px !important;
    }

    .ct-product-rail .product-card {
        flex-basis: 210px !important;
        width: 210px !important;
        min-width: 210px !important;
        max-width: 210px !important;
    }

    .ct-rail-btn {
        display: none !important;
    }
}

/* ============ Home three-promo banner strip ============ */
.gz-promo-banners {
    background: #e9e9e9;
    padding: 22px 0 24px;
}

.gz-promo-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    width: auto;
    max-width: 1280px !important;
}

.gz-promo-card {
    position: relative;
    display: block;
    min-width: 0;
    min-height: 235px;
    aspect-ratio: auto;
    overflow: hidden;
    background: #050505;
    border-right: 2px solid #222;
}
body.light-theme .gz-promo-card {
    border-right-color: #e9e9e9;
}

.gz-promo-card:last-child {
    border-right: 0;
}

.gz-promo-card img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .25s ease, filter .25s ease;
}

.gz-promo-card:hover img {
    transform: scale(1.025);
    filter: brightness(1.08);
}

body.theme-dark .gz-promo-banners {
    background: #0d0d0d !important;
}
body.light-theme .gz-promo-banners,
body.light-theme.theme-dark .gz-promo-banners {
    background: #e9e9e9 !important;
}

@media (max-width: 900px) {
    .gz-promo-grid {
        grid-template-columns: 1fr;
        gap: 10px;
        width: auto;
    }

    .gz-promo-card {
        min-height: 185px;
        aspect-ratio: 451 / 156;
        border-right: 0;
    }
}

/* ============ Joule-style dark footer ============ */
.jp-footer,
body.light-theme .jp-footer,
body.light-theme.theme-dark .jp-footer {
    margin-top: 0 !important;
    background: #191919 !important;
    color: #ffffff !important;
    font-family: 'Outfit', sans-serif !important;
}

.jp-footer-wrap {
    width: min(1120px, calc(100vw - 42px));
    margin: 0 auto;
}

.jp-footer-ad {
    background: #101010;
}

.jp-footer-ad-inner {
    width: min(1120px, calc(100vw - 42px));
    height: 110px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 34px;
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 50%, rgba(255, 255, 255, .18), transparent 18%),
        radial-gradient(circle at 86% 50%, rgba(255, 255, 255, .15), transparent 18%),
        linear-gradient(90deg, #050505, #151515 45%, #050505);
}

.jp-footer-ad-inner > div:not(.jp-chip-bg) {
    position: relative;
    z-index: 1;
}

.jp-footer-ad span,
.jp-footer-ad small {
    display: block;
    color: #ff8a00;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
}

.jp-footer-ad strong {
    display: block;
    color: #ffffff;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.05;
    text-transform: uppercase;
}

.jp-footer-ad small {
    color: #ffffff;
    font-size: 15px;
}

.jp-ad-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #ff5a1f !important;
    font-size: 28px;
    font-weight: 900;
    text-transform: uppercase;
}

.jp-social-bar {
    background: #4a4a4a;
}

.jp-social-inner {
    min-height: 76px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 24px;
}

.jp-social-inner > strong,
.jp-newsletter > strong {
    color: #ffffff;
    font-size: 22px;
    font-weight: 900;
    text-transform: uppercase;
}

.jp-social-icons {
    display: flex;
    align-items: center;
    gap: 13px;
}

.jp-social-icons a {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 2px solid #d8d8d8;
    clip-path: polygon(25% 3%, 75% 3%, 100% 50%, 75% 97%, 25% 97%, 0 50%);
    color: #ffffff !important;
    font-size: 16px;
}

.jp-social-icons a:hover {
    background: #44d62c;
    border-color: #44d62c;
    color: #050505 !important;
}

.jp-newsletter {
    justify-self: end;
    display: inline-flex;
    align-items: center;
    gap: 24px;
}

.jp-newsletter a {
    min-height: 45px;
    display: inline-flex;
    align-items: center;
    padding: 0 18px;
    background: #ff9d00;
    color: #151515 !important;
    font-weight: 900;
    text-transform: uppercase;
}

.jp-footer-main {
    padding: 24px 0 58px;
    background: #191919;
}

.jp-trust-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 48px;
}

.jp-trust-row article {
    min-height: 116px;
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    padding: 18px 20px;
    background: #4a4a4a;
    color: #ffffff;
}

.jp-trust-row i {
    color: #ff9d00;
    font-size: 54px;
    text-align: center;
}

.jp-trust-row strong {
    display: block;
    color: #ffffff;
    font-size: 16px;
    font-weight: 900;
    text-transform: uppercase;
}

.jp-trust-row span {
    display: block;
    color: #ffffff;
    font-size: 14px;
    line-height: 1.45;
}

.jp-footer-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1.2fr;
    gap: 58px;
}

.jp-footer-col h4 {
    margin: 0 0 14px;
    padding-bottom: 8px;
    border-bottom: 1px solid #d0d0d0;
    color: #ffffff;
    font-size: 18px;
    font-weight: 900;
    text-transform: uppercase;
}

.jp-footer-col h4:not(:first-child) {
    margin-top: 34px;
}

.jp-footer-col ul {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.jp-footer-col a,
.jp-footer-col p,
body.light-theme .jp-footer-col a,
body.light-theme .jp-footer-col p {
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.45;
}

.jp-footer-col a:hover {
    color: #44d62c !important;
}

.jp-payments {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.jp-payments span {
    min-width: 70px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    background: #eeeeee;
    color: #111111;
    font-size: 14px;
    font-weight: 900;
}

.jp-payments span:nth-child(4) {
    background: #f5b6c9;
}

.jp-flags {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    color: #ffffff;
    font-weight: 900;
}

.jp-footer-bottom {
    padding: 16px 0 !important;
    border: 0 !important;
    background: #101010 !important;
}

.jp-footer-bottom p,
body.light-theme .jp-footer-bottom p {
    margin: 0;
    color: #ffffff !important;
    font-size: 12px;
    font-weight: 700;
}

.jp-side-rail {
    position: fixed;
    left: 0;
    top: 290px;
    z-index: 1000;
    width: 74px;
    display: grid;
}

.jp-side-rail a {
    height: 72px;
    display: grid;
    place-items: center;
    gap: 5px;
    padding: 8px 4px;
    background: #202020;
    color: #ffffff;
    text-align: center;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 800;
    clip-path: polygon(0 0, 100% 0, 100% 82%, 0 100%);
}

.jp-side-rail a:nth-child(even) {
    background: #262626;
}

.jp-side-rail i {
    color: #ffffff;
    font-size: 20px;
}

.jp-side-rail .is-live,
.jp-side-rail .is-live i {
    color: #ff9d00;
}

@media (max-width: 1024px) {
    .jp-side-rail {
        display: none;
    }

    .jp-footer-ad-inner,
    .jp-social-inner {
        grid-template-columns: 1fr;
        height: auto;
        padding: 22px 0;
        text-align: center;
    }

    .jp-newsletter {
        justify-self: center;
    }

    .jp-trust-row,
    .jp-footer-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .jp-footer-grid {
        gap: 34px;
    }
}

@media (max-width: 560px) {
    .jp-footer-wrap,
    .jp-footer-ad-inner {
        width: calc(100vw - 28px);
    }

    .jp-social-icons {
        flex-wrap: wrap;
        justify-content: center;
    }

    .jp-newsletter {
        flex-direction: column;
        gap: 12px;
    }

    .jp-trust-row article {
        grid-template-columns: 64px 1fr;
        padding: 14px;
    }
}

/* ============ Final mega menu category-list fix ============ */
@media (min-width: 861px) {
    .mega-menu-wrap,
    body.theme-dark .mega-menu-wrap,
    body.light-theme .mega-menu-wrap,
    body.light-theme.theme-dark .mega-menu-wrap {
        position: relative !important;
        display: block !important;
        flex: 0 0 auto !important;
        z-index: 700 !important;
    }

    .mega-menu-panel,
    body.theme-dark .mega-menu-panel,
    body.light-theme .mega-menu-panel,
    body.light-theme.theme-dark .mega-menu-panel {
        position: absolute !important;
        top: calc(100% + 0px) !important;
        left: 0 !important;
        z-index: 900 !important;
        width: min(1280px, calc(100vw - 32px)) !important;
        min-width: 960px !important;
        min-height: 520px !important;
        display: grid !important;
        grid-template-columns: 248px minmax(0, 1fr) !important;
        gap: 0 !important;
        padding: 0 !important;
        border: 1px solid #d5d5d5 !important;
        border-top: 3px solid #44d62c !important;
        border-radius: 0 0 8px 8px !important;
        background: #f3f3f3 !important;
        box-shadow: 0 26px 60px rgba(0, 0, 0, .38) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateY(8px) !important;
        overflow: hidden !important;
    }

    .mega-menu-wrap:hover .mega-menu-panel,
    .mega-menu-panel.open,
    body.theme-dark .mega-menu-wrap:hover .mega-menu-panel,
    body.theme-dark .mega-menu-panel.open,
    body.light-theme .mega-menu-wrap:hover .mega-menu-panel,
    body.light-theme .mega-menu-panel.open,
    body.light-theme.theme-dark .mega-menu-wrap:hover .mega-menu-panel,
    body.light-theme.theme-dark .mega-menu-panel.open {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
    }

    .mega-menu-rail,
    body.theme-dark .mega-menu-rail,
    body.light-theme .mega-menu-rail,
    body.light-theme.theme-dark .mega-menu-rail {
        display: grid !important;
        align-content: start !important;
        background: #eeeeee !important;
        border-right: 1px solid #d5d5d5 !important;
    }

    .mega-menu-rail-item,
    body.theme-dark .mega-menu-rail-item,
    body.light-theme .mega-menu-rail-item,
    body.light-theme.theme-dark .mega-menu-rail-item {
        min-height: 48px !important;
        display: grid !important;
        grid-template-columns: 26px minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 0 14px !important;
        border: 0 !important;
        border-bottom: 1px solid #d3d3d3 !important;
        background: #eeeeee !important;
        color: #050505 !important;
        font-size: 13px !important;
        font-weight: 900 !important;
        line-height: 1.08 !important;
    }

    .mega-menu-rail-item i,
    body.theme-dark .mega-menu-rail-item i,
    body.light-theme .mega-menu-rail-item i,
    body.light-theme.theme-dark .mega-menu-rail-item i {
        color: #050505 !important;
        font-size: 16px !important;
    }

    .mega-menu-rail-item:hover,
    .mega-menu-rail-item.active,
    body.theme-dark .mega-menu-rail-item:hover,
    body.theme-dark .mega-menu-rail-item.active,
    body.light-theme .mega-menu-rail-item:hover,
    body.light-theme .mega-menu-rail-item.active,
    body.light-theme.theme-dark .mega-menu-rail-item:hover,
    body.light-theme.theme-dark .mega-menu-rail-item.active {
        background: #44d62c !important;
        color: #050505 !important;
    }

    .mega-menu-content,
    body.theme-dark .mega-menu-content,
    body.light-theme .mega-menu-content,
    body.light-theme.theme-dark .mega-menu-content {
        position: relative !important;
        display: block !important;
        min-height: 520px !important;
        padding: 26px 32px 34px !important;
        background: #ffffff !important;
        color: #050505 !important;
    }

    .mega-menu-section,
    body.theme-dark .mega-menu-section,
    body.light-theme .mega-menu-section,
    body.light-theme.theme-dark .mega-menu-section {
        display: none !important;
    }

    .mega-menu-section.active,
    body.theme-dark .mega-menu-section.active,
    body.light-theme .mega-menu-section.active,
    body.light-theme.theme-dark .mega-menu-section.active {
        display: block !important;
    }

    .mega-menu-section-head,
    body.theme-dark .mega-menu-section-head,
    body.light-theme .mega-menu-section-head,
    body.light-theme.theme-dark .mega-menu-section-head {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 18px !important;
        padding: 0 0 16px !important;
        border-bottom: 1px solid #dedede !important;
        background: transparent !important;
        color: #050505 !important;
    }

    .mega-menu-section-head h3,
    body.theme-dark .mega-menu-section-head h3,
    body.light-theme .mega-menu-section-head h3,
    body.light-theme.theme-dark .mega-menu-section-head h3 {
        color: #050505 !important;
        font-size: 25px !important;
        font-weight: 900 !important;
    }

    .mega-menu-link-grid,
    .mega-menu-group-grid,
    body.theme-dark .mega-menu-link-grid,
    body.theme-dark .mega-menu-group-grid,
    body.light-theme .mega-menu-link-grid,
    body.light-theme .mega-menu-group-grid,
    body.light-theme.theme-dark .mega-menu-link-grid {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 22px 12px !important;
        padding-top: 22px !important;
    }

    body.light-theme.theme-dark .mega-menu-group-grid {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 22px 12px !important;
        padding-top: 22px !important;
    }

    .mega-menu-group,
    body.theme-dark .mega-menu-group,
    body.light-theme .mega-menu-group,
    body.light-theme.theme-dark .mega-menu-group {
        min-width: 0 !important;
        display: block !important;
    }

    .mega-menu-group h4,
    body.theme-dark .mega-menu-group h4,
    body.light-theme .mega-menu-group h4,
    body.light-theme.theme-dark .mega-menu-group h4 {
        min-height: 26px !important;
        display: flex !important;
        align-items: center !important;
        margin: 0 0 8px !important;
        padding: 0 7px !important;
        border-radius: 5px !important;
        background: #bfbfbf !important;
        color: #050505 !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        line-height: 1.05 !important;
    }

    .mega-menu-group ul,
    body.theme-dark .mega-menu-group ul,
    body.light-theme .mega-menu-group ul,
    body.light-theme.theme-dark .mega-menu-group ul {
        display: grid !important;
        gap: 8px !important;
        margin: 0 !important;
        padding: 0 5px !important;
        list-style: none !important;
    }

    .mega-menu-group li,
    body.theme-dark .mega-menu-group li,
    body.light-theme .mega-menu-group li,
    body.light-theme.theme-dark .mega-menu-group li {
        margin: 0 !important;
        padding: 0 !important;
        min-width: 0 !important;
    }

    .mega-menu-link-grid a,
    .mega-menu-group a,
    body.theme-dark .mega-menu-link-grid a,
    body.theme-dark .mega-menu-group a,
    body.light-theme .mega-menu-link-grid a,
    body.light-theme .mega-menu-group a,
    body.light-theme.theme-dark .mega-menu-link-grid a {
        min-height: 0 !important;
        display: inline !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: #050505 !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        line-height: 1.25 !important;
    }

    .mega-menu-link-grid a:hover,
    .mega-menu-group a:hover,
    body.theme-dark .mega-menu-link-grid a:hover,
    body.theme-dark .mega-menu-group a:hover,
    body.light-theme .mega-menu-link-grid a:hover,
    body.light-theme .mega-menu-group a:hover,
    body.light-theme.theme-dark .mega-menu-link-grid a:hover {
        background: transparent !important;
        border-color: transparent !important;
        color: #2fb51f !important;
        text-decoration: underline !important;
    }

    .mega-menu-feature,
    body.theme-dark .mega-menu-feature,
    body.light-theme .mega-menu-feature,
    body.light-theme.theme-dark .mega-menu-feature {
        position: absolute !important;
        left: 34px !important;
        right: 34px !important;
        bottom: 28px !important;
        display: grid !important;
        gap: 8px !important;
        padding: 18px 22px !important;
        border: 1px solid #dddddd !important;
        border-left: 6px solid #44d62c !important;
        background: #f6f6f6 !important;
        color: #050505 !important;
    }
}

@media (max-width: 860px) {
    .mega-menu-panel,
    body.theme-dark .mega-menu-panel,
    body.light-theme .mega-menu-panel,
    body.light-theme.theme-dark .mega-menu-panel {
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        display: none !important;
        grid-template-columns: 1fr !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        pointer-events: auto !important;
        box-shadow: none !important;
    }

    .mega-menu-panel.open,
    body.theme-dark .mega-menu-panel.open,
    body.light-theme .mega-menu-panel.open,
    body.light-theme.theme-dark .mega-menu-panel.open {
        display: grid !important;
    }

    .mega-menu-content,
    body.theme-dark .mega-menu-content,
    body.light-theme .mega-menu-content,
    body.light-theme.theme-dark .mega-menu-content {
        display: none !important;
    }
}

/* Cybertek-style "Toutes les categories" mega menu. */
@media (min-width: 861px) {
    body.theme-dark .mega-menu-wrap {
        position: relative;
        display: block;
        flex: 0 0 auto;
    }

    body.theme-dark .mega-menu-panel {
        position: absolute;
        top: 35px;
        left: 0;
        z-index: 600;
        width: min(1000px, calc(100vw - 32px));
        min-width: 0;
        min-height: 590px;
        display: grid;
        grid-template-columns: 192px 1fr;
        gap: 0;
        padding: 0;
        border: 0;
        border-radius: 0 0 8px 8px;
        background: #efefef;
        box-shadow: 0 24px 45px rgba(0,0,0,.32);
        opacity: 0;
        visibility: hidden;
        transform: none;
        overflow: hidden;
    }

    body.theme-dark .mega-menu-wrap:hover .mega-menu-panel,
    body.theme-dark .mega-menu-panel.open {
        opacity: 1;
        visibility: visible;
    }

    .mega-menu-rail {
        background: #efefef;
        border-right: 1px solid #d1d1d1;
    }

    .mega-menu-rail-item {
        min-height: 54px;
        display: grid;
        grid-template-columns: 28px 1fr;
        align-items: center;
        gap: 10px;
        padding: 0 10px;
        border-bottom: 1px solid #d1d1d1;
        color: #111;
        font-size: 14px;
        font-weight: 900;
        line-height: 1.05;
    }

    .mega-menu-rail-item i {
        color: #111;
        font-size: 18px;
        text-align: center;
    }

    .mega-menu-rail-item:hover,
    .mega-menu-rail-item.active {
        background: #fff;
    }

    .mega-menu-content {
        position: relative;
        min-height: 590px;
        padding: 28px 32px;
        background: #f3f3f3;
    }

    .mega-menu-section {
        display: none;
    }

    .mega-menu-section.active {
        display: block;
    }

    .mega-menu-section-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
        padding-bottom: 16px;
        border-bottom: 1px solid #d6d6d6;
    }

    .mega-menu-section-head h3 {
        color: #111;
        font-size: 26px;
        font-weight: 900;
    }

    .mega-menu-section-head a,
    .mega-menu-feature a {
        color: #000;
        font-size: 12px;
        font-weight: 900;
        text-decoration: underline;
    }

    .mega-menu-link-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px 26px;
        padding-top: 22px;
    }

    .mega-menu-link-grid a {
        min-height: 38px;
        display: flex;
        align-items: center;
        padding: 0 14px;
        border-radius: 999px;
        background: #fff;
        color: #111;
        font-size: 13px;
        font-weight: 800;
    }

    .mega-menu-link-grid a:hover {
        background: #44d62c;
    }

    .mega-menu-feature {
        position: absolute;
        left: 32px;
        right: 32px;
        bottom: 30px;
        display: grid;
        gap: 8px;
        padding: 20px 22px;
        background: #fff;
        border-left: 6px solid #44d62c;
        box-shadow: 0 5px 16px rgba(0,0,0,.08);
    }

    .mega-menu-feature strong {
        color: #111;
        font-size: 18px;
        font-weight: 900;
    }

    .mega-menu-feature span {
        color: #333;
        font-size: 13px;
        font-weight: 600;
    }
}

@media (max-width: 860px) {
    body.theme-dark .mega-menu-panel {
        position: static;
        width: 100%;
        max-width: none;
        min-height: 0;
        display: none;
        grid-template-columns: 1fr;
        opacity: 1;
        visibility: visible;
        box-shadow: none;
        border-radius: 8px;
        overflow: hidden;
    }

    body.theme-dark .mega-menu-panel.open {
        display: grid;
    }

    .mega-menu-content {
        display: none;
    }

    .mega-menu-rail-item {
        min-height: 44px;
        display: grid;
        grid-template-columns: 28px 1fr;
        align-items: center;
        padding: 0 12px;
        background: #fff;
        border-bottom: 1px solid #ddd;
color: #111;
        font-size: 13px;
        font-weight: 900;
    }
}

/* ============ Shop: 3-column grid (final override) ============ */
.ct-shop-page .products-grid,
.ct-shop-page .products-grid.cols-5,
.ct-shop-page .products-grid.cols-4,
.ct-shop-page .products-grid.cols-3,
.ct-shop-page .products-grid.cols-2 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    width: 100%;
    max-width: none;
    margin: 0;
}

.ct-shop-page .products-grid .product-card {
    height: 100%;
}

.ct-shop-page .products-grid.cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ct-shop-page .products-grid.cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.ct-shop-page .products-grid.cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 992px) {
    .ct-shop-page .products-grid,
    .ct-shop-page .products-grid.cols-5,
    .ct-shop-page .products-grid.cols-4,
    .ct-shop-page .products-grid.cols-3,
    .ct-shop-page .products-grid.cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .ct-shop-page .products-grid,
    .ct-shop-page .products-grid.cols-5,
    .ct-shop-page .products-grid.cols-4,
    .ct-shop-page .products-grid.cols-3,
    .ct-shop-page .products-grid.cols-2 {
        grid-template-columns: 1fr;
    }
}

/* ============ Single product page: final Cybertek polish ============ */
.ct-product-page {
    background: #fff;
    color: #050505;
}

.ct-product-breadcrumb {
    background: #fff;
}

.ct-product-breadcrumb .container,
.ct-product-wrap {
    width: min(1280px, calc(100vw - 32px));
    max-width: 1280px;
    padding-left: 0;
    padding-right: 0;
}

.ct-product-top {
    grid-template-columns: minmax(0, 560px) minmax(520px, 1fr);
    gap: 46px;
    align-items: start;
    min-height: 0;
    padding: 12px 0 28px;
}

.ct-product-gallery {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.ct-product-gallery .ct-thumbs {
    grid-column: 1;
    grid-row: 1;
}

.ct-main-image {
    grid-column: 2;
    grid-row: 1;
    min-height: 462px;
    border: 1px solid #ececec;
    border-radius: 6px;
}

.ct-product-gallery:not(:has(.ct-thumbs)) {
    grid-template-columns: 1fr;
}

.ct-product-gallery:not(:has(.ct-thumbs)) .ct-main-image {
    grid-column: 1;
}

.ct-main-image img {
    max-width: 88%;
    max-height: 420px;
}

.ct-thumbs button {
    width: 66px;
    height: 66px;
    border: 1px solid #d8d8d8;
    border-radius: 6px;
}

.ct-thumbs button.active {
    border-color: #44d62c;
    box-shadow: inset 0 0 0 2px #44d62c;
}

.ct-discount-badge,
.ct-save-badge {
    background: #44d62c;
    color: #050505;
}

.ct-zoom-btn:hover {
    background: #44d62c;
    border-color: #44d62c;
    color: #050505;
}

.ct-product-buybox {
    padding: 0;
}

.ct-buybox-head {
    margin-bottom: 10px;
}

.ct-brand-link {
    border: 1px solid #111;
    border-radius: 4px;
    background: #fff;
    color: #111;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.ct-rating-row,
.ct-rating-count,
.ct-sku,
.ct-tax-note,
.ct-main-specs li,
.ct-main-specs a,
.ct-trust-row span,
.ct-dispo-card p,
.ct-dispo-card a {
    font-weight: 600;
}

.ct-stars {
    color: #44d62c;
}

.ct-product-buybox h1 {
    margin: 0 0 8px;
    font-size: clamp(25px, 2vw, 34px);
    line-height: 1.12;
    letter-spacing: 0;
}

.ct-sku {
    margin-bottom: 20px;
    color: #676767;
}

.ct-price-block {
    margin: 0 0 18px;
    padding: 18px 0;
    border-top: 1px solid #ececec;
    border-bottom: 1px solid #ececec;
}

.ct-price-row {
    gap: 8px 12px;
}

.ct-price {
    font-size: clamp(42px, 4vw, 58px);
    letter-spacing: 0;
}

.ct-price-currency {
    font-size: 18px;
}

.ct-finance {
    width: fit-content;
    margin-top: 12px;
    padding: 9px 12px;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    background: #fafafa;
}

.ct-finance strong {
    font-size: 26px;
}

.ct-stock-line {
    margin-bottom: 16px;
    color: #00a651;
}

.ct-stock-line i,
.ct-dispo-card strong,
.ct-trust-row i {
    color: #00a651;
}

.ct-main-specs {
    margin-top: 4px;
}

.ct-main-specs h2,
.ct-product-section h2,
.ct-tab-panel h2 {
    margin-bottom: 14px;
    font-size: 24px;
}

.ct-main-specs ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px 24px;
}

.ct-main-specs li {
    line-height: 1.45;
}

.ct-add-row {
    gap: 12px;
    margin: 24px 0 18px;
}

.ct-add-form {
    margin: 0;
}

.ct-add-cart,
.ct-out-stock {
    min-height: 54px;
    border-radius: 0;
    background: #44d62c;
    color: #050505;
    font-size: 14px;
    font-weight: 800;
}

.ct-add-cart:hover {
    background: #66ff4d;
}

.ct-qty {
    min-height: 54px;
    border: 1px solid #111;
}

.ct-qty-btn {
    height: 52px;
}

.ct-wishlist-toggle {
    width: 54px;
    height: 54px;
    border: 1px solid #111;
}

.ct-trust-row {
    gap: 10px 18px;
    margin-bottom: 18px;
}

.ct-dispo-grid {
    gap: 12px;
}

.ct-dispo-card {
    min-height: 126px;
    border: 1px solid #d8d8d8;
    border-radius: 6px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, .05);
}

.ct-dispo-card h3 {
    font-size: 14px;
}

.ct-product-tabs {
    margin-top: 18px;
    border-top: 1px solid #111;
    border-bottom: 1px solid #d8d8d8;
}

.ct-product-tabs a {
    min-height: 48px;
    padding: 0 2px;
    font-weight: 700;
}

.ct-product-tabs a.active {
    border-bottom-color: #44d62c;
}

.ct-tab-panels {
    margin-top: 30px;
}

.ct-description-grid {
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 34px;
}

.ct-spec-table {
    max-width: 980px;
    border-top: 1px solid #e8e8e8;
}

.ct-spec-table div {
    grid-template-columns: 280px minmax(0, 1fr);
}

.ct-spec-table strong {
    background: #f6f6f6;
    font-weight: 700;
}

.ct-related-rail .product-card {
    border-radius: 6px;
}

@media (max-width: 1080px) {
    .ct-product-top {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .ct-main-image {
        min-height: 400px;
    }
}

@media (max-width: 720px) {
    .ct-product-breadcrumb .container,
    .ct-product-wrap {
        width: min(100% - 24px, 1280px);
    }

    .ct-product-gallery {
        grid-template-columns: 1fr;
    }

    .ct-product-gallery .ct-thumbs,
    .ct-main-image {
        grid-column: 1;
    }

    .ct-thumbs {
        flex-direction: row;
        order: 2;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .ct-main-image {
        min-height: 320px;
    }

    .ct-main-specs ul,
    .ct-dispo-grid,
    .ct-description-grid {
        grid-template-columns: 1fr;
    }

    .ct-add-row {
        display: grid;
        grid-template-columns: 92px 1fr 54px;
    }

    .ct-add-form {
        min-width: 0;
        order: 0;
    }

    .ct-product-tabs {
        gap: 22px;
        overflow-x: auto;
    }

    .ct-spec-table div {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 460px) {
    .ct-add-row {
        grid-template-columns: 1fr 54px;
    }

    .ct-qty {
        grid-column: 1 / -1;
        width: 100%;
        justify-content: space-between;
    }

    .ct-add-cart {
        font-size: 13px;
    }
}

/* ============ Cybertek filter sidebar final ============ */
.ct-shop-page .filter-sidebar {
    background: #fff;
    border: 0;
    border-radius: 0;
    padding: 0;
}

.ct-shop-page .filter-header {
    display: block;
    padding: 0 0 8px;
    margin: 0;
    border: 0;
    background: #fff;
}

.ct-shop-page .filter-header h3 {
    margin: 0 0 4px;
    color: #050505;
    font-size: 21px;
    font-weight: 800;
    line-height: 1.1;
}

.ct-shop-page .filter-header-actions {
    justify-content: flex-start;
}

.ct-shop-page .reset-filters {
    color: #050505;
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
    text-decoration: underline;
}

.ct-active-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-height: 62px;
    margin-bottom: 10px;
    padding: 10px;
    border-radius: 3px;
    background: #f2f2f2;
}

.ct-active-filters a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 40px;
    padding: 0 14px;
    border-radius: 999px;
    background: #fff;
    color: #050505;
    font-size: 13px;
    font-weight: 600;
}

.ct-active-filters span {
    font-size: 16px;
    line-height: 1;
}

.ct-shop-page .filter-group {
    margin: 0 0 7px;
    border: 1px solid #d9d9d9;
    border-radius: 4px;
    background: #f6f6f6;
    overflow: hidden;
}

.ct-shop-page .filter-group[open] {
    margin-bottom: 7px;
    background: #fff;
}

.ct-shop-page .filter-group-title {
    min-height: 41px;
    padding: 0 14px 0 16px;
    background: #f4f4f4;
    color: #050505;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
}

.ct-shop-page .filter-group-title::-webkit-details-marker {
    display: none;
}

.ct-shop-page .filter-group-title i {
    display: none;
}

.ct-shop-page .filter-group-title::after {
    content: "+";
    margin-left: auto;
    color: #050505;
    font-size: 24px;
    font-weight: 800;
    line-height: 1;
}

.ct-shop-page .filter-group[open] > .filter-group-title::after {
    content: "-";
    transform: translateY(-1px);
}

.ct-shop-page .filter-group-body {
    padding: 10px 10px 12px;
    background: #fff;
}

.ct-shop-page .filter-list {
    display: grid;
    gap: 4px;
}

.ct-shop-page .filter-list-scroll {
    max-height: 210px;
    padding-right: 4px;
}

.ct-shop-page .filter-list-item {
    min-height: 24px;
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) auto;
    align-items: center;
    gap: 2px;
    padding: 2px 0;
    border-radius: 0;
    color: #050505;
    font-size: 13px;
    font-weight: 500;
}

.ct-shop-page .filter-list-item:hover {
    background: transparent;
    text-decoration: underline;
}

.ct-shop-page .filter-list-item.active {
    color: #050505;
    font-weight: 700;
    text-decoration: underline;
}

.ct-shop-page .filter-list-check {
    width: 18px;
    color: #b8b8b8;
    font-size: 13px;
}

.ct-shop-page .filter-list-item.active .filter-list-check {
    color: #44d62c;
}

.ct-shop-page .filter-list-check .fas.fa-square {
    color: #44d62c;
}

.ct-shop-page .filter-list-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ct-shop-page .filter-list-count {
    color: #050505;
    font-size: 12px;
    font-weight: 500;
}

.ct-shop-page .filter-search {
    height: 36px;
    margin-bottom: 9px !important;
    border: 1px solid #d8d8d8;
    border-radius: 3px;
    background: #fff;
}

.ct-shop-page .filter-search input {
    padding: 0;
    color: #050505;
    font-size: 13px;
}

.ct-shop-page .brand-logo-thumb {
    display: none;
}

.ct-shop-page .price-labels {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 10px 0 14px;
}

.ct-shop-page .price-labels span {
    min-width: 76px;
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border: 1px solid #d0d0d0;
    border-radius: 999px;
    background: #fff;
    color: #050505;
    font-size: 12px;
    font-weight: 700;
}

.ct-shop-page .price-slider-wrap {
    height: 32px;
    margin: 0 2px;
}

.ct-shop-page .price-slider-track {
    top: 14px;
    height: 5px;
    border-radius: 999px;
    background: #9b9b9b;
}

.ct-shop-page .price-slider-range {
    top: 14px;
    height: 5px;
    border-radius: 999px;
    background: #44d62c;
}

.ct-shop-page .price-range::-webkit-slider-thumb {
    width: 18px;
    height: 18px;
    border: 0;
    background: #44d62c;
    box-shadow: none;
}

.ct-shop-page .price-range::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border: 0;
    background: #44d62c;
    box-shadow: none;
}

@media (min-width: 993px) {
    .ct-shop-page .filter-sidebar {
        width: 250px;
        top: 118px;
    }
}

@media (max-width: 992px) {
    .ct-shop-page .filter-sidebar {
        padding: 16px;
        border-right: 1px solid #d8d8d8;
    }

    .ct-shop-page .filter-close-btn {
        position: absolute;
        top: 14px;
        right: 14px;
        display: grid;
        place-items: center;
        width: 34px;
        height: 34px;
        border: 1px solid #d8d8d8;
        border-radius: 50%;
        background: #fff;
        color: #050505;
    }
}

/* ============ UI audit: unified storefront design system ============ */
:root {
    --primary: #44d62c;
    --primary-dark: #2fb51f;
    --primary-soft: #e7ffe2;
    --accent: #44d62c;
    --accent-ink: #050505;
    --violet: #44d62c;
    --grad: linear-gradient(135deg, #44d62c 0%, #66ff4d 100%);
    --bg: #ffffff;
    --bg-alt: #f6f6f6;
    --surface: #ffffff;
    --surface-2: #f7f7f7;
    --surface-3: #ececec;
    --border: #dedede;
    --border-strong: #c9c9c9;
    --text: #050505;
    --text-2: #2f2f2f;
    --text-3: #666666;
    --text-4: #8a8a8a;
    --success: #00a651;
    --warning: #f59e0b;
    --danger: #dc2626;
    --info: #0ea5e9;
    --radius: 6px;
    --radius-sm: 4px;
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 20px;
    --space-6: 24px;
    --space-8: 32px;
    --space-10: 40px;
    --section-y: 56px;
    --container: 1280px;
    --shadow-sm: 0 1px 2px rgba(0,0,0,.06);
    --shadow: 0 8px 20px rgba(0,0,0,.08);
    --shadow-lg: 0 18px 42px rgba(0,0,0,.14);
}

html,
body {
    max-width: 100%;
    overflow-x: clip;
}

body {
    font-size: 14px;
    line-height: 1.55;
    background: var(--bg);
    color: var(--text);
}

h1,
.ct-shop-heading h1,
.cart-page h1,
.checkout-page h1,
.contact-vektralike h1 {
    font-size: clamp(26px, 2.6vw, 36px);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: 0;
}

h2,
.sd-page-hero h1,
.about-section-head h2,
.about-map-copy h2,
.about-final-sd h2 {
    letter-spacing: 0;
}

p {
    color: var(--text-3);
}

.container,
.ct-wrap,
.ct-shop-page > .container,
.ct-product-breadcrumb .container,
.ct-product-wrap {
    max-width: var(--container);
}

.btn-primary,
.btn-outline,
.btn-checkout,
.btn-place-order,
.sd-btn,
.about-actions a,
.success-actions .btn-primary,
.cy-btn {
    min-height: 44px;
    border-radius: var(--radius);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0;
    box-shadow: none;
    text-transform: none;
}

.btn-primary,
.btn-checkout,
.btn-place-order,
.sd-btn-primary,
.cy-btn-primary {
    background: var(--primary);
    color: var(--accent-ink);
}

.btn-primary:hover,
.btn-checkout:hover,
.btn-place-order:hover,
.sd-btn-primary:hover,
.cy-btn-primary:hover {
    background: #66ff4d;
    color: var(--accent-ink);
    transform: none;
    filter: none;
}

.btn-outline,
.sd-btn-outline,
.about-actions a + a {
    border: 1px solid #111;
    background: #fff;
    color: #111;
}

.btn-outline:hover,
.sd-btn-outline:hover,
.about-actions a + a:hover {
    background: #111;
    color: #fff;
    transform: none;
}

input,
select,
textarea,
.filter-select,
.form-group input,
.form-group textarea,
.form-group select {
    min-height: 42px;
    border-radius: var(--radius);
    border-color: var(--border);
    font-size: 14px;
}

input:focus,
select:focus,
textarea:focus,
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(255,196,0,.25);
}

.breadcrumb {
    padding: 14px 0 0;
    border: 0;
    background: #fff;
    color: var(--text-3);
    font-size: 13px;
}

.alert {
    border-radius: var(--radius);
    box-shadow: none;
}

.alert-success {
    background: #ecfdf5;
    color: #065f46;
}

.alert-error {
    background: #fff1f2;
    color: #9f1239;
}

.cart-page,
.checkout-page,
.contact-vektralike,
.sd-info-page,
.about-story-sd,
.about-catalog-sd,
.about-map-sd,
.success-page {
    padding-top: var(--space-8);
    padding-bottom: var(--section-y);
}

.cart-item,
.cart-summary,
.checkout-info,
.checkout-summary,
.success-content,
.sd-info-card,
.sd-page-cta,
.sd-brand-card,
.contact-main-card,
.contact-under-grid article,
.about-address-card {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: none;
}

.cart-item,
.checkout-info,
.checkout-summary,
.success-content,
.contact-main-card {
    padding: var(--space-6);
}

.cart-content,
.checkout-content {
    gap: var(--space-6);
}

.cart-summary,
.checkout-summary {
    top: 130px;
}

.cart-summary h3,
.checkout-summary h3,
.checkout-info h3,
.contact-main-copy h2,
.contact-under-grid h2,
.sd-info-card h2 {
    font-size: 18px;
    font-weight: 800;
    margin-bottom: var(--space-4);
}

.summary-row,
.order-item,
.detail-group p {
    font-size: 14px;
}

.summary-row.total span:last-child {
    font-size: 22px;
}

.qty-control,
.payment-option {
    border-radius: var(--radius);
}

.qty-control button,
.qty-control input {
    height: 44px;
}

.remove-btn {
    border-radius: var(--radius);
}

.empty-cart-page,
.sd-empty-state,
.no-results {
    min-height: 320px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: var(--space-3);
    padding: var(--space-10) var(--space-5);
    border: 1px dashed var(--border-strong);
    border-radius: var(--radius);
    background: #fafafa;
}

.empty-cart-page > i,
.sd-empty-state i,
.no-results i {
    margin: 0;
    color: var(--text-4);
    font-size: 42px;
}

.sd-page-hero,
.about-hero-sd,
.about-final-sd {
    background: #050505;
    color: #fff;
    padding: 54px 0;
}

.sd-page-hero p,
.about-hero-copy p,
.about-final-sd p {
    color: rgba(255,255,255,.78);
}

.sd-page-kicker,
.about-kicker {
    border-radius: var(--radius);
    background: var(--primary);
    color: #050505;
    letter-spacing: .08em;
}

.sd-info-grid,
.contact-under-grid,
.about-pillars-grid,
.about-catalog-grid,
.sd-brand-grid {
    gap: var(--space-5);
}

.sd-info-card,
.contact-under-grid article,
.sd-brand-card {
    padding: var(--space-6);
}

.sd-info-card i,
.about-pillars-grid i {
    border-radius: var(--radius);
    background: var(--primary-soft);
    color: #050505;
}

.about-catalog-grid a {
    border-radius: var(--radius);
}

.about-catalog-grid a:hover,
.sd-brand-card:hover,
.sd-info-card:hover,
.contact-under-grid article:hover {
    transform: none;
    box-shadow: var(--shadow-sm);
    border-color: var(--border-strong);
}

.newsletter-inner,
.cy-newsletter-inner {
    border-radius: var(--radius);
    background: #050505;
}

.pagination a,
.pagination span {
    border-radius: var(--radius);
}

.pagination .active {
    background: var(--primary);
    color: #050505;
}

.ct-services {
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.ct-service i,
.ct-service strong,
.logo-name span,
.hp-badge i,
.top-bar-left i,
.top-bar-right i {
    color: var(--primary);
}

.logo-mark,
.search-btn,
.mega-menu-btn {
    background: var(--primary);
    color: #050505;
}

.search-bar form:focus-within {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(255,196,0,.22);
}

.ct-category-card,
.ct-product-rail .product-card {
    border-radius: var(--radius);
}

.ct-product-rail .product-cta,
.product-card:hover .product-cta,
.card-action-btn,
.ct-shop-page .card-action-btn {
    background: var(--primary);
    color: #050505;
}

.badge.new {
    background: #111;
    color: #fff;
}

.ct-shop-page .products-layout,
.products-layout {
    align-items: start;
}

.data-table-responsive,
.data-card {
    overflow-x: auto;
}

@media (max-width: 900px) {
    .container,
    .ct-wrap {
        padding-left: 16px;
        padding-right: 16px;
    }

    .top-bar {
        display: none;
    }

    .header-inner {
        padding: 12px 16px;
        gap: 12px;
    }

    .logo-mark {
        width: 36px;
        height: 36px;
    }

    .logo-name {
        font-size: 18px;
    }

    .search-bar {
        order: 3;
        flex-basis: 100%;
    }

    .cart-item {
        grid-template-columns: 72px 1fr auto;
        grid-template-areas:
            "img info remove"
            "img qty total";
        gap: 10px 12px;
    }

    .cart-item .item-image { grid-area: img; }
    .cart-item .item-info { grid-area: info; min-width: 0; }
    .cart-item .remove-btn { grid-area: remove; align-self: start; }
    .cart-item .item-qty {
        grid-area: qty;
        justify-self: start;
    }
    .cart-item .item-total {
        grid-area: total;
        justify-self: end;
        align-self: center;
    }

    .checkout-content,
    .cart-content,
    .contact-main-card,
    .about-hero-grid,
    .about-story-grid,
    .about-map-grid {
        grid-template-columns: 1fr;
    }

    .contact-main-card,
    .checkout-info,
    .checkout-summary,
    .cart-summary,
    .success-content {
        padding: 18px;
    }
}

@media (max-width: 560px) {
    body {
        font-size: 13.5px;
    }

    .ct-hero {
        height: 260px;
    }

    .ct-services-grid,
    .sd-info-grid,
    .contact-under-grid,
    .about-pillars-grid,
    .about-catalog-grid,
    .sd-brand-grid,
    .order-details {
        grid-template-columns: 1fr;
    }

    .form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .btn-primary,
    .btn-checkout,
    .btn-place-order,
    .sd-btn,
    .about-actions a {
        width: 100%;
        justify-content: center;
    }

    .sd-page-cta,
    .sd-page-cta-actions,
    .about-actions {
        flex-direction: column;
        align-items: stretch;
    }
}

/* ============ Generated GamingZone logo asset ============ */
.logo {
    min-width: 168px;
}

.site-logo-img {
    width: 172px;
    height: 58px;
    object-fit: contain;
    object-position: left center;
}

.footer-brand {
    min-height: 58px;
}

.footer-logo-img {
    width: 190px;
    height: 64px;
    object-fit: contain;
    object-position: left center;
}

@media (max-width: 900px) {
    .logo {
        min-width: 132px;
    }

    .site-logo-img {
        width: 138px;
        height: 48px;
    }
}

@media (max-width: 420px) {
    .logo {
        min-width: 118px;
    }

    .site-logo-img {
        width: 122px;
        height: 42px;
    }
}

/* ============ Razer-inspired public color system ============ */
:root {
    --primary: #44d62c;
    --primary-dark: #2fb51f;
    --primary-soft: rgba(68, 214, 44, .14);
    --accent: #44d62c;
    --accent-ink: #050505;
    --violet: #44d62c;
    --grad: linear-gradient(135deg, #44d62c 0%, #66ff4d 100%);
    --bg: #0b0b0b;
    --bg-alt: #111111;
    --surface: #161616;
    --surface-2: #202020;
    --surface-3: #2b2b2b;
    --border: #2d2d2d;
    --border-strong: #444444;
    --text: #f5f5f5;
    --text-2: #d7d7d7;
    --text-3: #a0a0a0;
    --text-4: #777777;
}

body,
main,
.products-page,
.ct-shop-page,
.ct-product-page,
.cart-page,
.checkout-page,
.contact-vektralike,
.sd-info-page,
.about-story-sd,
.about-catalog-sd,
.about-map-sd,
.success-page {
    background: var(--bg);
    color: var(--text);
}

p,
.ct-shop-heading p,
.ct-description-grid .desc,
.footer p,
.sd-info-card p,
.contact-main-copy p,
.contact-under-grid p,
.about-story-text p,
.about-map-copy > p {
    color: var(--text-3);
}

.top-bar,
.header,
.main-nav,
.footer,
.sd-page-hero,
.about-hero-sd,
.about-final-sd,
.ct-newsletter,
.cy-newsletter-inner {
    background: #050505;
}

.header,
.main-nav,
.top-bar,
.footer-bottom,
.ct-services {
    border-color: #1f1f1f;
}

.breadcrumb,
body.theme-dark .breadcrumb,
.ct-product-breadcrumb {
    background: var(--bg);
    color: var(--text-4);
}

.breadcrumb a,
.ct-product-breadcrumb a {
    color: var(--text-3);
}

.breadcrumb a:hover,
.ct-product-breadcrumb a:hover {
    color: var(--primary);
}

.search-bar form {
    background: #111;
    border-color: #303030;
}

.search-bar input {
    color: var(--text);
}

.header-action,
.hp-badge {
    background: #111;
    border-color: #303030;
    color: var(--text-2);
}

.search-btn,
.mega-menu-btn,
.btn-primary,
.btn-checkout,
.btn-place-order,
.ct-add-cart,
.ct-shop-page .card-action-btn,
.ct-product-rail .product-cta,
.product-card:hover .product-cta,
.sd-btn-primary,
.cy-btn-primary,
.pagination .active {
    background: var(--primary);
    color: #050505;
}

.search-btn:hover,
.mega-menu-btn:hover,
.btn-primary:hover,
.btn-checkout:hover,
.btn-place-order:hover,
.ct-add-cart:hover,
.ct-shop-page .card-action-btn:hover {
    background: #66ff4d;
    color: #050505;
}

.nav-links > li > a {
    color: #d8d8d8;
}

.nav-links > li > a:hover,
.nav-links > li > a.active {
    background: var(--primary);
    color: #050505;
}

.mega-menu-panel,
body.theme-dark .mega-menu-panel,
.mega-menu-content {
    background: #151515;
    color: var(--text);
}

.mega-menu-rail {
    background: #0f0f0f;
    border-right-color: #303030;
}

.mega-menu-rail-item,
.mega-menu-link-grid a,
.mega-menu-feature,
.mega-menu-section-head {
    background: #1c1c1c;
    border-color: #303030;
    color: var(--text);
}

.mega-menu-rail-item:hover,
.mega-menu-rail-item.active,
.mega-menu-link-grid a:hover {
    background: var(--primary);
    color: #050505;
}

.mega-menu-rail-item:hover i,
.mega-menu-rail-item.active i {
    color: #050505;
}

.mega-menu-section-head h3,
.mega-menu-feature strong {
    color: var(--text);
}

.mega-menu-feature {
    border-left-color: var(--primary);
}

.ct-shop-heading h1,
.ct-product-buybox h1,
.ct-main-specs h2,
.ct-product-section h2,
.ct-tab-panel h2,
.cart-page h1,
.checkout-page h1,
.contact-vektralike h1,
.about-hero-copy h1,
.about-section-head h2,
.about-map-copy h2 {
    color: var(--text);
}

/* Hero bands stay permanently dark (#050505) in both themes, so their heading must stay white */
.sd-page-hero h1,
.sd-page-hero p,
.about-hero-sd h1,
.about-hero-sd p,
.about-final-sd h2,
.about-final-sd p {
    color: #fff;
}

.ct-frequent-searches a,
.ct-shop-page .filter-sidebar,
.ct-active-filters,
.ct-shop-page .filter-group,
.ct-shop-page .filter-group-title,
.ct-shop-page .filter-group-body,
.ct-shop-page .filter-search,
.ct-shop-page .filter-list-item,
.ct-shop-page .filter-select,
.ct-shop-page .product-card-list,
.product-card,
.cart-item,
.cart-summary,
.checkout-info,
.checkout-summary,
.success-content,
.sd-info-card,
.sd-page-cta,
.sd-brand-card,
.contact-main-card,
.contact-under-grid article,
.about-address-card,
.payment-option {
    background: var(--surface);
    border-color: var(--border);
    color: var(--text);
}

.ct-active-filters a,
.ct-shop-page .price-labels span,
.ct-product-tabs,
.ct-dispo-card,
.ct-price-block,
.ct-trust-row {
    background: var(--surface-2);
    border-color: var(--border);
    color: var(--text);
}

.ct-shop-page .filter-group-title::after,
.ct-shop-page .filter-list-count,
.ct-shop-page .reset-filters,
.ct-shop-checks a,
.ct-shop-page .product-card-body h3,
.ct-shop-page .product-specs,
.ct-shop-page .card-stock-badge,
.ct-price,
.ct-price-currency,
.ct-brand-link,
.ct-sku strong,
.summary-row,
.order-item,
.detail-group p.total {
    color: var(--text);
}

.ct-shop-page .filter-list-item.active .filter-list-check,
.ct-shop-page .filter-list-check .fas.fa-check-square,
.ct-stars,
.ct-product-tabs a.active,
.ct-service i,
.ct-service strong,
.footer-col ul a:hover,
.contact-under-grid a,
.about-address-card i {
    color: var(--primary);
}

.ct-shop-page .price-slider-range,
.ct-shop-page .price-range::-webkit-slider-thumb,
.ct-shop-page .price-range::-moz-range-thumb,
.ct-discount-badge,
.ct-save-badge,
.badge.new {
    background: #111 !important;
    color: #fff !important;
}

.ct-thumbs button,
.ct-main-image,
.product-card-img,
.item-image,
.contact-main-image,
.about-map-frame {
    background: #101010;
    border-color: var(--border);
}

.ct-thumbs button.active {
    border-color: var(--primary);
    box-shadow: inset 0 0 0 2px var(--primary);
}

.ct-main-image {
    box-shadow: 0 16px 40px rgba(0, 0, 0, .32);
}

.ct-product-tabs {
    border-top-color: var(--border-strong);
}

.ct-product-tabs a {
    color: var(--text-2);
}

.ct-product-tabs a.active {
    border-bottom-color: var(--primary);
}

.ct-tab-panel h2,
.ct-product-section h2,
.ct-main-specs h2 {
    border-bottom-color: var(--primary);
}

input,
select,
textarea,
.form-group input,
.form-group textarea,
.form-group select,
.ct-shop-page .filter-search input,
.newsletter-form input,
.ct-newsletter form input {
    background: #111;
    border-color: #303030;
    color: var(--text);
}

input::placeholder,
textarea::placeholder {
    color: #777;
}

.btn-outline,
.sd-btn-outline,
.about-actions a + a {
    background: transparent;
    border-color: var(--primary);
    color: var(--primary);
}

.btn-outline:hover,
.sd-btn-outline:hover,
.about-actions a + a:hover {
    background: var(--primary);
    color: #050505;
}

.empty-cart-page,
.sd-empty-state,
.no-results {
    background: #111;
    border-color: #303030;
}

.footer-col h4,
.footer-brand,
.payment-icon,
.trust-badges span {
    color: var(--text);
}

.social-links a,
.payment-icon {
    background: #111;
    border-color: #303030;
}

/* ============ Razer-style benefit icons after hero ============ */
.ct-services {
    background: #050505;
    border-top: 1px solid #1d1d1d;
    border-bottom: 1px solid #1d1d1d;
    padding: 28px 0;
}

.ct-services-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
}

.ct-service,
.ct-service.ct-service-wide {
    min-height: 128px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    padding: 12px 22px;
    border-right: 1px solid #222;
    background: transparent;
    color: #fff;
    text-align: center;
}

.ct-service:last-child {
    border-right: 0;
}

.ct-service img {
    width: 54px;
    height: 54px;
    object-fit: contain;
    margin-bottom: 5px;
}

.ct-service i {
    display: none;
}

.ct-service strong {
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    text-transform: none;
}

.ct-service span {
    max-width: 210px;
    color: #888;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.35;
}

@media (max-width: 900px) {
    .ct-services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ct-service:nth-child(2) {
        border-right: 0;
    }

    .ct-service:nth-child(-n + 2) {
        border-bottom: 1px solid #222;
    }
}

@media (max-width: 520px) {
    .ct-services {
        padding: 18px 0;
    }

    .ct-services-grid {
        grid-template-columns: 1fr;
    }

    .ct-service,
    .ct-service:nth-child(2),
    .ct-service:nth-child(-n + 2) {
        min-height: 104px;
        border-right: 0;
        border-bottom: 1px solid #222;
    }

    .ct-service:last-child {
        border-bottom: 0;
    }
}

/* Keep product cards on the original light card surface for readability. */
.product-card,
body.theme-dark .product-card,
.ct-product-rail .product-card,
.ct-shop-page .product-card-list,
.ct-related-rail .product-card {
    background: #ffffff;
    border-color: #dedede;
    color: #050505;
}

.product-card:hover,
body.theme-dark .product-card:hover,
.ct-product-rail .product-card:hover,
.ct-shop-page .product-card-list:hover {
    border-color: #44d62c;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .22);
}

.product-card .product-img,
.ct-product-rail .product-img,
.ct-shop-page .product-card-img,
.ct-shop-page .product-card-img img {
    background: #ffffff;
}

.product-card .product-cat,
.ct-product-rail .product-cat {
    color: #6b7280;
}

.product-card .product-name,
.product-card .product-price,
.product-card .product-price .current,
.ct-product-rail .product-name,
.ct-product-rail .product-price,
.ct-product-rail .product-price .current,
.ct-shop-page .product-card-body h3,
.ct-shop-page .product-card-body h3 a,
.ct-shop-page .product-specs,
.ct-shop-page .card-current-price {
    color: #050505;
}

.ct-shop-page .card-stock-badge {
    color: #050505 !important;
}

.product-card .product-cta,
.ct-product-rail .product-cta,
.ct-shop-page .card-action-btn {
    background: #44d62c;
    color: #050505;
}

/* ============ Product page audit fixes ============ */
.site-logo-img {
    width: 190px;
    height: 68px;
}

.footer-logo-img {
    width: 210px;
    height: 76px;
}

.theme-switch {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    min-width: 44px;
    padding: 0;
    overflow: hidden;
    font-size: 0;
}

.theme-switch i {
    font-size: 18px;
}

.ct-product-breadcrumb .container {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
}

.ct-product-breadcrumb .container > * {
    flex: 0 0 auto;
}

.ct-product-breadcrumb .container > span:last-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ct-brand-link {
    background: #101010;
    border-color: #44d62c;
    color: #44d62c;
}

.ct-price-block,
.ct-trust-row,
.ct-dispo-card {
    background: #181818;
    border-color: #333;
    color: #f5f5f5;
}

.ct-price,
.ct-price-currency,
.ct-dispo-card h3,
.ct-trust-row span {
    color: #f5f5f5;
}

.ct-old-price,
.ct-rating-count,
.ct-sku,
.ct-dispo-card p,
.ct-dispo-card a {
    color: #b5b5b5;
}

.ct-main-image {
    overflow: hidden;
}

.ct-main-image img {
    width: 100%;
    max-width: 100%;
    max-height: 420px;
    object-fit: contain;
}

@media (max-width: 720px) {
    .site-logo-img {
        width: 150px;
        height: 54px;
    }

    .header-actions {
        gap: 8px;
    }

    .header-action,
    .theme-switch {
        width: 38px;
        height: 38px;
        min-width: 38px;
    }

    .ct-product-breadcrumb {
        padding-top: 10px;
    }

    .ct-product-breadcrumb .container {
        overflow-x: auto;
        text-overflow: clip;
        scrollbar-width: none;
    }

    .ct-product-breadcrumb .container::-webkit-scrollbar {
        display: none;
    }

    .ct-main-image {
        min-height: 330px;
        padding: 10px;
    }

    .ct-main-image img {
        width: auto;
        max-width: 86%;
        max-height: 310px;
    }

    .ct-product-buybox {
        padding-top: 4px;
    }

    .ct-product-buybox h1 {
        font-size: 25px;
    }

    .ct-price-block {
        padding: 14px 0;
    }

    .ct-price {
        font-size: 42px;
    }

    .ct-price-currency {
        font-size: 17px;
    }

    .ct-save-badge {
        padding: 5px 10px;
        font-size: 11px;
    }
}

@media (max-width: 430px) {
    .header-inner {
        padding-left: 12px;
        padding-right: 12px;
    }

    .logo {
        min-width: 86px;
    }

    .site-logo-img {
        width: 90px;
        height: 36px;
    }

    .header-actions {
        gap: 5px;
    }

    .header-action,
    .theme-switch,
    .mobile-nav-toggle {
        width: 32px;
        height: 32px;
        min-width: 32px;
        font-size: 14px;
    }

    .cart-count {
        top: -4px;
        right: -4px;
    }

    .ct-product-wrap,
    .ct-product-breadcrumb .container {
        width: calc(100vw - 24px);
    }

    .ct-price-row {
        gap: 6px 9px;
    }

    .ct-main-image img {
        max-width: 76%;
        max-height: 280px;
    }

    .ct-price {
        font-size: 38px;
    }

    .ct-old-price {
        font-size: 13px;
    }
}

/* ============ Light / black switch theme ============ */
.theme-switch {
    color: #44d62c;
    background: transparent;
}

.theme-switch svg {
    display: block;
}

body.light-theme {
    --bg: #f4f4f4;
    --bg-alt: #eeeeee;
    --surface: #ffffff;
    --surface-2: #f7f7f7;
    --surface-3: #e6e6e6;
    --border: #d7d7d7;
    --border-strong: #bdbdbd;
    --text: #050505;
    --text-2: #2f2f2f;
    --text-3: #626262;
    --text-4: #858585;
    background: var(--bg);
    color: var(--text);
}

body.light-theme main,
body.light-theme .products-page,
body.light-theme .ct-shop-page,
body.light-theme .ct-product-page,
body.light-theme .cart-page,
body.light-theme .checkout-page,
body.light-theme .contact-vektralike,
body.light-theme .sd-info-page,
body.light-theme .about-story-sd,
body.light-theme .about-catalog-sd,
body.light-theme .about-map-sd,
body.light-theme .success-page,
body.light-theme .ct-category-zone,
body.light-theme .ct-products,
body.light-theme .ct-products-light {
    background: var(--bg);
    color: var(--text);
}

body.light-theme .top-bar,
body.light-theme .header,
body.light-theme .main-nav,
body.light-theme .footer,
body.light-theme .ct-services,
body.light-theme .sd-page-hero,
body.light-theme .about-hero-sd,
body.light-theme .about-final-sd {
    background: #050505;
    color: #fff;
}

body.light-theme .breadcrumb,
body.light-theme.theme-dark .breadcrumb,
body.light-theme .ct-product-breadcrumb {
    background: var(--bg);
    color: var(--text-3);
}

body.light-theme .ct-shop-heading h1,
body.light-theme .ct-product-buybox h1,
body.light-theme .ct-product-section h2,
body.light-theme .ct-tab-panel h2,
body.light-theme .cart-page h1,
body.light-theme .checkout-page h1,
body.light-theme .contact-vektralike h1,
body.light-theme .about-section-head h2,
body.light-theme .about-map-copy h2 {
    color: var(--text);
}

body.light-theme p,
body.light-theme .ct-shop-heading p,
body.light-theme .ct-description-grid .desc,
body.light-theme .sd-info-card p,
body.light-theme .contact-main-copy p,
body.light-theme .contact-under-grid p,
body.light-theme .about-story-text p {
    color: var(--text-3);
}

body.light-theme .ct-frequent-searches a,
body.light-theme .ct-shop-page .filter-sidebar,
body.light-theme .ct-active-filters,
body.light-theme .ct-shop-page .filter-group,
body.light-theme .ct-shop-page .filter-group-title,
body.light-theme .ct-shop-page .filter-group-body,
body.light-theme .ct-shop-page .filter-search,
body.light-theme .ct-shop-page .filter-list-item,
body.light-theme .ct-shop-page .filter-select,
body.light-theme .ct-shop-page .product-card-list,
body.light-theme .product-card,
body.light-theme .cart-item,
body.light-theme .cart-summary,
body.light-theme .checkout-info,
body.light-theme .checkout-summary,
body.light-theme .success-content,
body.light-theme .sd-info-card,
body.light-theme .sd-page-cta,
body.light-theme .sd-brand-card,
body.light-theme .contact-main-card,
body.light-theme .contact-under-grid article,
body.light-theme .about-address-card,
body.light-theme .payment-option,
body.light-theme .ct-dispo-card,
body.light-theme .ct-tab-panels,
body.light-theme .ct-spec-table strong,
body.light-theme .ct-spec-table span {
    background: #fff;
    border-color: var(--border);
    color: var(--text);
}

body.light-theme .ct-active-filters,
body.light-theme .ct-product-tabs,
body.light-theme .ct-price-block,
body.light-theme .ct-trust-row,
body.light-theme .empty-cart-page,
body.light-theme .sd-empty-state,
body.light-theme .no-results {
    background: #f7f7f7;
    border-color: var(--border);
    color: var(--text);
}

body.light-theme input,
body.light-theme select,
body.light-theme textarea,
body.light-theme .form-group input,
body.light-theme .form-group textarea,
body.light-theme .form-group select,
body.light-theme .ct-shop-page .filter-search input,
body.light-theme .newsletter-form input,
body.light-theme .ct-newsletter form input {
    background: #fff;
    border-color: var(--border);
    color: var(--text);
}

body.light-theme .ct-thumbs button,
body.light-theme .ct-main-image,
body.light-theme .product-card-img,
body.light-theme .item-image,
body.light-theme .contact-main-image,
body.light-theme .about-map-frame {
    background: #fff;
    border-color: var(--border);
}

body.light-theme .mega-menu-panel,
body.light-theme.theme-dark .mega-menu-panel,
body.light-theme .mega-menu-content {
    background: #fff;
    color: var(--text);
}

body.light-theme .mega-menu-rail,
body.light-theme .mega-menu-rail-item,
body.light-theme .mega-menu-link-grid a,
body.light-theme .mega-menu-feature {
    background: #f1f1f1;
    border-color: #d7d7d7;
    color: var(--text);
}

body.light-theme .mega-menu-rail-item:hover,
body.light-theme .mega-menu-rail-item.active,
body.light-theme .mega-menu-link-grid a:hover {
    background: #44d62c;
    color: #050505;
}

body.light-theme .theme-switch {
    color: #050505;
    background: transparent;
}

/* ============ Product page compact vertical rhythm ============ */
.ct-product-page {
    padding-bottom: 42px;
}

.ct-product-top {
    gap: 38px;
    padding: 8px 0 18px;
}

.ct-main-image {
    min-height: 430px;
}

.ct-main-image img {
    max-height: 390px;
}

.ct-product-buybox h1 {
    margin-bottom: 6px;
}

.ct-sku {
    margin-bottom: 14px;
}

.ct-price-block {
    margin-bottom: 14px;
    padding: 14px 0;
}

.ct-stock-line {
    margin-bottom: 14px;
}

.ct-add-row {
    margin: 18px 0 14px;
}

.ct-trust-row {
    margin-bottom: 14px;
    padding: 10px 0;
}

.ct-dispo-card {
    min-height: 112px;
    padding: 12px 12px;
}

.ct-product-tabs {
    margin-top: 18px;
}

.ct-tab-panels {
    margin-top: 18px;
}

.ct-tab-panel h2 {
    margin-bottom: 12px;
}

.ct-description-grid {
    gap: 28px;
}

@media (min-width: 1081px) {
    .ct-product-top {
        grid-template-columns: minmax(0, 560px) minmax(500px, 1fr);
    }
}

@media (max-width: 720px) {
    .ct-product-page {
        padding-bottom: 32px;
    }

    .ct-product-top {
        gap: 20px;
        padding: 8px 0 14px;
    }

    .ct-main-image {
        min-height: 300px;
    }

    .ct-main-image img {
        max-height: 260px;
    }

    .ct-product-tabs {
        margin-top: 12px;
    }

    .ct-tab-panels {
        margin-top: 16px;
    }
}

/* ============ Product page spacing correction ============ */
.ct-product-breadcrumb {
    padding: 12px 0 0;
}

.ct-product-breadcrumb .container {
    min-height: 24px;
}

.ct-product-top {
    align-items: start;
    gap: 34px;
    padding: 8px 0 8px;
}

.ct-product-gallery {
    align-self: start;
    gap: 16px;
    grid-template-columns: 64px minmax(0, 1fr);
}

.ct-thumbs {
    gap: 10px;
}

.ct-thumbs button {
    height: 58px;
    width: 58px;
}

.ct-main-image {
    min-height: 400px;
}

.ct-main-image img {
    max-height: 360px;
}

.ct-buybox-head {
    margin-bottom: 8px;
}

.ct-product-buybox h1 {
    line-height: 1.08;
    margin-bottom: 6px;
}

.ct-price-block {
    margin-bottom: 12px;
    padding: 12px 0;
}

.ct-add-row {
    margin: 16px 0 12px;
}

.ct-trust-row {
    margin-bottom: 12px;
}

.ct-dispo-grid {
    gap: 12px;
}

.ct-dispo-card {
    min-height: 105px;
    padding: 11px 12px;
}

.ct-product-tabs {
    margin-top: 8px;
}

.ct-tab-panels {
    margin-top: 16px;
}

.ct-tab-panel h2 {
    margin-bottom: 10px;
}

@media (max-width: 720px) {
    .ct-product-breadcrumb {
        padding-top: 8px;
    }

    .ct-product-top {
        gap: 18px;
        padding: 8px 0 10px;
    }

    .ct-product-gallery {
        gap: 12px;
        grid-template-columns: 54px minmax(0, 1fr);
    }

    .ct-thumbs button {
        height: 50px;
        width: 50px;
    }

    .ct-main-image {
        min-height: 280px;
    }

    .ct-main-image img {
        max-height: 240px;
    }

    .ct-product-tabs {
        margin-top: 10px;
    }
}

@media (max-width: 720px) {
    .ct-product-gallery {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .ct-main-image {
        order: 1;
        width: 100%;
        min-height: 310px;
    }

    .ct-main-image img {
        width: auto;
        max-width: 88%;
        max-height: 275px;
    }

    .ct-thumbs {
        order: 2;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 8px;
        overflow-x: auto;
        padding: 3px;
        scrollbar-width: none;
    }

    .ct-thumbs::-webkit-scrollbar {
        display: none;
    }

    .ct-thumbs button {
        flex: 0 0 52px;
        height: 52px;
        width: 52px;
    }
}

@media (max-width: 430px) {
    .ct-main-image {
        min-height: 292px;
    }

    .ct-main-image img {
        max-width: 90%;
        max-height: 255px;
    }
}

/* ============ Header category tab consistency ============ */
.main-nav .nav-links > li > a,
body.theme-dark .main-nav .nav-links > li > a,
body.light-theme .main-nav .nav-links > li > a {
    background: #fff;
    border: 1px solid #d7d7d7;
    border-bottom: 0;
    color: #050505;
}

.main-nav .nav-links > li > a:hover,
.main-nav .nav-links > li > a.active,
body.theme-dark .main-nav .nav-links > li > a:hover,
body.theme-dark .main-nav .nav-links > li > a.active,
body.light-theme .main-nav .nav-links > li > a:hover,
body.light-theme .main-nav .nav-links > li > a.active,
body.theme-dark .main-nav .nav-links > li:last-child > a {
    background: #44d62c;
    border-color: #44d62c;
    color: #050505;
}

.mega-menu-section-head,
body.theme-dark .mega-menu-section-head,
body.light-theme .mega-menu-section-head {
    background: transparent;
    border: 0;
    color: inherit;
    padding: 0;
}

.mega-menu-section-head h3,
body.theme-dark .mega-menu-section-head h3,
body.light-theme .mega-menu-section-head h3 {
    background: transparent;
    color: inherit;
}

/* ============ Single product designer spacing pass ============ */
.ct-product-breadcrumb,
body.light-theme .ct-product-breadcrumb,
body.theme-dark .ct-product-breadcrumb {
    padding: 14px 0 0;
    margin-bottom: 18px;
}

.ct-product-breadcrumb .container,
body.light-theme .ct-product-breadcrumb .container {
    min-height: 26px;
    align-items: center;
}

.ct-product-top,
body.light-theme .ct-product-top {
    padding: 0 0 20px;
    margin-bottom: 26px;
}

.ct-product-tabs,
body.light-theme .ct-product-tabs {
    margin-top: 0;
    margin-bottom: 18px;
}

.ct-tab-panels,
body.light-theme .ct-tab-panels {
    margin-top: 0;
    padding: 24px 24px 34px;
}

.ct-tab-panel h2,
body.light-theme .ct-tab-panel h2 {
    margin: 0 0 12px;
}

.ct-description-grid,
body.light-theme .ct-description-grid {
    align-items: start;
    gap: 34px;
}

body.light-theme .ct-price,
body.light-theme .ct-price-currency,
body.light-theme .ct-product-buybox h1,
body.light-theme .ct-dispo-card h3,
body.light-theme .ct-trust-row span {
    color: #050505;
}

body.light-theme .ct-old-price,
body.light-theme .ct-rating-count,
body.light-theme .ct-sku,
body.light-theme .ct-dispo-card p,
body.light-theme .ct-dispo-card a {
    color: #535353;
}

body.light-theme .ct-price-block,
body.light-theme .ct-trust-row {
    background: #f8f8f8;
    border-color: #d7d7d7;
}

body.light-theme .ct-dispo-card {
    background: #fff;
    border-color: #d4d4d4;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .05);
}

@media (max-width: 720px) {
    .ct-product-breadcrumb,
    body.light-theme .ct-product-breadcrumb {
        padding-top: 10px;
        margin-bottom: 14px;
    }

    .ct-product-top,
    body.light-theme .ct-product-top {
        padding-bottom: 18px;
        margin-bottom: 20px;
    }

    .ct-product-tabs,
    body.light-theme .ct-product-tabs {
        margin-bottom: 16px;
    }

    .ct-tab-panels,
    body.light-theme .ct-tab-panels {
        padding: 20px 14px 28px;
    }
}

/* ============ Shop filter sidebar polish ============ */

.ct-shop-page .filter-group {
    overflow: hidden;
}

.ct-shop-page .filter-group-body {
    padding: 10px 10px 12px;
}

.ct-shop-page .filter-list {
    display: grid;
    gap: 8px;
}

.ct-shop-page .filter-list-item {
    display: grid;
    grid-template-columns: 16px minmax(0, 1fr) auto;
    align-items: center;
    gap: 5px;
    min-height: 20px;
    width: 100%;
}

.ct-shop-page .filter-list-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ct-shop-page .filter-list-count {
    justify-self: end;
    white-space: nowrap;
}

.ct-shop-page .filter-search {
    box-sizing: border-box;
    width: 100%;
    height: 38px;
    display: grid;
    grid-template-columns: 16px minmax(0, 1fr);
    align-items: center;
    gap: 6px;
    margin: 0 0 10px !important;
    padding: 0 10px;
    border-radius: 4px;
}

.ct-shop-page .filter-search input,
.ct-shop-page .cat-search-input,
.ct-shop-page .brand-search-input {
    min-width: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    font-size: 12px;
}

.ct-shop-page .price-labels {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
    margin: 0 0 12px;
}

.ct-shop-page .price-labels span {
    min-width: 0;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    overflow: hidden;
    border: 1px solid #d5d5d5;
    border-radius: 999px;
    background: #fff;
    color: #050505;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.ct-shop-page .price-slider-wrap {
    height: 30px;
    margin-top: 2px;
}

.ct-shop-page .price-slider-track,
.ct-shop-page .price-slider-range {
    top: 13px;
    height: 5px;
}

.ct-shop-page .price-slider-track {
    background: #d2d2d2;
}

.ct-shop-page .price-slider-range {
    background: #44d62c;
}

.ct-shop-page .price-range {
    top: 5px;
    height: 22px;
}

.ct-shop-page .price-range::-webkit-slider-thumb {
    width: 18px;
    height: 18px;
    border: 2px solid #050505;
    background: #44d62c;
    box-shadow: none;
}

.ct-shop-page .price-range::-moz-range-thumb {
    width: 16px;
    height: 16px;
    border: 2px solid #050505;
    background: #44d62c;
    box-shadow: none;
}

body.light-theme .ct-shop-page .filter-sidebar,
body.light-theme .ct-shop-page .filter-group,
body.light-theme .ct-shop-page .filter-group-body {
    background: #fff;
}

body.light-theme .ct-shop-page .filter-search {
    background: #fff;
}

body.theme-dark .ct-shop-page .filter-list-item,
body.theme-dark .ct-shop-page .filter-list-label,
body.theme-dark .ct-shop-page .filter-list-count {
    color: #f5f5f5;
}

body.theme-dark .ct-shop-page .filter-list-item.active,
body.theme-dark .ct-shop-page .filter-list-item.active .filter-list-label,
body.theme-dark .ct-shop-page .filter-list-item.active .filter-list-count {
    color: #f5f5f5;
}

body.theme-dark .ct-shop-page .ct-shop-heading h1 {
    color: #050505;
}

body.theme-dark .ct-shop-page .ct-shop-heading p {
    color: #626262;
}

body.theme-dark .ct-shop-page .filter-header .reset-filters {
    color: #050505;
}

body.theme-dark .ct-shop-page .filter-search {
    background: #fff;
    border-color: #d7d7d7;
    color: #050505;
}

body.theme-dark .ct-shop-page .filter-search input {
    color: #050505;
}

body.theme-dark .ct-shop-page .filter-search input::placeholder {
    color: #6d6d6d;
}

/* Icon-only collapsible category/brand search */
.filter-search-icon-btn {
    display: grid; place-items: center; width: 16px; height: 16px;
    border: none; background: none; padding: 0; cursor: pointer;
    color: var(--text-4); font-size: 12px;
}
body.theme-dark .ct-shop-page .filter-search-icon-btn { color: #6d6d6d; }
.filter-search-icon-btn:hover,
body.theme-dark .ct-shop-page .filter-search-icon-btn:hover { color: #44d62c; }

.filter-search.filter-search-collapsed {
    width: 32px !important;
    grid-template-columns: 32px !important;
    padding: 0 !important;
    justify-content: center;
    cursor: pointer;
    border-color: transparent !important;
    background: transparent !important;
}
body.theme-dark .ct-shop-page .filter-search.filter-search-collapsed {
    background: transparent !important;
    border-color: transparent !important;
}
.filter-search.filter-search-collapsed .filter-search-icon-btn {
    width: 32px; height: 32px; border-radius: 50%;
    background: var(--surface-2); color: var(--text-3);
}
body.theme-dark .ct-shop-page .filter-search.filter-search-collapsed .filter-search-icon-btn {
    background: #eee; color: #555;
}
.filter-search.filter-search-collapsed input {
    width: 0; padding: 0; opacity: 0; pointer-events: none;
}




/* Single product: black Commander button */
.ct-add-cart {
    background: #111;
    color: #fff;
}
.ct-add-cart:hover {
    background: #44d62c;
    color: #000;
}


/* Product cards: green CTA by default (must stay visible without hover on touch devices) */
.product-card .product-cta,
.ct-product-rail .product-cta,
.ct-shop-page .card-action-btn {
    background: #44d62c;
    color: #050505;
}
.product-card:hover .product-cta {
    background: #5cf27f;
    color: #050505;
}

/* Home product rail: show 5 per view */
.ct-product-rail .product-card {
    flex: 0 0 calc((100% - 48px) / 5);
    min-width: 0;
}


/* Dark theme shop overrides */
body.theme-dark .ct-shop-heading { background: #161616; color: #e0e0e0; }
body.theme-dark .ct-shop-heading p { color: #aaa; }
body.theme-dark .breadcrumb { background: #161616; }
body.theme-dark .breadcrumb a { color: #44d62c; }
body.theme-dark .breadcrumb span { color: #999; }
body.theme-dark .products-page { background: #0b0b0b; color: #e0e0e0; }
body.theme-dark .ct-frequent-searches a { background: #1a1a1a; color: #ccc; border-color: #333; }
body.theme-dark .product-card { background: #ffffff; color: #050505; }
body.theme-dark .ct-related-rail .product-card { background: #ffffff; color: #050505; }
body.theme-dark .ct-related-rail .product-card .product-name { color: #050505; }
body.theme-dark .ct-related-rail .product-card .product-cat { color: #6b7280; }
body.theme-dark .ct-related-rail .product-card .old { color: #999; }
body.theme-dark .ct-product-rail .product-card { background: #ffffff; color: #050505; }
body.theme-dark .product-card .product-name { color: #050505; }
body.theme-dark .product-card .product-cat { color: #6b7280; }
body.theme-dark .product-card .old { color: #999; }

/* ============ Final dark-mode boutique audit fixes ============ */
body.theme-dark .ct-shop-page {
    background: #080808;
    color: #f2f2f2;
}

body.theme-dark .ct-shop-heading {
    background: #111;
    color: #f2f2f2;
    padding: 22px 0 26px;
}

body.theme-dark .ct-shop-page .ct-shop-heading h1,
body.theme-dark .ct-shop-heading h1 {
    color: #f2f2f2;
}

body.theme-dark .ct-shop-page .ct-shop-heading h1 span,
body.theme-dark .ct-shop-heading h1 span {
    color: #44d62c;
}

body.theme-dark .ct-shop-page .ct-shop-heading p,
body.theme-dark .ct-shop-heading p {
    color: #b8b8b8;
}

body.theme-dark .ct-frequent-searches {
    background: #0d0d0d;
    border: 0;
    padding: 22px 0;
}

body.theme-dark .products-layout {
    padding-top: 20px;
}

body.theme-dark .ct-shop-page .filter-header {
    background: #080808;
    color: #f2f2f2;
}

body.theme-dark .ct-shop-page .filter-header h3 {
    color: #f2f2f2;
}

body.theme-dark .ct-shop-page .filter-header .reset-filters {
    color: #f2f2f2;
}

body.theme-dark .ct-shop-page .filter-sidebar {
    background: #080808;
    color: #f2f2f2;
}

body.theme-dark .ct-shop-page .ct-active-filters {
    background: transparent;
    border: 0;
}

body.theme-dark .ct-shop-page .ct-active-filters a {
    background: #181818;
    color: #f2f2f2;
}

body.theme-dark .ct-shop-page .filter-group,
body.theme-dark .ct-shop-page .filter-group-title,
body.theme-dark .ct-shop-page .filter-group-body {
    background: #151515;
    border-color: #333;
    color: #f2f2f2;
}

body.theme-dark .ct-shop-page .filter-group-title {
    border-bottom-color: #333;
}

body.theme-dark .ct-shop-page .filter-list-check i {
    color: #44d62c;
}

body.theme-dark .ct-shop-page .ct-shop-checks a {
    color: #f2f2f2;
}

body.theme-dark .ct-shop-page .ct-shop-controls .filter-select,
body.theme-dark .ct-shop-page .filter-select {
    background: #151515;
    border-color: #444;
    color: #f2f2f2;
}

body.theme-dark .ct-shop-page .no-results {
    background: #101010;
    border-color: #2a2a2a;
    color: #f2f2f2;
}

body.theme-dark .ct-shop-page .no-results h3 {
    color: #f2f2f2;
}

body.theme-dark .ct-shop-page .no-results p {
    color: #c7c7c7;
}

@media (max-width: 720px) {
    html,
    body,
    body.theme-dark,
    body.theme-dark .ct-shop-page,
    body.theme-dark .products-main {
        max-width: 100%;
        overflow-x: clip;
    }

    body.theme-dark .ct-shop-heading {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        padding: 18px 16px 20px;
    }

    body.theme-dark .ct-shop-heading h1 {
        max-width: 100%;
        font-size: 25px;
        line-height: 1.15;
        white-space: normal;
        word-break: normal;
    }

    body.theme-dark .ct-shop-heading h1 span {
        display: block;
        margin-top: 4px;
        white-space: nowrap;
    }

    body.theme-dark .ct-frequent-searches {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        padding: 16px;
        overflow-x: auto;
    }

    body.theme-dark .mobile-toolbar-actions {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        gap: 10px;
        margin: 12px 0;
    }

    body.theme-dark .ct-shop-page .ct-shop-controls {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        display: grid;
        gap: 10px;
        margin-bottom: 10px;
    }

    body.theme-dark .ct-shop-checks {
        display: flex;
        flex-wrap: wrap;
        gap: 10px 14px;
    }

    body.theme-dark .ct-shop-checks a {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        font-size: 13px;
    }

    body.theme-dark .ct-shop-checks a i {
        flex: 0 0 auto;
    }

    body.theme-dark .ct-shop-page .ct-shop-controls .filter-select {
        width: 100%;
    }

    body.theme-dark .ct-shop-page .products-top-bar {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        background: #151515;
        border-color: #303030;
        color: #f2f2f2;
    }

    body.theme-dark .ct-shop-page .results-count {
        color: #f2f2f2;
    }

    body.theme-dark .ct-shop-page .no-results {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        padding: 48px 18px;
    }

    body.theme-dark .ct-shop-page .no-results p {
        max-width: 300px;
        margin-left: auto;
        margin-right: auto;
        white-space: normal;
    }
}

/* ============ Final footer visual lock ============ */
.jp-footer,
body.theme-dark .jp-footer,
body.light-theme .jp-footer,
body.light-theme.theme-dark .jp-footer {
    margin-top: 0 !important;
    background: #191919 !important;
    color: #fff !important;
}

.jp-footer a,
.jp-footer p,
.jp-footer span,
.jp-footer strong,
.jp-footer h4 {
    text-decoration: none !important;
}

.jp-footer-wrap {
    width: min(1120px, calc(100vw - 42px)) !important;
    margin-inline: auto !important;
}

.jp-footer-ad {
    background: #101010 !important;
}

.jp-footer-ad-inner {
    width: min(1120px, calc(100vw - 42px)) !important;
    height: 110px !important;
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    gap: 34px !important;
    margin-inline: auto !important;
    background:
        radial-gradient(circle at 12% 50%, rgba(255, 255, 255, .18), transparent 18%),
        radial-gradient(circle at 86% 50%, rgba(255, 255, 255, .15), transparent 18%),
        linear-gradient(90deg, #050505, #151515 45%, #050505) !important;
}

.jp-social-bar {
    background: #4a4a4a !important;
}

.jp-social-inner {
    min-height: 76px !important;
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    gap: 24px !important;
}

.jp-social-icons a {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 2px solid #d8d8d8 !important;
    background: transparent !important;
    color: #fff !important;
    line-height: 1 !important;
    box-shadow: none !important;
    transform: none !important;
    clip-path: polygon(25% 3%, 75% 3%, 100% 50%, 75% 97%, 25% 97%, 0 50%) !important;
}

.jp-social-icons a:hover {
    background: #44d62c !important;
    border-color: #44d62c !important;
    color: #050505 !important;
}

.jp-newsletter a {
    min-height: 45px !important;
    padding: 0 18px !important;
    background: #ff9d00 !important;
    color: #151515 !important;
    font-weight: 900 !important;
}

.jp-footer-main {
    padding: 24px 0 58px !important;
    background: #191919 !important;
}

.jp-trust-row article {
    background: #4a4a4a !important;
    color: #fff !important;
}

.jp-trust-row i,
.jp-side-rail .is-live,
.jp-side-rail .is-live i {
    color: #ff9d00 !important;
}

.jp-footer-col h4 {
    color: #fff !important;
    border-bottom-color: #d0d0d0 !important;
}

.jp-footer-col a,
.jp-footer-col p,
.jp-footer-bottom p {
    color: #fff !important;
}

.jp-payments span {
    background: #eee !important;
    color: #111 !important;
}

.jp-payments span:nth-child(4) {
    background: #f5b6c9 !important;
}

.jp-footer-bottom {
    padding: 16px 0 !important;
    border: 0 !important;
    background: #101010 !important;
}

.jp-side-rail {
    left: 0 !important;
    top: 290px !important;
    z-index: 1000 !important;
}

@media (max-width: 1024px) {
    .jp-footer-ad-inner,
    .jp-social-inner {
        grid-template-columns: 1fr !important;
        height: auto !important;
        padding: 22px 0 !important;
        text-align: center !important;
    }
}

/* ============ Final black product section tabs and buttons ============ */
.ct-slider-title,
body.theme-dark .ct-slider-title,
body.light-theme .ct-slider-title {
    background: #050505 !important;
    color: #fff !important;
}

.product-card .product-cta,
.ct-product-rail .product-cta,
.ct-shop-page .card-action-btn,
body.theme-dark .product-card .product-cta,
body.theme-dark .ct-product-rail .product-cta,
body.theme-dark .ct-shop-page .card-action-btn {
    background: #44d62c !important;
    color: #050505 !important;
}

body.light-theme .product-card .product-cta,
body.light-theme .ct-product-rail .product-cta,
body.light-theme .ct-shop-page .card-action-btn {
    background: #050505 !important;
    color: #fff !important;
}

.product-card:hover .product-cta,
.ct-product-rail .product-card:hover .product-cta,
.ct-shop-page .card-action-btn:hover {
    background: #5cf27f !important;
    color: #050505 !important;
}

body.light-theme .product-card:hover .product-cta,
body.light-theme .ct-product-rail .product-card:hover .product-cta,
body.light-theme .ct-shop-page .card-action-btn:hover {
    background: #1a1a1a !important;
    color: #fff !important;
}

/* ============ Final single product white background ============ */
body.light-theme .ct-product-page,
body.light-theme .ct-product-wrap,
body.light-theme .ct-product-top,
body.light-theme .ct-product-tabs,
body.light-theme .ct-tab-panels {
    background: #fff !important;
}

body.light-theme .ct-main-image,
body.light-theme .ct-thumbs button,
body.light-theme .ct-dispo-card,
body.light-theme .ct-price-block,
body.light-theme .ct-trust-row {
    background: #fff !important;
}

body.light-theme .ct-product-page,
body.light-theme .ct-product-page .ct-product-wrap,
body.light-theme .ct-product-page .ct-product-top,
body.light-theme .ct-product-page .ct-product-buybox {
    background-color: #fff !important;
}

body.theme-dark .ct-product-page,
body.theme-dark .ct-product-page .ct-product-wrap,
body.theme-dark .ct-product-page .ct-product-top,
body.theme-dark .ct-product-page .ct-product-buybox {
    background-color: #0d0d0d !important;
    color: #e0e0e0;
}

/* When both classes coexist (toggle state), light-theme must always win — higher
   specificity via the combined selector beats either single-class rule regardless of order. */
body.theme-dark.light-theme .ct-product-page,
body.theme-dark.light-theme .ct-product-page .ct-product-wrap,
body.theme-dark.light-theme .ct-product-page .ct-product-top,
body.theme-dark.light-theme .ct-product-page .ct-product-buybox {
    background-color: #fff !important;
    color: #050505 !important;
}

/* Gallery/thumbs keep a white canvas in both themes so product photography stays true-color */
.ct-product-page .ct-product-gallery,
.ct-product-page .ct-main-image,
.ct-product-page .ct-thumbs button {
    background-color: #fff !important;
}

/* ============ Final nav gap fix ============ */
.main-nav .nav-inner,
body.theme-dark .main-nav .nav-inner,
body.light-theme .main-nav .nav-inner {
    gap: 0 !important;
    justify-content: flex-start !important;
}

.main-nav .nav-inner .nav-links,
body.theme-dark .main-nav .nav-inner .nav-links,
body.light-theme .main-nav .nav-inner .nav-links {
    margin: 0 !important;
    flex: 0 0 auto !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
}

.main-nav .mega-menu-wrap,
body.theme-dark .main-nav .mega-menu-wrap,
body.light-theme .main-nav .mega-menu-wrap {
    margin: 0 !important;
}


/* ============================================================
   STABILITY LOCK — DO NOT ADD CONFLICTING RULES BELOW THIS BLOCK
   This section pins the final, correct values for selectors that
   have regressed multiple times due to duplicate/conflicting rules
   earlier in this file. Specificity is intentionally boosted
   (repeated class) plus !important so this wins regardless of
   where earlier duplicates sit. If you need to change one of these,
   edit it HERE, not by appending a new rule further down.
   ============================================================ */

/* Product card CTA — must always be green, visible without hover (mobile has no hover) */
.product-card.product-card .product-cta,
.ct-product-rail.ct-product-rail .product-cta,
.ct-shop-page.ct-shop-page .card-action-btn {
    background: #44d62c !important;
    color: #050505 !important;
}
.product-card.product-card:hover .product-cta,
.ct-shop-page.ct-shop-page .card-action-btn:hover {
    background: #5cf27f !important;
    color: #050505 !important;
}

/* Product detail page — dark by default, white only when light-theme is active */
body.theme-dark.theme-dark .ct-product-page,
body.theme-dark.theme-dark .ct-product-page .ct-product-wrap,
body.theme-dark.theme-dark .ct-product-page .ct-product-top,
body.theme-dark.theme-dark .ct-product-page .ct-product-buybox {
    background-color: #0d0d0d !important;
    color: #e0e0e0 !important;
}
body.light-theme.light-theme .ct-product-page,
body.light-theme.light-theme .ct-product-page .ct-product-wrap,
body.light-theme.light-theme .ct-product-page .ct-product-top,
body.light-theme.light-theme .ct-product-page .ct-product-buybox {
    background-color: #ffffff !important;
    color: #050505 !important;
}
.ct-product-page.ct-product-page .ct-product-gallery,
.ct-product-page.ct-product-page .ct-main-image,
.ct-product-page.ct-product-page .ct-thumbs button {
    background-color: #fff !important;
}

/* Homepage dark bands — must stay dark, never revert to light grey */
body.theme-dark.theme-dark .ct-category-zone,
body.theme-dark.theme-dark .ct-products,
body.theme-dark.theme-dark .ct-products-light,
body.theme-dark.theme-dark .ct-frequent-searches,
body.theme-dark.theme-dark .gz-promo-banners {
    background: #0d0d0d !important;
}
body.light-theme.light-theme .ct-category-zone,
body.light-theme.light-theme .ct-products,
body.light-theme.light-theme .ct-products-light,
body.light-theme.light-theme .ct-frequent-searches,
body.light-theme.light-theme .gz-promo-banners {
    background: #f4f4f4 !important;
}

/* Hero bands (Marques, A propos, etc.) are permanently #050505 — text must stay white in both themes */
.sd-page-hero.sd-page-hero h1,
.sd-page-hero.sd-page-hero p,
.about-hero-sd.about-hero-sd h1,
.about-hero-sd.about-hero-sd p,
.about-final-sd.about-final-sd h2,
.about-final-sd.about-final-sd p {
    color: #fff !important;
}

/* Mobile cart row layout — image / name+price / remove on row 1, qty / total on row 2 */
@media (max-width: 720px) {
    .cart-item.cart-item {
        grid-template-columns: 72px 1fr auto;
        grid-template-areas:
            "img info remove"
            "img qty total";
        gap: 10px 12px;
    }
    .cart-item.cart-item .item-image { grid-area: img; }
    .cart-item.cart-item .item-info { grid-area: info; min-width: 0; }
    .cart-item.cart-item .remove-btn { grid-area: remove; align-self: start; }
    .cart-item.cart-item .item-qty { grid-area: qty; justify-self: start; }
    .cart-item.cart-item .item-total { grid-area: total; justify-self: end; align-self: center; }
}

/* ============ Product page: clean consistent backgrounds & spacing ============ */

.breadcrumb,
.ct-product-breadcrumb {
    background: #0b0b0b !important;
    border-bottom: 1px solid #1a1a1a !important;
    margin: 0 !important;
    padding: 12px 0 !important;
}
.breadcrumb .container,
.ct-product-breadcrumb .container {
    max-width: 1200px;
    padding: 0 16px;
}
.breadcrumb a,
.ct-product-breadcrumb a {
    color: #44d62c !important;
    text-decoration: none;
}
.breadcrumb a:hover,
.ct-product-breadcrumb a:hover {
    text-decoration: underline;
}
.breadcrumb span,
.ct-product-breadcrumb span {
    color: #999 !important;
}
.breadcrumb .sep,
.ct-product-breadcrumb .sep {
    color: #555 !important;
    margin: 0 6px;
}

.ct-product-page {
    background: #0b0b0b !important;
    padding: 24px 0 48px !important;
    margin: 0 !important;
}
.ct-product-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 16px;
}
.ct-product-top {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    margin: 0;
    padding: 0;
}

.ct-product-gallery {
    background: #fff !important;
    border-radius: 8px;
    border: 1px solid #e5e5e5 !important;
    padding: 16px !important;
    box-shadow: none !important;
}
.ct-main-image {
    border: none !important;
    border-radius: 6px;
    box-shadow: none !important;
    background: #fff !important;
}
.ct-thumbs button {
    border: 1px solid #ddd !important;
    border-radius: 6px;
    box-shadow: none !important;
}
.ct-thumbs button.active {
    border-color: #44d62c !important;
    box-shadow: inset 0 0 0 2px #44d62c !important;
}

.ct-product-buybox {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.ct-brand-link {
    color: #44d62c !important;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.ct-rating-row {
    margin: 0;
}
.ct-stars {
    color: #f59e0b;
}
.ct-rating-count {
    color: #999;
    font-size: 13px;
}
.ct-product-buybox h1 {
    font-size: 28px;
    font-weight: 700;
    color: #111;
    margin: 8px 0 12px;
    line-height: 1.25;
}
.ct-sku {
    color: #888;
    font-size: 13px;
    margin: 0 0 16px;
}
.ct-price-block {
    background: transparent;
    border: none;
    padding: 0;
    margin: 0 0 16px;
}
.ct-price-row {
    display: flex;
    align-items: baseline;
    gap: 8px;
}
.ct-price {
    font-size: 36px;
    font-weight: 800;
    color: #111;
}
.ct-price-currency {
    font-size: 16px;
    font-weight: 600;
    color: #666;
}
.ct-old-price {
    font-size: 16px;
    color: #999;
    text-decoration: line-through;
}
.ct-save-badge {
    background: #dcfce7;
    color: #16a34a;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
}
.ct-stock-line {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 12px 0;
    font-size: 14px;
}
.ct-stock-line .in-stock {
    color: #16a34a;
    font-weight: 600;
}
.ct-stock-line .stock-count {
    color: #888;
}

.ct-qty-row {
    display: flex;
    gap: 12px;
    align-items: center;
    margin: 16px 0;
}
.ct-qty-selector {
    display: flex;
    align-items: center;
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
}
.ct-qty-selector button {
    width: 40px;
    height: 40px;
    border: none;
    background: #f5f5f5;
    font-size: 18px;
    cursor: pointer;
    color: #333;
}
.ct-qty-selector input {
    width: 48px;
    height: 40px;
    border: none;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    text-align: center;
    font-size: 15px;
    font-weight: 600;
}

.ct-add-cart {
    flex: 1;
    background: #111 !important;
    color: #fff !important;
    border: none;
    border-radius: 8px;
    padding: 14px 24px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.ct-add-cart:hover {
    background: #44d62c !important;
    color: #000 !important;
}
.ct-wishlist-btn {
    width: 48px;
    height: 48px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}

.ct-trust-row {
    display: flex;
    gap: 16px;
    margin: 16px 0;
    flex-wrap: wrap;
}
.ct-trust-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #666;
}
.ct-trust-item i {
    color: #44d62c;
}

.ct-dispo-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin: 20px 0 0;
}
.ct-dispo-card {
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    padding: 16px;
    background: #fafafa;
}
.ct-dispo-card h4 {
    font-size: 14px;
    font-weight: 700;
    color: #111;
    margin: 0 0 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.ct-dispo-card h4 i {
    color: #44d62c;
}
.ct-dispo-card p {
    font-size: 13px;
    color: #666;
    margin: 4px 0;
}
.ct-dispo-card .dispo-stock {
    color: #16a34a;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 4px;
}
.ct-dispo-card a {
    color: #44d62c;
    font-size: 13px;
    text-decoration: none;
}
.ct-dispo-card a:hover {
    text-decoration: underline;
}

/* Short description */
.ct-short-desc {
    margin: 0 0 14px;
    color: #555;
    font-size: 14px;
    line-height: 1.6;
    font-weight: 400;
}

/* Tabs */
.ct-tabs {
    margin-top: 40px;
    border-top: 1px solid #e5e5e5;
    padding-top: 24px;
}
.ct-tab-nav {
    display: flex;
    gap: 0;
    border-bottom: 2px solid #e5e5e5;
    margin-bottom: 0;
}
.ct-tab-btn {
    padding: 12px 24px;
    border: none;
    background: none;
    font-size: 15px;
    font-weight: 600;
    color: #888;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: color 0.2s;
}
.ct-tab-btn.active {
    color: #111;
    border-bottom-color: #44d62c;
}
.ct-tab-btn:hover {
    color: #333;
}
.ct-tab-panel {
    padding: 24px 0;
    font-size: 14px;
    line-height: 1.7;
    color: #444;
}

/* Related products */
.ct-product-section {
    margin-top: 40px;
    padding-top: 24px;
    border-top: 1px solid #e5e5e5;
}
.ct-product-section h2 {
    font-size: 20px;
    font-weight: 700;
    color: #111;
    margin-bottom: 20px;
}
.ct-related-rail {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    padding-bottom: 8px;
}
.ct-related-rail::-webkit-scrollbar {
    display: none;
}
.ct-related-rail .product-card {
    flex: 0 0 200px;
    min-width: 0;
    scroll-snap-align: start;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.2s;
}
.ct-related-rail .product-card:hover {
    border-color: #44d62c;
    box-shadow: 0 4px 12px rgba(0,0,0,.08);
}

/* Reviews section */
.ct-reviews-section {
    margin-top: 40px;
    padding-top: 24px;
    border-top: 1px solid #e5e5e5;
}
.ct-reviews-section h2 {
    font-size: 20px;
    font-weight: 700;
    color: #111;
    margin-bottom: 20px;
}

/* Reviews summary */
.ct-reviews-summary {
    display: flex;
    gap: 32px;
    margin-bottom: 24px;
}
.ct-reviews-avg {
    text-align: center;
    min-width: 120px;
}
.ct-reviews-avg .big-rating {
    font-size: 48px;
    font-weight: 800;
    color: #111;
    line-height: 1;
}
.ct-reviews-avg .out-of {
    font-size: 14px;
    color: #999;
}

/* Review items */
.ct-review-item {
    padding: 20px 0;
    border-bottom: 1px solid #f0f0f0;
}
.ct-review-item:last-child {
    border-bottom: none;
}
.ct-review-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
}
.ct-review-author {
    font-weight: 600;
    color: #111;
}
.ct-review-date {
    color: #999;
    font-size: 13px;
}
.ct-review-text {
    font-size: 14px;
    line-height: 1.6;
    color: #555;
}

@media (max-width: 768px) {
    .ct-product-top {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .ct-product-buybox h1 {
        font-size: 22px;
    }
    .ct-price {
        font-size: 28px;
    }
    .ct-dispo-cards {
        grid-template-columns: 1fr;
    }
    .ct-reviews-summary {
        flex-direction: column;
        gap: 16px;
    }
}

/* Related products: black CTA button */
.ct-related-rail .product-card .product-cta {
    background: #111 !important;
    color: #fff !important;
}
.ct-related-rail .product-card:hover .product-cta {
    background: #44d62c !important;
    color: #000 !important;
}

/* Tighten gap between reviews and related products */
.ct-no-reviews {
    padding: 20px;
    text-align: center;
    color: #999;
}
.ct-no-reviews i {
    font-size: 28px;
    color: #ccc;
    margin-bottom: 8px;
}
.ct-tab-panel {
    padding: 16px 0 0 !important;
    margin: 0 !important;
}
.ct-product-section.ct-product-section {
    margin-top: 24px !important;
    padding-top: 20px !important;
}

/* ============================================
   DARK MODE MASTER FIX — GamingZone
   ============================================ */

/* --- Mega menu dark --- */
body.theme-dark .mega-menu-panel { background: #111 !important; border-color: #222 !important; }
body.theme-dark .mega-menu-rail { background: #161616 !important; border-color: #222 !important; }
body.theme-dark .mega-menu-rail-item { background: #1a1a1a !important; color: #e0e0e0 !important; }
body.theme-dark .mega-menu-rail-item:hover { background: #222 !important; }
body.theme-dark .mega-menu-content { background: #111 !important; }
body.theme-dark .mega-menu-link-grid a { background: #1a1a1a !important; color: #e0e0e0 !important; border-color: #222 !important; }
body.theme-dark .mega-menu-link-grid a:hover { background: #222 !important; border-color: #44d62c !important; }
body.theme-dark .mega-menu-feature { background: #1a1a1a !important; color: #ccc !important; }

/* --- Filter sidebar dark --- */
body.theme-dark .ct-shop-page .filter-sidebar { background: transparent !important; }
body.theme-dark .ct-shop-page .filter-header { background: transparent !important; color: #e0e0e0 !important; }
body.theme-dark .ct-shop-page .filter-group { background: transparent !important; border-color: #222 !important; }
body.theme-dark .ct-shop-page .filter-group-title { background: transparent !important; color: #e0e0e0 !important; }
body.theme-dark .ct-shop-page .filter-group-body { background: transparent !important; color: #ccc !important; }
body.theme-dark .ct-shop-page .filter-group[open] { background: transparent !important; }
body.theme-dark .ct-shop-page .filter-search { background: transparent !important; color: #e0e0e0 !important; border-color: #222 !important; }
body.theme-dark .ct-shop-page .filter-search input { background: #222 !important; color: #e0e0e0 !important; border-color: #333 !important; }
body.theme-dark .ct-shop-page .products-top-bar { background: transparent !important; color: #e0e0e0 !important; }
body.theme-dark .ct-shop-page .ct-shop-controls .filter-select { background: #1a1a1a !important; color: #e0e0e0 !important; border-color: #333 !important; }

/* --- Shop page headings dark --- */
body.theme-dark .ct-shop-heading { background: transparent !important; color: #e0e0e0 !important; }
body.theme-dark .ct-frequent-searches { background: transparent !important; }
body.theme-dark .ct-frequent-searches a { color: #aaa !important; }

/* --- Shop products area dark --- */
body.theme-dark .ct-shop-page .product-card-list { background: transparent !important; }
body.theme-dark .ct-shop-page .product-card-img { background: #fff !important; }

/* --- Product page dark --- */
body.theme-dark .ct-product-page { background: #0b0b0b !important; }
body.theme-dark .ct-product-breadcrumb { background: #0b0b0b !important; }
body.theme-dark .ct-product-breadcrumb a { color: #888 !important; }
body.theme-dark .ct-product-breadcrumb a:hover { color: #44d62c !important; }

/* --- Breadcrumbs universal dark fix --- */
body.theme-dark .breadcrumb { background: #0b0b0b !important; color: #888 !important; }
body.theme-dark .breadcrumb a { color: #888 !important; }
body.theme-dark .breadcrumb a:hover { color: #44d62c !important; }

/* --- Product gallery dark --- */
body.theme-dark .ct-main-image { background: #1a1a1a !important; border-color: #222 !important; }
body.theme-dark .ct-thumbs button { background: #1a1a1a !important; border-color: #222 !important; }
body.theme-dark .ct-thumbs button.active { border-color: #44d62c !important; }

/* --- Product buybox dark --- */
body.theme-dark .ct-brand-link { background: #1a1a1a !important; color: #44d62c !important; border-color: #333 !important; }
body.theme-dark .ct-qty { background: #1a1a1a !important; border-color: #333 !important; color: #e0e0e0 !important; }
body.theme-dark .ct-wishlist-toggle { background: #1a1a1a !important; border-color: #333 !important; color: #e0e0e0 !important; }
body.theme-dispo-card { background: #161616 !important; }

/* --- Dispo cards dark --- */
body.theme-dark .ct-dispo-card { background: #161616 !important; border-color: #222 !important; color: #ccc !important; }
body.theme-dark .ct-dispo-card h3 { color: #e0e0e0 !important; }
body.theme-dark .ct-dispo-card strong { color: #44d62c !important; }
body.theme-dark .ct-dispo-card a { color: #44d62c !important; }

/* --- Tabs dark --- */
body.theme-dark .ct-product-tabs { border-color: #222 !important; }
body.theme-dark .ct-product-tabs a { color: #888 !important; }
body.theme-dark .ct-product-tabs a.active { color: #44d62c !important; border-color: #44d62c !important; }
body.theme-dark .ct-product-tabs a:hover { color: #ccc !important; }

/* --- Tab panels dark --- */
body.theme-dark .ct-tab-panel { color: #ccc !important; }
body.theme-dark .ct-tab-panel h2 { color: #e0e0e0 !important; }
body.theme-dark .ct-tab-panel h3 { color: #e0e0e0 !important; }

/* --- Description grid dark --- */
body.theme-dark .ct-description-grid { color: #ccc !important; }

/* --- Spec table dark --- */
body.theme-dark .ct-spec-table { background: #111 !important; }
body.theme-dark .ct-spec-table div { border-color: #222 !important; color: #ccc !important; }
body.theme-dark .ct-spec-table strong { color: #e0e0e0 !important; }

/* --- Reviews dark --- */
body.theme-dark .ct-review-item { border-color: #222 !important; color: #ccc !important; }
body.theme-dark .ct-no-reviews { color: #666 !important; }
body.theme-dark .ct-no-reviews i { color: #444 !important; }

/* --- Related section dark --- */
body.theme-dark .ct-product-section { border-color: #222 !important; }
body.theme-dark .ct-product-section h2 { color: #e0e0e0 !important; }

/* --- Cart/empty states dark --- */
body.theme-dark .empty-cart-page, body.theme-dark .sd-empty-state, body.theme-dark .no-results { background: #111 !important; color: #ccc !important; }

/* --- Out of stock dark --- */
body.theme-dark .ct-out-stock { background: #1a1a1a !important; color: #ff5555 !important; border-color: #333 !important; }

/* --- Trust row dark --- */
body.theme-dark .ct-trust-row { border-color: #222 !important; }
body.theme-dark .ct-trust-row span { color: #aaa !important; }

/* --- Price block dark --- */
body.theme-dark .ct-old-price { color: #888 !important; }
body.theme-dark .ct-save-badge { background: #1a3a1a !important; color: #44d62c !important; }

/* --- .btn-outline dark fix --- */
body.theme-dark .btn-outline { border-color: #555 !important; color: #ccc !important; background: transparent !important; }
body.theme-dark .btn-outline:hover { border-color: #44d62c !important; color: #44d62c !important; }

/* --- .price-labels dark --- */
body.theme-dark .ct-shop-page .price-labels span { background: #1a1a1a !important; color: #e0e0e0 !important; }

/* --- .active-filters dark --- */
body.theme-dark .ct-active-filters a { background: #1a1a1a !important; color: #ccc !important; border-color: #333 !important; }

/* --- Infinite scroll loader dark --- */
body.theme-dark .ct-shop-page .infinite-scroll-loader { background: #0b0b0b !important; }

/* --- Zoom modal dark --- */
body.theme-dark .ct-zoom-modal-inner { background: #000 !important; }
body.theme-dark .ct-zoom-close { background: #222 !important; color: #fff !important; }

/* --- Add to cart button dark --- */
body.theme-dark .ct-add-cart { background: #44d62c !important; color: #050505 !important; }
body.theme-dark .ct-add-cart:hover { background: #5ae63a !important; }

/* --- SKU dark --- */
body.theme-dark .ct-sku { color: #888 !important; }

/* --- Stock line dark --- */
body.theme-dark .ct-stock-line { color: #44d62c !important; }
body.theme-dark .ct-stock-line.out { color: #ff5555 !important; }

/* --- Dark mode selection & scrollbar --- */
body.theme-dark ::selection { background: #44d62c; color: #000; }
body.theme-dark ::-webkit-scrollbar { width: 8px; }
body.theme-dark ::-webkit-scrollbar-track { background: #111; }
body.theme-dark ::-webkit-scrollbar-thumb { background: #333; border-radius: 4px; }
body.theme-dark ::-webkit-scrollbar-thumb:hover { background: #555; }

/* ============================================
   BRAND LOGOS
   ============================================ */
.product-brand-logo {
    height: 14px;
    width: auto;
    object-fit: contain;
    filter: grayscale(20%);
    opacity: 0.85;
    transition: opacity 0.2s;
}
.product-card:hover .product-brand-logo {
    opacity: 1;
    filter: grayscale(0%);
}
.ct-brand-logo {
    height: 28px;
    width: auto;
    object-fit: contain;
    margin-right: 8px;
    filter: grayscale(15%);
    opacity: 0.9;
}
body.theme-dark .product-brand-logo {
    filter: brightness(1.3) grayscale(20%);
}
body.theme-dark .ct-brand-logo {
    filter: brightness(1.3) grayscale(15%);
}

/* ============ Ordi Space split promo (home) ============ */
.ct-ordi-space { padding: 40px 0; }
.ct-ordi-space-grid {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 20px;
    border-radius: 14px;
    overflow: hidden;
    background: #0d0d0d;
    border: 1px solid #232323;
}
.ct-ordi-space-promo {
    position: relative;
    min-height: 340px;
    display: flex;
    align-items: flex-end;
    padding: 32px 28px;
    background-size: cover;
    background-position: center;
}
.ct-ordi-space-promo::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(0,0,0,.92) 10%, rgba(0,0,0,.55) 55%, rgba(0,0,0,.25) 100%);
}
.ct-ordi-space-promo-content { position: relative; z-index: 1; }
.ct-ordi-space-promo-content h2 {
    color: #fff;
    font-size: 26px;
    letter-spacing: .5px;
    margin-bottom: 10px;
}
.ct-ordi-space-promo-content p {
    color: #c9c9c9;
    font-size: 13.5px;
    line-height: 1.6;
    margin-bottom: 18px;
    max-width: 260px;
}

.ct-ordi-space-products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}
.ct-ordi-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 18px 16px 20px;
    border-left: 1px solid #232323;
    transition: background .15s;
}
.ct-ordi-card:first-child { border-left: none; }
.ct-ordi-card:hover { background: #131313; }

.ct-ordi-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    background: #dc2626;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 9px;
    border-radius: 4px;
}

.ct-ordi-img {
    position: relative;
    height: 160px;
    display: grid;
    place-items: center;
    overflow: hidden;
    margin-bottom: 14px;
}
.ct-ordi-accent {
    position: absolute;
    top: -20%;
    right: 10%;
    width: 46%;
    height: 140%;
    background: linear-gradient(135deg, rgba(68,214,44,.22), rgba(68,214,44,.05));
    transform: skewX(-18deg);
    z-index: 0;
}
.ct-ordi-img img {
    position: relative;
    z-index: 1;
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
}

.ct-ordi-brand {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .6px;
    color: #6b7280;
    margin-bottom: 4px;
}
.ct-ordi-name {
    font-size: 13px;
    font-weight: 600;
    color: #f0f0f0;
    line-height: 1.4;
    margin-bottom: 10px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 36px;
}
.ct-ordi-price { display: flex; align-items: baseline; gap: 8px; margin-bottom: 8px; flex-wrap: wrap; }
.ct-ordi-price .current { font-size: 16px; font-weight: 700; color: #44d62c; }
.ct-ordi-price .old { font-size: 12px; color: #6b7280; text-decoration: line-through; }

.ct-ordi-stock { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: #a0a0a0; }
.ct-ordi-stock i { width: 7px; height: 7px; border-radius: 50%; background: #22c55e; display: inline-block; }
.ct-ordi-stock.out i { background: #dc2626; }

body.light-theme .ct-ordi-space-grid { background: #f4f4f4; border-color: #e2e2e2; }
body.light-theme .ct-ordi-card { border-left-color: #e2e2e2; }
body.light-theme .ct-ordi-card:hover { background: #ffffff; }
body.light-theme .ct-ordi-name { color: #050505; }
body.light-theme .ct-ordi-stock { color: #575757; }

@media (max-width: 992px) {
    .ct-ordi-space-grid { grid-template-columns: 1fr; }
    .ct-ordi-space-products { grid-template-columns: repeat(2, 1fr); }
    .ct-ordi-card:nth-child(2) { border-left: none; }
    .ct-ordi-card:nth-child(odd) { border-left: none; }
}
@media (max-width: 560px) {
    .ct-ordi-space-products { grid-template-columns: 1fr; }
    .ct-ordi-card { border-left: none !important; border-top: 1px solid #232323; }
    .ct-ordi-card:first-child { border-top: none; }
}

/* ============ Mega menu dark-mode text fix (missed by earlier dark-mode pass) ============ */
body.theme-dark .mega-menu-section-head h3 {
    color: #e0e0e0 !important;
}
body.theme-dark .mega-menu-section-head a {
    color: #44d62c !important;
}
body.theme-dark .mega-menu-section-head a:hover {
    color: #5cf27f !important;
}
body.theme-dark .mega-menu-group ul li a {
    color: #aaaaaa !important;
}
body.theme-dark .mega-menu-group ul li a:hover {
    color: #44d62c !important;
}

/* ============ Product page price/title dark-mode fix (missed by earlier dark-mode pass) ============ */
body.theme-dark .ct-product-buybox h1,
body.theme-dark .ct-price {
    color: #f0f0f0 !important;
}
body.theme-dark .ct-price-currency {
    color: #999 !important;
}

/* ============ Dual-class (theme-dark + light-theme) text-color fix ============
   When both classes coexist, light-theme's white background already wins (see
   STABILITY LOCK above), but several theme-dark text-color rules still had higher
   specificity than the light-theme text color, leaving light text on a white bg.
   These combined-class selectors force dark text back on top in that exact state. */
body.theme-dark.light-theme .ct-product-buybox h1,
body.theme-dark.light-theme .ct-price,
body.theme-dark.light-theme .ct-tab-panel h2,
body.theme-dark.light-theme .ct-tab-panel h3,
body.theme-dark.light-theme .ct-tab-panel,
body.theme-dark.light-theme .ct-product-section h2 {
    color: #050505 !important;
}
body.theme-dark.light-theme .ct-price-currency,
body.theme-dark.light-theme .ct-old-price {
    color: #666 !important;
}

/* ============ Header consistency fix: pure light-theme (no theme-dark class) was
   falling back to old base rules instead of the newer compact black/white header
   design, making the header look visually different between modes. ============ */
body.light-theme:not(.theme-dark) .header {
    border-bottom: 2px solid #44d62c !important;
}
body.light-theme:not(.theme-dark) .header-inner {
    max-width: 1100px;
    min-height: 70px;
    padding: 9px 0 8px;
    gap: 22px;
}
body.light-theme:not(.theme-dark) .mega-menu-btn {
    height: 35px;
    min-width: 170px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 28px;
    gap: 10px;
    border-radius: 8px 8px 0 0;
    background: #fff !important;
    color: #111 !important;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    border: 1px solid #666;
    border-bottom: 0;
}
body.light-theme:not(.theme-dark) .mega-menu-btn i {
    display: none;
}
body.light-theme:not(.theme-dark) .mega-menu-btn:hover {
    background: #44d62c !important;
    color: #000 !important;
}

body.light-theme:not(.theme-dark) .nav-links > li > a {
    height: 35px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 28px;
    border-radius: 8px 8px 0 0;
    background: #fff !important;
    color: #111 !important;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    border: 1px solid #666;
    border-bottom: 0;
}
body.light-theme:not(.theme-dark) .nav-links > li > a:hover,
body.light-theme:not(.theme-dark) .nav-links > li > a.active,
body.light-theme:not(.theme-dark) .nav-links > li:last-child > a {
    background: #44d62c !important;
    color: #000 !important;
}
body.light-theme:not(.theme-dark) .main-nav {
    background: #000 !important;
}

body.light-theme:not(.theme-dark) .nav-inner {
    max-width: 1100px;
    justify-content: flex-start;
    gap: 8px;
    padding: 0;
}

/* ============ UI/UX pass: touch-target sizing (min 44px per WCAG/iOS/Android) ============ */
.product-card.product-card .product-cta,
.ct-product-rail.ct-product-rail .product-cta,
.ct-shop-page.ct-shop-page .card-action-btn {
    min-height: 44px;
}
.mega-menu-btn.mega-menu-btn,
body.theme-dark .mega-menu-btn.mega-menu-btn,
body.light-theme .mega-menu-btn.mega-menu-btn {
    min-height: 44px;
}
.nav-links > li > a.nav-links-touch-fix,
body.theme-dark .nav-links > li > a,
body.light-theme:not(.theme-dark) .nav-links > li > a {
    min-height: 44px;
}

/* ============ UI/UX pass: visually-hidden H1 for correct heading hierarchy ============ */
.sr-only-h1 {
    position: absolute;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ============================================================
   GamingZone – New Homepage Design
   ============================================================ */

/* ---------- Hero Overlay ---------- */
.gz-hero {
    position: relative;
    width: 100%;
    height: 70vh;
    min-height: 500px;
    max-height: 700px;
    overflow: hidden;
    background: #000;
}
.gz-hero .ct-hero-track {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.gz-hero .ct-hero-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.8s ease;
    pointer-events: none;
}
.gz-hero .ct-hero-slide.active {
    opacity: 1;
    pointer-events: auto;
}
.gz-hero .ct-hero-slide img,
.gz-hero .ct-hero-slide video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.gz-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 5%;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.3) 50%, rgba(0,0,0,0.1) 100%);
}
.gz-hero-content {
    max-width: 550px;
    pointer-events: auto;
}
.gz-hero-title {
    font-size: clamp(2rem, 4.5vw, 3.2rem);
    font-weight: 800;
    color: #fff;
    line-height: 1.15;
    margin-bottom: 16px;
    text-shadow: 0 2px 20px rgba(0,0,0,0.5);
}
.gz-hero-sub {
    font-size: clamp(0.9rem, 1.5vw, 1.1rem);
    color: rgba(255,255,255,0.8);
    margin-bottom: 28px;
    line-height: 1.6;
}
.gz-hero-btns {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

/* ---------- Buttons ---------- */
.gz-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 13px 28px;
    border-radius: 999px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s ease;
    border: none;
    text-decoration: none;
}
.gz-btn-primary {
    background: var(--accent, #44d62c);
    color: #000;
    box-shadow: 0 6px 24px -6px rgba(68, 214, 44, 0.5);
}
.gz-btn-primary:hover {
    filter: brightness(1.1);
    transform: translateY(-2px);
    box-shadow: 0 10px 30px -8px rgba(68, 214, 44, 0.6);
}
.gz-btn-outline {
    background: transparent;
    color: #fff;
    border: 2px solid rgba(255,255,255,0.4);
}
.gz-btn-outline:hover {
    background: rgba(255,255,255,0.1);
    border-color: #fff;
}
.gz-btn-sm {
    padding: 10px 22px;
    font-size: 13px;
}

/* ---------- Hero Specs Widget ---------- */
.gz-hero-widget {
    pointer-events: auto;
    background: rgba(15, 15, 15, 0.85);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(68, 214, 44, 0.25);
    border-radius: 16px;
    padding: 20px;
    width: 220px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.4), 0 0 60px rgba(68, 214, 44, 0.08);
}
.gz-hw-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
    color: var(--accent, #44d62c);
    margin-bottom: 12px;
}
.gz-hw-pc {
    width: 100%;
    height: 100px;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 14px;
    background: #1a1a1a;
}
.gz-hw-pc img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.gz-hw-title {
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 1px;
    margin-bottom: 10px;
}
.gz-hw-spec {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
    font-size: 12px;
    color: #ccc;
}
.gz-hw-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 700;
    color: #000;
}
.gz-hw-rtx { background: #76b900; }
.gz-hw-amd { background: #ed1c24; color: #fff; }
.gz-hw-ddr { background: #00a651; color: #fff; }
.gz-hw-nvme { background: #0071c5; color: #fff; }
.gz-hw-val { color: #fff; font-weight: 500; }

/* ---------- Hero Arrows & Dots (override for overlay) ---------- */
.gz-hero .ct-hero-arrow { z-index: 20; }
.gz-hero .ct-hero-thumbs { z-index: 20; }

/* ---------- Trust Bar ---------- */
.gz-trust-bar {
    background: linear-gradient(135deg, #0a0f0a 0%, #0d120d 100%);
    border-top: 1px solid rgba(68, 214, 44, 0.15);
    border-bottom: 1px solid rgba(68, 214, 44, 0.15);
    padding: 16px 0;
}
.gz-trust-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    flex-wrap: wrap;
}
.gz-trust-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 32px;
    color: #ccc;
    font-size: 14px;
    font-weight: 500;
}
.gz-trust-item i {
    color: var(--accent, #44d62c);
    font-size: 16px;
}
.gz-trust-sep {
    width: 1px;
    height: 20px;
    background: rgba(255,255,255,0.15);
}

/* ---------- Section Base ---------- */
.gz-section {
    padding: 56px 0;
    background: #0b0b0b;
}
.gz-section-title {
    font-size: clamp(1.3rem, 2.5vw, 1.6rem);
    font-weight: 700;
    color: #fff;
    margin-bottom: 28px;
}
.gz-section-title--sm {
    font-size: 1.2rem;
    margin-bottom: 0;
}
.gz-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 28px;
}
.gz-section-head .gz-section-title {
    margin-bottom: 0;
}
.gz-link-more {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--accent, #44d62c);
    font-size: 13px;
    font-weight: 600;
    transition: gap 0.2s;
}
.gz-link-more:hover {
    gap: 10px;
}

/* ---------- Shop by Gaming Setup ---------- */
.gz-setup-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.gz-setup-card {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    aspect-ratio: 4/5;
    display: block;
    background: #111;
    border: 1px solid rgba(255,255,255,0.06);
    transition: transform 0.3s, border-color 0.3s;
}
.gz-setup-card:hover {
    transform: translateY(-4px);
    border-color: rgba(68, 214, 44, 0.4);
}
.gz-setup-img {
    position: absolute;
    inset: 0;
}
.gz-setup-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
}
.gz-setup-card:hover .gz-setup-img img {
    transform: scale(1.05);
}
.gz-setup-info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 20px 16px;
    background: linear-gradient(transparent, rgba(0,0,0,0.85));
    z-index: 2;
}
.gz-setup-info strong {
    display: block;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 4px;
}
.gz-setup-info span {
    color: rgba(255,255,255,0.6);
    font-size: 12px;
}

/* ---------- Split Grid (Builder + Tendances / Featured + Flash) ---------- */
.gz-split-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    align-items: stretch;
}

/* -- PC Builder CTA -- */
.gz-builder-cta {
    background: linear-gradient(135deg, #0f1a0f 0%, #0a1a0a 100%);
    border: 1px solid rgba(68, 214, 44, 0.2);
    border-radius: 16px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
}
.gz-builder-tag {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: var(--accent, #44d62c);
    background: rgba(68, 214, 44, 0.1);
    padding: 6px 12px;
    border-radius: 6px;
    margin-bottom: 16px;
}
.gz-builder-cta h3 {
    font-size: 1.6rem;
    color: #fff;
    margin-bottom: 12px;
    line-height: 1.2;
}
.gz-builder-cta p {
    color: #999;
    font-size: 13px;
    margin-bottom: 20px;
    line-height: 1.6;
}
.gz-builder-parts {
    display: flex;
    gap: 10px;
    margin-top: 24px;
    flex-wrap: wrap;
}
.gz-part {
    flex: 1;
    min-width: 80px;
    height: 50px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.gz-part-label {
    font-size: 10px;
    color: #666;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.gz-part-gpu { border-color: rgba(118, 185, 0, 0.3); }
.gz-part-cpu { border-color: rgba(237, 28, 36, 0.3); }
.gz-part-cooler { border-color: rgba(0, 166, 81, 0.3); }
.gz-part-mobo { border-color: rgba(0, 113, 197, 0.3); }

/* -- Trending Grid -- */
.gz-trending {
    display: flex;
    flex-direction: column;
}
.gz-trending-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}
.gz-trending-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    flex: 1;
}

/* -- Featured PC -- */
.gz-featured-pc {
    background: linear-gradient(135deg, #0f0f0f 0%, #0a0f14 100%);
    border: 1px solid rgba(68, 214, 44, 0.2);
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.gz-featured-pc-visual {
    width: 100%;
    height: 240px;
    overflow: hidden;
    background: #111;
}
.gz-featured-pc-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.gz-featured-pc-info {
    padding: 24px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.gz-featured-badge {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: #000;
    background: var(--accent, #44d62c);
    padding: 5px 12px;
    border-radius: 4px;
    margin-bottom: 12px;
    width: fit-content;
}
.gz-featured-name {
    font-size: 1.2rem;
    color: #fff;
    font-weight: 700;
    margin-bottom: 4px;
    line-height: 1.3;
}
.gz-featured-cat {
    font-size: 12px;
    color: #666;
    margin-bottom: 8px;
}
.gz-featured-desc {
    font-size: 13px;
    color: #999;
    margin-bottom: 16px;
    line-height: 1.6;
}
.gz-featured-specs {
    list-style: none;
    margin-bottom: 16px;
}
.gz-featured-specs li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: #bbb;
    padding: 5px 0;
    border-bottom: 1px solid rgba(255,255,255,0.05);
}
.gz-featured-specs li i {
    color: var(--accent, #44d62c);
    width: 16px;
    text-align: center;
    font-size: 12px;
}
.gz-featured-price {
    margin-top: auto;
    margin-bottom: 16px;
}
.gz-price-current {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--accent, #44d62c);
}
.gz-price-old {
    font-size: 0.85rem;
    color: #666;
    text-decoration: line-through;
    margin-left: 8px;
}

/* -- Flash Deals -- */
.gz-flash-deals {
    display: flex;
    flex-direction: column;
}
.gz-flash-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 4px;
}
.gz-countdown {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: 10px;
}
.gz-cd-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 8px;
    padding: 8px 12px;
    min-width: 50px;
}
.gz-cd-block span {
    font-size: 1.2rem;
    font-weight: 700;
    color: #fff;
    font-variant-numeric: tabular-nums;
}
.gz-cd-block small {
    font-size: 9px;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 2px;
}
.gz-cd-sep {
    color: var(--accent, #44d62c);
    font-size: 1.2rem;
    font-weight: 700;
}
.gz-flash-sub {
    font-size: 12px;
    color: var(--accent, #44d62c);
    margin-bottom: 16px;
}
.gz-flash-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    flex: 1;
}
.gz-flash-card {
    display: flex;
    flex-direction: column;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 12px;
    overflow: hidden;
    transition: border-color 0.2s, transform 0.2s;
}
.gz-flash-card:hover {
    border-color: rgba(68, 214, 44, 0.3);
    transform: translateY(-2px);
}
.gz-flash-img {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    background: #111;
    overflow: hidden;
}
.gz-flash-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.gz-flash-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    background: #e11d48;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 4px;
    z-index: 2;
}
.gz-flash-info {
    padding: 12px;
}
.gz-flash-brand {
    font-size: 10px;
    font-weight: 700;
    color: #666;
    letter-spacing: 0.5px;
}
.gz-flash-name {
    font-size: 12px;
    color: #ddd;
    margin: 4px 0 8px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.gz-flash-price .gz-price-current {
    font-size: 1rem;
}
.gz-flash-price .gz-price-old {
    font-size: 0.75rem;
}

/* ---------- Product Rail (Nouveautés) ---------- */
.gz-product-rail-wrap {
    position: relative;
}
.gz-product-rail {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding: 4px 0 16px;
    scrollbar-width: none;
}
.gz-product-rail::-webkit-scrollbar { display: none; }
.gz-product-rail .product-card {
    flex: 0 0 260px;
    scroll-snap-align: start;
}
.gz-rail-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(15, 15, 15, 0.9);
    border: 1px solid rgba(255,255,255,0.12);
    color: #fff;
    font-size: 14px;
    cursor: pointer;
    display: grid;
    place-items: center;
    z-index: 10;
    transition: all 0.2s;
    backdrop-filter: blur(8px);
}
.gz-rail-btn:hover {
    background: var(--accent, #44d62c);
    color: #000;
    border-color: var(--accent, #44d62c);
}
.gz-rail-prev { left: -12px; }
.gz-rail-next { right: -12px; }

/* ---------- Brands ---------- */
.gz-brands-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.gz-brand-card {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 90px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 12px;
    padding: 20px 32px;
    transition: all 0.2s;
}
.gz-brand-card:hover {
    border-color: rgba(68, 214, 44, 0.3);
    background: rgba(68, 214, 44, 0.04);
}
.gz-brand-card img {
    max-height: 36px;
    max-width: 120px;
    object-fit: contain;
    filter: brightness(0) invert(1);
    opacity: 0.6;
    transition: opacity 0.2s;
}
.gz-brand-card:hover img {
    opacity: 1;
}

/* ---------- Pourquoi GamingZone ---------- */
.gz-whyus-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
}
.gz-whyus-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 28px 16px;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 14px;
    transition: all 0.2s;
}
.gz-whyus-card:hover {
    border-color: rgba(68, 214, 44, 0.25);
    background: rgba(68, 214, 44, 0.03);
    transform: translateY(-3px);
}
.gz-whyus-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: rgba(68, 214, 44, 0.1);
    display: grid;
    place-items: center;
    color: var(--accent, #44d62c);
    font-size: 20px;
    margin-bottom: 14px;
}
.gz-whyus-card strong {
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 6px;
}
.gz-whyus-card span {
    color: #888;
    font-size: 12px;
    line-height: 1.5;
}

/* ---------- GameZone Hub ---------- */
.gz-hub-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.gz-hub-card {
    display: block;
    border-radius: 14px;
    overflow: hidden;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
    transition: all 0.2s;
}
.gz-hub-card:hover {
    border-color: rgba(68, 214, 44, 0.3);
    transform: translateY(-3px);
}
.gz-hub-img {
    position: relative;
    width: 100%;
    aspect-ratio: 16/10;
    overflow: hidden;
}
.gz-hub-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s;
}
.gz-hub-card:hover .gz-hub-img img {
    transform: scale(1.05);
}
.gz-hub-tag {
    position: absolute;
    top: 10px;
    left: 10px;
    background: var(--accent, #44d62c);
    color: #000;
    font-size: 10px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.gz-hub-title {
    padding: 14px;
    font-size: 13px;
    font-weight: 600;
    color: #ddd;
    line-height: 1.5;
}

/* ---------- Community CTA ---------- */
.gz-community-card {
    background: linear-gradient(135deg, #0a1a0a 0%, #0f1a14 50%, #0a1a0a 100%);
    border: 1px solid rgba(68, 214, 44, 0.2);
    border-radius: 20px;
    padding: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
}
.gz-community-content {
    max-width: 420px;
    position: relative;
    z-index: 2;
}
.gz-community-content h3 {
    font-size: clamp(1.3rem, 2.5vw, 1.8rem);
    font-weight: 800;
    color: #fff;
    line-height: 1.15;
    margin-bottom: 12px;
}
.gz-community-content p {
    color: #999;
    font-size: 14px;
    margin-bottom: 20px;
}
.gz-community-form {
    display: flex;
    gap: 10px;
}
.gz-community-form input {
    flex: 1;
    padding: 10px 18px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(255,255,255,0.05);
    color: #fff;
    font-size: 14px;
    outline: none;
    transition: border-color 0.2s;
}
.gz-community-form input::placeholder {
    color: #666;
}
.gz-community-form input:focus {
    border-color: var(--accent, #44d62c);
}
.gz-community-visual {
    width: 200px;
    height: 200px;
    position: relative;
}
.gz-community-glow {
    position: absolute;
    inset: -40px;
    background: radial-gradient(circle, rgba(68, 214, 44, 0.2) 0%, transparent 70%);
    border-radius: 50%;
    animation: gzPulse 3s ease-in-out infinite;
}
@keyframes gzPulse {
    0%, 100% { transform: scale(0.9); opacity: 0.5; }
    50% { transform: scale(1.1); opacity: 1; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
    .gz-setup-grid { grid-template-columns: repeat(2, 1fr); }
    .gz-split-grid { grid-template-columns: 1fr; }
    .gz-trending-grid { grid-template-columns: repeat(2, 1fr); }
    .gz-flash-grid { grid-template-columns: repeat(2, 1fr); }
    .gz-whyus-grid { grid-template-columns: repeat(3, 1fr); }
    .gz-hub-grid { grid-template-columns: repeat(2, 1fr); }
    .gz-brands-grid { grid-template-columns: repeat(2, 1fr); }
    .gz-hero-widget { display: none; }
}

@media (max-width: 768px) {
    .gz-hero {
        height: 60vh;
        min-height: 400px;
    }
    .gz-hero-overlay {
        flex-direction: column;
        justify-content: center;
        text-align: center;
        padding: 0 20px;
        background: linear-gradient(180deg, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.4) 100%);
    }
    .gz-hero-btns { justify-content: center; }
    .gz-trust-inner { flex-direction: column; gap: 8px; }
    .gz-trust-sep { display: none; }
    .gz-trust-item { padding: 4px 0; font-size: 13px; }
    .gz-setup-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .gz-whyus-grid { grid-template-columns: repeat(2, 1fr); }
    .gz-hub-grid { grid-template-columns: 1fr; }
    .gz-brands-grid { grid-template-columns: repeat(2, 1fr); }
    .gz-community-card { flex-direction: column; text-align: center; padding: 32px 20px; }
    .gz-community-form { flex-direction: column; }
    .gz-community-visual { display: none; }
    .gz-flash-grid { grid-template-columns: 1fr; }
    .gz-trending-grid { grid-template-columns: 1fr; }
    .gz-rail-prev { left: 4px; }
    .gz-rail-next { right: 4px; }
}

@media (max-width: 480px) {
    .gz-setup-grid { grid-template-columns: 1fr; }
    .gz-whyus-grid { grid-template-columns: 1fr; }
    .gz-brands-grid { grid-template-columns: 1fr 1fr; }
    .gz-section { padding: 36px 0; }
}

/* ============================================================
   Fresh header and footer
   ============================================================ */
.top-bar,
body.theme-dark .top-bar,
body.light-theme .top-bar {
    background: #080a08 !important;
    color: #b8c1ba !important;
    border-bottom: 1px solid rgba(68, 214, 44, .18) !important;
}

.top-bar-inner {
    min-height: 34px !important;
}

.top-bar-left,
.top-bar-right {
    gap: 18px !important;
}

.top-bar-left span,
.top-bar-right a {
    font-size: 12px !important;
    font-weight: 600 !important;
}

.top-bar i {
    color: #44d62c !important;
}

.header,
body.theme-dark .header,
body.light-theme .header {
    background: rgba(5, 7, 5, .96) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .32) !important;
    backdrop-filter: blur(14px);
}

.header-inner,
body.theme-dark .header-inner,
body.light-theme .header-inner {
    max-width: 1380px !important;
    min-height: 78px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    gap: 22px !important;
}

.site-logo-img {
    width: auto !important;
    height: 44px !important;
    max-width: 188px !important;
    object-fit: contain !important;
}

.search-bar {
    max-width: 660px !important;
}

.search-bar form,
body.theme-dark .search-bar form,
body.light-theme .search-bar form {
    height: 48px !important;
    background: #fff !important;
    border: 1px solid rgba(68, 214, 44, .28) !important;
    border-radius: 8px !important;
    padding: 0 5px 0 16px !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .16) !important;
}

.search-bar form:focus-within {
    border-color: #44d62c !important;
    box-shadow: 0 0 0 4px rgba(68, 214, 44, .16), 0 10px 28px rgba(0, 0, 0, .16) !important;
}

.search-bar input,
body.theme-dark .search-bar input,
body.light-theme .search-bar input {
    color: #101510 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

.search-bar input::placeholder {
    color: #758078 !important;
}

.search-btn {
    width: 38px !important;
    height: 38px !important;
    border-radius: 7px !important;
    background: #44d62c !important;
    color: #061006 !important;
}

.header-actions {
    gap: 8px !important;
}

.header-action,
body.theme-dark .header-action,
body.light-theme .header-action {
    width: auto !important;
    min-width: 46px !important;
    height: 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 0 14px !important;
    border-radius: 8px !important;
    background: #111611 !important;
    color: #edf5ee !important;
    border: 1px solid rgba(255, 255, 255, .1) !important;
}

.header-action > span:not(.cart-count),
.theme-switch-label {
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

.header-action:hover,
body.theme-dark .header-action:hover,
body.light-theme .header-action:hover {
    background: #44d62c !important;
    border-color: #44d62c !important;
    color: #061006 !important;
}

.cart-count {
    top: -7px !important;
    right: -7px !important;
    border-color: #050705 !important;
}

.mobile-nav-toggle,
body.theme-dark .mobile-nav-toggle,
body.light-theme .mobile-nav-toggle {
    width: 46px !important;
    height: 46px !important;
    border-radius: 8px !important;
    background: #111611 !important;
    border: 1px solid rgba(255, 255, 255, .1) !important;
}

.main-nav,
body.theme-dark .main-nav,
body.light-theme .main-nav {
    top: 78px !important;
    background: #050705 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
}

.nav-inner,
body.theme-dark .main-nav .nav-inner,
body.light-theme .main-nav .nav-inner {
    min-height: 50px !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
    gap: 14px !important;
}

.mega-menu-btn,
body.theme-dark .mega-menu-btn,
body.light-theme .mega-menu-btn {
    height: 38px !important;
    padding: 0 16px !important;
    border-radius: 8px !important;
    background: #44d62c !important;
    color: #061006 !important;
    font-size: 13px !important;
}

.nav-links > li > a,
body.theme-dark .main-nav .nav-links > li > a,
body.light-theme .main-nav .nav-links > li > a {
    height: 38px !important;
    padding: 0 13px !important;
    border-radius: 8px !important;
    color: #dce4dc !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.nav-links > li > a:hover,
body.theme-dark .main-nav .nav-links > li > a:hover,
body.light-theme .main-nav .nav-links > li > a:hover {
    background: rgba(68, 214, 44, .12) !important;
    color: #44d62c !important;
}

.mega-menu-panel,
body.theme-dark .mega-menu-panel,
body.light-theme .mega-menu-panel {
    top: calc(100% + 10px) !important;
    width: min(980px, calc(100vw - 48px)) !important;
    min-width: 0 !important;
    grid-template-columns: 250px minmax(500px, 1fr) !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #0d110d !important;
    border: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 8px !important;
}

.mega-menu-rail {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    padding: 10px !important;
    background: #090c09 !important;
    border-right: 1px solid rgba(255, 255, 255, .08) !important;
}

.mega-menu-rail-item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 11px 12px !important;
    border-radius: 7px !important;
    color: #dce4dc !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.mega-menu-rail-item.active,
.mega-menu-rail-item:hover {
    background: rgba(68, 214, 44, .12) !important;
    color: #fff !important;
}

.mega-menu-content {
    padding: 20px !important;
    background: #101410 !important;
}

.mega-menu-section { display: none !important; }
.mega-menu-section.active { display: block !important; }

.mega-menu-group-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px 22px !important;
}

.mega-menu-group h4 {
    color: #fff !important;
    font-size: 13px !important;
    margin-bottom: 8px !important;
}

.mega-menu-group li a {
    color: #aeb8b0 !important;
    display: block !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
    padding: 5px 0 !important;
}

.mega-menu-group li a:hover {
    color: #44d62c !important;
}

.gz-footer,
body.theme-dark .gz-footer,
body.light-theme .gz-footer {
    margin-top: 70px !important;
    background: #050705 !important;
    color: #bac4bd !important;
    border-top: 1px solid rgba(68, 214, 44, .22) !important;
}

.gz-footer-top {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 460px) !important;
    gap: 32px !important;
    align-items: center !important;
    padding-top: 44px !important;
    padding-bottom: 34px !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
}

.gz-footer-logo {
    height: 46px !important;
    width: auto !important;
    margin-bottom: 14px !important;
}

.gz-footer-brand p {
    max-width: 440px !important;
    color: #aeb8b0 !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

.gz-footer-social {
    display: flex !important;
    gap: 10px !important;
    margin-top: 18px !important;
}

.gz-footer-social a {
    width: 38px !important;
    height: 38px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 8px !important;
    color: #edf5ee !important;
    background: #111611 !important;
    border: 1px solid rgba(255, 255, 255, .1) !important;
}

.gz-footer-social a:hover {
    background: #44d62c !important;
    color: #061006 !important;
}

.gz-footer-newsletter {
    background: #0d110d !important;
    border: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 8px !important;
    padding: 22px !important;
}

.gz-footer-newsletter span {
    color: #44d62c !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
}

.gz-footer-newsletter strong {
    display: block !important;
    color: #fff !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    margin: 6px 0 16px !important;
}

.gz-footer-newsletter form {
    display: flex !important;
    gap: 8px !important;
}

.gz-footer-newsletter input {
    min-width: 0 !important;
    flex: 1 !important;
    height: 44px !important;
    border-radius: 7px !important;
    border: 1px solid rgba(255, 255, 255, .12) !important;
    background: #050705 !important;
    color: #fff !important;
    padding: 0 14px !important;
}

.gz-footer-newsletter button {
    height: 44px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: #44d62c !important;
    color: #061006 !important;
    font-weight: 800 !important;
    padding: 0 16px !important;
    cursor: pointer !important;
}

.gz-footer-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 28px !important;
    padding-top: 34px !important;
    padding-bottom: 34px !important;
}

.gz-footer-grid h4 {
    color: #fff !important;
    font-size: 14px !important;
    margin-bottom: 14px !important;
}

.gz-footer-grid a,
.gz-footer-grid p {
    display: block !important;
    color: #aeb8b0 !important;
    font-size: 13.5px !important;
    line-height: 1.7 !important;
    margin: 0 0 8px !important;
}

.gz-footer-grid a:hover {
    color: #44d62c !important;
}

.gz-footer-grid i {
    color: #44d62c !important;
    width: 18px !important;
}

.gz-footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, .08) !important;
    padding: 18px 0 !important;
}

.gz-footer-bottom .container {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 18px !important;
}

.gz-footer-bottom p {
    color: #89938c !important;
    font-size: 12.5px !important;
    margin: 0 !important;
}

.gz-footer-payments {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    justify-content: flex-end !important;
}

.gz-footer-payments span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 28px !important;
    padding: 0 10px !important;
    border-radius: 6px !important;
    background: #111611 !important;
    border: 1px solid rgba(255, 255, 255, .1) !important;
    color: #c9d2cb !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}

@media (max-width: 1100px) {
    .header-inner,
    body.theme-dark .header-inner,
    body.light-theme .header-inner {
        flex-wrap: wrap !important;
    }

    .search-bar {
        order: 3 !important;
        flex-basis: 100% !important;
        max-width: none !important;
    }

    .main-nav,
    body.theme-dark .main-nav,
    body.light-theme .main-nav {
        top: 126px !important;
    }
}

@media (max-width: 900px) {
    .top-bar-right {
        display: none !important;
    }

    .top-bar-inner {
        justify-content: center !important;
    }

    .header-action > span:not(.cart-count),
    .theme-switch-label {
        display: none !important;
    }

    .header-action,
    body.theme-dark .header-action,
    body.light-theme .header-action,
    .mobile-nav-toggle {
        width: 42px !important;
        min-width: 42px !important;
        height: 42px !important;
        padding: 0 !important;
    }

    .mobile-nav-toggle {
        display: grid !important;
        place-items: center !important;
    }

    .main-nav,
    body.theme-dark .main-nav,
    body.light-theme .main-nav {
        position: static !important;
        top: auto !important;
    }

    .main-nav .nav-inner {
        display: none !important;
    }

    .main-nav.mobile-open .nav-inner {
        display: flex !important;
        position: fixed !important;
        inset: 0 !important;
        z-index: 400 !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 10px !important;
        padding: 84px 18px 22px !important;
        overflow-y: auto !important;
        background: #050705 !important;
    }

    .main-nav.mobile-open .nav-links {
        width: 100% !important;
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .main-nav.mobile-open .nav-links > li > a,
    .main-nav.mobile-open .mega-menu-btn {
        width: 100% !important;
        justify-content: center !important;
    }

    .mega-menu-panel,
    body.theme-dark .mega-menu-panel,
    body.light-theme .mega-menu-panel {
        position: static !important;
        width: 100% !important;
        grid-template-columns: 1fr !important;
        max-height: 58vh !important;
        overflow: auto !important;
        margin-top: 8px !important;
    }

    .mega-menu-content {
        display: none !important;
    }

    .gz-footer-top,
    .gz-footer-grid {
        grid-template-columns: 1fr 1fr !important;
    }
}

@media (max-width: 620px) {
    .top-bar-left {
        flex-direction: column !important;
        gap: 2px !important;
        padding: 5px 0 !important;
        text-align: center !important;
    }

    .header-inner {
        padding-left: 16px !important;
        padding-right: 16px !important;
        gap: 10px !important;
    }

    .site-logo-img {
        height: 38px !important;
        max-width: 148px !important;
    }

    .gz-footer-top,
    .gz-footer-grid {
        grid-template-columns: 1fr !important;
    }

    .gz-footer-newsletter form,
    .gz-footer-bottom .container {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .gz-footer-newsletter button {
        width: 100% !important;
    }

    .gz-footer-payments {
        justify-content: flex-start !important;
    }
}

/* Restore original header menu item feel */
.mega-menu-btn,
body.theme-dark .mega-menu-btn,
body.light-theme .mega-menu-btn {
    height: auto !important;
    padding: 13px 18px !important;
    border-radius: 10px !important;
    background: #44d62c !important;
    color: #ffffff !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
}

.mega-menu-btn:hover,
body.theme-dark .mega-menu-btn:hover,
body.light-theme .mega-menu-btn:hover {
    filter: brightness(1.05) !important;
}

.nav-links > li > a,
body.theme-dark .main-nav .nav-links > li > a,
body.light-theme .main-nav .nav-links > li > a {
    height: auto !important;
    padding: 13px 16px !important;
    border-radius: 10px !important;
    color: #d8dbd9 !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
}

.nav-links > li > a:hover,
.nav-links > li > a.active,
body.theme-dark .main-nav .nav-links > li > a:hover,
body.theme-dark .main-nav .nav-links > li > a.active,
body.light-theme .main-nav .nav-links > li > a:hover,
body.light-theme .main-nav .nav-links > li > a.active {
    background: #44d62c !important;
    color: #ffffff !important;
}

/* Restore original header shell */
.top-bar,
body.theme-dark .top-bar,
body.light-theme .top-bar {
    background: #000 !important;
    color: #b8bdb9 !important;
    padding: 8px 0 !important;
    border-bottom: 0 !important;
    font-size: 12.5px !important;
}

.top-bar-inner {
    min-height: 0 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 16px !important;
}

.top-bar-left {
    display: flex !important;
    align-items: center !important;
    flex-direction: row !important;
    gap: 22px !important;
    padding: 0 !important;
    text-align: left !important;
}

.top-bar-right {
    display: flex !important;
    gap: 22px !important;
}

.top-bar-left span,
.top-bar-right a {
    font-size: 12.5px !important;
    font-weight: 400 !important;
}

.header,
body.theme-dark .header,
body.light-theme .header {
    background: #000 !important;
    border-bottom: 1px solid #1a1a1a !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 200 !important;
}

.header-inner,
body.theme-dark .header-inner,
body.light-theme .header-inner {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 28px !important;
    padding: 16px 24px !important;
    min-height: 0 !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
}

.site-logo-img {
    height: 42px !important;
    max-width: 180px !important;
    width: auto !important;
    object-fit: contain !important;
}

.search-bar {
    flex: 1 !important;
    flex-basis: auto !important;
    order: 0 !important;
    max-width: 640px !important;
}

.search-bar form,
body.theme-dark .search-bar form,
body.light-theme .search-bar form {
    display: flex !important;
    align-items: center !important;
    height: auto !important;
    background: #141614 !important;
    border: 1.5px solid #262a26 !important;
    border-radius: 999px !important;
    padding: 4px 4px 4px 18px !important;
    box-shadow: none !important;
}

.search-bar form:focus-within {
    border-color: #44d62c !important;
    box-shadow: 0 0 0 4px rgba(57, 255, 106, .15) !important;
}

.search-bar input,
body.theme-dark .search-bar input,
body.light-theme .search-bar input {
    flex: 1 !important;
    background: transparent !important;
    border: none !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #fff !important;
    outline: none !important;
    padding: 8px !important;
}

.search-bar input::placeholder {
    color: #7a8079 !important;
}

.search-btn {
    background: #44d62c !important;
    color: #ffffff !important;
    border: none !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    font-size: 14px !important;
    cursor: pointer !important;
    display: grid !important;
    place-items: center !important;
}

.header-actions {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-left: auto !important;
}

.header-action,
body.theme-dark .header-action,
body.light-theme .header-action {
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    background: #141614 !important;
    border: 1px solid #262a26 !important;
    border-radius: 50% !important;
    color: #d8dbd9 !important;
    font-size: 16px !important;
    cursor: pointer !important;
}

.header-action:hover,
body.theme-dark .header-action:hover,
body.light-theme .header-action:hover {
    color: #ffffff !important;
    border-color: #44d62c !important;
    background: #44d62c !important;
}

.theme-switch {
    width: auto !important;
    min-width: 44px !important;
    grid-template-columns: none !important;
}

.theme-switch-label,
.header-action > span:not(.cart-count) {
    display: none !important;
}

.cart-count {
    top: -2px !important;
    right: -2px !important;
    border: 2px solid #000 !important;
}

.mobile-nav-toggle,
body.theme-dark .mobile-nav-toggle,
body.light-theme .mobile-nav-toggle {
    display: none !important;
    background: none !important;
    border: none !important;
    font-size: 20px !important;
    color: #fff !important;
    cursor: pointer !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
}

.main-nav,
body.theme-dark .main-nav,
body.light-theme .main-nav {
    background: #000 !important;
    border-bottom: 1px solid #1a1a1a !important;
    position: sticky !important;
    top: 76px !important;
    z-index: 150 !important;
}

.nav-inner,
body.theme-dark .main-nav .nav-inner,
body.light-theme .main-nav .nav-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    min-height: 0 !important;
    padding: 10px 0 !important;
    overflow-x: visible !important;
}

.nav-inner .nav-links,
body.theme-dark .main-nav .nav-inner .nav-links,
body.light-theme .main-nav .nav-inner .nav-links {
    display: flex !important;
    align-items: center !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 2px !important;
    margin: 0 auto !important;
}

@media (max-width: 1100px) {
    .header-inner,
    body.theme-dark .header-inner,
    body.light-theme .header-inner {
        flex-wrap: wrap !important;
        gap: 16px !important;
    }

    .search-bar {
        order: 3 !important;
        flex-basis: 100% !important;
        max-width: none !important;
    }

    .main-nav,
    body.theme-dark .main-nav,
    body.light-theme .main-nav {
        position: static !important;
        top: auto !important;
    }
}

@media (max-width: 768px) {
    .top-bar-right {
        display: none !important;
    }

    .mobile-nav-toggle,
    body.theme-dark .mobile-nav-toggle,
    body.light-theme .mobile-nav-toggle {
        display: grid !important;
        place-items: center !important;
    }

    .main-nav .nav-inner {
        display: flex !important;
    }

    .main-nav.mobile-open .nav-inner {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        background: #ffffff !important;
        z-index: 300 !important;
        align-items: flex-start !important;
        padding: 80px 24px 24px !important;
        overflow-y: auto !important;
        flex-direction: column !important;
    }

    body.theme-dark .main-nav.mobile-open .nav-inner {
        background: #111 !important;
    }

    .main-nav.mobile-open .nav-links {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        gap: 4px !important;
        align-items: stretch !important;
        margin: 0 !important;
    }

    .main-nav.mobile-open .nav-links > li > a,
    .main-nav.mobile-open .mega-menu-btn {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* ============================================================
   Fresh home page
   ============================================================ */
.fresh-home {
    background: #070907;
    color: #f5f7f5;
    overflow: hidden;
}

.fresh-home .fresh-slider {
    height: min(700px, 72vw);
    min-height: 420px;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.fresh-home .fresh-slider .ct-hero-slide img,
.fresh-home .fresh-slider .ct-hero-slide video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fh-hero {
    position: relative;
    padding: 74px 0 58px;
    background:
        linear-gradient(120deg, rgba(68, 214, 44, .08), transparent 42%),
        radial-gradient(circle at 82% 18%, rgba(68, 214, 44, .16), transparent 34%),
        #070907;
}

.fh-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
    gap: 46px;
    align-items: center;
}

.fh-eyebrow,
.fh-kicker {
    display: inline-flex;
    align-items: center;
    color: #44d62c;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.fh-hero h1 {
    max-width: 720px;
    color: #fff;
    font-size: clamp(3rem, 6.3vw, 6.5rem);
    line-height: .92;
    letter-spacing: 0;
    margin-bottom: 22px;
}

.fh-hero p {
    max-width: 560px;
    color: #b7c0b8;
    font-size: clamp(1rem, 1.5vw, 1.2rem);
    line-height: 1.65;
    margin-bottom: 28px;
}

.fh-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.fh-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    padding: 0 22px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 800;
}

.fh-btn-primary {
    background: #44d62c;
    color: #061006;
}

.fh-btn-ghost {
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .05);
}

.fh-btn:hover {
    transform: translateY(-2px);
}

.fh-hero-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    max-width: 560px;
    margin-top: 34px;
}

.fh-hero-stats div {
    padding: 15px;
    border-radius: 8px;
    background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(255, 255, 255, .09);
}

.fh-hero-stats strong {
    display: block;
    color: #fff;
    font-size: 20px;
    line-height: 1;
}

.fh-hero-stats span {
    display: block;
    color: #99a49d;
    font-size: 12px;
    margin-top: 6px;
}

.fh-hero-visual {
    position: relative;
    min-height: 520px;
    border-radius: 8px;
    overflow: hidden;
    background: #101410;
    border: 1px solid rgba(255, 255, 255, .11);
    box-shadow: 0 28px 70px rgba(0, 0, 0, .36);
}

.fh-hero-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 36%, rgba(0, 0, 0, .65));
    pointer-events: none;
}

.fh-hero-visual img {
    width: 100%;
    height: 100%;
    min-height: 520px;
    object-fit: cover;
}

.fh-hero-deal {
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 22px;
    z-index: 2;
    display: grid;
    gap: 6px;
    padding: 18px;
    border-radius: 8px;
    background: rgba(5, 7, 5, .82);
    border: 1px solid rgba(68, 214, 44, .26);
    backdrop-filter: blur(14px);
}

.fh-hero-deal span {
    color: #44d62c;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.fh-hero-deal strong {
    color: #fff;
    font-size: 16px;
    line-height: 1.25;
}

.fh-hero-deal em {
    color: #44d62c;
    font-style: normal;
    font-size: 22px;
    font-weight: 800;
}

.fh-trust {
    background: #0b0e0b;
    border-top: 1px solid rgba(255, 255, 255, .08);
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.fh-trust-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fh-trust article {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 4px 12px;
    padding: 20px 18px;
    border-right: 1px solid rgba(255, 255, 255, .08);
}

.fh-trust article:last-child {
    border-right: 0;
}

.fh-trust i {
    grid-row: span 2;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    color: #44d62c;
    background: rgba(68, 214, 44, .1);
}

.fh-trust strong {
    color: #fff;
    font-size: 14px;
}

.fh-trust span {
    color: #9ca69f;
    font-size: 12.5px;
}

.fh-section {
    padding: 70px 0;
}

.fh-section-muted {
    background: #0b0e0b;
}

.fh-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 26px;
}

.fh-section-head h2,
.fh-showcase h2,
.fh-deals h2 {
    color: #fff;
    font-size: clamp(1.8rem, 3vw, 3rem);
    letter-spacing: 0;
}

.fh-section-head a {
    color: #44d62c;
    font-size: 14px;
    font-weight: 800;
}

.fh-category-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
}

.fh-category-card {
    position: relative;
    min-height: 190px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    border-radius: 8px;
    background: #101410;
    border: 1px solid rgba(255, 255, 255, .1);
}

.fh-category-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .74;
    transition: transform .25s ease, opacity .25s ease;
}

.fh-category-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 20%, rgba(0, 0, 0, .8));
}

.fh-category-card span {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 15px;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
}

.fh-category-card i {
    color: #44d62c;
}

.fh-category-card:hover img {
    opacity: .95;
    transform: scale(1.06);
}

.fh-showcase {
    display: grid;
    grid-template-columns: minmax(0, .84fr) minmax(420px, 1.16fr);
    gap: 32px;
    align-items: center;
}

.fh-showcase-copy {
    padding: 30px;
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(68, 214, 44, .12), rgba(255, 255, 255, .035));
    border: 1px solid rgba(255, 255, 255, .1);
}

.fh-showcase-copy p,
.fh-deals-copy p {
    color: #aab4ad;
    font-size: 15px;
    line-height: 1.65;
    margin: 16px 0 24px;
}

.fh-showcase-products {
    display: grid;
    gap: 12px;
}

.fh-mini-product,
.fh-deal-row {
    display: grid;
    grid-template-columns: 120px 1fr auto;
    gap: 16px;
    align-items: center;
    padding: 12px;
    border-radius: 8px;
    background: #fff;
    color: #080a08;
    border: 1px solid rgba(255, 255, 255, .12);
}

.fh-mini-product {
    grid-template-columns: 118px 1fr;
}

.fh-mini-product img,
.fh-deal-row img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: contain;
    border-radius: 6px;
    background: #f2f4f2;
    padding: 8px;
}

.fh-mini-product span,
.fh-product-body small,
.fh-deal-row span {
    color: #66716a;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.fh-mini-product strong,
.fh-deal-row strong {
    display: block;
    color: #080a08;
    font-size: 14px;
    line-height: 1.32;
    margin: 4px 0;
}

.fh-mini-product em,
.fh-deal-row em,
.fh-product-body em {
    color: #14851f;
    font-style: normal;
    font-weight: 900;
}

.fh-product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.fh-product-card {
    overflow: hidden;
    border-radius: 8px;
    background: #fff;
    color: #080a08;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .18);
}

.fh-product-img {
    position: relative;
    aspect-ratio: 1.08;
    background: #f2f4f2;
}

.fh-product-img span {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 1;
    padding: 5px 9px;
    border-radius: 6px;
    color: #fff;
    background: #e11d48;
    font-size: 12px;
    font-weight: 900;
}

.fh-product-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 18px;
}

.fh-product-body {
    display: grid;
    gap: 9px;
    padding: 16px;
}

.fh-product-body strong {
    min-height: 42px;
    color: #080a08;
    font-size: 14px;
    line-height: 1.36;
}

.fh-product-body div {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px;
}

.fh-product-body del {
    color: #8d968f;
    font-size: 12px;
}

.fh-deals {
    background:
        linear-gradient(135deg, rgba(68, 214, 44, .1), transparent 48%),
        #0b0e0b;
}

.fh-deals-grid {
    display: grid;
    grid-template-columns: minmax(0, .74fr) minmax(420px, 1.26fr);
    gap: 32px;
    align-items: center;
}

.fh-deal-list {
    display: grid;
    gap: 12px;
}

.fh-empty {
    color: #aab4ad;
    padding: 20px;
    border-radius: 8px;
    background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(255, 255, 255, .09);
}

@media (max-width: 1180px) {
    .fh-category-grid,
    .fh-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .fh-hero-grid,
    .fh-showcase,
    .fh-deals-grid {
        grid-template-columns: 1fr;
    }

    .fh-hero-visual {
        min-height: 420px;
    }

    .fh-hero-visual img {
        min-height: 420px;
    }
}

@media (max-width: 760px) {
    .fh-hero {
        padding: 48px 0 38px;
    }

    .fh-hero-stats,
    .fh-trust-grid,
    .fh-category-grid,
    .fh-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fh-section {
        padding: 48px 0;
    }

    .fh-section-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .fh-trust article {
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .08);
    }

    .fh-deal-row {
        grid-template-columns: 92px 1fr;
    }

    .fh-deal-row em {
        grid-column: 2;
    }
}

@media (max-width: 520px) {
    .fh-hero h1 {
        font-size: 2.7rem;
    }

    .fh-hero-actions,
    .fh-btn {
        width: 100%;
    }

    .fh-hero-stats,
    .fh-trust-grid,
    .fh-category-grid,
    .fh-product-grid {
        grid-template-columns: 1fr;
    }

    .fh-hero-visual,
    .fh-hero-visual img {
        min-height: 340px;
    }

    .fh-mini-product {
        grid-template-columns: 90px 1fr;
    }
}

/* ============================================================
   Techspace-inspired product page
   ============================================================ */
.gz-p-breadcrumb,
.gz-p-main,
.gz-p-details,
.gz-p-shipping,
.gz-p-related,
.gz-p-trust-bar {
    background: #f3f4f3 !important;
    color: #111411 !important;
}

.gz-p-breadcrumb {
    padding: 16px 0 !important;
    border-bottom: 1px solid #e3e7e4 !important;
}

.gz-p-breadcrumb nav {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
    color: #66716a !important;
    font-size: 13px !important;
}

.gz-p-breadcrumb a {
    color: #66716a !important;
}

.gz-p-breadcrumb a:hover,
.gz-p-bc-current {
    color: #168a22 !important;
}

.gz-p-bc-sep {
    color: #a3aba6 !important;
    font-size: 10px !important;
}

.gz-p-main {
    padding: 32px 0 26px !important;
}

.gz-p-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.02fr) minmax(420px, .98fr) !important;
    gap: 24px !important;
    align-items: start !important;
}

.gz-p-gallery-card,
.gz-p-info-card,
.gz-p-card {
    background: #fff !important;
    border: 1px solid #e0e4e1 !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 26px rgba(0, 0, 0, .045) !important;
}

.gz-p-gallery-card {
    padding: 18px !important;
}

.gz-p-main-img-wrap {
    position: relative !important;
    min-height: 560px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 8px !important;
    background: #f7f8f7 !important;
    cursor: zoom-in !important;
}

.gz-p-main-img-wrap img {
    width: 100% !important;
    height: 100% !important;
    max-height: 560px !important;
    object-fit: contain !important;
    padding: 18px !important;
}

.gz-p-img-nav {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    border: none !important;
    background: rgba(0,0,0,0.45) !important;
    color: #fff !important;
    font-size: 14px !important;
    cursor: pointer !important;
    z-index: 5 !important;
    display: grid !important;
    place-items: center !important;
    transition: background .2s !important;
}
.gz-p-img-nav:hover { background: rgba(0,0,0,0.7) !important; }
.gz-p-img-prev { left: 10px !important; }
.gz-p-img-next { right: 10px !important; }

.gz-p-sale-badge,
.gz-p-label--sale {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 30px !important;
    padding: 0 10px !important;
    border-radius: 6px !important;
    background: #ef233c !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

.gz-p-sale-badge {
    position: absolute !important;
    top: 14px !important;
    left: 14px !important;
    z-index: 2 !important;
}

.gz-p-thumbs {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 14px !important;
}

.gz-p-thumb {
    height: 88px !important;
    border: 1px solid #e0e4e1 !important;
    border-radius: 8px !important;
    background: #fff !important;
    cursor: pointer !important;
    padding: 6px !important;
}

.gz-p-thumb.active,
.gz-p-thumb:hover {
    border-color: #44d62c !important;
}

.gz-p-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}

.gz-p-info-card {
    padding: 24px !important;
    position: sticky !important;
    top: 18px !important;
}

.gz-p-title {
    color: #111411 !important;
    font-size: clamp(1.55rem, 2.4vw, 2.35rem) !important;
    font-weight: 600 !important;
    line-height: 1.18 !important;
    letter-spacing: 0 !important;
    margin-bottom: 12px !important;
}

.gz-p-title-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-bottom: 12px !important;
}
.gz-p-title-row .gz-p-title { margin-bottom: 0 !important; }

.gz-p-title-brand {
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
}
.gz-p-title-brand-img {
    height: 40px !important;
    width: auto !important;
    object-fit: contain !important;
    filter: brightness(0) invert(1) !important;
}
.gz-p-title-brand-text {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #888 !important;
    white-space: nowrap !important;
}

.gz-p-brand-row { display: inline-flex; align-items: center; gap: 8px; }
.gz-p-brand-logo { height: 20px; width: auto; object-fit: contain; }

.gz-p-short-desc {
    color: #555 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin-bottom: 18px !important;
    max-width: 94% !important;
}

.gz-p-intro-sep {
    margin: 0 0 22px !important;
}

.gz-p-meta {
    display: grid !important;
    gap: 10px !important;
    margin-top: 16px !important;
}

.gz-p-meta-row {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
}

.gz-p-meta-label {
    color: #66716a !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

.gz-p-meta-val {
    color: #111411 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

.gz-p-link {
    color: #168a22 !important;
}

.gz-p-meta-val--new {
    color: #168a22 !important;
}

.gz-p-sep {
    border: 0 !important;
    border-top: 1px solid #e5e8e6 !important;
    margin: 18px 0 !important;
}

.gz-p-rating {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.gz-p-stars {
    color: #f5a524 !important;
    font-size: 13px !important;
}

.gz-p-rating-text {
    color: #66716a !important;
    font-size: 13px !important;
}

.gz-p-price-block {
    display: grid !important;
    gap: 7px !important;
}

/* Final mobile pass: keep every public page usable on phone widths. */
@media (max-width: 640px) {
    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden !important;
    }

    img,
    video,
    iframe {
        max-width: 100%;
    }

    html body .container,
    html body .gz-header .container,
    html body .gz-nav .container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    html body .gz-header-inner.gz-header-inner {
        min-height: 64px !important;
        padding-top: 8px !important;
        padding-bottom: 8px !important;
        display: grid !important;
        grid-template-columns: 50px minmax(0, 1fr) 86px !important;
        grid-template-areas: "logo search actions" !important;
        gap: 8px !important;
        align-items: center !important;
    }

    html body .gz-logo {
        grid-area: logo !important;
        width: 50px !important;
        min-width: 50px !important;
    }

    html body .gz-logo-img.gz-logo-img {
        width: 48px !important;
        height: auto !important;
        max-height: 42px !important;
    }

    html body .gz-search.gz-search {
        grid-area: search !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    html body .gz-search form {
        width: 100% !important;
        min-width: 0 !important;
        height: 40px !important;
        min-height: 40px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 34px !important;
        gap: 4px !important;
        padding: 0 4px 0 10px !important;
        overflow: hidden !important;
    }

    html body .gz-search-icon {
        left: 11px !important;
        font-size: 13px !important;
    }

    html body .gz-search input {
        width: 100% !important;
        min-width: 0 !important;
        padding: 0 2px 0 24px !important;
        font-size: 13px !important;
        text-overflow: ellipsis !important;
    }

    html body .gz-search-btn.gz-search-btn {
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
        margin: 0 !important;
        align-self: center !important;
        justify-self: end !important;
    }

    html body .gz-header-actions.gz-header-actions {
        grid-area: actions !important;
        display: flex !important;
        width: 86px !important;
        min-width: 86px !important;
        max-width: 86px !important;
        gap: 5px !important;
        justify-content: flex-end !important;
        overflow: visible !important;
    }

    html body .gz-header-action.gz-header-action,
    html body .gz-mobile-toggle.gz-mobile-toggle {
        width: 26px !important;
        min-width: 26px !important;
        height: 34px !important;
        border-radius: 8px !important;
        font-size: 13px !important;
    }

    html body .gz-nav.gz-nav {
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        overflow: hidden !important;
    }

    html body .gz-nav-inner.gz-nav-inner {
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: flex-end !important;
        gap: 8px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none !important;
    }

    html body .gz-nav-inner::-webkit-scrollbar {
        display: none !important;
    }

    html body .gz-mega-wrap.gz-mega-wrap,
    html body .gz-nav-links.gz-nav-links,
    html body .gz-nav-links.gz-nav-links > li {
        flex: 0 0 auto !important;
    }

    html body .gz-nav-links.gz-nav-links {
        width: max-content !important;
        min-width: max-content !important;
        height: 38px !important;
        max-height: 38px !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: flex-end !important;
        gap: 8px !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    html body .gz-mega-btn.gz-mega-btn,
    html body .gz-nav-links > li > a,
    html body.theme-dark .gz-nav-links > li > a,
    html body.light-theme .gz-nav-links > li > a {
        height: 38px !important;
        min-height: 38px !important;
        min-width: 128px !important;
        padding: 0 11px !important;
        font-size: 11px !important;
        line-height: 1.05 !important;
        white-space: nowrap !important;
    }

    html body .gz-mega-panel.gz-mega-panel {
        position: fixed !important;
        top: 108px !important;
        left: 8px !important;
        right: 8px !important;
        width: auto !important;
        max-width: calc(100vw - 16px) !important;
        max-height: calc(100vh - 120px) !important;
        grid-template-columns: 1fr !important;
        overflow: auto !important;
    }

    html body .gz-mega-rail.gz-mega-rail,
    html body .gz-mega-group-grid.gz-mega-group-grid {
        grid-template-columns: 1fr !important;
    }

    html body .ct-hero.ts-slider {
        height: min(74vh, 520px) !important;
        min-height: 360px !important;
    }

    html body .ct-hero-slide img,
    html body .ct-hero-slide video {
        width: 100% !important;
        height: 100% !important;
        min-height: 360px !important;
        object-fit: cover !important;
    }

    html body .ts-store-alert {
        min-height: 34px !important;
        padding: 7px 12px !important;
        font-size: 11px !important;
        line-height: 1.3 !important;
        text-align: center !important;
    }

    html body .products-layout,
    html body .products-top-bar,
    html body .top-bar-left,
    html body .top-bar-right,
    html body .ct-shop-heading,
    html body .gz-pc-results,
    html body .gz-pc-toolbar {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 12px !important;
    }

    html body .ct-shop-heading-sort,
    html body .sort-select-wrap,
    html body .filter-select {
        width: 100% !important;
        max-width: 100% !important;
    }

    html body .ct-frequent-searches-inline {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        gap: 8px !important;
        width: 100% !important;
        padding-bottom: 4px !important;
        scrollbar-width: none !important;
    }

    html body .ct-frequent-searches-inline::-webkit-scrollbar {
        display: none !important;
    }

    html body .ct-frequent-searches-inline a {
        flex: 0 0 auto !important;
        min-width: auto !important;
        padding: 8px 12px !important;
        font-size: 12px !important;
    }

    html body .products-grid,
    html body .products-grid.cols-2,
    html body .products-grid.cols-3,
    html body .products-grid.cols-4,
    html body .products-grid.cols-5,
    html body .gz-pc-grid,
    html body .ts-product-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 14px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    html body .product-card,
    html body .gz-pc-card,
    html body .ts-flash-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    html body .product-img,
    html body .gz-pc-card-media,
    html body .gz-pc-card-img {
        min-height: 210px !important;
    }

    html body .product-img img,
    html body .gz-pc-card-media img,
    html body .gz-pc-card-img img {
        width: 100% !important;
        height: 210px !important;
        object-fit: contain !important;
    }

    html body #filterSidebar,
    html body #pcFilters {
        position: static !important;
        transform: none !important;
        width: 100% !important;
        max-width: 100% !important;
        max-height: none !important;
        overflow: visible !important;
        border-radius: 10px !important;
    }

    html body .filter-close-btn,
    html body .filter-overlay,
    html body #filterToggleBtn,
    html body #pcFilterToggle {
        display: none !important;
    }

    html body .filter-list-item,
    html body .filter-list-label,
    html body .filter-list-count {
        text-align: left !important;
    }

    html body.template-product .gz-p-grid.gz-p-grid-sticky,
    html body .gz-p-main .gz-p-grid.gz-p-grid-sticky {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 16px !important;
    }

    html body.template-product .gz-p-info,
    html body.template-product .gz-p-left,
    html body.template-product .gz-p-card,
    html body.template-product .gz-p-info-card,
    html body.template-product .gz-p-gallery,
    html body.template-product .gz-p-gallery-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        position: static !important;
    }

    html body.template-product .gz-p-info {
        order: -1 !important;
    }

    html body.template-product .gz-p-title,
    html body .ct-shop-heading h1,
    html body .gz-pc-hero h1 {
        font-size: clamp(1.55rem, 7vw, 2.05rem) !important;
        line-height: 1.12 !important;
        font-weight: 600 !important;
    }

    html body.template-product .gz-p-gallery-stage {
        display: flex !important;
        flex-direction: column-reverse !important;
        gap: 10px !important;
    }

    html body.template-product .gz-p-thumb-rail {
        display: flex !important;
        flex-direction: row !important;
        overflow-x: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        scrollbar-width: none !important;
    }

    html body.template-product .gz-p-thumb-rail::-webkit-scrollbar {
        display: none !important;
    }

    html body.template-product .gz-p-main-img-wrap {
        min-height: 280px !important;
        height: auto !important;
    }

    html body.template-product .gz-p-main-img-wrap img,
    html body.template-product .gz-p-gallery > img {
        width: 100% !important;
        height: auto !important;
        max-height: 320px !important;
        object-fit: contain !important;
    }

    html body.template-product .gz-p-prices {
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    html body.template-product .gz-p-price {
        font-size: clamp(1.65rem, 8vw, 2rem) !important;
        line-height: 1.05 !important;
    }

    html body.template-product .gz-p-add-form,
    html body.template-product .gz-p-qty-row {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
    }

    html body.template-product .gz-p-qty,
    html body.template-product .gz-p-add-btn {
        width: 100% !important;
    }
}

@media (max-width: 640px) {
    html body .gz-header-inner.gz-header-inner {
        min-height: 104px !important;
        grid-template-columns: 54px minmax(0, 1fr) !important;
        grid-template-rows: 42px 42px !important;
        grid-template-areas:
            "logo actions"
            "search search" !important;
        row-gap: 8px !important;
    }

    html body .gz-header-actions.gz-header-actions {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        justify-self: end !important;
    }

    html body .gz-search.gz-search {
        justify-self: stretch !important;
    }

    html body .gz-search form {
        height: 42px !important;
        grid-template-columns: minmax(0, 1fr) 36px !important;
        padding-left: 12px !important;
    }

    html body .gz-search-btn.gz-search-btn {
        width: 36px !important;
        min-width: 36px !important;
        height: 36px !important;
    }

    html body .gz-nav.gz-nav {
        top: auto !important;
    }

    html body .gz-mega-panel.gz-mega-panel {
        top: 148px !important;
    }
}

.gz-p-price-label {
    color: #66716a !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

.gz-p-prices {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 12px !important;
}

.gz-p-price {
    color: #111411 !important;
    font-size: clamp(1.95rem, 3.4vw, 2.2rem) !important;
    font-weight: 600 !important;
    line-height: 1 !important;
}

.gz-p-price-compare {
    color: #8b948e !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    text-decoration: line-through !important;
}

.gz-p-price-notes {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0 14px !important;
    color: #66716a !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
}

.gz-p-price-notes span + span {
    position: relative !important;
}

.gz-p-price-notes span + span::before {
    content: "" !important;
    position: absolute !important;
    left: -8px !important;
    top: 50% !important;
    width: 3px !important;
    height: 3px !important;
    transform: translateY(-50%) !important;
    border-radius: 50% !important;
    background: currentColor !important;
}

.gz-p-ref-line {
    color: #66716a !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
}

.gz-p-ref-line strong {
    color: #111411 !important;
    font-weight: 600 !important;
}

.gz-p-stock-line {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    width: fit-content !important;
    margin-top: 10px !important;
    color: #16a34a !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}

.gz-p-stock-line i {
    color: currentColor !important;
    font-size: 9px !important;
}

.gz-p-savings {
    color: #ef233c !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

.gz-p-qty-row {
    display: grid !important;
    grid-template-columns: 88px auto 1fr !important;
    gap: 14px !important;
    align-items: center !important;
}

.gz-p-qty-label {
    color: #66716a !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

.gz-p-qty {
    display: inline-grid !important;
    grid-template-columns: 38px 48px 38px !important;
    height: 42px !important;
    border: 1px solid #dfe4e0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

.gz-p-qty-btn {
    border: 0 !important;
    background: #f2f4f2 !important;
    color: #111411 !important;
    cursor: pointer !important;
}

.gz-p-qty-btn:hover {
    background: #44d62c !important;
}

.gz-p-qty-val {
    display: grid !important;
    place-items: center !important;
    color: #111411 !important;
    font-weight: 800 !important;
}

.gz-p-stock {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    color: #168a22 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}

.gz-p-add-form {
    margin-top: 18px !important;
}

.gz-p-add-btn {
    width: 100% !important;
    min-height: 52px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #44d62c !important;
    color: #071007 !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}

.gz-p-add-btn:hover {
    filter: brightness(.96) !important;
}

.gz-p-soldout {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 50px !important;
    border-radius: 8px !important;
    color: #fff !important;
    background: #ef233c !important;
    font-weight: 900 !important;
}

.gz-p-trust-row {
    display: grid !important;
    gap: 8px !important;
    margin-top: 16px !important;
}

.gz-p-trust-row span {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #606a63 !important;
    font-size: 13px !important;
}

.gz-p-trust-row i {
    color: #44d62c !important;
}

.gz-p-details,
.gz-p-shipping,
.gz-p-related {
    padding: 12px 0 !important;
}

.gz-p-card {
    overflow: hidden !important;
}

.gz-p-card-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding: 20px 24px !important;
    border-bottom: 1px solid #e5e8e6 !important;
    cursor: pointer !important;
}

.gz-p-card-header h2 {
    color: #111411 !important;
    font-size: 22px !important;
    letter-spacing: 0 !important;
}

.gz-p-card-icon {
    color: #168a22 !important;
    transition: transform .18s ease !important;
}

.gz-p-card-icon--open {
    transform: rotate(180deg) !important;
}

.gz-p-card-body {
    padding: 24px !important;
}

.gz-p-card-body--collapsed {
    display: none !important;
}

.gz-p-fiche-title {
    color: #111411 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    margin-bottom: 14px !important;
}

.gz-p-specs-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-bottom: 22px !important;
    border: 1px solid #e5e8e6 !important;
}

.gz-p-specs-table tr {
    border-bottom: 1px solid #e5e8e6 !important;
}

.gz-p-specs-table tr:last-child {
    border-bottom: 0 !important;
}

.gz-p-specs-table td {
    padding: 13px 16px !important;
    font-size: 14px !important;
    vertical-align: top !important;
}

.gz-p-spec-key {
    width: 240px !important;
    color: #111411 !important;
    background: #f6f7f6 !important;
    font-weight: 900 !important;
}

.gz-p-spec-val {
    color: #4d5650 !important;
}

.gz-p-description {
    color: #4d5650 !important;
    font-size: 15px !important;
    line-height: 1.75 !important;
}

.gz-p-description h1,
.gz-p-description h2,
.gz-p-description h3,
.gz-p-description h4 {
    color: #111411 !important;
    margin: 18px 0 10px !important;
}

.gz-p-shipping-item {
    padding: 14px 0 !important;
    border-bottom: 1px solid #e5e8e6 !important;
}

.gz-p-shipping-item:last-child {
    border-bottom: 0 !important;
}

.gz-p-shipping-item h4 {
    color: #111411 !important;
    font-size: 15px !important;
    margin-bottom: 6px !important;
}

.gz-p-shipping-item p {
    color: #5e6861 !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

.gz-p-section-title {
    color: #111411 !important;
    font-size: 24px !important;
    margin-bottom: 18px !important;
}

.gz-p-rail-wrap {
    position: relative !important;
}

.gz-p-related .gz-product-rail {
    display: flex !important;
    gap: 14px !important;
    overflow-x: auto !important;
    padding-bottom: 8px !important;
}

.gz-p-related .product-card {
    flex: 0 0 260px !important;
    background: #fff !important;
}

.gz-p-trust-bar {
    padding: 28px 0 44px !important;
}

.gz-p-trust-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.gz-p-trust-card {
    display: grid !important;
    grid-template-columns: 44px 1fr !important;
    gap: 4px 12px !important;
    padding: 18px !important;
    border-radius: 8px !important;
    background: #fff !important;
    border: 1px solid #e0e4e1 !important;
}

.gz-p-trust-icon {
    grid-row: span 2 !important;
    width: 44px !important;
    height: 44px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 8px !important;
    color: #071007 !important;
    background: #44d62c !important;
}

.gz-p-trust-card strong {
    color: #111411 !important;
    font-size: 14px !important;
}

.gz-p-trust-card span {
    color: #606a63 !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
}

.gz-zoom-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1000 !important;
    display: none !important;
    place-items: center !important;
    background: rgba(0, 0, 0, .72) !important;
    padding: 24px !important;
}

.gz-zoom-modal.open {
    display: grid !important;
}

.gz-zoom-inner {
    position: relative !important;
    width: min(920px, 96vw) !important;
    max-height: 92vh !important;
    padding: 20px !important;
    border-radius: 8px !important;
    background: #fff !important;
}

.gz-zoom-inner img {
    width: 100% !important;
    max-height: calc(92vh - 40px) !important;
    object-fit: contain !important;
}

.gz-zoom-close {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    width: 38px !important;
    height: 38px !important;
    display: grid !important;
    place-items: center !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #111411 !important;
    color: #fff !important;
    cursor: pointer !important;
}

@media (max-width: 1024px) {
    .gz-p-grid {
        grid-template-columns: 1fr !important;
    }

    .gz-p-info-card {
        position: static !important;
    }

    .gz-p-trust-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    .gz-p-main {
        padding-top: 18px !important;
    }

    .gz-p-gallery-card,
    .gz-p-info-card,
    .gz-p-card {
        border-radius: 0 !important;
        margin-left: -24px !important;
        margin-right: -24px !important;
    }

    .gz-p-main-img-wrap {
        min-height: 340px !important;
    }

    .gz-p-main-img-wrap img {
        max-height: 340px !important;
    }

    .gz-p-thumbs {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    .gz-p-meta-row,
    .gz-p-qty-row {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 4px !important;
    }

    .gz-p-price {
        font-size: 2.15rem !important;
    }

    .gz-p-specs-table,
    .gz-p-specs-table tbody,
    .gz-p-specs-table tr,
    .gz-p-specs-table td {
        display: block !important;
        width: 100% !important;
    }

    .gz-p-specs-table td {
        padding: 11px 14px !important;
    }

    .gz-p-trust-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Light mode: black primary buttons */
body.light-theme .btn-primary,
body.light-theme .gz-btn-primary,
body.light-theme .fh-btn-primary,
body.light-theme .ts-section-head > a,
body.light-theme .ts-deal-copy a,
body.light-theme .fh-btn-primary,
body.light-theme .gz-p-add-btn,
body.light-theme .gz-footer-newsletter button,
body.light-theme .search-btn,
body.light-theme .mega-menu-btn {
    background: #050505 !important;
    color: #ffffff !important;
    border-color: #050505 !important;
    box-shadow: none !important;
}

body.light-theme .btn-primary:hover,
body.light-theme .gz-btn-primary:hover,
body.light-theme .fh-btn-primary:hover,
body.light-theme .ts-section-head > a:hover,
body.light-theme .ts-deal-copy a:hover,
body.light-theme .gz-p-add-btn:hover,
body.light-theme .gz-footer-newsletter button:hover,
body.light-theme .search-btn:hover,
body.light-theme .mega-menu-btn:hover {
    background: #1a1a1a !important;
    color: #ffffff !important;
    filter: none !important;
}

/* ============================================================
   Techspace-inspired home for GamingZone
   ============================================================ */
.ts-home {
    background: #f3f4f3;
    color: #111411;
}

.ts-home .ts-slider {
    height: clamp(430px, 43vw, 600px) !important;
    min-height: 360px;
    background: #050705;
}

.ts-home .ts-slider .ct-hero-slide img,
.ts-home .ts-slider .ct-hero-slide video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ts-home .ts-slider .ct-hero-slide::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: transparent;
    pointer-events: none;
}

.ts-hero-copy {
    position: absolute;
    z-index: 2;
    top: clamp(34px, 6vw, 72px);
    left: 50%;
    width: min(92%, 900px);
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    color: #ffffff;
    font-family: 'Outfit', 'Roboto', Arial, sans-serif;
    text-shadow: 0 2px 18px rgba(0, 0, 0, .42);
    pointer-events: none;
}

.ts-hero-eyebrow {
    color: #44d62c;
    font-size: clamp(12px, 1.1vw, 15px);
    line-height: 1.2;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 9px;
}

.ts-hero-title {
    color: #ffffff;
    font-size: clamp(32px, 4.2vw, 64px);
    line-height: .98;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0;
}

.ts-hero-subtitle {
    color: rgba(255, 255, 255, .88);
    font-size: clamp(17px, 1.7vw, 25px);
    line-height: 1.28;
    font-weight: 500;
    margin-top: 12px;
    max-width: 760px;
}

.ts-hero-cta {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #44d62c;
    font-size: clamp(15px, 1.35vw, 20px);
    line-height: 1.2;
    font-weight: 700;
    margin-top: 20px;
    text-transform: none;
}

.ts-hero-cta i {
    font-size: .72em;
}

.ts-home .ct-hero-arrow {
    background: rgba(0, 0, 0, .68);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .2);
}

.ts-home .ct-hero-arrow:hover {
    background: #44d62c;
    color: #050705;
}

.ts-home .ct-hero-thumbs button {
    background: rgba(255, 255, 255, .55);
}

.ts-home .ct-hero-thumbs button.active {
    background: #44d62c;
}

.ts-store-strip {
    background: #000000;
    color: #ffffff;
    border-top: 1px solid #44d62c;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.ts-store-alert {
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 9px 20px;
    background: #555555;
    color: #ffffff;
    text-align: center;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 500;
}

.ts-store-alert a {
    color: #ffffff;
    text-decoration: underline;
    text-underline-offset: 2px;
    font-weight: 700;
    white-space: nowrap;
}

.ts-store-alert i {
    font-size: 10px;
}

.ts-store-rail {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 8px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    padding: 26px 16px 18px;
    background: #000000;
    scrollbar-color: #444 #101010;
}

.ts-store-rail::-webkit-scrollbar {
    height: 6px;
}

.ts-store-rail::-webkit-scrollbar-track {
    background: #101010;
}

.ts-store-rail::-webkit-scrollbar-thumb {
    background: #444;
    border-radius: 999px;
}

.ts-store-cat {
    flex: 0 0 108px;
    min-width: 0;
    display: grid;
    grid-template-rows: 74px auto;
    justify-items: center;
    align-items: end;
    gap: 9px;
    color: #ffffff;
    font-size: 14px;
    line-height: 1.15;
    font-weight: 500;
    text-align: center;
    transition: color .16s ease, transform .16s ease;
}

.ts-store-cat:hover {
    color: #44d62c;
    transform: translateY(-2px);
}

.ts-store-cat-img {
    width: 100px;
    height: 70px;
    display: grid;
    place-items: center;
    overflow: hidden;
    filter: drop-shadow(0 14px 20px rgba(0, 0, 0, .45));
}

.ts-store-cat-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.ts-intro,
.ts-collections,
.ts-product-section,
.ts-brands,
.ts-service-row {
    padding: 34px 0;
}

.ts-intro h1 {
    color: #101410;
    font-size: clamp(2rem, 4vw, 3.4rem);
    letter-spacing: 0;
    margin-bottom: 22px;
}

.ts-feature-tiles {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.ts-feature-tile {
    display: grid;
    grid-template-columns: 46px 1fr;
    gap: 14px;
    align-items: start;
    padding: 20px;
    border-radius: 8px;
    background: #fff;
    border: 1px solid #e2e5e3;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .04);
}

.ts-feature-tile i {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    color: #101410;
    background: #44d62c;
}

.ts-feature-tile strong {
    display: block;
    color: #101410;
    font-size: 18px;
    line-height: 1.2;
}

.ts-feature-tile span {
    display: block;
    color: #606a63;
    font-size: 13px;
    line-height: 1.55;
    margin: 7px 0;
}

.ts-feature-tile em {
    color: #168a22;
    font-style: normal;
    font-size: 13px;
    font-weight: 800;
}

.ts-collections {
    padding-top: 14px;
}

.ts-collections h2,
.ts-section-head h2 {
    color: #101410;
    font-size: clamp(1.45rem, 2.6vw, 2.3rem);
    letter-spacing: 0;
}

.ts-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.ts-chip-row a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 8px;
    color: #101410;
    background: #fff;
    border: 1px solid #dfe4e0;
    font-size: 13.5px;
    font-weight: 800;
}

.ts-chip-row a:hover {
    border-color: #44d62c;
    color: #168a22;
}

.ts-product-section {
    background: #f3f4f3;
}

.ts-product-section.ts-soft {
    background: #fff;
    border-top: 1px solid #e5e8e6;
    border-bottom: 1px solid #e5e8e6;
}

.ts-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}

.ts-section-head p {
    max-width: 680px;
    color: #606a63;
    font-size: 14px;
    line-height: 1.6;
    margin-top: 7px;
}

.ts-section-head > a {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 16px;
    border-radius: 8px;
    color: #101410;
    background: #44d62c;
    font-size: 13px;
    font-weight: 900;
}

.ts-product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.ts-product-grid .product-card {
    border-radius: 8px !important;
    background: #fff !important;
    border: 1px solid #e0e4e1 !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .045) !important;
}

.ts-product-grid .product-card:hover {
    border-color: #44d62c !important;
    transform: translateY(-3px);
}

.ts-product-grid .product-img {
    background: #f7f8f7 !important;
    border-radius: 6px !important;
}

.ts-product-grid .product-img img {
    object-fit: contain !important;
    padding: 12px !important;
}

.ts-product-grid .product-name {
    color: #101410 !important;
}

.ts-product-grid .product-cat {
    color: #6a746d !important;
}

.ts-product-grid .product-price .current {
    color: #168a22 !important;
}

.ts-deal-band {
    padding: 42px 0;
    background: #0b0e0b;
    color: #fff;
}

.ts-deal-wrap {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(460px, 1.2fr);
    gap: 28px;
    align-items: center;
}

.ts-deal-copy span {
    color: #44d62c;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.ts-deal-copy h2 {
    color: #fff;
    font-size: clamp(1.8rem, 3.2vw, 3rem);
    margin: 8px 0 12px;
}

.ts-deal-copy p {
    color: #aeb8b0;
    line-height: 1.65;
}

.ts-deal-copy a {
    display: inline-flex;
    margin-top: 18px;
    min-height: 40px;
    align-items: center;
    padding: 0 16px;
    border-radius: 8px;
    color: #101410;
    background: #44d62c;
    font-weight: 900;
}

.ts-deal-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.ts-deal-card {
    display: grid;
    gap: 9px;
    padding: 12px;
    border-radius: 8px;
    color: #101410;
    background: #fff;
}

.ts-deal-card img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: contain;
    padding: 8px;
    border-radius: 6px;
    background: #f5f6f5;
}

.ts-deal-card strong {
    min-height: 40px;
    color: #101410;
    font-size: 12.5px;
    line-height: 1.32;
}

.ts-deal-card em {
    color: #168a22;
    font-style: normal;
    font-weight: 900;
}

.ts-brands {
    background: #fff;
    border-top: 1px solid #e5e8e6;
}

.ts-brand-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
}

.ts-brand-grid a {
    height: 88px;
    display: grid;
    place-items: center;
    padding: 18px;
    border-radius: 8px;
    background: #f7f8f7;
    border: 1px solid #e2e5e3;
}

.ts-brand-grid img {
    max-height: 38px;
    max-width: 120px;
    object-fit: contain;
}

.ts-service-row {
    background: #f3f4f3;
    border-top: 1px solid #e5e8e6;
}

.ts-service-row .container {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.ts-service-row article {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 4px 12px;
    padding: 18px;
    border-radius: 8px;
    background: #fff;
    border: 1px solid #e2e5e3;
}

.ts-service-row i {
    grid-row: span 2;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    color: #101410;
    background: #44d62c;
}

.ts-service-row strong {
    color: #101410;
    font-size: 14px;
}

.ts-service-row span {
    color: #606a63;
    font-size: 12.5px;
    line-height: 1.45;
}

.ts-empty {
    color: #aeb8b0;
}

@media (max-width: 1100px) {
    .ts-product-grid,
    .ts-deal-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ts-feature-tiles,
    .ts-deal-wrap {
        grid-template-columns: 1fr;
    }

    .ts-brand-grid,
    .ts-service-row .container {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .ts-home .ts-slider {
        min-height: 300px;
        height: 62vw;
    }

    .ts-store-alert {
        align-items: center;
        flex-wrap: wrap;
        padding: 9px 14px;
        font-size: 12.5px;
    }

    .ts-store-rail {
        justify-content: flex-start;
        padding: 20px 12px 16px;
    }

    .ts-store-cat {
        flex-basis: 96px;
        grid-template-rows: 62px auto;
        font-size: 12.5px;
    }

    .ts-store-cat-img {
        width: 84px;
        height: 58px;
    }

    .ts-hero-copy {
        top: 28px;
        width: calc(100% - 32px);
    }

    .ts-hero-title {
        font-size: 34px;
        line-height: 1.02;
    }

    .ts-hero-subtitle {
        font-size: 16px;
        max-width: 360px;
    }

    .ts-product-grid,
    .ts-deal-grid,
    .ts-brand-grid,
    .ts-service-row .container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ts-section-head {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 520px) {
    .ts-hero-title {
        font-size: 29px;
    }

    .ts-hero-eyebrow {
        font-size: 11px;
        margin-bottom: 7px;
    }

    .ts-hero-subtitle {
        font-size: 14.5px;
    }

    .ts-hero-cta {
        font-size: 14px;
        margin-top: 14px;
    }

    .ts-feature-tiles,
    .ts-product-grid,
    .ts-deal-grid,
    .ts-brand-grid,
    .ts-service-row .container {
        grid-template-columns: 1fr;
    }

    .ts-intro,
    .ts-collections,
    .ts-product-section,
    .ts-brands,
    .ts-service-row {
        padding: 26px 0;
    }
}

/* ============================================================
   PRODUCT PAGE – Force Light Theme (Techspace.ma style)
   These override the dark base styles only on product pages
   ============================================================ */
body:not(.theme-dark) .header,
.template-product .header {
    background: #002fc4 !important;
    border-bottom: 2px solid #002fc4 !important;
}
body:not(.theme-dark) .top-bar,
.template-product .top-bar {
    background: #002fc4 !important;
}
body:not(.theme-dark) .top-bar-left span,
body:not(.theme-dark) .top-bar-right a,
.template-product .top-bar-left span,
.template-product .top-bar-right a {
    color: #a3afef !important;
}
body:not(.theme-dark) .top-bar-left i,
body:not(.theme-dark) .top-bar-right i {
    color: #00badb !important;
}
body:not(.theme-dark) .logo-name,
.template-product .logo-name {
    color: #fff !important;
}
body:not(.theme-dark) .logo-name span,
.template-product .logo-name span {
    color: #00badb !important;
}
body:not(.theme-dark) .search-bar form,
.template-product .search-bar form {
    background: #1a2e7a !important;
    border-color: #2a3e8a !important;
}
body:not(.theme-dark) .search-bar input,
.template-product .search-bar input {
    color: #fff !important;
}
body:not(.theme-dark) .search-bar input::placeholder,
.template-product .search-bar input::placeholder {
    color: #8899cc !important;
}
body:not(.theme-dark) .search-btn,
.template-product .search-btn {
    background: #00badb !important;
}
body:not(.theme-dark) .header-action,
.template-product .header-action {
    background: #1a2e7a !important;
    color: #fff !important;
    border: none !important;
}
body:not(.theme-dark) .cart-count,
.template-product .cart-count {
    border-color: #002fc4 !important;
}
body:not(.theme-dark) .main-nav,
.template-product .main-nav {
    background: #001d8f !important;
}
body:not(.theme-dark) .mega-menu-btn,
body:not(.theme-dark) .nav-links > li > a,
.template-product .mega-menu-btn,
.template-product .nav-links > li > a {
    background: transparent !important;
    color: #fff !important;
    border-color: transparent !important;
    font-weight: 600 !important;
}
body:not(.theme-dark) .mega-menu-btn:hover,
body:not(.theme-dark) .nav-links > li > a:hover,
.template-product .mega-menu-btn:hover,
.template-product .nav-links > li > a:hover {
    background: #00badb !important;
    color: #fff !important;
}
body:not(.theme-dark) .mega-menu-panel,
.template-product .mega-menu-panel {
    background: #fff !important;
    border-color: #e1e3e4 !important;
}
body:not(.theme-dark) .mega-menu-rail,
.template-product .mega-menu-rail {
    background: #f3f5f6 !important;
    border-color: #e1e3e4 !important;
}
body:not(.theme-dark) .mega-menu-rail-item,
.template-product .mega-menu-rail-item {
    color: #333 !important;
}
body:not(.theme-dark) .mega-menu-rail-item.active,
body:not(.theme-dark) .mega-menu-rail-item:hover,
.template-product .mega-menu-rail-item.active,
.template-product .mega-menu-rail-item:hover {
    background: rgba(0, 186, 219, 0.1) !important;
    color: #002fc4 !important;
}
body:not(.theme-dark) .mega-menu-content,
.template-product .mega-menu-content {
    background: #fff !important;
}
body:not(.theme-dark) .mega-menu-section-head h3,
.template-product .mega-menu-section-head h3 {
    color: #002fc4 !important;
}
body:not(.theme-dark) .mega-menu-section-head a,
.template-product .mega-menu-section-head a {
    color: #00badb !important;
}
body:not(.theme-dark) .mega-menu-group h4,
.template-product .mega-menu-group h4 {
    color: #002fc4 !important;
}
body:not(.theme-dark) .mega-menu-group li a,
.template-product .mega-menu-group li a {
    color: #677279 !important;
}
body:not(.theme-dark) .mega-menu-group li a:hover,
.template-product .mega-menu-group li a:hover {
    color: #00badb !important;
}

/* Footer light for product page */
body:not(.theme-dark) .footer,
.template-product .footer {
    background: #e7ebee !important;
}
body:not(.theme-dark) .footer-bottom,
.template-product .footer-bottom {
    background: #d8dde1 !important;
}
body:not(.theme-dark) .jp-footer-main h4,
body:not(.theme-dark) .jp-footer-col h4,
.template-product .jp-footer-main h4,
.template-product .jp-footer-col h4 {
    color: #002fc4 !important;
}
body:not(.theme-dark) .jp-footer-main p,
body:not(.theme-dark) .jp-footer-main li a,
body:not(.theme-dark) .jp-footer-col p,
body:not(.theme-dark) .jp-footer-col li a,
.template-product .jp-footer-main p,
.template-product .jp-footer-main li a,
.template-product .jp-footer-col p,
.template-product .jp-footer-col li a {
    color: #677279 !important;
}
body:not(.theme-dark) .jp-social-bar,
.template-product .jp-social-bar {
    background: #002fc4 !important;
}
body:not(.theme-dark) .jp-social-bar strong,
.template-product .jp-social-bar strong {
    color: #fff !important;
}
body:not(.theme-dark) .jp-social-icons a,
.template-product .jp-social-icons a {
    color: #a3afef !important;
}
body:not(.theme-dark) .jp-social-icons a:hover,
.template-product .jp-social-icons a:hover {
    color: #00badb !important;
}
body:not(.theme-dark) .jp-trust-row article,
.template-product .jp-trust-row article {
    border-color: #d4d6d8 !important;
}
body:not(.theme-dark) .jp-trust-row strong,
.template-product .jp-trust-row strong {
    color: #002fc4 !important;
}
body:not(.theme-dark) .jp-trust-row span,
.template-product .jp-trust-row span {
    color: #677279 !important;
}
body:not(.theme-dark) .jp-trust-row i,
.template-product .jp-trust-row i {
    color: #00badb !important;
}
body:not(.theme-dark) .jp-payments span,
.template-product .jp-payments span {
    background: #fff !important;
    color: #677279 !important;
    border-color: #d4d6d8 !important;
}
body:not(.theme-dark) .jp-footer-bottom p,
.template-product .jp-footer-bottom p {
    color: #677279 !important;
}
body:not(.theme-dark) .footer-bottom p,
.template-product .footer-bottom p {
    color: #677279 !important;
}
body:not(.theme-dark) .jp-footer-ad,
.template-product .jp-footer-ad {
    background: #002fc4 !important;
}
body:not(.theme-dark) .jp-footer-ad span,
.template-product .jp-footer-ad span {
    color: #a3afef !important;
}
body:not(.theme-dark) .jp-footer-ad strong,
.template-product .jp-footer-ad strong {
    color: #fff !important;
}
body:not(.theme-dark) .jp-footer-ad small,
.template-product .jp-footer-ad small {
    color: #a3afef !important;
}

/* Product cards light on product page */
body:not(.theme-dark) .product-card,
.template-product .product-card {
    background: #fff !important;
    border-color: #e1e3e4 !important;
}
body:not(.theme-dark) .product-name,
.template-product .product-name {
    color: #1a1a1a !important;
}
body:not(.theme-dark) .product-price .current,
.template-product .product-price .current {
    color: #008a00 !important;
}
body:not(.theme-dark) .product-cta,
.template-product .product-cta {
    background: #050505 !important;
    color: #fff !important;
}
body:not(.theme-dark) .product-cta:hover,
.template-product .product-cta:hover {
    background: #1a1a1a !important;
}

/* Product page body bg */
body:not(.theme-dark) main,
.template-product main {
    background: #f3f5f6 !important;
}

/* ============================================================
   FRESH HEADER – Adaptive (dark on home / light on product)
   ============================================================ */
:root,
body:not(.theme-dark) {
    --gz-h-top-bg: #050705;
    --gz-h-top-fg: #b8bdb9;
    --gz-h-top-muted: #8a918c;
    --gz-h-top-accent: #44d62c;
    --gz-h-main-bg: #0a0c0a;
    --gz-h-main-fg: #f2f4f2;
    --gz-h-main-muted: #aeb8b0;
    --gz-h-accent: #44d62c;
    --gz-h-accent-2: #44d62c;
    --gz-h-accent-soft: rgba(68, 214, 44, .12);
    --gz-h-search-bg: #121612;
    --gz-h-search-border: #242a24;
    --gz-h-search-fg: #f2f4f2;
    --gz-h-nav-bg: #050705;
    --gz-h-nav-fg: #cfd6d0;
    --gz-h-nav-soft: rgba(255, 255, 255, .08);
    --gz-h-mega-bg: #ffffff;
    --gz-h-mega-border: #e1e3e4;
    --gz-h-rail-bg: #f5f7f5;
    --gz-h-rail-fg: #1a2e1a;
    --gz-h-group-fg: #3a4a3c;
    --gz-h-btn-bg: #44d62c;
    --gz-h-btn-fg: #050705;
    --gz-h-cart-bg: #44d62c;
    --gz-h-cart-fg: #050705;
}

body.theme-dark {
    --gz-h-top-bg: #050705;
    --gz-h-top-fg: #b8bdb9;
    --gz-h-top-muted: #8a918c;
    --gz-h-top-accent: #44d62c;
    --gz-h-main-bg: #0a0c0a;
    --gz-h-main-fg: #f2f4f2;
    --gz-h-main-muted: #aeb8b0;
    --gz-h-accent: #44d62c;
    --gz-h-accent-2: #44d62c;
    --gz-h-accent-soft: rgba(68, 214, 44, .12);
    --gz-h-search-bg: #121612;
    --gz-h-search-border: #242a24;
    --gz-h-search-fg: #f2f4f2;
    --gz-h-nav-bg: #050705;
    --gz-h-nav-fg: #cfd6d0;
    --gz-h-nav-soft: rgba(255, 255, 255, .08);
    --gz-h-mega-bg: #ffffff;
    --gz-h-mega-border: #e1e3e4;
    --gz-h-rail-bg: #f5f7f5;
    --gz-h-rail-fg: #1a2e1a;
    --gz-h-group-fg: #3a4a3c;
    --gz-h-btn-bg: #44d62c;
    --gz-h-btn-fg: #050705;
    --gz-h-cart-bg: #44d62c;
    --gz-h-cart-fg: #050705;
}

/* ---------- Top bar ---------- */
.gz-topbar {
    background: var(--gz-h-top-bg);
    color: var(--gz-h-top-fg);
    font-size: 12.5px;
}
.gz-topbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 8px 24px;
    max-width: 1400px;
    margin: 0 auto;
}
.gz-topbar-left,
.gz-topbar-right {
    display: flex;
    align-items: center;
    gap: 22px;
}
.gz-topbar-left span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--gz-h-top-fg);
}
.gz-topbar-left i,
.gz-topbar-right i {
    color: var(--gz-h-top-accent);
}
.gz-topbar-right a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--gz-h-top-muted);
    transition: color .15s;
}
.gz-topbar-right a:hover {
    color: var(--gz-h-top-fg);
}

/* ---------- Header main row ---------- */
.gz-header {
    background: var(--gz-h-main-bg);
    position: sticky;
    top: 0;
    z-index: 300;
    box-shadow: 0 6px 22px -10px rgba(0, 0, 0, .18);
}
.gz-header-inner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 22px;
    padding: 14px 24px;
    max-width: 1400px;
    margin: 0 auto;
}
.gz-logo {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-self: start;
}
.gz-logo-img {
    height: 46px;
    width: auto;
    object-fit: contain;
}

/* Search */
.gz-search {
    max-width: 620px;
    justify-self: center;
    width: 100%;
}
.gz-search form {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 46px;
    padding: 0 8px 0 16px;
    border-radius: 999px;
    background: var(--gz-h-search-bg);
    border: 1px solid var(--gz-h-search-border);
    transition: border-color .18s, box-shadow .18s;
}
.gz-search form:focus-within {
    border-color: var(--gz-h-accent);
    box-shadow: 0 0 0 4px var(--gz-h-accent-soft);
}
.gz-search-icon {
    color: var(--gz-h-main-muted);
    font-size: 14px;
}
.gz-search input {
    flex: 1;
    min-width: 0;
    background: transparent;
    border: none;
    outline: none;
    font-size: 14px;
    color: var(--gz-h-search-fg);
    font-family: inherit;
}
.gz-search input::placeholder {
    color: var(--gz-h-main-muted);
}
.gz-search-btn {
    flex-shrink: 0;
    width: 38px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 999px;
    background: var(--gz-h-btn-bg);
    color: var(--gz-h-btn-fg);
    cursor: pointer;
    font-size: 13px;
    transition: filter .15s;
}
.gz-search-btn:hover {
    filter: brightness(1.08);
}

/* Actions */
.gz-header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}
.gz-header-action {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    border-radius: 10px;
    background: transparent;
    border: 1px solid transparent;
    color: var(--gz-h-main-fg);
    font-size: 13px;
    font-weight: 400;
    cursor: pointer;
    font-family: inherit;
    transition: background .15s, color .15s, border-color .15s;
    position: relative;
}
.gz-header-action i {
    font-size: 17px;
}
.gz-header-action:hover {
    background: var(--gz-h-accent-soft);
    color: var(--gz-h-accent);
}
.gz-cart-btn {
    background: var(--gz-h-accent-soft);
}
.gz-cart-btn:hover {
    background: var(--gz-h-cart-bg);
    color: var(--gz-h-cart-fg);
}
.gz-cart-count {
    position: absolute;
    top: 2px;
    right: 2px;
    min-width: 19px;
    height: 19px;
    display: grid;
    place-items: center;
    padding: 0 5px;
    border-radius: 999px;
    background: var(--gz-h-cart-bg);
    color: var(--gz-h-cart-fg);
    font-size: 10.5px;
    font-weight: 900;
    border: 2px solid var(--gz-h-main-bg);
}

/* Mobile toggle */
.gz-mobile-toggle {
    display: none;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 0;
    border-radius: 10px;
    background: var(--gz-h-accent-soft);
    color: var(--gz-h-main-fg);
    font-size: 18px;
    cursor: pointer;
}

/* ---------- Nav row ---------- */
.gz-nav {
    background: var(--gz-h-nav-bg);
    position: sticky;
    top: 74px;
    z-index: 290;
}
.gz-nav-inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 10px;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
    position: relative;
}

/* Mega menu button */
.gz-mega-wrap {
    position: relative;
    flex-shrink: 0;
    justify-self: start;
}
.gz-mega-btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    height: 44px;
    padding: 0 18px;
    border: 0;
    border-radius: 8px;
    background: var(--gz-h-btn-bg);
    color: var(--gz-h-btn-fg);
    font-size: 13.5px;
    font-weight: 800;
    cursor: pointer;
    font-family: inherit;
    transition: filter .15s;
}
.gz-mega-btn:hover {
    filter: brightness(1.06);
}
.gz-mega-caret {
    font-size: 10px;
    margin-left: 2px;
    transition: transform .18s;
}
.gz-mega-btn[aria-expanded="true"] .gz-mega-caret {
    transform: rotate(180deg);
}

/* Mega panel */
.gz-mega-panel {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    width: min(1080px, 92vw);
    display: grid;
    grid-template-columns: 260px 1fr;
    background: var(--gz-h-mega-bg);
    border: 1px solid var(--gz-h-mega-border);
    border-radius: 12px;
    box-shadow: 0 30px 60px -18px rgba(0, 0, 0, .35);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .18s, transform .18s, visibility .18s;
    z-index: 50;
}
.gz-mega-panel.open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.gz-mega-rail {
    background: var(--gz-h-rail-bg);
    border-right: 1px solid var(--gz-h-mega-border);
    border-radius: 12px 0 0 12px;
    padding: 10px;
    max-height: 560px;
    overflow-y: auto;
}
.gz-mega-rail-item {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 11px 12px;
    border-radius: 8px;
    color: var(--gz-h-rail-fg);
    font-size: 13.5px;
    font-weight: 700;
    transition: background .13s, color .13s;
}
.gz-mega-rail-item i {
    width: 20px;
    text-align: center;
    font-size: 15px;
    color: var(--gz-h-accent);
}
.gz-mega-rail-item span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex: 1;
    font-weight: 500;
    font-size: 14px;
}
.gz-mega-rail-item small {
    font-size: 11px;
    font-weight: 700;
    color: var(--gz-h-main-muted);
    background: var(--gz-h-mega-border);
    padding: 1px 7px;
    border-radius: 999px;
}
.gz-mega-rail-item:hover,
.gz-mega-rail-item.active {
    background: var(--gz-h-accent-soft);
    color: var(--gz-h-accent);
}
.gz-mega-content {
    padding: 22px 24px;
    max-height: 560px;
    overflow-y: auto;
    background: var(--gz-h-mega-bg);
    border-radius: 0 12px 12px 0;
}
.gz-mega-section {
    display: none;
}
.gz-mega-section.active {
    display: block;
}
.gz-mega-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--gz-h-mega-border);
}
.gz-mega-section-head h3 {
    color: #93998e;
    font-size: 18px;
    letter-spacing: 0;
}
.gz-mega-section-head a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #93998e;
    font-size: 13px;
    font-weight: 600;
}
.gz-mega-group-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px 22px;
}
.gz-mega-group h4 {
    color: var(--gz-h-accent);
    font-size: 13px;
    letter-spacing: 0;
    margin-bottom: 8px;
}
.gz-mega-group ul {
    display: grid;
    gap: 6px;
}
.gz-mega-group li a {
    color: var(--gz-h-group-fg);
    font-size: 13px;
    transition: color .13s;
}
.gz-mega-group li a:hover {
    color: var(--gz-h-accent-2);
}

/* Nav links */
.gz-nav-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}
.gz-nav-links > li > a {
    display: inline-flex;
    align-items: center;
    height: 44px;
    padding: 0 14px;
    border-radius: 8px;
    color: var(--gz-h-nav-fg);
    font-size: 13.5px;
    font-weight: 700;
    transition: background .13s, color .13s;
}
.gz-nav-links > li > a:hover {
    background: var(--gz-h-nav-soft);
    color: #fff;
}

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
    .gz-header-action {
        padding: 9px;
    }
    .gz-nav-links > li > a {
        padding: 0 10px;
        font-size: 13px;
    }
}

@media (max-width: 860px) {
    .gz-topbar-right {
        display: none;
    }
    .gz-topbar-inner {
        justify-content: center;
    }
    .gz-header-inner {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        padding: 10px 16px;
    }
    .gz-search {
        order: 3;
        flex-basis: 100%;
        max-width: none;
    }
    .gz-header-actions {
        margin-left: auto;
    }
    .gz-mobile-toggle {
        display: grid;
    }
    .gz-nav {
        position: static;
    }
    .gz-nav-inner {
        display: flex;
        padding: 0 16px;
        flex-wrap: wrap;
    }
    .gz-mega-wrap {
        width: 100%;
        margin-bottom: 6px;
    }
    .gz-mega-btn {
        width: 100%;
        justify-content: space-between;
    }
    .gz-mega-panel {
        left: 0;
        right: 0;
        width: 100%;
        grid-template-columns: 1fr;
        top: calc(100% + 6px);
    }
    .gz-mega-rail {
        border-right: 0;
        border-bottom: 1px solid var(--gz-h-mega-border);
        border-radius: 12px 12px 0 0;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 4px;
        max-height: 220px;
    }
    .gz-mega-content {
        border-radius: 0 0 12px 12px;
    }
    .gz-mega-group-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .gz-nav-links {
        width: 100%;
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 2px;
        padding: 6px 0 12px;
    }
    .gz-nav-links > li > a {
        height: 42px;
        justify-content: flex-start;
        border-radius: 8px;
    }
    .gz-nav.mobile-open .gz-nav-links {
        display: flex;
    }
}

@media (max-width: 560px) {
    .gz-topbar-left span:nth-child(2) {
        display: none;
    }
    .gz-mega-rail {
        grid-template-columns: 1fr;
    }
    .gz-mega-group-grid {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   Fresh header final lock - always black (both themes)
   ============================================================ */
body.light-theme {
    --gz-h-top-bg: #050705;
    --gz-h-top-fg: #b8bdb9;
    --gz-h-top-muted: #9da69f;
    --gz-h-top-accent: #44d62c;
    --gz-h-main-bg: #090c09;
    --gz-h-main-fg: #f2f6f2;
    --gz-h-main-muted: #aeb8b0;
    --gz-h-accent: #44d62c;
    --gz-h-accent-2: #44d62c;
    --gz-h-accent-soft: rgba(68, 214, 44, .12);
    --gz-h-search-bg: #121612;
    --gz-h-search-border: #283028;
    --gz-h-search-fg: #f2f6f2;
    --gz-h-nav-bg: #050705;
    --gz-h-nav-fg: #d7ded8;
    --gz-h-nav-soft: rgba(255, 255, 255, .08);
    --gz-h-mega-bg: #ffffff;
    --gz-h-mega-border: #e1e3e4;
    --gz-h-rail-bg: #f5f7f5;
    --gz-h-rail-fg: #1a2e1a;
    --gz-h-group-fg: #3a4a3c;
    --gz-h-btn-bg: #44d62c;
    --gz-h-btn-fg: #050705;
    --gz-h-cart-bg: #44d62c;
    --gz-h-cart-fg: #050705;
}

body.theme-dark {
    --gz-h-top-bg: #050705;
    --gz-h-top-fg: #d7ded8;
    --gz-h-top-muted: #9da69f;
    --gz-h-top-accent: #44d62c;
    --gz-h-main-bg: #090c09;
    --gz-h-main-fg: #f2f6f2;
    --gz-h-main-muted: #aeb8b0;
    --gz-h-accent: #44d62c;
    --gz-h-accent-2: #44d62c;
    --gz-h-accent-soft: rgba(68, 214, 44, .12);
    --gz-h-search-bg: #121612;
    --gz-h-search-border: #283028;
    --gz-h-search-fg: #f2f6f2;
    --gz-h-nav-bg: #050705;
    --gz-h-nav-fg: #d7ded8;
    --gz-h-nav-soft: rgba(255, 255, 255, .08);
    --gz-h-mega-bg: #ffffff;
    --gz-h-mega-border: #e1e3e4;
    --gz-h-rail-bg: #f5f7f5;
    --gz-h-rail-fg: #1a2e1a;
    --gz-h-group-fg: #3a4a3c;
    --gz-h-btn-bg: #44d62c;
    --gz-h-btn-fg: #050705;
    --gz-h-cart-bg: #44d62c;
    --gz-h-cart-fg: #050705;
    --gz-h-btn-bg: #44d62c;
    --gz-h-btn-fg: #050705;
    --gz-h-cart-bg: #44d62c;
    --gz-h-cart-fg: #050705;
}

.gz-topbar.gz-topbar,
body.theme-dark .gz-topbar.gz-topbar,
body.light-theme .gz-topbar.gz-topbar {
    background: var(--gz-h-top-bg) !important;
    color: var(--gz-h-top-fg) !important;
    border-bottom: 1px solid var(--gz-h-mega-border) !important;
}

.gz-topbar-inner.gz-topbar-inner {
    min-height: 34px !important;
    padding: 7px 24px !important;
}

.gz-topbar-left span,
.gz-topbar-right a {
    color: var(--gz-h-top-muted) !important;
    font-weight: 600 !important;
}

.gz-topbar-left i,
.gz-topbar-right i {
    color: var(--gz-h-top-accent) !important;
}

.gz-header.gz-header,
body.theme-dark .gz-header.gz-header,
body.light-theme .gz-header.gz-header {
    background: var(--gz-h-main-bg) !important;
    color: var(--gz-h-main-fg) !important;
    border-bottom: 1px solid var(--gz-h-mega-border) !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .12) !important;
}

.gz-header-inner.gz-header-inner {
    min-height: 76px !important;
    padding: 12px 24px !important;
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    align-items: center !important;
}

.gz-logo-img.gz-logo-img {
    height: 46px !important;
    max-width: 190px !important;
}

.gz-search form,
body.theme-dark .gz-search form,
body.light-theme .gz-search form {
    height: 46px !important;
    border-radius: 8px !important;
    background: var(--gz-h-search-bg) !important;
    border: 1px solid var(--gz-h-search-border) !important;
    box-shadow: none !important;
}

.gz-search input,
body.theme-dark .gz-search input,
body.light-theme .gz-search input {
    color: var(--gz-h-search-fg) !important;
    background: transparent !important;
}

.gz-search input::placeholder {
    color: var(--gz-h-main-muted) !important;
}

.gz-search-btn.gz-search-btn,
body.theme-dark .gz-search-btn.gz-search-btn,
body.light-theme .gz-search-btn.gz-search-btn,
.gz-mega-btn.gz-mega-btn,
body.theme-dark .gz-mega-btn.gz-mega-btn,
body.light-theme .gz-mega-btn.gz-mega-btn {
    background: var(--gz-h-btn-bg) !important;
    color: var(--gz-h-btn-fg) !important;
    border-color: var(--gz-h-btn-bg) !important;
}

.gz-header-action.gz-header-action,
body.theme-dark .gz-header-action.gz-header-action,
body.light-theme .gz-header-action.gz-header-action {
    color: var(--gz-h-main-fg) !important;
    background: transparent !important;
    border: 1px solid transparent !important;
}

.gz-header-action:hover,
body.theme-dark .gz-header-action:hover,
body.light-theme .gz-header-action:hover,
.gz-cart-btn.gz-cart-btn {
    background: var(--gz-h-accent-soft) !important;
    color: var(--gz-h-accent) !important;
}

.gz-cart-count.gz-cart-count {
    background: var(--gz-h-cart-bg) !important;
    color: var(--gz-h-cart-fg) !important;
    border-color: var(--gz-h-main-bg) !important;
}

.gz-mobile-toggle.gz-mobile-toggle {
    background: var(--gz-h-accent-soft) !important;
    color: var(--gz-h-main-fg) !important;
}

.gz-nav.gz-nav,
body.theme-dark .gz-nav.gz-nav,
body.light-theme .gz-nav.gz-nav {
    background: var(--gz-h-nav-bg) !important;
    color: var(--gz-h-nav-fg) !important;
    border-bottom: 1px solid var(--gz-h-mega-border) !important;
    top: 76px !important;
}

.gz-nav-links > li > a,
body.theme-dark .gz-nav-links > li > a,
body.light-theme .gz-nav-links > li > a {
    color: var(--gz-h-nav-fg) !important;
    background: transparent !important;
}

.gz-nav-links > li > a:hover,
body.theme-dark .gz-nav-links > li > a:hover,
body.light-theme .gz-nav-links > li > a:hover {
    background: var(--gz-h-nav-soft) !important;
    color: var(--gz-h-accent) !important;
}

.gz-mega-panel.gz-mega-panel,
body.theme-dark .gz-mega-panel.gz-mega-panel,
body.light-theme .gz-mega-panel.gz-mega-panel {
    background: var(--gz-h-mega-bg) !important;
    border-color: var(--gz-h-mega-border) !important;
}

.gz-mega-rail.gz-mega-rail,
body.theme-dark .gz-mega-rail.gz-mega-rail,
body.light-theme .gz-mega-rail.gz-mega-rail {
    background: var(--gz-h-rail-bg) !important;
    border-color: var(--gz-h-mega-border) !important;
}

.gz-mega-content.gz-mega-content,
body.theme-dark .gz-mega-content.gz-mega-content,
body.light-theme .gz-mega-content.gz-mega-content {
    background: var(--gz-h-mega-bg) !important;
}

.gz-mega-rail-item.gz-mega-rail-item {
    color: var(--gz-h-rail-fg) !important;
}

.gz-mega-rail-item:hover,
.gz-mega-rail-item.active {
    background: var(--gz-h-accent-soft) !important;
    color: var(--gz-h-accent) !important;
}

.gz-mega-section-head h3 {
    color: #1a2e1a !important;
}
.gz-mega-group h4 {
    color: var(--gz-h-accent) !important;
}
.gz-mega-rail-item i {
    color: var(--gz-h-accent) !important;
}

.gz-mega-section-head a {
    color: #6a7a6c !important;
}
.gz-mega-group li a:hover {
    color: var(--gz-h-accent-2) !important;
}

.gz-mega-group li a {
    color: var(--gz-h-group-fg) !important;
}

@media (max-width: 860px) {
    .gz-header-inner.gz-header-inner {
        display: flex !important;
        min-height: auto !important;
    }

    .gz-nav.gz-nav {
        top: auto !important;
    }

    .gz-nav.mobile-open .gz-nav-links {
        display: flex !important;
    }
}

/* Light-mode mega menu overrides: white panel, dark text, green headers. */
body.light-theme .gz-mega-section-head h3 {
    color: #1a2e1a !important;
}
body.light-theme .gz-mega-group h4 {
    color: #16a34a !important;
}
body.light-theme .gz-mega-section-head a {
    color: #6a7a6c !important;
}
body.light-theme .gz-mega-group li a {
    color: #3a4a3c !important;
}
body.light-theme .gz-mega-group li a:hover {
    color: #16a34a !important;
}
body.light-theme .gz-mega-rail-item i {
    color: #16a34a !important;
}
body.light-theme .gz-mega-rail-item {
    color: #1a2e1a !important;
}
body.light-theme .gz-mega-rail-item:hover,
body.light-theme .gz-mega-rail-item.active {
    background: rgba(22, 163, 74, .1) !important;
    color: #16a34a !important;
}

/* Footer light for product page: fix targets .jp-footer-* (legacy class no longer
   used) while the footer markup and its background-flip rule both use .gz-footer* —
   headings stayed white-on-white-grey in light mode. Match the actual class here. */
body:not(.theme-dark) .gz-footer-grid h4,
.template-product .gz-footer-grid h4 {
    color: #0f1a12 !important;
}
body:not(.theme-dark) .gz-footer-grid a,
body:not(.theme-dark) .gz-footer-grid p,
.template-product .gz-footer-grid a,
.template-product .gz-footer-grid p {
    color: #4a544d !important;
}
body:not(.theme-dark) .gz-footer-grid a:hover,
.template-product .gz-footer-grid a:hover {
    color: #16a34a !important;
}

/* Header QA lock: keep the fresh header stable in both themes. */
body.light-theme .gz-nav-links > li > a,
body.theme-dark .gz-nav-links > li > a {
    color: #d7ded8 !important;
}

body.light-theme .gz-nav-links > li > a:hover,
body.theme-dark .gz-nav-links > li > a:hover {
    color: var(--gz-h-accent) !important;
}

.gz-mega-panel.gz-mega-panel {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(8px) !important;
    pointer-events: none !important;
    transition: none !important;
}

.gz-mega-panel.gz-mega-panel.open {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
}

@media (max-width: 860px) {
    .gz-nav.gz-nav {
        position: static !important;
        top: auto !important;
    }

    .gz-nav-links.gz-nav-links {
        display: none !important;
        width: 100% !important;
    }

    .gz-nav.mobile-open .gz-nav-links.gz-nav-links {
        display: flex !important;
    }

    .gz-mega-panel.gz-mega-panel {
        width: min(100%, calc(100vw - 32px)) !important;
        max-height: calc(100vh - 220px) !important;
        overflow-y: auto !important;
    }
}

/* Product card buttons: light mode must stay black. */
body.light-theme .product-card .product-cta,
body.light-theme .ct-product-rail .product-cta,
body.light-theme .ct-shop-page .card-action-btn,
body:not(.theme-dark) .product-card .product-cta,
body:not(.theme-dark) .ct-product-rail .product-cta,
body:not(.theme-dark) .ct-shop-page .card-action-btn {
    background: #050505 !important;
    color: #ffffff !important;
    border-color: #050505 !important;
    box-shadow: none !important;
}

body.light-theme .product-card:hover .product-cta,
body.light-theme .ct-product-rail .product-card:hover .product-cta,
body.light-theme .ct-shop-page .card-action-btn:hover,
body:not(.theme-dark) .product-card:hover .product-cta,
body:not(.theme-dark) .ct-product-rail .product-card:hover .product-cta,
body:not(.theme-dark) .ct-shop-page .card-action-btn:hover {
    background: #1a1a1a !important;
    color: #ffffff !important;
    border-color: #1a1a1a !important;
}

/* Product page visual fixes from browser QA. */
.gz-search input:focus,
.gz-search input:focus-visible,
.gz-search form input:focus,
.gz-search form input:focus-visible,
.filter-search input:focus,
.filter-search input:focus-visible,
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
    outline: none !important;
}

.gz-search input:focus,
.gz-search input:focus-visible,
.gz-search form input:focus,
.gz-search form input:focus-visible {
    border-color: transparent !important;
    box-shadow: none !important;
}

.gz-search form:focus-within,
body.theme-dark .gz-search form:focus-within,
body.light-theme .gz-search form:focus-within {
    border-color: rgba(68, 214, 44, .55) !important;
    box-shadow: 0 0 0 2px rgba(68, 214, 44, .18) !important;
}

.gz-mega-btn.gz-mega-btn,
body.theme-dark .gz-mega-btn.gz-mega-btn,
body.light-theme .gz-mega-btn.gz-mega-btn {
    color: #ffffff !important;
}

.gz-mega-btn.gz-mega-btn i {
    color: #ffffff !important;
}

.gz-p-related.gz-p-related {
    padding: 34px 0 40px !important;
    background: #f3f4f3 !important;
}

.gz-p-related > .container {
    max-width: 1180px !important;
    padding: 0 24px !important;
}

.gz-p-related .gz-p-section-title {
    margin-bottom: 20px !important;
}

.gz-p-related .gz-p-rail-wrap {
    padding: 0 16px !important;
}

.gz-p-related .gz-product-rail {
    gap: 16px !important;
    padding: 0 0 12px !important;
    scroll-padding: 16px !important;
}

.gz-p-related .product-card {
    flex-basis: 260px !important;
    border-radius: 8px !important;
}

body.theme-dark .gz-p-related {
    background: #080b08 !important;
    color: #eef4ef !important;
}

body.theme-dark .gz-p-related .product-card {
    background: #151a16 !important;
    border-color: #2b352d !important;
    color: #eef4ef !important;
}

body.theme-dark .gz-p-related .product-name {
    color: #eef4ef !important;
}

.gz-p-related .gz-rail-btn {
    top: 44% !important;
}

/* Home page dark mode support. */
body.theme-dark .ts-home {
    background: #070907 !important;
    color: #eef4ef !important;
}

body.theme-dark .ts-home .ts-intro,
body.theme-dark .ts-home .ts-collections,
body.theme-dark .ts-home .ts-product-section,
body.theme-dark .ts-home .ts-product-section.ts-soft,
body.theme-dark .ts-home .ts-brands,
body.theme-dark .ts-home .ts-service-row {
    background: #070907 !important;
    color: #eef4ef !important;
    border-color: #202720 !important;
}

body.theme-dark .ts-home .ts-product-section:nth-of-type(even),
body.theme-dark .ts-home .ts-brands {
    background: #0d110d !important;
}

body.theme-dark .ts-home h1,
body.theme-dark .ts-home h2,
body.theme-dark .ts-home h3,
body.theme-dark .ts-home .ts-section-head h2,
body.theme-dark .ts-home .ts-intro h1,
body.theme-dark .ts-home .ts-feature-tile strong,
body.theme-dark .ts-home .ts-service-row strong {
    color: #f4f8f4 !important;
}

body.theme-dark .ts-home p,
body.theme-dark .ts-home .ts-section-head p,
body.theme-dark .ts-home .ts-feature-tile span,
body.theme-dark .ts-home .ts-service-row span {
    color: #aeb8b0 !important;
}

body.theme-dark .ts-home .ts-feature-tile,
body.theme-dark .ts-home .ts-service-row article {
    background: #101510 !important;
    border-color: #263026 !important;
    box-shadow: none !important;
}

body.theme-dark .ts-home .ts-chip-row a {
    background: #101510 !important;
    color: #eef4ef !important;
    border-color: #263026 !important;
}

body.theme-dark .ts-home .ts-chip-row a:hover {
    background: #44d62c !important;
    color: #050705 !important;
    border-color: #44d62c !important;
}

body.theme-dark .ts-home .ts-product-grid .product-card {
    background: #101510 !important;
    border-color: #263026 !important;
    color: #eef4ef !important;
    box-shadow: none !important;
}

body.theme-dark .ts-home .ts-product-grid .product-img {
    background: #ffffff !important;
}

body.theme-dark .ts-home .ts-product-grid .product-name,
body.theme-dark .ts-home .ts-product-grid .product-price .current {
    color: #f4f8f4 !important;
}

body.theme-dark .ts-home .ts-product-grid .product-cat,
body.theme-dark .ts-home .ts-product-grid .product-price .old {
    color: #aeb8b0 !important;
}

body.theme-dark .ts-home .ts-product-grid .product-cta {
    background: #44d62c !important;
    color: #050705 !important;
    border-color: #44d62c !important;
}

/* Home visual polish: roomier sections, clearer type, better card rhythm. */
.ts-home .container {
    width: min(100%, 1400px) !important;
    max-width: 1400px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
}

.ts-home .ts-slider {
    height: clamp(430px, 43vw, 640px) !important;
    min-height: 430px !important;
}

.ts-store-alert {
    min-height: 44px !important;
    font-size: 13.5px !important;
}

.ts-store-rail {
    padding-top: 24px !important;
    padding-bottom: 22px !important;
}

/* --- Store category rail: show full icons, no crop --- */
.ts-store-cat {
    flex-basis: 112px !important;
    grid-template-rows: 86px auto !important;
    align-items: end !important;
}

.ts-store-cat-img {
    width: 108px !important;
    height: 82px !important;
    padding: 4px 6px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

.ts-store-cat-img img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center bottom !important;
    display: block !important;
}

@media (max-width: 768px) {
    .ts-store-cat {
        flex-basis: 98px !important;
        grid-template-rows: 74px auto !important;
    }

    .ts-store-cat-img {
        width: 92px !important;
        height: 70px !important;
    }
}

.ts-product-section,
.ts-brands,
.ts-service-row {
    padding: clamp(42px, 5vw, 64px) 0 !important;
}

.ts-product-section + .ts-product-section,
.ts-product-section + .ts-deal-band,
.ts-deal-band + .ts-product-section {
    border-top: 1px solid rgba(68, 214, 44, .10) !important;
}

.ts-section-head {
    align-items: center !important;
    margin-bottom: 26px !important;
}

.ts-section-head h2 {
    font-size: clamp(1.75rem, 2.4vw, 2.45rem) !important;
    line-height: 1.05 !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

.ts-section-head p {
    font-size: 15px !important;
    line-height: 1.55 !important;
    margin-top: 9px !important;
}

.ts-section-head > a,
.ts-deal-copy a {
    min-height: 44px !important;
    padding: 0 20px !important;
    border-radius: 8px !important;
    font-size: 13.5px !important;
    letter-spacing: .02em !important;
    text-transform: uppercase !important;
}

.ts-product-grid {
    gap: 20px !important;
}

.ts-product-grid .product-card {
    min-height: 100% !important;
    padding: 8px !important;
    border-radius: 10px !important;
}

.ts-product-grid .product-img {
    aspect-ratio: 1 / .92 !important;
}

.ts-product-grid .product-info {
    gap: 8px !important;
    padding: 15px 10px 12px !important;
}

.ts-product-grid .product-cat {
    font-size: 12.5px !important;
    font-weight: 800 !important;
}

.ts-product-grid .product-name {
    min-height: 42px !important;
    font-size: 13.5px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
}

.ts-product-grid .product-price .current {
    font-size: 21px !important;
    line-height: 1.1 !important;
}

.ts-product-grid .product-price .old {
    font-size: 13px !important;
}

.ts-product-grid .product-cta {
    min-height: 44px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}

.ts-deal-band {
    padding: clamp(46px, 5vw, 70px) 0 !important;
}

.ts-deal-wrap {
    gap: 36px !important;
}

.ts-deal-copy h2 {
    font-size: clamp(2rem, 3vw, 3rem) !important;
    line-height: 1.05 !important;
}

.ts-deal-copy p {
    font-size: 15px !important;
}

.ts-deal-grid {
    gap: 16px !important;
}

.ts-deal-card {
    padding: 14px !important;
    border-radius: 10px !important;
}

.ts-brand-grid {
    gap: 16px !important;
}

.ts-brand-grid a {
    height: 96px !important;
}

.ts-service-row .container {
    gap: 18px !important;
}

.ts-service-row article {
    min-height: 100px !important;
    padding: 20px !important;
    align-items: center !important;
}

.ts-service-row strong {
    font-size: 15px !important;
}

.ts-service-row span {
    font-size: 13px !important;
}

body.theme-dark .ts-home .ts-product-section,
body.theme-dark .ts-home .ts-product-section.ts-soft,
body.theme-dark .ts-home .ts-brands,
body.theme-dark .ts-home .ts-service-row {
    border-top-color: #1d251d !important;
    border-bottom-color: #1d251d !important;
}

@media (max-width: 1100px) {
    .ts-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .ts-home .ts-slider {
        height: 62vw !important;
        min-height: 320px !important;
    }

    .ts-section-head {
        align-items: flex-start !important;
        gap: 14px !important;
    }

    .ts-section-head > a,
    .ts-deal-copy a {
        width: 100% !important;
    }

    .ts-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    .ts-product-grid .product-name {
        font-size: 13px !important;
    }
}

@media (max-width: 520px) {
    .ts-product-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Cybertek-style header menu tabs. */
.gz-nav.gz-nav,
body.theme-dark .gz-nav.gz-nav,
body.light-theme .gz-nav.gz-nav {
    background: #050505 !important;
    border-bottom: 1px solid #1e1e1e !important;
}

.gz-nav-inner.gz-nav-inner {
    justify-content: center !important;
    gap: 10px !important;
}

.gz-mega-wrap.gz-mega-wrap {
    flex: 0 0 auto !important;
}

.gz-mega-btn.gz-mega-btn,
body.theme-dark .gz-mega-btn.gz-mega-btn,
body.light-theme .gz-mega-btn.gz-mega-btn {
    min-width: 192px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 28px !important;
    justify-content: center !important;
    gap: 8px !important;
    border-radius: 9px 9px 0 0 !important;
    background: #ffffff !important;
    color: #050505 !important;
    border: 1px solid #bfc3c7 !important;
    border-bottom-color: #ffffff !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

.gz-mega-btn.gz-mega-btn i,
body.theme-dark .gz-mega-btn.gz-mega-btn i,
body.light-theme .gz-mega-btn.gz-mega-btn i {
    color: #050505 !important;
}

.gz-nav-links.gz-nav-links {
    flex: 0 1 auto !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    gap: 10px !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
}

.gz-nav-links > li > a,
body.theme-dark .gz-nav-links > li > a,
body.light-theme .gz-nav-links > li > a {
    min-width: 192px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 24px !important;
    justify-content: center !important;
    border-radius: 9px 9px 0 0 !important;
    background: #ffffff !important;
    color: #050505 !important;
    border: 1px solid #bfc3c7 !important;
    border-bottom-color: #ffffff !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

.gz-nav-links > li:first-child > a,
body.theme-dark .gz-nav-links > li:first-child > a,
body.light-theme .gz-nav-links > li:first-child > a {
    background: linear-gradient(180deg, #4a4a4a 0%, #171717 100%) !important;
    color: #ffffff !important;
    border-color: #8a8a8a !important;
    border-bottom-color: #171717 !important;
}

.gz-nav-links > li:last-child > a,
body.theme-dark .gz-nav-links > li:last-child > a,
body.light-theme .gz-nav-links > li:last-child > a {
    background: #ffc400 !important;
    color: #050505 !important;
    border-color: #ffc400 !important;
}

.gz-nav-links > li > a.gz-nav-highlight,
body.theme-dark .gz-nav-links > li > a.gz-nav-highlight,
body.light-theme .gz-nav-links > li > a.gz-nav-highlight {
    background: #ffc400 !important;
    color: #050505 !important;
    border-color: #ffc400 !important;
    border-bottom-color: #ffc400 !important;
}

.gz-mega-btn.gz-mega-btn:hover,
.gz-nav-links > li > a:hover,
body.theme-dark .gz-nav-links > li > a:hover,
body.light-theme .gz-nav-links > li > a:hover {
    filter: brightness(.96) !important;
    color: inherit !important;
}

/* Mega dropdown: keep category rail text/icons light, not green. */
.gz-mega-rail-item.gz-mega-rail-item,
.gz-mega-rail-item.gz-mega-rail-item:hover,
.gz-mega-rail-item.gz-mega-rail-item.active,
body.theme-dark .gz-mega-rail-item.gz-mega-rail-item,
body.theme-dark .gz-mega-rail-item.gz-mega-rail-item:hover,
body.theme-dark .gz-mega-rail-item.gz-mega-rail-item.active,
body.light-theme .gz-mega-rail-item.gz-mega-rail-item,
body.light-theme .gz-mega-rail-item.gz-mega-rail-item:hover,
body.light-theme .gz-mega-rail-item.gz-mega-rail-item.active {
    color: #f2f6f2 !important;
}

.gz-mega-rail-item.gz-mega-rail-item i,
.gz-mega-rail-item.gz-mega-rail-item:hover i,
.gz-mega-rail-item.gz-mega-rail-item.active i,
body.theme-dark .gz-mega-rail-item.gz-mega-rail-item i,
body.theme-dark .gz-mega-rail-item.gz-mega-rail-item:hover i,
body.theme-dark .gz-mega-rail-item.gz-mega-rail-item.active i,
body.light-theme .gz-mega-rail-item.gz-mega-rail-item i,
body.light-theme .gz-mega-rail-item.gz-mega-rail-item:hover i,
body.light-theme .gz-mega-rail-item.gz-mega-rail-item.active i {
    color: #f2f6f2 !important;
}

.gz-mega-rail-item.gz-mega-rail-item small {
    color: #aeb8b0 !important;
}

.gz-mega-rail-item.gz-mega-rail-item:hover,
.gz-mega-rail-item.gz-mega-rail-item.active {
    background: rgba(255, 255, 255, .10) !important;
}

@media (max-width: 1180px) {
    .gz-mega-btn.gz-mega-btn,
    .gz-nav-links > li > a,
    body.theme-dark .gz-nav-links > li > a,
    body.light-theme .gz-nav-links > li > a {
        min-width: 160px !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        font-size: 12px !important;
    }
}

@media (max-width: 860px) {
    .gz-nav-inner.gz-nav-inner {
        justify-content: stretch !important;
    }

    .gz-mega-wrap.gz-mega-wrap,
    .gz-mega-btn.gz-mega-btn {
        width: 100% !important;
    }

    .gz-nav-links.gz-nav-links {
        width: 100% !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 6px !important;
        padding: 8px 0 12px !important;
    }

    .gz-nav-links > li > a,
    body.theme-dark .gz-nav-links > li > a,
    body.light-theme .gz-nav-links > li > a {
        width: 100% !important;
        min-width: 0 !important;
        border-radius: 8px !important;
    }
}

/* ============ Product page: sticky buybox spans gallery + details + shipping
   (matches techspace.ma — the price/cart card stays pinned while the whole left
   column, not just the gallery, scrolls beside it) ============ */
.gz-p-grid.gz-p-grid-sticky {
    display: grid !important;
    grid-template-columns: minmax(0, 1.02fr) minmax(420px, .98fr) !important;
    align-items: start !important;
    gap: 24px !important;
}
.gz-p-grid-sticky .gz-p-left {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    min-width: 0 !important;
}
.gz-p-grid-sticky .gz-p-info {
    position: sticky !important;
    top: 96px !important;
    align-self: start !important;
}

@media (max-width: 992px) {
    .gz-p-grid.gz-p-grid-sticky {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
    .gz-p-grid-sticky .gz-p-info {
        position: static !important;
    }
}

/* ============================================================
   SHOP PAGE: force 4 columns inline
   ============================================================ */
.ct-shop-page .products-grid,
.ct-shop-page .products-grid.cols-5,
.ct-shop-page .products-grid.cols-4,
.ct-shop-page .products-grid.cols-3,
.ct-shop-page .products-grid.cols-2 {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    flex-direction: unset !important;
    gap: 16px !important;
    margin-top: 0 !important;
}

@media (max-width: 1100px) {
    .ct-shop-page .products-grid,
    .ct-shop-page .products-grid.cols-5,
    .ct-shop-page .products-grid.cols-4,
    .ct-shop-page .products-grid.cols-3,
    .ct-shop-page .products-grid.cols-2 {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 768px) {
    .ct-shop-page .products-grid,
    .ct-shop-page .products-grid.cols-5,
    .ct-shop-page .products-grid.cols-4,
    .ct-shop-page .products-grid.cols-3,
    .ct-shop-page .products-grid.cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 480px) {
    .ct-shop-page .products-grid,
    .ct-shop-page .products-grid.cols-5,
    .ct-shop-page .products-grid.cols-4,
    .ct-shop-page .products-grid.cols-3,
    .ct-shop-page .products-grid.cols-2 {
        grid-template-columns: 1fr !important;
    }
}

/* ============================================================
   FOOTER: always black in all modes
   ============================================================ */
.footer.gz-footer,
body.theme-dark .footer.gz-footer,
body.light-theme .footer.gz-footer,
body:not(.theme-dark) .footer.gz-footer {
    background: #050705 !important;
    color: #bac4bd !important;
}

.footer.gz-footer .gz-footer-top,
body.theme-dark .footer.gz-footer .gz-footer-top,
body.light-theme .footer.gz-footer .gz-footer-top {
    background: #050705 !important;
}

.footer.gz-footer .gz-footer-grid,
body.theme-dark .footer.gz-footer .gz-footer-grid,
body.light-theme .footer.gz-footer .gz-footer-grid {
    background: #050705 !important;
}

.footer.gz-footer .gz-footer-grid h4,
body.theme-dark .footer.gz-footer .gz-footer-grid h4,
body.light-theme .footer.gz-footer .gz-footer-grid h4,
body:not(.theme-dark) .footer.gz-footer .gz-footer-grid h4,
.template-product .footer.gz-footer .gz-footer-grid h4 {
    color: #fff !important;
}

.footer.gz-footer .gz-footer-grid a,
.footer.gz-footer .gz-footer-grid p,
body.theme-dark .footer.gz-footer .gz-footer-grid a,
body.theme-dark .footer.gz-footer .gz-footer-grid p,
body.light-theme .footer.gz-footer .gz-footer-grid a,
body.light-theme .footer.gz-footer .gz-footer-grid p,
body:not(.theme-dark) .footer.gz-footer .gz-footer-grid a,
body:not(.theme-dark) .footer.gz-footer .gz-footer-grid p,
.template-product .footer.gz-footer .gz-footer-grid a,
.template-product .footer.gz-footer .gz-footer-grid p {
    color: #bac4bd !important;
}

.footer.gz-footer .gz-footer-grid a:hover,
body.theme-dark .footer.gz-footer .gz-footer-grid a:hover,
body.light-theme .footer.gz-footer .gz-footer-grid a:hover,
body:not(.theme-dark) .footer.gz-footer .gz-footer-grid a:hover,
.template-product .footer.gz-footer .gz-footer-grid a:hover {
    color: #44d62c !important;
}

.footer.gz-footer .gz-footer-bottom,
body.theme-dark .footer.gz-footer .gz-footer-bottom,
body.light-theme .footer.gz-footer .gz-footer-bottom {
    background: #030503 !important;
    color: #bac4bd !important;
}

.footer.gz-footer .gz-footer-bottom p,
body.theme-dark .footer.gz-footer .gz-footer-bottom p,
body.light-theme .footer.gz-footer .gz-footer-bottom p,
body:not(.theme-dark) .footer.gz-footer .gz-footer-bottom p,
.template-product .footer.gz-footer .gz-footer-bottom p {
    color: #bac4bd !important;
}

.footer.gz-footer .gz-footer-newsletter,
body.theme-dark .footer.gz-footer .gz-footer-newsletter,
body.light-theme .footer.gz-footer .gz-footer-newsletter {
    background: #0a0e0a !important;
}

.footer.gz-footer .gz-footer-newsletter strong,
body.theme-dark .footer.gz-footer .gz-footer-newsletter strong,
body.light-theme .footer.gz-footer .gz-footer-newsletter strong {
    color: #fff !important;
}

.footer.gz-footer .gz-footer-newsletter span,
body.theme-dark .footer.gz-footer .gz-footer-newsletter span,
body.light-theme .footer.gz-footer .gz-footer-newsletter span {
    color: #44d62c !important;
}

.footer.gz-footer .gz-footer-social a,
body.theme-dark .footer.gz-footer .gz-footer-social a,
body.light-theme .footer.gz-footer .gz-footer-social a {
    color: #bac4bd !important;
}

.footer.gz-footer .gz-footer-social a:hover,
body.theme-dark .footer.gz-footer .gz-footer-social a:hover,
body.light-theme .footer.gz-footer .gz-footer-social a:hover {
    color: #44d62c !important;
}

.footer.gz-footer .gz-footer-payments span,
body.theme-dark .footer.gz-footer .gz-footer-payments span,
body.light-theme .footer.gz-footer .gz-footer-payments span {
    background: #111 !important;
    color: #bac4bd !important;
    border-color: #222 !important;
}

.footer.gz-footer .gz-footer-brand p,
body.theme-dark .footer.gz-footer .gz-footer-brand p,
body.light-theme .footer.gz-footer .gz-footer-brand p {
    color: #bac4bd !important;
}

/* --- Final home category image containment --- */
body .ts-home .ts-store-rail .ts-store-cat .ts-store-cat-img {
    overflow: hidden !important;
}

body .ts-home .ts-store-rail .ts-store-cat .ts-store-cat-img > img {
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center bottom !important;
}

/* Shop category filter: no inner overflow box. */
.ct-shop-page #catList.filter-list-scroll {
    max-height: none !important;
    overflow: visible !important;
    padding-right: 0 !important;
}

.ct-shop-page #catList .filter-list-label {
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
}

/* Shop price filter: keep the old style but fix cramped spacing. */
.ct-shop-page details.filter-group:nth-of-type(2) .filter-group-body {
    padding: 12px 10px 14px !important;
}

.ct-shop-page details.filter-group:nth-of-type(2) .price-labels {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 0 0 16px !important;
}

.ct-shop-page details.filter-group:nth-of-type(2) .price-labels span {
    width: 100% !important;
    min-width: 0 !important;
    height: 30px !important;
    padding: 0 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.ct-shop-page details.filter-group:nth-of-type(2) .price-slider-wrap {
    height: 34px !important;
    margin: 0 8px !important;
}

.ct-shop-page details.filter-group:nth-of-type(2) .price-slider-track,
.ct-shop-page details.filter-group:nth-of-type(2) .price-slider-range {
    top: 14px !important;
    height: 5px !important;
}

.ct-shop-page details.filter-group:nth-of-type(2) .price-range {
    top: 4px !important;
    height: 26px !important;
}

body.theme-dark .ct-shop-page details.filter-group:nth-of-type(2) .price-labels span {
    border-color: #d9d9d9 !important;
}

/* Shop filter search: one top input styled like the header search. */
.ct-shop-page .filter-panel-search {
    margin: 0 0 12px !important;
    min-height: 46px !important;
    display: grid !important;
    grid-template-columns: 32px minmax(0, 1fr) 38px !important;
    align-items: center !important;
    gap: 0 !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 10px !important;
    background: #0d120d !important;
    overflow: hidden !important;
}

.ct-shop-page .filter-panel-search > i {
    justify-self: center !important;
    color: #aeb8b0 !important;
    font-size: 13px !important;
}

.ct-shop-page .filter-panel-search input {
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    color: #ffffff !important;
    font-size: 12.5px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
}

.ct-shop-page .filter-panel-search input::placeholder {
    color: #aeb8b0 !important;
}

.ct-shop-page .filter-panel-search button {
    width: 34px !important;
    height: 34px !important;
    margin-right: 4px !important;
    display: inline-grid !important;
    place-items: center !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #44d62c !important;
    color: #050705 !important;
    cursor: default !important;
}

.ct-shop-page .filter-panel-search:focus-within {
    border-color: #44d62c !important;
    box-shadow: 0 0 0 2px rgba(68, 214, 44, .16) !important;
}

body.light-theme .ct-shop-page .filter-panel-search,
body:not(.theme-dark) .ct-shop-page .filter-panel-search {
    background: #ffffff !important;
    border-color: #d7d7d7 !important;
}

body.light-theme .ct-shop-page .filter-panel-search input,
body:not(.theme-dark) .ct-shop-page .filter-panel-search input {
    color: #050505 !important;
}

/* --- Offres rapides autoplay carousel --- */
.ts-deal-carousel {
    position: relative;
    min-width: 0;
}

.ts-deal-track {
    display: flex !important;
    gap: 16px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    padding: 4px 2px 8px !important;
}

.ts-deal-track::-webkit-scrollbar {
    display: none;
}

.ts-deal-track .ts-deal-card {
    flex: 0 0 calc((100% - 32px) / 3) !important;
    min-width: 176px;
    scroll-snap-align: start;
}

.ts-deal-nav {
    position: absolute;
    top: 50%;
    z-index: 3;
    width: 38px;
    height: 38px;
    display: inline-grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 999px;
    background: rgba(0, 0, 0, .74);
    color: #fff;
    cursor: pointer;
    transform: translateY(-50%);
    box-shadow: 0 10px 28px rgba(0, 0, 0, .35);
}

.ts-deal-nav:hover {
    background: #44d62c;
    color: #050705;
    border-color: #44d62c;
}

.ts-deal-prev {
    left: -18px;
}

.ts-deal-next {
    right: -18px;
}

@media (max-width: 900px) {
    .ts-deal-track .ts-deal-card {
        flex-basis: calc((100% - 16px) / 2) !important;
    }
}

@media (max-width: 560px) {
    .ts-deal-track .ts-deal-card {
        flex-basis: 82% !important;
    }

    .ts-deal-prev {
        left: 4px;
    }

    .ts-deal-next {
        right: 4px;
    }
}

/* Product page purchase row: quantity + stock inline with command button. */
.template-product .gz-p-add-form,
.gz-p-add-form {
    margin-top: 18px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(190px, .95fr) !important;
    gap: 12px !important;
    align-items: center !important;
}

.template-product .gz-p-add-form .gz-p-qty-row,
.gz-p-add-form .gz-p-qty-row {
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: auto auto !important;
    gap: 10px !important;
    align-items: center !important;
}

.template-product .gz-p-add-form .gz-p-qty-label,
.gz-p-add-form .gz-p-qty-label {
    white-space: nowrap !important;
}

.template-product .gz-p-add-form .gz-p-qty,
.gz-p-add-form .gz-p-qty {
    grid-template-columns: 34px 42px 34px !important;
    height: 40px !important;
}

.template-product .gz-p-add-form .gz-p-add-btn,
.gz-p-add-form .gz-p-add-btn {
    width: 100% !important;
    min-height: 50px !important;
}

@media (max-width: 820px) {
    .template-product .gz-p-add-form,
    .gz-p-add-form {
        grid-template-columns: 1fr !important;
    }

    .template-product .gz-p-add-form .gz-p-qty-row,
    .gz-p-add-form .gz-p-qty-row {
        grid-template-columns: 1fr auto !important;
    }
}

@media (max-width: 460px) {
    .template-product .gz-p-add-form .gz-p-qty-row,
    .gz-p-add-form .gz-p-qty-row {
        grid-template-columns: 1fr !important;
        justify-items: start !important;
    }
}

.gz-p-meta-state {
    display: inline-flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

.gz-p-stock--meta {
    min-height: 26px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    background: rgba(22, 138, 34, .10) !important;
    border: 1px solid rgba(22, 138, 34, .22) !important;
    white-space: nowrap !important;
    font-size: 12.5px !important;
}

body.theme-dark .gz-p-stock--meta {
    background: rgba(68, 214, 44, .14) !important;
    border-color: rgba(68, 214, 44, .28) !important;
}

.gz-p-stock-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border-radius: 999px;
    background: #16a34a;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .02em;
}

.gz-p-stock-pill i {
    font-size: 7px;
    color: #fff;
    animation: gzStockPulse 2s ease-in-out infinite;
}

@keyframes gzStockPulse {
    0%, 100% { opacity: 1; }
    50% { opacity: .4; }
}

.gz-p-price-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.gz-p-meta-inline-val {
    display: inline-flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px 14px !important;
}

.gz-p-ref {
    display: inline !important;
    color: #66716a !important;
    font-size: 13px !important;
    font-weight: 400 !important;
}

body.theme-dark .gz-p-ref {
    color: #999 !important;
}

/* Single product width: align body with header/nav max width. */
.template-product .gz-p-breadcrumb > .container,
.template-product .gz-p-main > .container,
.template-product .gz-p-trust-bar > .container,
.template-product .gz-p-related > .container,
body:not(.theme-dark) .gz-p-breadcrumb > .container,
body:not(.theme-dark) .gz-p-main > .container,
body:not(.theme-dark) .gz-p-trust-bar > .container,
body:not(.theme-dark) .gz-p-related > .container {
    width: min(100%, 1400px) !important;
    max-width: 1400px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
}

.template-product .gz-p-grid.gz-p-grid-sticky,
body:not(.theme-dark) .gz-p-grid.gz-p-grid-sticky {
    grid-template-columns: minmax(0, 1fr) minmax(440px, .95fr) !important;
    gap: 24px !important;
}

@media (max-width: 1024px) {
    .template-product .gz-p-breadcrumb > .container,
    .template-product .gz-p-main > .container,
    .template-product .gz-p-trust-bar > .container,
    .template-product .gz-p-related > .container,
    body:not(.theme-dark) .gz-p-breadcrumb > .container,
    body:not(.theme-dark) .gz-p-main > .container,
    body:not(.theme-dark) .gz-p-trust-bar > .container,
    body:not(.theme-dark) .gz-p-related > .container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* Header top strip as a news bar. */
.gz-topbar .gz-topbar-inner {
    min-height: 36px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
    align-items: center !important;
}

.gz-topbar-news {
    min-width: 0 !important;
    display: block !important;
    align-items: center !important;
    gap: 10px !important;
}

.gz-news-badge {
    min-height: 22px !important;
    padding: 0 9px !important;
    display: inline-flex !important;
    align-items: center !important;
    border-radius: 999px !important;
    background: #44d62c !important;
    color: #050705 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

.gz-news-marquee {
    min-width: 0 !important;
    overflow: hidden !important;
    mask-image: linear-gradient(90deg, transparent, #000 18px, #000 calc(100% - 18px), transparent);
}

.gz-news-track {
    width: max-content !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 28px !important;
    color: var(--gz-h-top-muted) !important;
    white-space: nowrap !important;
    animation: gzNewsTicker 24s linear infinite;
}

.gz-news-track span,
.gz-topbar-links a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    color: var(--gz-h-top-muted) !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
}

.gz-news-track i,
.gz-topbar-links i {
    color: #44d62c !important;
}

.gz-topbar-links {
    display: inline-flex !important;
    align-items: center !important;
    gap: 18px !important;
}

.gz-topbar-links a:hover {
    color: #ffffff !important;
}

.gz-topbar-news:hover .gz-news-track {
    animation-play-state: paused;
}

@keyframes gzNewsTicker {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

@media (max-width: 860px) {
    .gz-topbar .gz-topbar-inner {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .gz-topbar-links {
        display: none !important;
    }
}

/* Product page purchase row refinement. */
.template-product .gz-p-add-form,
.gz-p-add-form {
    grid-template-columns: max-content minmax(220px, 1fr) !important;
    gap: 14px !important;
}

.template-product .gz-p-add-form .gz-p-qty-row,
.gz-p-add-form .gz-p-qty-row {
    width: max-content !important;
    grid-template-columns: auto auto !important;
    gap: 12px !important;
    padding: 0 !important;
}

.template-product .gz-p-add-form .gz-p-qty-label,
.gz-p-add-form .gz-p-qty-label {
    align-self: center !important;
    color: #66716a !important;
    line-height: 1 !important;
}

.template-product .gz-p-add-form .gz-p-qty,
.gz-p-add-form .gz-p-qty {
    width: 126px !important;
    grid-template-columns: 36px 54px 36px !important;
    border-radius: 10px !important;
    background: #ffffff !important;
}

.template-product .gz-p-add-form .gz-p-add-btn,
.gz-p-add-form .gz-p-add-btn {
    border-radius: 10px !important;
}

@media (max-width: 620px) {
    .template-product .gz-p-add-form,
    .gz-p-add-form {
        grid-template-columns: 1fr !important;
    }

    .template-product .gz-p-add-form .gz-p-qty-row,
    .gz-p-add-form .gz-p-qty-row {
        width: 100% !important;
        grid-template-columns: 1fr auto !important;
    }
}

/* ============================================================
   Theme consistency: product + shop use the same size in both modes
   ============================================================ */
.template-product .gz-p-breadcrumb > .container,
.template-product .gz-p-main > .container,
.template-product .gz-p-details > .container,
.template-product .gz-p-related > .container,
.template-shop .breadcrumb > .container,
.template-shop .ct-shop-page > .container {
    width: min(100%, 1400px) !important;
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
}

.template-product .gz-p-grid.gz-p-grid-sticky {
    grid-template-columns: minmax(0, 1fr) minmax(440px, .95fr) !important;
    gap: 24px !important;
}

.template-shop .ct-shop-page .products-layout {
    grid-template-columns: 256px minmax(0, 1fr) !important;
    gap: 24px !important;
}

.template-shop .ct-shop-page .products-grid,
.template-shop .ct-shop-page .products-grid.cols-5,
.template-shop .ct-shop-page .products-grid.cols-4,
.template-shop .ct-shop-page .products-grid.cols-3,
.template-shop .ct-shop-page .products-grid.cols-2 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body.theme-dark.template-product,
body.theme-dark.template-shop {
    background: #050705 !important;
    color: #f4f7f4 !important;
}

body.theme-dark.template-product main,
body.theme-dark.template-product .gz-p-breadcrumb,
body.theme-dark.template-product .gz-p-main,
body.theme-dark.template-product .gz-p-details,
body.theme-dark.template-product .gz-p-related,
body.theme-dark.template-shop main,
body.theme-dark.template-shop .breadcrumb,
body.theme-dark.template-shop .ct-shop-page {
    background: #050705 !important;
    color: #f4f7f4 !important;
}

body.theme-dark.template-product .gz-p-gallery-card,
body.theme-dark.template-product .gz-p-info-card,
body.theme-dark.template-product .gz-p-card,
body.theme-dark.template-shop .filter-sidebar,
body.theme-dark.template-shop .ct-shop-page .filter-group,
body.theme-dark.template-shop .ct-shop-page .filter-group-title,
body.theme-dark.template-shop .ct-shop-page .filter-group-body,
body.theme-dark.template-shop .ct-shop-page .products-top-bar,
body.theme-dark.template-shop .ct-shop-page .filter-select {
    background: transparent !important;
    border-color: #2a302a !important;
    color: #f4f7f4 !important;
    box-shadow: none !important;
}

body.theme-dark.template-product .gz-p-main-img-wrap,
body.theme-dark.template-product .gz-p-thumb,
body.theme-dark.template-shop .product-card {
    background: #ffffff !important;
    border-color: #e2e5e2 !important;
    color: #060806 !important;
}

body.theme-dark.template-product .gz-p-title,
body.theme-dark.template-product .gz-p-card-title,
body.theme-dark.template-product .gz-p-section-title,
body.theme-dark.template-shop .ct-shop-heading h1,
body.theme-dark.template-shop .filter-header h3,
body.theme-dark.template-shop .filter-group-title {
    color: #ffffff !important;
}

body.theme-dark.template-product .gz-p-short-desc {
    color: #aaa !important;
}

body.theme-dark.template-product .gz-p-meta-label,
body.theme-dark.template-product .gz-p-meta-value,
body.theme-dark.template-product .gz-p-rating-text,
body.theme-dark.template-product .gz-p-card-body,
body.theme-dark.template-product .gz-p-section-kicker,
body.theme-dark.template-product .gz-p-price-notes,
body.theme-dark.template-product .gz-p-ref-line,
body.theme-dark.template-shop .ct-shop-heading p,
body.theme-dark.template-shop .filter-list-item,
body.theme-dark.template-shop .filter-list-label,
body.theme-dark.template-shop .filter-list-count,
body.theme-dark.template-shop .ct-shop-checks a,
body.theme-dark.template-shop .sort-select-wrap label {
    color: #c8d0c9 !important;
}

body.theme-dark.template-product .gz-p-meta-val,
body.theme-dark.template-product .gz-p-spec-val,
body.theme-dark.template-product .gz-p-description,
body.theme-dark.template-product .gz-p-description *,
body.theme-dark.template-product .gz-p-shipping-item p {
    color: #dce5dd !important;
}

body.theme-dark.template-product .gz-p-card-header h2,
body.theme-dark.template-product .gz-p-fiche-title,
body.theme-dark.template-product .gz-p-shipping-item h4,
body.theme-dark.template-product .gz-p-price,
body.theme-dark.template-product .gz-p-price-label,
body.theme-dark.template-product .gz-p-ref-line strong {
    color: #ffffff !important;
}

body.theme-dark.template-product .gz-p-price {
    text-shadow: 0 0 1px rgba(255, 255, 255, .22) !important;
}

body.theme-dark.template-product .gz-p-price-compare {
    color: #9da69f !important;
}

body.theme-dark.template-product .gz-p-card-icon,
body.theme-dark.template-product .gz-p-link,
body.theme-dark.template-product .gz-p-bc-current {
    color: #44d62c !important;
}

body.theme-dark.template-product .gz-p-spec-key {
    color: #000000 !important;
}

body.theme-dark.template-product .gz-p-info-card hr,
body.theme-dark.template-product .gz-p-divider {
    border-color: #2a302a !important;
}

body.theme-dark.template-product .product-card .product-name,
body.theme-dark.template-shop .product-card .product-name,
body.theme-dark.template-shop .product-card .product-price .current {
    color: #050705 !important;
}

body.theme-dark.template-product .product-card .product-cat,
body.theme-dark.template-shop .product-card .product-cat,
body.theme-dark.template-shop .product-card .product-price .old {
    color: #6f7770 !important;
}

body.theme-dark.template-product .gz-p-related .product-name {
    color: #f4f7f4 !important;
}

body.theme-dark.template-product .gz-p-related .product-cat {
    color: #aeb8b0 !important;
}

body.theme-dark.template-product .gz-p-related .product-price .current {
    color: #44d62c !important;
}

body.theme-dark.template-product .gz-p-related .product-price .old {
    color: #9da69f !important;
}

.template-product .gz-p-info-card {
    position: static !important;
    top: auto !important;
}

.template-product .gz-p-section-head {
    display: flex !important;
    align-items: end !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin-bottom: 18px !important;
}

.template-product .gz-p-rail-actions {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex: 0 0 auto !important;
}

.template-product .gz-p-related .gz-rail-btn {
    position: static !important;
    inset: auto !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 999px !important;
    transform: none !important;
    background: #1b211b !important;
    border: 1px solid #303830 !important;
    color: #ffffff !important;
    display: inline-grid !important;
    place-items: center !important;
    box-shadow: none !important;
}

.template-product .gz-p-related .gz-rail-btn:hover {
    background: #44d62c !important;
    border-color: #44d62c !important;
    color: #050705 !important;
}

body.light-theme.template-product .gz-p-related .gz-rail-btn {
    background: #111411 !important;
    border-color: #111411 !important;
    color: #ffffff !important;
}

body.light-theme.template-product,
body.light-theme.template-shop {
    background: #f3f4f3 !important;
    color: #111411 !important;
}

body.light-theme.template-product main,
body.light-theme.template-product .gz-p-breadcrumb,
body.light-theme.template-product .gz-p-main,
body.light-theme.template-product .gz-p-details,
body.light-theme.template-product .gz-p-related,
body.light-theme.template-shop main,
body.light-theme.template-shop .breadcrumb,
body.light-theme.template-shop .ct-shop-page {
    background: #f3f4f3 !important;
    color: #111411 !important;
}

@media (max-width: 1100px) {
    .template-shop .ct-shop-page .products-grid,
    .template-shop .ct-shop-page .products-grid.cols-5,
    .template-shop .ct-shop-page .products-grid.cols-4,
    .template-shop .ct-shop-page .products-grid.cols-3,
    .template-shop .ct-shop-page .products-grid.cols-2 {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 992px) {
    .template-product .gz-p-breadcrumb > .container,
    .template-product .gz-p-main > .container,
    .template-product .gz-p-details > .container,
    .template-product .gz-p-related > .container,
    .template-shop .breadcrumb > .container,
    .template-shop .ct-shop-page > .container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .template-product .gz-p-grid.gz-p-grid-sticky,
    .template-shop .ct-shop-page .products-layout {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 768px) {
    .template-shop .ct-shop-page .products-grid,
    .template-shop .ct-shop-page .products-grid.cols-5,
    .template-shop .ct-shop-page .products-grid.cols-4,
    .template-shop .ct-shop-page .products-grid.cols-3,
    .template-shop .ct-shop-page .products-grid.cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 480px) {
    .template-shop .ct-shop-page .products-grid,
    .template-shop .ct-shop-page .products-grid.cols-5,
    .template-shop .ct-shop-page .products-grid.cols-4,
    .template-shop .ct-shop-page .products-grid.cols-3,
    .template-shop .ct-shop-page .products-grid.cols-2 {
        grid-template-columns: 1fr !important;
    }
}

/* Product gallery: left rail thumbnails + compact feature cards. */
.template-product .gz-p-gallery-card {
    padding: 18px !important;
}

.template-product .gz-p-gallery-stage {
    display: grid !important;
    grid-template-columns: 74px minmax(0, 1fr) !important;
    gap: 16px !important;
    align-items: stretch !important;
}

.template-product .gz-p-thumb-rail {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    align-items: center !important;
    max-height: 560px !important;
    overflow: hidden !important;
}

.template-product .gz-p-thumb-rail .gz-p-thumb {
    width: 60px !important;
    height: 60px !important;
    flex: 0 0 60px !important;
    padding: 5px !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    border: 2px solid rgba(255, 255, 255, .82) !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .16) !important;
}

.template-product .gz-p-thumb-rail .gz-p-thumb.active,
.template-product .gz-p-thumb-rail .gz-p-thumb:hover {
    border-color: #44d62c !important;
}

.template-product .gz-p-thumb-rail .gz-p-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    padding: 0 !important;
}

.template-product .gz-p-thumb-more {
    width: 60px !important;
    height: 60px !important;
    flex: 0 0 60px !important;
    display: grid !important;
    place-items: center !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #050705 !important;
    font-size: 24px !important;
    cursor: pointer !important;
}

.template-product .gz-p-gallery-stage .gz-p-main-img-wrap {
    min-height: 560px !important;
}

.template-product .gz-p-feature-cards {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin-top: 18px !important;
}

.template-product .gz-p-feature-card {
    min-height: 82px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 12px 10px !important;
    border-radius: 4px !important;
    background: linear-gradient(180deg, #111611 0%, #080b08 100%) !important;
    border: 1px solid #273027 !important;
    color: #ffffff !important;
    text-align: center !important;
}

.template-product .gz-p-feature-card span {
    color: #ffffff !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
}

.template-product .gz-p-feature-card strong {
    color: #b7c1b9 !important;
    font-size: 12.5px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    overflow-wrap: anywhere !important;
}

body.light-theme.template-product .gz-p-feature-card {
    background: #050705 !important;
    border-color: #050705 !important;
}

@media (max-width: 900px) {
    .template-product .gz-p-gallery-stage {
        grid-template-columns: 1fr !important;
    }

    .template-product .gz-p-thumb-rail {
        order: 2 !important;
        flex-direction: row !important;
        max-height: none !important;
        overflow-x: auto !important;
        justify-content: flex-start !important;
    }

    .template-product .gz-p-gallery-stage .gz-p-main-img-wrap {
        order: 1 !important;
        min-height: 420px !important;
    }

    .template-product .gz-p-feature-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 520px) {
    .template-product .gz-p-gallery-card {
        padding: 12px !important;
    }

    .template-product .gz-p-gallery-stage .gz-p-main-img-wrap {
        min-height: 320px !important;
    }

    .template-product .gz-p-feature-cards {
        grid-template-columns: 1fr !important;
    }
}

/* Product brand in meta: one clean placement, no title-side crowding. */
.template-product .gz-p-meta-row {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
}

.template-product .gz-p-brand-row {
    width: fit-content !important;
    min-height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    border: 0 !important;
    color: inherit !important;
}

.template-product .gz-p-brand-logo {
    height: 34px !important;
    width: auto !important;
    max-height: 34px !important;
    max-width: 120px !important;
    object-fit: contain !important;
}

.gz-p-brand-dark { display: none !important; }

body.theme-dark .gz-p-brand-light { display: none !important; }
body.theme-dark .gz-p-brand-dark { display: block !important; }

.template-product .gz-p-brand-fallback {
    display: none !important;
}

body.theme-dark.template-product .gz-p-brand-logo {
    filter: none !important;
}

/* ============ Techspace-inspired shop sidebar refresh ============ */
.template-shop .ct-shop-page .products-layout {
    align-items: flex-start !important;
    gap: 28px !important;
}

.template-shop .ct-shop-page .filter-sidebar {
    width: 276px !important;
    flex: 0 0 276px !important;
    position: sticky !important;
    top: 126px !important;
    align-self: flex-start !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    border: 1px solid #dfdfdf !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.template-shop .ct-shop-page .filter-header {
    min-height: 54px !important;
    padding: 14px 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: #f7f7f7 !important;
    border-bottom: 1px solid #e4e4e4 !important;
    color: #111 !important;
}

.template-shop .ct-shop-page .filter-header h3 {
    margin: 0 !important;
    color: #111 !important;
    font-size: 21px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

.template-shop .ct-shop-page .reset-filters {
    color: #545454 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
}

.template-shop .ct-shop-page .filter-panel-search {
    margin: 14px 14px 12px !important;
    min-height: 42px !important;
    grid-template-columns: 34px minmax(0, 1fr) 34px !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 6px !important;
    background: #ffffff !important;
}

.template-shop .ct-shop-page .filter-panel-search > i,
.template-shop .ct-shop-page .filter-panel-search input::placeholder {
    color: #777 !important;
}

.template-shop .ct-shop-page .filter-panel-search input {
    height: 40px !important;
    color: #111 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.template-shop .ct-shop-page .filter-panel-search button {
    width: 30px !important;
    height: 30px !important;
    margin-right: 4px !important;
    background: #111 !important;
    color: #fff !important;
    font-size: 12px !important;
}

.template-shop .ct-shop-page .filter-panel-search:focus-within {
    border-color: #111 !important;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, .08) !important;
}

.template-shop .ct-shop-page .ct-active-filters {
    padding: 0 14px 12px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.template-shop .ct-shop-page .ct-active-filters a {
    min-height: 30px !important;
    padding: 7px 10px !important;
    border: 1px solid #dedede !important;
    border-radius: 999px !important;
    background: #f4f4f4 !important;
    color: #191919 !important;
    font-size: 11.5px !important;
    font-weight: 800 !important;
}

.template-shop .ct-shop-page .filter-group {
    margin: 0 !important;
    border: 0 !important;
    border-top: 1px solid #e7e7e7 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
}

.template-shop .ct-shop-page .filter-group-title {
    min-height: 48px !important;
    padding: 0 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: #ffffff !important;
    color: #111 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 0 !important;
}

.template-shop .ct-shop-page .filter-group-title i {
    color: #888 !important;
    font-size: 11px !important;
}

.template-shop .ct-shop-page .filter-group-body {
    padding: 0 14px 16px !important;
    background: #ffffff !important;
    color: #111 !important;
}

.template-shop .ct-shop-page .filter-list,
.template-shop .ct-shop-page .filter-list-scroll {
    max-height: none !important;
    overflow: visible !important;
    padding: 0 !important;
}

.template-shop .ct-shop-page .filter-list-item {
    min-height: 36px !important;
    padding: 7px 2px !important;
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) auto !important;
    gap: 8px !important;
    align-items: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #222 !important;
    font-size: 12.5px !important;
    font-weight: 750 !important;
}

.template-shop .ct-shop-page .filter-list-item:hover {
    background: transparent !important;
    color: #000 !important;
}

.template-shop .ct-shop-page .filter-list-item.active {
    background: transparent !important;
    color: #111 !important;
    font-weight: 900 !important;
}

.template-shop .ct-shop-page .filter-list-check {
    width: 16px !important;
    height: 16px !important;
    display: inline-grid !important;
    place-items: center !important;
    color: #111 !important;
}

.template-shop .ct-shop-page .filter-list-check i {
    color: #111 !important;
    font-size: 14px !important;
}

.template-shop .ct-shop-page .filter-list-item.active .filter-list-check i {
    color: #44d62c !important;
}

.template-shop .ct-shop-page .filter-list-label {
    min-width: 0 !important;
    color: inherit !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    line-height: 1.25 !important;
}

.template-shop .ct-shop-page .filter-list-count {
    color: #666 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}

.template-shop .ct-shop-page .brand-logo-thumb {
    width: 34px !important;
    height: 18px !important;
    object-fit: contain !important;
    grid-column: 2 !important;
    justify-self: start !important;
    margin-right: 4px !important;
}

.template-shop .ct-shop-page #brandList .filter-list-item {
    grid-template-columns: 18px 38px minmax(0, 1fr) auto !important;
}

.template-shop .ct-shop-page #brandList .filter-list-label {
    grid-column: 3 !important;
}

.template-shop .ct-shop-page #brandList .filter-list-count {
    grid-column: 4 !important;
}

.template-shop .ct-shop-page .price-labels {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 0 0 14px !important;
}

.template-shop .ct-shop-page .price-labels span {
    height: 34px !important;
    padding: 0 10px !important;
    border: 1px solid #d7d7d7 !important;
    border-radius: 4px !important;
    background: #f8f8f8 !important;
    color: #111 !important;
    font-size: 11.5px !important;
    font-weight: 900 !important;
}

.template-shop .ct-shop-page .price-slider-wrap {
    height: 30px !important;
    margin: 0 7px !important;
}

.template-shop .ct-shop-page .price-slider-track {
    height: 4px !important;
    top: 13px !important;
    background: #d2d2d2 !important;
}

.template-shop .ct-shop-page .price-slider-range {
    height: 4px !important;
    top: 13px !important;
    background: #111 !important;
}

.template-shop .ct-shop-page input[type="range"]::-webkit-slider-thumb {
    width: 16px !important;
    height: 16px !important;
    border: 2px solid #111 !important;
    background: #fff !important;
    box-shadow: none !important;
}

body.theme-dark.template-shop .ct-shop-page .filter-sidebar,
body.theme-dark.template-shop .ct-shop-page .filter-header,
body.theme-dark.template-shop .ct-shop-page .filter-group,
body.theme-dark.template-shop .ct-shop-page .filter-group-title,
body.theme-dark.template-shop .ct-shop-page .filter-group-body {
    background: #101010 !important;
    border-color: #262626 !important;
    color: #f3f3f3 !important;
}

body.theme-dark.template-shop .ct-shop-page .filter-header {
    background: #161616 !important;
}

body.theme-dark.template-shop .ct-shop-page .filter-header h3,
body.theme-dark.template-shop .ct-shop-page .filter-group-title,
body.theme-dark.template-shop .ct-shop-page .filter-list-item,
body.theme-dark.template-shop .ct-shop-page .filter-list-label {
    color: #f3f3f3 !important;
}

body.theme-dark.template-shop .ct-shop-page .filter-list-count,
body.theme-dark.template-shop .ct-shop-page .filter-group-title i {
    color: #a5a5a5 !important;
}

body.theme-dark.template-shop .ct-shop-page .filter-panel-search {
    background: #0b0f0b !important;
    border-color: #303030 !important;
}

body.theme-dark.template-shop .ct-shop-page .filter-panel-search input {
    color: #fff !important;
}

body.theme-dark.template-shop .ct-shop-page .filter-panel-search button,
body.theme-dark.template-shop .ct-shop-page .price-slider-range {
    background: #44d62c !important;
    color: #050505 !important;
}

body.theme-dark.template-shop .ct-shop-page .filter-list-check,
body.theme-dark.template-shop .ct-shop-page .filter-list-check i {
    color: #d8d8d8 !important;
}

body.theme-dark.template-shop .ct-shop-page .price-labels span {
    background: #181818 !important;
    border-color: #303030 !important;
    color: #f1f1f1 !important;
}

body.theme-dark.template-shop .ct-shop-page .price-slider-track {
    background: #363636 !important;
}

body.theme-dark.template-shop .ct-shop-page input[type="range"]::-webkit-slider-thumb {
    border-color: #44d62c !important;
    background: #101010 !important;
}

@media (max-width: 991px) {
    .template-shop .ct-shop-page .filter-sidebar {
        width: min(88vw, 330px) !important;
        flex-basis: auto !important;
        top: 0 !important;
        position: fixed !important;
        border-radius: 0 !important;
        overflow-y: auto !important;
    }
}

/* Shop sidebar pass 2: closer to Techspace's slim, quiet filter column. */
.template-shop .ct-shop-page .filter-sidebar {
    width: 240px !important;
    flex-basis: 240px !important;
    border: 0 !important;
    background: transparent !important;
    overflow: visible !important;
}

.template-shop .ct-shop-page .filter-header {
    padding: 0 0 12px !important;
    min-height: 0 !important;
    background: transparent !important;
    border-bottom: 1px solid #dedede !important;
}

.template-shop .ct-shop-page .filter-header h3 {
    font-size: 18px !important;
}

.template-shop .ct-shop-page .filter-panel-search {
    margin: 14px 0 12px !important;
}

.template-shop .ct-shop-page .ct-active-filters {
    padding: 12px 0 14px !important;
}

.template-shop .ct-shop-page .filter-group {
    background: transparent !important;
    border-top: 1px solid #e2e2e2 !important;
}

.template-shop .ct-shop-page .filter-group-title {
    padding: 0 !important;
    min-height: 46px !important;
    background: transparent !important;
    font-size: 12.5px !important;
}

.template-shop .ct-shop-page .filter-group-body {
    padding: 0 0 16px !important;
    background: transparent !important;
}

.template-shop .ct-shop-page .filter-list-item,
.template-shop .ct-shop-page .filter-list-item:hover,
.template-shop .ct-shop-page .filter-list-item.active,
body.theme-dark.template-shop .ct-shop-page .filter-list-item,
body.theme-dark.template-shop .ct-shop-page .filter-list-item:hover,
body.theme-dark.template-shop .ct-shop-page .filter-list-item.active {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.template-shop .ct-shop-page .filter-list-item {
    width: 100% !important;
    padding: 8px 0 !important;
    min-height: 34px !important;
    font-size: 12px !important;
}

.template-shop .ct-shop-page .filter-list-check i {
    font-size: 13px !important;
}

.template-shop .ct-shop-page .price-labels span {
    height: 32px !important;
    background: transparent !important;
}

.template-shop .ct-shop-page .products-layout {
    grid-template-columns: 240px minmax(0, 1fr) !important;
}

body.theme-dark.template-shop .ct-shop-page .filter-sidebar,
body.theme-dark.template-shop .ct-shop-page .filter-header,
body.theme-dark.template-shop .ct-shop-page .filter-group,
body.theme-dark.template-shop .ct-shop-page .filter-group-title,
body.theme-dark.template-shop .ct-shop-page .filter-group-body {
    background: transparent !important;
}

body.theme-dark.template-shop .ct-shop-page .filter-header,
body.theme-dark.template-shop .ct-shop-page .filter-group {
    border-color: #2a2a2a !important;
}

body.theme-dark.template-shop .ct-shop-page .ct-active-filters a {
    background: #171717 !important;
    border-color: #292929 !important;
    color: #f1f1f1 !important;
}

.template-shop .ct-shop-page .ct-active-filters a,
.template-shop .ct-shop-page .ct-active-filters a span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: inherit !important;
    line-height: 1 !important;
    text-indent: 0 !important;
    opacity: 1 !important;
}

@media (max-width: 991px) {
    .template-shop .ct-shop-page .filter-sidebar {
        width: min(88vw, 330px) !important;
        background: transparent !important;
        overflow-y: auto !important;
    }

    body.theme-dark.template-shop .ct-shop-page .filter-sidebar {
        background: transparent !important;
    }
}

body.light-theme.template-product .gz-p-brand-row {
    background: transparent !important;
    border-color: transparent !important;
    color: inherit !important;
}

@media (max-width: 620px) {
    .template-product .gz-p-meta-row {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 4px !important;
    }
}

/* Home flash deals: compact neon promo strip. */
.ts-home .ts-flash-deals {
    padding: 22px 0 34px !important;
    background: #080d10 !important;
}

.ts-home .ts-flash-deals .container {
    width: min(100%, 1420px) !important;
    max-width: 1420px !important;
}

.ts-flash-panel {
    display: grid;
    grid-template-columns: 290px minmax(0, 1fr);
    gap: 18px;
    align-items: stretch;
    padding: 16px 18px;
    border: 1px solid rgba(68, 214, 44, .62);
    border-radius: 8px;
    background:
        linear-gradient(90deg, rgba(68, 214, 44, .05), rgba(68, 214, 44, .015)),
        #0b1115;
    box-shadow: 0 0 0 1px rgba(68, 214, 44, .12), 0 18px 50px rgba(0, 0, 0, .38);
}

.ts-flash-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    color: #fff;
}

.ts-flash-copy h2 {
    margin: 0 0 16px;
    color: #44d62c !important;
    font-size: clamp(1.55rem, 2.25vw, 2.45rem) !important;
    line-height: .95 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase;
}

.ts-flash-timer {
    display: grid;
    grid-template-columns: repeat(4, auto);
    gap: 16px;
    margin-bottom: 18px;
}

.ts-flash-timer span {
    position: relative;
    display: grid;
    gap: 2px;
    min-width: 35px;
}

.ts-flash-timer span + span::before {
    content: "";
    position: absolute;
    left: -9px;
    top: 11px;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #5f6b66;
    box-shadow: 0 8px 0 #5f6b66;
}

.ts-flash-timer strong {
    color: #fff;
    font-size: 24px;
    line-height: 1;
    font-weight: 700;
}

.ts-flash-timer small {
    color: #9ba6a0;
    font-size: 9px;
    line-height: 1.1;
}

.ts-flash-copy p {
    margin: 0 0 16px;
    color: #d7dfd9 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 600;
}

.ts-flash-copy a {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    padding: 0 22px;
    border-radius: 6px;
    background: #44d62c;
    color: #061006;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    transition: filter .16s ease, transform .16s ease;
}

.ts-flash-copy a:hover {
    filter: brightness(1.08);
    transform: translateY(-1px);
}

.ts-flash-products {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 4px;
    min-width: 0;
}
.ts-flash-products::-webkit-scrollbar { display: none; }

.ts-flash-card {
    position: relative;
    flex: 0 0 280px;
    scroll-snap-align: start;
    display: grid;
    grid-template-rows: minmax(160px, 1fr) auto;
    min-height: 310px;
    padding: 12px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .045);
    border-radius: 8px;
    background:
        radial-gradient(circle at 50% 0%, rgba(78, 40, 85, .42), transparent 52%),
        linear-gradient(180deg, #19121f 0%, #101619 100%);
    color: #fff;
}

.ts-flash-badge {
    position: absolute;
    top: 9px;
    left: 10px;
    z-index: 2;
    min-width: 52px;
    padding: 3px 11px;
    border-radius: 999px;
    background: #111;
    color: #fff;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 900;
    text-align: center;
}

.ts-flash-img {
    display: grid;
    min-height: 160px;
    place-items: center;
    padding: 0 18px 6px;
}

.ts-flash-img img {
    width: 100%;
    height: 160px;
    object-fit: contain;
    filter: drop-shadow(0 18px 24px rgba(0, 0, 0, .45));
    transition: transform .18s ease;
}

.ts-flash-card:hover .ts-flash-img img {
    transform: scale(1.04);
}

.ts-flash-info {
    display: grid;
    gap: 7px;
    padding-right: 32px;
}

.ts-flash-info > a {
    min-height: 38px;
    color: #f4f7f5;
    font-size: 13px;
    line-height: 1.32;
    font-weight: 600;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.ts-flash-info > a:hover {
    color: #44d62c;
}

.ts-flash-price {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px;
}

.ts-flash-price strong {
    color: #44d62c;
    font-size: 16px;
    line-height: 1.1;
    font-weight: 900;
}

.ts-flash-price span {
    color: #7e8882;
    font-size: 11px;
    line-height: 1.1;
    font-weight: 700;
    text-decoration: line-through;
}

.ts-flash-cart {
    position: absolute;
    right: 12px;
    bottom: 12px;
}

.ts-flash-cart button {
    width: 32px;
    height: 32px;
    display: inline-grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 5px;
    background: rgba(5, 9, 10, .55);
    color: #aeb8b0;
    cursor: pointer;
    transition: background .16s ease, border-color .16s ease, color .16s ease;
}

.ts-flash-cart button:hover {
    border-color: #44d62c;
    background: #44d62c;
    color: #061006;
}

.ts-flash-products .ts-empty {
    grid-column: 1 / -1;
    align-self: center;
    color: #d7dfd9;
    font-weight: 700;
}

@media (max-width: 1180px) {
    .ts-flash-panel {
        grid-template-columns: 250px minmax(0, 1fr);
    }

    .ts-flash-products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .ts-flash-panel {
        grid-template-columns: 1fr;
        padding: 16px;
    }

    .ts-flash-copy {
        align-items: stretch;
    }

    .ts-flash-copy h2 {
        font-size: 2rem !important;
    }

    .ts-flash-timer {
        justify-content: start;
    }
}

@media (max-width: 560px) {
    .ts-home .ts-flash-deals .container {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .ts-flash-products {
        grid-template-columns: 1fr;
    }

    .ts-flash-card {
        min-height: 224px;
    }
}

/* Screenshot-style dark shop catalog. */
body.theme-dark.template-shop,
body.theme-dark.template-shop main,
body.theme-dark.template-shop .breadcrumb,
body.theme-dark.template-shop .ct-shop-page {
    background:
        radial-gradient(circle at 32% 10%, rgba(35, 99, 82, .14), transparent 38%),
        radial-gradient(circle at 82% 34%, rgba(68, 214, 44, .06), transparent 32%),
        #071014 !important;
    color: #eef6f1 !important;
}

body.theme-dark.template-shop .breadcrumb {
    padding: 26px 0 8px !important;
    border: 0 !important;
}

body.theme-dark.template-shop .breadcrumb .container {
    color: #7f8c86 !important;
    font-size: 13px !important;
}

body.theme-dark.template-shop .breadcrumb a {
    color: #a8b4ae !important;
}

body.theme-dark.template-shop .breadcrumb a:hover,
body.theme-dark.template-shop .breadcrumb span:last-child {
    color: #44d62c !important;
}

.template-shop .ct-shop-page > .container {
    width: min(100%, 1440px) !important;
    max-width: 1440px !important;
}

.template-shop .ct-shop-heading {
    display: flex !important;
    align-items: end !important;
    justify-content: space-between !important;
    gap: 24px !important;
    min-height: auto !important;
    padding: 10px 0 20px !important;
    background: transparent !important;
    color: #eef6f1 !important;
}

.template-shop .ct-shop-heading h1 {
    margin: 0 0 9px !important;
    color: #ffffff !important;
    font-size: clamp(2rem, 3vw, 3.15rem) !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.template-shop .ct-shop-heading h1 span {
    color: #44d62c !important;
    font-size: clamp(.95rem, 1.25vw, 1.15rem) !important;
    font-weight: 800 !important;
}

.template-shop .ct-shop-heading p {
    max-width: 920px !important;
    color: #c4cec8 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
}

.ct-shop-heading-sort {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 0 0 auto;
}

.ct-shop-heading-sort label {
    color: #c7d1cb;
    font-size: 13px;
    font-weight: 700;
}

.ct-shop-heading-sort .filter-select,
.template-shop .ct-shop-page .filter-select {
    height: 46px !important;
    min-width: 210px;
    border: 1px solid #2b3b3e !important;
    border-radius: 8px !important;
    background: #0b161b !important;
    color: #edf6f1 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

.template-shop .ct-frequent-searches {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(120px, 1fr)) !important;
    gap: 12px !important;
    padding: 0 0 24px !important;
    overflow: visible !important;
    background: transparent !important;
}

.template-shop .ct-frequent-searches a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 10px 16px !important;
    border: 1px solid #26343a !important;
    border-radius: 8px !important;
    background: rgba(11, 22, 27, .9) !important;
    color: #f0f6f2 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-align: center;
    transition: all .15s;
}

.template-shop .ct-frequent-searches a.active,
.template-shop .ct-frequent-searches a:hover {
    border-color: #44d62c !important;
    box-shadow: inset 0 0 0 1px rgba(68, 214, 44, .28);
}

.template-shop .ct-frequent-searches a span {
    width: 42px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 4px;
    color: #44d62c;
    background: #101f20;
    border: 1px solid #2d4a3a;
}

.template-shop .ct-frequent-searches a strong {
    color: inherit;
    font-size: 11.5px;
    line-height: 1.15;
    text-align: center;
}

.template-shop .ct-shop-page .products-layout {
    display: grid !important;
    grid-template-columns: 286px minmax(0, 1fr) !important;
    gap: 24px !important;
    align-items: start !important;
}

.template-shop .ct-shop-page .filter-sidebar {
    position: sticky !important;
    top: 124px !important;
    width: 100% !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #243137 !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #eef6f1 !important;
    box-shadow: none !important;
}

.template-shop .ct-shop-page .filter-header {
    min-height: 58px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 16px !important;
    border-bottom: 1px solid #243137 !important;
    background: transparent !important;
    color: #ffffff !important;
}

.template-shop .ct-shop-page .filter-header h3 {
    margin: 0 !important;
    color: #ffffff !important;
    font-size: 21px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-transform: none !important;
}

.template-shop .ct-shop-page .reset-filters {
    color: #dce7e1 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: none !important;
}

.template-shop .ct-shop-page .filter-panel-search {
    margin: 14px 16px 4px !important;
    min-height: 38px !important;
    border: 1px solid #243137 !important;
    border-radius: 6px !important;
    background: transparent !important;
}

.template-shop .ct-shop-page .filter-panel-search input {
    color: #eef6f1 !important;
    font-size: 12px !important;
}

.template-shop .ct-shop-page .filter-panel-search i,
.template-shop .ct-shop-page .filter-panel-search input::placeholder {
    color: #87948d !important;
}

.template-shop .ct-shop-page .filter-panel-search button {
    background: #142125 !important;
    color: #44d62c !important;
}

.template-shop .ct-shop-page .filter-group {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-top: 1px solid #202e34 !important;
    background: transparent !important;
}

.template-shop .ct-shop-page .filter-group[open] {
    padding-bottom: 12px !important;
}

.template-shop .ct-shop-page .filter-group-title {
    min-height: 52px !important;
    padding: 0 16px !important;
    border: 0 !important;
    background: transparent !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-transform: none !important;
}

.template-shop .ct-shop-page .filter-group-title i {
    color: #d8e2dd !important;
}

.template-shop .ct-shop-page .filter-group-body {
    padding: 0 16px !important;
    background: transparent !important;
}

.template-shop .ct-shop-page .filter-list-item {
    min-height: 32px !important;
    display: grid !important;
    grid-template-columns: 20px minmax(0, 1fr) auto !important;
    gap: 8px !important;
    align-items: center !important;
    padding: 4px 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #c5d0ca !important;
    font-size: 12.5px !important;
    font-weight: 650 !important;
}

.template-shop .ct-shop-page #brandList .filter-list-item {
    grid-template-columns: 20px minmax(0, 1fr) auto !important;
}

.template-shop .ct-shop-page .filter-list-item:hover,
.template-shop .ct-shop-page .filter-list-item.active {
    color: #ffffff !important;
}

.template-shop .ct-shop-page .filter-list-check,
.template-shop .ct-shop-page .filter-list-check i {
    color: #7f8c86 !important;
}

.template-shop .ct-shop-page .filter-list-item.active .filter-list-check,
.template-shop .ct-shop-page .filter-list-item.active .filter-list-check i {
    color: #44d62c !important;
}

.template-shop .ct-shop-page .filter-list-label {
    color: inherit !important;
}

.template-shop .ct-shop-page .filter-list-count {
    color: #a8b4ae !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}

.template-shop .ct-shop-page .brand-logo-thumb {
    display: none !important;
}

.template-shop .ct-shop-page .price-labels {
    grid-template-columns: 1fr auto 1fr !important;
    gap: 10px !important;
    margin-bottom: 14px !important;
}

.template-shop .ct-shop-page .price-labels::after {
    content: "MAD";
    grid-column: 3;
    align-self: center;
    justify-self: end;
    color: #d3ded8;
    font-size: 11px;
    font-weight: 800;
}

.template-shop .ct-shop-page .price-labels span {
    height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #26343a !important;
    border-radius: 6px !important;
    background: #081318 !important;
    color: #dce7e1 !important;
}

.template-shop .ct-shop-page .price-labels span + span {
    grid-column: 3;
}

.template-shop .ct-shop-page .price-slider-track {
    background: #26343a !important;
}

.template-shop .ct-shop-page .price-slider-range {
    background: #44d62c !important;
}

.template-shop .ct-shop-page input[type="range"]::-webkit-slider-thumb {
    border: 2px solid #44d62c !important;
    background: #eef6f1 !important;
}

.template-shop .ct-shop-controls {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin: 0 0 16px !important;
}

.template-shop .ct-shop-checks {
    display: none !important;
}

.template-shop .ct-shop-controls .sort-select-wrap {
    display: none !important;
}

.template-shop .products-top-bar {
    min-height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.template-shop .products-top-bar .top-bar-left {
    display: flex !important;
}

.template-shop .products-top-bar .top-bar-right {
    display: none !important;
}

.template-shop .results-count {
    color: #44d62c !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-transform: none !important;
}

.template-shop .mobile-toolbar-actions {
    justify-content: flex-end !important;
    margin: -2px 0 12px !important;
    background: transparent !important;
    border: 0 !important;
}

.template-shop .toolbar-view-row {
    display: flex !important;
    gap: 8px !important;
}

.template-shop .view-toggle-btn {
    width: 42px !important;
    height: 42px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid #26343a !important;
    border-radius: 8px !important;
    background: #0b161b !important;
    color: #9aa7a0 !important;
}

.template-shop .view-toggle-btn.active,
.template-shop .view-toggle-btn:hover {
    border-color: #44d62c !important;
    color: #44d62c !important;
}

.template-shop .filter-toggle-btn {
    display: none !important;
}

.template-shop .products-grid,
.template-shop .products-grid.cols-5,
.template-shop .products-grid.cols-4,
.template-shop .products-grid.cols-3,
.template-shop .products-grid.cols-2 {
    width: 100% !important;
    max-width: none !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
    margin: 0 !important;
}

.template-shop .products-grid.cols-3 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.template-shop .products-grid.list-view,
.template-shop .products-grid.list-view.compact {
    display: flex !important;
    flex-direction: column !important;
}

.gz-shop-card {
    position: relative;
    display: grid;
    grid-template-rows: auto 170px minmax(0, 1fr);
    min-height: 360px;
    padding: 14px;
    border: 1px solid #26343a;
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(18, 33, 39, .9) 0%, rgba(9, 18, 23, .96) 100%);
    color: #eef6f1;
    overflow: hidden;
}

.gz-shop-card:hover {
    border-color: rgba(68, 214, 44, .6);
    box-shadow: 0 22px 46px rgba(0, 0, 0, .28);
}

.gz-shop-card-top {
    position: relative;
    z-index: 2;
    min-height: 25px;
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.gz-shop-badge {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    padding: 0 10px;
    border-radius: 999px;
    color: #071014;
    font-size: 11px;
    line-height: 1;
    font-weight: 900;
}

.gz-shop-badge.sale {
    background: #ef3535;
    color: #fff;
}

.gz-shop-badge.new {
    background: #44d62c;
}

.gz-shop-size {
    margin-left: auto;
    color: #ffffff;
    font-size: 16px;
    line-height: 1.15;
    font-weight: 900;
}

.gz-shop-img {
    display: grid;
    place-items: center;
    padding: 4px 8px 12px;
}

.gz-shop-img img {
    width: 100%;
    height: 150px;
    object-fit: contain;
    filter: drop-shadow(0 18px 18px rgba(0, 0, 0, .42));
    transition: transform .18s ease;
}

.gz-shop-card:hover .gz-shop-img img {
    transform: scale(1.035);
}

.gz-shop-info {
    display: grid;
    gap: 8px;
    align-content: end;
}

.gz-shop-brand {
    color: #b5c0ba;
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
    text-transform: uppercase;
}

.gz-shop-name {
    min-height: 38px;
    color: #ffffff;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 800;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.gz-shop-name:hover {
    color: #44d62c;
}

.gz-shop-specs {
    display: flex;
    min-height: 38px;
    flex-wrap: wrap;
    gap: 5px 10px;
    color: #a9b5af;
    font-size: 11px;
    line-height: 1.25;
}

.gz-shop-specs li:not(:last-child)::after {
    content: "•";
    margin-left: 10px;
    color: #52605a;
}

.gz-shop-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 10px;
    padding-top: 4px;
}

.gz-shop-price strong {
    color: #44d62c;
    font-size: 22px;
    line-height: 1;
    font-weight: 900;
}

.gz-shop-price span {
    color: #a0aaa4;
    font-size: 13px;
    font-weight: 700;
    text-decoration: line-through;
}

.gz-shop-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    gap: 10px;
    padding-top: 8px;
}

.gz-shop-actions form {
    min-width: 0;
}

.gz-shop-actions button {
    width: 100%;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #2c6b45;
    border-radius: 7px;
    background: rgba(68, 214, 44, .06);
    color: #44d62c;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.gz-shop-actions button:hover {
    background: #44d62c;
    color: #071014;
}

.gz-shop-actions button.is-disabled {
    border-color: #39464b;
    color: #8a9690;
    background: #111d22;
    cursor: not-allowed;
}

.gz-shop-actions .gz-shop-fav {
    border-color: #304047;
    background: transparent;
    color: #cbd5cf;
    font-size: 16px;
}

.template-shop .infinite-scroll-loader,
.template-shop .infinite-scroll-end {
    width: min(100%, 360px);
    min-height: 48px;
    margin: 28px auto 0 !important;
    border: 1px solid #26343a;
    border-radius: 8px;
    background: transparent !important;
    color: #ffffff !important;
    font-weight: 800;
}

.template-shop .no-results {
    grid-column: 1 / -1;
    border: 1px solid #26343a;
    border-radius: 8px;
    background: #0b161b;
    color: #eef6f1;
}

@media (max-width: 1220px) {
    .template-shop .products-grid,
    .template-shop .products-grid.cols-5,
    .template-shop .products-grid.cols-4,
    .template-shop .products-grid.cols-3,
    .template-shop .products-grid.cols-2,
    .template-shop .products-grid.cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .template-shop .ct-frequent-searches {
        grid-template-columns: repeat(4, minmax(120px, 1fr)) !important;
    }
}

@media (max-width: 992px) {
    .template-shop .ct-shop-heading {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .ct-shop-heading-sort {
        display: none;
    }

    .template-shop .ct-shop-page .products-layout {
        grid-template-columns: 1fr !important;
    }

    .template-shop .ct-shop-page .filter-sidebar {
        position: fixed !important;
        inset: 0 auto 0 0 !important;
        z-index: 400 !important;
        width: min(88vw, 330px) !important;
        max-width: none !important;
        max-height: none !important;
        overflow-y: auto !important;
        transform: translateX(-105%) !important;
        border-radius: 0 !important;
    }

    .template-shop .ct-shop-page .filter-sidebar.open {
        transform: translateX(0) !important;
    }

    .template-shop .filter-toggle-btn {
        width: auto !important;
        min-width: 138px !important;
        height: 42px !important;
        display: inline-flex !important;
        border: 1px solid #44d62c !important;
        border-radius: 8px !important;
        background: #44d62c !important;
        color: #071014 !important;
    }

    .template-shop .filter-toggle-btn::after {
        content: none !important;
    }

    .template-shop .mobile-toolbar-actions {
        justify-content: space-between !important;
    }

    .template-shop .products-grid,
    .template-shop .products-grid.cols-5,
    .template-shop .products-grid.cols-4,
    .template-shop .products-grid.cols-3,
    .template-shop .products-grid.cols-2,
    .template-shop .products-grid.cols-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    .template-shop .ct-frequent-searches {
        display: flex !important;
        overflow-x: auto !important;
        padding-bottom: 18px !important;
    }

    .template-shop .ct-frequent-searches a {
        flex: 0 0 132px !important;
    }

    .template-shop .products-grid,
    .template-shop .products-grid.cols-5,
    .template-shop .products-grid.cols-4,
    .template-shop .products-grid.cols-3,
    .template-shop .products-grid.cols-2,
    .template-shop .products-grid.cols-3 {
        grid-template-columns: 1fr !important;
    }

    .gz-shop-card {
        min-height: 330px;
        grid-template-rows: auto 150px minmax(0, 1fr);
    }
}

/* Keep the shop header/chip rail on the same page background. */
body.theme-dark.template-shop .ct-shop-page > .container,
body.theme-dark.template-shop .ct-shop-heading,
body.theme-dark.template-shop .ct-frequent-searches,
body.theme-dark.template-shop .products-main,
body.theme-dark.template-shop .mobile-toolbar-actions,
body.theme-dark.template-shop .products-top-bar {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

body.theme-dark.template-shop .ct-shop-page > .container {
    overflow: visible !important;
}

body.theme-dark.template-shop .ct-shop-heading {
    border: 0 !important;
}

body.theme-dark.template-shop .ct-frequent-searches {
    border: 0 !important;
}

/* PC assembles page inspired by Cybertek's catalog structure. */
.gz-pc-page {
    background: #0b0b0b;
    color: #111;
}

.gz-pc-breadcrumb {
    background: #0b0b0b;
    color: #a9a9a9;
    padding: 20px 0 10px;
    font-size: 13px;
}

.gz-pc-breadcrumb .container {
    display: flex;
    align-items: center;
    gap: 8px;
}

.gz-pc-breadcrumb a:hover,
.gz-pc-breadcrumb strong {
    color: #44d62c;
}

.gz-pc-hero {
    background:
        radial-gradient(circle at 72% 32%, rgba(68, 214, 44, .18), transparent 30%),
        linear-gradient(120deg, #0f0f0f 0%, #151515 48%, #050505 100%);
    color: #fff;
    border-top: 1px solid #222;
    border-bottom: 1px solid #222;
}

.gz-pc-hero .container {
    min-height: 230px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    padding-top: 32px;
    padding-bottom: 32px;
}

.gz-pc-hero-copy span,
.gz-pc-section-title a {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 12px;
    border-radius: 999px;
    background: #44d62c;
    color: #060806;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.gz-pc-hero-copy h1 {
    margin: 14px 0 12px;
    color: #fff;
    font-size: clamp(2.5rem, 5vw, 5.25rem);
    line-height: .95;
    font-weight: 950;
    text-transform: uppercase;
}

.gz-pc-hero-copy p {
    max-width: 760px;
    color: #d8ded9;
    font-size: 16px;
    line-height: 1.6;
}

.gz-pc-hero-stats {
    width: 190px;
    height: 190px;
    flex: 0 0 190px;
    display: grid;
    place-items: center;
    align-content: center;
    border: 1px solid rgba(68, 214, 44, .5);
    border-radius: 50%;
    background: rgba(0, 0, 0, .35);
}

.gz-pc-hero-stats strong {
    color: #44d62c;
    font-size: 54px;
    line-height: 1;
    font-weight: 950;
}

.gz-pc-hero-stats span {
    max-width: 120px;
    color: #f1f5f2;
    font-size: 13px;
    line-height: 1.25;
    text-align: center;
    font-weight: 800;
}

.gz-pc-favorites,
.gz-pc-catalog {
    background: #f2f2f2;
}

.gz-pc-favorites {
    padding: 32px 0;
}

.gz-pc-section-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.gz-pc-section-title h2 {
    color: #111;
    font-size: clamp(1.6rem, 2.4vw, 2.6rem);
    line-height: 1;
    font-weight: 950;
    text-transform: uppercase;
}

.gz-pc-fav-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.gz-pc-fav-card {
    position: relative;
    display: grid;
    grid-template-columns: 155px minmax(0, 1fr);
    grid-template-rows: 1fr auto;
    gap: 8px 18px;
    min-height: 178px;
    padding: 16px;
    border-radius: 10px;
    background: #fff;
    color: #111;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .08);
}

.gz-pc-fav-card > span {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    min-height: 24px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    border-radius: 999px;
    background: #ef3333;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
}

.gz-pc-fav-card img {
    grid-row: 1 / span 2;
    width: 100%;
    height: 145px;
    object-fit: contain;
}

.gz-pc-fav-card strong {
    align-self: end;
    color: #111;
    font-size: 15px;
    line-height: 1.25;
    font-weight: 900;
}

.gz-pc-fav-card em {
    color: #44d62c;
    font-size: 23px;
    line-height: 1;
    font-style: normal;
    font-weight: 950;
}

.gz-pc-catalog {
    padding: 0 0 54px;
}

.gz-pc-catalog > .container {
    display: grid;
    grid-template-columns: 284px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.gz-pc-filters {
    position: sticky;
    top: 124px;
    overflow: hidden;
    border-radius: 8px;
    background: #fff;
    color: #111;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .08);
}

.gz-pc-filter-head {
    min-height: 62px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 18px;
    border-bottom: 1px solid #e1e1e1;
}

.gz-pc-filter-head h2 {
    color: #111;
    font-size: 24px;
    line-height: 1;
    font-weight: 950;
}

.gz-pc-filter-head button {
    display: none;
    border: 0;
    background: transparent;
    color: #111;
    cursor: pointer;
}

.gz-pc-promo {
    min-height: 52px;
    margin: 12px 18px;
}

.gz-pc-filter-group {
    border-top: 1px solid #ececec;
}

.gz-pc-filter-group summary {
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 18px;
    color: #111;
    font-size: 14px;
    font-weight: 950;
    cursor: pointer;
    list-style: none;
}

.gz-pc-filter-group summary::-webkit-details-marker {
    display: none;
}

.gz-pc-filter-group[open] summary i {
    transform: rotate(180deg);
}

.gz-pc-filter-group > div {
    display: grid;
    gap: 9px;
    padding: 0 18px 16px;
}

.gz-pc-check {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    color: #343434;
    font-size: 13px;
    line-height: 1.25;
    font-weight: 700;
    cursor: pointer;
}

.gz-pc-check input {
    position: absolute;
    opacity: 0;
}

.gz-pc-check span {
    width: 16px;
    height: 16px;
    display: grid;
    place-items: center;
    border: 1px solid #9b9b9b;
    border-radius: 3px;
    background: #fff;
}

.gz-pc-check input:checked + span {
    border-color: #44d62c;
    background: #44d62c;
}

.gz-pc-check input:checked + span::before {
    content: "\2713";
    color: #060806;
    font-size: 12px;
    font-weight: 950;
}

.gz-pc-clear {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 10px 18px 18px;
    border-radius: 6px;
    background: #111;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
}

.gz-pc-help {
    display: grid;
    gap: 8px;
    margin: 0 18px 18px;
    padding: 16px;
    border-radius: 8px;
    background: #101010;
    color: #fff;
}

.gz-pc-help i {
    color: #44d62c;
    font-size: 24px;
}

.gz-pc-help strong {
    font-size: 15px;
}

.gz-pc-help span {
    color: #c9c9c9;
    font-size: 12px;
    line-height: 1.45;
}

.gz-pc-help a {
    width: fit-content;
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    padding: 0 12px;
    border-radius: 5px;
    background: #44d62c;
    color: #061006;
    font-size: 12px;
    font-weight: 900;
}

.gz-pc-results {
    min-width: 0;
}

.gz-pc-toolbar {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
    padding: 0 18px;
    border-radius: 8px;
    background: #fff;
    color: #111;
}

.gz-pc-toolbar strong {
    color: #44d62c;
    font-size: 20px;
    font-weight: 950;
}

.gz-pc-toolbar span,
.gz-pc-toolbar label {
    font-size: 13px;
    font-weight: 800;
}

.gz-pc-toolbar label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.gz-pc-toolbar select {
    height: 38px;
    min-width: 180px;
    border: 1px solid #cfcfcf;
    border-radius: 5px;
    background: #f6f6f6;
    color: #111;
    font-weight: 900;
}

.gz-pc-active {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: -4px 0 14px;
}

.gz-pc-active a {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 10px;
    border-radius: 999px;
    background: #111;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
}

.gz-pc-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.gz-pc-card {
    display: grid;
    min-height: 520px;
    grid-template-rows: 230px minmax(0, 1fr);
    overflow: hidden;
    border-radius: 8px;
    background: #fff;
    color: #111;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .08);
}

.gz-pc-card:hover {
    box-shadow: 0 16px 34px rgba(0, 0, 0, .16);
}

.gz-pc-card-img {
    position: relative;
    display: grid;
    place-items: center;
    padding: 20px;
    background: linear-gradient(180deg, #f8f8f8, #ffffff);
}

.gz-pc-card-img span {
    position: absolute;
    top: 14px;
    left: 14px;
    min-height: 26px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    border-radius: 999px;
    background: #ef3333;
    color: #fff;
    font-size: 12px;
    font-weight: 950;
}

.gz-pc-card-img img {
    width: 100%;
    height: 190px;
    object-fit: contain;
    transition: transform .18s ease;
}

.gz-pc-card:hover .gz-pc-card-img img {
    transform: scale(1.035);
}

.gz-pc-card-body {
    display: grid;
    gap: 10px;
    padding: 18px;
}

.gz-pc-card-range {
    color: #44d62c;
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
}

.gz-pc-card h3 {
    min-height: 48px;
    color: #111;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 950;
}

.gz-pc-card h3 a:hover {
    color: #44d62c;
}

.gz-pc-card ul {
    display: grid;
    gap: 6px;
    min-height: 116px;
    color: #303030;
    font-size: 12.5px;
    line-height: 1.25;
    font-weight: 750;
}

.gz-pc-card ul li::before {
    content: "\2022";
    margin-right: 7px;
    color: #44d62c;
}

.gz-pc-card-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 9px;
}

.gz-pc-card-price span {
    color: #8b8b8b;
    font-size: 14px;
    font-weight: 800;
    text-decoration: line-through;
}

.gz-pc-card-price strong {
    color: #111;
    font-size: 31px;
    line-height: 1;
    font-weight: 950;
}

.gz-pc-card-meta {
    display: grid;
    gap: 5px;
    color: #555;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 750;
}

.gz-pc-card-meta i {
    width: 16px;
    color: #44d62c;
}

.gz-pc-card-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 92px;
    gap: 9px;
    padding-top: 8px;
}

.gz-pc-card-actions form {
    min-width: 0;
}

.gz-pc-card-actions button,
.gz-pc-card-actions a {
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 4px;
    background: #44d62c;
    color: #061006;
    font-size: 12px;
    font-weight: 950;
    cursor: pointer;
}

.gz-pc-card-actions a {
    border: 1px solid #111;
    background: #fff;
    color: #111;
}

.gz-pc-card-actions button:disabled {
    background: #d7d7d7;
    color: #777;
    cursor: not-allowed;
}

.gz-pc-empty {
    grid-column: 1 / -1;
    padding: 30px;
    border-radius: 8px;
    background: #fff;
}

.gz-pc-empty h3 {
    margin-bottom: 12px;
    color: #111;
}

.gz-pc-empty a {
    color: #168a22;
    font-weight: 900;
}

.gz-pc-results nav {
    margin-top: 26px;
}

.gz-pc-filter-toggle,
.gz-pc-overlay {
    display: none;
}

@media (max-width: 1180px) {
    .gz-pc-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gz-pc-fav-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 920px) {
    .gz-pc-hero .container,
    .gz-pc-section-title,
    .gz-pc-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .gz-pc-hero-stats {
        width: 150px;
        height: 150px;
        flex-basis: 150px;
    }

    .gz-pc-catalog > .container {
        grid-template-columns: 1fr;
    }

    .gz-pc-filter-toggle {
        position: sticky;
        top: 104px;
        z-index: 20;
        width: 100%;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        border: 0;
        border-radius: 6px;
        background: #44d62c;
        color: #061006;
        font-weight: 950;
    }

    .gz-pc-filters {
        position: fixed;
        inset: 0 auto 0 0;
        z-index: 410;
        width: min(88vw, 340px);
        max-height: none;
        overflow-y: auto;
        border-radius: 0;
        transform: translateX(-105%);
        transition: transform .2s ease;
    }

    .gz-pc-filters.open {
        transform: translateX(0);
    }

    .gz-pc-filter-head button {
        display: inline-grid;
        place-items: center;
        width: 38px;
        height: 38px;
    }

    .gz-pc-overlay {
        position: fixed;
        inset: 0;
        z-index: 400;
        display: block;
        visibility: hidden;
        opacity: 0;
        background: rgba(0, 0, 0, .58);
        transition: opacity .2s ease, visibility .2s ease;
    }

    .gz-pc-overlay.open {
        visibility: visible;
        opacity: 1;
    }
}

/* PC pricing: regular prices are white, discounted prices are green. */
.gz-pc-card .gz-pc-card-price > strong {
    color: #ffffff !important;
}

.gz-pc-card .gz-pc-card-price:has(.gz-pc-discount) > strong {
    color: #44d62c !important;
}

/* Shop filters use the same closed drawer treatment as the PC catalog. */
.ct-shop-page .products-layout {
    grid-template-columns: 1fr !important;
}

.ct-shop-page .filter-sidebar {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 410 !important;
    width: min(88vw, 360px) !important;
    max-height: none !important;
    overflow-y: auto !important;
    border-radius: 0 !important;
    transform: translateX(-105%) !important;
    transition: transform .2s ease !important;
    background: #f4f7fb !important;
}

.ct-shop-page .filter-sidebar.open {
    transform: translateX(0) !important;
}

/* Absolute final shop template drawer fix. */
html body.theme-dark.template-shop .ct-shop-page .products-layout,
html body.template-shop .ct-shop-page .products-layout,
html .template-shop .ct-shop-page .products-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
}

html body.theme-dark.template-shop .ct-shop-page .products-main,
html body.template-shop .ct-shop-page .products-main,
html .template-shop .ct-shop-page .products-main {
    grid-column: 1 / -1 !important;
    min-width: 0 !important;
}

html body.theme-dark.template-shop .ct-shop-page .filter-sidebar,
html body.template-shop .ct-shop-page .filter-sidebar,
html .template-shop .ct-shop-page .filter-sidebar {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 410 !important;
    width: min(88vw, 360px) !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    overflow-y: auto !important;
    transform: translateX(-105%) !important;
    border-radius: 0 !important;
    border: 0 !important;
    background: #f4f7fb !important;
    color: #050505 !important;
    box-shadow: 22px 0 60px rgba(0, 0, 0, .22) !important;
}

html body.theme-dark.template-shop .ct-shop-page .filter-sidebar.open,
html body.template-shop .ct-shop-page .filter-sidebar.open,
html .template-shop .ct-shop-page .filter-sidebar.open {
    transform: translateX(0) !important;
}

html body.theme-dark.template-shop .ct-shop-page .filter-sidebar *,
html body.template-shop .ct-shop-page .filter-sidebar *,
html .template-shop .ct-shop-page .filter-sidebar * {
    color: #050505 !important;
    border-color: #d8dde4 !important;
}

html body.theme-dark.template-shop .ct-shop-page .filter-sidebar .filter-header,
html body.template-shop .ct-shop-page .filter-sidebar .filter-header,
html .template-shop .ct-shop-page .filter-sidebar .filter-header,
html body.theme-dark.template-shop .ct-shop-page .filter-sidebar .filter-group,
html body.template-shop .ct-shop-page .filter-sidebar .filter-group,
html .template-shop .ct-shop-page .filter-sidebar .filter-group,
html body.theme-dark.template-shop .ct-shop-page .filter-sidebar .filter-group-body,
html body.template-shop .ct-shop-page .filter-sidebar .filter-group-body,
html .template-shop .ct-shop-page .filter-sidebar .filter-group-body {
    background: #f4f7fb !important;
}

html body.theme-dark.template-shop .ct-shop-page .filter-sidebar .active-filter-tag,
html body.theme-dark.template-shop .ct-shop-page .filter-sidebar .active-filter-tag *,
html body.template-shop .ct-shop-page .filter-sidebar .active-filter-tag,
html body.template-shop .ct-shop-page .filter-sidebar .active-filter-tag *,
html .template-shop .ct-shop-page .filter-sidebar .active-filter-tag,
html .template-shop .ct-shop-page .filter-sidebar .active-filter-tag * {
    color: #ffffff !important;
}

/* Final shop template drawer fix: template-specific rules above are very strong. */
.template-shop .ct-shop-page .products-layout,
body.template-shop .ct-shop-page .products-layout,
body.theme-dark.template-shop .ct-shop-page .products-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
}

.template-shop .ct-shop-page .products-main,
body.template-shop .ct-shop-page .products-main,
body.theme-dark.template-shop .ct-shop-page .products-main {
    grid-column: 1 / -1 !important;
    min-width: 0 !important;
}

.template-shop .ct-shop-page .filter-sidebar,
body.template-shop .ct-shop-page .filter-sidebar,
body.theme-dark.template-shop .ct-shop-page .filter-sidebar {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 410 !important;
    width: min(88vw, 360px) !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    overflow-y: auto !important;
    transform: translateX(-105%) !important;
    border-radius: 0 !important;
    border: 0 !important;
    background: #f4f7fb !important;
    color: #050505 !important;
    box-shadow: 22px 0 60px rgba(0, 0, 0, .22) !important;
}

.template-shop .ct-shop-page .filter-sidebar.open,
body.template-shop .ct-shop-page .filter-sidebar.open,
body.theme-dark.template-shop .ct-shop-page .filter-sidebar.open {
    transform: translateX(0) !important;
}

.ct-shop-page .filter-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 400 !important;
    display: block !important;
    visibility: hidden !important;
    opacity: 0 !important;
    background: rgba(0, 0, 0, .62) !important;
    transition: opacity .2s ease, visibility .2s ease !important;
}

.ct-shop-page .filter-overlay.open {
    visibility: visible !important;
    opacity: 1 !important;
}

.ct-shop-page .products-top-bar {
    align-items: center !important;
}

.ct-shop-page .filter-toggle-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    min-width: 148px !important;
    min-height: 40px !important;
    margin: 0 14px 0 0 !important;
    padding: 0 14px !important;
    border-radius: 6px !important;
    background: #ffcc00 !important;
    color: #111 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

/* Keep filtering, result count, and sorting on one aligned toolbar row. */
.gz-pc-toolbar {
    align-items: center !important;
    gap: 18px !important;
}

.gz-pc-toolbar > div:first-child {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.gz-pc-toolbar .gz-pc-filter-toggle {
    min-width: 148px !important;
    min-height: 40px !important;
    margin: 0 12px 0 0 !important;
    padding: 0 14px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

.gz-pc-toolbar > label,
.gz-pc-toolbar > label select,
.gz-pc-toolbar > label select option {
    font-weight: 400 !important;
}

@media (max-width: 620px) {
    .gz-pc-fav-card {
        grid-template-columns: 1fr;
    }

    .gz-pc-fav-card img {
        grid-row: auto;
    }

    .gz-pc-grid {
        grid-template-columns: 1fr;
    }

    .gz-pc-card-actions {
        grid-template-columns: 1fr;
    }
}

/* Trust bar */
.gz-trust-bar { background: #0f1a12; border-top: 1px solid #1d2a1f; padding: 24px 0; margin-top: 30px; }
.gz-trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.gz-trust-item { display: flex; align-items: center; gap: 14px; }
.gz-trust-item i { font-size: 28px; color: #44d62c; width: 40px; text-align: center; flex-shrink: 0; }
.gz-trust-item strong { display: block; font-size: 14px; color: #f2f4f2; font-weight: 600; }
.gz-trust-item span { font-size: 12px; color: #8a918c; }

/* Help widget */
.gz-help-widget { position: fixed; bottom: 24px; right: 24px; z-index: 1000; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.gz-help-fab { width: 56px; height: 56px; border-radius: 50%; background: #16a34a; color: #fff; border: none; font-size: 22px; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 20px rgba(22,163,74,.4); transition: all .2s; }
.gz-help-fab:hover { transform: scale(1.08); box-shadow: 0 6px 28px rgba(22,163,74,.55); }
.gz-help-card { background: #fff; border-radius: 12px; padding: 18px 20px; box-shadow: 0 8px 32px rgba(0,0,0,.18); min-width: 240px; }
.gz-help-card-head { margin-bottom: 14px; }
.gz-help-card-head strong { display: block; font-size: 15px; color: #111; margin-bottom: 2px; }
.gz-help-card-head span { font-size: 12px; color: #666; }
.gz-help-btn { display: flex; align-items: center; gap: 8px; width: 100%; justify-content: center; padding: 10px 16px; border-radius: 8px; background: #16a34a; color: #fff; font-weight: 600; font-size: 14px; text-decoration: none; transition: background .15s; }
.gz-help-btn:hover { background: #15803d; }

/* Dark mode: remove all extra backgrounds on shop filters/top-bar */
body.theme-dark.template-shop .ct-shop-page .filter-sidebar,
body.theme-dark.template-shop .ct-shop-page .filter-header,
body.theme-dark.template-shop .ct-shop-page .filter-group,
body.theme-dark.template-shop .ct-shop-page .filter-group-title,
body.theme-dark.template-shop .ct-shop-page .filter-group-body,
body.theme-dark.template-shop .ct-shop-page .filter-panel-search,
body.theme-dark.template-shop .ct-shop-page .price-labels span,
body.theme-dark.template-shop .ct-shop-page .products-top-bar,
body.theme-dark.template-shop .products-top-bar,
body.theme-dark.template-shop .ct-shop-page .filter-sidebar *,
body.theme-dark.template-shop .ct-shop-page .filter-sidebar details,
body.theme-dark.template-shop .ct-shop-page .filter-sidebar summary,
body.theme-dark.template-shop .ct-shop-page .filter-sidebar .filter-list,
body.theme-dark.template-shop .ct-shop-page .filter-sidebar .filter-list-item,
body.theme-dark.template-shop .ct-shop-page .filter-sidebar .filter-group-body,
body.theme-dark.template-shop .ct-shop-page .filter-sidebar .filter-panel-search {
    background: transparent !important;
    box-shadow: none !important;
}

/* Final PC page tuning: no rank label, smaller card text, drawer-only filters. */
.gz-pc-catalog > .container {
    grid-template-columns: 1fr !important;
}

.gz-pc-filters {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 410 !important;
    width: min(88vw, 360px) !important;
    transform: translateX(-105%) !important;
    transition: transform .2s ease !important;
}

.gz-pc-filters.open {
    transform: translateX(0) !important;
}

.gz-pc-filter-toggle {
    display: inline-flex !important;
}

.gz-pc-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.gz-pc-card {
    min-height: 360px !important;
    grid-template-columns: minmax(240px, 1fr) minmax(210px, .72fr) !important;
    padding: 24px !important;
}

.gz-pc-card-img {
    padding-top: 28px !important;
}

.gz-pc-card-img img {
    height: 245px !important;
}

.gz-pc-card-body {
    grid-template-rows: auto auto minmax(96px, auto) auto auto auto !important;
    gap: 8px !important;
}

.gz-pc-card-kicker,
.gz-pc-emblem {
    display: none !important;
}

.gz-pc-option {
    min-height: 25px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
}

.gz-pc-card h3 {
    font-size: clamp(.98rem, 1.05vw, 1.18rem) !important;
    line-height: 1.15 !important;
}

.gz-pc-card ul {
    min-height: 104px !important;
    gap: 5px !important;
    font-size: clamp(.84rem, .9vw, .90rem) !important;
    line-height: 1.18 !important;
    font-weight: 500 !important;
}

.gz-pc-discount {
    min-height: 21px !important;
    font-size: 13px !important;
}

.gz-pc-old {
    color: #d8d3ea !important;
    font-size: 13px !important;
    text-decoration: line-through !important;
}

.gz-pc-card-price strong {
    color: #ffffff !important;
    font-size: clamp(1.75rem, 2.2vw, 2.1rem) !important;
}

.gz-pc-card-price:has(.gz-pc-discount) strong {
    color: #44d62c !important;
}

.gz-pc-card-meta {
    font-size: 11.5px !important;
}

.gz-pc-card-meta strong {
    font-size: 12px !important;
}

.gz-pc-card-actions button,
.gz-pc-card-actions a {
    height: 36px !important;
    font-size: 11px !important;
}

@media (max-width: 920px) {
    .gz-pc-grid {
        grid-template-columns: 1fr !important;
    }
}

/* PC assembles final pass: large Cybertek-like purple cards. */
.gz-pc-page {
    background: #050505 !important;
    color: #ffffff !important;
}

.gz-pc-breadcrumb,
.gz-pc-hero,
.gz-pc-favorites,
.gz-pc-catalog {
    background: #050505 !important;
}

.gz-pc-breadcrumb {
    border-top: 1px solid #171717;
    padding: 18px 0 12px !important;
}

.gz-pc-hero .container {
    min-height: 132px !important;
    padding-top: 22px !important;
    padding-bottom: 20px !important;
}

.gz-pc-hero-copy h1 {
    margin: 8px 0 8px !important;
    font-size: clamp(2.15rem, 4vw, 4.1rem) !important;
    color: #ffffff !important;
}

.gz-pc-hero-copy p {
    max-width: 780px !important;
    color: #d8d3ea !important;
    font-size: 15px !important;
}

.gz-pc-hero-stats {
    width: 132px !important;
    height: 132px !important;
    flex-basis: 132px !important;
    border-color: #ffcc00 !important;
    background: #2d254d !important;
}

.gz-pc-hero-stats strong {
    color: #ffcc00 !important;
    font-size: 38px !important;
}

/* Keep the PC hero compact and focused on the page title. */
.gz-pc-hero-copy h1 {
    font-size: clamp(1.8rem, 3vw, 3rem) !important;
    font-weight: 600 !important;
    margin: 0 0 8px !important;
}

.gz-pc-favorites {
    display: none !important;
}

.gz-pc-catalog {
    padding-top: 18px !important;
}

.gz-pc-catalog > .container {
    width: min(100%, 1440px) !important;
    max-width: 1440px !important;
    grid-template-columns: 264px minmax(0, 1fr) !important;
    gap: 22px !important;
}

.gz-pc-filters {
    background: #ffffff !important;
    color: #111111 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.gz-pc-filter-head h2,
.gz-pc-filter-group summary,
.gz-pc-check,
.gz-pc-empty h3 {
    color: #111111 !important;
}

.gz-pc-help {
    background: #241f3f !important;
}

.gz-pc-toolbar {
    min-height: 54px !important;
    margin-bottom: 20px !important;
    padding: 0 !important;
    background: transparent !important;
    color: #ffffff !important;
    border-radius: 0 !important;
}

.gz-pc-toolbar strong {
    color: #ffcc00 !important;
}

.gz-pc-toolbar span,
.gz-pc-toolbar label {
    color: #ffffff !important;
}

.gz-pc-toolbar select {
    border: 2px solid #242424 !important;
    background: #ffffff !important;
    color: #111111 !important;
}

.gz-pc-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

.gz-pc-card {
    position: relative !important;
    min-height: 420px !important;
    display: grid !important;
    grid-template-columns: minmax(240px, .95fr) minmax(230px, .78fr) !important;
    grid-template-rows: 1fr !important;
    gap: 18px !important;
    padding: 28px 28px 24px !important;
    overflow: hidden !important;
    border: 1px solid #000000 !important;
    border-radius: 14px !important;
    background: #2d274d !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

.gz-pc-card::before {
    content: "";
    position: absolute;
    inset: auto 28px -20px 28px;
    height: 44px;
    border-radius: 50%;
    background: rgba(19, 17, 34, .44);
    filter: blur(18px);
}

.gz-pc-card-img {
    min-width: 0 !important;
    padding: 54px 0 0 !important;
    background: transparent !important;
}

.gz-pc-card-img img {
    width: 100% !important;
    height: 280px !important;
    object-fit: contain !important;
    filter: drop-shadow(0 22px 18px rgba(0, 0, 0, .36));
}

.gz-pc-card-body {
    position: relative !important;
    z-index: 2 !important;
    display: grid !important;
    grid-template-rows: auto auto auto minmax(118px, auto) auto auto auto !important;
    align-content: start !important;
    gap: 10px !important;
    padding: 0 !important;
}

.gz-pc-card-kicker {
    min-height: 38px;
    display: flex;
    align-items: center;
    gap: 9px;
    color: #ffcc00;
    font-size: 13px;
    line-height: 1;
    font-weight: 950;
    text-transform: uppercase;
}

.gz-pc-emblem {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 2px solid #ffcc00;
    border-radius: 6px;
    color: #ffcc00;
    background: #3a2d5f;
}

.gz-pc-option {
    justify-self: start;
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 11px;
    border-radius: 4px;
    background: #1d1d1d;
    color: #ffffff;
    font-size: 12px;
    font-weight: 900;
}

.gz-pc-option i {
    color: #44d62c;
}

.gz-pc-card h3 {
    min-height: auto !important;
    color: #ffffff !important;
    font-size: clamp(1.15rem, 1.45vw, 1.55rem) !important;
    line-height: 1.08 !important;
    font-weight: 950 !important;
    text-transform: uppercase;
}

.gz-pc-card h3 a {
    color: #ffffff !important;
}

.gz-pc-card h3 a:hover {
    color: #ffcc00 !important;
}

.gz-pc-card ul {
    min-height: 104px !important;
    display: grid !important;
    gap: 5px !important;
    color: #ffffff !important;
    font-size: clamp(.84rem, .9vw, .90rem) !important;
    line-height: 1.18 !important;
    font-weight: 850 !important;
}

.gz-pc-card ul li::before {
    content: none !important;
}

.gz-pc-card-price {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    gap: 6px 9px !important;
    align-items: baseline !important;
    padding-top: 8px !important;
}

.gz-pc-discount {
    min-height: 23px;
    display: inline-flex;
    align-items: center;
    padding: 0 8px;
    border-radius: 4px;
    background: #e12626;
    color: #ffffff !important;
    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    text-decoration: none !important;
}

.gz-pc-old {
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    text-decoration: line-through !important;
}

.gz-pc-card-price strong {
    grid-column: 1 / -1;
    color: #ff3333 !important;
    font-size: clamp(1.75rem, 2.2vw, 2.1rem) !important;
    line-height: .92 !important;
    font-weight: 950 !important;
}

.gz-pc-card-meta {
    gap: 2px !important;
    padding-top: 6px;
    color: #ffffff !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
}

.gz-pc-card-meta span {
    color: #ffffff !important;
}

.gz-pc-card-meta strong {
    color: #00ff66 !important;
    font-size: 13px !important;
    font-weight: 950 !important;
}

.gz-pc-card-actions {
    grid-template-columns: 1fr 86px !important;
    padding-top: 10px !important;
}

.gz-pc-card-actions button,
.gz-pc-card-actions a {
    height: 40px !important;
    border-radius: 4px !important;
    background: #ffcc00 !important;
    color: #111111 !important;
    font-weight: 950 !important;
}

.gz-pc-card-actions a {
    border: 1px solid rgba(255, 255, 255, .34) !important;
    background: transparent !important;
    color: #ffffff !important;
}

.gz-pc-active a {
    background: #ffcc00 !important;
    color: #111111 !important;
}

@media (max-width: 1180px) {
    .gz-pc-card {
        grid-template-columns: 1fr !important;
    }

    .gz-pc-card-img {
        padding-top: 18px !important;
    }
}

@media (max-width: 920px) {
    .gz-pc-catalog > .container {
        grid-template-columns: 1fr !important;
    }

    .gz-pc-grid {
        grid-template-columns: 1fr !important;
    }
}

/* PC assembles: hide filters until the filter button opens them. */
.gz-pc-catalog > .container {
    grid-template-columns: 1fr !important;
}

.gz-pc-filter-toggle {
    width: fit-content !important;
    min-width: 176px !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    margin-bottom: 18px !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: #ffcc00 !important;
    color: #111111 !important;
    font-weight: 950 !important;
    cursor: pointer !important;
}

.gz-pc-filters {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 410 !important;
    width: min(88vw, 360px) !important;
    max-height: none !important;
    overflow-y: auto !important;
    border-radius: 0 !important;
    transform: translateX(-105%) !important;
    transition: transform .2s ease !important;
}

.gz-pc-filters.open {
    transform: translateX(0) !important;
}

.gz-pc-filter-head button {
    width: 38px !important;
    height: 38px !important;
    display: inline-grid !important;
    place-items: center !important;
}

.gz-pc-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 400 !important;
    display: block !important;
    visibility: hidden !important;
    opacity: 0 !important;
    background: rgba(0, 0, 0, .62) !important;
    transition: opacity .2s ease, visibility .2s ease !important;
}

.gz-pc-overlay.open {
    visibility: visible !important;
    opacity: 1 !important;
}

/* Final PC card size correction after all PC page rules. */
.gz-pc-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.gz-pc-card {
    min-height: 360px !important;
    grid-template-columns: minmax(240px, 1fr) minmax(210px, .72fr) !important;
    padding: 24px !important;
}

.gz-pc-card-img {
    padding-top: 28px !important;
}

.gz-pc-card-img img {
    height: 245px !important;
}

.gz-pc-card-body {
    grid-template-rows: auto auto minmax(96px, auto) auto auto auto !important;
    gap: 8px !important;
}

.gz-pc-card-kicker,
.gz-pc-emblem {
    display: none !important;
}

.gz-pc-option {
    min-height: 25px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
}

.gz-pc-card h3 {
    font-size: clamp(.98rem, 1.05vw, 1.18rem) !important;
    line-height: 1.15 !important;
}

.gz-pc-card ul {
    min-height: 104px !important;
    gap: 5px !important;
    margin-top: 8px !important;
    font-size: clamp(.84rem, .9vw, .90rem) !important;
    line-height: 1.18 !important;
    font-weight: 400 !important;
}

.gz-pc-discount {
    min-height: 21px !important;
    font-size: 13px !important;
}

.gz-pc-old {
    font-size: 13px !important;
}

.gz-pc-card-price strong {
    font-size: clamp(1.75rem, 2.2vw, 2.1rem) !important;
}

.gz-pc-card-meta {
    font-size: 11.5px !important;
}

.gz-pc-card-meta strong {
    font-size: 12px !important;
}

.gz-pc-card-actions button,
.gz-pc-card-actions a {
    height: 36px !important;
    font-size: 11px !important;
}

@media (max-width: 920px) {
    .gz-pc-grid {
        grid-template-columns: 1fr !important;
    }

    .gz-pc-card {
        grid-template-columns: 1fr !important;
    }
}

/* Final shop drawer alignment: never reserve space for the closed sidebar. */
.ct-shop-page .products-layout {
    grid-template-columns: minmax(0, 1fr) !important;
}

.ct-shop-page .products-main {
    min-width: 0 !important;
    grid-column: 1 / -1 !important;
}

.ct-shop-page .filter-sidebar {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    width: min(88vw, 360px) !important;
    max-height: none !important;
    height: auto !important;
    top: auto !important;
    transform: translateX(-105%) !important;
}

.ct-shop-page .filter-sidebar.open {
    transform: translateX(0) !important;
}

/* Absolute final shop template drawer fix. */
html body.theme-dark.template-shop .ct-shop-page .products-layout,
html body.template-shop .ct-shop-page .products-layout,
html .template-shop .ct-shop-page .products-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
}

html body.theme-dark.template-shop .ct-shop-page .products-main,
html body.template-shop .ct-shop-page .products-main,
html .template-shop .ct-shop-page .products-main {
    grid-column: 1 / -1 !important;
    min-width: 0 !important;
}

html body.theme-dark.template-shop .ct-shop-page .filter-sidebar,
html body.template-shop .ct-shop-page .filter-sidebar,
html .template-shop .ct-shop-page .filter-sidebar {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 410 !important;
    width: min(88vw, 360px) !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    overflow-y: auto !important;
    transform: translateX(-105%) !important;
    border-radius: 0 !important;
    border: 0 !important;
    background: #f4f7fb !important;
    color: #050505 !important;
    box-shadow: 22px 0 60px rgba(0, 0, 0, .22) !important;
}

html body.theme-dark.template-shop .ct-shop-page .filter-sidebar.open,
html body.template-shop .ct-shop-page .filter-sidebar.open,
html .template-shop .ct-shop-page .filter-sidebar.open {
    transform: translateX(0) !important;
}

html body.theme-dark.template-shop .ct-shop-page .filter-sidebar *,
html body.template-shop .ct-shop-page .filter-sidebar *,
html .template-shop .ct-shop-page .filter-sidebar * {
    color: #050505 !important;
    border-color: #d8dde4 !important;
}

html body.theme-dark.template-shop .ct-shop-page .filter-sidebar .filter-header,
html body.template-shop .ct-shop-page .filter-sidebar .filter-header,
html .template-shop .ct-shop-page .filter-sidebar .filter-header,
html body.theme-dark.template-shop .ct-shop-page .filter-sidebar .filter-group,
html body.template-shop .ct-shop-page .filter-sidebar .filter-group,
html .template-shop .ct-shop-page .filter-sidebar .filter-group,
html body.theme-dark.template-shop .ct-shop-page .filter-sidebar .filter-group-body,
html body.template-shop .ct-shop-page .filter-sidebar .filter-group-body,
html .template-shop .ct-shop-page .filter-sidebar .filter-group-body {
    background: #f4f7fb !important;
}

html body.theme-dark.template-shop .ct-shop-page .filter-sidebar .active-filter-tag,
html body.theme-dark.template-shop .ct-shop-page .filter-sidebar .active-filter-tag *,
html body.template-shop .ct-shop-page .filter-sidebar .active-filter-tag,
html body.template-shop .ct-shop-page .filter-sidebar .active-filter-tag *,
html .template-shop .ct-shop-page .filter-sidebar .active-filter-tag,
html .template-shop .ct-shop-page .filter-sidebar .active-filter-tag * {
    color: #ffffff !important;
}

/* ============================================================
   Design System Override - neutral primary, restrained success
   ============================================================ */
:root {
    --gz-color-black: #101112;
    --gz-color-black-hover: #242628;
    --gz-color-white: #ffffff;
    --gz-color-bg: #f5f6f4;
    --gz-color-bg-alt: #ecefed;
    --gz-color-surface: #ffffff;
    --gz-color-surface-2: #f8f9f8;
    --gz-color-surface-3: #eef1ef;
    --gz-color-border: #d9ddda;
    --gz-color-border-strong: #b9bfbb;
    --gz-color-text: #111312;
    --gz-color-text-2: #3f4542;
    --gz-color-text-3: #68706b;
    --gz-color-text-4: #929a95;
    --gz-color-success: #22c55e;
    --gz-color-success-ink: #0f6b35;
    --gz-color-success-soft: #e9f8ee;
    --gz-color-danger: #dc2626;
    --gz-color-danger-soft: #fff1f1;
    --gz-color-warning: #d97706;
    --gz-color-warning-soft: #fff7e6;
    --gz-color-info: #2563eb;
    --gz-color-info-soft: #eef4ff;
    --gz-radius-xs: 6px;
    --gz-radius-sm: 8px;
    --gz-radius-md: 10px;
    --gz-radius-lg: 12px;
    --gz-space-1: 4px;
    --gz-space-2: 8px;
    --gz-space-3: 12px;
    --gz-space-4: 16px;
    --gz-space-5: 20px;
    --gz-space-6: 24px;
    --gz-space-8: 32px;
    --gz-shadow-sm: 0 1px 2px rgba(16, 17, 18, .05);
    --gz-shadow-md: 0 10px 26px rgba(16, 17, 18, .08);
    --gz-focus: 0 0 0 3px rgba(16, 17, 18, .16);

    --primary: var(--gz-color-black);
    --primary-dark: #000000;
    --primary-soft: rgba(16, 17, 18, .08);
    --accent: var(--gz-color-black);
    --accent-ink: #ffffff;
    --violet: var(--gz-color-black);
    --cyan: var(--gz-color-info);
    --grad: linear-gradient(135deg, #101112 0%, #2a2d2f 100%);
    --bg: var(--gz-color-bg);
    --bg-alt: var(--gz-color-bg-alt);
    --surface: var(--gz-color-surface);
    --surface-2: var(--gz-color-surface-2);
    --surface-3: var(--gz-color-surface-3);
    --border: var(--gz-color-border);
    --border-strong: var(--gz-color-border-strong);
    --text: var(--gz-color-text);
    --text-2: var(--gz-color-text-2);
    --text-3: var(--gz-color-text-3);
    --text-4: var(--gz-color-text-4);
    --danger: var(--gz-color-danger);
    --success: var(--gz-color-success);
    --warning: var(--gz-color-warning);
    --radius: var(--gz-radius-lg);
    --radius-sm: var(--gz-radius-sm);
    --shadow-sm: var(--gz-shadow-sm);
    --shadow: var(--gz-shadow-md);
    --shadow-lg: 0 18px 46px rgba(16, 17, 18, .12);
}

body.theme-dark {
    --gz-color-bg: #0f1111;
    --gz-color-bg-alt: #151817;
    --gz-color-surface: #191c1b;
    --gz-color-surface-2: #202422;
    --gz-color-surface-3: #282d2a;
    --gz-color-border: #303633;
    --gz-color-border-strong: #47504b;
    --gz-color-text: #eef2ef;
    --gz-color-text-2: #d0d8d2;
    --gz-color-text-3: #a5aea8;
    --gz-color-text-4: #7f8983;
    --gz-color-success-soft: rgba(34, 197, 94, .14);
    --primary-soft: rgba(238, 242, 239, .09);
    --grad: linear-gradient(135deg, #f3f5f3 0%, #d9dedb 100%);
}

html,
body {
    background: var(--gz-color-bg) !important;
    color: var(--gz-color-text) !important;
}

body,
input,
select,
textarea,
button {
    font-family: 'Outfit', 'Inter', 'Segoe UI', system-ui, -apple-system, BlinkMacSystemFont, 'Noto Sans Arabic', 'Tahoma', sans-serif !important;
    letter-spacing: 0 !important;
}

body {
    font-weight: 400 !important;
    line-height: 1.6 !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.logo-name,
.section-title,
.ct-shop-heading h1,
.gz-pc-hero h1,
.product-card h3,
.gz-pc-card h3 {
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    line-height: 1.18 !important;
}

p,
li,
label,
span,
small,
input,
select,
textarea {
    font-weight: 400;
}

strong,
b,
.results-count,
.filter-group-title,
.filter-list-label,
.price-labels span,
.card-current-price,
.gz-pc-card-price strong,
.product-price,
.current-price {
    font-weight: 500 !important;
}

.btn-primary,
.btn-add,
.btn-checkout,
.btn-place-order,
.sd-btn-primary,
.cy-btn-primary,
.search-btn,
.mega-menu-btn,
.newsletter-form .btn-primary,
.ct-shop-page .product-card-actions .btn-add-cart,
.gz-shop-actions button,
.gz-pc-card-actions button,
.gz-pc-card-actions a,
.gz-pc-filter-toggle,
.filter-toggle-btn,
button[type="submit"]:not(.btn-link),
a.btn-primary {
    min-height: 42px !important;
    border-radius: var(--gz-radius-md) !important;
    border: 1px solid var(--gz-color-black) !important;
    background: var(--gz-color-black) !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    box-shadow: none !important;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease, opacity .16s ease !important;
}

.btn-primary:hover,
.btn-add:hover,
.btn-checkout:hover,
.btn-place-order:hover,
.sd-btn-primary:hover,
.cy-btn-primary:hover,
.search-btn:hover,
.mega-menu-btn:hover,
.newsletter-form .btn-primary:hover,
.ct-shop-page .product-card-actions .btn-add-cart:hover,
.gz-shop-actions button:hover,
.gz-pc-card-actions button:hover,
.gz-pc-card-actions a:hover,
.gz-pc-filter-toggle:hover,
.filter-toggle-btn:hover,
button[type="submit"]:not(.btn-link):hover,
a.btn-primary:hover {
    background: var(--gz-color-black-hover) !important;
    border-color: var(--gz-color-black-hover) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

.btn-outline,
.btn-buy-now,
.sd-btn-outline,
.cy-btn-outline,
.card-action-btn,
.btn-wishlist-lg,
.remove-btn,
.view-toggle-btn,
.filter-select,
.qty-control button {
    border-radius: var(--gz-radius-md) !important;
    border-color: var(--gz-color-border-strong) !important;
    background: transparent !important;
    color: var(--gz-color-text) !important;
    font-weight: 500 !important;
    box-shadow: none !important;
}

.btn-outline:hover,
.btn-buy-now:hover,
.sd-btn-outline:hover,
.cy-btn-outline:hover,
.card-action-btn:hover,
.view-toggle-btn:hover,
.filter-select:hover,
.qty-control button:hover {
    border-color: var(--gz-color-black) !important;
    background: rgba(16, 17, 18, .06) !important;
    color: var(--gz-color-black) !important;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: none !important;
    box-shadow: var(--gz-focus) !important;
}

button:disabled,
.is-disabled,
[aria-disabled="true"] {
    opacity: .48 !important;
    cursor: not-allowed !important;
    transform: none !important;
}

.product-card,
.product-card-list,
.cart-item,
.cart-summary,
.checkout-info,
.checkout-summary,
.success-content,
.sd-info-card,
.sd-brand-card,
.contact-main-card,
.contact-under-grid article,
.about-address-card,
.payment-option,
.ct-shop-page .filter-sidebar,
.ct-active-filters,
.ct-frequent-searches a,
.gz-pc-card,
.gz-pc-filter-panel {
    background: var(--gz-color-surface) !important;
    border-color: var(--gz-color-border) !important;
    color: var(--gz-color-text) !important;
    border-radius: var(--gz-radius-lg) !important;
    box-shadow: var(--gz-shadow-sm) !important;
}

.product-card:hover,
.product-card-list:hover,
.sd-brand-card:hover,
.category-icon-card:hover {
    border-color: var(--gz-color-border-strong) !important;
    box-shadow: var(--gz-shadow-md) !important;
    transform: translateY(-2px) !important;
}

.header,
.top-bar,
.main-nav {
    background: #090a0a !important;
    border-color: #222625 !important;
}

.logo-name span,
.top-bar-left i,
.top-bar-right i,
.hp-badge i,
.mega-menu-item i,
.section-label,
.view-all,
.cy-view-all,
.breadcrumb a:hover,
.footer-col ul a:hover,
.tax-note a,
.pickup-note i,
.pickup-note a,
.contact-under-grid a {
    color: var(--gz-color-text) !important;
}

.header .logo-name span,
.header .top-bar-left i,
.header .top-bar-right i,
.header .hp-badge i,
.main-nav .nav-links > li > a.active,
.main-nav .nav-links > li > a:hover {
    color: #ffffff !important;
}

.logo-mark,
.header-action:hover,
.nav-links > li > a:hover,
.nav-links > li > a.active,
.mega-menu-item:hover,
.filter-pill.active,
.pagination .active,
.payment-option:has(input:checked),
.tab-btn.active {
    background: var(--gz-color-surface-3) !important;
    color: var(--gz-color-text) !important;
    border-color: var(--gz-color-border-strong) !important;
}

.alert-success,
.badge.success,
.card-stock-badge.in-stock,
.save-badge,
.success-icon,
.secure-text i,
.contact-under-grid ul li::before,
.gz-pc-card-meta strong,
.gz-pc-ship,
.gz-pc-available,
.stock-badge.in-stock,
.product-availability.in-stock,
.price-range::-webkit-slider-thumb,
.price-range::-moz-range-thumb {
    color: var(--gz-color-success-ink) !important;
}

.alert-success,
.card-stock-badge.in-stock,
.save-badge,
.success-icon,
.stock-badge.in-stock {
    background: var(--gz-color-success-soft) !important;
}

.price-slider-range,
.template-shop .ct-shop-page .price-slider-range {
    background: var(--gz-color-success) !important;
}
.gz-pc-discount,
.discount-badge,
.badge.sale {
    background: #111 !important;
    color: #ffffff !important;
}

.price-range::-webkit-slider-thumb,
.template-shop .ct-shop-page input[type="range"]::-webkit-slider-thumb {
    border-color: var(--gz-color-success) !important;
}

.card-current-price.is-discounted,
.gz-pc-card.has-discount .gz-pc-card-price strong,
.product-card.has-discount .card-current-price {
    color: var(--gz-color-success) !important;
}

.alert-error,
.card-stock-badge.out-of-stock,
.out-of-stock-msg,
.remove-btn:hover,
.btn-wishlist-lg:hover,
.btn-wishlist-lg.wishlisted {
    color: var(--gz-color-danger) !important;
}

.alert-error,
.card-stock-badge.out-of-stock,
.btn-wishlist-lg.wishlisted,
.remove-btn:hover {
    background: var(--gz-color-danger-soft) !important;
}

.search-bar form,
.form-group input,
.form-group textarea,
.form-group select,
.filter-search,
.filter-panel-search,
.qty-control,
.filter-select {
    background: var(--gz-color-surface-2) !important;
    border-color: var(--gz-color-border) !important;
    color: var(--gz-color-text) !important;
    border-radius: var(--gz-radius-md) !important;
}

.search-bar form:focus-within,
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus,
.filter-search:focus-within,
.filter-panel-search:focus-within,
.filter-select:focus {
    border-color: var(--gz-color-border-strong) !important;
    box-shadow: var(--gz-focus) !important;
}

body.light-theme,
body.light-theme.theme-dark {
    --gz-color-bg: #f5f6f4;
    --gz-color-bg-alt: #ecefed;
    --gz-color-surface: #ffffff;
    --gz-color-surface-2: #f8f9f8;
    --gz-color-surface-3: #eef1ef;
    --gz-color-border: #d9ddda;
    --gz-color-border-strong: #b9bfbb;
    --gz-color-text: #111312;
    --gz-color-text-2: #3f4542;
    --gz-color-text-3: #68706b;
    --gz-color-text-4: #929a95;
}

body.theme-dark,
body.theme-dark main,
body.theme-dark .products-page,
body.theme-dark .ct-shop-page,
body.theme-dark.template-shop,
body.theme-dark.template-shop main,
body.theme-dark.template-product,
body.theme-dark.template-product main,
body.theme-dark .breadcrumb {
    background: var(--gz-color-bg) !important;
    color: var(--gz-color-text) !important;
}

body.theme-dark .product-card,
body.theme-dark .product-card-list,
body.theme-dark .cart-item,
body.theme-dark .cart-summary,
body.theme-dark .checkout-info,
body.theme-dark .checkout-summary,
body.theme-dark .success-content,
body.theme-dark .sd-info-card,
body.theme-dark .sd-brand-card,
body.theme-dark .contact-main-card,
body.theme-dark .contact-under-grid article,
body.theme-dark .about-address-card,
body.theme-dark .payment-option,
body.theme-dark .ct-shop-page .filter-sidebar,
body.theme-dark .ct-active-filters,
body.theme-dark .ct-frequent-searches a,
body.theme-dark .gz-pc-card,
body.theme-dark .gz-pc-filter-panel {
    background: var(--gz-color-surface) !important;
    border-color: var(--gz-color-border) !important;
    color: var(--gz-color-text) !important;
}

body.theme-dark .btn-primary,
body.theme-dark .btn-add,
body.theme-dark .btn-checkout,
body.theme-dark .btn-place-order,
body.theme-dark .sd-btn-primary,
body.theme-dark .cy-btn-primary,
body.theme-dark .search-btn,
body.theme-dark .mega-menu-btn,
body.theme-dark .filter-toggle-btn,
body.theme-dark .gz-pc-filter-toggle,
body.theme-dark button[type="submit"]:not(.btn-link) {
    background: #f3f5f3 !important;
    border-color: #f3f5f3 !important;
    color: #101112 !important;
}

body.theme-dark .btn-primary:hover,
body.theme-dark .btn-add:hover,
body.theme-dark .btn-checkout:hover,
body.theme-dark .btn-place-order:hover,
body.theme-dark .sd-btn-primary:hover,
body.theme-dark .cy-btn-primary:hover,
body.theme-dark .search-btn:hover,
body.theme-dark .mega-menu-btn:hover,
body.theme-dark .filter-toggle-btn:hover,
body.theme-dark .gz-pc-filter-toggle:hover,
body.theme-dark button[type="submit"]:not(.btn-link):hover {
    background: #dfe5e1 !important;
    border-color: #dfe5e1 !important;
    color: #101112 !important;
}

body.theme-dark .btn-outline,
body.theme-dark .btn-buy-now,
body.theme-dark .sd-btn-outline,
body.theme-dark .cy-btn-outline,
body.theme-dark .card-action-btn,
body.theme-dark .btn-wishlist-lg,
body.theme-dark .remove-btn,
body.theme-dark .view-toggle-btn,
body.theme-dark .filter-select,
body.theme-dark .qty-control button {
    color: var(--gz-color-text) !important;
    border-color: var(--gz-color-border-strong) !important;
    background: transparent !important;
}

body.theme-dark .filter-sidebar.open,
body.theme-dark.template-shop .ct-shop-page .filter-sidebar.open {
    background: var(--gz-color-surface) !important;
    color: var(--gz-color-text) !important;
}

body.theme-dark.template-shop .ct-shop-page .filter-sidebar.open *,
body.theme-dark .filter-sidebar.open * {
    color: var(--gz-color-text) !important;
}

body.theme-dark.template-shop .ct-shop-page .filter-sidebar .active-filter-tag,
body.theme-dark.template-shop .ct-shop-page .filter-sidebar .active-filter-tag * {
    color: #ffffff !important;
}

.template-shop .ct-shop-page .products-layout,
body.template-shop .ct-shop-page .products-layout,
body.theme-dark.template-shop .ct-shop-page .products-layout {
    grid-template-columns: minmax(0, 1fr) !important;
}

.template-shop .filter-toggle-btn {
    background: var(--gz-color-black) !important;
    color: #ffffff !important;
    border-color: var(--gz-color-black) !important;
}

@media (max-width: 768px) {
    .container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    h1,
    .ct-shop-heading h1,
    .gz-pc-hero h1 {
        font-size: clamp(1.65rem, 8vw, 2.35rem) !important;
    }

    .product-card,
    .product-card-list,
    .gz-pc-card {
        border-radius: var(--gz-radius-lg) !important;
    }
}

/* Design System final corrections after visual QA. */
body.theme-dark .btn-primary,
body.theme-dark .btn-add,
body.theme-dark .btn-checkout,
body.theme-dark .btn-place-order,
body.theme-dark .sd-btn-primary,
body.theme-dark .cy-btn-primary,
body.theme-dark .search-btn,
body.theme-dark .mega-menu-btn,
body.theme-dark .filter-toggle-btn,
body.theme-dark .gz-pc-filter-toggle,
body.theme-dark button[type="submit"]:not(.btn-link),
body.theme-dark.template-shop .filter-toggle-btn,
body.theme-dark.template-pc-assembles .filter-toggle-btn {
    background: #101112 !important;
    border-color: #343938 !important;
    color: #ffffff !important;
}

body.theme-dark .btn-primary:hover,
body.theme-dark .btn-add:hover,
body.theme-dark .btn-checkout:hover,
body.theme-dark .btn-place-order:hover,
body.theme-dark .sd-btn-primary:hover,
body.theme-dark .cy-btn-primary:hover,
body.theme-dark .search-btn:hover,
body.theme-dark .mega-menu-btn:hover,
body.theme-dark .filter-toggle-btn:hover,
body.theme-dark .gz-pc-filter-toggle:hover,
body.theme-dark button[type="submit"]:not(.btn-link):hover {
    background: #242628 !important;
    border-color: #4a504e !important;
    color: #ffffff !important;
}

.template-shop .ct-shop-heading h1,
body.template-shop .ct-shop-heading h1,
body.theme-dark.template-shop .ct-shop-heading h1,
.ct-shop-page .ct-shop-heading h1,
.gz-pc-page .gz-pc-hero h1 {
    font-weight: 600 !important;
}

.nav-links > li:last-child > a,
body.theme-dark .nav-links > li:last-child > a {
    background: #101112 !important;
    border: 1px solid #343938 !important;
    color: #ffffff !important;
}

.nav-links > li:last-child > a:hover,
body.theme-dark .nav-links > li:last-child > a:hover {
    background: #242628 !important;
    color: #ffffff !important;
}

.ct-flash-card,
.ct-deal-card,
.cy-product-card,
.cy-cat-card,
.category-icon-card,
.feature-card,
.ts-flash-card,
body.theme-dark .ct-flash-card,
body.theme-dark .ct-deal-card,
body.theme-dark .cy-product-card,
body.theme-dark .cy-cat-card,
body.theme-dark .category-icon-card,
body.theme-dark .feature-card,
body.theme-dark .ts-flash-card {
    background: var(--gz-color-surface) !important;
    border-color: var(--gz-color-border) !important;
    color: var(--gz-color-text) !important;
    box-shadow: var(--gz-shadow-sm) !important;
}

.ct-flash-card:hover,
.ct-deal-card:hover,
.cy-product-card:hover,
.cy-cat-card:hover,
.category-icon-card:hover,
.feature-card:hover,
.ts-flash-card:hover {
    border-color: var(--gz-color-border-strong) !important;
    box-shadow: var(--gz-shadow-md) !important;
}

.gz-search-btn,
body.theme-dark .gz-search-btn,
body.light-theme .gz-search-btn,
.gz-header-action.gz-theme-switch,
body.theme-dark .gz-header-action.gz-theme-switch,
body.light-theme .gz-header-action.gz-theme-switch {
    background: #101112 !important;
    border: none !important;
    color: #ffffff !important;
}

.gz-search-btn:hover,
.gz-header-action.gz-theme-switch:hover {
    background: transparent !important;
    color: #ffffff !important;
}

.gz-theme-switch i,
.gz-header-action.gz-theme-switch i {
    color: var(--gz-h-accent) !important;
}

.gz-header-action.gz-theme-switch {
    border: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    min-width: auto !important;
}

.gz-header-actions .gz-header-action > i {
    color: var(--gz-h-accent) !important;
}

.gz-header-actions .gz-header-action:hover > i,
.gz-header-actions .gz-header-action.gz-cart-btn:hover > i {
    color: var(--gz-h-accent) !important;
}

.gz-cart-count,
body.theme-dark .gz-cart-count,
body.light-theme .gz-cart-count {
    background: #101112 !important;
    border-color: #343938 !important;
    color: #ffffff !important;
}

.gz-nav-links > li:last-child > a,
body.theme-dark .gz-nav-links > li:last-child > a,
body.light-theme .gz-nav-links > li:last-child > a {
    background: #101112 !important;
    border: 1px solid #343938 !important;
    color: #ffffff !important;
}

.gz-nav-links > li:last-child > a:hover {
    background: #242628 !important;
    color: #ffffff !important;
}

.ts-store-strip {
    border-color: var(--gz-color-border) !important;
}

#flashDealsTitle,
.ts-flash-copy h2,
.ts-flash-copy a,
.ts-flash-price strong,
.newsletter-kicker,
.footer i:not(.fa-check-circle),
.trust-badges i,
.ts-feature i,
.cy-green {
    color: var(--gz-color-text) !important;
}

.ts-flash-copy a {
    background: #101112 !important;
    border-color: #101112 !important;
    color: #ffffff !important;
}

.ts-benefits i,
.trust-item i {
    background: var(--gz-color-surface-3) !important;
    color: var(--gz-color-text) !important;
}

.ts-flash-badge,
.badge.sale,
.discount-badge {
    background: #111 !important;
    color: #ffffff !important;
}

.gz-search-btn.gz-search-btn,
body.theme-dark .gz-search-btn.gz-search-btn,
body.light-theme .gz-search-btn.gz-search-btn {
    background: #101112 !important;
    border-color: #343938 !important;
    color: #ffffff !important;
}

.gz-search-btn.gz-search-btn:hover,
body.theme-dark .gz-search-btn.gz-search-btn:hover,
body.light-theme .gz-search-btn.gz-search-btn:hover {
    background: #242628 !important;
    border-color: #4a504e !important;
    color: #ffffff !important;
}

.gz-slider-dots button.active,
.hero-dots button.active,
.ct-hero-dots button.active {
    background: #ffffff !important;
    border-color: #ffffff !important;
}

.ts-benefits i.fas,
.ts-benefits i.fa,
.footer .fas,
.footer .fa {
    background: transparent !important;
    color: var(--gz-color-text-3) !important;
}

.newsletter-kicker,
.ct-newsletter span,
.ct-newsletter .section-label {
    color: var(--gz-color-text-3) !important;
}

.gz-nav-links > li > a,
.gz-nav-links > li:last-child > a,
#flashDealsTitle,
.ts-flash-copy h2,
.ts-flash-copy a,
.gz-cart-count,
.footer.gz-footer .gz-footer-newsletter span,
body.theme-dark .footer.gz-footer .gz-footer-newsletter span,
body.light-theme .footer.gz-footer .gz-footer-newsletter span {
    font-weight: 600 !important;
}

.ts-home .ct-hero-thumbs button.active,
.ct-hero-thumbs button.active,
.ct-thumbs button.active,
.dot.active,
.cy-hero-dots span.active {
    background: #ffffff !important;
    border-color: #ffffff !important;
}

.footer.gz-footer .gz-footer-newsletter span,
body.theme-dark .footer.gz-footer .gz-footer-newsletter span,
body.light-theme .footer.gz-footer .gz-footer-newsletter span {
    color: var(--gz-color-text-3) !important;
}

html body .gz-nav .gz-nav-links > li:last-child > a,
html body.theme-dark .gz-nav .gz-nav-links > li:last-child > a,
html body.light-theme .gz-nav .gz-nav-links > li:last-child > a {
    font-weight: 600 !important;
    background: #101112 !important;
    border-color: #343938 !important;
    color: #ffffff !important;
}

html body.theme-dark.template-product .gz-p-add-btn.gz-p-add-btn {
    background: #44d62c !important;
    border-color: #44d62c !important;
    color: #050705 !important;
}

html body.theme-dark.template-product .gz-p-add-btn.gz-p-add-btn:hover {
    background: #5cf27f !important;
    border-color: #5cf27f !important;
    color: #050705 !important;
}

/* Shop filters should stay visible in the page on desktop. */
@media (min-width: 993px) {
    html body.template-shop .ct-shop-page .products-layout,
    html body.theme-dark.template-shop .ct-shop-page .products-layout,
    html body.light-theme.template-shop .ct-shop-page .products-layout,
    html .template-shop .ct-shop-page .products-layout {
        display: grid !important;
        grid-template-columns: 286px minmax(0, 1fr) !important;
        gap: 24px !important;
        align-items: start !important;
    }

    html body.template-shop .ct-shop-page .products-main,
    html body.theme-dark.template-shop .ct-shop-page .products-main,
    html body.light-theme.template-shop .ct-shop-page .products-main,
    html .template-shop .ct-shop-page .products-main {
        grid-column: auto !important;
        min-width: 0 !important;
    }

    html body.template-shop .ct-shop-page .filter-sidebar,
    html body.theme-dark.template-shop .ct-shop-page .filter-sidebar,
    html body.light-theme.template-shop .ct-shop-page .filter-sidebar,
    html .template-shop .ct-shop-page .filter-sidebar {
        position: sticky !important;
        inset: auto !important;
        top: 124px !important;
        z-index: 1 !important;
        width: 286px !important;
        max-width: none !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        transform: none !important;
        border: 1px solid var(--gz-color-border) !important;
        border-radius: var(--gz-radius-lg) !important;
        background: var(--gz-color-surface) !important;
        color: var(--gz-color-text) !important;
        box-shadow: var(--gz-shadow-sm) !important;
    }

    html body.template-shop .ct-shop-page .filter-overlay,
    html body.theme-dark.template-shop .ct-shop-page .filter-overlay,
    html body.light-theme.template-shop .ct-shop-page .filter-overlay,
    html body.template-shop .ct-shop-page .filter-close-btn,
    html body.theme-dark.template-shop .ct-shop-page .filter-close-btn,
    html body.light-theme.template-shop .ct-shop-page .filter-close-btn,
    html body.template-shop .ct-shop-page .filter-toggle-btn,
    html body.theme-dark.template-shop .ct-shop-page .filter-toggle-btn,
    html body.light-theme.template-shop .ct-shop-page .filter-toggle-btn {
        display: none !important;
    }

    html body.template-shop .ct-shop-page .products-top-bar .top-bar-left,
    html body.theme-dark.template-shop .ct-shop-page .products-top-bar .top-bar-left,
    html body.light-theme.template-shop .ct-shop-page .products-top-bar .top-bar-left {
        min-height: 42px !important;
        align-items: center !important;
    }
}

/* Shop filter rows: checkbox, label, count aligned cleanly. */
html body.template-shop .ct-shop-page .filter-list-item,
html body.theme-dark.template-shop .ct-shop-page .filter-list-item,
html body.light-theme.template-shop .ct-shop-page .filter-list-item {
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    text-align: left !important;
}

html body.template-shop .ct-shop-page .filter-list-check,
html body.theme-dark.template-shop .ct-shop-page .filter-list-check,
html body.light-theme.template-shop .ct-shop-page .filter-list-check {
    width: 18px !important;
    min-width: 18px !important;
    grid-column: 1 !important;
    justify-self: start !important;
}

html body.template-shop .ct-shop-page .filter-list-label,
html body.theme-dark.template-shop .ct-shop-page .filter-list-label,
html body.light-theme.template-shop .ct-shop-page .filter-list-label {
    grid-column: 2 !important;
    justify-self: start !important;
    text-align: left !important;
    min-width: 0 !important;
    width: auto !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

html body.template-shop .ct-shop-page .filter-list-count,
html body.theme-dark.template-shop .ct-shop-page .filter-list-count,
html body.light-theme.template-shop .ct-shop-page .filter-list-count {
    grid-column: 3 !important;
    justify-self: end !important;
    margin-left: 8px !important;
    text-align: right !important;
    white-space: nowrap !important;
}

html body.template-shop .ct-shop-page #brandList .filter-list-item:has(.brand-logo-thumb),
html body.theme-dark.template-shop .ct-shop-page #brandList .filter-list-item:has(.brand-logo-thumb),
html body.light-theme.template-shop .ct-shop-page #brandList .filter-list-item:has(.brand-logo-thumb) {
    grid-template-columns: 18px 26px minmax(0, 1fr) auto !important;
}

html body.template-shop .ct-shop-page #brandList .brand-logo-thumb,
html body.theme-dark.template-shop .ct-shop-page #brandList .brand-logo-thumb,
html body.light-theme.template-shop .ct-shop-page #brandList .brand-logo-thumb {
    grid-column: 2 !important;
    justify-self: start !important;
}

html body.template-shop .ct-shop-page #brandList .filter-list-item:has(.brand-logo-thumb) .filter-list-label,
html body.theme-dark.template-shop .ct-shop-page #brandList .filter-list-item:has(.brand-logo-thumb) .filter-list-label,
html body.light-theme.template-shop .ct-shop-page #brandList .filter-list-item:has(.brand-logo-thumb) .filter-list-label {
    grid-column: 3 !important;
}

html body.template-shop .ct-shop-page #brandList .filter-list-item:has(.brand-logo-thumb) .filter-list-count,
html body.theme-dark.template-shop .ct-shop-page #brandList .filter-list-item:has(.brand-logo-thumb) .filter-list-count,
html body.light-theme.template-shop .ct-shop-page #brandList .filter-list-item:has(.brand-logo-thumb) .filter-list-count {
    grid-column: 4 !important;
}

/* Keep brand filter text directly beside the checkbox. */
html body.template-shop .ct-shop-page #brandList .filter-list-item,
html body.theme-dark.template-shop .ct-shop-page #brandList .filter-list-item,
html body.light-theme.template-shop .ct-shop-page #brandList .filter-list-item,
html body.template-shop .ct-shop-page #brandList .filter-list-item:has(.brand-logo-thumb),
html body.theme-dark.template-shop .ct-shop-page #brandList .filter-list-item:has(.brand-logo-thumb),
html body.light-theme.template-shop .ct-shop-page #brandList .filter-list-item:has(.brand-logo-thumb) {
    grid-template-columns: 18px minmax(0, 1fr) auto !important;
}

html body.template-shop .ct-shop-page #brandList .brand-logo-thumb,
html body.theme-dark.template-shop .ct-shop-page #brandList .brand-logo-thumb,
html body.light-theme.template-shop .ct-shop-page #brandList .brand-logo-thumb {
    display: none !important;
}

html body.template-shop .ct-shop-page #brandList .filter-list-label,
html body.theme-dark.template-shop .ct-shop-page #brandList .filter-list-label,
html body.light-theme.template-shop .ct-shop-page #brandList .filter-list-label,
html body.template-shop .ct-shop-page #brandList .filter-list-item:has(.brand-logo-thumb) .filter-list-label,
html body.theme-dark.template-shop .ct-shop-page #brandList .filter-list-item:has(.brand-logo-thumb) .filter-list-label,
html body.light-theme.template-shop .ct-shop-page #brandList .filter-list-item:has(.brand-logo-thumb) .filter-list-label {
    grid-column: 2 !important;
}

html body.template-shop .ct-shop-page #brandList .filter-list-count,
html body.theme-dark.template-shop .ct-shop-page #brandList .filter-list-count,
html body.light-theme.template-shop .ct-shop-page #brandList .filter-list-count,
html body.template-shop .ct-shop-page #brandList .filter-list-item:has(.brand-logo-thumb) .filter-list-count,
html body.theme-dark.template-shop .ct-shop-page #brandList .filter-list-item:has(.brand-logo-thumb) .filter-list-count,
html body.light-theme.template-shop .ct-shop-page #brandList .filter-list-item:has(.brand-logo-thumb) .filter-list-count {
    grid-column: 3 !important;
}

/* Shop toolbar chips live where the result count used to be. */
html body.template-shop .ct-shop-page .products-top-bar,
html body.theme-dark.template-shop .ct-shop-page .products-top-bar,
html body.light-theme.template-shop .ct-shop-page .products-top-bar {
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 16px !important;
}

html body.template-shop .ct-shop-page .products-top-bar .top-bar-left,
html body.theme-dark.template-shop .ct-shop-page .products-top-bar .top-bar-left,
html body.light-theme.template-shop .ct-shop-page .products-top-bar .top-bar-left {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

html body.template-shop .ct-shop-page .ct-frequent-searches-inline,
html body.theme-dark.template-shop .ct-shop-page .ct-frequent-searches-inline,
html body.light-theme.template-shop .ct-shop-page .ct-frequent-searches-inline {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

html body.template-shop .ct-shop-page .ct-frequent-searches-inline a,
html body.theme-dark.template-shop .ct-shop-page .ct-frequent-searches-inline a,
html body.light-theme.template-shop .ct-shop-page .ct-frequent-searches-inline a {
    min-height: 34px !important;
    min-width: 0 !important;
    padding: 0 13px !important;
    border-radius: var(--gz-radius-md) !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    background: var(--gz-color-surface) !important;
    border: 1px solid var(--gz-color-border) !important;
    color: var(--gz-color-text-2) !important;
    box-shadow: var(--gz-shadow-sm) !important;
}

html body.template-shop .ct-shop-page .ct-frequent-searches-inline a strong,
html body.theme-dark.template-shop .ct-shop-page .ct-frequent-searches-inline a strong,
html body.light-theme.template-shop .ct-shop-page .ct-frequent-searches-inline a strong {
    font-weight: 500 !important;
}

html body.template-shop .ct-shop-page .ct-frequent-searches-inline a.active,
html body.template-shop .ct-shop-page .ct-frequent-searches-inline a:hover,
html body.theme-dark.template-shop .ct-shop-page .ct-frequent-searches-inline a.active,
html body.theme-dark.template-shop .ct-shop-page .ct-frequent-searches-inline a:hover,
html body.light-theme.template-shop .ct-shop-page .ct-frequent-searches-inline a.active,
html body.light-theme.template-shop .ct-shop-page .ct-frequent-searches-inline a:hover {
    border-color: var(--gz-color-border-strong) !important;
    background: var(--gz-color-surface-2) !important;
    color: var(--gz-color-text) !important;
}

html body.template-shop .ct-shop-page .products-grid,
html body.theme-dark.template-shop .ct-shop-page .products-grid,
html body.light-theme.template-shop .ct-shop-page .products-grid {
    gap: 18px !important;
}

html body.template-shop .ct-shop-page .products-grid .product-card,
html body.theme-dark.template-shop .ct-shop-page .products-grid .product-card,
html body.light-theme.template-shop .ct-shop-page .products-grid .product-card {
    min-height: 0 !important;
    border-radius: var(--gz-radius-lg) !important;
}

html body.template-shop .ct-shop-page .products-grid .product-img,
html body.theme-dark.template-shop .ct-shop-page .products-grid .product-img,
html body.light-theme.template-shop .ct-shop-page .products-grid .product-img {
    height: 190px !important;
    padding: 12px !important;
}

html body.template-shop .ct-shop-page .products-grid .product-info,
html body.theme-dark.template-shop .ct-shop-page .products-grid .product-info,
html body.light-theme.template-shop .ct-shop-page .products-grid .product-info {
    padding: 12px 14px 14px !important;
    gap: 8px !important;
}

html body.template-shop .ct-shop-page .products-grid .product-name,
html body.theme-dark.template-shop .ct-shop-page .products-grid .product-name,
html body.light-theme.template-shop .ct-shop-page .products-grid .product-name {
    font-size: 13px !important;
    line-height: 1.32 !important;
}

html body.template-shop .ct-shop-page .products-grid .product-price .current,
html body.theme-dark.template-shop .ct-shop-page .products-grid .product-price .current,
html body.light-theme.template-shop .ct-shop-page .products-grid .product-price .current {
    font-size: 19px !important;
    line-height: 1.15 !important;
}

/* Shop filter panel: keep every section on a clean white surface. */
html body.template-shop .ct-shop-page .filter-sidebar,
html body.theme-dark.template-shop .ct-shop-page .filter-sidebar,
html body.light-theme.template-shop .ct-shop-page .filter-sidebar,
html body.template-shop .ct-shop-page .filter-header,
html body.theme-dark.template-shop .ct-shop-page .filter-header,
html body.light-theme.template-shop .ct-shop-page .filter-header,
html body.template-shop .ct-shop-page .filter-group,
html body.theme-dark.template-shop .ct-shop-page .filter-group,
html body.light-theme.template-shop .ct-shop-page .filter-group,
html body.template-shop .ct-shop-page .filter-group-body,
html body.theme-dark.template-shop .ct-shop-page .filter-group-body,
html body.light-theme.template-shop .ct-shop-page .filter-group-body,
html body.template-shop .ct-shop-page .filter-list,
html body.theme-dark.template-shop .ct-shop-page .filter-list,
html body.light-theme.template-shop .ct-shop-page .filter-list,
html body.template-shop .ct-shop-page .price-slider-wrap,
html body.theme-dark.template-shop .ct-shop-page .price-slider-wrap,
html body.light-theme.template-shop .ct-shop-page .price-slider-wrap {
    background: #fff !important;
}

html body.template-shop .ct-shop-page .filter-list-item,
html body.theme-dark.template-shop .ct-shop-page .filter-list-item,
html body.light-theme.template-shop .ct-shop-page .filter-list-item,
html body.template-shop .ct-shop-page .filter-list-item.active,
html body.theme-dark.template-shop .ct-shop-page .filter-list-item.active,
html body.light-theme.template-shop .ct-shop-page .filter-list-item.active {
    background: #fff !important;
}

html body.template-shop .ct-shop-page .filter-list-item:hover,
html body.theme-dark.template-shop .ct-shop-page .filter-list-item:hover,
html body.light-theme.template-shop .ct-shop-page .filter-list-item:hover {
    background: #f7f7f7 !important;
}

html body.template-shop .ct-shop-page .price-labels,
html body.theme-dark.template-shop .ct-shop-page .price-labels,
html body.light-theme.template-shop .ct-shop-page .price-labels,
html body.template-shop .ct-shop-page .price-labels span,
html body.theme-dark.template-shop .ct-shop-page .price-labels span,
html body.light-theme.template-shop .ct-shop-page .price-labels span {
    background: #fff !important;
}

html body.template-shop .ct-shop-page .price-slider-track,
html body.theme-dark.template-shop .ct-shop-page .price-slider-track,
html body.light-theme.template-shop .ct-shop-page .price-slider-track {
    background: #e5e7eb !important;
}

html body.template-shop .ct-shop-page .filter-sidebar .filter-list-item,
html body.theme-dark.template-shop .ct-shop-page .filter-sidebar .filter-list-item,
html body.light-theme.template-shop .ct-shop-page .filter-sidebar .filter-list-item,
html body.template-shop .ct-shop-page .filter-sidebar .filter-list-label,
html body.theme-dark.template-shop .ct-shop-page .filter-sidebar .filter-list-label,
html body.light-theme.template-shop .ct-shop-page .filter-sidebar .filter-list-label,
html body.template-shop .ct-shop-page .filter-sidebar .filter-list-count,
html body.theme-dark.template-shop .ct-shop-page .filter-sidebar .filter-list-count,
html body.light-theme.template-shop .ct-shop-page .filter-sidebar .filter-list-count {
    color: #111827 !important;
}

html body.template-shop .ct-shop-page .filter-sidebar .filter-list-check,
html body.theme-dark.template-shop .ct-shop-page .filter-sidebar .filter-list-check,
html body.light-theme.template-shop .ct-shop-page .filter-sidebar .filter-list-check,
html body.template-shop .ct-shop-page .filter-sidebar .filter-list-check i,
html body.theme-dark.template-shop .ct-shop-page .filter-sidebar .filter-list-check i,
html body.light-theme.template-shop .ct-shop-page .filter-sidebar .filter-list-check i {
    color: var(--gz-color-success) !important;
}

/* Typography refresh: cleaner ecommerce reading across French, English, and Arabic. */
:root {
    --gz-font-sans: 'Manrope', 'Noto Sans Arabic', 'Inter', 'Segoe UI', system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
}

html,
body,
button,
input,
select,
textarea {
    font-family: var(--gz-font-sans) !important;
    font-feature-settings: "kern" 1, "liga" 1 !important;
    letter-spacing: 0 !important;
}

body {
    font-weight: 400 !important;
    line-height: 1.55 !important;
    text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
h5,
h6,
.logo-name,
.auth-brand span,
.sidebar-brand span,
.card-current-price,
.price-row .current,
.item-total,
.summary-row.total span:last-child,
.order-number,
.gz-shop-price strong,
.gz-pc-card-price strong,
.product-price .current,
.ts-flash-price strong {
    font-family: var(--gz-font-sans) !important;
    letter-spacing: 0 !important;
}

h1,
.ct-shop-heading h1,
.gz-pc-hero h1,
.section-header h2,
.cy-section-head h2 {
    font-weight: 600 !important;
    line-height: 1.12 !important;
}

h2,
h3,
h4,
.product-name,
.gz-pc-card-title,
.filter-header h3,
.filter-group-title,
.gz-nav a,
.gz-mega-btn,
.ct-frequent-searches-inline a,
.btn-primary,
.btn-secondary,
.filter-select,
.product-card button,
.gz-header-action,
.gz-search input {
    font-weight: 500 !important;
}

.product-brand,
.product-category,
.filter-list-item,
.filter-list-label,
.filter-list-count,
.ct-shop-heading p,
.gz-pc-hero p,
.breadcrumb,
.gz-footer,
.gz-footer a,
.gz-footer p {
    font-weight: 400 !important;
}

.card-current-price,
.gz-shop-price strong,
.gz-pc-card-price strong,
.product-price .current,
.ts-flash-price strong {
    font-weight: 600 !important;
}

strong,
b {
    font-weight: 600;
}

html body.template-shop .ct-shop-page .filter-sidebar .filter-list-item,
html body.theme-dark.template-shop .ct-shop-page .filter-sidebar .filter-list-item,
html body.light-theme.template-shop .ct-shop-page .filter-sidebar .filter-list-item {
    font-weight: 400 !important;
}

html body.template-shop .ct-shop-page .filter-sidebar .filter-list-item.active,
html body.theme-dark.template-shop .ct-shop-page .filter-sidebar .filter-list-item.active,
html body.light-theme.template-shop .ct-shop-page .filter-sidebar .filter-list-item.active,
html body.template-shop .ct-shop-page .filter-sidebar .filter-list-item.active .filter-list-label,
html body.theme-dark.template-shop .ct-shop-page .filter-sidebar .filter-list-item.active .filter-list-label,
html body.light-theme.template-shop .ct-shop-page .filter-sidebar .filter-list-item.active .filter-list-label,
html body.template-shop .ct-shop-page .filter-sidebar .filter-list-count,
html body.theme-dark.template-shop .ct-shop-page .filter-sidebar .filter-list-count,
html body.light-theme.template-shop .ct-shop-page .filter-sidebar .filter-list-count {
    font-weight: 500 !important;
}

html body.template-shop .ct-shop-page .price-slider-wrap,
html body.theme-dark.template-shop .ct-shop-page .price-slider-wrap,
html body.light-theme.template-shop .ct-shop-page .price-slider-wrap {
    position: relative !important;
    height: 44px !important;
    margin-top: 10px !important;
}

html body.template-shop .ct-shop-page .price-slider-track,
html body.theme-dark.template-shop .ct-shop-page .price-slider-track,
html body.light-theme.template-shop .ct-shop-page .price-slider-track {
    position: absolute !important;
    top: 20px !important;
    left: 8px !important;
    right: 8px !important;
    height: 5px !important;
    border-radius: 999px !important;
    background: #d1d5db !important;
    overflow: visible !important;
}

html body.template-shop .ct-shop-page .price-slider-range,
html body.theme-dark.template-shop .ct-shop-page .price-slider-range,
html body.light-theme.template-shop .ct-shop-page .price-slider-range {
    position: absolute !important;
    top: 0 !important;
    height: 5px !important;
    border-radius: 999px !important;
    background: var(--gz-color-success) !important;
}

html body.template-shop .ct-shop-page .price-range,
html body.theme-dark.template-shop .ct-shop-page .price-range,
html body.light-theme.template-shop .ct-shop-page .price-range {
    top: 10px !important;
    height: 26px !important;
}

/* Mega menu readability on the light dropdown panel. */
html body .gz-mega-panel,
html body.theme-dark .gz-mega-panel,
html body.light-theme .gz-mega-panel {
    background: #fff !important;
    color: #111827 !important;
}

html body .gz-mega-rail,
html body.theme-dark .gz-mega-rail,
html body.light-theme .gz-mega-rail {
    background: #f8fafc !important;
    border-right: 1px solid #e5e7eb !important;
}

html body .gz-mega-rail-item,
html body.theme-dark .gz-mega-rail-item,
html body.light-theme .gz-mega-rail-item,
html body .gz-mega-rail-item span,
html body.theme-dark .gz-mega-rail-item span,
html body.light-theme .gz-mega-rail-item span {
    color: #111827 !important;
    opacity: 1 !important;
    font-weight: 500 !important;
}

html body .gz-mega-rail-item small,
html body.theme-dark .gz-mega-rail-item small,
html body.light-theme .gz-mega-rail-item small {
    background: #e5e7eb !important;
    color: #111827 !important;
    opacity: 1 !important;
    font-weight: 600 !important;
}

html body .gz-mega-rail-item i,
html body.theme-dark .gz-mega-rail-item i,
html body.light-theme .gz-mega-rail-item i {
    color: #111827 !important;
    opacity: 1 !important;
}

html body .gz-mega-rail-item:hover,
html body .gz-mega-rail-item.active,
html body.theme-dark .gz-mega-rail-item:hover,
html body.theme-dark .gz-mega-rail-item.active,
html body.light-theme .gz-mega-rail-item:hover,
html body.light-theme .gz-mega-rail-item.active {
    background: #eef2f7 !important;
}

html body .gz-mega-section-head h3,
html body.theme-dark .gz-mega-section-head h3,
html body.light-theme .gz-mega-section-head h3,
html body .gz-mega-section-head a,
html body.theme-dark .gz-mega-section-head a,
html body.light-theme .gz-mega-section-head a,
html body .gz-mega-group li a,
html body.theme-dark .gz-mega-group li a,
html body.light-theme .gz-mega-group li a {
    color: #111827 !important;
}

html body .gz-mega-group h4,
html body.theme-dark .gz-mega-group h4,
html body.light-theme .gz-mega-group h4 {
    color: #111827 !important;
    font-weight: 700 !important;
}

/* Dark mode shop filters: dark surface instead of the light panel. */
html body.theme-dark.template-shop .ct-shop-page .filter-sidebar {
    background: #101513 !important;
    border-color: #26312d !important;
    color: #edf2ef !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .28) !important;
}

html body.theme-dark.template-shop .ct-shop-page .filter-header,
html body.theme-dark.template-shop .ct-shop-page .filter-group,
html body.theme-dark.template-shop .ct-shop-page .filter-group-body,
html body.theme-dark.template-shop .ct-shop-page .filter-list,
html body.theme-dark.template-shop .ct-shop-page .price-slider-wrap {
    background: #101513 !important;
    color: #edf2ef !important;
}

html body.theme-dark.template-shop .ct-shop-page .filter-header,
html body.theme-dark.template-shop .ct-shop-page .filter-group {
    border-color: #26312d !important;
}

html body.theme-dark.template-shop .ct-shop-page .filter-header h3,
html body.theme-dark.template-shop .ct-shop-page .filter-group-title,
html body.theme-dark.template-shop .ct-shop-page .filter-group-title i,
html body.theme-dark.template-shop .ct-shop-page .filter-list-item,
html body.theme-dark.template-shop .ct-shop-page .filter-list-label,
html body.theme-dark.template-shop .ct-shop-page .filter-list-count {
    color: #edf2ef !important;
}

html body.theme-dark.template-shop .ct-shop-page .filter-list-item,
html body.theme-dark.template-shop .ct-shop-page .filter-list-item.active {
    background: #101513 !important;
}

html body.theme-dark.template-shop .ct-shop-page .filter-list-item:hover {
    background: #18201d !important;
}

html body.theme-dark.template-shop .ct-shop-page .ct-active-filters a {
    background: #050706 !important;
    border-color: #26312d !important;
    color: #edf2ef !important;
}

html body.theme-dark.template-shop .ct-shop-page .price-labels,
html body.theme-dark.template-shop .ct-shop-page .price-labels span {
    background: #101513 !important;
    color: #edf2ef !important;
}

html body.theme-dark.template-shop .ct-shop-page .price-slider-track {
    background: #34413c !important;
}

html body.theme-dark.template-shop .ct-shop-page .price-slider-range {
    background: var(--gz-color-success) !important;
}

/* Strong final dark-mode filter fix. */
html body.theme-dark.template-shop .ct-shop-page #filterSidebar,
html body.theme-dark.template-shop .ct-shop-page #filterSidebar .filter-header,
html body.theme-dark.template-shop .ct-shop-page #filterSidebar .filter-group,
html body.theme-dark.template-shop .ct-shop-page #filterSidebar .filter-group-title,
html body.theme-dark.template-shop .ct-shop-page #filterSidebar .filter-group-body,
html body.theme-dark.template-shop .ct-shop-page #filterSidebar .filter-list,
html body.theme-dark.template-shop .ct-shop-page #filterSidebar .price-slider-wrap,
html body.theme-dark.template-shop .ct-shop-page #filterSidebar .price-labels,
html body.theme-dark.template-shop .ct-shop-page #filterSidebar .price-labels span {
    background: #101513 !important;
    color: #edf2ef !important;
}

html body.theme-dark.template-shop .ct-shop-page #filterSidebar .filter-header,
html body.theme-dark.template-shop .ct-shop-page #filterSidebar .filter-group {
    border-color: #26312d !important;
}

html body.theme-dark.template-shop .ct-shop-page #filterSidebar h3,
html body.theme-dark.template-shop .ct-shop-page #filterSidebar .reset-filters,
html body.theme-dark.template-shop .ct-shop-page #filterSidebar .filter-group-title,
html body.theme-dark.template-shop .ct-shop-page #filterSidebar .filter-group-title i,
html body.theme-dark.template-shop .ct-shop-page #filterSidebar .filter-list-item,
html body.theme-dark.template-shop .ct-shop-page #filterSidebar .filter-list-item.active,
html body.theme-dark.template-shop .ct-shop-page #filterSidebar .filter-list-label,
html body.theme-dark.template-shop .ct-shop-page #filterSidebar .filter-list-count,
html body.theme-dark.template-shop .ct-shop-page #filterSidebar .filter-list-item.active .filter-list-label,
html body.theme-dark.template-shop .ct-shop-page #filterSidebar .filter-list-item.active .filter-list-count {
    color: #edf2ef !important;
}

html body.theme-dark.template-shop .ct-shop-page #filterSidebar .filter-list-item,
html body.theme-dark.template-shop .ct-shop-page #filterSidebar .filter-list-item.active {
    background: #101513 !important;
}

html body.theme-dark.template-shop .ct-shop-page #filterSidebar .filter-list-item:hover {
    background: #18201d !important;
}

html body.theme-dark.template-shop .ct-shop-page #filterSidebar .ct-active-filters a,
html body.theme-dark.template-shop .ct-shop-page #filterSidebar .ct-active-filters a span {
    background: #050706 !important;
    border-color: #26312d !important;
    color: #edf2ef !important;
}

html body.theme-dark.template-shop .ct-shop-page #filterSidebar .price-slider-track {
    background: #34413c !important;
}

html body.theme-dark.template-shop .ct-shop-page #filterSidebar .price-slider-range,
html body.theme-dark.template-shop .ct-shop-page #filterSidebar .filter-list-check,
html body.theme-dark.template-shop .ct-shop-page #filterSidebar .filter-list-check i {
    color: var(--gz-color-success) !important;
    background-color: transparent !important;
}

/* Cybertek-style "Tous nos produits" mega menu. */
html body .gz-mega-wrap {
    position: static !important;
}

html body .gz-nav-inner {
    position: relative !important;
}

html body .gz-mega-panel,
html body.theme-dark .gz-mega-panel,
html body.light-theme .gz-mega-panel {
    position: absolute !important;
    top: 100% !important;
    left: 24px !important;
    width: min(1000px, calc(100vw - 48px)) !important;
    min-height: 500px !important;
    display: grid !important;
    grid-template-columns: 192px minmax(0, 1fr) !important;
    gap: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 0 8px 8px !important;
    box-shadow: 0 30px 60px rgba(0, 0, 0, .18) !important;
    color: #111 !important;
    overflow: hidden !important;
    z-index: 500 !important;
}

html body .gz-mega-panel.open,
html body.theme-dark .gz-mega-panel.open,
html body.light-theme .gz-mega-panel.open {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

html body .gz-mega-rail,
html body.theme-dark .gz-mega-rail,
html body.light-theme .gz-mega-rail {
    height: 100% !important;
    max-height: none !important;
    padding: 0 !important;
    background: #f5f5f5 !important;
    border-right: 1px solid #d7d7d7 !important;
    border-radius: 0 !important;
    overflow-y: auto !important;
}

html body .gz-mega-rail-item,
html body.theme-dark .gz-mega-rail-item,
html body.light-theme .gz-mega-rail-item {
    display: grid !important;
    grid-template-columns: 26px minmax(0, 1fr) auto !important;
    align-items: center !important;
    min-height: 54px !important;
    gap: 10px !important;
    padding: 9px 12px !important;
    border-bottom: 1px solid #d7d7d7 !important;
    border-radius: 0 !important;
    background: #f5f5f5 !important;
    color: #111 !important;
    opacity: 1 !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    line-height: 1.12 !important;
}

html body .gz-mega-rail-item:hover,
html body .gz-mega-rail-item.active,
html body.theme-dark .gz-mega-rail-item:hover,
html body.theme-dark .gz-mega-rail-item.active,
html body.light-theme .gz-mega-rail-item:hover,
html body.light-theme .gz-mega-rail-item.active {
    background: #e9e9e9 !important;
    color: #000 !important;
}

html body .gz-mega-rail-item i,
html body.theme-dark .gz-mega-rail-item i,
html body.light-theme .gz-mega-rail-item i {
    grid-column: 1 !important;
    width: 24px !important;
    color: #050505 !important;
    opacity: 1 !important;
    font-size: 16px !important;
    text-align: center !important;
}

html body .gz-mega-rail-item span,
html body.theme-dark .gz-mega-rail-item span,
html body.light-theme .gz-mega-rail-item span {
    grid-column: 2 !important;
    display: block !important;
    min-width: 0 !important;
    color: #111 !important;
    opacity: 1 !important;
    font-weight: 600 !important;
    white-space: normal !important;
}

html body .gz-mega-rail-item small,
html body.theme-dark .gz-mega-rail-item small,
html body.light-theme .gz-mega-rail-item small {
    grid-column: 3 !important;
    justify-self: end !important;
    min-width: 24px !important;
    height: 24px !important;
    display: inline-grid !important;
    place-items: center !important;
    padding: 0 7px !important;
    border-radius: 999px !important;
    background: #e0e0e0 !important;
    color: #111 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

html body .gz-mega-content,
html body.theme-dark .gz-mega-content,
html body.light-theme .gz-mega-content {
    min-height: 500px !important;
    max-height: none !important;
    padding: 22px 24px 28px !important;
    background: #fff !important;
    color: #111 !important;
    border-radius: 0 !important;
    overflow-y: auto !important;
}

html body .gz-mega-section-head,
html body.theme-dark .gz-mega-section-head,
html body.light-theme .gz-mega-section-head {
    padding-bottom: 12px !important;
    margin-bottom: 14px !important;
    border-bottom: 1px solid #d7d7d7 !important;
}

html body .gz-mega-section-head h3,
html body.theme-dark .gz-mega-section-head h3,
html body.light-theme .gz-mega-section-head h3 {
    color: #111 !important;
    font-size: 19px !important;
    font-weight: 500 !important;
}

html body .gz-mega-section-head a,
html body.theme-dark .gz-mega-section-head a,
html body.light-theme .gz-mega-section-head a {
    color: #555 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

html body .gz-mega-group-grid,
html body.theme-dark .gz-mega-group-grid,
html body.light-theme .gz-mega-group-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(150px, 1fr)) !important;
    gap: 20px 34px !important;
    align-items: start !important;
}

html body .gz-mega-group h4,
html body.theme-dark .gz-mega-group h4,
html body.light-theme .gz-mega-group h4 {
    color: #111 !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    margin-bottom: 8px !important;
}

html body .gz-mega-group ul,
html body.theme-dark .gz-mega-group ul,
html body.light-theme .gz-mega-group ul {
    gap: 5px !important;
}

html body .gz-mega-group li a,
html body.theme-dark .gz-mega-group li a,
html body.light-theme .gz-mega-group li a {
    color: #333 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
}

html body .gz-mega-group li a:hover,
html body.theme-dark .gz-mega-group li a:hover,
html body.light-theme .gz-mega-group li a:hover {
    color: #000 !important;
    text-decoration: underline !important;
}

html body .gz-mega-panel .gz-mega-rail .gz-mega-rail-item > i,
html body.theme-dark .gz-mega-panel .gz-mega-rail .gz-mega-rail-item > i,
html body.light-theme .gz-mega-panel .gz-mega-rail .gz-mega-rail-item > i {
    color: #050505 !important;
    -webkit-text-fill-color: #050505 !important;
}

@media (max-width: 860px) {
    html body .gz-mega-panel,
    html body.theme-dark .gz-mega-panel,
    html body.light-theme .gz-mega-panel {
        left: 16px !important;
        width: calc(100vw - 32px) !important;
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
        max-height: calc(100vh - 150px) !important;
        overflow-y: auto !important;
    }

    html body .gz-mega-content,
    html body.theme-dark .gz-mega-content,
    html body.light-theme .gz-mega-content {
        min-height: 0 !important;
    }

    html body .gz-mega-group-grid,
    html body.theme-dark .gz-mega-group-grid,
    html body.light-theme .gz-mega-group-grid {
        grid-template-columns: 1fr !important;
    }
}

/* PC assembles page: true light-mode colors. */
body.light-theme .gz-pc-page {
    background: #f4f4f4 !important;
    color: #111312 !important;
}

body.light-theme .gz-pc-breadcrumb,
body.light-theme .gz-pc-hero,
body.light-theme .gz-pc-catalog {
    background: #f4f4f4 !important;
    color: #111312 !important;
    border-color: #dedede !important;
}

body.light-theme .gz-pc-breadcrumb a,
body.light-theme .gz-pc-breadcrumb span {
    color: #626b66 !important;
}

body.light-theme .gz-pc-breadcrumb strong {
    color: #111312 !important;
}

body.light-theme .gz-pc-hero h1,
body.light-theme .gz-pc-page .gz-pc-hero h1 {
    color: #111312 !important;
}

body.light-theme .gz-pc-hero p,
body.light-theme .gz-pc-page .gz-pc-hero p {
    color: #4b5563 !important;
}

body.light-theme .gz-pc-toolbar,
body.light-theme .gz-pc-toolbar label,
body.light-theme .gz-pc-toolbar span {
    color: #111312 !important;
}

body.light-theme .gz-pc-toolbar strong {
    color: #111312 !important;
}

body.light-theme .gz-pc-toolbar select {
    background: #fff !important;
    color: #111312 !important;
    border-color: #cfd4d1 !important;
}

body.light-theme .gz-pc-card {
    background: #fff !important;
    border-color: #d9ddda !important;
    color: #111312 !important;
}

body.light-theme .gz-pc-card-body,
body.light-theme .gz-pc-card h3,
body.light-theme .gz-pc-card h3 a,
body.light-theme .gz-pc-card ul,
body.light-theme .gz-pc-card ul li,
body.light-theme .gz-pc-card-meta,
body.light-theme .gz-pc-card-meta span {
    color: #111312 !important;
}

body.light-theme .gz-pc-card ul li::before {
    color: #6b7280 !important;
}

body.light-theme .gz-pc-card .gz-pc-option {
    background: #111312 !important;
    color: #fff !important;
}

body.light-theme .gz-pc-card .gz-pc-option i,
body.light-theme .gz-pc-card-meta strong {
    color: var(--gz-color-success) !important;
}

body.light-theme .gz-pc-old {
    color: #6b7280 !important;
}

body.light-theme .gz-pc-card-price strong {
    color: #111312 !important;
}

body.light-theme .gz-pc-card-price:has(.gz-pc-discount) strong {
    color: var(--gz-color-success) !important;
}

/* Home exclusive two-panel campaign banner. */
.ts-sr-only {
    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;
}

html body .ts-home .ts-exclusive-promo,
html body.theme-dark .ts-home .ts-exclusive-promo,
html body.light-theme .ts-home .ts-exclusive-promo {
    padding: 28px 0 18px !important;
    background: var(--gz-color-bg, #f4f4f4) !important;
}

html body.theme-dark .ts-home .ts-exclusive-promo {
    background: #071014 !important;
}

html body .ts-home .ts-exclusive-promo .container,
html body.theme-dark .ts-home .ts-exclusive-promo .container,
html body.light-theme .ts-home .ts-exclusive-promo .container {
    width: min(100%, 1420px) !important;
    max-width: 1420px !important;
}

html body .ts-home .ts-exclusive-promo-grid,
html body.theme-dark .ts-home .ts-exclusive-promo-grid,
html body.light-theme .ts-home .ts-exclusive-promo-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch !important;
}

html body .ts-home .ts-exclusive-promo-card,
html body.theme-dark .ts-home .ts-exclusive-promo-card,
html body.light-theme .ts-home .ts-exclusive-promo-card {
    position: relative !important;
    display: block !important;
    min-height: 178px !important;
    aspect-ratio: 464 / 178 !important;
    overflow: hidden !important;
    border: 1px solid rgba(120, 137, 131, .38) !important;
    border-radius: 8px !important;
    background-color: #070b0d !important;
    background-image: var(--promo-image) !important;
    background-repeat: no-repeat !important;
    background-size: 200% 100% !important;
    box-shadow: 0 16px 34px rgba(0, 0, 0, .2) !important;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

html body .ts-home .ts-exclusive-promo-card:hover,
html body.theme-dark .ts-home .ts-exclusive-promo-card:hover,
html body.light-theme .ts-home .ts-exclusive-promo-card:hover {
    transform: translateY(-2px) !important;
    border-color: rgba(34, 197, 94, .5) !important;
    box-shadow: 0 22px 42px rgba(0, 0, 0, .26) !important;
}

html body .ts-home .ts-exclusive-promo-sale,
html body.theme-dark .ts-home .ts-exclusive-promo-sale,
html body.light-theme .ts-home .ts-exclusive-promo-sale {
    background-position: left center !important;
}

html body .ts-home .ts-exclusive-promo-pc,
html body.theme-dark .ts-home .ts-exclusive-promo-pc,
html body.light-theme .ts-home .ts-exclusive-promo-pc {
    background-position: right center !important;
}

@media (max-width: 760px) {
    html body .ts-home .ts-exclusive-promo,
    html body.theme-dark .ts-home .ts-exclusive-promo,
    html body.light-theme .ts-home .ts-exclusive-promo {
        padding: 20px 0 12px !important;
    }

    html body .ts-home .ts-exclusive-promo-grid,
    html body.theme-dark .ts-home .ts-exclusive-promo-grid,
    html body.light-theme .ts-home .ts-exclusive-promo-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    html body .ts-home .ts-exclusive-promo-card,
    html body.theme-dark .ts-home .ts-exclusive-promo-card,
    html body.light-theme .ts-home .ts-exclusive-promo-card {
        min-height: 148px !important;
    }
}

/* Editable text campaign banner over generated PC background. */
html body .ts-home .ts-exclusive-hero,
html body.theme-dark .ts-home .ts-exclusive-hero,
html body.light-theme .ts-home .ts-exclusive-hero {
    position: relative !important;
    min-height: clamp(360px, 38vw, 520px) !important;
    overflow: hidden !important;
    border: 1px solid rgba(132, 255, 0, .28) !important;
    border-radius: 8px !important;
    background-image:
        linear-gradient(90deg, rgba(0, 0, 0, .96) 0%, rgba(0, 0, 0, .86) 28%, rgba(0, 0, 0, .18) 62%, rgba(0, 0, 0, .04) 100%),
        var(--promo-bg) !important;
    background-size: cover !important;
    background-position: center center !important;
    box-shadow: 0 24px 54px rgba(0, 0, 0, .28) !important;
    color: #ffffff !important;
}

html body .ts-home .ts-exclusive-hero-copy,
html body.theme-dark .ts-home .ts-exclusive-hero-copy,
html body.light-theme .ts-home .ts-exclusive-hero-copy {
    position: relative !important;
    z-index: 2 !important;
    width: min(42%, 560px) !important;
    min-width: 420px !important;
    padding: clamp(42px, 5vw, 76px) 0 0 clamp(34px, 5vw, 72px) !important;
}

html body .ts-home .ts-exclusive-kicker,
html body.theme-dark .ts-home .ts-exclusive-kicker,
html body.light-theme .ts-home .ts-exclusive-kicker {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 22px !important;
    color: #9cff00 !important;
    font-size: clamp(.9rem, 1.2vw, 1.08rem) !important;
    font-weight: 600 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

html body .ts-home .ts-exclusive-kicker i,
html body.theme-dark .ts-home .ts-exclusive-kicker i,
html body.light-theme .ts-home .ts-exclusive-kicker i {
    color: #9cff00 !important;
}

html body .ts-home .ts-exclusive-hero h2,
html body.theme-dark .ts-home .ts-exclusive-hero h2,
html body.light-theme .ts-home .ts-exclusive-hero h2 {
    margin: 0 !important;
    color: #ffffff !important;
    font-size: clamp(3.2rem, 7.6vw, 7.5rem) !important;
    font-weight: 600 !important;
    line-height: .9 !important;
    text-transform: uppercase !important;
}

html body .ts-home .ts-exclusive-hero h2 strong,
html body.theme-dark .ts-home .ts-exclusive-hero h2 strong,
html body.light-theme .ts-home .ts-exclusive-hero h2 strong {
    display: block !important;
    margin-top: 6px !important;
    color: #9cff00 !important;
    font-size: 1.18em !important;
    font-weight: 600 !important;
}

html body .ts-home .ts-exclusive-hero-copy p,
html body.theme-dark .ts-home .ts-exclusive-hero-copy p,
html body.light-theme .ts-home .ts-exclusive-hero-copy p {
    max-width: 520px !important;
    margin: 22px 0 28px !important;
    color: rgba(255, 255, 255, .9) !important;
    font-size: clamp(1rem, 1.35vw, 1.3rem) !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
}

html body .ts-home .ts-exclusive-hero-copy a,
html body.theme-dark .ts-home .ts-exclusive-hero-copy a,
html body.light-theme .ts-home .ts-exclusive-hero-copy a {
    display: inline-flex !important;
    min-height: 54px !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 0 28px !important;
    border: 1px solid rgba(156, 255, 0, .72) !important;
    border-radius: 6px !important;
    background: rgba(0, 0, 0, .24) !important;
    color: #ffffff !important;
    font-size: .95rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
}

html body .ts-home .ts-exclusive-hero-copy a:hover,
html body.theme-dark .ts-home .ts-exclusive-hero-copy a:hover,
html body.light-theme .ts-home .ts-exclusive-hero-copy a:hover {
    background: #9cff00 !important;
    color: #050805 !important;
}

@media (max-width: 980px) {
    html body .ts-home .ts-exclusive-hero,
    html body.theme-dark .ts-home .ts-exclusive-hero,
    html body.light-theme .ts-home .ts-exclusive-hero {
        min-height: 640px !important;
        background-image:
            linear-gradient(180deg, rgba(0, 0, 0, .92) 0%, rgba(0, 0, 0, .74) 48%, rgba(0, 0, 0, .1) 100%),
            var(--promo-bg) !important;
        background-position: 64% center !important;
    }

    html body .ts-home .ts-exclusive-hero-copy,
    html body.theme-dark .ts-home .ts-exclusive-hero-copy,
    html body.light-theme .ts-home .ts-exclusive-hero-copy {
        width: auto !important;
        min-width: 0 !important;
        padding: 34px 24px 0 !important;
    }

}

/* Two editable promo banners after Ordi Space. */
html body .ts-home .ts-exclusive-banner-grid,
html body.theme-dark .ts-home .ts-exclusive-banner-grid,
html body.light-theme .ts-home .ts-exclusive-banner-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch !important;
}

html body .ts-home .ts-exclusive-banner,
html body.theme-dark .ts-home .ts-exclusive-banner,
html body.light-theme .ts-home .ts-exclusive-banner {
    position: relative !important;
    display: flex !important;
    min-height: clamp(230px, 21vw, 310px) !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
    overflow: hidden !important;
    padding: clamp(28px, 3.4vw, 46px) !important;
    border: 1px solid rgba(132, 255, 0, .28) !important;
    border-radius: 8px !important;
    background-image:
        linear-gradient(90deg, rgba(0, 0, 0, .92) 0%, rgba(0, 0, 0, .76) 38%, rgba(0, 0, 0, .1) 100%),
        var(--promo-bg) !important;
    background-size: cover !important;
    background-position: center center !important;
    box-shadow: 0 18px 38px rgba(0, 0, 0, .22) !important;
    color: #ffffff !important;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

html body .ts-home .ts-exclusive-banner:hover,
html body.theme-dark .ts-home .ts-exclusive-banner:hover,
html body.light-theme .ts-home .ts-exclusive-banner:hover {
    transform: translateY(-2px) !important;
    border-color: rgba(156, 255, 0, .58) !important;
    box-shadow: 0 24px 48px rgba(0, 0, 0, .28) !important;
}

html body .ts-home .ts-exclusive-banner-monitor,
html body.theme-dark .ts-home .ts-exclusive-banner-monitor,
html body.light-theme .ts-home .ts-exclusive-banner-monitor {
    background-position: 60% center !important;
}

html body .ts-home .ts-exclusive-banner .ts-exclusive-kicker,
html body.theme-dark .ts-home .ts-exclusive-banner .ts-exclusive-kicker,
html body.light-theme .ts-home .ts-exclusive-banner .ts-exclusive-kicker {
    margin-bottom: 14px !important;
    color: #9cff00 !important;
    font-size: clamp(.78rem, .9vw, .95rem) !important;
}

html body .ts-home .ts-exclusive-title,
html body.theme-dark .ts-home .ts-exclusive-title,
html body.light-theme .ts-home .ts-exclusive-title {
    display: block !important;
    max-width: 426px !important;
    color: #ffffff !important;
    font-size: clamp(2.1rem, 1.6vw, 4.5rem) !important;
    font-weight: 600 !important;
    line-height: .96 !important;
    text-transform: uppercase !important;
}

html body .ts-home .ts-exclusive-title em,
html body.theme-dark .ts-home .ts-exclusive-title em,
html body.light-theme .ts-home .ts-exclusive-title em {
    display: block !important;
    color: #9cff00 !important;
    font-style: normal !important;
    font-weight: 600 !important;
}

html body .ts-home .ts-exclusive-text,
html body.theme-dark .ts-home .ts-exclusive-text,
html body.light-theme .ts-home .ts-exclusive-text {
    display: block !important;
    max-width: 360px !important;
    margin-top: 14px !important;
    color: rgba(255, 255, 255, .82) !important;
    font-size: clamp(.92rem, 1vw, 1.05rem) !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
}

html body .ts-home .ts-exclusive-button,
html body.theme-dark .ts-home .ts-exclusive-button,
html body.light-theme .ts-home .ts-exclusive-button {
    display: inline-flex !important;
    min-height: 42px !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 22px !important;
    padding: 0 20px !important;
    border: 1px solid rgba(156, 255, 0, .62) !important;
    border-radius: 6px !important;
    background: rgba(0, 0, 0, .24) !important;
    color: #ffffff !important;
    font-size: .84rem !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

html body .ts-home .ts-exclusive-banner:hover .ts-exclusive-button,
html body.theme-dark .ts-home .ts-exclusive-banner:hover .ts-exclusive-button,
html body.light-theme .ts-home .ts-exclusive-banner:hover .ts-exclusive-button {
    background: #9cff00 !important;
    color: #050805 !important;
}

@media (max-width: 860px) {
    html body .ts-home .ts-exclusive-banner-grid,
    html body.theme-dark .ts-home .ts-exclusive-banner-grid,
    html body.light-theme .ts-home .ts-exclusive-banner-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    html body .ts-home .ts-exclusive-banner,
    html body.theme-dark .ts-home .ts-exclusive-banner,
    html body.light-theme .ts-home .ts-exclusive-banner {
        min-height: 260px !important;
        padding: 26px !important;
    }
}

/* Home flash deals: larger cards and stable colors in both themes. */
html body .ts-home .ts-flash-deals,
html body.theme-dark .ts-home .ts-flash-deals,
html body.light-theme .ts-home .ts-flash-deals {
    padding: 28px 0 36px !important;
    background:
        radial-gradient(circle at 16% 12%, rgba(34, 197, 94, .22), transparent 34%),
        linear-gradient(120deg, #07100d 0%, #0d2219 48%, #050807 100%) !important;
}

html body .ts-home .ts-flash-deals .container,
html body.theme-dark .ts-home .ts-flash-deals .container,
html body.light-theme .ts-home .ts-flash-deals .container {
    width: min(100%, 1420px) !important;
    max-width: 1420px !important;
}

html body .ts-home .ts-flash-panel,
html body.theme-dark .ts-home .ts-flash-panel,
html body.light-theme .ts-home .ts-flash-panel {
    display: grid !important;
    grid-template-columns: 250px minmax(0, 1fr) !important;
    gap: 18px !important;
    align-items: stretch !important;
    padding: 20px !important;
    border: 1px solid #26312d !important;
    border-radius: 8px !important;
    background:
        linear-gradient(90deg, rgba(34, 197, 94, .16), rgba(11, 16, 14, .96) 32%, rgba(11, 16, 14, .98)) !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .32) !important;
}

html body .ts-home .ts-flash-copy,
html body.theme-dark .ts-home .ts-flash-copy,
html body.light-theme .ts-home .ts-flash-copy {
    color: #eef2ef !important;
}

html body .ts-home .ts-flash-copy h2,
html body.theme-dark .ts-home .ts-flash-copy h2,
html body.light-theme .ts-home .ts-flash-copy h2,
html body .ts-home #flashDealsTitle,
html body.theme-dark .ts-home #flashDealsTitle,
html body.light-theme .ts-home #flashDealsTitle {
    color: #eef2ef !important;
    font-size: clamp(1.65rem, 2.2vw, 2.25rem) !important;
    font-weight: 600 !important;
    line-height: 1.05 !important;
}

html body .ts-home .ts-flash-timer strong,
html body.theme-dark .ts-home .ts-flash-timer strong,
html body.light-theme .ts-home .ts-flash-timer strong {
    color: #ffffff !important;
    font-weight: 500 !important;
}

html body .ts-home .ts-flash-timer small,
html body.theme-dark .ts-home .ts-flash-timer small,
html body.light-theme .ts-home .ts-flash-timer small,
html body .ts-home .ts-flash-copy p,
html body.theme-dark .ts-home .ts-flash-copy p,
html body.light-theme .ts-home .ts-flash-copy p {
    color: #c6ceca !important;
    font-weight: 400 !important;
}

html body .ts-home .ts-flash-copy a,
html body.theme-dark .ts-home .ts-flash-copy a,
html body.light-theme .ts-home .ts-flash-copy a {
    min-height: 40px !important;
    border: 1px solid #0b0d0e !important;
    background: #0b0d0e !important;
    color: #ffffff !important;
    font-weight: 600 !important;
}

html body .ts-home .ts-flash-products,
html body.theme-dark .ts-home .ts-flash-products,
html body.light-theme .ts-home .ts-flash-products {
    gap: 14px !important;
    padding: 0 2px 6px !important;
}

html body .ts-home .ts-flash-card,
html body.theme-dark .ts-home .ts-flash-card,
html body.light-theme .ts-home .ts-flash-card {
    flex: 0 0 calc((100% - 42px) / 4) !important;
    grid-template-rows: 170px auto !important;
    min-height: 328px !important;
    padding: 16px !important;
    border: 1px solid #d9ddda !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #111312 !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .18) !important;
}

html body .ts-home .ts-flash-card:hover,
html body.theme-dark .ts-home .ts-flash-card:hover,
html body.light-theme .ts-home .ts-flash-card:hover {
    border-color: #bfc6c1 !important;
    box-shadow: 0 18px 34px rgba(0, 0, 0, .24) !important;
    transform: translateY(-2px) !important;
}

html body .ts-home .ts-flash-img,
html body.theme-dark .ts-home .ts-flash-img,
html body.light-theme .ts-home .ts-flash-img {
    min-height: 170px !important;
    padding: 8px 16px 12px !important;
    border-radius: 6px !important;
    background: #f7f8f8 !important;
}

html body .ts-home .ts-flash-img img,
html body.theme-dark .ts-home .ts-flash-img img,
html body.light-theme .ts-home .ts-flash-img img {
    height: 156px !important;
    filter: none !important;
}

html body .ts-home .ts-flash-info,
html body.theme-dark .ts-home .ts-flash-info,
html body.light-theme .ts-home .ts-flash-info {
    gap: 10px !important;
    padding: 14px 42px 0 0 !important;
}

html body .ts-home .ts-flash-info > a,
html body.theme-dark .ts-home .ts-flash-info > a,
html body.light-theme .ts-home .ts-flash-info > a {
    min-height: 58px !important;
    color: #111312 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    -webkit-line-clamp: 3 !important;
}

html body .ts-home .ts-flash-price strong,
html body.theme-dark .ts-home .ts-flash-price strong,
html body.light-theme .ts-home .ts-flash-price strong {
    color: #111312 !important;
    font-size: 20px !important;
    font-weight: 500 !important;
}

html body .ts-home .ts-flash-price:has(span) strong,
html body.theme-dark .ts-home .ts-flash-price:has(span) strong,
html body.light-theme .ts-home .ts-flash-price:has(span) strong {
    color: var(--gz-color-success) !important;
}

html body .ts-home .ts-flash-price span,
html body.theme-dark .ts-home .ts-flash-price span,
html body.light-theme .ts-home .ts-flash-price span {
    color: #7b837f !important;
    font-size: 12px !important;
    font-weight: 400 !important;
}

html body .ts-home .ts-flash-cart,
html body.theme-dark .ts-home .ts-flash-cart,
html body.light-theme .ts-home .ts-flash-cart {
    right: 14px !important;
    bottom: 14px !important;
}

html body .ts-home .ts-flash-cart button,
html body.theme-dark .ts-home .ts-flash-cart button,
html body.light-theme .ts-home .ts-flash-cart button {
    width: 40px !important;
    height: 40px !important;
    border-color: #0b0d0e !important;
    background: #0b0d0e !important;
    color: #ffffff !important;
}

html body .ts-home .ts-flash-cart button:hover,
html body.theme-dark .ts-home .ts-flash-cart button:hover,
html body.light-theme .ts-home .ts-flash-cart button:hover {
    background: #242628 !important;
    border-color: #242628 !important;
    color: #ffffff !important;
}

/* Single product page: discount badge near pricing in green. */
html body.template-product .gz-p-price-discount,
html body.theme-dark.template-product .gz-p-price-discount,
html body.light-theme.template-product .gz-p-price-discount {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 5px 10px !important;
    border-radius: 999px !important;
    background: #22c55e !important;
    color: #061006 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
}

/* Home store promo: original gray bar with a thin green top line. */
html body .ts-home .ts-store-strip,
html body.theme-dark .ts-home .ts-store-strip,
html body.light-theme .ts-home .ts-store-strip {
    background: #000000 !important;
    border-top: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
}

html body .ts-home .ts-store-alert,
html body.theme-dark .ts-home .ts-store-alert,
html body.light-theme .ts-home .ts-store-alert {
    min-height: 44px !important;
    padding: 9px 20px !important;
    border-top: 1px solid #44d62c !important;
    background: #555555 !important;
    color: #ffffff !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
}

html body .ts-home .ts-store-alert a,
html body.theme-dark .ts-home .ts-store-alert a,
html body.light-theme .ts-home .ts-store-alert a,
html body .ts-home .ts-store-alert i,
html body.theme-dark .ts-home .ts-store-alert i,
html body.light-theme .ts-home .ts-store-alert i {
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* Homepage hero: generated GamingZone banner with editable overlay text. */
html body .ts-home .ts-slider .ct-hero-slide,
html body.theme-dark .ts-home .ts-slider .ct-hero-slide,
html body.light-theme .ts-home .ts-slider .ct-hero-slide {
    isolation: isolate !important;
}

html body .ts-home .ts-slider .ct-hero-slide::after,
html body.theme-dark .ts-home .ts-slider .ct-hero-slide::after,
html body.light-theme .ts-home .ts-slider .ct-hero-slide::after {
    background: linear-gradient(90deg, rgba(0, 0, 0, .82) 0%, rgba(0, 0, 0, .42) 38%, rgba(0, 0, 0, .04) 72%) !important;
}

html body .ts-home .ts-hero-copy,
html body.theme-dark .ts-home .ts-hero-copy,
html body.light-theme .ts-home .ts-hero-copy {
    top: 50% !important;
    left: clamp(28px, 7vw, 108px) !important;
    width: 50% !important;
    transform: translateY(-50%) !important;
    align-items: flex-start !important;
    text-align: left !important;
}

html body .ts-home .ts-hero-eyebrow,
html body.theme-dark .ts-home .ts-hero-eyebrow,
html body.light-theme .ts-home .ts-hero-eyebrow {
    color: #9cff00 !important;
    font-size: clamp(12px, .95vw, 15px) !important;
    font-weight: 600 !important;
}

html body .ts-home .ts-hero-title,
html body.theme-dark .ts-home .ts-hero-title,
html body.light-theme .ts-home .ts-hero-title {
    max-width: 560px !important;
    color: #ffffff !important;
    font-size: clamp(2.4rem, 4.6vw, 5.1rem) !important;
    font-weight: 600 !important;
    line-height: .98 !important;
}

html body .ts-home .ts-hero-subtitle,
html body.theme-dark .ts-home .ts-hero-subtitle,
html body.light-theme .ts-home .ts-hero-subtitle {
    max-width: 500px !important;
    color: rgba(255, 255, 255, .82) !important;
    font-size: clamp(1rem, 1.2vw, 1.25rem) !important;
    font-weight: 400 !important;
}

html body .ts-home .ts-hero-cta,
html body.theme-dark .ts-home .ts-hero-cta,
html body.light-theme .ts-home .ts-hero-cta {
    min-height: 46px !important;
    padding: 0 22px !important;
    border: 1px solid rgba(156, 255, 0, .72) !important;
    border-radius: 6px !important;
    background: rgba(0, 0, 0, .34) !important;
    color: #ffffff !important;
    font-size: .9rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
}

@media (max-width: 780px) {
    html body .ts-home .ts-hero-copy,
    html body.theme-dark .ts-home .ts-hero-copy,
    html body.light-theme .ts-home .ts-hero-copy {
        left: 24px !important;
        right: 24px !important;
        width: auto !important;
    }
}

@media (max-width: 1020px) {
    html body .ts-home .ts-flash-panel,
    html body.theme-dark .ts-home .ts-flash-panel,
    html body.light-theme .ts-home .ts-flash-panel {
        grid-template-columns: 1fr !important;
    }

    html body .ts-home .ts-flash-card,
    html body.theme-dark .ts-home .ts-flash-card,
    html body.light-theme .ts-home .ts-flash-card {
        flex-basis: min(82vw, 340px) !important;
    }
}

/* Product carousel (horizontal scroll) */
.ts-section-actions {
    display: flex;
    align-items: center;
    gap: 14px;
}
.ts-carousel-controls {
    display: flex;
    gap: 8px;
}
.ts-carousel-btn {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: none;
    background: #000;
    color: #fff;
    font-size: 13px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0,0,0,.1);
    transition: background .2s, border-color .2s;
}
.ts-carousel-btn:hover {
    background: #44d62c;
    border-color: #44d62c;
    color: #fff;
}
.ts-product-carousel {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 10px;
    scrollbar-width: none;
}
.ts-product-carousel::-webkit-scrollbar { display: none; }
.ts-product-carousel .product-card {
    flex: 0 0 270px;
    scroll-snap-align: start;
    border-radius: 8px !important;
    background: #fff !important;
    border: 1px solid #e0e4e1 !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .045) !important;
}
body.theme-dark .ts-home .ts-product-carousel .product-card {
    background: #111 !important;
    border-color: #222 !important;
}
body.theme-dark .ts-home .ts-product-carousel .product-card:hover {
    border-color: #44d62c !important;
}
body.theme-dark .ts-home .ts-product-carousel .product-name,
body.theme-dark .ts-home .ts-product-carousel .product-price .current {
    color: #f0f0f0 !important;
}
body.theme-dark .ts-home .ts-product-carousel .product-cat,
body.theme-dark .ts-home .ts-product-carousel .product-price .old {
    color: #999 !important;
}
body.theme-dark .ts-carousel-btn {
    background: #44d62c;
    border-color: #44d62c;
    color: #fff;
}
body.theme-dark .ts-carousel-btn:hover {
    background: #fff;
    border-color: #fff;
    color: #000;
}

/* Price slider fallback (when CSS vars missing) */
.price-slider-track {
    background: #e1e3e4 !important;
}
.price-slider-range {
    background: linear-gradient(90deg, #44d62c, #2bcc0f) !important;
}
.price-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid #44d62c;
    box-shadow: 0 2px 6px rgba(0,0,0,.15);
    cursor: pointer;
    pointer-events: all;
}
.price-range::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid #44d62c;
    box-shadow: 0 2px 6px rgba(0,0,0,.15);
    cursor: pointer;
    pointer-events: all;
}
.price-range::-webkit-slider-runnable-track {
    height: 4px;
    background: transparent;
}
.price-range::-moz-range-track {
    height: 4px;
    background: transparent;
}

/* Mobile responsive hardening */
@media (max-width: 768px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    .container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .gz-header.gz-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 1000 !important;
    }

    .gz-header-inner.gz-header-inner {
        min-height: 76px !important;
        padding: 8px 14px !important;
        display: grid !important;
        grid-template-columns: 58px 1fr auto !important;
        gap: 10px !important;
        align-items: center !important;
    }

    .gz-logo-img.gz-logo-img {
        width: 54px !important;
        max-height: 48px !important;
        object-fit: contain !important;
    }

    .gz-search.gz-search {
        width: 100% !important;
        min-width: 0 !important;
    }

    .gz-search form {
        height: 42px !important;
        min-height: 42px !important;
    }

    .gz-search input {
        min-width: 0 !important;
        font-size: 13px !important;
        padding-left: 34px !important;
        padding-right: 44px !important;
    }

    .gz-search-btn.gz-search-btn {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
    }

    .gz-header-actions.gz-header-actions {
        gap: 6px !important;
        flex-wrap: nowrap !important;
    }

    .gz-header-action.gz-header-action,
    .gz-mobile-toggle.gz-mobile-toggle {
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        border-radius: 8px !important;
    }

    .gz-nav.gz-nav {
        height: auto !important;
        min-height: 42px !important;
        overflow: hidden !important;
    }

    .gz-nav-inner.gz-nav-inner {
        display: flex !important;
        align-items: flex-end !important;
        gap: 8px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 0 14px !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .gz-nav-inner.gz-nav-inner::-webkit-scrollbar {
        display: none !important;
    }

    .gz-mega-wrap.gz-mega-wrap {
        flex: 0 0 auto !important;
    }

    .gz-mega-btn.gz-mega-btn {
        min-width: 170px !important;
        height: 38px !important;
        padding: 0 14px !important;
        font-size: 12px !important;
        border-radius: 8px 8px 0 0 !important;
    }

    .gz-nav-links.gz-nav-links {
        flex: 0 0 auto !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        width: max-content !important;
        min-width: max-content !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .gz-nav-links > li {
        flex: 0 0 auto !important;
    }

    .gz-nav-links > li > a,
    body.theme-dark .gz-nav-links > li > a,
    body.light-theme .gz-nav-links > li > a {
        min-width: 132px !important;
        height: 38px !important;
        min-height: 38px !important;
        padding: 0 12px !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        border-radius: 8px 8px 0 0 !important;
    }

    .gz-mega-panel.gz-mega-panel {
        position: fixed !important;
        top: 118px !important;
        left: 10px !important;
        right: 10px !important;
        width: auto !important;
        max-height: calc(100vh - 130px) !important;
        overflow: auto !important;
        grid-template-columns: 1fr !important;
    }

    .gz-mega-rail.gz-mega-rail {
        max-height: none !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 6px !important;
    }

    .gz-mega-content.gz-mega-content {
        min-width: 0 !important;
    }

    .ct-hero.ts-slider {
        min-height: 260px !important;
    }

    .ct-hero-slide img,
    .ct-hero-slide video {
        min-height: 260px !important;
        object-fit: cover !important;
    }

    .ts-store-alert {
        padding: 8px 14px !important;
        min-height: 40px !important;
        font-size: 12px !important;
        line-height: 1.35 !important;
    }

    .products-page.ct-shop-page {
        padding-top: 24px !important;
    }

    .ct-shop-heading,
    .products-top-bar,
    .gz-pc-toolbar {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px !important;
    }

    .ct-shop-heading h1,
    .gz-pc-hero h1,
    .gz-p-title {
        font-size: clamp(1.65rem, 8vw, 2.2rem) !important;
        line-height: 1.08 !important;
        font-weight: 600 !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
    }

    .ct-shop-heading p,
    .gz-pc-hero p,
    .gz-p-short-desc {
        font-size: 14px !important;
        line-height: 1.55 !important;
    }

    .ct-frequent-searches-inline {
        display: flex !important;
        overflow-x: auto !important;
        gap: 8px !important;
        padding-bottom: 4px !important;
        scrollbar-width: none !important;
    }

    .ct-frequent-searches-inline::-webkit-scrollbar {
        display: none !important;
    }

    .ct-frequent-searches-inline a {
        flex: 0 0 auto !important;
        min-width: auto !important;
        padding: 9px 12px !important;
        font-size: 12px !important;
    }

    .products-grid,
    .products-grid.cols-3,
    .products-grid.cols-4,
    .products-grid.cols-5,
    .ts-product-grid,
    .gz-pc-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .product-card,
    .gz-pc-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .product-img,
    .gz-pc-card-img {
        min-height: 220px !important;
    }

    .product-img img,
    .gz-pc-card-img img {
        width: 100% !important;
        height: 220px !important;
        object-fit: contain !important;
    }

    .filter-sidebar,
    .gz-pc-filters {
        width: min(88vw, 345px) !important;
        max-width: min(88vw, 345px) !important;
    }

    .gz-p-main,
    .gz-p-details,
    .gz-p-related {
        padding-top: 18px !important;
        padding-bottom: 22px !important;
    }

    .gz-p-breadcrumb nav {
        display: flex !important;
        overflow-x: auto !important;
        white-space: nowrap !important;
        gap: 8px !important;
        scrollbar-width: none !important;
    }

    .gz-p-breadcrumb nav::-webkit-scrollbar {
        display: none !important;
    }

    .gz-p-bc-current {
        max-width: 72vw !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .gz-p-grid.gz-p-grid-sticky {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .gz-p-left,
    .gz-p-info,
    .gz-p-gallery,
    .gz-p-gallery-card,
    .gz-p-card,
    .gz-p-info-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .gz-p-info {
        position: static !important;
        top: auto !important;
        order: -1 !important;
    }

    .gz-p-gallery-stage {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .gz-p-thumb-rail {
        order: 2 !important;
        flex-direction: row !important;
        display: flex !important;
        overflow-x: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        scrollbar-width: none !important;
    }

    .gz-p-thumb-rail::-webkit-scrollbar {
        display: none !important;
    }

    .gz-p-thumb {
        flex: 0 0 64px !important;
        width: 64px !important;
        height: 64px !important;
    }

    .gz-p-main-img-wrap {
        min-height: 280px !important;
    }

    .gz-p-main-img-wrap img,
    .gz-p-gallery > img {
        max-height: 320px !important;
        object-fit: contain !important;
    }

    .gz-p-card-body,
    .gz-p-description,
    .gz-p-description * {
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    .gz-p-description img {
        width: 100% !important;
        height: auto !important;
        max-width: 100% !important;
    }

    .gz-p-specs-table {
        display: block !important;
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .gz-p-specs-table tbody,
    .gz-p-specs-table tr {
        width: 100% !important;
    }

    .gz-p-add-form,
    .gz-p-add-form .gz-p-qty-row {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
    }

    .gz-p-add-btn,
    .gz-p-qty {
        width: 100% !important;
    }

    .gz-p-related .ts-product-carousel,
    .ts-product-carousel {
        gap: 12px !important;
    }

    .gz-p-related .product-card,
    .ts-product-carousel .product-card {
        flex-basis: 78vw !important;
    }

    .gz-help-widget {
        right: 14px !important;
        bottom: 14px !important;
    }
}

@media (max-width: 768px) {
    html body .gz-header-inner.gz-header-inner {
        grid-template-columns: 56px minmax(0, 1fr) auto !important;
        grid-template-areas: "logo search actions" !important;
    }

    html body .gz-logo {
        grid-area: logo !important;
        order: 0 !important;
    }

    html body .gz-search.gz-search {
        grid-area: search !important;
        order: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    html body .gz-header-actions.gz-header-actions {
        grid-area: actions !important;
        order: 0 !important;
        width: auto !important;
        max-width: 112px !important;
        justify-content: flex-end !important;
    }

    html body .gz-search form {
        display: grid !important;
        grid-template-columns: 1fr 34px !important;
        gap: 4px !important;
        width: 100% !important;
        padding: 0 4px 0 12px !important;
        overflow: hidden !important;
    }

    html body .gz-search-icon {
        left: 12px !important;
    }

    html body .gz-search input {
        width: 100% !important;
        min-width: 0 !important;
        padding-left: 24px !important;
        padding-right: 4px !important;
    }

    html body .gz-search-btn.gz-search-btn {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        align-self: center !important;
    }

    html body .gz-nav.gz-nav {
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
    }

    html body .gz-nav-inner.gz-nav-inner {
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: flex-end !important;
        justify-content: flex-start !important;
    }

    html body .gz-nav-links.gz-nav-links {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: flex-end !important;
        height: 38px !important;
        max-height: 38px !important;
    }

    html body .gz-nav-links.gz-nav-links > li {
        display: block !important;
        flex: 0 0 auto !important;
    }

    html body .gz-mega-wrap.gz-mega-wrap,
    html body .gz-mega-btn.gz-mega-btn {
        height: 38px !important;
        max-height: 38px !important;
    }

    html body .gz-p-grid.gz-p-grid-sticky,
    html body.template-product .gz-p-grid.gz-p-grid-sticky,
    html body.theme-dark.template-product .gz-p-grid.gz-p-grid-sticky,
    html body.light-theme.template-product .gz-p-grid.gz-p-grid-sticky {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    html body .gz-p-grid-sticky .gz-p-left,
    html body .gz-p-grid-sticky .gz-p-info,
    html body.template-product .gz-p-left,
    html body.template-product .gz-p-info {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        grid-column: 1 !important;
    }

    html body.template-product .gz-p-card,
    html body.template-product .gz-p-gallery,
    html body.template-product .gz-p-gallery-card,
    html body.template-product .gz-p-info-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }
}

/* Mobile header final override: full search row after logo/actions. */
@media (max-width: 640px) {
    html body .gz-header-inner.gz-header-inner {
        min-height: 104px !important;
        display: grid !important;
        grid-template-columns: 54px minmax(0, 1fr) !important;
        grid-template-rows: 42px 42px !important;
        grid-template-areas: none !important;
        row-gap: 8px !important;
        column-gap: 8px !important;
        align-items: center !important;
    }

    html body .gz-header-inner > .gz-logo {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    html body .gz-header-inner > .gz-header-actions {
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        justify-self: end !important;
    }

    html body .gz-header-inner > .gz-search {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    html body .gz-header-inner > .gz-search form {
        width: 100% !important;
        height: 42px !important;
        min-height: 42px !important;
        display: grid !important;
        grid-template-columns: 18px minmax(0, 1fr) 36px !important;
        gap: 4px !important;
        padding: 0 4px 0 12px !important;
        align-items: center !important;
    }

    html body .gz-header-inner > .gz-search .gz-search-btn {
        width: 36px !important;
        min-width: 36px !important;
        height: 36px !important;
        grid-column: 3 !important;
        grid-row: 1 !important;
    }

    html body .gz-header-inner > .gz-search .gz-search-icon {
        grid-column: 1 !important;
        grid-row: 1 !important;
        position: static !important;
        transform: none !important;
    }

    html body .gz-header-inner > .gz-search input {
        grid-column: 2 !important;
        grid-row: 1 !important;
        padding-left: 0 !important;
    }

    html body .gz-mega-panel.gz-mega-panel {
        top: 148px !important;
    }
}

.gz-mobile-menu,
.gz-mobile-menu-overlay {
    display: none;
}

@media (max-width: 640px) {
    html body.gz-mobile-menu-open {
        overflow: hidden !important;
    }

    html body .gz-nav.gz-nav {
        display: none !important;
    }

    html body .gz-header {
        z-index: 1200 !important;
    }

    .gz-mobile-menu-overlay {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 1190;
        background: rgba(0, 0, 0, .68);
        opacity: 0;
        visibility: hidden;
        transition: opacity .18s ease, visibility .18s ease;
    }

    .gz-mobile-menu-overlay.open {
        opacity: 1;
        visibility: visible;
    }

    .gz-mobile-menu {
        display: flex;
        flex-direction: column;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 1210;
        width: min(82vw, 330px);
        height: 100vh;
        background: var(--gz-color-surface);
        color: var(--gz-color-text);
        box-shadow: 18px 0 50px rgba(0, 0, 0, .36);
        transform: translateX(-105%);
        transition: transform .22s ease;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    body.theme-dark .gz-mobile-menu {
        background: #0d1210;
        color: #f4f7f5;
        border-right: 1px solid #24302a;
    }

    .gz-mobile-menu.open {
        transform: translateX(0) !important;
    }

    .gz-mobile-menu-search {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 46px;
        align-items: center;
        min-height: 68px;
        border-bottom: 1px solid var(--gz-color-border);
        background: var(--gz-color-surface);
    }

    body.theme-dark .gz-mobile-menu-search {
        background: #101612;
        border-bottom-color: #24302a;
    }

    .gz-mobile-menu-search input {
        width: 100%;
        min-width: 0;
        height: 68px;
        padding: 0 18px;
        border: 0;
        outline: 0;
        background: transparent;
        color: inherit;
        font-size: 14px;
        font-weight: 500;
        font-family: inherit;
    }

    .gz-mobile-menu-search input::placeholder {
        color: var(--gz-color-muted);
    }

    .gz-mobile-menu-search button {
        width: 46px;
        height: 68px;
        border: 0;
        border-left: 1px solid var(--gz-color-border);
        background: transparent;
        color: var(--gz-color-text);
        font-size: 18px;
        cursor: pointer;
    }

    body.theme-dark .gz-mobile-menu-search button {
        border-left-color: #24302a;
        color: #f4f7f5;
    }

    .gz-mobile-menu-tabs {
        display: grid;
        grid-template-columns: 1fr 1fr;
        border-bottom: 2px solid var(--gz-color-accent);
    }

    .gz-mobile-menu-tabs button {
        height: 56px;
        border: 0;
        background: var(--gz-color-surface-2);
        color: var(--gz-color-text);
        font-size: 14px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0;
        cursor: pointer;
    }

    .gz-mobile-menu-tabs button.active {
        background: var(--gz-color-surface);
    }

    body.theme-dark .gz-mobile-menu-tabs button {
        background: #111916;
        color: #f4f7f5;
    }

    body.theme-dark .gz-mobile-menu-tabs button.active {
        background: #17221d;
    }

    .gz-mobile-menu-panel {
        display: none;
    }

    .gz-mobile-menu-panel.active {
        display: block;
    }

    .gz-mobile-menu-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 50px;
        align-items: center;
        min-height: 50px;
        border-bottom: 1px solid var(--gz-color-border);
        color: var(--gz-color-text);
        background: var(--gz-color-surface);
        font-size: 14px;
        font-weight: 500;
    }

    .gz-mobile-menu-row span {
        min-width: 0;
        padding: 0 18px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .gz-mobile-menu-row i {
        display: grid;
        place-items: center;
        width: 50px;
        height: 50px;
        border-left: 1px solid var(--gz-color-border);
        color: var(--gz-color-muted);
        font-size: 12px;
    }

    .gz-mobile-menu-row--highlight {
        color: #0b0d0c;
        background: var(--gz-color-accent);
        font-weight: 600;
    }

    .gz-mobile-menu-row--highlight i {
        color: #0b0d0c;
        border-left-color: rgba(0, 0, 0, .15);
    }

    body.theme-dark .gz-mobile-menu-row {
        background: #0d1210;
        color: #f4f7f5;
        border-bottom-color: #24302a;
    }

    body.theme-dark .gz-mobile-menu-row i {
        border-left-color: #24302a;
        color: #a8b3ad;
    }

    body.theme-dark .gz-mobile-menu-row--highlight {
        background: var(--gz-color-accent);
        color: #071008;
    }

    body.theme-dark .gz-mobile-menu-row--highlight i {
        color: #071008;
        border-left-color: rgba(0, 0, 0, .18);
    }
}
