/*
Theme Name:   Extra Core
Theme URI:    https://brivox.tech/
Author:       Brivox
Author URI:   https://brivox.tech/
Description:  Extra Core — Gaming & Tech WooCommerce Child Theme. Built on Blocksy.
Version:      1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
Template:     blocksy
Text Domain:  extracore
Tags:         woocommerce, rtl, gaming, ecommerce, tech
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
*/

/* ════════════════════════════════════════════════════
   EXTRA CORE — DARK DESIGN TOKENS
   ════════════════════════════════════════════════════ */
:root {
    /* ── Core Dark Palette ── */
    --ec-bg:        #0a0a0f;
    --ec-bg2:       #0f0f17;
    --ec-bg3:       #13131e;
    --ec-bgc:       rgba(19,19,30,0.92);
    --ec-surface:   #16161f;
    --ec-surface2:  #1c1c2a;

    /* ── Brand Gold ── */
    --ec-gold:      #C2A470;
    --ec-gold-l:    #d4b882;
    --ec-gold-d:    #a8874e;
    --ec-gold-dim:  rgba(194,164,112,0.12);
    --ec-gold-mid:  rgba(194,164,112,0.22);
    --ec-gold-str:  rgba(194,164,112,0.45);
    --ec-gold-bdr:  rgba(194,164,112,0.18);

    /* ── Text ── */
    --ec-text:      #e8e4dd;
    --ec-text2:     #b8b0a0;
    --ec-text3:     rgba(232,228,221,0.45);
    --ec-text4:     rgba(232,228,221,0.25);

    /* ── Borders ── */
    --ec-bdr:       rgba(194,164,112,0.14);
    --ec-bdr2:      rgba(194,164,112,0.08);
    --ec-bdr3:      rgba(255,255,255,0.06);

    /* ── Glows & Shadows ── */
    --ec-glow:      0 0 8px  rgba(194,164,112,0.20),
                    0 0 30px rgba(194,164,112,0.10),
                    0 0 60px rgba(194,164,112,0.05);
    --ec-glow2:     0 0 12px rgba(194,164,112,0.35),
                    0 0 40px rgba(194,164,112,0.18),
                    0 0 90px rgba(194,164,112,0.08);
    --ec-glow-txt:  0 0 8px  rgba(194,164,112,0.30),
                    0 0 24px rgba(194,164,112,0.15);
    --ec-shadow:    0 8px 32px rgba(0,0,0,0.45);
    --ec-shadow2:   0 20px 60px rgba(0,0,0,0.60);

    /* ── Radius ── */
    --ec-radius:    14px;
    --ec-radius-lg: 20px;
    --ec-radius-xl: 28px;

    /* ── Transitions ── */
    --ec-ease:      cubic-bezier(0.23,1,0.32,1);
}

/* ════════════════════════════════════════════════════
   RESET & BASE
   ════════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; }

html {
    scroll-behavior: smooth;
    touch-action: manipulation;
}

body {
    font-family: 'Cairo', sans-serif;
    background: var(--ec-bg);
    color: var(--ec-text);
    overflow-x: hidden;
    line-height: 1.7;
    direction: rtl;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

a { text-decoration: none; color: inherit; }
ul { list-style: none; margin: 0; padding: 0; }
img { max-width: 100%; display: block; }
button { font-family: 'Cairo', sans-serif; cursor: pointer; }
input, textarea, select { font-family: 'Cairo', sans-serif; }

/* ── Scrollbar ── */
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: var(--ec-bg2); }
::-webkit-scrollbar-thumb {
    background: linear-gradient(to bottom, var(--ec-gold), var(--ec-gold-d));
    border-radius: 10px;
}

/* ════════════════════════════════════════════════════
   AMBIENT BACKGROUND
   ════════════════════════════════════════════════════ */
.ec-ambient-grid {
    position: fixed; inset: 0; z-index: 0; pointer-events: none;
    background-image:
        linear-gradient(rgba(194,164,112,0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(194,164,112,0.025) 1px, transparent 1px);
    background-size: 50px 50px;
    animation: ec-grid-move 25s linear infinite;
    opacity: 0.6;
}
@keyframes ec-grid-move { to { transform: translate(50px,50px); } }

.ec-particles { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.ec-particle {
    position: absolute; border-radius: 50%;
    background: var(--ec-gold); opacity: 0;
    animation: ec-rise linear infinite;
}
@keyframes ec-rise {
    0%   { transform: translateY(100vh) scale(0); opacity: 0; }
    8%   { opacity: 0.4; }
    92%  { opacity: 0.06; }
    100% { transform: translateY(-5vh) scale(1); opacity: 0; }
}

.ec-cursor-glow {
    display: none; position: fixed;
    width: 380px; height: 380px;
    border-radius: 50%; pointer-events: none; z-index: 9999;
    background: radial-gradient(circle, rgba(194,164,112,0.06) 0%, transparent 70%);
    transform: translate(-50%,-50%);
    transition: left .12s, top .12s;
}
@media(min-width:1024px) { .ec-cursor-glow { display: block; } }

/* ════════════════════════════════════════════════════
   HEADER
   ════════════════════════════════════════════════════ */
.ec-header {
    position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
    padding: 10px 16px;
    background: rgba(10,10,15,0.92);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border-bottom: 1px solid var(--ec-bdr);
    transition: .4s;
}
.ec-header.scrolled {
    padding: 7px 16px;
    background: rgba(10,10,15,0.98);
    box-shadow: 0 4px 30px rgba(0,0,0,0.5);
}

.ec-header-inner {
    display: flex; align-items: center; justify-content: space-between;
    max-width: 1440px; margin: 0 auto;
    flex-direction: row-reverse;
    gap: 12px;
}

.ec-logo-wrap {
    display: flex; align-items: center;
    gap: 8px; direction: ltr;
    text-decoration: none;
}
.ec-logo-wrap img,
.ec-logo-img {
    width: 140px !important;
    height: 32px !important;
    object-fit: contain;
    display: block;
    filter: brightness(1.1);
}
.ec-logo-text {
    display: none; font-size: 1.1rem; font-weight: 900;
    color: var(--ec-gold); letter-spacing: 1.5px; align-items: center;
    text-shadow: var(--ec-glow-txt);
}
.ec-logo-text span { color: var(--ec-text); }
.ec-logo-text-fallback {
    font-size: 1.1rem; font-weight: 900;
    color: var(--ec-gold); letter-spacing: 1.5px;
    display: flex; align-items: center;
    text-shadow: var(--ec-glow-txt);
}
.ec-logo-text-fallback span { color: var(--ec-text); }

.ec-header-actions { display: flex; align-items: center; gap: 10px; }

.ec-icon-btn {
    position: relative; background: none; border: none;
    color: var(--ec-text2); font-size: 1.1rem; padding: 6px;
    transition: .3s;
}
.ec-icon-btn:hover {
    color: var(--ec-gold);
    text-shadow: var(--ec-glow-txt);
}

.ec-badge {
    position: absolute; top: -3px; right: -7px;
    min-width: 16px; height: 16px; border-radius: 50%;
    background: var(--ec-gold); color: var(--ec-bg);
    font-size: .55rem; font-weight: 800;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 0 8px rgba(194,164,112,0.5);
}

/* ── Hamburger ── */
.ec-hamburger {
    display: flex; flex-direction: column; gap: 5px;
    background: none; border: none; padding: 6px;
    cursor: pointer; z-index: 1100;
    flex-shrink: 0; position: relative;
}
.ec-hamburger span {
    display: block;
    width: 22px; height: 2px;
    background: var(--ec-gold); border-radius: 2px;
    transition: .3s; transform: none; opacity: 1;
}
.ec-hamburger.active span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
.ec-hamburger.active span:nth-child(2) { opacity: 0; width: 0; }
.ec-hamburger.active span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }

/* ════════════════════════════════════════════════════
   MINI CART SIDEBAR
   ════════════════════════════════════════════════════ */
.ec-mini-cart-overlay {
    position: fixed; inset: 0;
    background: rgba(0,0,0,0.65);
    backdrop-filter: blur(4px);
    opacity: 0; pointer-events: none;
    transition: opacity .4s; z-index: 1999;
}
.ec-mini-cart-overlay.show { opacity: 1; pointer-events: auto; }

.ec-mini-cart {
    position: fixed;
    top: 0; left: -110%;
    width: min(88vw, 400px);
    height: 100vh; height: 100dvh;
    background: var(--ec-bg2);
    z-index: 2000;
    border-right: 1px solid var(--ec-bdr);
    display: flex; flex-direction: column;
    transition: left .45s var(--ec-ease);
    box-shadow: 6px 0 40px rgba(0,0,0,0.6);
    overflow: hidden;
}
.ec-mini-cart.open { left: 0; }

.ec-mini-cart-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 18px 20px;
    border-bottom: 1px solid var(--ec-bdr);
    flex-shrink: 0;
    background: var(--ec-bg3);
}
.ec-mini-cart-header h3 {
    font-size: .95rem; font-weight: 700;
    display: flex; align-items: center; gap: 8px; margin: 0;
    color: var(--ec-text);
}
.ec-mini-cart-header h3 i { color: var(--ec-gold); }
.ec-mini-cart-close {
    background: none; border: none;
    color: var(--ec-text3);
    font-size: 1.2rem; cursor: pointer;
    padding: 4px; transition: .3s; line-height: 1;
}
.ec-mini-cart-close:hover { color: var(--ec-gold); }

.ec-mini-cart-items {
    flex: 1; overflow-y: auto; overflow-x: hidden;
    padding: 14px 18px;
    display: flex; flex-direction: column; gap: 12px;
    -webkit-overflow-scrolling: touch;
}

.ec-cart-item {
    display: flex; gap: 10px; padding: 12px;
    border-radius: 14px;
    background: var(--ec-surface);
    border: 1px solid var(--ec-bdr);
    align-items: flex-start; min-width: 0;
    transition: border-color .3s;
}
.ec-cart-item:hover { border-color: var(--ec-gold-str); }

.ec-cart-item-img {
    width: 56px; height: 56px; flex-shrink: 0;
    border-radius: 10px; overflow: hidden;
    background: var(--ec-surface2);
    padding: 5px;
    display: flex; align-items: center; justify-content: center;
}
.ec-cart-item-img img { width: 100%; height: 100%; object-fit: contain; }

