/* ============ page produit — La Canette ============ */
.cn-nav{position:sticky;top:0;z-index:40;background:rgba(6,2,14,.86);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border-bottom:1px solid rgba(150,90,214,.18)}
.cn-nav-in{max-width:1400px;margin:0 auto;padding:0 clamp(20px,4vw,64px);display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.cn-nav-in::-webkit-scrollbar{display:none}
.cn-nav a{flex-shrink:0;padding:16px 18px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--off-faint);text-decoration:none;border-bottom:2px solid transparent;transition:color .24s ease,border-color .24s ease}
.cn-nav a:hover,.cn-nav a.is-on{color:var(--off);border-bottom-color:var(--violet)}
.cn-nav a.cn-nav-out{color:var(--violet-lt)}
#packaging,#produits,#gouter,#marque,#bissap,#gout,#experience,#engagement{scroll-margin-top:74px}
.cn-nav a.cn-nav-out:hover{color:#fff;border-bottom-color:var(--violet-lt)}

.cn-hero{position:relative;overflow:hidden;padding:clamp(120px,12vw,180px) 0 clamp(50px,5vw,80px);background:radial-gradient(ellipse 34% 40% at 74% 48%,rgba(150,90,214,.34) 0%,rgba(100,6,76,.22) 54%,transparent 78%),radial-gradient(ellipse 60% 60% at 96% 50%,rgba(89,7,71,.3) 0%,transparent 70%),linear-gradient(120deg,#0d0517 0%,#15071f 46%,#260b38 78%,#330d45 100%)}
.cn-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,42%);gap:clamp(30px,4vw,72px);align-items:center}
.cn-h1{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(2.7rem,7vw,7.4rem);line-height:.95;letter-spacing:-.012em;margin:0;font-weight:400;color:var(--off)}
.cn-h1 .accent{color:var(--violet)}
.cn-tag{margin:clamp(20px,2.2vw,30px) 0 0;display:flex;flex-direction:column;gap:5px;font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(14px,1.4vw,20px);line-height:1.22;letter-spacing:.05em;color:var(--off-dim)}
.cn-tag b{color:var(--violet-lt);font-weight:400}
.cn-can{position:relative}
.cn-can img{width:100%;height:auto;display:block;filter:drop-shadow(0 60px 70px rgba(0,0,0,.85))}
.cn-can::before{content:'';position:absolute;left:50%;top:46%;width:96%;aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(150,90,214,.38) 0%,rgba(100,6,76,.16) 46%,transparent 70%);filter:blur(18px);z-index:-1}

/* le goût */
.cn-sense{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,3.6vw,64px);align-items:center}
.cn-sense-lines{display:flex;flex-direction:column;gap:clamp(8px,1vw,14px)}
.cn-sense-lines span{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(1.5rem,3.4vw,3.4rem);line-height:1;letter-spacing:-.004em;color:var(--off)}
.cn-sense-lines span:last-child{color:var(--violet)}
.cn-spec{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(150,90,214,.16);border:1px solid rgba(150,90,214,.16);border-radius:16px;overflow:hidden}
.cn-spec>div{background:#170822;padding:clamp(18px,2vw,24px);display:flex;flex-direction:column;gap:8px}
.cn-spec b{font-size:9.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--off-faint)}
.cn-spec span{font-size:15.5px;line-height:1.5;font-weight:600;color:var(--off)}
.cn-spec .tbd{align-self:flex-start}

/* manifeste produit */
.cn-manif{text-align:center;padding:clamp(60px,7vw,110px) 0}
.cn-manif-h{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(2.2rem,5.4vw,5.6rem);line-height:1;letter-spacing:-.01em;color:var(--off);margin:0 0 clamp(30px,3.4vw,52px)}
.cn-manif-list{display:flex;flex-direction:column;gap:clamp(6px,.8vw,12px)}
.cn-manif-list span{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(1.4rem,3.2vw,3.2rem);line-height:1.04;letter-spacing:.008em;color:var(--off-faint);transition:color .6s ease,transform .7s cubic-bezier(.2,.8,.2,1),opacity .7s ease;opacity:0;transform:translateY(16px)}
.cn-manif-list span.in{opacity:1;transform:none}
.cn-manif-list span:last-child{color:var(--violet);font-size:clamp(2rem,4.6vw,4.6rem);margin-top:clamp(10px,1.2vw,20px)}

