/* Couche "boutique" : promo, offres, tunnel de commande. Chargée après style.css. */
:root{--gold:#ffbc45;--gold-deep:#dfa124;--pink:#f5d6e8;--mint:#d2eee5;--red:#e0475f}
.promo-bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;padding:10px 16px;background:linear-gradient(90deg,#5a2fb8,#7844df 45%,#b04fc9);color:#fff;font-size:13px;box-shadow:0 4px 18px #4b23a033}
.promo-bar s{opacity:.7}.promo-gift{font-size:18px}
.promo-timer{background:#ffffff22;border:1px solid #ffffff40;padding:5px 11px;border-radius:30px;font-size:12px;font-variant-numeric:tabular-nums}
.promo-cta{border:0;background:var(--gold);color:#3c2400;font-weight:900;padding:8px 16px;border-radius:30px;font-size:12px;box-shadow:0 3px 0 var(--gold-deep)}
.promo-cta:hover{transform:translateY(-1px)}
.promo-bar.ended{display:none}
.resume-bar{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;padding:10px 16px;background:#fff1bf;color:#5b3d06;font-size:13px;font-weight:bold}
.resume-bar[hidden]{display:none}
.resume-bar a{color:var(--purple);text-decoration:underline}
.btn.big{padding:21px 30px;font-size:15px;box-shadow:0 5px 0 #592ba8,0 14px 30px #7844df40}
.price-tag{display:flex;align-items:center;gap:12px;margin:0 0 20px;flex-wrap:wrap}
.price-tag.center{justify-content:center;margin:10px 0 22px}
.price-old{font-size:20px;color:#9a8fa8;text-decoration:line-through;text-decoration-color:var(--red);text-decoration-thickness:2px}
.price-new{font-size:40px;font-weight:900;letter-spacing:-1.5px;color:var(--ink)}
.price-badge{background:var(--red);color:#fff;font-size:11px;font-weight:900;letter-spacing:1px;padding:7px 11px;border-radius:30px;transform:rotate(-4deg);box-shadow:0 4px 12px #e0475f44}
.hero .notes{font-size:11px;gap:16px;flex-wrap:wrap}
.inline-cta{text-align:center;margin-top:22px}
/* Offres */
.offers-section{max-width:1200px}
.countdown-big{display:flex;justify-content:center;gap:12px;margin-top:22px}
.countdown-big span{background:#fff;border:1px solid #e6dcf1;border-radius:16px;padding:12px 6px;width:74px;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;box-shadow:0 6px 18px #6a3d8712}
.countdown-big b{display:block;font-size:28px;color:var(--purple);letter-spacing:0;font-variant-numeric:tabular-nums}
.offers{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:22px;align-items:center;margin-top:40px}
.offer{position:relative;background:#fff;border:1px solid #e8def2;border-radius:24px;padding:30px 26px;box-shadow:0 12px 35px #6a3d8714;text-align:center}
.offer h3{font-size:21px;margin:6px 0 10px;letter-spacing:-.5px}
.offer.featured{background:linear-gradient(160deg,#fff 0%,#f6efff 100%);border:3px solid var(--purple);padding:40px 28px;box-shadow:0 22px 55px #7844df33;transform:scale(1.03)}
.offer-badge{position:absolute;top:-16px;left:50%;transform:translateX(-50%);background:var(--red);color:#fff;font-size:11px;font-weight:900;letter-spacing:.8px;padding:8px 16px;border-radius:30px;white-space:nowrap;box-shadow:0 6px 16px #e0475f40}
.offer-stories{color:var(--gold);font-size:22px;letter-spacing:4px}
.offer-stories span{display:block;font-size:11px;letter-spacing:.5px;color:var(--muted);margin-top:4px}
.offer-price{margin:16px 0 4px;display:flex;justify-content:center;align-items:baseline;gap:10px}
.offer-price s{color:#9a8fa8;font-size:17px;text-decoration-color:var(--red)}
.offer-price b{font-size:40px;letter-spacing:-1.5px}
.offer.featured .offer-price b{font-size:50px;color:var(--purple)}
.offer-each{font-size:11px;color:#2f8a63;font-weight:bold}
.offer ul{list-style:none;padding:0;margin:20px 0 24px;text-align:left;font-size:13px;line-height:1.5}
.offer li{padding:6px 0 6px 26px;position:relative;border-bottom:1px dashed #eee5f5}
.offer li:before{content:'✓';position:absolute;left:2px;color:#2f8a63;font-weight:900}
.offer .btn{width:100%}
.reassure{display:flex;justify-content:center;gap:12px 28px;flex-wrap:wrap;margin-top:34px;font-size:12px;color:#6f6680}
/* Barre d'achat mobile */
.sticky-cta{position:fixed;left:12px;right:12px;bottom:12px;z-index:60;display:none;align-items:center;justify-content:space-between;gap:10px;background:#fffdf8;border:1px solid #e3d6f2;border-radius:20px;padding:10px 10px 10px 18px;box-shadow:0 14px 40px #2a1a4a40;transform:translateY(140%);transition:transform .3s}
.sticky-cta.show{transform:none}
.sticky-cta small{display:block;font-size:10px;color:var(--red);font-weight:bold}
.sticky-cta s{color:#9a8fa8}
.sticky-cta b{font-size:15px}
.sticky-cta .btn{padding:15px 20px;font-size:13px}
.toast{position:fixed;left:50%;top:70px;transform:translateX(-50%);z-index:80;background:#2b1e4a;color:#fff;padding:14px 20px;border-radius:14px;font-size:13px;box-shadow:0 12px 30px #0004;max-width:calc(100% - 32px)}
.toast[hidden]{display:none}
/* Tunnel de commande */
#builder{width:min(620px,calc(100% - 20px))}
#builder h2{margin:10px 0 4px}
.lead{margin-top:0}
.offer-pick{display:grid;gap:8px;margin:16px 0 4px}
.pick{display:grid!important;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:12px;margin:0!important;background:#fff;border:2px solid #e7deed;border-radius:14px;padding:12px 14px;cursor:pointer;font-weight:400!important;transition:.15s}
.pick input{grid-row:1/3;width:20px;height:20px;accent-color:var(--purple)}
.pick-name{font-weight:900;font-size:14px}
.pick-name em{font-style:normal;background:var(--purple);color:#fff;font-size:9px;letter-spacing:.6px;padding:3px 7px;border-radius:20px;margin-left:8px;vertical-align:middle}
.pick-sub{font-size:11px;color:var(--muted);grid-column:2}
.pick-price{grid-row:1/3;grid-column:3;text-align:right;font-size:12px}
.pick-price s{color:#9a8fa8}.pick-price b{display:block;font-size:18px}
.pick.on{border-color:var(--purple);background:#f6efff;box-shadow:0 0 0 3px #7844df1a}
.world-pick{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.wp{position:relative;margin:0!important;height:78px;border-radius:12px;background:linear-gradient(135deg,#ffe3a5,#e9d7ff) center/cover;border:3px solid transparent;display:flex!important;align-items:flex-end;padding:0!important;overflow:hidden;cursor:pointer}
.wp input{position:absolute;opacity:0}
.wp span{width:100%;background:linear-gradient(transparent,#1d1238d9);color:#fff;font-size:10px;line-height:1.2;padding:16px 6px 6px;font-weight:bold}
.wp.on{border-color:var(--purple);box-shadow:0 0 0 3px #7844df33}
.wp:has(input:focus-visible){outline:3px solid #b990ee;outline-offset:2px}
label small{font-weight:400;color:var(--muted)}
.pay{width:100%;margin-top:18px;padding:20px;font-size:15px}
.pay:disabled{opacity:.7;cursor:wait;transform:none}
.pay-trust{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;font-size:11px;color:#6f6680;margin-top:12px}
.fine{font-size:10px!important;text-align:center;margin:12px 0 0}
.fine a{color:var(--purple);text-decoration:underline}
#order-error{min-height:0;margin:12px 0 0;font-size:13px}
#order-error:empty{display:none}
footer a.text-btn{font-size:10px}
@media(max-width:1000px){.offers{grid-template-columns:1fr;max-width:460px;margin-inline:auto}.offer.featured{transform:none;order:-1}}
@media(max-width:700px){
  .promo-bar{gap:8px 10px;font-size:11px;padding:8px 10px}.promo-gift{display:none}.promo-timer{font-size:10px;padding:4px 9px}.promo-cta{padding:7px 12px;font-size:11px}
  header .btn{display:none}
  .price-tag{justify-content:center}.price-new{font-size:34px}
  .hero .actions{flex-direction:column;align-items:stretch}.btn.big{font-size:14px}
  .hero .notes{font-size:10px;gap:10px}
  .sticky-cta{display:flex}
  .countdown-big span{width:64px}.countdown-big b{font-size:23px}
  .world-pick{grid-template-columns:repeat(2,1fr)}
  .offer.featured .offer-price b{font-size:44px}
  footer{padding-bottom:100px}
}
.win-order{display:block;margin:10px auto 0!important;font-size:12px!important;color:var(--purple)!important;font-weight:bold}
/* Accueil : le bas de l'illustration (pieds coupés) disparaît en fondu sous un bandeau */
.hero .heroes{-webkit-mask-image:linear-gradient(#000 72%,transparent 93%);mask-image:linear-gradient(#000 72%,transparent 93%)}
.hero-ground{position:absolute;z-index:2;left:50%;bottom:58px;transform:translateX(-50%) rotate(-1.5deg);text-align:center;white-space:nowrap;background:#fffdf8f2;border:1px solid #efe3c8;border-radius:40px;padding:12px 26px 10px;box-shadow:0 12px 30px #6a3d8720;font-weight:900;font-size:17px;letter-spacing:-.3px;color:var(--ink)}
.hero-ground>span{color:var(--gold-deep)}
.hero-ground small{display:block;font-weight:600;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#8c779f;margin-top:2px}
@media(max-width:1000px){.hero-ground{bottom:96px;font-size:14px;padding:10px 18px 8px}}
@media(max-width:700px){
  .hero .heroes{-webkit-mask-image:radial-gradient(ellipse 75% 90% at 50% 45%,#000 55%,transparent 88%);mask-image:radial-gradient(ellipse 75% 90% at 50% 45%,#000 55%,transparent 88%)}
  .hero-ground{bottom:44px;font-size:13px;padding:9px 16px 7px}.hero-ground small{font-size:8px}
}
@media(max-width:700px){
  .hero-art{height:440px}
  .hero-ground{bottom:2px;z-index:4;transform:translateX(-50%)}
  .hero .photo-card{bottom:78px;z-index:3}
  .hero .mission{bottom:92px;z-index:3}
}
@media(max-width:1200px) and (min-width:701px){
  .hero-ground{bottom:96px;z-index:4;font-size:14px;padding:9px 18px}
  .hero-ground small{display:none}
}
@media(max-width:700px){
  .hero .heroes{-webkit-mask-image:linear-gradient(#000 62%,transparent 88%);mask-image:linear-gradient(#000 62%,transparent 88%)}
}
/* Avis clients */
.reviews-section{max-width:1200px}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;align-items:stretch}
.review-card{position:relative;background:#fff;border:1px solid #ece2f5;border-radius:22px;padding:30px 26px 24px;box-shadow:0 12px 32px #6a3d8714;display:flex;flex-direction:column}
.review-card:before{content:'“';position:absolute;top:-8px;right:20px;font-size:90px;line-height:1;color:#efe4fb;font-family:Georgia,serif}
.featured-review{background:linear-gradient(160deg,#fff,#f6efff);border-color:#d9c6f3}
.review-stars{color:#f0b23a;font-size:18px;letter-spacing:3px}
.review-tag{align-self:flex-start;background:#efe6fa;color:#5a2fb8;font-size:10px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;padding:5px 10px;border-radius:20px}
.review-card blockquote{margin:16px 0 22px;font-size:15px;line-height:1.7;color:var(--ink);flex:1}
.review-who{display:flex;align-items:center;gap:10px;font-size:13px}
.review-who small{color:var(--muted)}
.review-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--purple),#b04fc9);color:#fff;font-weight:900}
.hero-review{display:inline-block;margin-top:16px;font-size:12px;color:#5f4f74;background:#ffffffc9;border:1px solid #efe3c8;border-radius:30px;padding:8px 14px}
.hero-review .review-stars{font-size:12px;letter-spacing:1px}
.pay-quote{font-size:12px!important;text-align:center;font-style:italic;margin:14px 0 0}
.pay-quote b{font-style:normal;color:var(--ink)}
@media(max-width:1000px){.reviews{grid-template-columns:1fr;max-width:520px;margin-inline:auto}}
@media(max-width:700px){.hero-review{font-size:11px}}
/* Univers libre dans la commande */
#builder textarea{width:100%;padding:12px 13px;border:1px solid #dcd2e6;background:#fff;border-radius:10px;font:inherit;resize:vertical;outline:none}
#builder textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px #7844df15}
.idea-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.idea{border:1px solid #e3d6f2;background:#fff;border-radius:20px;padding:6px 10px;font-size:11px;transition:.15s}
.idea:hover,.idea.on{border-color:var(--purple);background:#f3ecfd;color:#5a2fb8}
.world-hint{font-size:11px!important;background:#fff6dc;color:#6b531c!important;border-radius:10px;padding:9px 12px;margin:10px 0 0}
/* Prix de lancement (prix barrés masqués, règle Omnibus) */
.no-old-price s,.no-old-price .price-old,.no-old-price .offer-price s,.no-old-price .pick-price s{display:none}
/* Noël, cadeau, promesse, fondateur, contact */
.promo-gift-btn{border:1px solid #ffffff70;background:#ffffff1f;color:#fff;font-weight:900;padding:7px 13px;border-radius:30px;font-size:12px}
.promo-gift-btn:hover{background:#ffffff33}
.gift-btn{border-color:#efcf86!important;background:#fffaf0!important}
.xmas-note{color:#b03250;font-weight:bold}
.cd-label{margin:18px 0 0!important;font-weight:bold;color:#b03250!important}
.gift-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:34px;background:linear-gradient(120deg,#fff6dc,#fde6ef);border:1px solid #f3d9a4;border-radius:22px;padding:22px 26px}
.gift-banner b{display:block;font-size:19px;margin-bottom:4px}.gift-banner span{font-size:13px;color:#6f5a3a;line-height:1.6}
.gift-banner .btn{flex-shrink:0}
.promise{display:flex;gap:20px;align-items:flex-start;margin-top:50px;background:linear-gradient(135deg,#f3ecfd,#fdf4e3);border-radius:24px;padding:30px 34px;border:1px solid #eadff6}
.promise-icon{font-size:30px;color:#e0475f;background:#fff;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;box-shadow:0 8px 20px #e0475f22}
.promise h3{font-size:22px;margin:6px 0 8px}.promise p{margin:0;color:#6b6280;line-height:1.8;font-size:14px}
.demo-name{display:flex;gap:8px;margin-top:6px;max-width:420px}
.demo-name input{flex:1;border-radius:50px;padding:16px 20px;font-size:15px}
.demo-name .btn{white-space:nowrap}
.hero-name{display:flex;align-items:center;gap:8px;background:#fff6dc;border-radius:14px;padding:10px 12px;margin:10px 0}
.hero-name label{margin:0;white-space:nowrap}.hero-name input{padding:9px 12px}.hero-name .btn{padding:10px 14px}
.gift-toggle{display:grid;grid-template-columns:1fr 1fr;background:#efe7f8;border-radius:14px;padding:4px;margin:16px 0 6px}
.gift-toggle button{border:0;background:none;padding:11px;border-radius:11px;font-weight:bold;font-size:13px;color:#6b5a85}
.gift-toggle button.on{background:#fff;color:var(--purple);box-shadow:0 3px 10px #4a2a7a1f}
.xmas-line{font-size:12px!important;color:#9b2d47!important;background:#ffeef1;border-radius:10px;padding:8px 12px;margin:8px 0 0}
.gift-fields{grid-template-columns:1fr}
.founder{max-width:900px}
.founder-card{display:flex;gap:28px;align-items:center;background:#fff;border:1px solid #ece2f5;border-radius:26px;padding:32px;box-shadow:0 12px 32px #6a3d8714}
.founder-card img,.founder-initial{width:130px;height:130px;border-radius:50%;object-fit:cover;flex-shrink:0;border:5px solid #f3ecfd}
.founder-initial{display:grid;place-items:center;font-size:50px;font-weight:900;color:#fff;background:linear-gradient(135deg,var(--purple),#b04fc9)}
.founder-card blockquote{margin:10px 0 14px;font-size:16px;line-height:1.75}
.founder-card small{display:block;color:var(--muted);font-size:12px}
.contact-fab{position:fixed;right:18px;bottom:18px;z-index:55;background:#25d366;color:#fff;font-weight:bold;font-size:14px;padding:13px 18px;border-radius:40px;box-shadow:0 10px 26px #0003;display:flex;gap:8px;align-items:center}
.contact-fab[hidden]{display:none}
@media(max-width:700px){
  .gift-banner{flex-direction:column;align-items:stretch;text-align:center}
  .promise{flex-direction:column;padding:24px}
  .demo-name{flex-direction:column;max-width:none}
  .hero-name{flex-wrap:wrap}.hero-name input{flex:1}
  .founder-card{flex-direction:column;text-align:center;padding:24px}
  .contact-fab{bottom:96px;right:12px;padding:12px}.contact-fab span{display:none}
  .xmas-note{display:block;width:100%;text-align:center}
}
.hero-name .btn{white-space:nowrap}
/* Parrainage et places pour Noël */
.ref-bar{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;background:linear-gradient(90deg,#d7f5e2,#fff1bf);color:#225a3c;font-size:14px;text-align:center}
.ref-bar button{border:0;background:#2f8a63;color:#fff;font-weight:700;border-radius:20px;padding:7px 14px;font-size:13px}
.ref-line{font-size:13px!important;background:#d7f5e2;color:#225a3c!important;border-radius:10px;padding:8px 12px;margin:8px 0 0}
.places{font-family:var(--title,inherit);font-weight:600;color:#b03250;background:#ffe4ea;border-radius:20px;padding:6px 12px;display:inline-block;margin:12px auto 0}
.places[hidden]{display:none!important}
.places.full{background:#fff1bf;color:#7a5600}
.places-low .places{animation:wiggle 4s ease-in-out infinite}
/* Acceptation des CGV avant paiement */
.terms-check{display:flex!important;gap:10px;align-items:flex-start;margin:16px 0 0!important;padding:12px 14px;background:#f8f4fd;border:2px solid #e7deed;border-radius:14px;font-weight:400!important;font-size:12.5px!important;line-height:1.5;color:#4a3f5e;cursor:pointer;font-family:var(--body,inherit)!important}
.terms-check input{width:22px!important;height:22px;flex-shrink:0;margin-top:1px;accent-color:var(--purple)}
.terms-check a{color:var(--purple);text-decoration:underline}
.terms-check:has(input:checked){border-color:#b9e6cf;background:#eefaf3}
.terms-check.shake{animation:gpShake .4s;border-color:#ef4a6a}
@keyframes gpShake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
@media(max-width:700px){#builder .terms-check{order:5}}
