/*
Theme Name:  Bellioné & Co
Theme URI:   https://bellione.store
Author:      Bellioné Studio
Description: Premium WooCommerce — Brand Heritage Edition.
Version:     4.0.0
License:     GNU General Public License v2 or later
Text Domain: bellione
*/

/* ============================================================
   CUSTOM FONT — Copperplate Gothic Light
   Upload files to: /assets/fonts/
   ============================================================ */
@font-face {
  font-family: 'CopperplateGothic';
  src: url('assets/fonts/copperplate-gothic-light.woff2') format('woff2'),
       url('assets/fonts/copperplate-gothic-light.woff')  format('woff');
  font-weight: 300;
  font-style:  normal;
  font-display: swap;
}

/* Font stack: use Copperplate if uploaded, else fallback to Cinzel (Google Fonts) */
:root {
  --font-brand: 'CopperplateGothic', 'Cinzel', 'Trajan Pro', 'Times New Roman', serif;
}

/* ============================================================
   BRAND TOKENS — Bellioné Heritage
   Maroon #6b1010  ·  Gold #c9a468  ·  White #ffffff
   ============================================================ */
:root {
  /* Brand */
  --maroon:   #6b1010;
  --maroon2:  #7e1414;
  --maroon3:  #951919;
  --gold:     #c9a468;
  --gold2:    #dbb97a;
  --gold3:    #e8cc96;

  /* Neutral */
  --white:    #ffffff;
  --offwhite: #fdfcfb;
  --paper:    #f8f5f0;
  --paper2:   #f1ede6;
  --black:    #0c0c0c;
  --ink:      #1a1410;
  --ink2:     #2e2820;
  --muted:    #7a7068;
  --muted2:   #b0a898;

  --border:   rgba(107,16,16,0.10);
  --border-s: rgba(107,16,16,0.05);
  --gap:      clamp(1.2rem, 4vw, 3rem);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--white);
  color:var(--ink);
  font-family:'EB Garamond',Georgia,serif;
  overflow-x:hidden;
  cursor:none;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button,input,textarea,select{font-family:inherit;}

/* ── CURSOR ── */
#bel-cursor{
  width:6px;height:6px;background:var(--maroon);
  border-radius:50%;position:fixed;top:0;left:0;
  pointer-events:none;z-index:99999;
}
#bel-cursor-ring{
  width:26px;height:26px;
  border:1px solid rgba(107,16,16,0.3);
  border-radius:50%;position:fixed;top:0;left:0;
  pointer-events:none;z-index:99998;
  transition:width .2s,height .2s,border-color .2s;
}

/* ── TOPBAR ── */
.bel-topbar{
  background:var(--maroon);
  text-align:center;padding:.5rem 1rem;
  font-family:'Jost',sans-serif;
  font-size:.58rem;letter-spacing:.25em;
  text-transform:uppercase;color:rgba(255,255,255,.7);
}
.bel-topbar a{color:var(--gold3);border-bottom:1px solid rgba(201,164,104,.3);}

/* ── HEADER ── */
#masthead{
  position:sticky;top:0;z-index:900;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
}
.bel-nav-wrap{
  max-width:1400px;margin:0 auto;
  display:grid;grid-template-columns:1fr auto 1fr;
  align-items:center;padding:.9rem var(--gap);gap:1rem;
}
.bel-nav-left{display:flex;gap:2.5rem;}
.bel-nav-left a,.bel-nav-right a{
  font-family:'Jost',sans-serif;
  font-size:.62rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);transition:color .2s;position:relative;
}
.bel-nav-left a::after{
  content:'';position:absolute;bottom:-2px;left:0;right:0;
  height:1px;background:var(--maroon);
  transform:scaleX(0);transform-origin:left;transition:transform .3s;
}
.bel-nav-left a:hover,.bel-nav-right a:hover{color:var(--maroon);}
.bel-nav-left a:hover::after{transform:scaleX(1);}

/* LOGO — uses Cinzel to match brand font */
.bel-logo{text-align:center;text-decoration:none;}
.bel-logo-main{
  display:block;
  font-family:var(--font-brand);
  font-size:clamp(1.1rem,1.7vw,1.55rem);
  font-weight:600;letter-spacing:.35em;
  text-transform:uppercase;color:var(--maroon);line-height:1;
}
.bel-logo-sub{
  display:block;font-family:'Jost',sans-serif;
  font-size:.44rem;letter-spacing:.3em;
  text-transform:uppercase;color:var(--muted2);margin-top:.3rem;
}
.custom-logo{max-height:52px;width:auto;}

.bel-nav-right{display:flex;align-items:center;justify-content:flex-end;gap:1.8rem;}
.bel-cart-link{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.4rem 1.1rem;border:1px solid var(--maroon);
  font-family:'Jost',sans-serif;font-size:.58rem;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--maroon)!important;transition:all .25s;
}
.bel-cart-link:hover{background:var(--maroon);color:var(--white)!important;}
.bel-cart-count{
  background:var(--maroon);color:var(--white);
  width:16px;height:16px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:.48rem;font-weight:600;transition:background .25s,color .25s;
}
.bel-cart-link:hover .bel-cart-count{background:var(--white);color:var(--maroon);}
.bel-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none;}
.bel-hamburger span{display:block;width:22px;height:1px;background:var(--maroon);transition:.3s;}

/* ── MOBILE MENU ── */
.bel-mobile-menu{
  display:none;position:fixed;inset:0;z-index:9500;
  background:var(--white);flex-direction:column;overflow-y:auto;
}
.bel-mobile-menu.open{display:flex;}
.bel-mob-menu-top{
  display:flex;align-items:center;justify-content:space-between;
  padding:1rem 1.4rem;border-bottom:1px solid var(--border);
}
.bel-mob-menu-logo{
  font-family:var(--font-brand);font-size:1.1rem;
  letter-spacing:.35em;text-transform:uppercase;color:var(--maroon);
}
.bel-mobile-close{
  background:none;border:none;color:var(--muted);font-size:1.1rem;
  cursor:pointer;padding:.5rem;width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;
}
.bel-mob-menu-links{flex:1;display:flex;flex-direction:column;padding:1.5rem 1.4rem;gap:0;}
.bel-mob-menu-links a{
  font-family:var(--font-brand);font-size:clamp(1.2rem,6vw,2rem);
  color:var(--ink);padding:.7rem 0;
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
  transition:color .2s,padding-left .2s;
}
.bel-mob-menu-links a:hover{color:var(--maroon);padding-left:.5rem;}
.bel-mob-menu-links a::after{content:'→';font-style:normal;font-size:.75em;color:var(--muted2);}
.bel-mob-menu-bottom{padding:1.2rem 1.4rem;border-top:1px solid var(--border);display:flex;gap:.7rem;flex-wrap:wrap;}
.bel-mob-soc{
  font-family:'Jost',sans-serif;font-size:.56rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
  padding:.45rem .9rem;border:1px solid var(--border);transition:all .2s;
}
.bel-mob-soc:hover{color:var(--maroon);border-color:var(--maroon);}
.bel-mob-backdrop{display:none;position:fixed;inset:0;z-index:9400;background:rgba(12,12,12,.4);}

