/* ============================================================
   ART|STUDIO — Main CSS
   Font: Cormorant Garamond (display) + DM Sans (body)
   Palette: Bianco/Nero editoriale con accenti caldi
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&family=DM+Sans:wght@300;400;500&display=swap');

/* ── RESET ── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body { font-family:'DM Sans',sans-serif; background:#fff; color:#111; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
button { cursor:pointer; font-family:'DM Sans',sans-serif; }

/* ── VARIABLES ── */
:root {
  --black:   #111111;
  --white:   #FFFFFF;
  --cream:   #F8F5F0;
  --light:   #F2EFEA;
  --mid:     #C8C0B8;
  --taupe:   #8A8078;
  --warm:    #B89A7A;
  --rose:    #C4A99A;
  --serif:   'Cormorant Garamond', Georgia, serif;
  --sans:    'DM Sans', system-ui, sans-serif;
  --nav-h:   70px;
}

/* ── UTILITIES ── */
.container { max-width:1440px; margin:0 auto; padding:0 5vw; }
.section-eyebrow { font-size:.68rem; letter-spacing:.22em; text-transform:uppercase; color:var(--taupe); margin-bottom:.6rem; }
.section-heading { font-family:var(--serif); font-size:clamp(2rem,4vw,3.5rem); font-weight:300; line-height:1.1; }
.section-heading em { font-style:italic; color:var(--warm); }
.fade-up { opacity:0; transform:translateY(28px); transition:opacity .7s ease,transform .7s ease; }
.fade-up.in { opacity:1; transform:translateY(0); }
.d1{transition-delay:.08s} .d2{transition-delay:.16s} .d3{transition-delay:.24s} .d4{transition-delay:.32s}

/* ============================================================
   TOP BAR
   ============================================================ */
.topbar {
  background:var(--black);
  color:rgba(255,255,255,.7);
  font-size:.68rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-align:center;
  padding:.55rem 1rem;
}
.topbar a { color:rgba(255,255,255,.9); border-bottom:.5px solid rgba(255,255,255,.3); }

/* ============================================================
   NAVIGATION
   ============================================================ */
.site-header {
  position:sticky;
  top:0; z-index:200;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:.5px solid rgba(17,17,17,.1);
  transition:box-shadow .3s;
}
.site-header.scrolled { box-shadow:0 2px 24px rgba(17,17,17,.06); }

.nav-inner {
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  height:var(--nav-h);
  padding:0 3rem;
  gap:2rem;
}

/* Logo */
.nav-logo img {
  height:44px;
  width:auto;
  object-fit:contain;
  display:block;
}

/* Links — centro */
.nav-menu {
  display:flex;
  gap:2.5rem;
  list-style:none;
  justify-content:center;
}
.nav-menu > li { position:relative; }
.nav-menu > li > a {
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--black);
  padding:.3rem 0;
  display:flex;
  align-items:center;
  gap:.4rem;
  transition:color .25s;
}
.nav-menu > li > a:hover { color:var(--warm); }
.nav-menu > li > a .arrow { font-size:.55rem; opacity:.5; }

/* Mega/Dropdown */
.nav-dropdown {
  display:none;
  position:absolute;
  top:calc(100% + 1rem);
  left:50%;
  transform:translateX(-50%);
  background:#fff;
  border:.5px solid rgba(17,17,17,.1);
  padding:1.5rem 2rem;
  min-width:200px;
  box-shadow:0 8px 40px rgba(17,17,17,.08);
  list-style:none;
  white-space:nowrap;
}
.nav-menu > li:hover .nav-dropdown { display:block; }
.nav-dropdown li a {
  font-size:.78rem;
  color:var(--taupe);
  padding:.4rem 0;
  display:block;
  transition:color .2s;
  letter-spacing:.06em;
}
.nav-dropdown li a:hover { color:var(--black); }

/* Azioni destra */
.nav-actions {
  display:flex;
  align-items:center;
  gap:1.4rem;
  justify-content:flex-end;
}
.nav-icon {
  width:38px; height:38px;
  display:flex; align-items:center; justify-content:center;
  border:.5px solid transparent;
  border-radius:50%;
  transition:border-color .2s, background .2s;
  position:relative;
}
.nav-icon:hover { border-color:var(--mid); background:var(--light); }
.nav-icon svg { width:18px; height:18px; stroke:var(--black); fill:none; stroke-width:1.5; }
.cart-count {
  position:absolute; top:-2px; right:-4px;
  background:var(--black); color:#fff;
  font-size:.58rem; font-weight:500;
  width:16px; height:16px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}
