/* ============================================================
   BUONO — homepage (Shevoke-inspired). Scoped under .bw-home.
   ============================================================ */
.bw-home{
  --brand:#1A1A1A; --accent:#000; --muted:#6B6B6B; --line:#E6E6E6;
  --paper:#fff; --ink-deep:#0D0D0D; --soft:#F4F4F5;
  --font:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --wrap:1280px; --gutter:clamp(18px,5vw,56px);
  --ease:cubic-bezier(.22,.61,.36,1);
  font-family:var(--font); color:var(--brand);
  -webkit-font-smoothing:antialiased;
}
.bw-home *,.bw-home *::before,.bw-home *::after{ box-sizing:border-box; }
.bw-home img{ max-width:100%; display:block; }
.bw-home a{ text-decoration:none; }
.bw-home .bw-card__name a{ color:inherit; }

.bw-wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gutter); }
.bw-section{ padding-block:clamp(48px,7vw,96px); }

.bw-eyebrow{
  font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--accent); margin:0 0 14px; font-weight:500;
}
.bw-eyebrow--light{ color:rgba(255,255,255,.85); }
.bw-home .bw-h2{
  font-weight:300; font-size:clamp(26px,3.4vw,42px); color:var(--brand);
  letter-spacing:-.02em; line-height:1.12; margin:0; text-transform:capitalize;
}
.bw-lede{ color:var(--muted); max-width:52ch; margin:16px 0 0; }

