/* ========================================================================
   VAPE LAB Light — Approved homepage journey
   Hero → Dark Trust → Drop Arena → Éditions du Lab → Le Roster
   ======================================================================== */
.vl-home{background:var(--paper);color:var(--ink)}
.vl-home-shell{width:min(calc(100% - 48px),var(--content-max));margin-inline:auto}
.vl-home-eyebrow{display:block;color:var(--accent-action);font-family:var(--font-h);font-size:var(--fs-label);font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.vl-home-section{padding:clamp(4.5rem,8vw,7rem) 0}

/* Hero */
.vl-home-hero{position:relative;min-height:clamp(560px,72vw,760px);overflow:hidden;background:linear-gradient(115deg,#f2ebe6 0 54%,#faf7f4 54%)}
.vl-home-hero::before{content:'VAPE LAB';position:absolute;left:-1.5vw;bottom:-.13em;color:rgba(217,68,68,.043);font:800 clamp(5rem,16vw,13rem)/1 var(--font-h);white-space:nowrap;pointer-events:none}
.vl-home-hero__grid{position:relative;min-height:clamp(560px,72vw,760px);display:grid;grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);gap:clamp(1.5rem,5vw,4rem);align-items:center}
.vl-home-hero__copy{position:relative;z-index:2;padding-block:clamp(3rem,7vw,6rem)}
.vl-home-hero h1{max-width:750px;margin:1rem 0 1.4rem;font:800 clamp(3rem,2rem + 4.6vw,6.1rem)/.9 var(--font-h);letter-spacing:-.055em;text-transform:uppercase}
.vl-home-hero h1 span{display:block;color:var(--accent-action)}
.vl-home-hero__copy>p{max-width:560px;margin:0;color:var(--text);font-size:clamp(.98rem,.91rem + .28vw,1.14rem)}
.vl-home-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:1.8rem}
.vl-home-btn{min-height:48px;padding:0 1.3rem;border:1px solid transparent;border-radius:var(--r-btn);display:inline-flex;align-items:center;justify-content:center;font:700 var(--fs-small) var(--font-h);letter-spacing:.04em;text-transform:uppercase;text-decoration:none;transition:background .18s,color .18s,border-color .18s,transform .18s}
.vl-home-btn:hover{transform:translateY(-1px)}
.vl-home-btn--accent{background:var(--accent-action);border-color:var(--accent-action);color:#fff}
.vl-home-btn--accent:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}
.vl-home-btn--outline{background:transparent;border-color:var(--ink);color:var(--ink)}
.vl-home-btn--outline:hover{background:var(--ink);color:#fff}
.vl-home-hero__product{position:relative;min-height:500px;display:grid;place-items:center;color:inherit;text-decoration:none}
.vl-home-hero__disc{position:absolute;width:min(39vw,510px);aspect-ratio:1;border:1px solid var(--border);border-radius:50%;background:#fff;box-shadow:0 28px 80px rgba(107,54,44,.11)}
.vl-home-hero__product>img{position:relative;z-index:2;width:min(31vw,410px);max-height:520px;object-fit:contain;filter:drop-shadow(0 32px 24px rgba(65,42,37,.18));transform:rotate(2deg);transition:transform .3s ease}
.vl-home-hero__product:hover>img{transform:rotate(0) translateY(-5px)}
.vl-home-hero__ticket{position:absolute;z-index:3;right:0;bottom:14%;width:min(270px,45%);padding:16px;border:1px solid var(--border);border-radius:var(--r-card);background:rgba(255,255,255,.94);box-shadow:var(--shadow-2)}
.vl-home-hero__ticket small{display:block;color:var(--text-muted);font-size:var(--fs-small)}
.vl-home-hero__ticket b{display:block;margin:5px 0 10px;font:700 clamp(.69rem,.65rem + .17vw,.8rem)/1.35 var(--font-h)}
.vl-home-hero__ticket strong{display:block;color:var(--accent-action);font:800 var(--fs-price) var(--font-h)}
.vl-home-hero__ticket strong del{color:var(--text-muted);font-size:.75em}

/* Dark trust band */
.vl-home-trust{border-block:1px solid rgba(255,255,255,.1);background:var(--ink);color:#fff}
.vl-home-trust__inner{min-height:62px;display:grid;grid-template-columns:repeat(3,1fr)}
.vl-home-trust span{padding:12px;display:flex;align-items:center;justify-content:center;gap:8px;border-right:1px solid rgba(255,255,255,.12)}
.vl-home-trust span:last-child{border:0}
.vl-home-trust svg{width:18px;flex:0 0 18px;color:var(--accent-on-dark)}
.vl-home-trust b{font:700 var(--fs-label) var(--font-h);letter-spacing:.04em;text-transform:uppercase}

/* Shared section headers */
.vl-home-section__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,430px) auto;gap:28px;align-items:end;margin-bottom:clamp(1.8rem,4vw,3rem)}
.vl-home-section__head h2,.vl-home-roster h2{margin:.65rem 0 0;font:800 clamp(1.9rem,1.25rem + 2.6vw,3.5rem)/1 var(--font-h);letter-spacing:-.04em;text-transform:uppercase}
.vl-home-section__head p,.vl-home-roster__head p{margin:0;color:var(--text-muted)}
.vl-home-text-link{min-height:44px;display:inline-flex;align-items:center;gap:7px;color:var(--ink);font:700 var(--fs-label) var(--font-h);letter-spacing:.04em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.vl-home-text-link span{color:var(--accent-action)}
.vl-home-text-link:hover{color:var(--accent-action)}

/* Drop Arena */
.vl-home-drop{background:var(--surface-warm)}
.vl-home-products{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.vl-home-products .vl-card--product{min-width:0}

/* Éditions du Lab */
.vl-home-collections{border-block:1px solid var(--border);background:var(--paper)}
.vl-home-collection-grid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(320px,.78fr);grid-template-rows:repeat(2,minmax(255px,1fr));gap:12px}
.vl-home-collection{position:relative;min-width:0;padding:clamp(1.25rem,3vw,2rem);overflow:hidden;display:grid;grid-template-columns:minmax(0,.82fr) minmax(160px,1.18fr);align-items:center;gap:18px;border:1px solid var(--border);border-radius:var(--r-card);color:var(--ink);text-decoration:none}
.vl-home-collection--main{grid-row:span 2;border-color:#2c2a2d;background:var(--ink);color:#fff}
.vl-home-collection--rose{border-color:#efbbb6;background:#f8dedb}
.vl-home-collection--mint{border-color:#b9ddd4;background:#e9f5f1}
.vl-home-collection__copy{position:relative;z-index:2}
.vl-home-collection--main .vl-home-eyebrow{color:var(--accent-on-dark)}
.vl-home-collection--rose .vl-home-eyebrow{color:#a93d73}
.vl-home-collection--mint .vl-home-eyebrow{color:#117b75}
.vl-home-collection h3{margin:.7rem 0 .8rem;font:800 clamp(1.35rem,2.5vw,2.7rem)/.98 var(--font-h);letter-spacing:-.035em;text-transform:uppercase}
.vl-home-collection p{margin:0;color:var(--text-muted)}
.vl-home-collection--main p{color:rgba(255,255,255,.68)}
.vl-home-collection__link{min-height:44px;margin-top:18px;display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid;font:700 var(--fs-label) var(--font-h);text-transform:uppercase}
.vl-home-collection__art{position:relative;z-index:1;min-height:200px;height:100%;display:grid;place-items:center}
.vl-home-collection__art::before{content:'';position:absolute;width:min(100%,330px);aspect-ratio:1;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:rgba(255,255,255,.78)}
.vl-home-collection--main .vl-home-collection__art::before{background:#fff;box-shadow:0 0 0 38px rgba(217,68,68,.05),0 0 0 76px rgba(217,68,68,.024)}
.vl-home-collection__art img{position:relative;z-index:1;width:100%;height:auto;max-height:360px;object-fit:contain;filter:drop-shadow(0 22px 18px rgba(24,23,25,.16));transition:transform .25s ease}
.vl-home-collection--main .vl-home-collection__art img{max-height:440px}
.vl-home-collection:hover .vl-home-collection__art img{transform:translateY(-4px) scale(1.02)}

/* Brand roster */
.vl-home-roster{background:var(--surface-warm)}
.vl-home-roster__head{margin-bottom:24px;display:flex;align-items:end;justify-content:space-between;gap:24px}
.vl-home-roster__head p{max-width:430px}
.vl-home-brand-roster{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border:1px solid var(--border);border-radius:var(--r-card)}
.vl-home-brand-roster a{position:relative;min-height:92px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff;color:var(--ink);font:700 clamp(.8rem,.68rem + .4vw,1.05rem) var(--font-h);text-transform:uppercase;text-decoration:none;transition:background .18s,color .18s}
.vl-home-brand-roster a:nth-child(3n){border-right:0}
.vl-home-brand-roster a:nth-last-child(-n+3){border-bottom:0}
.vl-home-brand-roster a::after{content:'→';width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--surface-soft);color:var(--accent-action)}
.vl-home-brand-roster a:hover{background:var(--ink);color:#fff}
.vl-home-brand-roster a:hover::after{background:var(--accent-action);color:#fff}

@media(max-width:980px){
  .vl-home-products{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:760px){
  .vl-home-shell{width:min(calc(100% - 32px),var(--content-max))}
  .vl-home-section{padding:clamp(3.5rem,12vw,5rem) 0}
  .vl-home-hero{background:#f2ebe6}
  .vl-home-hero__grid{grid-template-columns:1fr;padding-top:28px;padding-bottom:18px;gap:0}
  .vl-home-hero__copy{padding:0}
  .vl-home-hero h1{font-size:clamp(2.25rem,11.5vw,3.45rem)}
  .vl-home-actions{display:grid;grid-template-columns:1fr}
  .vl-home-hero__product{min-height:240px}
  .vl-home-hero__disc{width:min(62vw,245px)}
  .vl-home-hero__product>img{width:min(46vw,185px);max-height:225px}
  .vl-home-hero__ticket{right:0;bottom:0;width:min(250px,62%);padding:12px}
  .vl-home-trust__inner{grid-template-columns:1fr}
  .vl-home-trust span{min-height:46px;border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}
  .vl-home-trust span:last-child{border:0}
  .vl-home-section__head{grid-template-columns:1fr;gap:12px;align-items:start}
  .vl-home-section__head p{max-width:520px}
  .vl-home-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .vl-home-products .vl-card:nth-child(n+5){display:none}
  .vl-home-collection-grid{grid-template-columns:1fr;grid-template-rows:auto}
  .vl-home-collection,.vl-home-collection--main{grid-row:auto;grid-template-columns:minmax(0,1fr) 132px;min-height:276px;padding:18px;gap:14px}
  .vl-home-collection--main{min-height:310px}
  .vl-home-collection__art,.vl-home-collection--main .vl-home-collection__art{min-height:160px}
  .vl-home-collection__art::before{width:min(100%,190px)}
  .vl-home-collection__art img,.vl-home-collection--main .vl-home-collection__art img{max-height:190px}
  .vl-home-collection h3{font-size:clamp(1.05rem,4.8vw,1.3rem)}
  .vl-home-collection p{font-size:.9rem;line-height:1.45}
  .vl-home-roster__head{align-items:flex-start;flex-direction:column}
  .vl-home-brand-roster{grid-template-columns:repeat(2,1fr)}
  .vl-home-brand-roster a,.vl-home-brand-roster a:nth-child(3n),.vl-home-brand-roster a:nth-last-child(-n+3){min-height:78px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}
  .vl-home-brand-roster a:nth-child(2n){border-right:0}
  .vl-home-brand-roster a:nth-last-child(-n+2){border-bottom:0}
}

@media(max-width:360px){
  .vl-home-hero__ticket{width:68%}
  .vl-home-collection,.vl-home-collection--main{grid-template-columns:minmax(0,1fr) 104px;padding:14px;gap:8px}
  .vl-home-collection p{font-size:.82rem;line-height:1.35}
  .vl-home-collection__art::before{width:min(100%,125px)}
  .vl-home-collection__art img,.vl-home-collection--main .vl-home-collection__art img{max-height:145px}
  .vl-home-brand-roster{grid-template-columns:1fr}
  .vl-home-brand-roster a,.vl-home-brand-roster a:nth-child(2n),.vl-home-brand-roster a:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--border)}
  .vl-home-brand-roster a:last-child{border-bottom:0}
}

@media(prefers-reduced-motion:reduce){
  .vl-home *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