.ec-cart-item-info { flex: 1; min-width: 0; }
.ec-cart-item-brand {
    font-size: .58rem; color: var(--ec-gold);
    text-transform: uppercase; letter-spacing: .5px;
}
.ec-cart-item-name {
    font-size: .76rem; font-weight: 700; margin-bottom: 4px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    color: var(--ec-text);
}
.ec-cart-item-name a { color: var(--ec-text); text-decoration: none; }
.ec-cart-item-price {
    font-size: .82rem; font-weight: 800;
    color: var(--ec-gold);
    text-shadow: var(--ec-glow-txt);
}
.ec-cart-item-remove {
    background: none; border: none; color: var(--ec-text4);
    font-size: .8rem; cursor: pointer; padding: 4px; transition: .3s;
    flex-shrink: 0; align-self: flex-start; line-height: 1;
}
.ec-cart-item-remove:hover { color: #e74c3c; }

.ec-cart-empty {
    text-align: center; padding: 40px 16px;
    display: flex; flex-direction: column; align-items: center; gap: 10px;
}
.ec-cart-empty i { font-size: 2.5rem; color: var(--ec-bdr); }
.ec-cart-empty p { font-size: .82rem; color: var(--ec-text2); margin: 0; }
.ec-cart-empty a {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 9px 18px; border-radius: 10px;
    background: var(--ec-gold); color: var(--ec-bg) !important;
    font-size: .78rem; font-weight: 800; text-decoration: none;
    margin-top: 4px; transition: .3s;
    box-shadow: var(--ec-glow);
}
.ec-cart-empty a:hover { background: var(--ec-gold-l); }

.ec-mini-cart-footer {
    padding: 14px 18px;
    border-top: 1px solid var(--ec-bdr);
    flex-shrink: 0;
    background: var(--ec-bg3);
}
.ec-cart-total {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 12px;
}
.ec-cart-total span:first-child { font-size: .82rem; color: var(--ec-text2); }
.ec-cart-total-value {
    font-size: 1.05rem; font-weight: 900;
    color: var(--ec-gold);
    text-shadow: var(--ec-glow-txt);
}

.ec-cart-checkout-btn {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    width: 100%; padding: 13px; border-radius: 12px;
    background: linear-gradient(135deg, var(--ec-gold), var(--ec-gold-d));
    color: var(--ec-bg) !important;
    font-weight: 800; font-size: .9rem; border: none;
    box-shadow: var(--ec-glow); transition: .4s; text-decoration: none;
    cursor: pointer; position: relative; overflow: hidden;
}
.ec-cart-checkout-btn::before {
    content: ''; position: absolute; top: 0; left: -100%;
    width: 100%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: .6s;
}
.ec-cart-checkout-btn:hover::before { left: 100%; }
.ec-cart-checkout-btn:hover {
    box-shadow: var(--ec-glow2);
    transform: translateY(-2px);
    color: var(--ec-bg) !important;
}

@media(min-width:1024px) {
    .ec-mini-cart { width: 420px; }
    .ec-mini-cart-header { padding: 20px 24px; }
    .ec-mini-cart-items  { padding: 18px 24px; }
    .ec-mini-cart-footer { padding: 18px 24px; }
}

/* ════════════════════════════════════════════════════
   HERO
   ════════════════════════════════════════════════════ */
.ec-hero {
    position: relative; min-height: 100vh; min-height: 100dvh;
    display: flex; align-items: center; justify-content: center;
    padding: 100px 16px 50px; overflow: hidden;
}
.ec-hero-bg {
    position: absolute; inset: 0;
    background:
        radial-gradient(ellipse 500px 500px at 50% 45%, rgba(194,164,112,0.10) 0%, transparent 70%),
        radial-gradient(ellipse 250px 250px at 85% 15%, rgba(194,164,112,0.06) 0%, transparent 60%),
        radial-gradient(ellipse 200px 200px at 10% 85%, rgba(194,164,112,0.05) 0%, transparent 60%),
        var(--ec-bg);
}

.ec-orb { position: absolute; border-radius: 50%; border: 1px solid transparent; }
.ec-orb::after {
    content: ''; position: absolute; width: 6px; height: 6px;
    border-radius: 50%; background: var(--ec-gold); top: -3px; left: 50%;
    box-shadow: 0 0 10px var(--ec-gold-str);
    animation: ec-dot-pulse 2s ease-in-out infinite;
}
.ec-orb-1 {
    width: 280px; height: 280px; top: 8%; right: -80px;
    border-color: rgba(194,164,112,0.10);
    animation: ec-orbit 20s linear infinite, ec-breathe 5s ease-in-out infinite;
}
.ec-orb-2 {
    width: 200px; height: 200px; bottom: 12%; left: -50px;
    border-color: rgba(194,164,112,0.07);
    animation: ec-orbit 30s linear infinite reverse, ec-breathe 7s ease-in-out infinite 2s;
}
.ec-orb-3 {
    width: 400px; height: 400px; top: 25%; left: 50%; transform: translateX(-50%);
    border-color: rgba(194,164,112,0.05);
    animation: ec-breathe 8s ease-in-out infinite 1s;
}
@keyframes ec-orbit  { to { transform: rotate(360deg); } }
@keyframes ec-breathe { 0%,100%{opacity:.4;transform:scale(1)} 50%{opacity:1;transform:scale(1.08)} }
@keyframes ec-dot-pulse { 0%,100%{opacity:.3;transform:scale(.8)} 50%{opacity:1;transform:scale(1.3)} }

.ec-spark { position: absolute; background: var(--ec-gold); border-radius: 2px; box-shadow: 0 0 20px var(--ec-gold-str); }
.ec-spark-1 { width: 140px; height: 2px; top: 20%; left: 3%; animation: ec-spark-fade 4s ease-in-out infinite; transform: rotate(-5deg); }
.ec-spark-2 { width: 90px;  height: 2px; bottom: 25%; right: 5%; animation: ec-spark-fade 4s ease-in-out infinite 1.5s; transform: rotate(8deg); }
.ec-spark-3 { width: 2px; height: 120px; top: 10%; right: 20%; animation: ec-spark-fade 3.5s ease-in-out infinite .8s; }
.ec-spark-4 { width: 2px; height: 70px;  bottom: 18%; left: 15%; animation: ec-spark-fade 3.5s ease-in-out infinite 2.2s; }
@keyframes ec-spark-fade { 0%,100%{opacity:.03} 40%{opacity:.35} 60%{opacity:.28} }

.ec-hero-content { position: relative; z-index: 2; text-align: center; max-width: 700px; }

.ec-hero-tag {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 7px 18px; border-radius: 30px;
    background: var(--ec-gold-dim); border: 1px solid var(--ec-gold-bdr);
    font-size: .72rem; font-weight: 700; color: var(--ec-gold);
    margin-bottom: 20px;
    animation: ec-fade-up .7s ease forwards; opacity: 0;
}
.ec-hero-tag i { animation: ec-tag-pulse 2s ease-in-out infinite; }
@keyframes ec-tag-pulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.25)} }

.ec-hero-title {
    font-size: 2.6rem; font-weight: 900; line-height: 1.15;
    margin-bottom: 14px;
    animation: ec-fade-up .7s ease .15s forwards; opacity: 0;
}
.ec-hero-title .t1 { display: block; color: var(--ec-text); }
.ec-hero-title .t2 {
    display: block; color: var(--ec-gold);
    text-shadow: var(--ec-glow2); position: relative;
}
.ec-hero-title .t2::after {
    content: ''; position: absolute; bottom: -6px; right: 50%;
    width: 0; height: 3px;
    background: linear-gradient(90deg, transparent, var(--ec-gold), transparent);
    border-radius: 2px; animation: ec-line-expand 1.2s ease .9s forwards;
}
@keyframes ec-line-expand { to { width: 100%; right: 0; } }

.ec-hero-desc {
    font-size: .9rem; color: var(--ec-text2); line-height: 1.9;
    margin-bottom: 28px; font-weight: 300;
    animation: ec-fade-up .7s ease .3s forwards; opacity: 0;
}
.ec-hero-cta { animation: ec-fade-up .7s ease .45s forwards; opacity: 0; }

.ec-btn-primary {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 15px 38px; border-radius: 14px;
    background: linear-gradient(135deg, var(--ec-gold), var(--ec-gold-d));
    color: var(--ec-bg);
    font-weight: 800; font-size: .95rem; border: none;
    box-shadow: var(--ec-glow); transition: .4s;
    position: relative; overflow: hidden; text-decoration: none;
}
.ec-btn-primary::before {
    content: ''; position: absolute; top: 0; left: -100%;
    width: 100%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.25), transparent);
    transition: .6s;
}
.ec-btn-primary:hover::before { left: 100%; }
.ec-btn-primary:hover { transform: translateY(-3px); box-shadow: var(--ec-glow2); color: var(--ec-bg); }

.ec-scroll-hint {
    position: absolute; bottom: 16px; left: 50%; transform: translateX(-50%);
    display: flex; flex-direction: column; align-items: center; gap: 5px;
    animation: ec-scroll-bob 2.5s ease-in-out infinite; z-index: 2;
}
.ec-scroll-hint span { font-size: .6rem; color: var(--ec-text4); }
.ec-scroll-hint-line {
    width: 1px; height: 28px;
    background: linear-gradient(to bottom, var(--ec-gold), transparent);
    border-radius: 1px;
}
@keyframes ec-scroll-bob { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(6px)} }
@keyframes ec-fade-up { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }

@media(min-width:1024px) {
    .ec-hero { padding: 100px 60px 60px; }
    .ec-hero-content { max-width: 820px; }
    .ec-hero-title { font-size: 5rem; margin-bottom: 18px; }
    .ec-hero-desc { font-size: 1.1rem; max-width: 520px; margin: 0 auto 36px; }
    .ec-btn-primary { padding: 17px 48px; font-size: 1.05rem; border-radius: 16px; }
    .ec-orb-1 { width: 500px; height: 500px; right: 2%; top: 5%; }
    .ec-orb-2 { width: 380px; height: 380px; left: 2%; bottom: 8%; }
    .ec-orb-3 { width: 700px; height: 700px; }
    .ec-spark-1 { width: 250px; }
    .ec-spark-3 { height: 200px; }
}

/* ════════════════════════════════════════════════════
   SECTIONS COMMON
   ════════════════════════════════════════════════════ */
.ec-section { position: relative; z-index: 1; padding: 60px 16px; }
.ec-section-header { text-align: center; margin-bottom: 32px; }

.ec-section-tag {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 5px 14px; border-radius: 20px;
    background: var(--ec-gold-dim); border: 1px solid var(--ec-gold-bdr);
    font-size: .68rem; font-weight: 700; color: var(--ec-gold); margin-bottom: 10px;
}
.ec-section-title { font-size: 1.6rem; font-weight: 800; line-height: 1.3; color: var(--ec-text); }
.ec-section-title em { font-style: normal; color: var(--ec-gold); text-shadow: var(--ec-glow-txt); }

@media(min-width:1024px) {
    .ec-section { padding: 100px 60px; }
    .ec-section-header { margin-bottom: 52px; }
    .ec-section-title { font-size: 2.5rem; }
}

/* ════════════════════════════════════════════════════
   CATEGORIES GRID
   ════════════════════════════════════════════════════ */
.ec-categories-grid {
    display: grid; grid-template-columns: repeat(2,1fr);
    gap: 12px; max-width: 1200px; margin: 0 auto;
}
.ec-category-card {
    position: relative; border-radius: 18px; overflow: hidden;
    background: var(--ec-surface); border: 1px solid var(--ec-bdr);
    cursor: pointer; transition: .5s var(--ec-ease); aspect-ratio: 1/1;
    display: block;
}
.ec-category-card:hover {
    transform: translateY(-6px);
    border-color: var(--ec-gold-str);
    box-shadow: var(--ec-glow);
}
.ec-category-card-img { position: absolute; inset: 0; overflow: hidden; }
.ec-category-card-img img {
    width: 100%; height: 100%; object-fit: cover; transition: .6s;
    filter: brightness(.7) saturate(.6);
}
.ec-category-card:hover .ec-category-card-img img {
    transform: scale(1.1);
    filter: brightness(.85) saturate(.9);
}
.ec-category-card-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(10,10,15,0.92) 0%, rgba(10,10,15,0.35) 60%, transparent 100%);
    display: flex; flex-direction: column; justify-content: flex-end;
    padding: 14px; z-index: 1;
}
.ec-category-name { font-size: .82rem; font-weight: 800; color: var(--ec-text); margin-bottom: 2px; }
.ec-category-count { font-size: .6rem; color: var(--ec-gold); }
.ec-category-card::after {
    content: ''; position: absolute; inset: -1px; border-radius: 18px;
    border: 2px solid var(--ec-gold); opacity: 0; transition: .4s;
    box-shadow: var(--ec-glow);
}
.ec-category-card:hover::after { opacity: .5; }

