/*
Theme Name:        316 Digital Coupons
Theme URI:         https://316digitalcoupons.com
Description:       Child theme of Hello Elementor for the 316 Digital Coupons platform. Applies the dark navy/gold design system to all consumer and merchant-facing pages. Fully compatible with Elementor, WooCommerce, 316dc-backend and 316dc-frontend plugins.
Author:            316 Digital Coupons
Author URI:        https://316digitalcoupons.com
Template:          hello-elementor
Version:           1.1.0
License:           GPL-2.0+
Text Domain:       316dc-theme
*/

/* ── DESIGN TOKENS ──────────────────────────────────────────
   Pulled directly from the 316DC marketing funnel files
   ─────────────────────────────────────────────────────────── */
:root {
    --dc-bg:           #07111f;
    --dc-bg2:          #0d1a33;
    --dc-panel:        #0f1c33;
    --dc-panel2:       #132443;
    --dc-gold:         #fbbf24;
    --dc-gold2:        #f59e0b;
    --dc-gold-dark:    #d97706;
    --dc-green:        #22c55e;
    --dc-green-dim:    rgba(34,197,94,.18);
    --dc-blue:         #60a5fa;
    --dc-red:          #ef4444;
    --dc-text:         #f8fafc;
    --dc-muted:        #cbd5e1;
    --dc-subtle:       #94a3b8;
    --dc-white:        #ffffff;
    --dc-line:         rgba(255,255,255,.12);
    --dc-line2:        rgba(255,255,255,.07);
    --dc-shadow:       0 28px 80px rgba(0,0,0,.35);
    --dc-shadow-sm:    0 8px 24px rgba(0,0,0,.25);
    --dc-glow-gold:    0 16px 38px rgba(245,158,11,.28);
    --dc-radius:       20px;
    --dc-radius-sm:    12px;
    --dc-radius-pill:  999px;
    --dc-max:          1180px;
}

/* ── BASE ───────────────────────────────────────────────────── */
*,*::before,*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
    font-family: Arial, Helvetica, sans-serif !important;
    background:
        radial-gradient(circle at top left,  rgba(251,191,36,.10), transparent 28%),
        radial-gradient(circle at bottom right, rgba(34,197,94,.07), transparent 28%),
        linear-gradient(160deg, var(--dc-bg), var(--dc-bg2)) !important;
    background-attachment: fixed !important;
    color: var(--dc-text) !important;
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
}

/* ── TYPOGRAPHY ─────────────────────────────────────────────── */
h1,h2,h3,h4,h5,h6 {
    color: var(--dc-white) !important;
    font-weight: 900 !important;
    letter-spacing: -.025em;
}
h1 { font-size: clamp(2rem, 5vw, 3.4rem); }
h2 { font-size: clamp(1.5rem, 3.5vw, 2.2rem); }
h3 { font-size: clamp(1.1rem, 2vw, 1.5rem); }

p { color: var(--dc-muted); }
a { color: var(--dc-gold); text-decoration: none; }
a:hover { color: var(--dc-gold2); }
strong,b { color: var(--dc-white); }

.entry-title,.page-title,.wp-block-post-title {
    color: var(--dc-white) !important;
    font-weight: 900 !important;
}

::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--dc-bg); }
::-webkit-scrollbar-thumb { background: rgba(255,255,255,.15); border-radius: 3px; }

/* ── SITE CHROME: transparent wrappers ─────────────────────── */
/* Hello Elementor + block editor wrappers */
.site, #page, #content,
.wp-site-blocks,
.wp-block-post, .is-layout-flow,
.wp-block-group,
.elementor-section-wrap,
.elementor-inner { background: transparent !important; }

/* ── HEADER ─────────────────────────────────────────────────── */
/* Hello Elementor classic header + Elementor Header template + FSE fallback */
header.site-header,
.site-header,
.elementor-location-header,
.wp-block-template-part {
    background: rgba(7,17,31,.85) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--dc-line) !important;
}