.btn-b2b-nav {
  font-size:.65rem; letter-spacing:.14em; text-transform:uppercase;
  padding:.55rem 1.2rem;
  background:var(--black); color:#fff;
  border:none; transition:background .25s;
}
.btn-b2b-nav:hover { background:var(--warm); }

/* Mobile hamburger */
.nav-hamburger { display:none; flex-direction:column; gap:5px; padding:.5rem; }
.nav-hamburger span { display:block; width:22px; height:1.5px; background:var(--black); transition:all .3s; }

/* ============================================================
   MOBILE NAV DRAWER
   ============================================================ */
.nav-drawer {
  display:none;
  position:fixed;
  inset:0; z-index:300;
  background:#fff;
  padding:2rem;
  flex-direction:column;
  gap:2rem;
  overflow-y:auto;
}
.nav-drawer.open { display:flex; }
.drawer-close { align-self:flex-end; background:none; border:none; font-size:1.5rem; color:var(--taupe); }
.drawer-menu { list-style:none; display:flex; flex-direction:column; gap:1.2rem; }
.drawer-menu a { font-family:var(--serif); font-size:1.8rem; font-weight:300; color:var(--black); }

/* ============================================================
   HERO — FULLSCREEN con video/immagine
   ============================================================ */
.hero {
  position:relative;
  height:100svh;
  min-height:600px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
}

.hero-media {
  position:absolute;
  inset:0;
  background:linear-gradient(160deg,#1a1714 0%,#3d3028 40%,#6a5546 80%,#9a7b65 100%);
  /* Su WordPress qui va l'immagine hero: background-image:url(assets/images/hero.jpg); background-size:cover; background-position:center; */
}
.hero-media::after {
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(17,17,17,.75) 0%, rgba(17,17,17,.2) 50%, transparent 100%);
}

.hero-content {
  position:relative; z-index:1;
  padding:0 5vw 6vh;
  width:100%;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:flex-end;
  gap:2rem;
}

.hero-text {}
.hero-season {
  font-size:.68rem; letter-spacing:.28em; text-transform:uppercase;
  color:rgba(255,255,255,.6); margin-bottom:1.2rem;
}
.hero-title {
  font-family:var(--serif);
  font-size:clamp(3rem,8vw,7rem);
  font-weight:300; line-height:.95;
  color:#fff; margin-bottom:2rem;
}
.hero-title em { font-style:italic; color:var(--rose); display:block; }
.hero-ctas { display:flex; gap:1rem; flex-wrap:wrap; }