@media(min-width:768px) {
    .ec-categories-grid { grid-template-columns: repeat(3,1fr); gap: 16px; }
    .ec-category-card { aspect-ratio: 4/3; }
}
@media(min-width:1024px) {
    .ec-categories-grid { grid-template-columns: repeat(4,1fr); gap: 20px; }
    .ec-category-card { border-radius: 22px; aspect-ratio: 1/1.1; }
    .ec-category-card-overlay { padding: 20px; }
    .ec-category-name { font-size: .95rem; }
    .ec-category-count { font-size: .7rem; }
    .ec-category-card::after { border-radius: 22px; }
}

/* ════════════════════════════════════════════════════
   PRODUCTS GRID
   ════════════════════════════════════════════════════ */
.ec-products-grid {
    display: grid; grid-template-columns: repeat(2,1fr);
    gap: 12px; max-width: 1400px; margin: 0 auto;
}
.ec-product-card {
    position: relative; border-radius: 18px;
    background: var(--ec-surface);
    border: 1px solid var(--ec-bdr);
    overflow: hidden; backdrop-filter: blur(8px);
    transition: .5s var(--ec-ease);
}
.ec-product-card:hover {
    transform: translateY(-6px);
    border-color: var(--ec-gold-str);
    box-shadow: var(--ec-glow);
}

.ec-product-img {
    position: relative; height: 150px; overflow: hidden;
    background: linear-gradient(135deg, rgba(194,164,112,0.05), rgba(19,19,30,0.95));
    display: flex; align-items: center; justify-content: center; padding: 12px;
}
.ec-product-img img {
    width: 100%; height: 100%; object-fit: contain; transition: .5s;
    filter: drop-shadow(0 4px 15px rgba(0,0,0,0.4));
}
.ec-product-card:hover .ec-product-img img { transform: scale(1.08); }

.ec-badge-new  {
    position: absolute; top: 8px; right: 8px;
    padding: 3px 10px; border-radius: 7px;
    font-size: .58rem; font-weight: 700;
    background: var(--ec-gold); color: var(--ec-bg);
    box-shadow: var(--ec-glow);
}
.ec-badge-sale {
    position: absolute; top: 8px; right: 8px;
    padding: 3px 10px; border-radius: 7px;
    font-size: .58rem; font-weight: 700;
    background: #e74c3c; color: #fff;
}

.ec-product-body { padding: 12px; }
.ec-product-brand {
    font-size: .58rem; font-weight: 600; color: var(--ec-gold);
    text-transform: uppercase; letter-spacing: .8px; margin-bottom: 3px;
}
.ec-product-name {
    font-size: .8rem; font-weight: 700; color: var(--ec-text);
    margin-bottom: 6px;
    display: -webkit-box; -webkit-line-clamp: 2;
    -webkit-box-orient: vertical; overflow: hidden;
}
.ec-product-rating { display: flex; align-items: center; gap: 3px; margin-bottom: 8px; }
.ec-product-rating i { font-size: .55rem; color: var(--ec-gold); }
.ec-product-rating span { font-size: .55rem; color: var(--ec-text4); }
.ec-product-footer {
    display: flex; align-items: center;
    justify-content: space-between; flex-wrap: wrap; gap: 6px;
}
.ec-product-price {
    font-size: .95rem; font-weight: 900;
    color: var(--ec-gold);
    text-shadow: var(--ec-glow-txt);
}
.ec-product-old-price {
    font-size: .65rem; color: var(--ec-text4);
    text-decoration: line-through; margin-left: 4px;
}

.ec-add-to-cart-btn {
    display: flex; align-items: center; gap: 6px;
    padding: 8px 14px; border-radius: 10px;
    background: var(--ec-gold-dim); border: 1px solid var(--ec-gold-bdr);
    color: var(--ec-gold); font-size: .68rem; font-weight: 700;
    transition: .3s; white-space: nowrap; cursor: pointer;
}
.ec-add-to-cart-btn i { font-size: .7rem; }
.ec-add-to-cart-btn:hover {
    background: linear-gradient(135deg, var(--ec-gold), var(--ec-gold-d));
    color: var(--ec-bg);
    box-shadow: var(--ec-glow);
    border-color: transparent;
}
.ec-add-to-cart-btn.loading { opacity: .7; pointer-events: none; }

@media(min-width:1024px) {
    .ec-products-grid { grid-template-columns: repeat(4,1fr); gap: 24px; }
    .ec-product-card { border-radius: 22px; }
    .ec-product-img { height: 230px; padding: 18px; }
    .ec-product-body { padding: 18px; }
    .ec-product-name { font-size: .92rem; margin-bottom: 8px; }
    .ec-product-price { font-size: 1.1rem; }
    .ec-add-to-cart-btn { padding: 9px 18px; font-size: .75rem; border-radius: 12px; }
}

/* ════════════════════════════════════════════════════
   FEATURES BAR
   ════════════════════════════════════════════════════ */
.ec-features-bar {
    position: relative; z-index: 1; padding: 40px 16px;
    background: linear-gradient(180deg, var(--ec-bg2), var(--ec-bg));
    border-top: 1px solid var(--ec-bdr);
    border-bottom: 1px solid var(--ec-bdr);
}
.ec-features-grid {
    display: grid; grid-template-columns: repeat(2,1fr);
    gap: 14px; max-width: 1200px; margin: 0 auto;
}
.ec-feature-item {
    display: flex; flex-direction: column; align-items: center; text-align: center;
    padding: 18px 10px; gap: 10px; border-radius: 16px;
    background: var(--ec-surface); border: 1px solid var(--ec-bdr);
    transition: .3s var(--ec-ease);
}
.ec-feature-item:hover {
    border-color: var(--ec-gold-str);
    box-shadow: var(--ec-glow);
    transform: translateY(-3px);
}
.ec-feature-icon {
    width: 42px; height: 42px; border-radius: 12px;
    background: var(--ec-gold-dim);
    border: 1px solid var(--ec-gold-bdr);
    display: flex; align-items: center; justify-content: center;
    font-size: 1rem; color: var(--ec-gold);
}
.ec-feature-item h4 { font-size: .75rem; font-weight: 700; color: var(--ec-text); }
.ec-feature-item p  { font-size: .6rem; color: var(--ec-text2); }

@media(min-width:1024px) {
    .ec-features-bar { padding: 56px 60px; }
    .ec-features-grid { grid-template-columns: repeat(4,1fr); gap: 24px; }
    .ec-feature-item {
        flex-direction: row; text-align: right;
        padding: 22px 18px; gap: 14px; border-radius: 20px;
    }
    .ec-feature-icon { width: 52px; height: 52px; font-size: 1.2rem; flex-shrink: 0; }
    .ec-feature-item h4 { font-size: .88rem; }
    .ec-feature-item p { font-size: .72rem; }
}

/* ════════════════════════════════════════════════════
   DEALS SECTION
   ════════════════════════════════════════════════════ */
.ec-deals-wrap { max-width: 1400px; margin: 0 auto; }
.ec-deal-card {
    position: relative; border-radius: 20px; overflow: hidden;
    border: 1px solid var(--ec-bdr); min-height: 300px;
    display: flex; align-items: center;
}
.ec-deal-bg { position: absolute; inset: 0; }
.ec-deal-bg img {
    width: 100%; height: 100%; object-fit: cover;
    filter: brightness(.35) saturate(.5);
}
.ec-deal-bg::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(135deg, rgba(10,10,15,0.88) 30%, rgba(10,10,15,0.50) 100%);
}
.ec-deal-content { position: relative; z-index: 1; padding: 30px 20px; width: 100%; }

.ec-countdown { display: flex; gap: 10px; margin-bottom: 16px; flex-wrap: wrap; }
.ec-count-box {
    display: flex; flex-direction: column; align-items: center;
    padding: 8px 12px; border-radius: 10px;
    background: var(--ec-gold-dim); border: 1px solid var(--ec-gold-bdr);
    min-width: 52px;
}
.ec-count-val {
    font-size: 1.3rem; font-weight: 900;
    color: var(--ec-gold); text-shadow: var(--ec-glow-txt);
}
.ec-count-label { font-size: .52rem; color: var(--ec-text2); }

.ec-deal-title { font-size: 1.4rem; font-weight: 900; margin-bottom: 6px; color: var(--ec-text); }
.ec-deal-title em { font-style: normal; color: var(--ec-gold); text-shadow: var(--ec-glow-txt); }
.ec-deal-desc { font-size: .8rem; color: var(--ec-text2); margin-bottom: 18px; }

.ec-coupon-wrap {
    display: inline-flex; align-items: center;
    border-radius: 12px; overflow: hidden;
    border: 2px dashed var(--ec-gold-str); margin-bottom: 16px;
}
.ec-coupon-code {
    padding: 10px 16px; background: var(--ec-gold-dim);
    font-size: .85rem; font-weight: 900; color: var(--ec-gold);
    letter-spacing: 2px; direction: ltr;
}
.ec-coupon-copy {
    padding: 10px 14px;
    background: linear-gradient(135deg, var(--ec-gold), var(--ec-gold-d));
    color: var(--ec-bg); font-size: .75rem; font-weight: 700;
    border: none; display: flex; align-items: center; gap: 6px; transition: .3s;
    cursor: pointer;
}
.ec-coupon-copy:hover { background: var(--ec-gold-l); }
.ec-coupon-copy.copied { background: #27ae60; color: #fff; }

@media(min-width:1024px) {
    .ec-deal-card { border-radius: 28px; min-height: 380px; }
    .ec-deal-content { padding: 50px 60px; max-width: 60%; }
    .ec-deal-title { font-size: 2.2rem; }
    .ec-deal-desc { font-size: .95rem; }
    .ec-count-box { padding: 12px 18px; min-width: 70px; }
    .ec-count-val { font-size: 1.7rem; }
}

/* ════════════════════════════════════════════════════
   NEWSLETTER
   ════════════════════════════════════════════════════ */
.ec-newsletter { position: relative; z-index: 1; padding: 50px 16px; }
.ec-newsletter-box {
    max-width: 600px; margin: 0 auto; text-align: center;
    padding: 30px 20px; border-radius: 22px;
    background: var(--ec-surface);
    border: 1px solid var(--ec-bdr);
    backdrop-filter: blur(10px);
    position: relative; overflow: hidden;
}
.ec-newsletter-box::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0; height: 2px;
    background: linear-gradient(90deg, transparent, var(--ec-gold), transparent);
}
.ec-newsletter-icon {
    width: 52px; height: 52px; border-radius: 14px;
    background: var(--ec-gold-dim);
    border: 1px solid var(--ec-gold-bdr);
    margin: 0 auto 14px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.3rem; color: var(--ec-gold);
}
.ec-newsletter-box h3 { font-size: 1.15rem; font-weight: 800; margin-bottom: 6px; color: var(--ec-text); }
.ec-newsletter-box p { font-size: .78rem; color: var(--ec-text2); margin-bottom: 18px; }

.ec-newsletter-form { display: flex; flex-direction: column; gap: 10px; }
.ec-newsletter-form input[type="email"] {
    width: 100%; padding: 12px 16px; border-radius: 12px;
    background: var(--ec-bg2); border: 1px solid var(--ec-bdr);
    color: var(--ec-text); font-size: .82rem; outline: none; transition: .3s;
}
.ec-newsletter-form input[type="email"]:focus { border-color: var(--ec-gold); box-shadow: 0 0 0 3px rgba(194,164,112,0.10); }
.ec-newsletter-form input::placeholder { color: var(--ec-text4); }
.ec-newsletter-form .ec-btn-primary { justify-content: center; }