/* ── UTILITY ── */
.bel-container{max-width:1400px;margin:0 auto;padding:0 var(--gap);}
.bel-section{padding:6rem 0;}
.bel-eyebrow{
  font-family:'Jost',sans-serif;font-size:.52rem;
  letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:.6rem;
}
.bel-section-title{
  font-family:var(--font-brand);
  font-size:clamp(1.6rem,3vw,2.8rem);
  font-weight:400;letter-spacing:.05em;line-height:1.2;color:var(--maroon);
}
.bel-section-header{
  display:flex;align-items:flex-end;justify-content:space-between;
  margin-bottom:3rem;gap:1rem;flex-wrap:wrap;
}
.bel-link-arrow{
  font-family:'Jost',sans-serif;font-size:.58rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
  display:flex;align-items:center;gap:.5rem;white-space:nowrap;transition:color .2s,gap .2s;
}
.bel-link-arrow:hover{color:var(--maroon);gap:.9rem;}
.bel-link-arrow::after{content:'→';}

/* ── BUTTONS ── */
.bel-btn-primary{
  display:inline-flex;align-items:center;gap:.7rem;
  padding:.95rem 2.4rem;background:var(--maroon);color:var(--white);
  font-family:'Jost',sans-serif;font-size:.62rem;
  letter-spacing:.18em;text-transform:uppercase;
  border:1px solid var(--maroon);transition:background .25s;cursor:none;
}
.bel-btn-primary:hover{background:var(--maroon2);color:var(--white);}
.bel-btn-outline{
  display:inline-flex;align-items:center;gap:.6rem;
  padding:.95rem 2.2rem;border:1px solid var(--border);
  color:var(--muted);font-family:'Jost',sans-serif;
  font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;
  transition:border-color .25s,color .25s;cursor:none;
}
.bel-btn-outline:hover{border-color:var(--maroon);color:var(--maroon);}

/* ── GOLD DIVIDER ── */
.bel-gold-line{
  display:flex;align-items:center;gap:1rem;
  margin:1.5rem 0;
}
.bel-gold-line::before,.bel-gold-line::after{
  content:'';flex:1;height:1px;background:linear-gradient(to right,transparent,var(--gold),transparent);
}
.bel-gold-line span{
  font-family:'Jost',sans-serif;font-size:.5rem;
  letter-spacing:.3em;text-transform:uppercase;color:var(--gold);white-space:nowrap;
}

/* ── MARQUEE ── */
.bel-marquee-bar{
  background:var(--maroon);padding:.75rem 0;overflow:hidden;
  border-top:2px solid var(--gold);border-bottom:2px solid var(--gold);
}
.bel-marquee-track{display:flex;white-space:nowrap;animation:belMarquee 28s linear infinite;}
.bel-marquee-track:hover{animation-play-state:paused;}
.bel-mq-item{display:inline-flex;align-items:center;gap:1.5rem;flex-shrink:0;padding:0 1.5rem;}
.bel-mq-item span{font-family:'Jost',sans-serif;font-size:.56rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.65);}
.bel-mq-sep{color:var(--gold);font-size:.6rem;}
@keyframes belMarquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ═══════════════════════════════════
   HERO
   ═══════════════════════════════════ */
.bel-hero{
  min-height:100svh;display:flex;flex-direction:column;
  position:relative;overflow:hidden;background:var(--offwhite);
}
.bel-hero-bg{
  position:absolute;inset:0;
  background:linear-gradient(160deg,#ffffff 0%,#fdf9f4 40%,#f9f3ea 100%);
}
.bel-hero-grain{
  position:absolute;inset:0;opacity:.02;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:200px;pointer-events:none;
}
.bel-hero-bg-word{
  position:absolute;
  font-family:var(--font-brand);
  font-size:clamp(10rem,20vw,20rem);
  font-weight:600;letter-spacing:.15em;
  color:transparent;
  -webkit-text-stroke:1px rgba(107,16,16,.04);
  right:0;top:50%;transform:translateY(-50%);
  white-space:nowrap;pointer-events:none;line-height:1;user-select:none;
}
/* Crest watermark */
.bel-hero-crest{
  position:absolute;right:5%;top:50%;transform:translateY(-50%);
  width:clamp(280px,38vw,580px);height:clamp(280px,38vw,580px);
  opacity:.04;pointer-events:none;
}
.bel-crest-ring{position:absolute;inset:0;border:1px solid var(--maroon);border-radius:50%;}
.bel-crest-inner{position:absolute;inset:12%;border:1px solid var(--gold);border-radius:50%;}
.bel-crest-h{position:absolute;top:50%;left:0;right:0;height:1px;background:var(--gold);transform:translateY(-50%);}
.bel-crest-v{position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--gold);transform:translateX(-50%);}

.bel-hero-body{
  flex:1;display:flex;align-items:center;
  position:relative;z-index:2;
  padding:9rem var(--gap) 4rem;
  max-width:1400px;margin:0 auto;width:100%;
}
.bel-hero-left{max-width:600px;}
.bel-hero-eyebrow{
  display:flex;align-items:center;gap:1rem;margin-bottom:2rem;
  font-family:'Jost',sans-serif;font-size:.56rem;
  letter-spacing:.3em;text-transform:uppercase;color:var(--gold);
  opacity:0;animation:belFU .9s .3s forwards;
}
.bel-hero-eyebrow::before{content:'';width:28px;height:1px;background:var(--gold);}
.bel-hero-h1{
  font-family:var(--font-brand);
  font-size:clamp(2.8rem,6.5vw,7rem);
  font-weight:600;line-height:.95;
  letter-spacing:.04em;color:var(--maroon);
  margin-bottom:1.8rem;
  opacity:0;animation:belFU 1s .5s forwards;
}
.bel-h1-stroke{
  display:block;color:transparent;
  -webkit-text-stroke:1.5px var(--maroon);
  font-weight:400;letter-spacing:.08em;
}
.bel-h1-sub{
  display:block;font-family:'Jost',sans-serif;
  font-style:normal;-webkit-text-stroke:0;
  font-size:.38em;color:var(--gold);
  letter-spacing:.2em;margin-top:.6em;font-weight:400;
}
.bel-hero-desc{
  font-size:1.1rem;color:var(--muted);line-height:1.8;
  max-width:420px;margin-bottom:2.5rem;letter-spacing:.02em;
  opacity:0;animation:belFU .9s .75s forwards;
}
.bel-hero-btns{display:flex;gap:1rem;flex-wrap:wrap;opacity:0;animation:belFU .9s 1s forwards;}
.bel-hero-stats{
  display:flex;gap:3rem;margin-top:3.5rem;
  padding-top:2rem;
  border-top:1px solid rgba(107,16,16,.12);
  opacity:0;animation:belFU .9s 1.2s forwards;
}
.bel-stat-num{
  font-family:var(--font-brand);font-size:1.9rem;
  font-weight:400;color:var(--maroon);line-height:1;display:block;
}
.bel-stat-label{
  font-family:'Jost',sans-serif;font-size:.5rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--muted2);margin-top:.3rem;
}
.bel-hero-scroll{
  position:relative;z-index:2;display:flex;align-items:center;gap:1rem;
  padding:1.5rem var(--gap) 2.5rem;
  max-width:1400px;margin:0 auto;width:100%;
}
.bel-scroll-line{width:36px;height:1px;background:rgba(201,164,104,.4);}
.bel-scroll-txt{font-family:'Jost',sans-serif;font-size:.5rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted2);}
@keyframes belFU{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}

