/* ========== Brand page preloader (logo + dual arcs) ========== */
.vento-loader{
  --loader-bg:#fff;
  --loader-accent:var(--cyan,#00a8c1);
  --loader-accent-2:#C4A574;
  --loader-logo-w:120px;
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  background:var(--loader-bg);
  transition:opacity .55s ease, visibility .55s ease;
}
.vento-loader.is-done{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
html.vento-bf-nav .vento-loader,
html.vento-bf-nav #vento-loader{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.vento-loader-stage{
  position:relative;
  width:min(220px, 56vw);
  height:min(220px, 56vw);
  display:grid;
  place-items:center;
}
.vento-loader-orbit{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  pointer-events:none;
}
.vento-loader-ring{
  position:absolute;
  border-radius:50%;
  border-style:solid;
  border-color:transparent;
  box-sizing:border-box;
}
.vento-loader-ring.is-outer{
  inset:0;
  border-width:2px;
  border-top-color:var(--loader-accent);
  border-right-color:color-mix(in srgb, var(--loader-accent) 35%, transparent);
  animation:ventoLoaderSpin 1.1s linear infinite;
}
.vento-loader-ring.is-inner{
  inset:14%;
  border-width:1.5px;
  border-bottom-color:var(--loader-accent-2);
  border-left-color:color-mix(in srgb, var(--loader-accent-2) 40%, transparent);
  animation:ventoLoaderSpinRev 1.45s linear infinite;
}
/* Rêve-style side arcs */
.vento-loader-arc{
  position:absolute;
  top:50%;
  width:42%;
  height:78%;
  transform:translateY(-50%);
  border-radius:999px;
  border-style:solid;
  border-color:transparent;
  box-sizing:border-box;
  opacity:.95;
}
.vento-loader-arc.is-left{
  left:0;
  border-width:2px 0 2px 2px;
  border-left-color:var(--loader-accent);
  border-top-color:var(--loader-accent-2);
  border-bottom-color:var(--loader-accent);
  animation:ventoLoaderPulse 1.6s ease-in-out infinite;
}
.vento-loader-arc.is-right{
  right:0;
  border-width:2px 2px 2px 0;
  border-right-color:var(--loader-accent);
  border-top-color:var(--loader-accent-2);
  border-bottom-color:var(--loader-accent);
  animation:ventoLoaderPulse 1.6s ease-in-out infinite .2s;
}
.vento-loader-brand{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  max-width:58%;
  text-align:center;
}
.vento-loader-logo{
  width:var(--loader-logo-w);
  max-width:100%;
  height:auto;
  display:block;
  object-fit:contain;
  filter:drop-shadow(0 4px 14px rgba(8,20,38,.08));
}
.vento-loader-text{
  font-size:clamp(22px,4vw,30px);
  font-weight:800;
  letter-spacing:.04em;
  color:#2a2a2a;
}
@keyframes ventoLoaderSpin{to{transform:rotate(360deg)}}
@keyframes ventoLoaderSpinRev{to{transform:rotate(-360deg)}}
@keyframes ventoLoaderPulse{
  0%,100%{opacity:.55;transform:translateY(-50%) scale(.98)}
  50%{opacity:1;transform:translateY(-50%) scale(1)}
}
@media (prefers-reduced-motion:reduce){
  .vento-loader-ring,
  .vento-loader-arc{animation:none !important}
}

/* ========== Theme polish (uses CSS variables — no hardcoded override) ========== */
body.is-polished .product-card{
  border:1px solid rgba(10,18,32,.07);
  box-shadow:0 1px 0 rgba(10,18,32,.03);
  transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s
}
body.is-polished .product-card:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 40px rgba(7,11,20,.12)
}
body.is-polished .btn,
body.is-polished .product-card-atc{
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
  letter-spacing:-.01em
}
body.is-polished .btn:hover,
body.is-polished .product-card-atc:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 24px color-mix(in srgb, var(--cyan) 35%, transparent)
}
body.is-polished .section-title{letter-spacing:-.045em;font-weight:950}
body.is-polished .cine-hero{box-shadow:0 22px 60px rgba(7,11,20,.18)}
body.is-polished .site-header-inner{border-color:rgba(10,18,32,.06)}
body.is-polished .cat-arch{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s}
body.is-polished .cat-arch:hover{box-shadow:0 16px 36px rgba(7,11,20,.12)}

body.look-aurora{
  background:
    radial-gradient(1200px 500px at 90% -10%, color-mix(in srgb, var(--cyan) 12%, transparent), transparent 60%),
    radial-gradient(900px 400px at 0% 20%, color-mix(in srgb, var(--cyan-2) 10%, transparent), transparent 55%),
    var(--cream)
}
body.look-aurora .site-header-inner{
  backdrop-filter:blur(18px) saturate(1.15);
  background:color-mix(in srgb, var(--surface) 88%, transparent)!important
}
body.look-aurora .header-design{
  background:linear-gradient(135deg,var(--cyan),var(--cyan-2))!important;
  color:#041018!important
}
body.look-aurora .product-promo{
  background:linear-gradient(180deg,var(--cyan) 0%,var(--soft) 70%)!important
}
body.look-aurora .section-dark{
  background:
    radial-gradient(800px 300px at 80% 0%, color-mix(in srgb, var(--cyan) 18%, transparent), transparent 50%),
    var(--dark-bg)
}