.ec-nl-msg { font-size: .78rem; margin-top: 8px; }
.ec-nl-msg.success { color: #27ae60; }
.ec-nl-msg.error   { color: #e74c3c; }

@media(min-width:1024px) {
    .ec-newsletter { padding: 80px 60px; }
    .ec-newsletter-box { padding: 50px 40px; border-radius: 28px; max-width: 700px; }
    .ec-newsletter-box h3 { font-size: 1.5rem; }
    .ec-newsletter-box p { font-size: .92rem; }
    .ec-newsletter-form { flex-direction: row; }
    .ec-newsletter-form input[type="email"] { flex: 1; }
}

/* ════════════════════════════════════════════════════
   FOOTER
   ════════════════════════════════════════════════════ */
.ec-footer {
    position: relative; z-index: 1;
    padding: 40px 16px 18px;
    background: var(--ec-bg2);
    border-top: 1px solid var(--ec-bdr);
}
.ec-footer::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0; height: 1px;
    background: linear-gradient(90deg, transparent, var(--ec-gold), transparent);
}
.ec-footer-grid {
    display: grid; grid-template-columns: 1fr;
    gap: 26px; max-width: 1200px; margin: 0 auto 28px;
}
.ec-footer-brand { direction: ltr; text-align: left; }
.ec-footer-brand img {
    width: 120px; height: 30px; object-fit: contain;
    margin-bottom: 10px;
    filter: brightness(1.1);
}
.ec-footer-brand-text {
    display: none; font-size: 1.2rem; font-weight: 900;
    color: var(--ec-gold); letter-spacing: 1.5px; margin-bottom: 10px;
}
.ec-footer-brand-text span { color: var(--ec-text); }
.ec-footer-desc {
    font-size: .72rem; color: var(--ec-text2);
    line-height: 1.8; margin-bottom: 12px;
    direction: rtl; text-align: right;
}
.ec-footer-social { display: flex; gap: 8px; }
.ec-social-btn {
    width: 34px; height: 34px; border-radius: 9px;
    background: var(--ec-gold-dim); border: 1px solid var(--ec-gold-bdr);
    display: flex; align-items: center; justify-content: center;
    color: var(--ec-gold); font-size: .85rem; transition: .3s;
}
.ec-social-btn:hover {
    background: var(--ec-gold); color: var(--ec-bg);
    box-shadow: var(--ec-glow);
}

.ec-footer-col h4 { font-size: .82rem; font-weight: 700; margin-bottom: 10px; color: var(--ec-text); }
.ec-footer-col a {
    display: block; font-size: .72rem; color: var(--ec-text2);
    padding: 3px 0; transition: .3s;
}
.ec-footer-col a:hover { color: var(--ec-gold); padding-right: 5px; }
.ec-footer-col a i { margin-left: 6px; color: var(--ec-gold); font-size: .7rem; }

.ec-footer-bottom {
    padding-top: 18px; border-top: 1px solid var(--ec-bdr);
    display: flex; flex-direction: column; align-items: center; gap: 8px;
    max-width: 1200px; margin: 0 auto;
}
.ec-footer-bottom p { font-size: .65rem; color: var(--ec-text4); text-align: center; }
.ec-footer-bottom a { color: var(--ec-gold); }
.ec-payment-icons { display: flex; gap: 8px; }
.ec-payment-icons i { font-size: 1.3rem; color: var(--ec-text4); }

@media(min-width:1024px) {
    .ec-footer { padding: 56px 60px 20px; }
    .ec-footer-grid { grid-template-columns: 2fr 1fr 1fr 1fr; gap: 36px; }
    .ec-footer-brand img { width: 150px; height: 35px; }
    .ec-footer-desc { font-size: .82rem; }
    .ec-footer-col h4 { font-size: .92rem; }
    .ec-footer-col a { font-size: .8rem; }
    .ec-footer-bottom { flex-direction: row; justify-content: space-between; }
}

/* ════════════════════════════════════════════════════
   REVEAL ANIMATION
   ════════════════════════════════════════════════════ */
.ec-reveal { opacity: 0; transform: translateY(35px); transition: .7s var(--ec-ease); }
.ec-reveal.visible { opacity: 1; transform: translateY(0); }

/* ════════════════════════════════════════════════════
   WOOCOMMERCE OVERRIDES
   ════════════════════════════════════════════════════ */

/* ── Shop Archive ── */
.ec-shop-wrap {
    position: relative; z-index: 1;
    padding: 100px 16px 60px;
    max-width: 1440px; margin: 0 auto;
}
.ec-shop-header {
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 12px; margin-bottom: 28px;
}
.ec-shop-title { font-size: 1.4rem; font-weight: 800; color: var(--ec-text); }
.ec-shop-orderby {
    padding: 8px 14px; border-radius: 10px;
    border: 1px solid var(--ec-bdr);
    background: var(--ec-surface); color: var(--ec-text);
    font-size: .8rem; outline: none; transition: .3s;
    cursor: pointer;
}
.ec-shop-orderby:focus { border-color: var(--ec-gold); }

@media(min-width:1024px) {
    .ec-shop-wrap { padding: 100px 60px 80px; }
    .ec-shop-title { font-size: 1.8rem; }
}

/* ── Single Product ── */
.ec-product-page {
    position: relative; z-index: 1;
    padding: 0 16px 40px; max-width: 1400px; margin: 0 auto;
}
.ec-product-breadcrumb {
    position: relative; z-index: 1;
    padding: 70px 16px 12px;
    max-width: 1400px; margin: 0 auto;
}
.ec-product-breadcrumb ul {
    display: flex; align-items: center; gap: 8px;
    font-size: .7rem; color: var(--ec-text2);
    flex-wrap: wrap; list-style: none; padding: 0; margin: 0;
}
.ec-product-breadcrumb a:hover { color: var(--ec-gold); }
.ec-product-breadcrumb .current { color: var(--ec-gold); font-weight: 600; }
.ec-product-breadcrumb i { font-size: .5rem; color: var(--ec-text4); }

.ec-product-gallery { margin-bottom: 24px; }
.ec-gallery-main {
    position: relative; border-radius: 20px; overflow: hidden;
    background: var(--ec-surface); border: 1px solid var(--ec-bdr);
    aspect-ratio: 1/1;
    display: flex; align-items: center; justify-content: center;
    padding: 20px; margin-bottom: 12px;
    transition: border-color .3s;
}
.ec-gallery-main:hover { border-color: var(--ec-gold-str); }
.ec-gallery-main img {
    width: 100%; height: 100%; object-fit: contain; transition: .4s;
    filter: drop-shadow(0 8px 30px rgba(0,0,0,0.5));
}
.ec-gallery-main:hover img { transform: scale(1.05); }

.ec-gallery-thumbs { display: flex; gap: 8px; overflow-x: auto; }
.ec-gallery-thumb {
    width: 70px; height: 70px; flex-shrink: 0; border-radius: 12px; overflow: hidden;
    background: var(--ec-surface); border: 2px solid var(--ec-bdr);
    padding: 6px; cursor: pointer; transition: .3s;
    display: flex; align-items: center; justify-content: center;
}
.ec-gallery-thumb img { width: 100%; height: 100%; object-fit: contain; }
.ec-gallery-thumb.active,
.ec-gallery-thumb:hover {
    border-color: var(--ec-gold);
    box-shadow: var(--ec-glow);
}

.ec-product-info { display: flex; flex-direction: column; gap: 16px; }
.ec-product-info-brand {
    font-size: .7rem; font-weight: 600; color: var(--ec-gold);
    text-transform: uppercase; letter-spacing: 1.5px;
}
.ec-product-info-name { font-size: 1.4rem; font-weight: 900; line-height: 1.3; color: var(--ec-text); }

.ec-price-box { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.ec-price-now {
    font-size: 1.8rem; font-weight: 900;
    color: var(--ec-gold); text-shadow: var(--ec-glow-txt);
}
.ec-price-old { font-size: 1rem; color: var(--ec-text4); text-decoration: line-through; }
.ec-price-save {
    padding: 4px 12px; border-radius: 8px;
    background: rgba(231,76,60,0.15); color: #e74c3c;
    font-size: .7rem; font-weight: 700;
}

.ec-product-divider { height: 1px; background: var(--ec-bdr); }

.ec-product-short-desc { font-size: .82rem; color: var(--ec-text2); line-height: 1.9; }
.ec-product-short-desc ul { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }
.ec-product-short-desc li {
    display: flex; align-items: center; gap: 8px;
    color: var(--ec-text); font-size: .78rem;
}
.ec-product-short-desc li i { color: var(--ec-gold); font-size: .6rem; width: 16px; flex-shrink: 0; }

/* WC quantity input */
.ec-qty-section { display: flex; align-items: center; gap: 14px; }
.ec-qty-label { font-size: .8rem; font-weight: 700; color: var(--ec-text); }
.ec-qty-box {
    display: flex; align-items: center; border-radius: 12px; overflow: hidden;
    border: 1px solid var(--ec-bdr); background: var(--ec-surface);
}
.ec-qty-box input[type=number] {
    width: 44px; text-align: center; font-size: .9rem; font-weight: 800;
    color: var(--ec-text); background: none; border: none;
    border-left: 1px solid var(--ec-bdr); border-right: 1px solid var(--ec-bdr);
    -moz-appearance: textfield; padding: 10px 0;
}
.ec-qty-box input::-webkit-outer-spin-button,
.ec-qty-box input::-webkit-inner-spin-button { -webkit-appearance: none; }
.ec-qty-btn {
    width: 40px; height: 40px; background: none; border: none;
    color: var(--ec-gold); font-size: .9rem;
    display: flex; align-items: center; justify-content: center; transition: .3s;
}
.ec-qty-btn:hover { background: var(--ec-gold-dim); }

.ec-desktop-add { display: none; }

.ec-product-meta-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.ec-meta-tag {
    display: flex; align-items: center; gap: 6px;
    padding: 8px 14px; border-radius: 10px;
    background: var(--ec-surface); border: 1px solid var(--ec-bdr);
    font-size: .68rem; font-weight: 600; color: var(--ec-text2);
}
.ec-meta-tag i { color: var(--ec-gold); font-size: .7rem; }

/* Product tabs */
.ec-product-tabs {
    position: relative; z-index: 1;
    padding: 30px 16px 40px; max-width: 1400px; margin: 0 auto;
}
.ec-tabs-nav {
    display: flex; gap: 4px; overflow-x: auto; padding-bottom: 2px;
    margin-bottom: 24px; border-bottom: 1px solid var(--ec-bdr);
}
.ec-tabs-nav::-webkit-scrollbar { display: none; }
.ec-tab-btn {
    padding: 12px 18px; font-size: .78rem; font-weight: 700;
    color: var(--ec-text2); background: none; border: none;
    border-bottom: 2px solid transparent; white-space: nowrap; transition: .3s;
}
.ec-tab-btn.active { color: var(--ec-gold); border-bottom-color: var(--ec-gold); }
.ec-tab-btn:hover  { color: var(--ec-gold); }
.ec-tab-panel { display: none; animation: ec-fade-in .4s ease; }
.ec-tab-panel.active { display: block; }
@keyframes ec-fade-in { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }

.ec-desc-content { font-size: .82rem; color: var(--ec-text2); line-height: 2; }
.ec-desc-content h3 {
    font-size: 1.1rem; font-weight: 800;
    color: var(--ec-text); margin-bottom: 8px; margin-top: 20px;
}
.ec-spec-grid {
    border-radius: 16px; overflow: hidden;
    border: 1px solid var(--ec-bdr); margin-top: 16px;
}
.ec-spec-row { display: flex; border-bottom: 1px solid var(--ec-bdr); }
.ec-spec-row:last-child { border-bottom: none; }
.ec-spec-label {
    flex: 0 0 40%; padding: 12px 16px;
    background: var(--ec-surface);
    font-size: .75rem; font-weight: 700; color: var(--ec-text);
}
.ec-spec-val { flex: 1; padding: 12px 16px; font-size: .75rem; color: var(--ec-text2); }

/* Reviews */
.ec-reviews-summary {
    display: flex; gap: 20px; align-items: center;
    padding: 20px; border-radius: 18px;
    background: var(--ec-surface); border: 1px solid var(--ec-bdr);
    margin-bottom: 24px; flex-wrap: wrap;
}
.ec-rating-big { text-align: center; min-width: 80px; }
.ec-rating-big-num {
    font-size: 2.8rem; font-weight: 900;
    color: var(--ec-gold); text-shadow: var(--ec-glow-txt); line-height: 1;
}
.ec-rating-big-stars { display: flex; gap: 2px; justify-content: center; margin: 6px 0 4px; }
.ec-rating-big-stars i { font-size: .7rem; color: var(--ec-gold); }
.ec-rating-big-count { font-size: .65rem; color: var(--ec-text2); }
.ec-rating-bars { flex: 1; min-width: 180px; display: flex; flex-direction: column; gap: 6px; }
.ec-rating-bar-row { display: flex; align-items: center; gap: 8px; }
.ec-rating-bar-label { font-size: .65rem; font-weight: 700; color: var(--ec-text2); width: 14px; text-align: center; }
.ec-rating-bar-track { flex: 1; height: 6px; border-radius: 3px; background: var(--ec-bdr); overflow: hidden; }
.ec-rating-bar-fill {
    height: 100%; border-radius: 3px;
    background: linear-gradient(90deg, var(--ec-gold-d), var(--ec-gold));
}
.ec-rating-bar-count { font-size: .6rem; color: var(--ec-text4); width: 24px; }

.ec-review-list { display: flex; flex-direction: column; gap: 14px; }
.ec-review-card {
    padding: 18px; border-radius: 16px;
    background: var(--ec-surface); border: 1px solid var(--ec-bdr);
    transition: border-color .3s;
}
.ec-review-card:hover { border-color: var(--ec-gold-bdr); }
.ec-review-header {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 10px; flex-wrap: wrap; gap: 8px;
}
.ec-review-user { display: flex; align-items: center; gap: 10px; }
.ec-review-avatar {
    width: 36px; height: 36px; border-radius: 10px;
    background: var(--ec-gold-dim); border: 1px solid var(--ec-gold-bdr);
    display: flex; align-items: center; justify-content: center;
    font-size: .8rem; font-weight: 800; color: var(--ec-gold);
}
.ec-review-name { font-size: .78rem; font-weight: 700; color: var(--ec-text); }
.ec-review-date { font-size: .6rem; color: var(--ec-text4); }
.ec-review-stars { display: flex; gap: 2px; }
.ec-review-stars i { font-size: .6rem; color: var(--ec-gold); }
.ec-review-text { font-size: .78rem; color: var(--ec-text2); line-height: 1.9; }
.ec-review-verified {
    display: inline-flex; align-items: center; gap: 4px;
    font-size: .6rem; color: #27ae60; font-weight: 600; margin-top: 8px;
}

/* Related products */
.ec-related {
    position: relative; z-index: 1;
    padding: 0 16px 50px; max-width: 1400px; margin: 0 auto;
}
.ec-related-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }

/* Sticky mobile bar (product page) */
.ec-sticky-bar {
    position: fixed; bottom: 0; left: 0; right: 0; z-index: 900;
    padding: 12px 16px;
    background: rgba(10,10,15,0.97);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-top: 1px solid var(--ec-bdr);
    display: flex; align-items: center; gap: 12px;
}
.ec-sticky-price { display: flex; flex-direction: column; min-width: 0; }
.ec-sticky-price .sp-now {
    font-size: 1.05rem; font-weight: 900;
    color: var(--ec-gold); text-shadow: var(--ec-glow-txt);
    white-space: nowrap;
}
.ec-sticky-price .sp-old { font-size: .65rem; color: var(--ec-text4); text-decoration: line-through; }
.ec-sticky-add {
    flex: 1; padding: 13px 20px; border-radius: 12px;
    background: linear-gradient(135deg, var(--ec-gold), var(--ec-gold-d));
    color: var(--ec-bg);
    font-weight: 800; font-size: .85rem; border: none;
    box-shadow: var(--ec-glow); transition: .4s;
    display: flex; align-items: center; justify-content: center; gap: 8px;
}
.ec-sticky-add:active { transform: scale(.97); }

@media(min-width:1024px) {
    .ec-product-page { padding: 0 60px 60px; display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: start; }
    .ec-product-breadcrumb { padding: 80px 60px 16px; }
    .ec-gallery-thumbs { gap: 10px; }
    .ec-gallery-thumb { width: 85px; height: 85px; padding: 8px; border-radius: 14px; }
    .ec-product-gallery { position: sticky; top: 80px; }
    .ec-product-info-name { font-size: 1.8rem; }
    .ec-price-now { font-size: 2.2rem; }
    .ec-desktop-add { display: flex; gap: 12px; }
    .ec-desktop-add .ec-btn-add-cart {
        flex: 1; padding: 16px 30px; border-radius: 14px;
        background: linear-gradient(135deg, var(--ec-gold), var(--ec-gold-d));
        color: var(--ec-bg) !important;
        font-weight: 800; font-size: .95rem; border: none;
        box-shadow: var(--ec-glow); transition: .4s;
        display: flex; align-items: center; justify-content: center; gap: 10px;
        position: relative; overflow: hidden;
    }
    .ec-desktop-add .ec-btn-add-cart::before {
        content: ''; position: absolute; top: 0; left: -100%;
        width: 100%; height: 100%;
        background: linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);
        transition: .6s;
    }
    .ec-desktop-add .ec-btn-add-cart:hover::before { left: 100%; }
    .ec-desktop-add .ec-btn-add-cart:hover { transform: translateY(-2px); box-shadow: var(--ec-glow2); }
    .ec-sticky-bar { display: none; }
    .ec-product-tabs { padding: 40px 60px 60px; }
    .ec-related { padding: 0 60px 80px; }
    .ec-related-grid { grid-template-columns: repeat(4,1fr); gap: 20px; }
}