/* ── HERO VIDEO ── */
.bel-hero-video-wrap{position:absolute;inset:0;overflow:hidden;z-index:0;}
.bel-hero-video{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-width:100%;min-height:100%;object-fit:cover;}
.bel-video-overlay{position:absolute;inset:0;background:rgba(255,255,255,.55);z-index:1;}
.bel-hero--video .bel-hero-body{z-index:4;}
.bel-hero--video .bel-hero-scroll{z-index:4;}

/* ── PRODUCT CARD ── */
.bel-product-card{position:relative;cursor:none;}
.bel-product-img{
  aspect-ratio:3/4;position:relative;overflow:hidden;
  background:var(--paper);margin-bottom:1rem;
}
.bel-product-img img,.bel-img-placeholder{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .75s cubic-bezier(.25,.46,.45,.94);
}
.bel-img-placeholder{background:linear-gradient(160deg,var(--paper),var(--paper2));}
.bel-product-card:hover .bel-product-img img,
.bel-product-card:hover .bel-img-placeholder{transform:scale(1.04);}
.bel-quick-add{
  position:absolute;bottom:0;left:0;right:0;
  background:rgba(255,255,255,.97);
  border-top:2px solid var(--gold);
  padding:.9rem;transform:translateY(100%);
  transition:transform .32s cubic-bezier(.4,0,.2,1);z-index:4;
}
.bel-product-card:hover .bel-quick-add{transform:translateY(0);}
.bel-sizes{display:flex;gap:.4rem;margin-bottom:.7rem;flex-wrap:wrap;}
.bel-sz{
  font-family:'Jost',sans-serif;font-size:.5rem;letter-spacing:.1em;
  padding:.3rem .6rem;border:1px solid var(--border);color:var(--muted);
  cursor:none;transition:all .2s;
}
.bel-sz:hover,.bel-sz.selected{border-color:var(--maroon);color:var(--maroon);background:rgba(107,16,16,.04);}
.bel-btn-atc{
  width:100%;padding:.65rem;background:var(--maroon);color:var(--white);
  border:none;font-family:'Jost',sans-serif;
  font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;cursor:none;transition:background .2s;
}
.bel-btn-atc:hover{background:var(--maroon2);}
.bel-wishlist-btn{
  position:absolute;top:.7rem;right:.7rem;width:30px;height:30px;
  background:rgba(255,255,255,.92);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  font-size:.8rem;color:var(--muted);cursor:none;z-index:3;
  opacity:0;transition:opacity .2s,background .2s,color .2s;
}
.bel-product-card:hover .bel-wishlist-btn{opacity:1;}
.bel-wishlist-btn:hover{background:var(--maroon);color:var(--white);border-color:var(--maroon);}
.bel-badge{position:absolute;top:.7rem;left:.7rem;font-family:'Jost',sans-serif;font-size:.46rem;letter-spacing:.12em;text-transform:uppercase;padding:.24rem .6rem;z-index:3;}
.bel-badge-new {background:var(--maroon);color:var(--white);}
.bel-badge-sale{background:var(--gold);color:var(--ink);}
.bel-badge-ltd {background:var(--white);color:var(--gold);border:1px solid var(--gold);}
.bel-product-meta{padding:0 .1rem;}
.bel-product-brand{font-family:'Jost',sans-serif;font-size:.48rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted2);margin-bottom:.3rem;}
.bel-product-name{font-family:'EB Garamond',serif;font-size:1.05rem;letter-spacing:.02em;margin-bottom:.3rem;line-height:1.3;color:var(--ink);}
.bel-product-name a{color:var(--ink);transition:color .2s;}
.bel-product-name a:hover{color:var(--maroon);}
.bel-product-price{font-family:var(--font-brand);font-size:.9rem;font-weight:400;color:var(--maroon);}
.bel-product-price del{font-family:'EB Garamond',serif;color:var(--muted2);font-size:.85rem;margin-right:.3rem;}

.bel-products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;}

/* ── HERITAGE STRIP ── */
.bel-heritage{
  background:var(--maroon);
  border-top:2px solid var(--gold);border-bottom:2px solid var(--gold);
  padding:4rem 0;
}
.bel-heritage-grid{
  max-width:1400px;margin:0 auto;padding:0 var(--gap);
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:2rem;text-align:center;
}
.bel-heritage-icon{font-size:1.1rem;color:var(--gold);margin-bottom:.9rem;}
.bel-heritage-title{font-family:var(--font-brand);font-size:.95rem;font-weight:400;letter-spacing:.05em;margin-bottom:.4rem;color:var(--white);}
.bel-heritage-text{font-family:'Jost',sans-serif;font-size:.58rem;letter-spacing:.07em;color:rgba(255,255,255,.5);line-height:1.75;}