/* pourquoi */
.cn-why{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(150,90,214,.16);border-radius:20px;overflow:hidden}
.cn-why>div{background:var(--aub-deep);padding:clamp(28px,3.2vw,52px);display:flex;flex-direction:column;gap:14px;transition:background .35s ease}
.cn-why>div:hover{background:#22092f}
.cn-why b{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(1.2rem,2.2vw,2.1rem);line-height:1.04;letter-spacing:.015em;color:var(--off);font-weight:400}
.cn-why span{font-size:16px;line-height:1.7;color:var(--off-dim);max-width:40ch}

.cn-sub{margin-top:clamp(16px,1.8vw,24px);font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(14px,1.4vw,20px);line-height:1.24;letter-spacing:.06em;color:var(--violet-lt)}
.cn-values>div{gap:10px}
.cn-values i{font-style:normal;font-size:9.5px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--violet-lt)}
.cn-bridge{margin-top:clamp(34px,4vw,64px);padding-top:clamp(28px,3.2vw,44px);border-top:1px solid rgba(150,90,214,.2)}
.cn-bridge-h{display:flex;flex-direction:column;gap:4px;font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(1.5rem,3.6vw,3.6rem);line-height:1.02;letter-spacing:-.006em;color:var(--off-faint);font-weight:400;margin:0}
.cn-bridge-h b{color:var(--off);font-weight:400}
.cn-bridge-p{margin-top:clamp(18px,2vw,26px);font-size:clamp(16px,1.5vw,20px);line-height:1.7;color:var(--off-dim);max-width:62ch}
.cn-chain{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:clamp(22px,2.4vw,32px)}
.cn-chain span{display:inline-flex;align-items:center;padding:9px 18px;border-radius:100px;border:1px solid rgba(150,90,214,.3);font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(11px,1vw,14px);letter-spacing:.1em;color:var(--off-dim)}
.cn-chain span+span::before{content:'';position:absolute;margin-left:-26px;width:12px;height:1px;background:rgba(150,90,214,.5)}
.cn-chain span:last-child{border-color:rgba(164,92,246,.6);color:var(--violet-lt)}
.cn-spec-lead{font-size:16px;line-height:1.68;color:var(--off-dim);margin-bottom:clamp(18px,2vw,26px)}
.cn-spec-lead strong{color:var(--off);font-weight:700}

/* expérience */
.cn-moments{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.4vw,18px)}
.cn-mom{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:3/4;border:1px solid rgba(150,90,214,.2)}
.cn-mom img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.cn-mom:hover img{transform:scale(1.04)}
.cn-mom::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,5,24,.88) 0%,rgba(15,5,24,.2) 42%,transparent 70%)}
.cn-mom b{position:absolute;left:16px;bottom:16px;z-index:2;font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(13px,1.2vw,17px);letter-spacing:.06em;color:var(--off);font-weight:400}
.cn-share{margin-top:clamp(28px,3.2vw,44px);display:flex;flex-direction:column;gap:6px;font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(1.1rem,2.2vw,2rem);line-height:1.14;letter-spacing:.02em;color:var(--off-faint)}
.cn-share b{color:var(--violet);font-weight:400}