body.look-steel .header-design,
body.look-emerald .header-design{
  background:linear-gradient(135deg,var(--cyan),var(--cyan-2))!important;
  color:#041018!important
}
body.look-sand{
  background:
    radial-gradient(1000px 420px at 100% 0%, color-mix(in srgb, var(--cyan) 14%, transparent), transparent 55%),
    var(--cream)
}

.announcement{text-align:center;font-size:12px;font-weight:700;padding:8px 14px;letter-spacing:.01em}
.announcement a{color:inherit;text-decoration:underline;text-underline-offset:3px}

body.is-polished .site-footer{border-top:1px solid rgba(255,255,255,.06)}
body.is-polished .footer-grid h4{font-size:13px;letter-spacing:.04em;text-transform:uppercase;opacity:.9}
body.is-polished .footer-v2-label{letter-spacing:.12em}
body.is-polished .footer-comm{backdrop-filter:blur(8px)}

@media(max-width:780px){
  body.is-polished .product-card:hover{transform:none;box-shadow:0 1px 0 rgba(10,18,32,.03)}
  body.look-aurora{background:var(--cream)}
}

/* Shop filter drawer (mobile) — toggle lives under archive tools */
.shop-filter-bar{display:none}
.shop-filter-toggle,
.shop-filter-close,
.shop-filter-backdrop{display:none}
@media(max-width:980px){
  .shop-layout.shop-drawer{position:relative}
  .shop-filter-bar{
    display:block;width:100%;margin:10px 0 14px;order:3;
  }
  .shop-archive-head{display:flex;flex-direction:column}
  .shop-filter-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    min-height:48px;
    padding:0 16px;
    margin:0;
    border:0;
    border-radius:14px;
    background:var(--midnight,#06101f);
    color:#fff;
    font-weight:800;
    font-size:14px;
    cursor:pointer;
    position:relative;
    top:auto;
    z-index:2;
    box-shadow:0 6px 16px rgba(8,20,38,.12);
  }
  .shop-filter-toggle .shop-filter-ico{
    width:28px;height:28px;border-radius:8px;
    background:rgba(255,255,255,.12);display:grid;place-items:center;font-size:12px;
  }
  .shop-layout.shop-drawer .shop-sidebar{
    position:fixed;
    z-index:90;
    inset-block:0;
    inset-inline-start:0;
    width:min(88vw, 360px);
    max-width:100%;
    margin:0;
    padding:16px 14px calc(16px + env(safe-area-inset-bottom));
    background:var(--cream,#f7f8f6);
    overflow:auto;
    transform:translateX(-105%);
    transition:transform var(--anim-ms, .35s) cubic-bezier(.22,1,.36,1);
    box-shadow:0 0 0 1px rgba(8,20,38,.06), 12px 0 40px rgba(8,20,38,.18);
  }
  html[dir="rtl"] .shop-layout.shop-drawer .shop-sidebar,
  body.rtl .shop-layout.shop-drawer .shop-sidebar{
    transform:translateX(105%);
  }
  .shop-layout.shop-drawer.is-filters-open .shop-sidebar,
  html[dir="rtl"] .shop-layout.shop-drawer.is-filters-open .shop-sidebar,
  body.rtl .shop-layout.shop-drawer.is-filters-open .shop-sidebar{
    transform:none !important;
  }
  .shop-layout.shop-drawer .shop-sidebar-card{
    position:static !important;
    margin:0;
    box-shadow:none;
    border:0;
    background:transparent;
    padding:0;
  }
  .shop-filter-close{
    display:grid;
    place-items:center;
    margin-inline-start:auto;
    width:36px;
    height:36px;
    border:0;
    border-radius:10px;
    background:rgba(8,20,38,.06);
    color:var(--midnight);
    font-size:22px;
    line-height:1;
    cursor:pointer;
  }
  .shop-sidebar-head{display:flex;align-items:center;gap:8px}
  .shop-filter-backdrop{
    display:block;
    position:fixed;
    inset:0;
    z-index:80;
    background:rgba(6,16,31,.45);
    opacity:0;
    pointer-events:none;
    transition:opacity .25s ease;
  }
  .shop-layout.shop-drawer.is-filters-open .shop-filter-backdrop{
    opacity:1;
    pointer-events:auto;
  }
  body.shop-filters-lock{overflow:hidden}
}

.vento-empty-state{
  padding:clamp(48px, 8vw, 88px) 16px;
  text-align:center;
  max-width:640px;
  margin-inline:auto;
}
.vento-empty-state h1{margin:8px 0 10px;font-size:clamp(28px, 5vw, 44px);letter-spacing:-.04em}
.vento-empty-state p{color:var(--muted);margin:0 auto 8px;max-width:36em}
.vento-empty-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.vento-pagination{margin-top:28px}