/* ── NEWSLETTER ── */
.bel-newsletter{
  background:var(--maroon);
  border-top:2px solid var(--gold);
}
.bel-newsletter-inner{
  max-width:1400px;margin:0 auto;padding:5.5rem var(--gap);
  display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;
}
.bel-nl-title{font-family:var(--font-brand);font-size:clamp(1.6rem,3vw,2.6rem);font-weight:400;letter-spacing:.05em;line-height:1.2;margin-bottom:.8rem;color:var(--white);}
.bel-nl-title em{font-style:normal;color:var(--gold);}
.bel-nl-desc{font-size:1rem;line-height:1.8;color:rgba(255,255,255,.45);margin-bottom:1.5rem;}
.bel-nl-perks{display:flex;flex-direction:column;gap:.6rem;}
.bel-nl-perk{display:flex;align-items:center;gap:.8rem;font-family:'Jost',sans-serif;font-size:.58rem;letter-spacing:.1em;color:rgba(255,255,255,.4);}
.bel-nl-perk::before{content:'✦';color:var(--gold);font-size:.5rem;}
.bel-nl-form{display:flex;flex-direction:column;gap:.8rem;}
.bel-nl-input{padding:1rem 1.4rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.15);color:var(--white);font-family:'EB Garamond',serif;font-size:1rem;outline:none;transition:border-color .3s;}
.bel-nl-input:focus{border-color:var(--gold);}
.bel-nl-input::placeholder{color:rgba(255,255,255,.3);}
.bel-newsletter .bel-btn-primary{background:var(--gold);color:var(--ink);border-color:var(--gold);}
.bel-newsletter .bel-btn-primary:hover{background:var(--gold2);border-color:var(--gold2);}

/* ── FOOTER ── */
#colophon{background:var(--white);border-top:1px solid var(--border);}
.bel-footer-top{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding:5rem var(--gap) 4rem;}
.bel-footer-brand-name{font-family:var(--font-brand);font-size:1.4rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--maroon);margin-bottom:.4rem;}
.bel-footer-brand-tm{font-family:'Jost',sans-serif;font-size:.48rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem;}
.bel-footer-tagline{font-size:.95rem;line-height:1.8;color:var(--muted);max-width:250px;margin-bottom:1.5rem;}
.bel-footer-socials{display:flex;gap:.6rem;flex-wrap:wrap;}
.bel-footer-soc{padding:.35rem .9rem;border:1px solid var(--border);font-family:'Jost',sans-serif;font-size:.5rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);transition:all .2s;}
.bel-footer-soc:hover{background:var(--maroon);color:var(--white);border-color:var(--maroon);}
.bel-footer-col-title{font-family:'Jost',sans-serif;font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;color:var(--maroon);margin-bottom:1.2rem;padding-bottom:.6rem;border-bottom:1px solid var(--border);}
.bel-footer-links li{margin-bottom:.6rem;}
.bel-footer-links a{font-family:'EB Garamond',serif;font-size:.95rem;color:var(--muted);transition:color .2s;}
.bel-footer-links a:hover{color:var(--maroon);}
.bel-footer-bottom{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:1.5rem var(--gap) 2.5rem;border-top:1px solid var(--border);}
.bel-footer-copy{font-family:'Jost',sans-serif;font-size:.52rem;letter-spacing:.12em;color:var(--muted2);}
.bel-payment-chips{display:flex;gap:.5rem;flex-wrap:wrap;}
.bel-pay-chip{padding:.2rem .6rem;border:1px solid var(--border);font-family:'Jost',sans-serif;font-size:.46rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted2);}
.bel-pay-chip.gold{border-color:rgba(201,164,104,.35);color:var(--gold);}

/* ════════════════════════════════════
   FLOATING CHAT BUTTON
   ════════════════════════════════════ */
.bel-chat-widget{
  position:fixed;bottom:2rem;right:1.8rem;z-index:8000;
  display:flex;flex-direction:column;align-items:flex-end;gap:.7rem;
}
.bel-chat-toggle{
  width:56px;height:56px;
  background:var(--maroon);
  border:2px solid var(--gold);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;box-shadow:0 4px 20px rgba(107,16,16,.35);
  transition:transform .25s,box-shadow .25s;
  font-size:1.4rem;color:var(--white);
  position:relative;z-index:2;
}
.bel-chat-toggle:hover{transform:scale(1.08);box-shadow:0 6px 28px rgba(107,16,16,.45);}
/* Pulse ring */
.bel-chat-toggle::before{
  content:'';position:absolute;inset:-6px;
  border-radius:50%;border:1.5px solid rgba(107,16,16,.25);
  animation:belPulse 2s ease-out infinite;
}
@keyframes belPulse{
  0%{transform:scale(1);opacity:1;}
  100%{transform:scale(1.5);opacity:0;}
}
/* Chat options panel */
.bel-chat-options{
  display:flex;flex-direction:column;gap:.6rem;
  transform-origin:bottom right;
  transform:scale(0) translateY(10px);
  opacity:0;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1), opacity .2s;
  pointer-events:none;
}
.bel-chat-widget.open .bel-chat-options{
  transform:scale(1) translateY(0);
  opacity:1;pointer-events:auto;
}
.bel-chat-option{
  display:flex;align-items:center;gap:.8rem;
  padding:.65rem 1.1rem;
  border-radius:2rem;
  font-family:'Jost',sans-serif;font-size:.62rem;
  letter-spacing:.1em;text-transform:uppercase;
  text-decoration:none;
  box-shadow:0 2px 12px rgba(0,0,0,.12);
  white-space:nowrap;transition:transform .2s,box-shadow .2s;
}
.bel-chat-option:hover{transform:translateX(-4px);box-shadow:0 4px 18px rgba(0,0,0,.18);}
.bel-chat-option-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1rem;}
/* WhatsApp */
.bel-chat-wa{background:var(--white);color:#075e54;}
.bel-chat-wa .bel-chat-option-icon{background:#25d366;}
/* Messenger */
.bel-chat-ms{background:var(--white);color:#0084ff;}
.bel-chat-ms .bel-chat-option-icon{background:linear-gradient(135deg,#00c6ff,#0068ff);}
/* Label tooltip */
.bel-chat-label{
  position:absolute;right:calc(100% + 1rem);top:50%;transform:translateY(-50%);
  background:var(--maroon);color:var(--white);
  padding:.3rem .8rem;border-radius:2rem;
  font-family:'Jost',sans-serif;font-size:.52rem;letter-spacing:.12em;
  text-transform:uppercase;white-space:nowrap;
  opacity:0;pointer-events:none;
  transition:opacity .2s;
}
.bel-chat-toggle:hover .bel-chat-label{opacity:1;}

/* ── WOOCOMMERCE ── */
.woocommerce-page .woocommerce,.woocommerce{color:var(--ink)!important;}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:2rem!important;margin:0!important;}
.woocommerce ul.products li.product{float:none!important;width:auto!important;}
.woocommerce ul.products li.product a img{aspect-ratio:3/4;object-fit:cover;width:100%;background:var(--paper);transition:transform .7s cubic-bezier(.25,.46,.45,.94);}
.woocommerce ul.products li.product:hover a img{transform:scale(1.04);}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:'EB Garamond',serif!important;font-size:1.05rem!important;font-weight:400!important;color:var(--ink)!important;padding:.5rem 0 .2rem!important;}
.woocommerce .price{font-family:var(--font-brand)!important;font-weight:400!important;color:var(--maroon)!important;font-size:.9rem!important;}
.woocommerce .price del{font-family:'EB Garamond',serif!important;color:var(--muted2)!important;}
.woocommerce .price ins{text-decoration:none!important;}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{
  background:var(--maroon)!important;color:var(--white)!important;
  font-family:'Jost',sans-serif!important;font-size:.58rem!important;
  letter-spacing:.14em!important;text-transform:uppercase!important;
  border-radius:0!important;border:1px solid var(--maroon)!important;
  padding:.75rem 1.6rem!important;transition:background .2s!important;
}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--maroon2)!important;}
.woocommerce div.product .product_title{font-family:var(--font-brand)!important;font-size:clamp(1.6rem,3vw,2.5rem)!important;font-weight:400!important;color:var(--maroon)!important;}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--maroon)!important;font-size:1.4rem!important;}
.woocommerce table.shop_table{border:1px solid var(--border)!important;background:var(--white)!important;}
.woocommerce table.shop_table th{font-family:'Jost',sans-serif!important;font-size:.56rem!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:var(--maroon)!important;background:var(--paper)!important;border-color:var(--border)!important;}
.woocommerce table.shop_table td{border-color:var(--border)!important;color:var(--ink)!important;}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{background:var(--white)!important;border:1px solid var(--border)!important;color:var(--ink)!important;border-radius:0!important;font-family:'EB Garamond',serif!important;font-size:1rem!important;}
.woocommerce form .form-row input.input-text:focus{border-color:var(--maroon)!important;outline:none!important;}
.woocommerce form .form-row label{font-family:'Jost',sans-serif!important;font-size:.58rem!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:var(--muted)!important;}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{background:var(--white)!important;border-color:var(--border)!important;color:var(--muted)!important;font-family:'Jost',sans-serif!important;font-size:.58rem!important;letter-spacing:.1em!important;border-radius:0!important;}
.woocommerce nav.woocommerce-pagination ul li span.current,.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--maroon)!important;color:var(--white)!important;border-color:var(--maroon)!important;}
.woocommerce .star-rating span::before,.woocommerce .star-rating::before{color:var(--gold)!important;}
.woocommerce-breadcrumb{font-family:'Jost',sans-serif!important;font-size:.54rem!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--muted2)!important;margin-bottom:1.5rem!important;}
.woocommerce-breadcrumb a{color:var(--gold)!important;}
.woocommerce-notices-wrapper .woocommerce-message{background:var(--paper)!important;border-top-color:var(--maroon)!important;color:var(--ink)!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:var(--paper)!important;border-color:var(--border)!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--muted)!important;font-family:'Jost',sans-serif!important;font-size:.6rem!important;letter-spacing:.14em!important;text-transform:uppercase!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--white)!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--maroon)!important;}
.woocommerce div.product .woocommerce-tabs .panel{background:var(--white)!important;border:1px solid var(--border)!important;color:var(--muted)!important;}
.woocommerce-ordering select{background:var(--white)!important;border:1px solid var(--border)!important;color:var(--ink)!important;font-family:'Jost',sans-serif!important;font-size:.58rem!important;letter-spacing:.1em!important;padding:.6rem .9rem!important;border-radius:0!important;width:100%;}