/* Hello Elementor site title */
.site-title a,
.hello-elementor .site-title a,
.wp-block-site-title a {
    color: var(--dc-gold) !important;
    font-weight: 900 !important;
    text-transform: uppercase;
    letter-spacing: .07em;
    font-size: 1rem !important;
}
.site-title a:hover,
.wp-block-site-title a:hover { color: var(--dc-gold2) !important; }

/* Hello Elementor nav + WP block nav */
.main-navigation a,
.site-navigation a,
.wp-block-navigation a,
.wp-block-navigation__submenu-container a {
    color: var(--dc-muted) !important;
    font-weight: 700 !important;
    font-size: .92rem !important;
    padding: 6px 10px !important;
    border-radius: 8px !important;
    transition: color .15s, background .15s !important;
}
.main-navigation a:hover,
.site-navigation a:hover,
.wp-block-navigation a:hover {
    color: var(--dc-white) !important;
    background: rgba(255,255,255,.07) !important;
}

/* Sub-menu dropdown */
.main-navigation .sub-menu,
.wp-block-navigation__submenu-container {
    background: var(--dc-panel) !important;
    border: 1px solid var(--dc-line) !important;
    border-radius: var(--dc-radius-sm) !important;
    box-shadow: var(--dc-shadow) !important;
}

/* Mobile overlay */
.wp-block-navigation__responsive-container.is-menu-open {
    background: rgba(7,17,31,.97) !important;
}
.wp-block-navigation__responsive-container-open svg,
.wp-block-navigation__responsive-container-close svg {
    color: var(--dc-muted);
}

/* Sticky header */
header.site-header,
.site-header,
.wp-block-template-part[class*="header"] {
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
}

/* Elementor header location sits at top */
.elementor-location-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
}

/* ── FOOTER ─────────────────────────────────────────────────── */
footer,
.site-footer,
.elementor-location-footer {
    background: var(--dc-bg) !important;
    border-top: 1px solid var(--dc-line) !important;
    color: var(--dc-subtle) !important;
    padding: 28px 20px !important;
    text-align: center;
    font-size: .88rem !important;
}
footer a,
.site-footer a { color: var(--dc-muted); }
footer a:hover,
.site-footer a:hover { color: var(--dc-gold); }

/* ── FORMS ──────────────────────────────────────────────────── */
input:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]),
select, textarea {
    background: rgba(255,255,255,.06) !important;
    border: 1px solid var(--dc-line) !important;
    border-radius: var(--dc-radius-sm) !important;
    color: var(--dc-white) !important;
    padding: 12px 16px !important;
    font-family: inherit;
    font-size: 1rem;
    width: 100%;
    outline: none;
    transition: border-color .15s, background .15s, box-shadow .15s;
}
input::placeholder,textarea::placeholder { color: var(--dc-subtle) !important; }
input:focus,select:focus,textarea:focus {
    border-color: var(--dc-gold) !important;
    background: rgba(255,255,255,.09) !important;
    box-shadow: 0 0 0 3px rgba(251,191,36,.14) !important;
}
select option { background: var(--dc-panel); color: var(--dc-text); }
label { color: var(--dc-muted); font-size: .9rem; font-weight: 700; display: block; margin-bottom: 5px; }

/* ── BUTTONS ────────────────────────────────────────────────── */
.wp-block-button .wp-block-button__link,
.wp-element-button {
    background: linear-gradient(135deg, var(--dc-gold), var(--dc-gold2)) !important;
    color: #111827 !important;
    font-weight: 900 !important;
    border-radius: var(--dc-radius-sm) !important;
    box-shadow: var(--dc-glow-gold) !important;
    border: none !important;
    transition: transform .15s, box-shadow .15s !important;
}
.wp-block-button .wp-block-button__link:hover { transform: translateY(-2px) !important; }

