/* ===== OFFRE DE NOËL 2026 — 1 shooting acheté = 1 offert (version épurée, couleurs du site) ===== */
:root{--n-ink:#05111a;--n-navy:#18185e;--n-blue:#124aff;--n-blue-2:#7495ff;--n-soft:#f5f7ff;--n-line:#e8ecf5;--n-gold:#febc5f;--n-grad:linear-gradient(90deg,#6b41ff 10%,#ea4bff 55%,#febc5f 95%)}

/* Barre fixe en haut */
.noel-bar{position:fixed;top:0;left:0;right:0;z-index:10000;background:var(--n-navy);color:rgba(255,255,255,.88);font-family:"DM Sans",sans-serif;font-size:14px;line-height:1.3;text-align:center;padding:9px 16px;display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;align-items:center;border-bottom:1px solid rgba(255,255,255,.08)}
.noel-bar strong{color:#fff;font-weight:700}
.noel-bar .noel-bar-cd{font-variant-numeric:tabular-nums;font-weight:600;color:var(--n-gold)}
.noel-bar-left strong{color:var(--n-gold)}
.noel-bar a{color:#fff!important;background:var(--n-blue);border-radius:8px;padding:6px 14px;font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:.03em;white-space:nowrap;transition:background .2s}
.noel-bar a:hover{background:#3a66ff}
html.noel-on body{padding-top:var(--noel-bar-h,40px)!important}
html.noel-on #header-sticky.sticky{top:var(--noel-bar-h,40px)!important}
html.noel-on #offres,html.noel-on #noel{scroll-margin-top:calc(var(--noel-bar-h,40px) + 90px)}

/* Grand bloc */
.noel-wrap{padding:0 16px}
.noel-hero{position:relative;overflow:hidden;margin:28px auto 36px;max-width:1140px;border-radius:24px;padding:48px 28px 40px;text-align:center;color:var(--n-ink);font-family:"DM Sans",sans-serif;background:radial-gradient(90% 120% at 50% 0%,#fff 40%,var(--n-soft) 100%);border:1px solid var(--n-line);box-shadow:0 18px 48px rgba(18,74,255,.09)}
.noel-hero > *{position:relative;z-index:1}
.noel-eyebrow{display:inline-block;background:#eef2ff;color:var(--n-blue);border-radius:30px;padding:6px 16px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:16px;line-height:1.4}
.noel-title{color:var(--n-ink)!important;font-size:clamp(30px,5vw,54px);line-height:1.08;font-weight:800;margin:0 0 12px;font-family:"DM Sans",sans-serif;letter-spacing:-.01em}
.noel-title em{display:block;font-style:normal}
.noel-title span{background:var(--n-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-family:"TestTiemposFine-Regular-BF66457a50e8bc9",serif;font-style:italic;font-weight:400;padding-right:6px}
.noel-sub{color:#5b6270!important;font-size:clamp(16px,1.8vw,18px);margin:0 auto 28px;max-width:620px}
.noel-cd{display:flex;justify-content:center;gap:clamp(8px,2vw,14px);margin:0 0 26px}
.noel-cd div{min-width:clamp(62px,12vw,88px);background:#fff;border:1px solid var(--n-line);border-radius:14px;padding:12px 6px 9px}
.noel-cd b{display:block;font-size:clamp(26px,4.4vw,40px);line-height:1;font-weight:800;color:var(--n-ink);font-variant-numeric:tabular-nums}
.noel-cd small{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#8a90a0;margin-top:5px}
.noel-stock{max-width:400px;margin:0 auto 28px}
.noel-stock-txt{font-size:16px;font-weight:600;color:var(--n-ink);margin-bottom:10px}
.noel-stock-txt b{color:var(--n-blue);font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}
.noel-stock-bar{height:8px;border-radius:8px;background:#e9edfb;overflow:hidden}
.noel-stock-bar i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,var(--n-blue),var(--n-blue-2))}
.noel-stock-sub{font-size:13px;color:#8a90a0;margin-top:7px}
.noel-cta{display:inline-block;background:var(--n-blue);color:#fff!important;font-weight:800;font-size:16px;text-transform:uppercase;letter-spacing:.02em;padding:17px 34px;border-radius:10px;box-shadow:0 10px 24px rgba(18,74,255,.25);transition:transform .2s,background .2s}
.noel-cta:hover{transform:translateY(-2px);background:#3a66ff}
.noel-legal{display:block;margin-top:16px;font-size:12px;color:#9aa0ad!important}

/* Cadeaux qui tombent — discrets */
.noel-hero>.noel-sky{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0!important}
.noel-sky span{position:absolute;top:-50px;line-height:1;will-change:transform;animation-name:noel-fall,noel-sway;animation-timing-function:linear,ease-in-out;animation-iteration-count:infinite,infinite;animation-direction:normal,alternate}
@keyframes noel-fall{from{transform:translateY(0) rotate(0)}to{transform:translateY(760px) rotate(200deg)}}
@keyframes noel-sway{from{margin-left:-10px}to{margin-left:10px}}
@media (prefers-reduced-motion:reduce){.noel-sky{display:none}}

/* Ruban sur les cartes d'offres + badge menu — bien visibles, couleurs du site */
.noel-has-ribbon{position:relative;overflow:hidden}
.noel-ribbon,.noel-menu-badge{position:absolute;z-index:3;overflow:hidden;background:linear-gradient(100deg,#6b41ff 0%,#a64bff 45%,#ea4bff 100%);color:#fff;font-family:"DM Sans",sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.02em;border-radius:10px;border:2px solid #fff;box-shadow:0 10px 24px rgba(107,65,255,.45);pointer-events:none;white-space:nowrap}
.noel-ribbon{top:16px;left:16px;font-size:15px;line-height:1.15;padding:9px 16px 9px 12px;display:flex;align-items:center;gap:9px}
.noel-ribbon>span{display:block;line-height:1.15}
.noel-ribbon .noel-rib-ic{font-size:22px;line-height:1}
.noel-ribbon small{display:block;font-size:10px;line-height:1.2;font-weight:700;letter-spacing:.1em;opacity:.9;margin-bottom:2px}
.noel-menu-badge{top:6px;left:6px;font-size:10px;line-height:1.2;padding:5px 8px;border-width:1.5px}
.noel-ribbon::after,.noel-menu-badge::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:noel-shine 3.2s ease-in-out infinite}
@keyframes noel-shine{0%,60%{left:-60%}100%{left:130%}}
@media (prefers-reduced-motion:reduce){.noel-ribbon::after,.noel-menu-badge::after{animation:none;display:none}}
@media (max-width:575px){.noel-ribbon{font-size:13px;padding:8px 12px}.noel-ribbon .noel-rib-ic{font-size:18px}}
.noel-menu-dot{display:inline-block;font-size:12px;margin-left:4px;vertical-align:top}

/* Bandeau pages de service */
.noel-banner{display:flex;align-items:center;gap:14px;margin:18px 0 22px;padding:14px 16px 14px 18px;border-radius:12px;background:var(--n-soft);border:1px solid var(--n-line);border-left:4px solid var(--n-blue);color:var(--n-ink)!important;font-family:"DM Sans",sans-serif;font-style:normal;text-align:left;transition:box-shadow .2s}
.noel-banner:hover{box-shadow:0 10px 24px rgba(18,74,255,.1)}
.noel-banner-gift{font-size:28px;line-height:1}
.noel-banner-body{flex:1;display:flex;flex-direction:column;gap:2px}
.noel-banner-k{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--n-blue)}
.noel-banner strong{font-size:17px;font-weight:800;line-height:1.25;color:var(--n-ink)}
.noel-banner-meta{font-size:13px;color:#6b7280;font-variant-numeric:tabular-nums}
.noel-banner-meta b{color:var(--n-blue)}
.noel-banner-cta{color:var(--n-blue);font-weight:800;font-size:13px;text-transform:uppercase;white-space:nowrap}

@media (max-width:575px){
  .noel-bar{font-size:12.5px;padding:8px 12px;gap:4px 10px}
  .noel-bar-left{display:none}
  .noel-hero{border-radius:18px;padding:34px 16px 30px;margin:18px auto 26px}
  .noel-cta{font-size:15px;padding:16px 22px;width:100%}
  .noel-banner{flex-wrap:wrap;gap:8px 12px}
  .noel-banner-cta{width:100%}
}

/* ===== Ajouts : prix réel, carte cadeau, conditions ===== */
.noel-grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:center}
@media (min-width:992px){
  .noel-hero{text-align:left;padding:52px 56px 36px}
  .noel-grid{grid-template-columns:1.15fr .85fr;gap:48px}
  .noel-sub{margin-left:0}
  .noel-cd{justify-content:flex-start}
  .noel-stock{margin-left:0}
  .noel-cond{justify-content:flex-start}
  .noel-legal{text-align:center;margin-top:28px}
}
/* Prix */
.noel-price{display:flex;flex-direction:column;gap:2px;margin:0 0 24px;position:relative}
.noel-price small{order:-1;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8a90a0}
.noel-price-main{font-size:18px;color:var(--n-ink);font-weight:600}
.noel-price-main s{color:#9aa0ad;font-weight:500;margin-right:4px}
.noel-price-main b{font-size:26px;font-weight:800}
.noel-price-unit{font-size:16px;color:#5b6270}
.noel-price-unit b{font-size:30px;font-weight:900;color:var(--n-blue);letter-spacing:-.01em}
/* Conditions */
.noel-cond{list-style:none;padding:0;margin:20px 0 6px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.noel-cond li{font-size:13px;font-weight:600;color:var(--n-ink);background:#fff;border:1px solid var(--n-line);border-radius:30px;padding:6px 12px 6px 10px;line-height:1.3}
.noel-cond li::before{content:"✓";color:#16a34a;font-weight:900;margin-right:6px}
.noel-pay{font-size:13px;color:#6b7280!important;margin:8px 0 0;line-height:1.5}
/* Carte cadeau */
.noel-side{display:flex;flex-direction:column;align-items:center}
.noel-gift{position:relative;width:min(100%,360px);aspect-ratio:1.45;margin:10px auto 18px}
.noel-gcard{position:absolute;inset:0;border-radius:18px;padding:22px 24px;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;font-family:"DM Sans",sans-serif;overflow:hidden}
.noel-gcard .gk{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.noel-gcard .gt{font-size:24px;font-weight:800;line-height:1.1}
.noel-gcard .gs{font-size:12px;opacity:.75}
.noel-gcard{background:radial-gradient(120% 120% at 100% 0%,#2b2b8f 0%,var(--n-navy) 55%,var(--n-ink) 100%);color:#fff;box-shadow:0 24px 50px rgba(24,24,94,.35)}
.noel-gcard-front{transform:rotate(4deg) translate(18px,10px);animation:noel-float 5s ease-in-out infinite}
.noel-gcard .gk{color:var(--n-gold)}
.noel-gcard-front .gk{color:var(--n-gold)}
.noel-gcard .gt em{font-style:italic;font-weight:400;font-family:"TestTiemposFine-Regular-BF66457a50e8bc9",serif;font-size:30px;background:var(--n-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.noel-gribbon{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 84%,#ff5a6a 84%,#c8102e 87.5%,#8e0a20 91%,transparent 91%),linear-gradient(180deg,transparent 20%,#ff5a6a 20%,#c8102e 24%,#8e0a20 28%,transparent 28%)}
.noel-gbow{position:absolute;width:64px;height:48px;left:calc(87.5% - 32px);top:calc(24% - 26px);background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2064%2048%22%3E%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22rgba%280%2C0%2C0%2C.12%29%22%20stroke-width%3D%221%22%3E%3Cpath%20d%3D%22M30%2026%20L21%2046%20L27%2043%20L30%2047%20L32%2028%20Z%22/%3E%3Cpath%20d%3D%22M34%2026%20L43%2046%20L37%2043%20L34%2047%20L32%2028%20Z%22/%3E%3Cpath%20d%3D%22M32%2022%20C18%203%201%207%205%2022%20C8%2033%2022%2031%2032%2022%20Z%22/%3E%3Cpath%20d%3D%22M32%2022%20C46%203%2063%207%2059%2022%20C56%2033%2042%2031%2032%2022%20Z%22/%3E%3Crect%20x%3D%2227.5%22%20y%3D%2216.5%22%20width%3D%229%22%20height%3D%2211%22%20rx%3D%223.5%22/%3E%3C/g%3E%3Cpath%20d%3D%22M12%2017%20C16%2012%2022%2013%2027%2019%22%20fill%3D%22none%22%20stroke%3D%22rgba%280%2C0%2C0%2C.08%29%22%20stroke-width%3D%222%22/%3E%3Cpath%20d%3D%22M52%2017%20C48%2012%2042%2013%2037%2019%22%20fill%3D%22none%22%20stroke%3D%22rgba%280%2C0%2C0%2C.08%29%22%20stroke-width%3D%222%22/%3E%3C/svg%3E") center/contain no-repeat;filter:drop-shadow(0 4px 6px rgba(0,0,0,.35))}
.noel-gcard-front::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.18),transparent);transform:skewX(-20deg);animation:noel-shine 4.5s ease-in-out infinite}
@keyframes noel-float{0%,100%{transform:rotate(4deg) translate(18px,10px)}50%{transform:rotate(2deg) translate(18px,0)}}
.noel-gift-cap{max-width:340px;text-align:center;font-size:15px;color:#5b6270!important;margin:6px auto 0;line-height:1.5}
.noel-gift-cap b{color:var(--n-ink);display:block;font-size:17px}
@media (prefers-reduced-motion:reduce){.noel-gcard-front,.noel-gcard-front::after{animation:none}}
@media (max-width:991px){.noel-grid{gap:4px}.noel-gift{width:min(82%,320px);margin-top:26px}}
@media (max-width:575px){.noel-gcard{padding:16px 18px}.noel-gcard .gt{font-size:19px}.noel-gcard .gt em{font-size:24px}.noel-gbow{width:50px;height:38px;left:calc(87.5% - 25px);top:calc(24% - 20px)}.noel-price-unit b{font-size:26px}}
/* Étiquette prix sur les cartes d'offres */
.noel-pricetag{position:absolute;left:16px;bottom:16px;z-index:3;background:rgba(255,255,255,.96);color:var(--n-ink);font-family:"DM Sans",sans-serif;font-size:14px;font-weight:600;line-height:1.2;padding:9px 14px;border-radius:12px;box-shadow:0 8px 20px rgba(5,17,26,.2);pointer-events:none}
.noel-pricetag s{color:#9aa0ad;font-weight:500}
.noel-pricetag b{font-size:18px;font-weight:900}
.noel-pricetag em{display:block;font-style:normal;font-weight:800;color:var(--n-blue);font-size:13px;margin-top:2px}
/* Prix dans le bandeau des pages de service */
.noel-banner-price{font-size:15px;color:var(--n-ink);margin:2px 0}
.noel-banner-price s{color:#9aa0ad}
.noel-banner-price b{color:var(--n-blue);font-weight:800}

.noel-gcard{text-align:left}
@media (min-width:992px){.noel-cond{justify-content:flex-start}}

/* ===== v3 : moins de texte, note Google, bon cadeau, bordure ===== */
.noel-hero{border:2px solid #d9e0f4;box-shadow:0 0 0 6px rgba(18,74,255,.04),0 26px 60px rgba(18,74,255,.14)}
.noel-gcard-back{transform:rotate(-8deg) translate(-30px,-8px) scale(.96);filter:blur(2.5px) brightness(.55) saturate(.8);opacity:.9;box-shadow:none}
.noel-gcard-back .noel-gbow{display:none}
.noel-price{display:block;font-size:17px;color:#5b6270;margin:0 0 22px}
.noel-price s{color:#9aa0ad;margin-right:2px}
.noel-price b{color:var(--n-ink);font-weight:800;font-size:20px}
.noel-price strong{color:var(--n-blue);font-weight:900;font-size:26px;letter-spacing:-.01em}
.noel-stock{margin-bottom:24px}
.noel-cta-row{display:flex;align-items:center;gap:14px 20px;flex-wrap:wrap;justify-content:center}
.noel-google{display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-size:14px;color:#5b6270;line-height:1.3;text-align:left}
.noel-google b{color:var(--n-ink);font-weight:800}
.noel-stars{color:#fbbc04;font-size:18px;letter-spacing:2px;line-height:1}
.noel-cond{margin:18px 0 0}
.noel-gift-cap{font-size:17px;color:var(--n-ink)!important;margin-top:4px}
.noel-gift-cap b{display:inline;background:var(--n-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-family:"TestTiemposFine-Regular-BF66457a50e8bc9",serif;font-style:italic;font-weight:400;font-size:20px}
@media (min-width:992px){.noel-cta-row{justify-content:flex-start}}
@media (max-width:575px){.noel-cta-row{flex-direction:column;gap:12px}.noel-google{align-items:center;text-align:center}.noel-price strong{font-size:23px}}

/* ===== v4 : visuel = bon cadeau rouge & or ===== */
.noel-gcard{background:none!important;padding:0!important;display:block!important;border-radius:2.6cqw;overflow:hidden;box-shadow:0 24px 50px rgba(140,11,31,.35)!important}
.noel-gcard .bon{border-radius:12px}
.noel-gcard-back{filter:blur(2.5px) brightness(.6) saturate(.9)}
.noel-gift{aspect-ratio:210/148}

/* Numéro sur chaque bon : le bon arrière reste lisible */
.noel-gcard-back{filter:blur(1px) brightness(.72) saturate(.95)!important}
.noel-gcard-back{transform:rotate(-9deg) translate(-48px,-14px) scale(.96)!important}
@media (max-width:575px){.noel-gcard-back{transform:rotate(-9deg) translate(-30px,-10px) scale(.96)!important}}

.noel-cond li.noel-cond-hot{background:linear-gradient(100deg,#6b41ff,#ea4bff);color:#fff;border-color:transparent;box-shadow:0 6px 14px rgba(107,65,255,.25)}
.noel-cond li.noel-cond-hot::before{content:"★";color:#febc5f}

/* Bandeau des pages de service : mini bons rouges 1 + 2 */
.noel-banner-bons{position:relative;flex:0 0 112px;height:78px;margin-right:4px}
.noel-banner-bons .bon-box{position:absolute;width:88px;border-radius:6px;overflow:hidden;box-shadow:0 8px 16px rgba(140,11,31,.3)}
.noel-banner-bons .b1{left:0;top:4px;transform:rotate(-8deg);filter:brightness(.75)}
.noel-banner-bons .b2{left:22px;top:12px;transform:rotate(5deg)}
.noel-banner-bons .bon{border-radius:6px}
.noel-banner-bons .bon-foot,.noel-banner-bons .bon-detail{display:none}
.noel-banner{border-left-color:#b8102a!important}
.noel-banner-k{color:#b8102a!important}
@media (max-width:575px){.noel-banner-bons{flex-basis:96px;height:66px}.noel-banner-bons .bon-box{width:74px}.noel-banner-bons .b2{left:18px}}
.noel-banner-body{line-height:1.4}
.noel-banner-price,.noel-banner-meta{line-height:1.45}
.noel-banner strong{line-height:1.25}
@media (max-width:575px){.noel-banner-cta{text-align:center}}

html.noel-on #form{scroll-margin-top:calc(var(--noel-bar-h,40px) + 80px)}

/* Rappel de l'offre au-dessus du formulaire de commande */
.noel-form-remind{display:inline-flex;flex-direction:column;align-items:center;gap:4px;margin:18px auto 6px;padding:16px 26px;border-radius:16px;
  background:linear-gradient(135deg,#d7192f,#8c0b1f);border:1.5px solid rgba(243,217,139,.7);color:#fff;font-family:"DM Sans",sans-serif;text-align:center;line-height:1.35;
  box-shadow:0 14px 30px rgba(140,11,31,.35)}
.noel-form-remind .noel-form-k{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#f3d98b}
.noel-form-remind strong{font-size:20px;font-weight:800;color:#fff}
.noel-form-remind span{font-size:16px;color:rgba(255,255,255,.9)}
.noel-form-remind s{color:rgba(255,255,255,.6)}
.noel-form-remind b{color:#f3d98b;font-weight:800}
.noel-form-remind small{font-size:13px;color:rgba(255,255,255,.8);font-variant-numeric:tabular-nums}
.noel-form-remind small span{font-size:13px}
@media (max-width:575px){.noel-form-remind{padding:14px 16px}.noel-form-remind strong{font-size:17px}}