/* engagement */
.cn-charity{background:radial-gradient(ellipse 40% 48% at 76% 42%,rgba(150,90,214,.22),transparent 74%),linear-gradient(140deg,#150720,#1f0a2e 70%,#260b38)}
.cn-charity-logo{width:clamp(150px,18vw,240px);height:auto;display:block;margin-bottom:clamp(24px,2.8vw,36px)}
@media(max-width:640px){.cn-charity-logo{width:min(353px,100%)!important;height:auto!important}}
.cn-guard{margin-top:clamp(24px,2.6vw,34px);padding:clamp(20px,2.2vw,28px);border-radius:16px;border:1px solid rgba(212,175,98,.28);display:flex;flex-direction:column;gap:8px}
.cn-guard b{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(15px,1.4vw,20px);letter-spacing:.03em;color:var(--off);font-weight:400}
.cn-guard span{font-size:15px;line-height:1.65;color:var(--off-dim)}

/* packaging */
.cn-pack{display:grid;grid-template-columns:minmax(0,44%) minmax(0,1fr);gap:clamp(28px,3.6vw,64px);align-items:center}
.cn-pack-shot{position:relative;border-radius:20px;overflow:hidden;border:1px solid rgba(150,90,214,.22);background:radial-gradient(ellipse 60% 58% at 50% 42%,rgba(150,90,214,.22),transparent 72%),#170822;aspect-ratio:10/16;display:block;padding:clamp(20px,2.4vw,40px)}
.cn-pack-shot img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;padding:inherit;box-sizing:border-box;object-fit:contain;object-position:center;display:block;filter:drop-shadow(0 26px 40px rgba(0,0,0,.55));transition:opacity .22s ease}
.cn-pack-shot.is-fading img{opacity:0}
.cn-pack-shot.is-macro img{padding:0;object-fit:cover;filter:none}
.cn-views{display:flex;flex-direction:column;gap:clamp(12px,1.3vw,18px)}
.cn-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(8px,.9vw,12px)}
.cn-thumb{position:relative;padding:0;border-radius:12px;overflow:hidden;border:1px solid rgba(150,90,214,.22);background:#170822;cursor:pointer;display:flex;flex-direction:column;font-family:'Manrope',sans-serif;transition:border-color .28s ease,transform .28s cubic-bezier(.2,.8,.2,1)}
.cn-thumb:hover{transform:translateY(-2px);border-color:rgba(164,92,246,.5)}
.cn-thumb.is-on{border-color:var(--violet);box-shadow:0 0 0 1px rgba(150,90,214,.4)}
.cn-thumb img{width:100%;aspect-ratio:1/1;object-fit:contain;padding:8px;display:block;transition:filter .28s ease}
.cn-thumb:hover img{filter:brightness(1.06)}
.cn-thumb.is-on img{filter:brightness(1.12)}
.cn-thumb span{padding:0 6px 8px;font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--off-faint);text-align:center;transition:color .28s ease}
.cn-thumb.is-on span{color:var(--violet-lt)}
.cn-detail{display:flex;flex-direction:column;gap:14px}
.cn-format{display:block;font-family:'Anton',sans-serif;font-style:normal;text-transform:uppercase;font-size:clamp(15px,1.4vw,20px);letter-spacing:.04em;color:var(--off);margin-bottom:7px}
.cn-detail-tbd b{opacity:.72}
.cn-detail>div{display:flex;gap:16px;padding-bottom:14px;border-bottom:1px solid rgba(150,90,214,.16)}
.cn-detail>div:last-child{border-bottom:none;padding-bottom:0}
.cn-detail b{flex:0 0 clamp(110px,12vw,160px);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--off-faint);padding-top:4px}
.cn-detail span{flex:1;font-size:15.5px;line-height:1.62;color:var(--off-dim)}