hr,.wp-block-separator { border-color: var(--dc-line) !important; opacity: 1 !important; }

/* ────────────────────────────────────────────────────────────
   316DC PLUGIN STYLES
   ────────────────────────────────────────────────────────── */

/* ── DEAL CARDS ─────────────────────────────────────────────── */
.dc316-card {
    background: linear-gradient(180deg, rgba(15,28,51,.97), rgba(12,22,41,.97)) !important;
    border: 1px solid var(--dc-line) !important;
    border-radius: var(--dc-radius) !important;
    box-shadow: var(--dc-shadow-sm) !important;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}
.dc316-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: var(--dc-shadow) !important;
    border-color: rgba(251,191,36,.3) !important;
}
.dc316-card__biz { color: var(--dc-subtle) !important; font-size: .8rem !important; text-transform: uppercase; letter-spacing: .06em; font-weight: 700; }
.dc316-card__offer a { color: var(--dc-white) !important; font-weight: 900 !important; }
.dc316-card__offer a:hover { color: var(--dc-gold) !important; }
.dc316-card__desc,.dc316-hub__subtitle { color: var(--dc-muted) !important; }
.dc316-card__expiry { color: var(--dc-subtle) !important; font-size: .78rem !important; }
.dc316-card__img-placeholder { background: var(--dc-panel2) !important; color: var(--dc-gold) !important; }

/* Hub heading + search */
.dc316-hub__title { color: var(--dc-white) !important; font-weight: 900 !important; }
.dc316-hub__search-wrap { background: rgba(255,255,255,.05) !important; border: 1px solid var(--dc-line) !important; border-radius: var(--dc-radius-pill) !important; }
.dc316-hub__search-input { background: transparent !important; color: var(--dc-white) !important; border: none !important; box-shadow: none !important; }
.dc316-hub__join-bar {
    background: linear-gradient(135deg, rgba(15,28,51,.98), rgba(19,36,67,.98)) !important;
    border: 1px solid var(--dc-line) !important;
    border-radius: var(--dc-radius) !important;
}

/* ── BUTTONS ────────────────────────────────────────────────── */
.dc316-btn--primary,.dc316-card__claim-btn {
    background: linear-gradient(135deg, var(--dc-gold), var(--dc-gold2)) !important;
    color: #111827 !important;
    font-weight: 900 !important;
    border-radius: var(--dc-radius-sm) !important;
    box-shadow: var(--dc-glow-gold) !important;
    border: none !important;
    transition: transform .15s, box-shadow .15s !important;
}
.dc316-btn--primary:hover,.dc316-card__claim-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 20px 48px rgba(245,158,11,.38) !important;
    color: #111827 !important;
}
.dc316-btn--secondary,.dc316-card__save-btn {
    background: rgba(255,255,255,.06) !important;
    color: var(--dc-muted) !important;
    border: 1px solid var(--dc-line) !important;
    border-radius: var(--dc-radius-sm) !important;
    font-weight: 700 !important;
    transition: background .15s, color .15s !important;
}
.dc316-btn--secondary:hover,.dc316-card__save-btn:hover {
    background: rgba(255,255,255,.12) !important;
    color: var(--dc-white) !important;
}
.dc316-card__save-btn.is-saved { color: var(--dc-green) !important; border-color: rgba(34,197,94,.4) !important; }

