/* ==========================================================================
   Template 2 — "shop-led" homepage.
   Loaded together with site.css (shared header/footer/.btn/.kick/.wrap/etc).
   Uses the theme's design-system CSS custom properties only — no hardcoded
   colours — so it follows the site's Theme Options → Design System palette.
   ========================================================================== */

/* ---------- hero ---------- */
.v2-hero{padding:52px 0 0}
.v2-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.v2-hero .pill{display:inline-flex;align-items:center;gap:8px;background:var(--cream);color:var(--g700);font-size:13.5px;font-weight:700;padding:8px 16px;border-radius:999px;border:1px solid var(--line);margin-bottom:18px}
.v2-hero h1{font-family:var(--serif);font-size:clamp(30px,4.2vw,46px);line-height:1.32;color:var(--g900);margin:0 0 16px}
.v2-hero-lead{font-size:17px;max-width:520px}
.v2-feat-row{display:flex;gap:22px;flex-wrap:wrap;margin:28px 0}
.v2-feat{display:flex;flex-direction:column;align-items:center;text-align:center;width:112px;gap:10px}
.v2-feat-ic{width:50px;height:50px;border-radius:50%;background:var(--cream);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--g700)}
.v2-feat-ic svg{width:21px;height:21px}
.v2-feat span{font-size:12px;font-weight:700;color:var(--ink)}
.v2-hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px}
.v2-hero-photo{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:4/4.4}
.v2-hero-photo img{width:100%;height:100%;object-fit:cover}
.v2-float-badge{position:absolute;bottom:20px;left:20px;background:#fff;border-radius:12px;padding:12px 18px;box-shadow:0 10px 30px rgba(var(--g900-rgb,4,28,62),.18);font-weight:800;color:var(--g900);font-family:var(--serif);font-size:16px}

@media(max-width:900px){
  .v2-hero-grid{grid-template-columns:1fr}
  .v2-hero-photo{aspect-ratio:16/10}
}

/* ---------- stats ---------- */
.v2-stats{background:var(--g900);margin-top:52px;padding:34px 0}
.v2-stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.v2-st b{display:block;font-family:var(--serif);font-size:28px;color:#fff}
.v2-st span{display:block;font-size:12px;color:rgba(255,255,255,.62);margin-top:6px}
@media(max-width:700px){.v2-stats .wrap{grid-template-columns:1fr 1fr}}

/* ---------- about ---------- */
.v2-about{background:var(--cream)}
.v2-about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.v2-about-photo{border-radius:16px;overflow:hidden;aspect-ratio:5/4.6}
.v2-about-photo img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.v2-about-grid{grid-template-columns:1fr}}

/* ---------- products grid ---------- */
.v2-prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:10px}
@media(max-width:1100px){.v2-prod-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.v2-prod-grid{grid-template-columns:1fr 1fr}}
.v2-prod-card{display:block;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--paper);transition:box-shadow .25s ease,transform .25s ease}
.v2-prod-card:hover{box-shadow:0 16px 34px rgba(0,0,0,.1);transform:translateY(-3px)}
.v2-prod-ph{position:relative;aspect-ratio:4/3;overflow:hidden}
.v2-prod-ph img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.v2-prod-card:hover .v2-prod-ph img{transform:scale(1.06)}
.v2-prod-flag{position:absolute;top:10px;right:10px;background:#fff;font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:999px;box-shadow:0 4px 10px rgba(0,0,0,.12);color:var(--g900)}
.v2-prod-sold{position:absolute;top:10px;left:10px;background:var(--g900);color:#fff;font-size:10.5px;font-weight:700;padding:4px 9px;border-radius:999px}
.v2-prod-bd{padding:16px}
.v2-prod-bd h3{font-family:var(--serif);font-size:15px;margin:0 0 4px;line-height:1.4;color:var(--g900)}
.v2-prod-meta{font-size:12px;color:var(--muted);margin-bottom:12px}
.v2-prod-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}
.v2-prod-price{font-family:var(--serif);font-weight:800;color:var(--g900);font-size:16.5px}
.v2-prod-price ins{text-decoration:none}
.v2-prod-price del{opacity:.5;font-size:13px;font-family:var(--sans);font-weight:400}
.v2-prod-add{width:36px;height:36px;border-radius:50%;background:var(--g900);color:#fff;display:flex;align-items:center;justify-content:center;flex:none;transition:background .2s ease}
.v2-prod-add svg{width:16px;height:16px}
.v2-prod-card:hover .v2-prod-add{background:var(--sand)}
.v2-prod-more{text-align:center;margin-top:40px}

/* ---------- how (3-step, dashed line) ---------- */
.v2-how-row{display:flex;justify-content:space-between;position:relative;margin-top:20px}
.v2-how-row::before{content:"";position:absolute;top:26px;right:8%;left:8%;height:0;border-top:2px dashed var(--line);z-index:0}
.v2-how-step{flex:1;text-align:center;position:relative;z-index:1;padding:0 12px}
.v2-how-ic{width:54px;height:54px;border-radius:50%;background:var(--paper);border:2px solid var(--g700);color:var(--g700);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;position:relative}
.v2-how-ic svg{width:22px;height:22px}
.v2-how-num{position:absolute;top:-6px;left:-6px;width:22px;height:22px;background:var(--sand);color:#fff;border-radius:50%;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}
.v2-how-step h3{font-family:var(--serif);font-size:17px;margin-bottom:6px;color:var(--g900)}
.v2-how-step p{font-size:13px;margin:0;color:var(--muted)}
@media(max-width:900px){
  .v2-how-row{flex-direction:column;gap:30px}
  .v2-how-row::before{display:none}
}
