/* ============================================================
   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-h2{
  font-weight:300; font-size:clamp(26px,3.4vw,42px);
  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;
  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:center 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-hero__title{ font-weight:300; font-size:clamp(40px,6vw,76px); line-height:1.04; letter-spacing:-.025em; margin:0; text-transform:capitalize; }
.bw-hero__title em{ 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; }
.bw-carousel__track{ display:flex; gap:20px; scroll-snap-type:x mandatory; }
.bw-carousel__item{ flex:0 0 auto; width:clamp(220px,26vw,300px); 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; transition:transform .7s var(--ease); }
.bw-card__media:hover img{ transform:scale(1.05); }
.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; }

/* --- 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 --- */
.bw-trust{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.bw-trust__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
.bw-trust__item h3{ font-size:15px; font-weight:500; margin:0 0 8px; }
.bw-trust__item p{ color:var(--muted); font-size:13.5px; margin:0; }

/* --- newsletter --- */
.bw-news{ background:var(--ink-deep); color:#fff; text-align:center; }
.bw-news__inner{ max-width:620px; }
.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; }

/* --- 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-news__form{ flex-direction:column; }
}
@media(prefers-reduced-motion:reduce){
  .bw-home *{ transition-duration:.001ms!important; scroll-behavior:auto!important; }
}