/* ── REVEAL ── */
.bel-reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease;}
.bel-reveal.bel-on{opacity:1;transform:translateY(0);}

.bel-mobile-bar{display:none;}

/* ============================================================
   FORCE WHITE BACKGROUND OVERRIDES
   (ensures no dark remnants from any previous version)
   ============================================================ */
html,
body {
  background: #ffffff !important;
  color: #1a1410 !important;
}

/* All main sections — white */
.bel-section,
.bel-editorial-wrap,
.bel-ed-visual,
.bel-ed-text,
.woocommerce-page,
.woocommerce,
#page,
#content,
.site-content,
main,
.bel-main,
.bel-woo-main {
  background: #ffffff !important;
}

/* Paper-toned sections */
.bel-hero {
  background-color: transparent !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
.bel-editorial-wrap,
.bel-ed-visual {
  background: #f8f5f0 !important;
}

/* Only these sections stay dark (intentional brand blocks) */
.bel-heritage,
.bel-newsletter,
.bel-topbar,
.bel-marquee-bar {
  background: var(--maroon) !important;
}

/* Lookbook cards — light beige NOT dark */
.bel-look-card,
.bel-lb1,.bel-lb2,.bel-lb3,.bel-lb4,.bel-lb5 {
  background: #f0eeeb !important;
}
.bel-lb1{background:linear-gradient(155deg,#f0eeeb,#e8e5e0) !important;}
.bel-lb2{background:linear-gradient(155deg,#edeae6,#e4e0da) !important;}
.bel-lb3{background:linear-gradient(155deg,#f2f0ed,#eae7e2) !important;}
.bel-lb4{background:linear-gradient(155deg,#eeebe7,#e6e2dc) !important;}
.bel-lb5{background:linear-gradient(155deg,#f1efec,#eae6e1) !important;}

/* Product image placeholders — light */
.bel-img-placeholder,
.bel-product-img,
.bel-cat-placeholder {
  background: #f8f5f0 !important;
}

/* Remove any dark backgrounds from WooCommerce */
.woocommerce ul.products li.product,
.woocommerce ul.products li.product a,
.woocommerce-loop-product__link {
  background: transparent !important;
}

/* ============================================================
   HERO — BACKGROUND IMAGE MODE
   ============================================================ */
.bel-hero--image {
  background: var(--ink) !important;
}
.bel-hero-img-wrap {
  position: absolute; inset: 0; z-index: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  transition: transform 6s ease;
}
/* Subtle Ken Burns on image */
.bel-hero--image:hover .bel-hero-img-wrap {
  transform: scale(1.03);
}
.bel-hero-img-overlay {
  position: absolute; inset: 0; z-index: 1;
  background: rgba(26,20,16,0.30); /* controlled by customizer */
}
/* Text stays light over image */
.bel-hero--image .bel-hero-eyebrow { color: rgba(255,255,255,.7) !important; }
.bel-hero--image .bel-hero-eyebrow::before { background: rgba(255,255,255,.4) !important; }
.bel-hero--image .bel-hero-h1 { color: #ffffff !important; }
.bel-hero--image .bel-h1-stroke {
  color: transparent !important;
  -webkit-text-stroke-color: rgba(255,255,255,.85) !important;
}
.bel-hero--image .bel-h1-sub { color: var(--gold2) !important; }
.bel-hero--image .bel-hero-desc { color: rgba(255,255,255,.7) !important; }
.bel-hero--image .bel-hero-stats { border-top-color: rgba(255,255,255,.15) !important; }
.bel-hero--image .bel-stat-num { color: #ffffff !important; }
.bel-hero--image .bel-stat-label { color: rgba(255,255,255,.5) !important; }
.bel-hero--image .bel-hero-grain,
.bel-hero--image .bel-hero-bg-word,
.bel-hero--image .bel-hero-crest { z-index: 2; }
.bel-hero--image .bel-hero-body { z-index: 3; }
.bel-hero--image .bel-hero-scroll { z-index: 3; }
.bel-hero--image .bel-scroll-txt,
.bel-hero--image .bel-scroll-line { color: rgba(255,255,255,.4) !important; background: rgba(255,255,255,.3) !important; }
/* Buttons over image */
.bel-hero--image .bel-btn-primary {
  background: var(--maroon) !important; border-color: var(--maroon) !important; color: #fff !important;
}
.bel-hero--image .bel-btn-outline {
  border-color: rgba(255,255,255,.4) !important; color: rgba(255,255,255,.8) !important;
}
.bel-hero--image .bel-btn-outline:hover { border-color: #fff !important; color: #fff !important; }

/* ============================================================
   PRODUCT VIDEO SHOWCASE SECTION
   ============================================================ */
.bel-pvideo-section {
  background: var(--paper) !important;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.bel-pvideo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
}

/* If only 2 videos */
.bel-pvideo-grid:has(.bel-pvideo-card:nth-child(2)):not(:has(.bel-pvideo-card:nth-child(3))) {
  grid-template-columns: repeat(2, 1fr);
  max-width: 800px;
}

.bel-pvideo-card {
  position: relative;
  cursor: pointer;
}

.bel-pvideo-wrap {
  position: relative;
  aspect-ratio: 9/16; /* Portrait — phone style */
  overflow: hidden;
  background: var(--ink);
}

.bel-pvideo {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .6s cubic-bezier(.25,.46,.45,.94);
}
.bel-pvideo-card:hover .bel-pvideo {
  transform: scale(1.03);
}

/* Play/pause overlay */
.bel-pvideo-overlay {
  position: absolute; inset: 0; z-index: 2;
  display: flex; align-items: center; justify-content: center;
  background: rgba(26,20,16,.25);
  transition: background .3s;
}
.bel-pvideo-card.playing .bel-pvideo-overlay {
  background: transparent;
}
.bel-pvideo-card.playing .bel-pvideo-overlay:hover {
  background: rgba(26,20,16,.15);
}

.bel-pvideo-play {
  width: 52px; height: 52px;
  background: var(--maroon);
  border: 2px solid var(--gold);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #fff;
  transition: transform .25s, opacity .3s;
  padding-left: 3px; /* optical centre for play icon */
}
.bel-pvideo-card.playing .bel-pvideo-play {
  opacity: 0;
  transform: scale(0.8);
}
.bel-pvideo-card.playing:hover .bel-pvideo-play {
  opacity: .7;
  transform: scale(1);
}

/* Bottom info bar */
.bel-pvideo-info {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 2rem 1.2rem 1.2rem;
  background: linear-gradient(to top, rgba(26,20,16,.88) 0%, transparent 100%);
  z-index: 3;
  transform: translateY(8px);
  transition: transform .3s ease;
}
.bel-pvideo-card:hover .bel-pvideo-info {
  transform: translateY(0);
}

.bel-pvideo-label {
  font-family: 'EB Garamond', serif;
  font-size: 1.05rem;
  color: #ffffff;
  margin-bottom: .2rem;
  letter-spacing: .02em;
}
.bel-pvideo-price {
  font-family: var(--font-brand);
  font-size: .78rem;
  color: var(--gold2);
  letter-spacing: .1em;
  margin-bottom: .8rem;
}
.bel-pvideo-btn {
  display: inline-block;
  padding: .45rem 1.1rem;
  background: var(--maroon);
  border: 1px solid var(--gold);
  font-family: 'Jost', sans-serif;
  font-size: .56rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #fff;
  transition: background .2s;
}
.bel-pvideo-btn:hover {
  background: var(--maroon2);
  color: #fff;
}

/* ── RESPONSIVE — video grid ── */
@media (max-width: 1023px) {
  .bel-pvideo-grid { grid-template-columns: repeat(3, 1fr); gap: .8rem; }
}
@media (max-width: 767px) {
  .bel-pvideo-grid {
    display: flex;
    overflow-x: auto;
    gap: .8rem;
    scrollbar-width: none;
    padding-bottom: .5rem;
    cursor: grab;
  }
  .bel-pvideo-grid::-webkit-scrollbar { display: none; }
  .bel-pvideo-card { flex: 0 0 60vw; max-width: 220px; }
  /* On mobile, always show info */
  .bel-pvideo-info { transform: translateY(0) !important; }
  .bel-pvideo-play { width: 42px; height: 42px; }
}
@media (max-width: 479px) {
  .bel-pvideo-card { flex: 0 0 70vw; max-width: 200px; }
}

/* ============================================================
   HERO — IMAGE BACKGROUND (clean override)
   ============================================================ */
.bel-hero {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}
/* Overlay div */
.bel-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    /* opacity set inline via Customizer */
}
/* All hero content above overlay */
.bel-hero-grain,
.bel-hero-bg-word,
.bel-hero-crest,
.bel-hero-body,
.bel-hero-scroll { position: relative; z-index: 2; }

/* When background image is set — text becomes white */
.bel-hero[style*="background-image"] .bel-hero-eyebrow {
    color: rgba(255,255,255,.75) !important;
}
.bel-hero[style*="background-image"] .bel-hero-eyebrow::before {
    background: rgba(255,255,255,.4) !important;
}
.bel-hero[style*="background-image"] .bel-hero-h1 {
    color: #ffffff !important;
}
.bel-hero[style*="background-image"] .bel-h1-stroke {
    color: transparent !important;
    -webkit-text-stroke-color: rgba(255,255,255,.9) !important;
}
.bel-hero[style*="background-image"] .bel-h1-sub {
    color: var(--gold2) !important;
    -webkit-text-stroke: 0 !important;
}
.bel-hero[style*="background-image"] .bel-hero-desc {
    color: rgba(255,255,255,.72) !important;
}
.bel-hero[style*="background-image"] .bel-hero-stats {
    border-top-color: rgba(255,255,255,.18) !important;
}
.bel-hero[style*="background-image"] .bel-stat-num { color: #ffffff !important; }
.bel-hero[style*="background-image"] .bel-stat-label { color: rgba(255,255,255,.5) !important; }
.bel-hero[style*="background-image"] .bel-scroll-txt { color: rgba(255,255,255,.4) !important; }
.bel-hero[style*="background-image"] .bel-scroll-line { background: rgba(255,255,255,.25) !important; }
.bel-hero[style*="background-image"] .bel-btn-primary {
    background: var(--maroon) !important;
    border-color: var(--maroon) !important;
    color: #fff !important;
}
.bel-hero[style*="background-image"] .bel-btn-outline {
    border-color: rgba(255,255,255,.45) !important;
    color: rgba(255,255,255,.85) !important;
}
.bel-hero[style*="background-image"] .bel-btn-outline:hover {
    border-color: #fff !important;
    color: #fff !important;
}

/* Editorial full image */
.bel-ed-full-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform .8s cubic-bezier(.25,.46,.45,.94);
}
.bel-ed-visual:hover .bel-ed-full-img {
    transform: scale(1.03);
}
/* Tag + number stay above image */
.bel-ed-visual { overflow: hidden; }
.bel-ed-tag,
.bel-ed-num { position: absolute; z-index: 2; }

/* ============================================================
   HEADER — Left:Menu  ·  Center:Logo  ·  Right:Bag
   (clean single definition)
   ============================================================ */
#masthead {
    position: sticky; top: 0; z-index: 900;
    background: rgba(255,255,255,.97);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--border);
}
.bel-nav-wrap {
    max-width: 1400px; margin: 0 auto;
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center;
    padding: .9rem var(--gap);
    gap: 0;
}

/* ── LEFT — Menu ── */
.bel-nav-left {
    display: flex !important;
    align-items: center;
    gap: 2rem;
    justify-content: flex-start;
}
.bel-nav-left a {
    font-family: 'Jost', sans-serif;
    font-size: .6rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--muted);
    transition: color .2s;
    position: relative;
    white-space: nowrap;
}
.bel-nav-left a::after {
    content: ''; position: absolute;
    bottom: -2px; left: 0; right: 0;
    height: 1px; background: var(--maroon);
    transform: scaleX(0); transform-origin: left;
    transition: transform .3s;
}
.bel-nav-left a:hover,
.bel-nav-left .current-menu-item > a { color: var(--maroon); }
.bel-nav-left a:hover::after { transform: scaleX(1); }

/* Hamburger — hidden on desktop */
.bel-hamburger {
    display: none !important;
    flex-direction: column;
    gap: 5px; padding: 4px;
    background: none; border: none; cursor: pointer;
}
.bel-hamburger span {
    display: block; width: 22px; height: 1px;
    background: var(--maroon); transition: .3s;
}

/* ── CENTER — Logo ── */
.bel-logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    justify-self: center;
    text-align: center;
}
.bel-logo-main {
    display: block;
    font-family: var(--font-brand);
    font-size: clamp(1rem, 1.6vw, 1.5rem);
    font-weight: 600;
    letter-spacing: .38em;
    text-transform: uppercase;
    color: var(--maroon);
    line-height: 1;
}
.bel-logo-sub {
    display: block;
    font-family: 'Jost', sans-serif;
    font-size: .42rem;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: var(--muted2);
    margin-top: .28rem;
}
.custom-logo { max-height: 52px; width: auto; display: block; }

/* ── RIGHT — Bag ── */
.bel-nav-right {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 1.4rem;
}
.bel-nav-icon-link {
    display: inline-flex; align-items: center; gap: .35rem;
    color: var(--muted); transition: color .2s;
    font-family: 'Jost', sans-serif;
    font-size: .58rem; letter-spacing: .12em;
    text-transform: uppercase;
}
.bel-nav-icon-link:hover { color: var(--maroon); }
.bel-nav-link-text { display: inline; }

.bel-cart-link {
    display: inline-flex !important; align-items: center; gap: .5rem;
    padding: .42rem 1rem;
    border: 1px solid var(--maroon);
    font-family: 'Jost', sans-serif;
    font-size: .58rem; letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--maroon) !important;
    transition: background .25s, color .25s;
    white-space: nowrap;
}
.bel-cart-link:hover { background: var(--maroon); color: #fff !important; }
.bel-cart-link:hover .bel-cart-count { background: #fff; color: var(--maroon); }
.bel-cart-count {
    background: var(--maroon); color: #fff;
    width: 17px; height: 17px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: .47rem; font-weight: 600;
    transition: background .25s, color .25s;
}

/* ── RESPONSIVE HEADER ── */
@media (max-width: 1023px) {
    .bel-nav-left a:not(.bel-hamburger) { display: none !important; }
    .bel-hamburger { display: flex !important; }
    .bel-nav-link-text { display: none !important; }
    .bel-nav-wrap { padding: .8rem 1.2rem !important; }
}
@media (max-width: 767px) {
    .bel-nav-icon-link { display: none !important; }
    .bel-cart-link { padding: .38rem .8rem !important; }
    .bel-logo-main { font-size: clamp(.85rem, 4vw, 1.1rem) !important; letter-spacing: .2em !important; }
}
@media (max-width: 479px) {
    .bel-nav-wrap { padding: .72rem .9rem !important; }
}

/* ============================================================
   HERO OVERLAY — lighter default
   ============================================================ */
.bel-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    /* Default very light — controlled by Customizer */
    background: rgba(26,20,16,0.15);
    pointer-events: none;
}
/* Grain + crest + content above overlay */
.bel-hero > *:not(.bel-hero-overlay):not(.bel-hero-bg) {
    position: relative;
    z-index: 2;
}

/* ============================================================
   MOBILE MENU FIX — hamburger left side
   ============================================================ */

/* Desktop: hamburger hidden */
.bel-hamburger {
    display: none !important;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 6px;
    min-height: 44px;
    min-width: 44px;
    align-items: center;
    justify-content: center;
}
.bel-hamburger span {
    display: block;
    width: 22px; height: 1.5px;
    background: var(--maroon);
    transition: .3s;
}

/* Mobile: show hamburger, hide nav links */
@media (max-width: 1023px) {
    .bel-hamburger { display: flex !important; }

    .bel-nav-left { min-width: 44px; }
    .bel-nav-left > a { display: none !important; }
    /* Hide WP nav menu items */
    .bel-nav-left .menu-item,
    .bel-nav-left .nav-menu > li { display: none !important; }

    .bel-nav-link-text { display: none !important; }
}

/* Mobile bottom bar icons use SVG */
.bel-mob-bar-btn svg,
.bel-mob-bar-cart svg { display: block; }

/* Chat button — above mobile bottom bar */
@media (max-width: 767px) {
    .bel-chat-widget {
        bottom: calc(72px + env(safe-area-inset-bottom)) !important;
        right: 1rem !important;
    }
    .bel-chat-toggle {
        width: 48px !important;
        height: 48px !important;
    }
}

/* ============================================================
   WOOCOMMERCE — Cart, Checkout, Account pages
   ============================================================ */

/* ── WooCommerce add to cart button (shop loop) ── */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .add_to_cart_button {
    display: block !important;
    width: 100% !important;
    padding: .7rem 1rem !important;
    background: transparent !important;
    color: var(--maroon) !important;
    border: 1px solid var(--border) !important;
    font-family: 'Jost', sans-serif !important;
    font-size: .58rem !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    border-radius: 0 !important;
    transition: background .25s, color .25s, border-color .25s !important;
    margin-top: .5rem !important;
    cursor: pointer !important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover {
    background: var(--maroon) !important;
    color: #fff !important;
    border-color: var(--maroon) !important;
}

/* ── Cart page ── */
.woocommerce-cart .woocommerce,
.woocommerce-cart .bel-page-content {
    width: 100%;
}
.woocommerce-cart table.cart,
.woocommerce-cart .woocommerce-cart-form {
    width: 100% !important;
}
.woocommerce-cart .cart_totals {
    float: none !important;
    width: 100% !important;
    max-width: 480px;
    margin-top: 2rem;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    background: var(--maroon) !important;
    color: #fff !important;
    border-radius: 0 !important;
    font-family: 'Jost', sans-serif !important;
    font-size: .65rem !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
    padding: 1rem 2rem !important;
    width: 100% !important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
    background: var(--maroon2) !important;
}

/* Cart table */
.woocommerce table.shop_table.cart td,
.woocommerce table.shop_table.cart th {
    padding: 1rem .75rem !important;
    vertical-align: middle !important;
}
.woocommerce table.shop_table.cart .product-thumbnail img {
    width: 80px !important;
    height: 107px !important;
    object-fit: cover !important;
}
.woocommerce table.shop_table.cart .product-name a {
    font-family: 'EB Garamond', serif !important;
    font-size: 1.1rem !important;
    color: var(--ink) !important;
}
.woocommerce table.shop_table.cart .product-name a:hover {
    color: var(--maroon) !important;
}
/* Update cart button */
.woocommerce table.cart .actions .button {
    background: transparent !important;
    color: var(--muted) !important;
    border: 1px solid var(--border) !important;
    font-size: .58rem !important;
    letter-spacing: .14em !important;
}
.woocommerce table.cart .actions .button:hover {
    background: var(--ink) !important;
    color: #fff !important;
    border-color: var(--ink) !important;
}

/* ── Checkout page ── */
.woocommerce-checkout .bel-page-content {
    max-width: 1100px;
}
.woocommerce-checkout #order_review_heading {
    font-family: var(--font-brand) !important;
    font-size: 1.2rem !important;
    color: var(--maroon) !important;
    letter-spacing: .05em !important;
}
.woocommerce-checkout h3 {
    font-family: var(--font-brand) !important;
    color: var(--maroon) !important;
    font-size: 1.1rem !important;
    letter-spacing: .05em !important;
    margin-bottom: 1.5rem !important;
}
#place_order {
    background: var(--maroon) !important;
    color: #fff !important;
    border-radius: 0 !important;
    font-family: 'Jost', sans-serif !important;
    font-size: .65rem !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
    padding: 1rem 2rem !important;
    width: 100% !important;
    border: none !important;
    cursor: pointer !important;
    transition: background .25s !important;
}
#place_order:hover { background: var(--maroon2) !important; }

/* ── My Account page ── */
.woocommerce-account .woocommerce-MyAccount-navigation {
    float: none !important;
    width: 100% !important;
    margin-bottom: 2rem !important;
    display: flex !important;
    gap: .5rem !important;
    flex-wrap: wrap !important;
    border-bottom: 1px solid var(--border) !important;
    padding-bottom: 1rem !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex !important;
    gap: .5rem !important;
    flex-wrap: wrap !important;
    list-style: none !important;
    margin: 0 !important; padding: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
    font-family: 'Jost', sans-serif !important;
    font-size: .6rem !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    color: var(--muted) !important;
    padding: .5rem 1rem !important;
    border: 1px solid var(--border) !important;
    display: block !important;
    transition: all .2s !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
    background: var(--maroon) !important;
    color: #fff !important;
    border-color: var(--maroon) !important;
}
.woocommerce-account .woocommerce-MyAccount-content {
    float: none !important;
    width: 100% !important;
}

/* ── Page content spacing ── */
.bel-page-content {
    max-width: 1400px;
    margin: 0 auto;
}
.bel-page-content > h1,
.bel-page-content > h2 {
    font-family: var(--font-brand) !important;
    color: var(--maroon) !important;
    margin-bottom: 2rem !important;
    letter-spacing: .05em !important;
}

/* ── Shop button text fix ── */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .product_type_simple {
    color: var(--maroon) !important;
    background: transparent !important;
    border: 1px solid rgba(107,16,16,.25) !important;
    font-family: 'Jost', sans-serif !important;
    font-size: .58rem !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    padding: .65rem 1rem !important;
    border-radius: 0 !important;
    width: 100% !important;
    display: block !important;
    text-align: center !important;
    text-decoration: none !important;
    transition: all .25s !important;
    margin-top: .6rem !important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover {
    background: var(--maroon) !important;
    color: #ffffff !important;
    border-color: var(--maroon) !important;
}
/* added to cart state */
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product a.added_to_cart {
    color: var(--maroon) !important;
    font-family: 'Jost', sans-serif !important;
    font-size: .56rem !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    display: block !important;
    text-align: center !important;
    margin-top: .4rem !important;
}

/* ── HERO BACKGROUND IMAGE — FINAL FIX ── */
.bel-hero {
    background-color: #f5f4f2 !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    min-height: 100svh !important;
}
/* When image is set via inline style, show it properly */
section.bel-hero[style],
.bel-hero[style*="background-image"] {
    background-color: #1a1410 !important;
}

/* ── HERO FINAL z-index FIX ── */
.bel-hero {
    position: relative;
    overflow: hidden;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
}
.bel-hero-bg,
.bel-hero-img-bg { position: absolute; inset: 0; z-index: 0; }
.bel-hero-grain  { position: relative; z-index: 2; }
.bel-hero-bg-word,
.bel-hero-crest  { position: absolute; z-index: 2; pointer-events: none; }
.bel-hero-body   { position: relative; z-index: 3; flex: 1; }
.bel-hero-scroll { position: relative; z-index: 3; }