/* ════════════════════════════════════════════════════
   CART PAGE
   ════════════════════════════════════════════════════ */
.ec-cart-page {
    position: relative; z-index: 1;
    padding: 90px 16px 60px;
    max-width: 1200px; margin: 0 auto;
}
.ec-cart-page h1 {
    font-size: 1.4rem; font-weight: 900; margin-bottom: 24px;
    display: flex; align-items: center; gap: 10px; color: var(--ec-text);
}
.ec-cart-page h1 i { color: var(--ec-gold); font-size: 1.2rem; }

.ec-cart-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin-bottom: 20px; }

.ec-cart-table { width: 100%; border-collapse: collapse; min-width: 500px; }
.ec-cart-table th {
    font-size: .72rem; font-weight: 700; color: var(--ec-text2);
    padding: 10px 10px; border-bottom: 2px solid var(--ec-bdr);
    text-align: right; white-space: nowrap;
}
.ec-cart-table td {
    padding: 12px 10px; border-bottom: 1px solid var(--ec-bdr);
    vertical-align: middle; font-size: .82rem;
    font-weight: 600; color: var(--ec-gold);
}
.ec-cart-table td.product-name { color: var(--ec-text); font-weight: 400; }

.ec-cart-product-wrap { display: flex; align-items: center; gap: 10px; }
.ec-cart-product-img {
    width: 56px; height: 56px; flex-shrink: 0;
    border-radius: 10px; overflow: hidden;
    background: var(--ec-surface2); padding: 5px;
    display: flex; align-items: center; justify-content: center;
    border: 1px solid var(--ec-bdr);
}
.ec-cart-product-img img { width: 100%; height: 100%; object-fit: contain; }
.ec-cart-product-name a { color: var(--ec-text); text-decoration: none; font-weight: 700; font-size: .82rem; }
.ec-cart-product-name a:hover { color: var(--ec-gold); }
.ec-cart-remove-btn {
    display: flex; align-items: center; justify-content: center;
    width: 28px; height: 28px; border-radius: 8px;
    background: rgba(231,76,60,0.08); border: 1px solid rgba(231,76,60,0.2);
    color: #e74c3c; font-size: .75rem; cursor: pointer; transition: .3s;
    text-decoration: none;
}
.ec-cart-remove-btn:hover { background: #e74c3c; color: #fff; }

.ec-cart-actions {
    display: flex; justify-content: space-between;
    align-items: center; flex-wrap: wrap; gap: 10px;
    margin-bottom: 28px;
}
.ec-coupon-form { display: flex; gap: 8px; flex-wrap: wrap; }
.ec-coupon-form input {
    padding: 9px 14px; border-radius: 10px;
    border: 1px solid var(--ec-bdr); background: var(--ec-surface);
    color: var(--ec-text); font-size: .82rem; width: 160px; outline: none; transition: .3s;
}
.ec-coupon-form input::placeholder { color: var(--ec-text4); }
.ec-coupon-form input:focus { border-color: var(--ec-gold); }
.ec-btn-sm {
    padding: 9px 16px; border-radius: 10px;
    background: var(--ec-gold-dim); border: 1px solid var(--ec-gold-bdr);
    color: var(--ec-gold); font-size: .78rem; font-weight: 700;
    cursor: pointer; transition: .3s;
    display: inline-flex; align-items: center; gap: 6px;
    text-decoration: none; white-space: nowrap;
}
.ec-btn-sm:hover {
    background: linear-gradient(135deg, var(--ec-gold), var(--ec-gold-d));
    color: var(--ec-bg);
    box-shadow: var(--ec-glow);
    border-color: transparent;
}

.ec-cart-totals-box {
    max-width: 400px; margin-right: auto;
    padding: 22px; border-radius: 18px;
    background: var(--ec-surface); border: 1px solid var(--ec-bdr);
    position: relative; overflow: hidden;
}
.ec-cart-totals-box::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0; height: 2px;
    background: linear-gradient(90deg, transparent, var(--ec-gold), transparent);
}
.ec-cart-totals-box h3 { font-size: .95rem; font-weight: 800; margin-bottom: 16px; color: var(--ec-text); }
.ec-cart-total-row {
    display: flex; justify-content: space-between;
    padding: 9px 0; border-bottom: 1px solid var(--ec-bdr);
    font-size: .82rem; color: var(--ec-text2);
}
.ec-cart-total-row:last-of-type { border: none; }
.ec-cart-grand-total {
    font-size: .95rem !important; font-weight: 900 !important;
    color: var(--ec-gold) !important;
    padding-top: 12px !important; margin-top: 4px;
    text-shadow: var(--ec-glow-txt);
}
.ec-checkout-link {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    width: 100%; padding: 14px; border-radius: 12px;
    margin-top: 16px;
    background: linear-gradient(135deg, var(--ec-gold), var(--ec-gold-d));
    color: var(--ec-bg) !important;
    font-weight: 800; font-size: .92rem;
    box-shadow: var(--ec-glow); transition: .4s; text-decoration: none;
    position: relative; overflow: hidden;
}
.ec-checkout-link::before {
    content: ''; position: absolute; top: 0; left: -100%;
    width: 100%; height: 100%;
    background: linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);
    transition: .6s;
}
.ec-checkout-link:hover::before { left: 100%; }
.ec-checkout-link:hover {
    box-shadow: var(--ec-glow2);
    transform: translateY(-2px);
    color: var(--ec-bg) !important;
}