/* CTA final */
.cn-final{text-align:center;background:radial-gradient(ellipse 42% 50% at 50% 42%,rgba(150,90,214,.24),transparent 74%),linear-gradient(160deg,#150720,#0e0618)}
.cn-final-h{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(2.6rem,6.4vw,7rem);line-height:.98;letter-spacing:-.012em;color:var(--off);margin:0}
.cn-final-p{margin-top:clamp(18px,2vw,26px);font-size:clamp(17px,1.6vw,22px);color:var(--violet-lt);font-weight:600}
.cn-final .cta-row{justify-content:center}
.cn-links{margin-top:clamp(50px,5.6vw,86px);padding-top:clamp(28px,3vw,40px);border-top:1px solid rgba(150,90,214,.2);display:flex;flex-wrap:wrap;gap:clamp(14px,2vw,34px);justify-content:center}
.cn-links a{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--off-faint);text-decoration:none;transition:color .24s ease}
.cn-links a:hover{color:var(--violet-lt)}
.cn-links svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:1080px){
  .cn-moments{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:920px){
  .cn-hero-grid,.cn-sense,.cn-pack{grid-template-columns:1fr;gap:32px}
  .cn-pack-shot{aspect-ratio:10/14;max-width:420px;margin-inline:auto}
  .cn-hero{padding-top:clamp(100px,18vw,150px)}
  .cn-can{max-width:min(74vw,380px);margin:0 auto}
  .cn-why{grid-template-columns:1fr}
  .cn-detail>div{flex-direction:column;gap:6px}
  .cn-detail b{flex:none;padding-top:0}
}
@media(max-width:640px){
  .cn-spec{grid-template-columns:1fr}
}

/* modal waitlist */
.wl-box{width:min(620px,100%)}
.wl-box .step h3{font-size:clamp(28px,3.6vw,46px)}
.wl-nospam{display:inline-block;margin-top:8px;color:var(--violet-lt);font-weight:700}
.wl-sms{padding:clamp(18px,2vw,24px);border-radius:16px;border:1px solid rgba(150,90,214,.24);background:rgba(11,4,19,.45);display:flex;flex-direction:column;gap:13px}
.wl-sms-h{font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.wl-tel{display:flex;align-items:stretch;border-radius:12px;border:1px solid rgba(150,90,214,.28);background:rgba(11,4,19,.6);overflow:hidden}
.wl-tel:focus-within{border-color:var(--violet-lt)}
.wl-cc{display:grid;place-items:center;padding:0 15px;font-size:15px;font-weight:700;color:var(--violet-lt);border-right:1px solid rgba(150,90,214,.28);background:rgba(150,90,214,.1)}
.wl-tel input{flex:1;border:none;background:transparent;padding:15px 16px;color:var(--off);font-family:'Manrope',sans-serif;font-size:15.5px}
.wl-tel input:focus{outline:none}
.wl-consents{display:flex;flex-direction:column;gap:11px}
.wl-check{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:14.5px;line-height:1.5;color:var(--off-dim)}
.wl-check input{flex-shrink:0;width:19px;height:19px;margin-top:1px;accent-color:var(--violet);cursor:pointer}
.wl-check:hover{color:var(--off)}
.wl-err{padding:13px 16px;border-radius:12px;border:1px solid rgba(226,88,88,.45);background:rgba(120,24,32,.24);font-size:14.5px;color:#f0b9b9}
.wl-nav{align-items:center}
.wl-privacy{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--off-faint)}
.wl-privacy b{color:rgba(247,244,248,.34);font-weight:700}
.wl-mark{width:72px;height:72px;border-radius:50%;border:1px solid rgba(164,92,246,.5);background:radial-gradient(circle at 50% 40%,rgba(150,90,214,.28),transparent 70%);display:grid;place-items:center;color:var(--violet-lt);margin-bottom:4px}
.wl-mark svg{width:30px;height:30px}
.wl-next{margin-top:clamp(20px,2.4vw,30px);padding-top:clamp(20px,2.2vw,28px);border-top:1px solid rgba(150,90,214,.22);display:flex;flex-direction:column;align-items:center;gap:12px}
.wl-next-h{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(16px,1.5vw,21px);letter-spacing:.04em;color:var(--off)}
.wl-next p{font-size:15px;line-height:1.62;color:var(--off-faint);max-width:44ch}
@media(max-width:620px){
  .sheet{padding:0}
  .wl-box{width:100%;max-height:100vh;border-radius:0;padding-top:clamp(22px,6vw,32px)}
  .wl-box .fields{grid-template-columns:1fr}
  .wl-nav{flex-direction:column-reverse;align-items:stretch}
  .wl-nav .btn{width:100%}
  .wl-privacy{text-align:center}
}

/* packaging — vue 3D (bloc ajouté, aucun style existant modifié) */
.cn-3d{margin-top:clamp(48px,5.6vw,88px);padding-top:clamp(34px,4vw,60px);border-top:1px solid rgba(150,90,214,.18);display:grid;grid-template-columns:minmax(0,38%) minmax(0,1fr);gap:clamp(28px,4vw,72px);align-items:center}
.cn-3d-copy{min-width:0}
.cn-3d-copy .eyebrow{margin-bottom:clamp(14px,1.6vw,20px)}
.cn-3d-h{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(28px,3.3vw,52px);line-height:1.02;letter-spacing:-.004em;color:#fff}
.cn-3d-h span{display:block;padding-top:.06em;margin-top:-.06em}
.cn-3d-p{margin-top:clamp(14px,1.6vw,22px);font-size:17px;line-height:1.72;color:var(--off-dim);max-width:34ch}
.cn-3d-shot{position:relative;margin:0;min-width:0}
.cn-3d-shot::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(to right,#1b082a 0,rgba(27,8,42,.55) 5%,rgba(27,8,42,0) 15%),linear-gradient(to left,#1b082a 0,rgba(27,8,42,.55) 5%,rgba(27,8,42,0) 15%),linear-gradient(to bottom,#1b082a 0,rgba(27,8,42,.5) 3%,rgba(27,8,42,0) 9%),linear-gradient(to top,#1b082a 0,rgba(27,8,42,.5) 3%,rgba(27,8,42,0) 8%)}
.cn-3d-shot picture{position:relative;display:block}
.cn-3d-shot img{width:100%;height:auto;max-width:100%;display:block;object-fit:contain;transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .55s ease}
@media(hover:hover) and (min-width:921px){.cn-3d-shot:hover img{transform:translateY(-6px) scale(1.012);filter:brightness(1.05)}}
@media(max-width:920px){.cn-3d{grid-template-columns:1fr;gap:26px;margin-top:clamp(38px,7vw,56px)}.cn-3d-shot{width:100%;max-width:660px;margin-inline:auto}.cn-3d-p{max-width:46ch}}
@media(prefers-reduced-motion:reduce){.cn-3d-shot img{transition:none}.cn-3d-shot:hover img{transform:none;filter:none}}
