/* Home v3 — page container, desktop grid, category tiles, promos, audience rails */

.hmv{padding:0 14px 56px}
.hmv-wrap{max-width:1240px;margin:0 auto}
@media(min-width:900px){.hmv{padding:0 26px 72px}}
.hmv-rail::-webkit-scrollbar,.hmv-cats::-webkit-scrollbar,.hmv-promorow::-webkit-scrollbar,.hmv-aud::-webkit-scrollbar{display:none}
.hmv-rail,.hmv-cats,.hmv-promorow,.hmv-aud{scrollbar-width:none}

/* ── hero ─────────────────────────────────────────────────────── */
.hmv-hero{position:relative;margin:14px 0 0;border-radius:22px;overflow:hidden;background:#12241b;isolation:isolate}
.hmv-hero-track{position:relative;height:430px}
.hmv-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s;display:flex;align-items:flex-end}
.hmv-slide.is-live{opacity:1;visibility:visible}
.hmv-slide-media{position:absolute;inset:0;background-image:var(--hmv-img);background-size:cover;background-position:center;transform:scale(1.04);transition:transform 8s linear}
.hmv-slide.is-live .hmv-slide-media{transform:scale(1)}
.hmv-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,20,15,.94) 0%,rgba(9,20,15,.74) 48%,rgba(9,20,15,.12) 100%)}
.hmv-slide-body{position:relative;z-index:2;max-width:590px;padding:clamp(22px,4vw,54px);color:#fff8ea}
.hmv-eyebrow{display:inline-block;font:700 10.5px/1 ui-sans-serif,system-ui;letter-spacing:.16em;text-transform:uppercase;color:#ffcf8f;margin-bottom:14px}
.hmv-title{font-family:Georgia,Cambria,"Times New Roman",serif;font-size:clamp(27px,3.4vw,46px);line-height:1.06;letter-spacing:-.01em;margin:0 0 12px;color:#fff8ea}
.hmv-sub{font-size:clamp(13px,1.2vw,15px);line-height:1.55;color:#e9e2d2;max-width:44ch;margin:0 0 20px}
.hmv-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.hmv-cta{display:inline-flex;align-items:center;gap:9px;background:#f3e2bf;color:#26382c;font-weight:700;font-size:14px;padding:12px 20px;border-radius:999px;border:0;cursor:pointer;transition:transform .18s,background .18s}
.hmv-cta:hover{background:#fff3d6;transform:translateY(-1px)}
.hmv-ghost{color:#e5ddca;font-size:12.5px;text-decoration:underline;text-underline-offset:3px;opacity:.9}
.hmv-dots{position:absolute;right:18px;bottom:16px;display:flex;gap:6px;z-index:3}
.hmv-dots button{width:7px;height:7px;border-radius:50%;border:0;background:rgba(255,248,234,.38);cursor:pointer;transition:width .25s,background .25s}
.hmv-dots button.is-live{width:22px;border-radius:99px;background:#ffcf8f}

/* ── category tiles ───────────────────────────────────────────── */
.hmv-cats{display:grid;grid-template-columns:repeat(10,1fr);gap:10px;margin:20px 0 6px}
.hmv-cat{background:#fffdf8;border:1px solid #ece3d0;border-radius:16px;padding:9px 7px 10px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s}
.hmv-cat:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(31,58,43,.09);border-color:#ddd2ba}
.hmv-cat-img{width:100%;aspect-ratio:1;border-radius:11px;overflow:hidden;background:#f4efe2}
.hmv-cat-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s}
.hmv-cat:hover .hmv-cat-img img{transform:scale(1.06)}
.hmv-cat-label{font-size:10.5px;font-weight:700;color:#33483b;text-align:center;line-height:1.2}

/* ── promo row ────────────────────────────────────────────────── */
.hmv-promorow{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:16px 0 32px}
.hmv-promo{position:relative;border:0;padding:0;border-radius:18px;overflow:hidden;aspect-ratio:16/8;cursor:pointer;background:#12241b}
.hmv-promo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.hmv-promo:hover img{transform:scale(1.05)}
.hmv-promo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,20,14,.82),rgba(10,20,14,.1) 62%)}
.hmv-promo-copy{position:absolute;left:16px;right:16px;bottom:13px;z-index:2;text-align:left;color:#fff}
.hmv-promo-copy b{display:block;font-family:Georgia,serif;font-size:19px;font-weight:600;letter-spacing:-.01em}
.hmv-promo-copy i{font-style:normal;font-size:11.5px;opacity:.82}

/* ── audience cards ───────────────────────────────────────────── */
.hmv-aud{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 30px}
.hmv-aud-card{position:relative;border:0;padding:0;border-radius:20px;overflow:hidden;aspect-ratio:16/9;cursor:pointer;background:#12241b}
.hmv-aud-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.hmv-aud-card:hover img{transform:scale(1.05)}
.hmv-aud-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,16,12,.6),rgba(8,16,12,0) 60%)}
.hmv-aud-copy{position:absolute;left:18px;bottom:14px;z-index:2;text-align:left;color:#fff}
.hmv-aud-copy b{display:block;font-family:Georgia,serif;font-size:23px;font-weight:600}
.hmv-aud-copy i{font-style:normal;font-size:11.5px;opacity:.85}

/* ── section head ─────────────────────────────────────────────── */
.hmv-sec{margin:0 0 30px;padding-top:22px;border-top:1px solid #ece3d1}
.hmv-sec:first-of-type{border-top:0;padding-top:0}
.hmv-sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 14px}
.hmv-sec-title{display:flex;align-items:center;gap:12px}
.hmv-sec-num{font:600 11px/1 ui-sans-serif,system-ui;color:#a8977a;border:1px solid #e3d8c1;border-radius:999px;padding:5px 9px;letter-spacing:.06em}
.hmv-sec-head h2{font-family:Georgia,Cambria,serif;font-size:clamp(20px,2vw,28px);line-height:1.12;color:#1f3a2b;margin:0;letter-spacing:-.01em}
.hmv-sec-head p{font-size:12px;color:#7b877f;margin:4px 0 0}
.hmv-more{font-size:12px;font-weight:700;color:#1d5a37;text-decoration:none;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.hmv-more:hover{text-decoration:underline;text-underline-offset:3px}

/* ── rails ────────────────────────────────────────────────────── */
.hmv-rail{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 10px;scroll-snap-type:x mandatory;scroll-behavior:smooth}
.hmv-rail .gallery-card{flex:0 0 168px;max-width:168px;scroll-snap-align:start;animation:hmvUp .55s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--i,0)*40ms)}
.hmv-rail .gallery-card img{transition:transform .5s cubic-bezier(.22,1,.36,1)}
.hmv-rail .gallery-card:hover img{transform:scale(1.05)}
.hmv-rail .gallery-card:hover{box-shadow:0 14px 30px rgba(31,58,43,.12)}
.hmv-rail .gallery-img-wrap{aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden}
.hmv-rail .gallery-img-wrap img{width:100%;height:100%;object-fit:contain}

/* deals as a real grid on wide screens */
.hmv-deal-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.hmv-deal-grid .gallery-card{max-width:none;animation:hmvUp .55s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--i,0)*35ms)}
.hmv-deal-grid .gallery-img-wrap{aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden}
.hmv-deal-grid .gallery-img-wrap img{width:100%;height:100%;object-fit:contain;transition:transform .5s}
.hmv-deal-grid .gallery-card:hover img{transform:scale(1.05)}

/* ── promo strip ──────────────────────────────────────────────── */
.hmv-strip{display:flex;align-items:center;gap:14px;background:#fffaf0;border:1px solid #efe6d2;border-radius:18px;padding:14px 18px;margin:6px 0 28px}
.hmv-strip-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#e9f2e6;color:#1d5a37;flex:0 0 auto}
.hmv-strip p{margin:0;font-size:12.5px;line-height:1.5;color:#4a5b4f;flex:1}
.hmv-strip-cta{flex:0 0 auto;background:#1d5a37;color:#fff;border:0;border-radius:999px;padding:9px 15px;font-size:12px;font-weight:700;cursor:pointer;transition:transform .18s}
.hmv-strip-cta:hover{transform:translateY(-1px)}

/* ── tail ─────────────────────────────────────────────────────── */
.hmv-tail{background:linear-gradient(135deg,#12241b,#1d3a2b);border-radius:22px;padding:clamp(24px,4vw,44px);color:#fff8ea;margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap}
.hmv-tail h2{font-family:Georgia,serif;font-size:clamp(21px,2.4vw,30px);margin:6px 0 8px}
.hmv-tail p{color:#cfd8cd;font-size:13.5px;max-width:46ch;margin:0}
.hmv-tail-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}

@keyframes hmvUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

@media (min-width:1500px){
  .hmv-wrap{max-width:1360px}
  .hmv-cats{grid-template-columns:repeat(10,1fr)}
}
@media (max-width:1180px){
  .hmv-deal-grid{grid-template-columns:repeat(4,1fr)}
  .hmv-cats{grid-template-columns:repeat(5,1fr)}
}
@media (max-width:900px){
  .hmv-promorow{grid-template-columns:repeat(2,1fr)}
  .hmv-promorow .hmv-promo:last-child{display:none}
  .hmv-rail .gallery-card{flex-basis:206px;max-width:206px}
}
@media (max-width:760px){
  .hmv-hero-track{height:368px}
  .hmv-slide::after{background:linear-gradient(0deg,rgba(9,20,15,.95) 18%,rgba(9,20,15,.5) 66%,rgba(9,20,15,.15) 100%)}
  .hmv-slide-body{padding:22px 16px 44px}
  .hmv-title{font-size:24px;line-height:1.08;margin-bottom:9px}
  .hmv-sub{font-size:12px;line-height:1.45;margin-bottom:12px;max-width:34ch}
  .hmv-dots{left:18px;right:auto;bottom:14px}
  .hmv-cats{display:flex;overflow-x:auto;gap:9px;margin:14px 0 4px;padding-bottom:4px}
  .hmv-cat{flex:0 0 96px}
  .hmv-promorow{display:flex;overflow-x:auto;gap:10px;margin:12px 0 24px}
  .hmv-promorow .hmv-promo{flex:0 0 260px;aspect-ratio:16/9}
  .hmv-promorow .hmv-promo:last-child{display:block}
  .hmv-aud{display:flex;overflow-x:auto;gap:10px;margin-bottom:22px}
  .hmv-aud-card{flex:0 0 268px;aspect-ratio:16/10}
  .hmv-deal-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .hmv-rail .gallery-card{flex-basis:152px;max-width:152px}
  .hmv-sec{padding-top:18px;margin-bottom:22px}
  .hmv-sec-num{display:none}
  .hmv-strip{flex-wrap:wrap}
  .hmv-strip p{flex:1 1 100%;order:3}
  .hmv-tail{display:block}
  .hmv-tail-actions{margin-top:18px}
}
@media (prefers-reduced-motion:reduce){
  .hmv-rail .gallery-card,.hmv-deal-grid .gallery-card,.hmv-slide,.hmv-slide-media{animation:none!important;transition:none!important;transform:none!important}
}

/* auto-scrolling rails: snap and smooth-scroll fight a per-frame nudge */
.hmv-rail{scroll-snap-type:none!important;scroll-behavior:auto!important}

﻿/* delivery policy messages */
.delivery-blocked{color:#b8460f}
.delivery-blocked b{font-weight:700}
p.delivery-blocked{display:flex;justify-content:space-between;gap:10px;font-size:12px}
.checkout-min{margin:10px 0 0;font-size:11.5px;color:#b8460f;background:#fff3e6;border:1px solid #ffe0c2;border-radius:10px;padding:8px 10px}
.checkout-min.ok{color:#1d7a45;background:#eaf6ee;border-color:#cfe9d8}

/* products first: shorter hero, no promo row on phones */
@media (min-width:761px){ .hmv-hero-track{height:344px} .hmv-sec{margin-bottom:24px} }
@media (max-width:760px){
  .hmv-hero-track{height:236px}
  .hmv-title{font-size:22px;line-height:1.08;margin-bottom:8px}
  .hmv-sub{display:none}
  .hmv-slide-body{padding:16px 16px 40px}
  .hmv-actions{gap:12px}
  .hmv-cta{padding:10px 16px;font-size:13px}
  .hmv-promorow{display:none}
  .hmv-cats{margin:10px 0 2px}
  .hmv-cat{flex:0 0 74px;padding:6px 4px 7px;border-radius:12px}
  .hmv-cat-label{font-size:9.5px}
  .hmv-sec{padding-top:14px;margin-bottom:18px}
  .hmv-sec-head h2{font-size:20px}
}

/* rails: draggable with a mouse on desktop */
.hmv-rail,.shp-rail,.pd2-rail{cursor:grab}
.hmv-rail.is-dragging,.shp-rail.is-dragging,.pd2-rail.is-dragging{cursor:grabbing;scroll-behavior:auto!important;user-select:none}
/* removed: this made every card dead if a drag never ended */