.ec-cart-empty-state { text-align: center; padding: 70px 20px; }
.ec-cart-empty-icon {
    width: 80px; height: 80px; border-radius: 20px;
    background: var(--ec-gold-dim);
    border: 1px solid var(--ec-gold-bdr);
    display: flex; align-items: center;
    justify-content: center; margin: 0 auto 20px;
    font-size: 2rem; color: var(--ec-gold);
}
.ec-cart-empty-state h2 { font-size: 1.3rem; font-weight: 800; margin-bottom: 8px; color: var(--ec-text); }
.ec-cart-empty-state p { font-size: .85rem; color: var(--ec-text2); margin-bottom: 22px; }

.ec-cart-qty-wrap {
    display: inline-flex; align-items: center;
    border-radius: 10px; border: 1px solid var(--ec-bdr);
    background: var(--ec-surface); overflow: hidden;
}
.ec-cart-qty-btn {
    width: 34px; height: 36px;
    display: flex; align-items: center; justify-content: center;
    background: none; border: none; color: var(--ec-gold);
    font-size: .7rem; cursor: pointer; transition: .3s; flex-shrink: 0;
}
.ec-cart-qty-btn:hover { background: var(--ec-gold-dim); }
.ec-cart-qty-wrap .qty {
    width: 44px !important; text-align: center;
    padding: 6px 2px; border: none !important;
    background: transparent !important; color: var(--ec-text);
    font-size: .85rem; font-weight: 700;
    -moz-appearance: textfield; outline: none;
}
.ec-cart-qty-wrap .qty::-webkit-outer-spin-button,
.ec-cart-qty-wrap .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ec-qty-single { font-weight: 700; font-size: .85rem; }

@media(min-width:1024px) {
    .ec-cart-page { padding: 100px 60px 80px; }
    .ec-cart-totals-box { padding: 28px; }
}

/* ════════════════════════════════════════════════════
   CHECKOUT PAGE
   ════════════════════════════════════════════════════ */
.ec-checkout-page {
    position: relative; z-index: 1;
    padding: 90px 16px 60px;
    max-width: 1300px; margin: 0 auto;
}
.ec-checkout-page h1 {
    font-size: 1.4rem; font-weight: 900; margin-bottom: 22px;
    display: flex; align-items: center; gap: 10px; color: var(--ec-text);
}
.ec-checkout-page h1 i { color: var(--ec-gold); }

.ec-checkout-grid { display: grid; gap: 24px; }
@media(min-width:1024px) {
    .ec-checkout-page { padding: 100px 60px 80px; }
    .ec-checkout-grid { grid-template-columns: 1fr 380px; align-items: start; }
}

.ec-checkout-section {
    padding: 20px; border-radius: 16px;
    background: var(--ec-surface); border: 1px solid var(--ec-bdr);
    margin-bottom: 16px;
}
.ec-checkout-section h3 {
    font-size: .92rem; font-weight: 800; margin: 0 0 16px;
    padding-bottom: 12px; border-bottom: 1px solid var(--ec-bdr);
    display: flex; align-items: center; gap: 8px; color: var(--ec-text);
}
.ec-checkout-section h3 i { color: var(--ec-gold); }

.ec-form-row { display: grid; gap: 14px; margin-bottom: 14px; }
.ec-form-row.two-col { grid-template-columns: 1fr 1fr; }
.ec-form-group { display: flex; flex-direction: column; gap: 5px; margin-bottom: 12px; }
.ec-form-group label { font-size: .78rem; font-weight: 700; color: var(--ec-text); }
.ec-form-group label .required,
.ec-form-group .required { color: #e74c3c; }

.ec-form-group input,
.ec-form-group select,
.ec-form-group textarea {
    padding: 11px 14px; border-radius: 10px;
    border: 1px solid var(--ec-bdr);
    background: var(--ec-bg2);
    color: var(--ec-text); font-size: 16px; outline: none; transition: .3s; width: 100%;
}
.ec-form-group input:focus,
.ec-form-group select:focus,
.ec-form-group textarea:focus {
    border-color: var(--ec-gold);
    box-shadow: 0 0 0 3px rgba(194,164,112,0.10);
}
@media(min-width:768px) {
    .ec-form-group input,
    .ec-form-group select,
    .ec-form-group textarea { font-size: .85rem; }
}

/* Order summary sidebar */
.ec-order-summary {
    padding: 20px; border-radius: 16px;
    background: var(--ec-surface); border: 1px solid var(--ec-bdr);
    position: sticky; top: 80px;
    overflow: hidden;
}
.ec-order-summary::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0; height: 2px;
    background: linear-gradient(90deg, transparent, var(--ec-gold), transparent);
}
.ec-order-summary h3 { font-size: .95rem; font-weight: 800; margin-bottom: 16px; color: var(--ec-text); }
.ec-order-item {
    display: flex; gap: 10px; padding: 10px 0;
    border-bottom: 1px solid var(--ec-bdr);
    align-items: flex-start;
}
.ec-order-item-img {
    width: 50px; height: 50px; flex-shrink: 0;
    border-radius: 8px; overflow: hidden;
    background: var(--ec-surface2); padding: 5px;
    position: relative;
}
.ec-order-item-img img { width: 100%; height: 100%; object-fit: contain; }
.ec-order-item-qty {
    position: absolute; top: -4px; right: -4px;
    width: 20px; height: 20px; border-radius: 50%;
    background: var(--ec-gold); color: var(--ec-bg);
    font-size: .6rem; font-weight: 800;
    display: flex; align-items: center; justify-content: center; line-height: 1;
}
.ec-order-item-info { flex: 1; min-width: 0; }
.ec-order-item-name {
    font-size: .78rem; font-weight: 700;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    color: var(--ec-text);
}
.ec-order-item-price {
    font-size: .82rem; font-weight: 900;
    color: var(--ec-gold); margin-top: 2px;
}
.ec-order-total-rows { padding-top: 10px; }
.ec-order-total-row {
    display: flex; justify-content: space-between;
    font-size: .82rem; padding: 6px 0; color: var(--ec-text2);
}
.ec-order-total-row.grand {
    font-size: .95rem !important; font-weight: 900 !important;
    color: var(--ec-gold) !important;
    text-shadow: var(--ec-glow-txt);
    border-top: 1px solid var(--ec-bdr);
    padding-top: 12px; margin-top: 6px;
}

/* Place order button */
.ec-place-order-btn {
    width: 100%; padding: 15px; border-radius: 12px; margin-top: 20px;
    background: linear-gradient(135deg, var(--ec-gold), var(--ec-gold-d));
    color: var(--ec-bg);
    font-weight: 800; font-size: 1rem; border: none;
    box-shadow: var(--ec-glow); transition: .4s; cursor: pointer;
    display: flex; align-items: center; justify-content: center; gap: 10px;
    position: relative; overflow: hidden;
}
.ec-place-order-btn::before {
    content: ''; position: absolute; top: 0; left: -100%;
    width: 100%; height: 100%;
    background: linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);
    transition: .6s;
}
.ec-place-order-btn:hover::before { left: 100%; }
.ec-place-order-btn:hover { box-shadow: var(--ec-glow2); transform: translateY(-2px); }

/* Payment methods */
.ec-payment-methods { display: flex; flex-direction: column; gap: 10px; }
.ec-payment-option {
    display: flex; align-items: center; gap: 10px; padding: 12px 14px;
    border-radius: 10px; border: 1px solid var(--ec-bdr);
    background: var(--ec-bg2);
    cursor: pointer; transition: .3s;
}
.ec-payment-option:hover { border-color: var(--ec-gold-str); background: var(--ec-gold-dim); }
.ec-payment-option input[type=radio] { accent-color: var(--ec-gold); }
.ec-payment-option label { font-size: .85rem; font-weight: 600; cursor: pointer; color: var(--ec-text); }

/* ════════════════════════════════════════════════════
   MY ACCOUNT
   ════════════════════════════════════════════════════ */
.ec-account-page {
    position: relative; z-index: 1;
    padding: 100px 16px 60px;
    max-width: 1200px; margin: 0 auto;
}
@media(min-width:1024px) {
    .ec-account-page { padding: 100px 60px 80px; display: grid; grid-template-columns: 240px 1fr; gap: 40px; }
}

.ec-account-sidebar { margin-bottom: 28px; }
.ec-account-user {
    display: flex; align-items: center; gap: 14px;
    padding: 20px; border-radius: 16px;
    background: var(--ec-surface); border: 1px solid var(--ec-bdr);
    margin-bottom: 16px;
}
.ec-account-avatar {
    width: 50px; height: 50px; border-radius: 12px;
    background: linear-gradient(135deg, var(--ec-gold), var(--ec-gold-d));
    display: flex; align-items: center; justify-content: center;
    font-size: 1.2rem; color: var(--ec-bg); font-weight: 800; flex-shrink: 0;
    box-shadow: var(--ec-glow);
}
.ec-account-name { font-size: .88rem; font-weight: 700; color: var(--ec-text); }
.ec-account-email { font-size: .7rem; color: var(--ec-text2); }

.ec-account-nav { display: flex; flex-direction: column; gap: 4px; }
.ec-account-nav a {
    display: flex; align-items: center; gap: 10px;
    padding: 11px 14px; border-radius: 10px;
    font-size: .85rem; font-weight: 600;
    color: var(--ec-text2); transition: .3s;
}
.ec-account-nav a:hover,
.ec-account-nav a.active {
    background: var(--ec-gold-dim); color: var(--ec-gold);
}
.ec-account-nav a i { font-size: .85rem; color: var(--ec-gold); width: 18px; text-align: center; }
.ec-account-nav .logout-link { color: #e74c3c; }
.ec-account-nav .logout-link:hover { background: rgba(231,76,60,0.08); }
.ec-account-nav .logout-link i { color: #e74c3c; }

.ec-account-content {
    padding: 24px; border-radius: 20px;
    background: var(--ec-surface); border: 1px solid var(--ec-bdr);
}
.ec-account-content h2 { font-size: 1.2rem; font-weight: 800; margin-bottom: 20px; color: var(--ec-text); }

/* Login / Register */
.ec-auth-wrap {
    position: relative; z-index: 1;
    padding: 100px 16px 60px;
    max-width: 480px; margin: 0 auto;
}
.ec-auth-box {
    padding: 30px 24px; border-radius: 22px;
    background: var(--ec-surface); border: 1px solid var(--ec-bdr);
    position: relative; overflow: hidden;
}
.ec-auth-box::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0; height: 2px;
    background: linear-gradient(90deg, transparent, var(--ec-gold), transparent);
}
.ec-auth-box h2 { font-size: 1.4rem; font-weight: 900; margin-bottom: 24px; text-align: center; color: var(--ec-text); }
.ec-auth-box .ec-form-group { margin-bottom: 14px; }
.ec-auth-btn {
    width: 100%; padding: 13px; border-radius: 12px;
    background: linear-gradient(135deg, var(--ec-gold), var(--ec-gold-d));
    color: var(--ec-bg); font-weight: 800; font-size: .95rem;
    border: none; cursor: pointer; box-shadow: var(--ec-glow); transition: .4s;
    position: relative; overflow: hidden;
}
.ec-auth-btn::before {
    content: ''; position: absolute; top: 0; left: -100%;
    width: 100%; height: 100%;
    background: linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);
    transition: .6s;
}
.ec-auth-btn:hover::before { left: 100%; }
.ec-auth-btn:hover { box-shadow: var(--ec-glow2); }
.ec-auth-toggle { text-align: center; margin-top: 16px; font-size: .8rem; color: var(--ec-text2); }
.ec-auth-toggle a { color: var(--ec-gold); font-weight: 700; }

/* ════════════════════════════════════════════════════
   SEARCH POPUP
   ════════════════════════════════════════════════════ */