/* ── ALERTS ─────────────────────────────────────────────────── */
.dc316-alert { border-radius: var(--dc-radius-sm) !important; padding: 14px 18px !important; font-weight: 700 !important; border: 1px solid !important; }
.dc316-alert--success { background: rgba(34,197,94,.12) !important; border-color: rgba(34,197,94,.3) !important; color: #86efac !important; }
.dc316-alert--warning { background: rgba(251,191,36,.10) !important; border-color: rgba(251,191,36,.3) !important; color: var(--dc-gold) !important; }
.dc316-alert--error   { background: rgba(239,68,68,.12)  !important; border-color: rgba(239,68,68,.3)  !important; color: #fca5a5 !important; }

/* ── BADGES ─────────────────────────────────────────────────── */
.dc316-badge { display:inline-block; padding:4px 10px; border-radius:var(--dc-radius-pill); font-size:.73rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.dc316-badge--green  { background:rgba(34,197,94,.15);  color:#86efac; border:1px solid rgba(34,197,94,.3);  }
.dc316-badge--yellow { background:rgba(251,191,36,.12); color:#fde68a; border:1px solid rgba(251,191,36,.3); }
.dc316-badge--orange { background:rgba(249,115,22,.12); color:#fdba74; border:1px solid rgba(249,115,22,.3); }
.dc316-badge--red    { background:rgba(239,68,68,.12);  color:#fca5a5; border:1px solid rgba(239,68,68,.3);  }
.dc316-badge--grey   { background:rgba(148,163,184,.1); color:#94a3b8; border:1px solid rgba(148,163,184,.2);}
.dc316-badge--blue   { background:rgba(96,165,250,.12); color:#93c5fd; border:1px solid rgba(96,165,250,.3); }

/* ── CODE DISPLAY ───────────────────────────────────────────── */
.dc316-claim-success__code,.dc316-redeem__code {
    font-size: 2.2rem !important; font-weight: 900 !important;
    letter-spacing: .12em !important; color: var(--dc-gold) !important;
    font-family: 'Courier New', monospace;
}
.dc316-claim-success__code-box,.dc316-redeem__code-box {
    background: rgba(251,191,36,.08) !important;
    border: 1px solid rgba(251,191,36,.25) !important;
    border-radius: var(--dc-radius-sm) !important;
    padding: 20px !important; text-align: center; margin: 20px 0 !important;
}
.dc316-claim-success__qr,.dc316-redeem__qr {
    border: 3px solid white; border-radius: 8px;
    background: white; padding: 6px;
    margin: 12px auto 0 !important; display: block;
}

/* ── CARDS (claim/join/redeem wrappers) ─────────────────────── */
.dc316-claim-card,.dc316-redeem-card,.dc316-join-card {
    background: linear-gradient(180deg, rgba(15,28,51,.97), rgba(12,22,41,.97)) !important;
    border: 1px solid var(--dc-line) !important;
    border-radius: var(--dc-radius) !important;
    box-shadow: var(--dc-shadow) !important;
    padding: 36px 32px !important;
}

/* ── ONBOARDING WIZARD ──────────────────────────────────────── */
.dc316-onboard-card,#dc316-onboarding-form {
    background: linear-gradient(180deg, rgba(15,28,51,.97), rgba(12,22,41,.97)) !important;
    border: 1px solid var(--dc-line) !important;
    border-radius: var(--dc-radius) !important;
    box-shadow: var(--dc-shadow) !important;
    padding: 36px 32px !important;
}
.dc316-onboard-section__title {
    font-size: .76rem !important; font-weight: 900 !important;
    letter-spacing: .1em !important; color: var(--dc-subtle) !important;
    text-transform: uppercase !important;
    border-bottom: 1px solid var(--dc-line) !important;
    padding-bottom: 10px !important; margin-bottom: 18px !important;
}

/* Step indicator nums */
.dc316-step__num {
    width: 44px !important; height: 44px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.07) !important;
    border: 2px solid var(--dc-line) !important;
    color: var(--dc-subtle) !important;
    font-weight: 900 !important;
    display: grid; place-items: center;
}
.dc316-step.is-active .dc316-step__num,
.dc316-step--active .dc316-step__num {
    background: linear-gradient(135deg, var(--dc-gold), var(--dc-gold2)) !important;
    border-color: var(--dc-gold) !important; color: #111827 !important;
    box-shadow: var(--dc-glow-gold) !important;
}
.dc316-step.is-complete .dc316-step__num,
.dc316-step--complete .dc316-step__num {
    background: rgba(34,197,94,.18) !important;
    border-color: var(--dc-green) !important; color: var(--dc-green) !important;
}
.dc316-step__label { font-size: .78rem !important; color: var(--dc-subtle) !important; font-weight: 700 !important; }
.dc316-step.is-active .dc316-step__label,.dc316-step--active .dc316-step__label { color: var(--dc-gold) !important; }
.dc316-onboard-logged-in {
    background: rgba(34,197,94,.1) !important; border: 1px solid rgba(34,197,94,.25) !important;
    border-radius: var(--dc-radius-sm) !important; padding: 12px 16px !important;
    color: #86efac !important; font-weight: 700 !important; margin-bottom: 24px !important;
}

/* ── MERCHANT DASHBOARD ─────────────────────────────────────── */
.dc316-dash-nav__item,.dc316-dash-tab {
    padding: 10px 18px !important; border-radius: 10px 10px 0 0 !important;
    font-weight: 700 !important; color: var(--dc-muted) !important;
    border: 1px solid transparent !important; border-bottom: none !important;
    transition: color .15s, background .15s !important;
    text-decoration: none !important;
}
.dc316-dash-nav__item:hover,.dc316-dash-tab:hover { color: var(--dc-white) !important; background: rgba(255,255,255,.05) !important; }
.dc316-dash-nav__item.is-active,.dc316-dash-tab.is-active {
    color: var(--dc-gold) !important;
    background: rgba(251,191,36,.06) !important;
    border-color: var(--dc-line) !important;
}
.dc316-status-card {
    background: linear-gradient(135deg, rgba(19,36,67,.98), rgba(15,28,51,.98)) !important;
    border: 1px solid var(--dc-line) !important;
    border-radius: var(--dc-radius) !important;
    padding: 28px !important;
}
.dc316-status-card__value { color: var(--dc-white) !important; font-size: 1.5rem !important; font-weight: 900 !important; }
.dc316-status-card__label { color: var(--dc-subtle) !important; font-size: .78rem !important; text-transform: uppercase; letter-spacing: .08em; font-weight: 800 !important; }
.dc316-file-card {
    background: rgba(255,255,255,.04) !important;
    border: 1px solid var(--dc-line) !important;
    border-radius: var(--dc-radius-sm) !important;
}

/* ── ANALYTICS ──────────────────────────────────────────────── */
.dc316-kpi-card {
    background: linear-gradient(180deg, rgba(15,28,51,.97), rgba(12,22,41,.97)) !important;
    border: 1px solid var(--dc-line) !important;
    border-radius: var(--dc-radius) !important;
    padding: 22px 18px !important; text-align: center;
}
.dc316-kpi-card__value { font-size: 2rem !important; font-weight: 900 !important; color: var(--dc-gold) !important; }
.dc316-kpi-card__label { font-size: .78rem !important; color: var(--dc-muted) !important; font-weight: 700 !important; text-transform: uppercase; letter-spacing: .06em; }
.dc316-chart-wrap {
    background: linear-gradient(180deg, rgba(15,28,51,.97), rgba(12,22,41,.97)) !important;
    border: 1px solid var(--dc-line) !important;
    border-radius: var(--dc-radius) !important;
    padding: 24px !important;
}

/* ── VERIFICATION TABS ──────────────────────────────────────── */
.dc316-verify-tab {
    padding: 12px 8px !important; border-radius: var(--dc-radius-sm) !important;
    font-weight: 800 !important; font-size: .88rem !important;
    border: 1px solid var(--dc-line) !important;
    background: rgba(255,255,255,.04) !important;
    color: var(--dc-muted) !important; transition: all .15s !important;
}
.dc316-verify-tab.is-active {
    background: rgba(251,191,36,.1) !important;
    border-color: var(--dc-gold) !important; color: var(--dc-gold) !important;
}

/* ── METER ──────────────────────────────────────────────────── */
.dc316-meter { background: rgba(255,255,255,.07) !important; border-radius: var(--dc-radius-pill) !important; height: 8px !important; overflow: hidden; }
.dc316-meter__fill { background: linear-gradient(90deg, var(--dc-gold), var(--dc-gold2)) !important; height: 100% !important; border-radius: var(--dc-radius-pill) !important; }

/* ── SCRATCH CARD ───────────────────────────────────────────── */
.dc316-scratch-wrap,.dc316-scratch-card {
    background: linear-gradient(180deg, rgba(15,28,51,.97), rgba(12,22,41,.97)) !important;
    border: 1px solid var(--dc-line) !important;
    border-radius: var(--dc-radius) !important;
    box-shadow: var(--dc-shadow) !important;
}

/* ── CROSS-SELL ─────────────────────────────────────────────── */
.dc316-crosssell { border-top: 1px solid var(--dc-line) !important; padding-top: 40px !important; margin-top: 40px !important; }
.dc316-crosssell__title { color: var(--dc-white) !important; font-weight: 900 !important; }

/* ── SINGLE DEAL PAGE ───────────────────────────────────────── */
.dc316-single { background: transparent !important; }
.dc316-single__offer { color: var(--dc-gold) !important; }
.dc316-single__biz { color: var(--dc-subtle) !important; }
.dc316-single__meta-table td,.dc316-single__meta-table th { border-color: var(--dc-line) !important; color: var(--dc-muted) !important; }

/* ── RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width: 768px) {
    .dc316-onboard-card,#dc316-onboarding-form { padding: 24px 18px !important; }
    .dc316-kpi-card__value { font-size: 1.6rem !important; }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   NAV DROPDOWN Z-INDEX FIX
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Strip stacking context from page content */
.wp-block-post-title,
.wp-block-group.alignfull,
.wp-block-post-content,
.entry-content,
main,
.elementor-section,
.elementor-widget-wrap {
    position: static !important;
    z-index: auto !important;
    isolation: auto !important;
}

/* Nav blocks + Elementor nav widget: very high z-index */
.wp-block-navigation,
.elementor-nav-menu,
.elementor-widget-nav-menu {
    position: relative !important;
    z-index: 99999 !important;
    isolation: isolate !important;
}

/* Submenus: above everything */
.wp-block-navigation__submenu-container,
.elementor-nav-menu--dropdown,
.elementor-nav-menu__container.elementor-nav-menu--dropdown {
    z-index: 99999 !important;
    position: absolute !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   ELEMENTOR COMPATIBILITY
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Elementor sections get transparent backgrounds so the body gradient shows */
.elementor-section,
.e-con,
.e-con-inner {
    background-color: transparent;
}

/* Elementor text widgets pick up theme colors */
.elementor-widget-text-editor p { color: var(--dc-muted); }
.elementor-widget-heading .elementor-heading-title { color: var(--dc-white); }

/* Elementor buttons match the gold design system */
.elementor-button,
.elementor-button-wrapper .elementor-button {
    background: linear-gradient(135deg, var(--dc-gold), var(--dc-gold2)) !important;
    color: #111827 !important;
    font-weight: 900 !important;
    border-radius: var(--dc-radius-sm) !important;
    box-shadow: var(--dc-glow-gold) !important;
    border: none !important;
    transition: transform .15s, box-shadow .15s !important;
}
.elementor-button:hover,
.elementor-button-wrapper .elementor-button:hover {
    transform: translateY(-2px) !important;
    color: #111827 !important;
}

/* Elementor divider */
.elementor-divider-separator { border-color: var(--dc-line) !important; }

/* Elementor form fields */
.elementor-field-type-text input,
.elementor-field-type-email input,
.elementor-field-type-textarea textarea,
.elementor-field-type-select select {
    background: rgba(255,255,255,.06) !important;
    border-color: var(--dc-line) !important;
    color: var(--dc-white) !important;
    border-radius: var(--dc-radius-sm) !important;
}
.elementor-field-type-text input:focus,
.elementor-field-type-email input:focus,
.elementor-field-type-textarea textarea:focus {
    border-color: var(--dc-gold) !important;
    box-shadow: 0 0 0 3px rgba(251,191,36,.14) !important;
}
.elementor-field-label { color: var(--dc-muted) !important; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   WOOCOMMERCE COMPATIBILITY
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ── Shop / Archive ───────────────────────────────────────── */
.woocommerce-page,
.woocommerce { background: transparent !important; }

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    background: linear-gradient(180deg, rgba(15,28,51,.97), rgba(12,22,41,.97)) !important;
    border: 1px solid var(--dc-line) !important;
    border-radius: var(--dc-radius) !important;
    padding: 20px !important;
    transition: transform .2s, box-shadow .2s, border-color .2s !important;
}
.woocommerce ul.products li.product:hover {
    transform: translateY(-4px) !important;
    box-shadow: var(--dc-shadow) !important;
    border-color: rgba(251,191,36,.3) !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
    color: var(--dc-white) !important;
    font-weight: 900 !important;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: var(--dc-gold) !important;
    font-weight: 900 !important;
}
.woocommerce ul.products li.product .price del,
.woocommerce div.product p.price del {
    color: var(--dc-subtle) !important;
    opacity: .7;
}

/* ── Buttons: Add to Cart, Checkout, etc. ─────────────────── */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #place_order {
    background: linear-gradient(135deg, var(--dc-gold), var(--dc-gold2)) !important;
    color: #111827 !important;
    font-weight: 900 !important;
    border-radius: var(--dc-radius-sm) !important;
    box-shadow: var(--dc-glow-gold) !important;
    border: none !important;
    transition: transform .15s, box-shadow .15s !important;
    padding: 12px 22px !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #place_order:hover {
    transform: translateY(-2px) !important;
    background: linear-gradient(135deg, var(--dc-gold2), var(--dc-gold-dark)) !important;
    color: #111827 !important;
}

/* Secondary/outline buttons */
.woocommerce a.button.button-secondary,
.woocommerce .wc-proceed-to-checkout a:not(.checkout-button) {
    background: rgba(255,255,255,.06) !important;
    color: var(--dc-muted) !important;
    border: 1px solid var(--dc-line) !important;
    box-shadow: none !important;
}

/* ── Product Single ───────────────────────────────────────── */
.woocommerce div.product {
    background: transparent !important;
    color: var(--dc-text) !important;
}
.woocommerce div.product .product_title {
    color: var(--dc-white) !important;
    font-weight: 900 !important;
}
.woocommerce div.product .woocommerce-product-details__short-description p {
    color: var(--dc-muted) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
    border-bottom-color: var(--dc-line) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: rgba(255,255,255,.04) !important;
    border-color: var(--dc-line) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    background: var(--dc-panel) !important;
    border-bottom-color: var(--dc-panel) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    color: var(--dc-muted) !important;
    font-weight: 700 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--dc-gold) !important;
}
.woocommerce div.product .woocommerce-tabs .panel {
    background: var(--dc-panel) !important;
    border: 1px solid var(--dc-line) !important;
    border-radius: 0 var(--dc-radius-sm) var(--dc-radius-sm) var(--dc-radius-sm) !important;
    padding: 24px !important;
    color: var(--dc-muted) !important;
}

/* ── Cart ─────────────────────────────────────────────────── */
.woocommerce-cart table.cart,
.woocommerce table.shop_table {
    background: var(--dc-panel) !important;
    border: 1px solid var(--dc-line) !important;
    border-radius: var(--dc-radius) !important;
    color: var(--dc-text) !important;
}
.woocommerce table.shop_table th {
    color: var(--dc-white) !important;
    border-bottom-color: var(--dc-line) !important;
    background: var(--dc-panel2) !important;
    font-weight: 900 !important;
}
.woocommerce table.shop_table td {
    border-bottom-color: var(--dc-line) !important;
    color: var(--dc-muted) !important;
}
.woocommerce table.shop_table td a {
    color: var(--dc-gold) !important;
    font-weight: 700 !important;
}
.cart-collaterals .cart_totals,
.woocommerce-cart-form {
    background: var(--dc-panel) !important;
    border: 1px solid var(--dc-line) !important;
    border-radius: var(--dc-radius) !important;
    padding: 24px !important;
}
.cart_totals h2,
.woocommerce-cart-form h2 {
    color: var(--dc-white) !important;
}

/* ── Checkout ─────────────────────────────────────────────── */
.woocommerce-checkout #customer_details,
.woocommerce form.checkout {
    background: transparent !important;
}
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce #order_review_heading {
    color: var(--dc-white) !important;
    font-weight: 900 !important;
    border-bottom: 1px solid var(--dc-line) !important;
    padding-bottom: 12px !important;
    margin-bottom: 20px !important;
}
.woocommerce #order_review {
    background: var(--dc-panel) !important;
    border: 1px solid var(--dc-line) !important;
    border-radius: var(--dc-radius) !important;
    padding: 24px !important;
}
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message {
    background: rgba(96,165,250,.10) !important;
    border-color: rgba(96,165,250,.3) !important;
    color: #93c5fd !important;
    border-radius: var(--dc-radius-sm) !important;
}

/* ── Notices ──────────────────────────────────────────────── */
.woocommerce-message {
    background: rgba(34,197,94,.12) !important;
    border-color: rgba(34,197,94,.3) !important;
    color: #86efac !important;
    border-radius: var(--dc-radius-sm) !important;
}
.woocommerce-error {
    background: rgba(239,68,68,.12) !important;
    border-color: rgba(239,68,68,.3) !important;
    color: #fca5a5 !important;
    border-radius: var(--dc-radius-sm) !important;
}
.woocommerce-info {
    background: rgba(96,165,250,.10) !important;
    border-color: rgba(96,165,250,.3) !important;
    color: #93c5fd !important;
    border-radius: var(--dc-radius-sm) !important;
}
.woocommerce-message::before,
.woocommerce-info::before { color: inherit !important; }

/* ── My Account ───────────────────────────────────────────── */
.woocommerce-MyAccount-navigation {
    background: var(--dc-panel) !important;
    border: 1px solid var(--dc-line) !important;
    border-radius: var(--dc-radius) !important;
    padding: 16px !important;
}
.woocommerce-MyAccount-navigation ul { margin: 0 !important; padding: 0 !important; }
.woocommerce-MyAccount-navigation li { list-style: none !important; }
.woocommerce-MyAccount-navigation li a {
    color: var(--dc-muted) !important;
    font-weight: 700 !important;
    display: block !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    transition: background .15s, color .15s !important;
}
.woocommerce-MyAccount-navigation li a:hover,
.woocommerce-MyAccount-navigation li.is-active a {
    background: rgba(255,255,255,.07) !important;
    color: var(--dc-white) !important;
}
.woocommerce-MyAccount-content {
    color: var(--dc-muted) !important;
}
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
    color: var(--dc-white) !important;
}

/* ── Star ratings ─────────────────────────────────────────── */
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before { color: var(--dc-gold) !important; }

/* ── Sale badge ───────────────────────────────────────────── */
.woocommerce span.onsale {
    background: linear-gradient(135deg, var(--dc-gold), var(--dc-gold2)) !important;
    color: #111827 !important;
    font-weight: 900 !important;
    border-radius: var(--dc-radius-pill) !important;
}

/* ── Pagination ───────────────────────────────────────────── */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    background: var(--dc-panel) !important;
    border-color: var(--dc-line) !important;
    color: var(--dc-muted) !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--dc-gold) !important;
    color: #111827 !important;
    border-color: var(--dc-gold) !important;
}