/* --- buttons --- */
.bw-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; font-weight:500;
  padding:15px 28px; border:1px solid var(--brand); background:var(--brand); color:#fff; border-radius:6px;
  transition:background .3s var(--ease),color .3s var(--ease),transform .3s var(--ease),border-color .3s var(--ease);
  cursor:pointer;
}
.bw-btn:hover{ background:#3A3A3A; border-color:#3A3A3A; transform:translateY(-2px); }
.bw-btn--light{ background:#fff; color:#111; border-color:#fff; }
.bw-btn--light:hover{ background:#e9e9e9; border-color:#e9e9e9; color:#111; }
.bw-btn--ghost-light{ background:transparent; color:#fff; border-color:rgba(255,255,255,.6); }
.bw-btn--ghost-light:hover{ background:#fff; color:#111; border-color:#fff; }

/* --- hero --- */
.bw-hero{ position:relative; min-height:clamp(460px,70vh,760px); display:flex; align-items:flex-end; overflow:hidden; }
.bw-hero__media{ position:absolute; inset:0; }
.bw-hero__media img{ width:100%; height:100%; object-fit:cover; object-position:60% 50%; }
/* split duo hero — him + her, side by side, to read unisex at a glance */
.bw-hero__media--split{ display:grid; grid-template-columns:1fr 1fr; }
.bw-hero__media--split img{ height:100%; object-position:52% 34%; }
.bw-hero__media--split img:first-child{ object-position:66% 30%; }
.bw-hero::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.55) 100%); }
.bw-hero__inner{ position:relative; z-index:2; color:#fff; padding-block:clamp(40px,7vw,84px); }
.bw-home .bw-hero__title{ color:#fff; font-weight:300; font-size:clamp(40px,6vw,76px); line-height:1.04; letter-spacing:-.025em; margin:0; text-transform:capitalize; }
.bw-home .bw-hero__title em{ color:#fff; font-style:italic; }
.bw-hero__lede{ color:rgba(255,255,255,.9); max-width:46ch; margin:20px 0 0; font-size:16px; }
.bw-hero__actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }

/* --- product row head --- */
.bw-row__head{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:28px; }
.bw-row__nav{ display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.bw-viewall{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-right:8px; }
.bw-viewall:hover{ color:var(--accent); }
.bw-arrow{
  width:40px; height:40px; border:1px solid var(--line); background:#fff; color:var(--brand);
  font-size:15px; line-height:1; cursor:pointer; transition:border-color .3s var(--ease),background .3s var(--ease);
}
.bw-arrow:hover{ border-color:var(--brand); }
.bw-arrow:disabled{ opacity:.3; cursor:default; }

/* --- carousel --- */
.bw-carousel{ overflow-x:auto; scroll-behavior:smooth; scrollbar-width:none; -ms-overflow-style:none; }
.bw-carousel::-webkit-scrollbar{ display:none; }
/* scroll affordance — overlay arrows (shown on desktop; mobile uses swipe) */
.bw-carousel-wrap{ position:relative; }
.bw-nav{
  position:absolute; top:38%; transform:translateY(-50%); z-index:3;
  width:46px; height:46px; border-radius:50%; border:1px solid var(--line);
  background:rgba(255,255,255,.94); color:var(--brand); font-size:24px; line-height:1;
  display:none; align-items:center; justify-content:center; cursor:pointer;
  box-shadow:0 6px 18px rgba(0,0,0,.14); transition:background .3s var(--ease),opacity .3s var(--ease),transform .3s var(--ease);
}
.bw-nav:hover{ background:#fff; }
.bw-nav--prev{ left:8px; }
.bw-nav--next{ right:8px; }
.bw-nav:disabled{ opacity:.3; cursor:default; }
/* worn cards + quality slides are shorter than the 70vh product cards — center the arrows */
.bw-worn .bw-nav,.bw-qual .bw-nav{ top:50%; }
@media(min-width:901px){ .bw-nav{ display:flex; } }
.bw-carousel__track{ display:flex; gap:20px; scroll-snap-type:x mandatory; }
/* show 3 cards across on desktop; falls back to ~1.5–2 on small screens */
.bw-carousel__item{ flex:0 0 auto; width:max(240px, calc((100% - 40px) / 3)); scroll-snap-align:start; }

/* --- product card --- */
.bw-card__media{ position:relative; display:block; background:var(--soft); aspect-ratio:4/5; overflow:hidden; }
.bw-card__media img{ width:100%; height:100%; object-fit:cover; }
/* main product shot + model shot revealed on hover (crossfade) */
.bw-card__img{ position:absolute; inset:0; transition:opacity .5s var(--ease), transform .7s var(--ease); }
.bw-card__img--alt{ opacity:0; }
.bw-card__media:hover .bw-card__img--alt{ opacity:1; }
.bw-card__media:hover .bw-card__img{ transform:scale(1.04); }
/* single-image cards (no gallery) still get a gentle zoom */
.bw-card__media:hover img:only-of-type{ transform:scale(1.05); }
/* taller product cards on desktop — image height = 70% of the viewport */
@media(min-width:901px){ .bw-card__media{ aspect-ratio:auto; height:70vh; } }
.bw-card__badge{ position:absolute; top:12px; left:12px; background:var(--accent); color:#fff; font-size:10px; letter-spacing:.1em; text-transform:uppercase; padding:5px 10px; border-radius:999px; }
.bw-card__body{ padding-top:14px; }
.bw-card__name{ font-size:14px; font-weight:500; letter-spacing:.04em; margin:0 0 6px; text-transform:uppercase; }
.bw-card__name a:hover{ color:var(--accent); }
.bw-card__rating{ display:flex; align-items:center; gap:6px; margin-bottom:6px; }
.bw-card__count{ font-size:11px; color:var(--muted); }
.bw-card__price{ font-size:14px; color:var(--accent); margin-bottom:12px; }
.bw-card__price del{ color:var(--muted); font-weight:400; margin-right:6px; }
.bw-card__price ins{ text-decoration:none; }
/* WooCommerce star rating → monochrome */
.bw-home .star-rating{ color:var(--brand); font-size:12px; }
.bw-home .star-rating::before{ color:var(--line); }
/* WooCommerce add-to-cart button in cards */
.bw-card .button,.bw-card .added_to_cart{
  display:inline-flex; align-items:center; justify-content:center; width:100%;
  font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:500;
  padding:12px 16px; border:1px solid var(--brand); background:transparent; color:var(--brand);
  transition:background .3s var(--ease),color .3s var(--ease); margin-top:4px;
}
.bw-card .button:hover,.bw-card .added_to_cart:hover{ background:var(--brand); color:#fff; }

/* --- category tiles --- */
.bw-tiles{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.bw-tile{ position:relative; overflow:hidden; aspect-ratio:16/11; display:block; }
.bw-tile img{ width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease); }
.bw-tile:hover img{ transform:scale(1.04); }
.bw-tile__body{ position:absolute; left:0; bottom:0; padding:26px 28px; color:#fff; z-index:2; }
.bw-tile::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.5) 100%); }
.bw-tile__label{ display:block; font-size:clamp(22px,3vw,30px); font-weight:300; letter-spacing:-.01em; }
.bw-tile__cta{ display:inline-block; margin-top:6px; font-size:11px; letter-spacing:.18em; text-transform:uppercase; }

/* --- centered row head + "view all" underneath a carousel --- */
.bw-row__head--center{ justify-content:center; text-align:center; margin-bottom:clamp(24px,4vw,44px); }
.bw-row__head--center .bw-lede{ margin-inline:auto; }
.bw-row__more{ display:flex; justify-content:center; margin-top:clamp(24px,3vw,36px); }
.bw-row__more .bw-viewall{ margin:0; border:1px solid var(--brand); background:var(--brand); color:#fff; padding:13px 30px; border-radius:6px; transition:background .3s var(--ease),border-color .3s var(--ease); }
.bw-row__more .bw-viewall:hover{ background:#3A3A3A; border-color:#3A3A3A; color:#fff; }

/* --- worn by everyone: shoppable lifestyle cards (swipeable) --- */
.bw-worn__slider{ overflow-x:auto; scroll-behavior:smooth; scrollbar-width:none; -ms-overflow-style:none; -webkit-overflow-scrolling:touch; }
.bw-worn__slider::-webkit-scrollbar{ display:none; }
.bw-worn__track{ display:flex; gap:clamp(14px,1.6vw,22px); scroll-snap-type:x mandatory; padding-inline:var(--gutter); }
.bw-worn__card{ position:relative; flex:0 0 auto; width:clamp(260px,26vw,360px); scroll-snap-align:center; display:block; overflow:hidden; border-radius:8px; }
.bw-worn__media{ display:block; aspect-ratio:3/4; overflow:hidden; background:var(--soft); }
.bw-worn__media img{ width:100%; height:100%; object-fit:cover; object-position:center 28%; transition:transform .7s var(--ease); }
.bw-worn__card:hover .bw-worn__media img{ transform:scale(1.04); }
.bw-worn__card::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.4) 100%); pointer-events:none; }
.bw-worn__label{ position:absolute; left:16px; bottom:16px; z-index:2; display:inline-flex; align-items:center; gap:8px; background:#fff; color:var(--brand); font-size:11px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; padding:11px 16px; border-radius:6px; transition:gap .3s var(--ease); }
.bw-worn__label svg{ width:15px; height:15px; }
.bw-worn__card:hover .bw-worn__label{ gap:13px; }

/* --- product feature: UV400 (uses the shared .bw-row / .bw-carousel styles) --- */

/* --- static lifestyle image (visual pause) --- */
.bw-static img{ width:100%; height:clamp(460px,86vh,900px); object-fit:cover; object-position:28% 40%; display:block; }

/* --- quality & CX slider (one slide per view + dots) --- */
.bw-qual{ background:var(--soft); }
.bw-qual__slider{ overflow-x:auto; scroll-behavior:smooth; scrollbar-width:none; -ms-overflow-style:none; -webkit-overflow-scrolling:touch; scroll-snap-type:x mandatory; }
.bw-qual__slider::-webkit-scrollbar{ display:none; }
.bw-qual__track{ display:flex; }
.bw-qual__slide{ flex:0 0 100%; scroll-snap-align:center; text-align:center; padding:clamp(18px,4vw,44px) clamp(12px,4vw,40px); display:flex; flex-direction:column; align-items:center; }
.bw-qual__icon{ width:clamp(56px,6vw,76px); aspect-ratio:1; border-radius:50%; background:#fff; color:var(--brand); display:grid; place-items:center; margin-bottom:22px; }
.bw-qual__icon svg{ width:44%; height:44%; }
.bw-qual__title{ font-size:clamp(18px,2vw,26px); font-weight:500; letter-spacing:.04em; text-transform:uppercase; margin:0 0 12px; }
.bw-qual__desc{ color:var(--muted); font-size:clamp(14px,1.15vw,17px); line-height:1.55; margin:0; max-width:40ch; }
.bw-qual__dots{ display:flex; justify-content:center; gap:10px; margin-top:6px; }
.bw-qual__dot{ width:9px; height:9px; padding:0; border-radius:50%; border:1px solid var(--brand); background:transparent; cursor:pointer; transition:background .3s var(--ease),transform .3s var(--ease); }
.bw-qual__dot.is-active{ background:var(--brand); transform:scale(1.15); }

/* --- editorial / shop the look --- */
.bw-editorial{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(24px,5vw,64px); align-items:center; }
.bw-editorial__media{ aspect-ratio:4/5; overflow:hidden; background:var(--soft); }
.bw-editorial__media img{ width:100%; height:100%; object-fit:cover; }
.bw-editorial__copy .bw-btn{ margin-top:26px; }

/* --- trust badges (icon left, text right, on a light band) --- */
.bw-trust{ background:#efeeec; }
.bw-trust__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(20px,2.5vw,40px); }
.bw-trust__item{ display:flex; align-items:center; gap:clamp(14px,1.4vw,22px); text-align:left; }
.bw-trust__icon{ flex:0 0 auto; width:clamp(80px,7vw,120px); aspect-ratio:1; border-radius:50%; background:#fff; display:grid; place-items:center; color:var(--brand); }
.bw-trust__icon svg{ width:42%; height:42%; }
.bw-trust__text h3{ font-size:clamp(18px,1.55vw,26px); font-weight:500; line-height:1.08; letter-spacing:.005em; text-transform:uppercase; margin:0 0 10px; }
.bw-trust__text p{ color:var(--muted); font-size:clamp(14px,1.05vw,17px); line-height:1.5; margin:0; max-width:20ch; }

/* --- newsletter --- */
.bw-news{ background:var(--ink-deep); color:#fff; text-align:center; }
.bw-news__inner{ max-width:620px; }
.bw-home .bw-news__title{ color:#fff; }
.bw-news__lede{ color:rgba(255,255,255,.7); margin:14px 0 0; }
.bw-news__form{ display:flex; gap:10px; margin-top:26px; }
.bw-news__form input{ flex:1; background:transparent; border:1px solid rgba(255,255,255,.3); color:#fff; padding:14px 16px; font:inherit; font-size:14px; }
.bw-news__form input::placeholder{ color:rgba(255,255,255,.5); }
.bw-news__form input:focus{ outline:none; border-color:#fff; }
.bw-news__klaviyo{ margin-top:26px; }
/* Klaviyo embed (form WwB7MH) restyled to match the dark newsletter section.
   Klaviyo sets inline styles + hashed classes, so we need !important and target
   element types, not their classes. Re-check if the form is redesigned in Klaviyo. */
.klaviyo-form-WwB7MH{ background:transparent !important; color:#fff !important; }
.klaviyo-form-WwB7MH form{ background:transparent !important; box-shadow:none !important; }
.klaviyo-form-WwB7MH input[type="email"],
.klaviyo-form-WwB7MH input[type="text"]{
  height:54px !important; box-sizing:border-box !important;
  background:transparent !important; color:#fff !important;
  border:1px solid rgba(255,255,255,.3) !important; border-radius:6px !important;
  padding:0 16px !important; font-family:var(--font) !important; font-size:15px !important;
}
.klaviyo-form-WwB7MH input::placeholder{ color:rgba(255,255,255,.5) !important; }
.klaviyo-form-WwB7MH input:focus{ border-color:#fff !important; outline:none !important; }
.klaviyo-form-WwB7MH button,
.klaviyo-form-WwB7MH .klaviyo-form-button{
  height:54px !important; box-sizing:border-box !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  background:#fff !important; color:#111 !important; border:1px solid #fff !important; border-radius:6px !important;
  font-family:var(--font) !important; font-weight:500 !important; font-size:12px !important;
  letter-spacing:.16em !important; text-transform:uppercase !important; padding:0 30px !important; margin:0 !important; cursor:pointer !important;
}
.klaviyo-form-WwB7MH button:hover,
.klaviyo-form-WwB7MH .klaviyo-form-button:hover{ background:#e9e9e9 !important; border-color:#e9e9e9 !important; }

/* --- custom footer: styles now live in buono-home/css/footer.css (loaded site-wide) --- */

/* --- responsive --- */
@media(max-width:900px){
  .bw-editorial{ grid-template-columns:1fr; }
  .bw-editorial__media{ order:-1; }
  .bw-trust__grid{ grid-template-columns:1fr 1fr; }
}
@media(max-width:560px){
  .bw-tiles{ grid-template-columns:1fr; }
  .bw-trust__grid{ grid-template-columns:1fr; }
  .bw-worn__card{ width:80vw; }
  .bw-news__form{ flex-direction:column; }
  .bw-static img{ height:clamp(540px,86vh,780px); object-position:26% 36%; }
  .bw-lifestyle__slide{ width:78vw; }
}
@media(prefers-reduced-motion:reduce){
  .bw-home *{ transition-duration:.001ms!important; scroll-behavior:auto!important; }
}