.ec-search-overlay {
    position: fixed; inset: 0;
    background: rgba(0,0,0,0.6);
    backdrop-filter: blur(4px);
    opacity: 0; pointer-events: none;
    transition: .4s; z-index: 1500;
}
.ec-search-overlay.show { opacity: 1; pointer-events: auto; }
.ec-search-popup {
    position: fixed; top: 0; left: 0; right: 0; z-index: 1600;
    padding: 20px 16px 24px;
    background: rgba(15,15,23,0.98);
    backdrop-filter: blur(30px);
    border-bottom: 1px solid var(--ec-bdr);
    transform: translateY(-100%); transition: .4s cubic-bezier(.77,0,.175,1);
}
.ec-search-popup.open { transform: translateY(0); }
.ec-search-inner { max-width: 700px; margin: 0 auto; }
.ec-search-header {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 16px;
}
.ec-search-header h3 { font-size: 1.1rem; font-weight: 800; color: var(--ec-text); }
.ec-search-close {
    background: none; border: none; color: var(--ec-text2);
    font-size: 1.2rem; cursor: pointer; transition: .3s;
}
.ec-search-close:hover { color: var(--ec-gold); }
.ec-search-input-wrap {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 16px; border-radius: 12px;
    border: 2px solid var(--ec-gold-str);
    background: var(--ec-bg2);
    box-shadow: var(--ec-glow);
}
.ec-search-input-wrap i { color: var(--ec-gold); font-size: .9rem; }
.ec-search-field {
    flex: 1; border: none; background: none;
    color: var(--ec-text); font-size: .95rem; outline: none;
}
.ec-search-field::placeholder { color: var(--ec-text4); }
.ec-search-results { margin-top: 14px; display: flex; flex-direction: column; gap: 8px; }
.ec-search-result-item {
    display: flex; align-items: center; gap: 12px;
    padding: 10px 12px; border-radius: 10px;
    border: 1px solid var(--ec-bdr); transition: .3s;
    background: var(--ec-surface);
}
.ec-search-result-item:hover { border-color: var(--ec-gold-str); background: var(--ec-gold-dim); }
.ec-search-result-img {
    width: 44px; height: 44px; border-radius: 8px; overflow: hidden;
    background: var(--ec-surface2); padding: 4px; flex-shrink: 0;
}
.ec-search-result-img img { width: 100%; height: 100%; object-fit: contain; }
.ec-search-result-name { font-size: .82rem; font-weight: 700; color: var(--ec-text); }
.ec-search-result-price { font-size: .8rem; color: var(--ec-gold); font-weight: 800; }

/* ════════════════════════════════════════════════════
   NOTICES
   ════════════════════════════════════════════════════ */
.ec-notice {
    padding: 12px 18px; border-radius: 10px;
    font-size: .82rem; font-weight: 600; margin-bottom: 16px;
    display: flex; align-items: center; gap: 10px;
}
.ec-notice.success { background: rgba(39,174,96,0.10); color: #2ecc71; border: 1px solid rgba(39,174,96,0.25); }
.ec-notice.error   { background: rgba(231,76,60,0.10); color: #e74c3c; border: 1px solid rgba(231,76,60,0.25); }
.ec-notice.info    { background: var(--ec-gold-dim); color: var(--ec-gold); border: 1px solid var(--ec-gold-bdr); }

/* ════════════════════════════════════════════════════
   WP ADMIN BAR SPACING
   ════════════════════════════════════════════════════ */
.admin-bar .ec-header { top: 32px; }
@media screen and (max-width:782px) { .admin-bar .ec-header { top: 46px; } }

/* ════════════════════════════════════════════════════
   FONT: Cairo everywhere
   ════════════════════════════════════════════════════ */
html, body,
input, textarea, select, button,
.woocommerce *, .wc-block-components-text-input,
.select2-container, .select2-results__option {
    font-family: 'Cairo', sans-serif !important;
}

/* ════════════════════════════════════════════════════
   NO ZOOM on mobile
   ════════════════════════════════════════════════════ */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="search"],
select, textarea {
    font-size: 16px !important;
}
@media(min-width:768px) {
    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="number"],
    input[type="tel"],
    input[type="url"],
    input[type="search"],
    select, textarea {
        font-size: .85rem !important;
    }
}

/* ════════════════════════════════════════════════════
   MOBILE NAV
   ════════════════════════════════════════════════════ */
.ec-nav {
    position: fixed;
    top: 0; right: -105%;
    width: min(82vw, 320px);
    height: 100vh; height: 100dvh;
    background: var(--ec-bg2);
    padding: 72px 20px 30px;
    transition: right .42s var(--ec-ease);
    z-index: 1050;
    border-left: 1px solid var(--ec-bdr);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    box-shadow: -6px 0 40px rgba(0,0,0,0.6);
}
.ec-nav.open { right: 0; }

.ec-nav-overlay {
    position: fixed; inset: 0;
    background: rgba(0,0,0,0.55);
    backdrop-filter: blur(4px);
    opacity: 0; pointer-events: none;
    transition: opacity .4s; z-index: 1040;
}
.ec-nav-overlay.show { opacity: 1; pointer-events: auto; }

.ec-nav-list, .ec-nav ul {
    display: flex; flex-direction: column; gap: 4px;
    list-style: none; margin: 0; padding: 0;
}
.ec-nav-list a, .ec-nav ul a {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 14px; font-size: .9rem; font-weight: 600;
    border-radius: 10px; transition: .3s;
    color: var(--ec-text2); text-decoration: none;
}
.ec-nav-list a:hover,
.ec-nav ul a:hover,
.ec-nav-list a.current-menu-item,
.ec-nav ul a.current-menu-item {
    background: var(--ec-gold-dim); color: var(--ec-gold);
}
.ec-nav-list a i, .ec-nav ul a i {
    font-size: .82rem; color: var(--ec-gold);
    width: 18px; text-align: center;
}

@media(min-width:1024px) {
    .ec-header { padding: 12px 40px; }
    .ec-header.scrolled { padding: 8px 40px; }
    .ec-logo-wrap img { width: 150px; height: 35px; }
    .ec-icon-btn { font-size: 1.15rem; }
    .ec-hamburger { display: none !important; }
    .ec-nav {
        position: static;
        width: auto; height: auto;
        background: none;
        padding: 0;
        border: none;
        box-shadow: none;
        overflow: visible;
        transform: none !important;
        right: auto !important;
    }
    .ec-nav-list, .ec-nav ul { flex-direction: row; gap: 2px; }
    .ec-nav-list a, .ec-nav ul a { padding: 8px 12px; font-size: .8rem; border-radius: 8px; }
    .ec-nav-overlay { display: none !important; }
}

/* ════════════════════════════════════════════════════
   HERO BANNER
   ════════════════════════════════════════════════════ */
.ec-hero-banner-section { padding: 0 16px 40px !important; }
.ec-hero-banner-wrap {
    max-width: 1400px; margin: 0 auto;
    border-radius: 18px; overflow: hidden;
    border: 1px solid var(--ec-bdr);
    box-shadow: var(--ec-glow);
    transition: .4s;
}
.ec-hero-banner-wrap:hover { box-shadow: var(--ec-glow2); border-color: var(--ec-gold-str); }
.ec-hero-banner-wrap img {
    width: 100%; display: block;
    height: 160px; object-fit: cover; transition: transform .5s;
}
.ec-hero-banner-wrap:hover img { transform: scale(1.02); }

@media(min-width:768px)  { .ec-hero-banner-wrap img { height: 220px; } }
@media(min-width:1024px) {
    .ec-hero-banner-section { padding: 0 60px 60px !important; }
    .ec-hero-banner-wrap { border-radius: 24px; }
    .ec-hero-banner-wrap img { height: 320px; }
}

/* ════════════════════════════════════════════════════
   WOOCOMMERCE CHECKOUT FIELDS
   ════════════════════════════════════════════════════ */
.woocommerce-checkout .form-row { margin-bottom: 12px; }
.woocommerce-checkout .form-row label {
    display: block; font-size: .76rem; font-weight: 700;
    margin-bottom: 4px; color: var(--ec-text);
}
.woocommerce-checkout .form-row label .required { color: #e74c3c; }
.woocommerce-checkout .form-row .input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
    width: 100%; padding: 10px 12px; border-radius: 10px;
    border: 1px solid var(--ec-bdr);
    background: var(--ec-bg2) !important;
    color: var(--ec-text) !important;
    outline: none; transition: .3s; font-size: 16px;
}
@media(min-width:768px) {
    .woocommerce-checkout .form-row .input-text,
    .woocommerce-checkout .form-row select,
    .woocommerce-checkout .form-row textarea { font-size: .85rem; }
}
.woocommerce-checkout .form-row .input-text:focus,
.woocommerce-checkout .form-row select:focus {
    border-color: var(--ec-gold);
    box-shadow: 0 0 0 3px rgba(194,164,112,0.10);
}
.woocommerce-checkout .form-row.woocommerce-validated .input-text { border-color: #27ae60; }
.woocommerce-checkout .form-row.woocommerce-invalid  .input-text { border-color: #e74c3c; }

/* ── WC Payment methods ── */
.woocommerce-checkout #payment {
    background: var(--ec-surface) !important;
    border-radius: 16px !important;
    border: 1px solid var(--ec-bdr) !important;
    padding: 20px !important;
}
.woocommerce-checkout #payment .payment_methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 16px !important;
    border: none !important;
    display: flex; flex-direction: column; gap: 8px;
}
.woocommerce-checkout #payment .payment_methods li {
    padding: 12px 14px; border-radius: 10px;
    border: 1px solid var(--ec-bdr);
    background: var(--ec-bg2); transition: .3s;
    margin: 0 !important; list-style: none !important;
}
.woocommerce-checkout #payment .payment_methods li:has(input:checked) {
    border-color: var(--ec-gold-str);
    background: var(--ec-gold-dim);
}
.woocommerce-checkout #payment .payment_methods li label {
    font-size: .85rem !important; font-weight: 600 !important;
    cursor: pointer; color: var(--ec-text) !important;
    display: flex !important; align-items: center !important;
    gap: 8px !important; margin: 0 !important; padding: 0 !important;
}
.woocommerce-checkout #payment .payment_methods li input[type="radio"] {
    accent-color: var(--ec-gold); flex-shrink: 0; margin: 0 !important;
}
.woocommerce-checkout #payment .payment_box {
    font-size: .8rem; color: var(--ec-text2);
    margin-top: 8px; padding: 8px 12px; border-radius: 8px;
    background: var(--ec-gold-dim) !important; border: none !important;
}
.woocommerce-checkout #payment .payment_box::before { display: none !important; }

.woocommerce-checkout #payment #place_order,
.woocommerce-checkout #place_order {
    display: flex !important; align-items: center;
    justify-content: center; gap: 10px;
    width: 100% !important; padding: 14px !important;
    border-radius: 12px !important; margin-top: 16px !important;
    background: linear-gradient(135deg, var(--ec-gold), var(--ec-gold-d)) !important;
    color: var(--ec-bg) !important;
    font-weight: 800 !important; font-size: .95rem !important;
    border: none !important;
    box-shadow: var(--ec-glow) !important;
    transition: .4s !important; cursor: pointer !important;
    position: relative; overflow: hidden;
}
.woocommerce-checkout #place_order:hover {
    box-shadow: var(--ec-glow2) !important;
    transform: translateY(-2px);
}

.woocommerce-checkout .woocommerce-privacy-policy-text { font-size: .72rem; color: var(--ec-text2); margin-top: 10px; }
.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text { font-size: .78rem; color: var(--ec-text2); }