.btn-hero-primary {
  font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  padding:1rem 2.2rem;
  background:#fff; color:var(--black);
  border:none; transition:all .3s;
  display:inline-flex; align-items:center; gap:.8rem;
}
.btn-hero-primary:hover { background:var(--warm); color:#fff; }

.btn-hero-outline {
  font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  padding:1rem 2.2rem;
  background:transparent; color:#fff;
  border:.5px solid rgba(255,255,255,.5);
  transition:all .3s;
  display:inline-flex; align-items:center; gap:.8rem;
}
.btn-hero-outline:hover { background:rgba(255,255,255,.1); border-color:#fff; }

.hero-info {
  text-align:right;
  color:rgba(255,255,255,.65);
}
.hero-info p { font-size:.75rem; line-height:1.8; }
.hero-info strong { color:#fff; font-weight:400; }

/* Scroll indicator */
.hero-scroll {
  position:absolute; bottom:2.5rem; left:50%;
  transform:translateX(-50%);
  z-index:2;
  display:flex; flex-direction:column; align-items:center; gap:.5rem;
}
.hero-scroll span { font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.5); }
.scroll-line {
  width:1px; height:40px;
  background:rgba(255,255,255,.3);
  position:relative; overflow:hidden;
}
.scroll-line::after {
  content:'';
  position:absolute; top:-100%; left:0;
  width:1px; height:100%;
  background:#fff;
  animation:scrolldown 1.8s ease infinite;
}
@keyframes scrolldown { to { top:100%; } }

/* ============================================================
   TICKER
   ============================================================ */
.ticker-bar {
  background:var(--black); padding:.7rem 0;
  overflow:hidden; white-space:nowrap;
}
.ticker-track {
  display:inline-flex;
  animation:ticker 30s linear infinite;
}
.ticker-item {
  font-size:.65rem; letter-spacing:.2em; text-transform:uppercase;
  color:rgba(255,255,255,.55);
  padding:0 2.5rem;
  border-right:.5px solid rgba(255,255,255,.1);
}
.ticker-item.accent { color:var(--rose); }
@keyframes ticker { to { transform:translateX(-50%); } }

/* ============================================================
   CATEGORIE — GRID VISIVO stile Lumina
   ============================================================ */
.categories-section { padding:5rem 0; background:#fff; }
.categories-header { padding:0 5vw 3rem; }
.categories-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:3px;
  padding:0 5vw;
}
.cat-card {
  position:relative; overflow:hidden;
  cursor:pointer;
}
.cat-card.tall { grid-row:span 2; }
.cat-fill {
  width:100%; padding-bottom:130%;
  position:relative; overflow:hidden;
}
.cat-card.tall .cat-fill { padding-bottom:265%; }
.cat-bg {
  position:absolute; inset:0;
  transition:transform .8s cubic-bezier(.25,.46,.45,.94);
}
.cat-card:hover .cat-bg { transform:scale(1.05); }
.cat-bg-1 { background:linear-gradient(160deg,#2a2420 0%,#5a4838 60%,#8a6a52 100%); }
.cat-bg-2 { background:linear-gradient(135deg,#1e1b18 0%,#3d3028 100%); }
.cat-bg-3 { background:linear-gradient(135deg,#2e2824 0%,#6a5040 100%); }
.cat-bg-4 { background:linear-gradient(160deg,#1a1714 0%,#4a3c30 100%); }
.cat-bg-5 { background:linear-gradient(135deg,#3a3028 0%,#7a6050 100%); }
.cat-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(17,17,17,.7) 0%, transparent 50%);
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:1.5rem;
}
.cat-label {
  font-size:.62rem; letter-spacing:.18em; text-transform:uppercase;
  color:rgba(255,255,255,.6); margin-bottom:.4rem;
}
.cat-name {
  font-family:var(--serif); font-size:1.5rem; font-weight:300; color:#fff;
  line-height:1.1;
}
.cat-count { font-size:.7rem; color:rgba(255,255,255,.45); margin-top:.3rem; }

/* ============================================================
   NUOVI ARRIVI / PRODOTTI GRID
   ============================================================ */
.products-section { padding:5rem 0; background:var(--cream); }
.products-header {
  display:flex; justify-content:space-between; align-items:flex-end;
  padding:0 5vw 2.5rem;
}
.products-header .link-all {
  font-size:.72rem; letter-spacing:.12em; text-transform:uppercase;
  border-bottom:.5px solid var(--black); padding-bottom:.2rem;
  transition:color .2s, border-color .2s;
}
.products-header .link-all:hover { color:var(--warm); border-color:var(--warm); }

/* Tabs filtro */
.products-tabs {
  display:flex; gap:0; padding:0 5vw;
  margin-bottom:2.5rem;
  border-bottom:.5px solid rgba(17,17,17,.1);
}
.ptab {
  font-size:.7rem; letter-spacing:.14em; text-transform:uppercase;
  padding:.75rem 1.5rem;
  background:none; border:none; color:var(--taupe);
  border-bottom:1.5px solid transparent;
  margin-bottom:-0.5px;
  transition:all .25s;
}
.ptab.active { color:var(--black); border-bottom-color:var(--black); }
.ptab:hover { color:var(--black); }

/* Griglia prodotti */
.products-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:rgba(17,17,17,.07);
  margin:0 5vw;
}

.product-card {
  background:#fff;
  cursor:pointer;
  position:relative;
  overflow:hidden;
}
.product-img-wrap {
  position:relative;
  overflow:hidden;
  padding-bottom:125%;
}
.product-img-bg {
  position:absolute; inset:0;
  transition:transform .7s cubic-bezier(.25,.46,.45,.94);
}
.product-card:hover .product-img-bg { transform:scale(1.04); }

/* Placeholder colori prodotti */
.pi-1{background:linear-gradient(160deg,#3a3028 0%,#7a6050 100%)}
.pi-2{background:linear-gradient(135deg,#252220 0%,#504038 100%)}
.pi-3{background:linear-gradient(160deg,#1e1b18 0%,#6a5040 100%)}
.pi-4{background:linear-gradient(135deg,#2e2824 0%,#8a6a54 100%)}
.pi-5{background:linear-gradient(160deg,#1a1714 0%,#5a4838 100%)}
.pi-6{background:linear-gradient(135deg,#3a3028 0%,#9a7862 100%)}
.pi-7{background:linear-gradient(160deg,#222020 0%,#4a3c32 100%)}
.pi-8{background:linear-gradient(135deg,#2a2820 0%,#7a6450 100%)}

/* Badge prodotto */
.product-badge {
  position:absolute; top:1rem; left:1rem; z-index:2;
  font-size:.6rem; letter-spacing:.12em; text-transform:uppercase;
  padding:.3rem .7rem;
  background:var(--black); color:#fff;
}
.product-badge.new { background:var(--warm); }
.product-badge.sale { background:#c0392b; }

/* Quick add */
.product-quick-add {
  position:absolute; bottom:-100%; left:0; right:0; z-index:2;
  background:rgba(17,17,17,.9);
  color:#fff;
  font-size:.65rem; letter-spacing:.16em; text-transform:uppercase;
  padding:.9rem;
  text-align:center;
  transition:bottom .35s cubic-bezier(.25,.46,.45,.94);
  border:none; width:100%;
}
.product-card:hover .product-quick-add { bottom:0; }

/* Wishlist */
.product-wish {
  position:absolute; top:1rem; right:1rem; z-index:2;
  width:32px; height:32px;
  background:rgba(255,255,255,.85);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  border:none;
  opacity:0; transform:translateY(-4px);
  transition:all .3s;
}
.product-wish svg { width:14px; height:14px; stroke:var(--black); fill:none; stroke-width:1.5; }
.product-card:hover .product-wish { opacity:1; transform:translateY(0); }

/* Info prodotto */
.product-info { padding:1rem 1rem 1.2rem; }
.product-brand { font-size:.6rem; letter-spacing:.14em; text-transform:uppercase; color:var(--taupe); margin-bottom:.25rem; }
.product-name { font-family:var(--serif); font-size:1rem; font-weight:300; color:var(--black); margin-bottom:.4rem; line-height:1.3; }
.product-price { font-size:.82rem; color:var(--black); display:flex; gap:.6rem; align-items:center; }
.price-sale { color:#c0392b; }
.price-old { text-decoration:line-through; color:var(--taupe); font-size:.75rem; }
.product-colors { display:flex; gap:.3rem; margin-top:.5rem; }
.color-dot { width:12px; height:12px; border-radius:50%; border:.5px solid rgba(17,17,17,.15); }

/* ============================================================
   BANNER EDITORIALE — stile Lumina (grande foto + testo)
   ============================================================ */
.editorial-banner {
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:70vh;
  overflow:hidden;
}
.editorial-media {
  position:relative; overflow:hidden;
  background:linear-gradient(160deg,#2a2420 0%,#7a5a46 100%);
}
.editorial-media img { width:100%; height:100%; object-fit:cover; }
.editorial-body {
  background:var(--black);
  display:flex; flex-direction:column;
  justify-content:center;
  padding:5rem 5vw;
  color:#fff;
}
.editorial-body .section-eyebrow { color:rgba(255,255,255,.45); }
.editorial-body .section-heading { color:#fff; margin-bottom:1.5rem; }
.editorial-body p { font-size:.88rem; color:rgba(255,255,255,.55); line-height:1.95; max-width:400px; margin-bottom:3rem; }
.btn-editorial {
  font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  padding:1rem 2.2rem;
  background:#fff; color:var(--black);
  border:none; width:fit-content;
  transition:background .25s, color .25s;
}
.btn-editorial:hover { background:var(--warm); color:#fff; }

/* ============================================================
   LOOKBOOK STRIP
   ============================================================ */
.lookbook-section { padding:5rem 0; background:#fff; overflow:hidden; }
.lookbook-header { padding:0 5vw 2.5rem; display:flex; justify-content:space-between; align-items:flex-end; }
.lookbook-scroll {
  display:flex; gap:3px;
  padding:0 5vw;
  overflow-x:auto;
  scrollbar-width:none;
  cursor:grab;
}
.lookbook-scroll::-webkit-scrollbar { display:none; }
.lookbook-item {
  flex:0 0 320px;
  height:420px;
  position:relative; overflow:hidden;
}
.look-bg {
  width:100%; height:100%;
  transition:transform .7s ease;
}
.lookbook-item:hover .look-bg { transform:scale(1.04); }
.look-lb-1{background:linear-gradient(160deg,#2a2420 0%,#6a5040 80%,#9a7862 100%)}
.look-lb-2{background:linear-gradient(135deg,#1e1b18 0%,#4a3c30 100%)}
.look-lb-3{background:linear-gradient(160deg,#1a1714 0%,#5a4838 80%,#8a6854 100%)}
.look-lb-4{background:linear-gradient(135deg,#2e2824 0%,#7a6050 100%)}
.look-lb-5{background:linear-gradient(160deg,#222020 0%,#4a3c32 80%,#7a6050 100%)}
.look-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(17,17,17,.6) 0%,transparent 50%);
  display:flex; flex-direction:column; justify-content:flex-end; padding:1.5rem;
}
.look-number { font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.5); margin-bottom:.3rem; }
.look-title { font-family:var(--serif); font-size:1.3rem; color:#fff; font-weight:300; }

/* ============================================================
   USP STRIP — Spedizione, Qualità, B2B
   ============================================================ */
.usp-strip {
  background:var(--cream);
  border-top:.5px solid rgba(17,17,17,.08);
  border-bottom:.5px solid rgba(17,17,17,.08);
}
.usp-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  divide-x: 1px solid rgba(17,17,17,.08);
}
.usp-item {
  padding:2.5rem 2rem;
  display:flex; align-items:flex-start; gap:1rem;
  border-right:.5px solid rgba(17,17,17,.08);
}
.usp-item:last-child { border-right:none; }
.usp-icon { font-size:1.4rem; flex-shrink:0; margin-top:.1rem; }
.usp-title { font-size:.78rem; font-weight:500; margin-bottom:.3rem; letter-spacing:.04em; }
.usp-text { font-size:.75rem; color:var(--taupe); line-height:1.7; }

/* ============================================================
   B2B SECTION — Partner Area
   ============================================================ */
.b2b-section {
  background:var(--black); color:#fff;
  padding:6rem 5vw;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6rem;
  align-items:center;
}
.b2b-eyebrow { color:rgba(255,255,255,.4); }
.b2b-heading { font-family:var(--serif); font-size:clamp(2.2rem,4vw,3.5rem); font-weight:300; color:#fff; line-height:1.1; margin-bottom:1.5rem; }
.b2b-heading em { font-style:italic; color:var(--rose); }
.b2b-text { font-size:.87rem; color:rgba(255,255,255,.5); line-height:2; margin-bottom:2.5rem; }
.b2b-list { list-style:none; display:flex; flex-direction:column; gap:.8rem; margin-bottom:3rem; }
.b2b-list li { font-size:.82rem; color:rgba(255,255,255,.65); display:flex; align-items:center; gap:1rem; }
.b2b-list li::before { content:''; display:inline-block; width:20px; height:.5px; background:var(--rose); flex-shrink:0; }
.btn-b2b-big {
  font-size:.75rem; letter-spacing:.14em; text-transform:uppercase;
  padding:1.1rem 2.5rem;
  background:var(--rose); color:var(--black);
  border:none; transition:all .25s;
  display:inline-flex; align-items:center; gap:1rem; width:fit-content;
}
.btn-b2b-big:hover { background:#fff; }

.b2b-stats { display:flex; flex-direction:column; gap:1px; }
.b2b-stat {
  background:rgba(255,255,255,.04);
  border:.5px solid rgba(255,255,255,.07);
  padding:2rem 2.5rem;
}
.b2b-stat-num { font-family:var(--serif); font-size:3rem; font-weight:300; color:#fff; line-height:1; }
.b2b-stat-label { font-size:.65rem; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.35); margin-top:.4rem; }

/* ============================================================
   INSTAGRAM / SOCIAL GRID
   ============================================================ */
.instagram-section { padding:4rem 0 5rem; background:#fff; }
.ig-header { padding:0 5vw 2rem; display:flex; justify-content:space-between; align-items:center; }
.ig-handle { font-size:.72rem; letter-spacing:.1em; color:var(--taupe); }
.ig-grid {
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:2px;
  padding:0 5vw;
}
.ig-item { position:relative; overflow:hidden; padding-bottom:100%; cursor:pointer; }
.ig-bg { position:absolute; inset:0; transition:transform .6s ease; }
.ig-item:hover .ig-bg { transform:scale(1.06); }
.ig-hover {
  position:absolute; inset:0;
  background:rgba(17,17,17,.45);
  display:flex; align-items:center; justify-content:center;
  opacity:0; transition:opacity .3s;
}
.ig-item:hover .ig-hover { opacity:1; }
.ig-hover svg { width:22px; height:22px; stroke:#fff; fill:none; stroke-width:1.5; }
.ig-bg-1{background:linear-gradient(135deg,#3a3028 0%,#8a6850 100%)}
.ig-bg-2{background:linear-gradient(160deg,#2a2420 0%,#6a5040 100%)}
.ig-bg-3{background:linear-gradient(135deg,#1e1b18 0%,#5a4838 100%)}
.ig-bg-4{background:linear-gradient(160deg,#2e2824 0%,#7a6050 100%)}
.ig-bg-5{background:linear-gradient(135deg,#1a1714 0%,#4a3c30 100%)}
.ig-bg-6{background:linear-gradient(160deg,#222020 0%,#6a5848 100%)}

/* ============================================================
   NEWSLETTER
   ============================================================ */
.newsletter-section {
  background:var(--cream);
  padding:4rem 5vw;
  text-align:center;
  border-top:.5px solid rgba(17,17,17,.08);
}
.newsletter-section h3 { font-family:var(--serif); font-size:2rem; font-weight:300; margin-bottom:.5rem; }
.newsletter-section h3 em { font-style:italic; color:var(--warm); }
.newsletter-section p { font-size:.82rem; color:var(--taupe); margin-bottom:2rem; }
.newsletter-form { display:flex; gap:0; max-width:480px; margin:0 auto; }
.newsletter-form input {
  flex:1; padding:.9rem 1.2rem;
  border:.5px solid rgba(17,17,17,.2); border-right:none;
  font-family:var(--sans); font-size:.82rem; background:#fff;
  outline:none; transition:border-color .2s;
}
.newsletter-form input:focus { border-color:var(--black); }
.newsletter-form button {
  font-size:.7rem; letter-spacing:.12em; text-transform:uppercase;
  padding:.9rem 1.8rem;
  background:var(--black); color:#fff; border:none;
  transition:background .25s;
}
.newsletter-form button:hover { background:var(--warm); }

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer { background:var(--black); color:#fff; padding:5rem 5vw 2.5rem; }
.footer-grid {
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:3rem;
  padding-bottom:4rem;
  border-bottom:.5px solid rgba(255,255,255,.07);
}
.footer-logo img { height:40px; width:auto; object-fit:contain; filter:invert(1) brightness(.85); margin-bottom:1.2rem; }
.footer-tagline { font-size:.78rem; color:rgba(255,255,255,.3); line-height:1.8; margin-bottom:1.5rem; }
.footer-socials { display:flex; gap:1rem; }
.footer-socials a {
  width:34px; height:34px;
  border:.5px solid rgba(255,255,255,.12);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  transition:border-color .2s, background .2s;
}
.footer-socials a:hover { border-color:rgba(255,255,255,.4); background:rgba(255,255,255,.05); }
.footer-socials svg { width:14px; height:14px; stroke:#fff; fill:none; stroke-width:1.5; }
.footer-col h4 { font-size:.62rem; letter-spacing:.22em; text-transform:uppercase; color:rgba(255,255,255,.3); margin-bottom:1.2rem; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:.55rem; }
.footer-col a { font-size:.8rem; color:rgba(255,255,255,.45); transition:color .2s; }
.footer-col a:hover { color:#fff; }
.footer-bottom {
  padding-top:1.8rem;
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:1rem;
}
.footer-copy { font-size:.68rem; color:rgba(255,255,255,.2); }
.footer-legal { display:flex; gap:2rem; }
.footer-legal a { font-size:.68rem; color:rgba(255,255,255,.2); transition:color .2s; }
.footer-legal a:hover { color:rgba(255,255,255,.6); }

/* ============================================================
   MODAL LOGIN B2B
   ============================================================ */
.modal-bg {
  display:none; position:fixed; inset:0; z-index:500;
  background:rgba(17,17,17,.8);
  backdrop-filter:blur(6px);
  align-items:center; justify-content:center;
}
.modal-bg.open { display:flex; }
.modal-box {
  background:#fff; width:100%; max-width:440px;
  padding:3rem; position:relative;
  animation:modalPop .35s ease;
}
@keyframes modalPop { from{opacity:0;transform:translateY(-16px)} to{opacity:1;transform:translateY(0)} }
.modal-x { position:absolute; top:1rem; right:1.2rem; background:none; border:none; font-size:1.3rem; color:var(--taupe); }
.modal-x:hover { color:var(--black); }
.modal-eyebrow { font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--taupe); margin-bottom:.4rem; }
.modal-title { font-family:var(--serif); font-size:2rem; font-weight:300; margin-bottom:.3rem; }
.modal-sub { font-size:.78rem; color:var(--taupe); margin-bottom:2.5rem; }
.form-field { margin-bottom:1.1rem; }
.form-field label { display:block; font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; color:var(--taupe); margin-bottom:.4rem; }
.form-field input {
  width:100%; padding:.85rem 1rem;
  border:.5px solid rgba(17,17,17,.2); background:#fff;
  font-family:var(--sans); font-size:.85rem; color:var(--black);
  outline:none; transition:border-color .2s;
}
.form-field input:focus { border-color:var(--black); }
.form-row { display:flex; justify-content:space-between; align-items:center; margin-bottom:1.8rem; }
.form-row label { font-size:.72rem; color:var(--taupe); cursor:pointer; }
.form-row a { font-size:.7rem; color:var(--warm); }
.btn-login-submit {
  width:100%; padding:1rem;
  background:var(--black); color:#fff;
  border:none; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  transition:background .25s;
}
.btn-login-submit:hover { background:var(--warm); }
.modal-footer-note { text-align:center; font-size:.73rem; color:var(--taupe); margin-top:1.3rem; }
.modal-footer-note a { color:var(--warm); }

/* ============================================================
   WOOCOMMERCE OVERRIDES
   ============================================================ */
.woocommerce-notices-wrapper { padding:0 5vw; }
.woocommerce ul.products { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(17,17,17,.07); margin:0 5vw; list-style:none; }
.woocommerce ul.products li.product { background:#fff; }
.woocommerce .woocommerce-ordering select, .woocommerce .woocommerce-result-count { font-family:var(--sans); font-size:.78rem; }
.woocommerce a.button, .woocommerce button.button {
  font-family:var(--sans); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase;
  background:var(--black); color:#fff; padding:.85rem 1.8rem; border-radius:0;
  transition:background .25s;
}
.woocommerce a.button:hover, .woocommerce button.button:hover { background:var(--warm); color:#fff; }
.woocommerce-page .woocommerce-breadcrumb { font-size:.72rem; color:var(--taupe); padding:1rem 5vw 0; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1200px) {
  .products-grid { grid-template-columns:repeat(3,1fr); }
  .categories-grid { grid-template-columns:repeat(3,1fr); }
  .woocommerce ul.products { grid-template-columns:repeat(3,1fr); }
}
@media(max-width:1024px) {
  .nav-inner { padding:0 2rem; }
  .nav-menu { display:none; }
  .nav-hamburger { display:flex; }
  .editorial-banner { grid-template-columns:1fr; min-height:auto; }
  .b2b-section { grid-template-columns:1fr; gap:3rem; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .usp-grid { grid-template-columns:1fr 1fr; }
  .ig-grid { grid-template-columns:repeat(3,1fr); }
}
@media(max-width:768px) {
  .products-grid { grid-template-columns:repeat(2,1fr); }
  .categories-grid { grid-template-columns:repeat(2,1fr); }
  .woocommerce ul.products { grid-template-columns:repeat(2,1fr); }
  .hero-content { grid-template-columns:1fr; }
  .hero-info { text-align:left; display:none; }
  .footer-grid { grid-template-columns:1fr; }
  .lookbook-item { flex:0 0 260px; height:340px; }
  .ig-grid { grid-template-columns:repeat(3,1fr); }
}
@media(max-width:480px) {
  .usp-grid { grid-template-columns:1fr; }
  .newsletter-form { flex-direction:column; }
  .newsletter-form input { border-right:.5px solid rgba(17,17,17,.2); }
  .ig-grid { grid-template-columns:repeat(2,1fr); }
  .products-grid { grid-template-columns:repeat(2,1fr); }
}