/* WC cart qty */
.woocommerce-cart-form .qty,
.ec-cart-table .qty {
    width: 58px; text-align: center; padding: 7px 4px; border-radius: 8px;
    border: 1px solid var(--ec-bdr);
    background: var(--ec-surface);
    color: var(--ec-text);
    font-size: 16px; font-weight: 700;
}
@media(min-width:768px) {
    .woocommerce-cart-form .qty,
    .ec-cart-table .qty { font-size: .85rem; }
}

/* ── Select2 ── */
.select2-container .select2-selection--single {
    height: 44px !important; border-radius: 10px !important;
    border: 1px solid var(--ec-bdr) !important;
    background: var(--ec-bg2) !important;
    display: flex !important; align-items: center !important;
}
.select2-container .select2-selection--single .select2-selection__rendered {
    font-size: .85rem; color: var(--ec-text) !important;
    padding-right: 14px !important; line-height: 44px !important;
}
.select2-container .select2-selection__arrow { top: 10px !important; }
.select2-dropdown {
    border-radius: 10px !important;
    border: 1px solid var(--ec-bdr) !important;
    background: var(--ec-surface) !important;
    font-size: .85rem;
}
.select2-results__option { color: var(--ec-text2) !important; }
.select2-results__option--highlighted {
    background: var(--ec-gold-dim) !important;
    color: var(--ec-gold) !important;
}

/* ════════════════════════════════════════════════════
   WOOCOMMERCE GLOBAL NOTICES
   ════════════════════════════════════════════════════ */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
    border-radius: 10px; font-size: .82rem; font-weight: 600;
    margin-bottom: 20px; padding: 12px 16px; list-style: none;
    display: flex; align-items: flex-start; gap: 10px;
}
.woocommerce-message {
    background: rgba(39,174,96,0.10);
    border-right: 4px solid #27ae60; color: #2ecc71;
}
.woocommerce-error {
    background: rgba(231,76,60,0.08);
    border-right: 4px solid #e74c3c; color: #e74c3c;
}
.woocommerce-info {
    background: var(--ec-gold-dim);
    border-right: 4px solid var(--ec-gold); color: var(--ec-gold);
}
.woocommerce-message .button,
.woocommerce-info .button {
    margin-right: auto; padding: 6px 14px; border-radius: 8px;
    background: var(--ec-gold); color: var(--ec-bg);
    font-size: .75rem; font-weight: 700; text-decoration: none;
    display: inline-flex; align-items: center; gap: 4px;
    transition: .3s;
}
.woocommerce-message .button:hover,
.woocommerce-info .button:hover { background: var(--ec-gold-l); }

/* ════════════════════════════════════════════════════
   PAGINATION
   ════════════════════════════════════════════════════ */
.nav-links { display: flex; align-items: center; gap: 6px; justify-content: center; flex-wrap: wrap; }
.nav-links a,
.nav-links span.current {
    display: flex; align-items: center; justify-content: center;
    min-width: 38px; height: 38px; border-radius: 10px; padding: 0 10px;
    border: 1px solid var(--ec-bdr); background: var(--ec-surface);
    font-size: .82rem; font-weight: 700; color: var(--ec-text2); transition: .3s;
}
.nav-links a:hover,
.nav-links span.current {
    background: linear-gradient(135deg, var(--ec-gold), var(--ec-gold-d));
    color: var(--ec-bg); border-color: transparent;
    box-shadow: var(--ec-glow);
}

.woocommerce-pagination ul {
    display: flex; align-items: center; justify-content: center;
    gap: 6px; list-style: none; padding: 0; margin: 0; flex-wrap: wrap;
}
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
    display: flex; align-items: center; justify-content: center;
    min-width: 36px; height: 36px; border-radius: 9px;
    border: 1px solid var(--ec-bdr); background: var(--ec-surface);
    font-size: .8rem; font-weight: 700; color: var(--ec-text2); transition: .3s; padding: 0 8px;
}
.woocommerce-pagination ul li a:hover,
.woocommerce-pagination ul li span.current {
    background: linear-gradient(135deg, var(--ec-gold), var(--ec-gold-d));
    color: var(--ec-bg); border-color: transparent;
    box-shadow: var(--ec-glow);
}

/* ════════════════════════════════════════════════════
   CHECKOUT — Billing/Shipping fields layout
   ════════════════════════════════════════════════════ */
.ec-billing-fields .woocommerce-billing-fields__field-wrapper,
.ec-shipping-fields .woocommerce-shipping-fields__field-wrapper {
    display: grid; gap: 4px;
}
@media(min-width: 768px) {
    .ec-billing-fields .woocommerce-billing-fields__field-wrapper,
    .ec-shipping-fields .woocommerce-shipping-fields__field-wrapper {
        grid-template-columns: 1fr 1fr;
    }
    .ec-billing-fields #billing_company_field,
    .ec-billing-fields #billing_country_field,
    .ec-billing-fields #billing_address_1_field,
    .ec-billing-fields #billing_address_2_field,
    .ec-billing-fields #billing_email_field,
    .ec-shipping-fields #shipping_country_field,
    .ec-shipping-fields #shipping_address_1_field,
    .ec-shipping-fields #shipping_address_2_field { grid-column: 1 / -1; }
}

.woocommerce-shipping-fields #ship-to-different-address {
    font-size: .85rem; font-weight: 600;
    display: flex; align-items: center; gap: 8px; margin-bottom: 14px;
    color: var(--ec-text);
}
.woocommerce-shipping-fields #ship-to-different-address input { accent-color: var(--ec-gold); }

/* ════════════════════════════════════════════════════
   CHECKOUT — Review order table
   ════════════════════════════════════════════════════ */
.ec-review-table { width: 100%; border-collapse: collapse; margin-bottom: 0; }
.ec-review-table td,
.ec-review-table th {
    padding: 8px 0; font-size: .82rem;
    border-bottom: 1px solid var(--ec-bdr);
    vertical-align: middle; text-align: right;
    color: var(--ec-text2);
}
.ec-review-table tfoot th { font-weight: 600; color: var(--ec-text2); }
.ec-review-table tfoot td { font-weight: 700; color: var(--ec-text); }
.ec-review-table .order-total th,
.ec-review-table .order-total td {
    font-size: .95rem !important; font-weight: 900 !important;
    color: var(--ec-gold) !important;
    border-top: 2px solid var(--ec-bdr);
    border-bottom: none; padding-top: 14px;
}
.ec-review-table .product-total {
    text-align: left; font-weight: 800; color: var(--ec-gold); white-space: nowrap;
}
.ec-review-table .woocommerce-shipping-totals td { text-align: left; }
.ec-review-table .woocommerce-shipping-totals th { font-weight: 600; color: var(--ec-text2); }

/* ════════════════════════════════════════════════════
   CART PAGE — Mobile responsive
   ════════════════════════════════════════════════════ */
@media(max-width: 767px) {
    .ec-cart-table thead { display: none; }
    .ec-cart-table,
    .ec-cart-table tbody,
    .ec-cart-table tr,
    .ec-cart-table td { display: block; width: 100%; }
    .ec-cart-table tr {
        padding: 16px; margin-bottom: 12px;
        border-radius: 14px;
        background: var(--ec-surface); border: 1px solid var(--ec-bdr);
        position: relative;
    }
    .ec-cart-table td { border: none; padding: 4px 0; text-align: right; }
    .ec-cart-table td.product-name {
        padding-bottom: 8px; margin-bottom: 8px;
        border-bottom: 1px solid var(--ec-bdr);
    }
    .ec-cart-table td.product-price::before { content: "السعر: "; font-size: .72rem; color: var(--ec-text2); font-weight: 600; }
    .ec-cart-table td.product-subtotal::before { content: "الإجمالي: "; font-size: .72rem; color: var(--ec-text2); font-weight: 600; }
    .ec-cart-table td.product-quantity { display: flex; align-items: center; gap: 8px; }
    .ec-cart-table td.product-quantity::before { content: "الكمية: "; font-size: .72rem; color: var(--ec-text2); font-weight: 600; white-space: nowrap; }
    .ec-cart-table td.product-remove { position: absolute; top: 12px; left: 12px; width: auto; padding: 0; }
    .ec-cart-table-wrap { overflow-x: visible; }
    .ec-cart-table { min-width: 0; }
    .ec-cart-actions { flex-direction: column; align-items: stretch; }
    .ec-coupon-form { flex-direction: row; width: 100%; }
    .ec-coupon-form input { flex: 1; width: auto; }
    .ec-cart-totals-box { max-width: 100%; margin: 0; }
}

/* ════════════════════════════════════════════════════
   CHECKOUT — Mobile fixes
   ════════════════════════════════════════════════════ */
@media(max-width: 767px) {
    .ec-checkout-page { padding: 80px 12px 40px; }
    .ec-checkout-section { padding: 16px; border-radius: 14px; }
    .ec-order-summary { padding: 16px; border-radius: 14px; }
    .ec-checkout-payment-wrap { margin-top: 12px; }
    .woocommerce-checkout #payment { padding: 16px !important; border-radius: 14px !important; }
}

/* ════════════════════════════════════════════════════
   DESKTOP ADD-TO-CART BUTTON
   ════════════════════════════════════════════════════ */
.ec-desktop-add { display: none; }
@media(min-width:1024px) {
    .ec-desktop-add { display: flex; gap: 12px; }
    .ec-btn-add-cart {
        flex: 1; padding: 15px 28px; border-radius: 14px;
        background: linear-gradient(135deg, var(--ec-gold), var(--ec-gold-d));
        color: var(--ec-bg) !important;
        font-weight: 800; font-size: .92rem; border: none;
        box-shadow: var(--ec-glow); transition: .4s; cursor: pointer;
        display: flex; align-items: center; justify-content: center; gap: 10px;
        position: relative; overflow: hidden;
    }
    .ec-btn-add-cart::before {
        content: ''; position: absolute; top: 0; left: -100%;
        width: 100%; height: 100%;
        background: linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);
        transition: .6s;
    }
    .ec-btn-add-cart:hover::before { left: 100%; }
    .ec-btn-add-cart:hover { transform: translateY(-2px); box-shadow: var(--ec-glow2); }
    .ec-btn-add-cart:disabled { opacity: .7; cursor: not-allowed; transform: none; }
}

/* ════════════════════════════════════════════════════
   EXTRA POLISH — Dark inputs global
   ════════════════════════════════════════════════════ */
input:not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]),
textarea,
select {
    background: var(--ec-bg2) !important;
    color: var(--ec-text) !important;
    border-color: var(--ec-bdr) !important;
}
input:not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):focus,
textarea:focus,
select:focus {
    border-color: var(--ec-gold) !important;
    box-shadow: 0 0 0 3px rgba(194,164,112,0.10) !important;
    outline: none !important;
}
input::placeholder,
textarea::placeholder { color: var(--ec-text4) !important; }

/* ════════════════════════════════════════════════════
   EXTRA POLISH — WC Tables
   ════════════════════════════════════════════════════ */
.woocommerce table.shop_table {
    border: 1px solid var(--ec-bdr) !important;
    border-radius: 14px !important;
    overflow: hidden;
    background: var(--ec-surface) !important;
}
.woocommerce table.shop_table th {
    background: var(--ec-bg3) !important;
    color: var(--ec-text2) !important;
    font-size: .78rem; font-weight: 700;
    border-color: var(--ec-bdr) !important;
}
.woocommerce table.shop_table td {
    color: var(--ec-text) !important;
    border-color: var(--ec-bdr) !important;
}
.woocommerce table.shop_table .order-total strong {
    color: var(--ec-gold) !important;
}
.woocommerce table.shop_table tfoot tr:last-child td,
.woocommerce table.shop_table tfoot tr:last-child th {
    border-top: 2px solid var(--ec-bdr) !important;
}