@import url('https://fonts.googleapis.com/css2?family=Coiny&display=swap');

/* ============ Reset léger & variables ============ */
* { box-sizing: border-box; }
html, body { margin:0; padding:0; }
:root{
  --bg:#f7efea;
  --card:#ffffff;
  --ink:#363636;
  --muted:#6b7280;
  --brand:#111827;
  --accent:#35D78E;
  --line:#e9e7e4;
  --radius:16px;
  --shadow:0 6px 20px rgba(0,0,0,.06);
  --container:1240px;
  --hero-left-gap: clamp(40px, 8vw, 140px);
  --hero-right-gap: clamp(56px, 18vw, 280px);
  --hero-trust-width: 70px;
}

body{
background: #F7EFEA;
background: linear-gradient(180deg, rgba(247, 239, 234, 1) 0%, rgba(245, 246, 234, 1) 20%, rgba(246, 245, 233, 1) 40%, rgba(249, 245, 238, 1) 60%, rgba(246, 241, 231, 1) 80%, rgba(247, 239, 234, 1) 100%);
color:var(--ink);
font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.fontmf {
  font-family: 'Coiny', sans-serif;
}


/* ============ Helpers ============ */
.container{ width: min(100% - 128px, var(--container)); margin-inline:auto; }
.section{ padding: clamp(40px, 6vw, 90px) 0; }
.section-title{ font-size: clamp(24px, 3.2vw, 36px); margin:0 0 20px; }
.section-lead{ color:var(--muted); margin:0 0 32px; }
.card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:18px; }
.placeholder{ background:linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.0)); }
.ph{ display:grid; place-items:center; border-radius:12px; border:1px dashed #d7d3cf; color:#9ca3af; font-weight:700; letter-spacing:.06em; }
.ph-media{ height: clamp(220px, 30vw, 420px); }
.ph-icon{ height:96px; }
.ph-avatar{ width:64px; height:64px; border-radius:50%; background:#f3f2f0; margin-bottom:8px; }
.ph-tile{ height:140px; }

.muted{ color:var(--muted); }

.btn{ display:inline-block; padding:12px 16px; border-radius:999px; text-decoration:none; font-weight:600; border:1px solid var(--ink); }
.btn.small{ padding:8px 12px; font-size:14px; }
.btn.primary{ background: linear-gradient(135deg, #ff004a, #ff377f); border:none; color:#fff; }
.btn.ghost{ background:transparent; }
.btn:disabled{    background: #d6d6d6 !important; border: none;color: #8d8d8d;}
.center-text{ text-align:center;}
.white-text{ color: #fff;}
.creme-bg{ background-color: #fff8f4;}
.no-margin{margin: 0;}
.align-baseline{ align-items: baseline;}

/* ============ Promo bar ============ */
.promo-bar{ background:#111; color:#fff; font-size:14px; }
.marquee{ white-space:nowrap; overflow:hidden; padding:8px 0; position:relative; }
.marquee > span{ display:inline-block; padding-left:100%; animation:marquee 18s linear infinite; }
@keyframes marquee{ to { transform: translateX(-100%); } }

/* ============ Header ============ */
.site-header{ position:absolute; inset-block-start:78px; inset-inline:0; z-index:60; pointer-events:none; }
.site-header.sticky {position: fixed; padding: 12px 0px; top: 0px; background: rgba(255,255,255,0.2); backdrop-filter: blur(1000px); -webkit-backdrop-filter: blur(1000px);}
.site-header.is-hidden{ transform:translateY(-120%); opacity:0; pointer-events:none; transition:transform .25s ease, opacity .25s ease; }
.site-header__inner{ width:min(100% - 32px, calc(var(--container) + 300px )); margin-inline:auto; display:flex; align-items:center; justify-content:flex-start; gap:clamp(28px, 6vw, 140px); padding-left:0; padding-right:var(--hero-right-gap); }
.site-logo{ display:inline-flex; align-items:center; gap:10px; font-size: 44px; letter-spacing: -2px; line-height: 50px; color:#363636; text-decoration:none; pointer-events:auto; }
 .site-logo img{display: block;height: 70px;}
.site-logo__icon{ font-size:26px; }
.site-nav{ position:relative; pointer-events:auto; }
.site-nav__toggle{ display:none; }
.site-nav__list{ list-style:none; margin:0; padding:0; display:flex; gap:clamp(28px, 3vw, 48px); align-items:center; font-weight:500; background:#ffffff; border-radius:16px; padding:10px clamp(36px, 6vw, 40px); }
.site-nav__list a{ text-decoration:none; color:#1b1b1b; padding-block:8px; transition:color .2s ease; display:inline-block; }
.site-nav__list a:hover{ color:#ff1575; }
.site-nav__list a:focus-visible{ outline:2px solid #ff1575; outline-offset:6px; border-radius:20px; }
.site-nav__list a.is-set{color:#ff1575;}
@keyframes menu-item-fade{
  from{ opacity:0; transform:translateY(-6px); }
  to{ opacity:1; transform:translateY(0); }
}

/* ============ Hero ============ */
.hero{ padding: clamp(90px, 12vw, 170px) 0 clamp(60px, 10vw, 140px); position:relative; overflow: hidden; z-index:2; }
.hero-simple{padding: 180px 0 40px 0px; }
.hero-inner{ position:relative; width:min(100% - 32px, var(--container)); margin-inline:auto; padding: 24px; } /*min(100% - 32px, var(--container) -  90px)*/
.hero-content{ text-align:left; display:flex; flex-direction:column; gap:20px; margin-left:0; }
.hero-eyebrow{ font-size:14px; font-weight:600; text-transform:uppercase; letter-spacing:.18em; color:#6b5b53; margin:0; }

.hero-title-line{ display:block; }
.hero .lead{ color:#3f3a35; font-size:clamp(16px, 2.2vw, 20px); margin:0; max-width:500px; }
.btn.hero-cta{ align-self:flex-start; padding:18px 46px; font-size:18px; border:none; border-radius:999px; margin: 20px 0px; color:#fff; background:linear-gradient(135deg, #ff004a, #ff0076); transition:transform .2s ease, box-shadow .2s ease; display:inline-flex; align-items:center; gap:12px; }
.btn.hero-cta:hover{ filter:brightness(1.04); transform:translateY(-2px); }
.btn.chat.hero-cta {
    align-self: flex-start;
    padding: 12px 22px;
    font-size: 14px;
    border: none;
    border-radius: 999px;
    margin: 20px 0px;
    color: #fff;
    background: linear-gradient(135deg, #ff004a, #ff0076);
    transition: transform .2s ease, box-shadow .2s ease;
    display: inline-flex;
    align-items: center;
    gap: 12px;
  }
.hero-visual{ min-width: 320px; position:relative; justify-content:center; pointer-events:none; }
.howto-hero-card, .shop-hero-card{
  position:relative;
  width: min(100% - 32px, 80%); 
  margin-inline:auto;
  border-radius:48px;
  overflow:hidden;
  height:clamp(320px, 60vw, 520px);
}

body#reviews-page{
  background: linear-gradient(45deg, #f9f0ea 0%, #f5f7ea 75%, #f9f0ea 100%);
}

body#reviews-page .hero{
  background: transparent;
}
body#reviews-page .reviews.full-carousel{
  background: transparent;
}

body#reviews-page section.third{ 
  background: transparent;
}

body#reviews-page section.reviews-grid-section{ 
  background: transparent;
}

body#reviews-page section.faq{ 
  background: transparent;
}

body#reviews-page footer{ 
  background: transparent;
}

.howto-hero-card video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.howto-hero-overlay, .shop-hero-overlay{
  position:absolute;
  inset:0;
  padding:clamp(24px, 7vw, 72px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:18px;
  max-width:520px;
}

.howto-hero-overlay{
  color:#fef8f5;
  text-shadow:0 8px 24px rgba(0,0,0,.45);
  background:linear-gradient(110deg, rgba(0,0,0,.75) 0%, rgba(0,0,0,.15) 45%, rgba(0,0,0,.00) 70%, transparent 100%);
}

.howto-hero-eyebrow{
  font-size:15px;
  letter-spacing:.2em;
  text-transform:uppercase;
  margin:0;
  font-weight:600;
  color:rgba(255,255,255,.75);
}

h1{
  margin:0;
  font-size: 72px;
  line-height:84px;
  font-weight:800;
  margin-bottom: 20px;
}

.howto-hero-lead{
  margin:0;
  font-size:clamp(16px, 2vw, 20px);
  line-height:1.6;
  color:rgba(255,255,255,.92);
}

.shop-hero-lead{
  margin:0;
  font-size:clamp(16px, 2vw, 20px);
  line-height:1.6;
  color:#363636;
}

.section.reviews.full-carousel .container{
  width: 100%;
}

.btn-secondary {
    align-self: flex-start;
    padding: 18px 46px;
    font-size: 18px;
    border: none;
    border-radius: 999px;
    margin: auto;
    color: #363636;
    border: 1px solid #363636;
    background: transparent;
    transition: transform .2s ease, box-shadow .2s ease;
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.btn-fourth {
    align-self: flex-start;
    padding: 18px 46px;
    font-size: 18px;
    border: none;
    border-radius: 999px;
    margin: auto;
    color: #fff;
    background: #FF880F;
    background: linear-gradient(90deg, rgba(255, 136, 15, 1) 0%, rgba(255, 179, 0, 1) 100%);
    transition: transform .2s ease, box-shadow .2s ease;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 20px;
}


/* ============ How-to Steps ============ */
.howto-step{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:clamp(22px, 4vw, 48px);
  padding: 48px 0px;
  border-radius:48px;
  align-items: anchor-center;
}
.howto-step--reverse .howto-step-media{
  order:2;
}
.howto-step--reverse .howto-step-content{
  order:1;
}
.howto-step-media{
  border-radius:34px;
  overflow:hidden;
  background:#fdf7f1;
  aspect-ratio: 1 / 1;
  display:flex;
  margin: 0px;
}
.howto-step-media video{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position: 0px 0px;
  display:block;
}
.howto-step-content{
  display:flex;
  flex-direction:column;
  gap:16px;
  color:#1b1b1b;
}
.howto-step-number{
  width:48px;
  height:48px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#111827;
  color:#fff;
  font-weight:700;
  font-size:18px;
}

h3{
  margin:0;
  font-size:clamp(28px, 4vw, 40px);
  font-size: 50px;
  line-height:60px;
  font-weight:800;
}
.howto-step-lead{
  margin:0;
  font-weight:700;
  font-size:17px;
}

p{
  margin:0;
  color:#363636;
  font-size: 18px;
  line-height:26px;
}

.message.bot p{
  font-size: 15px;
  line-height:24px;
}

.howto-step-cta{
  margin-top:8px;
  width:max-content;
  padding-inline:34px;
}

.flex-wrap {
  display: flex;
  flex-wrap: wrap;   /* sécurité si le contenu force le retour à la ligne */
  gap: 16px;         /* espace entre les blocs (modifie selon ton design) */
}
.hero-inner .col {
    display: inline-block;
    width: calc(50% - 32px);
}

figure.hero-image img {
    height: 350px;
    width: auto;
}


figure.hero-image--primary {
    position: relative;
    float: right;
    z-index: 2;
    right: 350px;
    top: 100px;
    margin: 0px;
    padding: 0px;
}

figure.hero-image--secondary {    
    position: absolute;
    right: 150px;
    top: 20px;
    margin: 0px;
    padding: 0px;
}

.hero-video{
  position:absolute;
  border-radius:42px;
  overflow:hidden;
  transition:transform .3s ease;
}

.hero-video video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.hero-video--primary{
  height: 600px;
  aspect-ratio:3/4;
  top:6%;
  left:0px;
  transform:rotate(6deg);
  z-index:2;
}
.hero-video--secondary{
  position: relative;
  z-index:1;
  opacity:1;
  right: -350px;
  height: 32vw;
  aspect-ratio:3/4;
  transform:rotate(-2deg);
}
.hero-video-glow{
  position:absolute;
  inset:auto 12% -18% 12%;
  height:240px;
  background:radial-gradient(circle at center, rgba(255,56,132,.42) 0%, rgba(255,56,132,0) 65%);
  filter:blur(24px);
  z-index:0;
}
.hero-trust{ position:absolute; z-index: 10;left:0px; top:50%; transform:translate(0%, -50%); background:#111827; color:#fff; padding:22px 12px; border-radius:0px 42px 42px 0px; display:flex; flex-direction:column; align-items:center; gap:8px; min-width:var(--hero-trust-width); }
.hero-trust-icon{ font-size:20px; }
.hero-trust-score{ font-weight:700; font-size:16px; }
.hero-trust-label{ font-size:12px; letter-spacing:.12em; opacity:.85; text-align:center; }
.hero-aside{ display:none; }

/* ============ Value Proposition ============ */
.value-prop{
  position:relative;
  padding: 0px 0px 40px 0px;
  z-index:1;
  border:none;
}
.value-inner{
  width: min(100% - 128px, var(--container));
  display:flex;
  flex-direction:column;
  gap:clamp(32px, 6vw, 64px);
  text-align:left;
  align-items:flex-start;
}

.align-center-text{
  width: 800px;
  margin: auto;
  text-align: center;
}

.text-half-page-large-screen {max-width: 50%;}
.text-2third-page-large-screen {max-width: 67%;}

p.big-text{
  font-size: 26px;
  font-weight: 600;
  line-height: 36px;
  letter-spacing: 0.3px;
  color: #363636;
}

.value-stats{
  width:100%;
  display:grid;
  gap:24px;
  grid-template-columns:repeat(1, minmax(0,1fr));
}
.value-stat{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:flex-start;
  color:#3f3a35;
}
.value-stat__number{
  font-size:clamp(32px, 4.5vw, 54px);
  font-weight:800;
  letter-spacing:-0.01em;
  color: #363636;
}
.value-stat__label{
  font-size:clamp(14px, 1.6vw, 18px);
  line-height:1.5;
  color:#4c4843;
  max-width:16ch;
}


.value-lead{
  margin:0 auto;
  color:#4b5563;
  max-width:560px;
  font-size:clamp(16px, 1.6vw, 18px);
}

/* ============ Steps ============ */

section.steps{
  padding: 80px 0px;
  text-align: center;
}

.container .steps{
  width: min(100% - 128px, var(--container));
}

.steps-shell{
  position:relative;
  background:#ffffff;
  border-radius:48px;
  padding:clamp(72px, 12vw, 120px) clamp(20px, 7vw, 72px) clamp(60px, 9vw, 90px);
  box-shadow:0 36px 80px rgba(17,24,39,.12);
  overflow:visible;
}

.header-badge-section{
  position:relative;
  overflow:visible;
}

.steps-badge{
  position:absolute;
  inset-block-start:calc(-0.45 * clamp(80px, 14vw, 150px));
  inset-inline-start:50%;
  transform:translateX(-50%);
  width:clamp(80px, 14vw, 150px);
  max-width:none;
  pointer-events:none;
}

section .header-section{
  margin:0 auto clamp(36px, 6vw, 56px);
  max-width:800px;
  display:flex;
  flex-direction:column;
  gap:0px;
  align-items:center;
}

section header p{
  font-size: 22px;
  line-height: 34px;
}  

section header h2{
  margin:0;
  margin-bottom: 20px;
  font-size: 50px;
  line-height: 60px;
  font-weight:800;
  color: #363636;
}

.steps-grid{
  display:grid;
  gap:clamp(24px, 4vw, 40px);
  grid-template-columns:repeat(1, minmax(0, 1fr));
}
.step-card{
  position:relative;
  background:transparent;
  border-radius:36px;
  overflow:hidden;
  min-height: 500px;
}
.step-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,0) 55%, rgba(255,255,255,.96) 100%);
  pointer-events:none;
}
.step-media{
  position:absolute;
  inset:0;
}
.step-media video{
  width:100%;
  height:auto;
  object-fit:cover;
  object-position:center;
  filter:brightness(1.05) saturate(1.05);
  display:block;
  border-radius: 18px;
}
.step-content{
  position:absolute;
    min-height: 180px;
  inset-inline: clamp(18px, 5vw, 32px);
  inset-block-end: clamp(24px, 4.2vw, 38px);
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:center;
  text-align:center;
  color:#363636;
  z-index:1;
}
.step-index{
  width:44px;
  height:44px;
  border-radius:50%;
  background:#363636;
  color:#ffffff;
  display:grid;
  place-items:center;
  font-weight:700;
  font-size:18px;
  border:none;
  box-shadow:0 8px 18px rgba(17,24,39,.18);
}
.step-content h3{
  margin:0;
  color:#363636;
  font-weight:700;
  font-size: 24px;
  line-height: 34px;
}
.step-content p{
  margin:0;
  color:#3f3a35;
  font-size: 14px;
  line-height: 24px;
}
.steps-cta{
  margin:clamp(32px, 5vw, 48px) auto 0;
  align-self:center;
}

/* ============ Reactions Gallery ============ */
.reactions{
  padding: clamp(10px, 3vw, 80px) 40px;
}
.reactions-inner{
  display:flex;
  flex-direction:column;
  gap:clamp(32px, 6vw, 56px);
}

.reactions-grid{
  width:100%;
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:clamp(24px, 4vw, 40px);
}
.reactions-grid .reaction-column{ min-width:0; }
.reaction-column{
  display:flex;
  flex-direction:column;
  gap:clamp(20px, 3vw, 32px);
}
.reaction-column--offset-small{ margin-top:clamp(16px, 4vw, 56px); }
.reaction-card{
  position:relative;
  border-radius:28px;
  overflow:hidden;
  background:#000;
  width:100%;
  aspect-ratio:3/4;
  box-shadow:0 24px 60px rgba(17,24,39,.16);
  isolation:isolate;
  cursor:pointer;
}
.reaction-card video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:brightness(.92);
  transition:transform .35s ease, filter .25s ease;
}
.reaction-card:hover video,
.reaction-card:focus-within video{
  transform:scale(1.04);
  filter:brightness(1);
}
.reaction-overlay{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:16px 18px;
  background:linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.05) 40%, rgba(0,0,0,.65) 100%);
  color:#fff;
  z-index:1;
}
.reaction-column .reaction-card:last-child{ margin-bottom:0; }
.reaction-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:18px;
}
.reaction-icon{ font-size:18px; }
.reaction-sound{
  border:none;
  background:rgba(0,0,0,.45);
  color:#fff;
  width:36px;
  height:36px;
  border-radius:50%;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:background .2s ease;
}
.reaction-sound:hover{ background:rgba(0,0,0,.65); }
.reaction-overlay footer{
  position: absolute;
  bottom: 10px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.reaction-name{
  font-weight:700;
  font-size:18px;
}
.reaction-stars{
  letter-spacing:2px;
  font-size:15px;
  color:#ffd166;
}
.reactions-nav{ display:none; }

/* ============ Examples / Tracks ============ */
  .example-head h3 {
    margin: 0;
    font-size: 18px;
    line-height: 30px;
    font-weight: 700;
    color: #1f1d1a;
}


body#cgu-page .hero h1{
  margin:0;
  font-size:clamp(32px, 5vw, 56px);
  color:#1f1b17;
}

body#cgu-page .hero .meta{
  margin-top:8px;
  font-size:16px;
  color:#6c625d;
}

.cgu-shell{
  width:min(100% - 48px, 960px);
  margin:0 auto;
  display:grid;
  gap:clamp(24px, 5vw, 36px);
}

.cgu-card{
  background:#fff;
  border-radius:40px;
  padding:clamp(28px, 5vw, 48px);
  box-shadow:0 40px 90px rgba(32,21,16,.08);
}

.sommaire{
  background:transparent;
  border-radius:0px;
  padding: 10px 32px;
  box-shadow:none;
}

.sommaire h2{
  margin:0 0 12px;
  font-size:20px;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:#1f1b17;
}

.sommaire ol{
  margin:0;
  padding-left:18px;
  display:grid;
  gap:8px;
  color:#423932;
}

.sommaire li{
  line-height:1.5;
}

.sommaire a{
  color:#b9004c;
  text-decoration:none;
  font-weight:600;
}

.sommaire a:hover{
  text-decoration:underline;
}

body#cgu-page  .article{
  background:transparent;
  border-radius:0px;
  padding: 10px 32px;
  box-shadow:none;
  line-height:1.7;
}

.article + .article{
  margin-top:22px;
}

.article h2{
  margin:0 0 16px;
  font-size:clamp(24px, 4vw, 32px);
  color:#1f1b17;
}

.article p{
  margin:0 0 14px;
  color:#423932;
}

.article ul{
  margin:0 0 14px 22px;
  padding:0;
  display:grid;
  gap:8px;
  color:#423932;
}

.article strong{
  color:#1f1b17;
}

.article a{
  color:#b9004c;
  text-decoration:none;
}

.article a:hover{
  text-decoration:underline;
}

body#examples-page .hero{
  background: transparent;
}

body#examples-page .examples{
  background: transparent;
  padding: 40px 0px;
}


.examples-list{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(18px, 4vw, 32px);
  padding-bottom: 30px;
}
.example-card{
  display:flex;
  align-items:center;
  gap:clamp(16px, 3vw, 24px);
  padding:clamp(18px, 3.5vw, 28px);
  border-radius:32px;
  background:#fff;
  transition:transform .2s ease, box-shadow .2s ease;
  transform:translate3d(var(--examples-offset, 0), 0, 0);
}


.success .example-card{
  border: 1px solid #dedede;
  transition:none;
  transform: none;
  margin-bottom: 20px;
}

.success .example-card:hover{
  transform:none;
  box-shadow:none;
}

.checkout-page .proposal .example-card{
  position:relative;
  border:2px solid #f1dfe8;
  cursor:pointer;
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.checkout-page .proposal .example-card::after{
  content:'';
  position:absolute;
  top:0px;
  right:0px;
  width:44px;
  height:44px;
  border-top-right-radius:24px;
  border-bottom-left-radius:18px;
  background:linear-gradient(135deg, #ff004a, #ff377f);
  color:#fff;
  font-weight:700;
  font-size:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 16px 28px rgba(224,0,90,.25);
  opacity:0;
  transform:translate(8px, -8px) scale(.85);
  transition:opacity .2s ease, transform .2s ease;
  pointer-events:none;
}

.checkout-page .proposal .example-card.is-selected{
  border-color:#ff399c;
  box-shadow:0 24px 48px rgba(224,0,90,.18);
  transform:translateY(-2px);
}

.checkout-page .proposal .example-card.is-selected::after{
  content:'✔';
  opacity:1;
  transform:translate(0,0) scale(1);
}

.waiting-block {
    position: fixed;
    z-index: 999;
    inset: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(247, 239, 234, 1) 0%, rgba(245, 246, 234, 1) 20%, rgba(246, 245, 233, 1) 40%, rgba(249, 245, 238, 1) 60%, rgba(246, 241, 231, 1) 80%, rgba(247, 239, 234, 1) 100%);
    text-align: center;
    padding: 100px 40px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
}

body.checkout-waiting{
  overflow:hidden;
}

.waiting-block img {  
  height: 150px;
  margin-bottom: 30px;
}

.example-card:hover{
  transform:translate3d(var(--examples-offset, 0), -4px, 0);
  box-shadow:0 28px 70px rgba(17,24,39,.12);
}
.example-play{
  width:56px;
  height:56px;
  border-radius:50%;
  border:none;
  background:linear-gradient(135deg, #ff004a, #ff377f);
  display:grid;
  place-items:center;
  color:#fff;
  font-size:0;
  cursor:pointer;
  position:relative;
}
.example-play::after{
  content:"";
  border-left:16px solid #fff;
  border-top:10px solid transparent;
  border-bottom:10px solid transparent;
  margin-left:2px;
}
.example-card.is-playing .example-play::after{
  border:none;
  width:8px;
  height:18px;
  border-left:4px solid #fff;
  border-right:4px solid #fff;
}
.example-body{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:10px;
  width: 100%;
}
.example-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.example-head h3{
  margin:0;
  font-size:clamp(18px, 2.4vw, 22px);
  font-weight:700;
  color:#1f1d1a;
}
.example-duration{
  font-weight:600;
  color:#111827;
  font-size:14px;
}
.example-meta{
  margin:0;
  color:#6b5f58;
  font-size:14px;    
  text-align: left;
}
.example-timeline{
  position:relative;
  width:100%;
  height:8px;
  border-radius:999px;
  background:rgba(255,21,117,.15);
  overflow:hidden;
}
.example-progress{
  position:absolute;
  inset:0;
  width:0;
  background:linear-gradient(135deg, #ff004a, #ff377f);
  border-radius:inherit;
  transform-origin:left center;
  transition:width .2s ease;
}
.examples-cta{
  justify-self:center;
  padding-inline:clamp(28px, 6vw, 48px);
}

.final-section{
  background: linear-gradient(to bottom, #f5f7ea 0%, #f6f5ea 100%);
}

.final-section .content{
  padding: 120px 0px;
}



.final-section h2{
  margin: auto;
  text-align: center;
  max-width: 840px;
  font-size: clamp(30px, 5.4vw, 34px);
  line-height: 1.18;
  font-weight: 600;
  color: #2b2925;
  letter-spacing: -0.015em;
}

/* ============ Merch ============ */
.merch{
  background:#363636;
  color:#f8efea;
  padding:clamp(64px, 9vw, 120px) 0;
}
.merch-shell{
  width:min(100% - 48px, 1160px);
  margin-inline:auto;
  display:flex;
  flex-direction:column;
  gap:clamp(32px, 6vw, 48px);
}
.merch-header{
  display:flex;
  flex-direction: row;
  gap:clamp(24px, 5vw, 48px);
}

.merch-heading h2{
  margin:0;
  font-size:clamp(28px, 4.6vw, 46px);
  font-weight:800;
}

.color-white{
  color:#fff;
}

.merch-heading p{
  margin:14px 0 24px 0;
  max-width:520px;
  line-height:1.6;
  font-size:clamp(16px, 1.7vw, 18px);
}

.merch-controls{
  display:flex;
  align-items:center;
  gap:clamp(14px, 3vw, 22px);
}
.merch-filter{
  position:relative;
  display:inline-flex;
  align-items:center;
  background:#fff;
  border-radius:999px;
  padding:4px 18px;
  min-width:0;
  color:#1f1d1a;
  box-shadow:0 12px 30px rgba(17,24,39,.18);
}
.merch-filter select{
  appearance:none;
  -webkit-appearance:none;
  border:none;
  background:transparent;
  font-weight:600;
  font-size:15px;
  color:inherit;
  padding:10px 48px 10px 0;
  cursor:pointer;
  outline:none;
}
.merch-filter select:focus-visible{
  /*
  outline:2px solid #ff4d8d;
  outline-offset:2px;
  border-radius:999px;
  */
}

.merch-filter select:disabled{
  color:rgba(31,29,26,.55);
}
.merch-filter.is-disabled{
  opacity:.6;
  cursor:not-allowed;
}
.merch-filter.is-disabled select{
  cursor:not-allowed;
}
.merch-filter.is-disabled::after{
  opacity:.5;
}
.merch-filter::after{
  content:"";
  position:absolute;
  top:50%;
  right:22px;
  width:10px;
  height:10px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:translateY(-60%) rotate(45deg);
  pointer-events:none;
}
.carousel-btn-group{
  display:flex;
  align-items:center;
  gap:12px;
  margin: auto;
}
.carousel-btn{
  width:46px;
  height:46px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.08);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:22px;
  cursor:pointer;
  transition:background .2s ease, transform .2s ease, border-color .2s ease, opacity .2s ease;
}

.carousel-btn.black{
    border: 1px solid #000;
    color: #000;
}

.carousel-btn:hover:not(:disabled){
  background:rgba(255,255,255,.18);
  transform:translateY(-2px);
}
.carousel-btn:disabled{
  opacity:.35;
  cursor:default;
}
.goodies-track{
  width:100%;
  max-width:100%;
  margin-top: 30px;
  display:flex;
  gap:clamp(20px, 4vw, 28px);
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:1px;
  padding:4px 4px 16px;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  min-width:0;
}
.goodies-track > *{
  scroll-snap-align:start;
}
.goodies-track::-webkit-scrollbar{ display:none; }
.goodie-card{
  min-width: 350px;
  flex:0 0 clamp(260px, 30vw, 302px);
  border-radius:36px;
  background:#fff;
  color:#1f1d1a;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  position:relative;
  transition:transform .2s ease, box-shadow .2s ease;
}
.goodie-card:hover{
  transform:translateY(-6px);
  box-shadow:0 36px 70px rgba(17,24,39,.3);
}
.goodie-card__media{
  padding:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:200px;
}
.goodie-card__media img{
  width:100%;
  max-height:220px;
  object-fit:contain;
  display:block;
}
.goodie-card__media.placeholder{
  background:linear-gradient(180deg, rgba(241,245,249,1) 0%, rgba(226,232,240,1) 100%);
  color:#64748b;
  font-weight:600;
  font-size:15px;
}
.goodie-card__body{
  padding:24px 26px 0;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.goodie-card__title{
  margin:0;
  font-size:20px;
  font-weight:700;
  color:#1f1d1a;
}
.goodie-card__description{
  margin:0;
  color:#5b5149;
  font-size:15px;
  line-height:1.6;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.goodie-card__description p{
  margin:0;
}
.goodie-card__description ul,
.goodie-card__description ol{
  margin:0 0 0 18px;
  padding:0;
  display:grid;
  gap:6px;
}
.goodie-card__footer{
  margin-top:auto;
  padding:20px 10px 20px 26px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.goodie-card__pricing{
  display:flex;
  align-items:baseline;
  gap:10px;
  flex-wrap:wrap;
}
.goodie-card__price{
  font-weight:700;
  font-size:20px;
  color:#1f1d1a;
}
.goodie-card__price--old{
  font-size:15px;
  color:#b29d8f;
  text-decoration:line-through;
}
.goodie-card__badge{
  padding:6px 12px;
  border-radius:999px;
  background:linear-gradient(135deg, #ff1470, #ff7a3a);
  color:#fff;
  font-weight:700;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.4px;
}

.goodie-card__actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: right;
}

.goodie-card__cta{
  border-radius:999px;
  padding:10px 22px;
  font-weight:600;
  font-size:15px;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  white-space:nowrap;
  transition:transform .2s ease, filter .2s ease;
}
.goodie-card__cta:hover{
  filter:brightness(1.05);
  transform:translateY(-2px);
}

body.goodie-modal-open{
  overflow:hidden;
}
.goodie-modal{
  position:fixed;
  inset:0;
  z-index:1200;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(16px, 5vw, 64px);
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease;
}
.goodie-modal.is-visible{
  opacity:1;
  pointer-events:auto;
}
.goodie-modal[hidden]{
  display:none;
}
.goodie-modal__overlay{
  position:absolute;
  inset:0;
  background:rgba(8,33,59,.65);
}
.goodie-modal__dialog{
  position:relative;
  z-index:1;
  width:min(960px, 100%);
  background:#fff;
  border-radius:36px;
  box-shadow:0 40px 120px rgba(8,33,59,.35);
  overflow:hidden;
  outline:none;
}
.goodie-modal__body{
  display:grid;
  grid-template-columns:minmax(0, 360px) minmax(0, 1fr);
  gap:32px;
  padding:clamp(28px, 6vw, 56px);
  align-items:center;
}
.goodie-modal__media{
  background:linear-gradient(180deg, rgba(255,238,244,1) 0%, rgba(255,244,227,1) 100%);
  border-radius:28px;
  padding:clamp(24px, 5vw, 40px);
  display:flex;
  align-items:center;
  justify-content:center;
}
.goodie-modal__media img{
  width:100%;
  max-height:380px;
  object-fit:contain;
  filter:drop-shadow(0 24px 36px rgba(255,21,117,.16));
}
.goodie-modal__content{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.goodie-modal__category{
  margin:0;
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.2em;
  color:#ff4d8d;
}
.goodie-modal__title{
  margin:0;
  font-size:clamp(26px, 3vw, 36px);
  color:#1f1d1a;
}
.goodie-modal__description{
  color:#5b5149;
  line-height:1.7;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.goodie-modal__description p{ margin:0; }
.goodie-modal__description ul,
.goodie-modal__description ol{
  margin:0 0 0 20px;
  padding:0;
  display:grid;
  gap:8px;
}
.goodie-modal__pricing{
  display:flex;
  align-items:baseline;
  gap:12px;
  flex-wrap:wrap;
  margin-top:4px;
}
.goodie-modal__price{
  font-size:clamp(20px, 2.4vw, 32px);
  font-weight:700;
  color:#1f1d1a;
}
.goodie-modal__price--old{
  font-size:16px;
  color:#b29d8f;
  text-decoration:line-through;
}
.goodie-modal__badge{
  padding:8px 16px;
  border-radius:999px;
  background:linear-gradient(135deg, #ff1470, #ff7a3a);
  color:#fff;
  font-weight:700;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.4px;
}
.goodie-modal__footer{
  display:flex;
  flex-direction:column;
  gap:18px;
  margin-top:12px;
}
.goodie-modal__actions{
  display:flex;
  flex-direction:column;
  gap:0px;
}
.goodie-modal__actions .btn{
  width:100%;
  justify-content:center;
}
.goodie-modal__actions .btn.btn-secondary{
  background:#fff;
  color:#08213B;
  border:1px solid rgba(8,33,59,.15);
}
.goodie-modal__actions .btn.is-loading{
  opacity:.65;
  pointer-events:none;
}
.goodie-modal__actions .btn.is-complete{
  background: #fff;
  font-size: 16px;
  font-weight: 700;
  color: #2f9e44;
  border: none;
}
.goodie-modal__btn-check{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  color: #2f9e44;
  font-weight: 700;
  margin-right: 8px;
  font-size: 32px;
}
.goodie-modal__status{
  margin:0;
  font-size:14px;
  line-height:1.4;
  padding:10px 14px;
  border-radius:12px;
  background:rgba(8,33,59,.05);
  color:#08213B;
}
.goodie-modal__status[data-state="pending"]{
  background:rgba(255,214,102,.25);
  color:#b96a00;
}
.goodie-modal__status[data-state="success"]{
  background:rgba(18,184,134,.15);
  color:#0f5132;
}
.goodie-modal__status[data-state="error"]{
  background:rgba(255,71,87,.14);
  color:#c92a2a;
}

.goodie-modal__close{
  position:absolute;
  top:18px;
  right:18px;
  width:44px;
  height:44px;
  border-radius:999px;
  border:none;
  background:rgba(8,33,59,.08);
  color:#08213B;
  font-size:26px;
  font-weight:700;
  cursor:pointer;
  display:grid;
  place-items:center;
  transition:transform .2s ease, background .2s ease;
}
.goodie-modal__close:hover{
  background:rgba(8,33,59,.16);
  transform:scale(1.05);
}

.proposal{
  display: flex;
  width: 100%;
  flex-direction: row;
  justify-content: center;
  gap: 10px;
}

.extracts{
  width: 100%;
  text-align: center;
  padding: 0px 0px 30px 0px;
}

input#customerName{
    padding: 6px 10px;
    border: none;
    border-bottom: 2px solid #ff0076;
    margin-left: 10px;
    font-size: 16px;
}

.loader-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}

.loader {
  width: 150px;
  height: 150px;
  aspect-ratio: 1;
  border-radius: 50%;
  position: relative;

  margin: 30px;
  /* Disque noir + reflets + ton dégradé vinyle */
  background:
  /* reflets circulaires type sillons */ repeating-radial-gradient(circle, rgba(1, 1, 1, 0.9) 0, rgba(0, 0, 0, 0.9) 1px, #dddddd 2px, transparent 4px), 
  /* ton vynil coloré */ conic-gradient(from 0turn, #ff004a, #ff0076, #ff004a), 
  /* fond noir */ #000;
  background-blend-mode: soft-light, normal, normal;
  animation: spin 6s linear infinite;
}

/* Étiquette centrale */
.loader::before {
  content: "";
  position: absolute;
  inset: 26%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.5), transparent 55%),
    #111;
}

/* Trou au milieu */
.loader::after {
  content: "";
  position: absolute;
  inset: 47%;
  border-radius: 50%;
  background: #000;
}



@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}


p.message-perform {
    font-weight: 600;
    color: #ff0053;
}

@media (max-width: 900px){
  .goodie-modal__body{
    grid-template-columns:1fr;
  }
  .goodie-modal__media{
    order:2;
  }
  .goodie-modal__content{
    order:1;
  }
}

@media (max-width: 640px){
  .goodie-modal{
    padding:12px;
  }
  .goodie-modal__dialog{
    border-radius:26px;
  }
  .goodie-modal__body{
    padding:clamp(22px, 8vw, 32px);
  }
  .goodie-modal__footer .btn{
    width:100%;
    justify-content:center;
  }
  .goodie-modal__close{
    top:12px;
    right:12px;
  }
}

.merch-placeholder{
  background:rgba(255,255,255,.06);
  border-radius:32px;
  color:rgba(255,255,255,.6);
  min-height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:40px;
  flex:0 0 clamp(260px, 30vw, 302px);
}
.select-carousel .carousel-btn{
  border-color:#d1d5db;
  background:#fff;
  color:#08213B;
  box-shadow:0 10px 24px rgba(8,33,59,.12);
}
.select-carousel .carousel-btn:hover:not(:disabled){
  background:#f1f5f9;
  transform:translateY(-2px);
}
.select-carousel .carousel-btn:disabled{
  opacity:.4;
  background:#fff;
}
.select-carousel .goodies-track{
  scroll-padding:0 18px;
}
.goodies-carousel{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.select-carousel{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:18px;
}
.select-carousel .goodies-track{
  width:100%;
  grid-column:2;
}
.select-carousel .carousel-btn.prev,
.select-carousel .carousel-btn.next{
  align-self:center;
}
.merch-card{
  min-width:clamp(280px, 42vw, 360px);
  border:1px solid #e5e7eb;
  border-radius:30px;
  background:#fff;
  display:flex;
  flex-direction:column;
  gap:16px;
  text-align:left;
  box-shadow:0 18px 40px rgba(8,33,59,.08);
  overflow:hidden;
  scroll-snap-align:center;
}
.merch-image{
  width:100%;
  height:clamp(180px, 26vw, 240px);
  background:#f3f4f6;
  display:flex;
  align-items:center;
  justify-content:center;
}
.merch-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.merch-card h3{
  margin:0;
  font-size:20px;
  color:#08213B;
  padding:0 24px;
}
.merch-card p{
  margin:0;
  color:#4b5563;
  line-height:1.5;
  padding:0 24px;
  flex:1;
}
.merch-card .merch-description{
  color:#4b5563;
  line-height:1.5;
  padding:0 24px;
  display:flex;
  flex-direction:column;
  gap:8px;
  flex:1;
}
.merch-card .merch-description p{
  padding:0;
}
.merch-card .merch-description ul,
.merch-card .merch-description ol{
  margin:0 0 0 18px;
  padding:0;
  display:grid;
  gap:6px;
}
.merch-footer{
  display:flex;
  align-items:center;
  gap:18px;
  justify-content:space-between;
  padding:0 24px 24px;
}
.merch-pricing{
  display:flex;
  align-items:baseline;
  gap:10px;
  flex-wrap:wrap;
}
.merch-pricing .price{
  font-weight:700;
  color:#08213B;
  font-size:18px;
}
.merch-pricing .price-old{
  font-size:15px;
  color:#9ca3af;
  text-decoration:line-through;
}
.merch-card .btn{
  background:linear-gradient(135deg, #ff004a, #ff377f);
  border:none;
  color:#fff;
  padding:10px 18px;
  border-radius:999px;
  text-decoration:none;
}
.merch-card .btn:hover{
  filter:brightness(1.05);
}
.merch-controls{
  flex-wrap:wrap;
}

/* ============ Success Page ============ */
body.success-page{
  background:#f7ede7;
}

.success{
  padding:clamp(48px, 8vw, 110px) 18px clamp(80px, 10vw, 140px);
}

.success-shell{
  width:min(100% - 24px, 960px);
  padding: 80px 0px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:clamp(24px, 4vw, 40px);
}

.success-card{
  background:#fff;
  border-radius:40px;
  padding:clamp(28px, 6vw, 60px);
}

.success-card--primary{
  text-align:center;
  position:relative;
}

.success-icon{
  width:82px;
  height:82px;
  border-radius:28px 28px 6px 28px;
  margin-inline:auto;
  margin-bottom:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, #ff004a, #ff377f);
  color:#fff;
  font-size:36px;
  box-shadow:0 12px 30px rgba(255,11,107,.4);
}

.success-overline{
  font-size:clamp(26px, 4vw, 40px);
  font-weight:700;
  margin-bottom:26px;
  color:#352f2a;
}

.success-hero{
  width: 100%;
  height: 400px;
  margin: 0 auto 30px;
  border-radius: 32px;
  overflow: hidden;
}

.success-hero video{
  width:100%;
  display:block;
  border-radius:32px;
}

.success-copy{
  font-size: 1.05rem;
  color: #4f473f;
  line-height: 1.65;
  text-align: left;
  margin: 0px 14px;
}

.success-copy p{
  margin:0 0 12px;
}

.success-copy strong{
  font-weight:700;
}

.success h2{
  font-size:clamp(28px, 3.4vw, 36px);
  margin-bottom:18px;
  color:#201a15;
}

.success-download{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:16px 32px;
  border-radius:999px;
  font-weight:700;
  font-size:1.05rem;
  text-decoration:none;
  color:#fff;
  background:linear-gradient(135deg, #ff004a, #ff377f);
  margin-bottom:18px;
}

.success-download[aria-disabled="true"]{
  opacity:.5;
  pointer-events:none;
  cursor:not-allowed;
}

.success-note{
  color:#5a5248;
  font-size:1rem;
  line-height:1.6;
}

.success-card--secondary{
  display:grid;
  grid-template-columns:240px 1fr;
  gap:24px;
  align-items:center;
}

.success-share__visual img{
  width:100%;
  border-radius:28px;
  display:block;
  object-fit:cover;
  height:220px;
}

.success-share__content h3{
  font-size:clamp(24px, 3vw, 30px);
  margin-bottom:12px;
}

.success-share__content p{
  margin-bottom:18px;
  color:#4a4038;
  line-height:1.6;
}

.success-outline{
  display:inline-flex;
  width: 100%;
  align-items:center;
  justify-content:center;
  border:2px solid #ff0b6b;
  color:#ff0b6b;
  padding:14px 28px;
  border-radius:999px;
  font-weight:600;
  text-decoration:none;
}

.success-block{
  text-align:center;
  color:#3d352d;
  margin: 40px 0px 60px 0px;
}

.success-block p{
  margin:0 0 12px;
  line-height:1.6;
}

.share{
  display:grid;
  grid-template-columns:minmax(180px, 240px) 1fr;
  gap:clamp(18px, 4vw, 32px);
  align-items:center;
  border-radius:32px;
  margin:32px 0 48px;
}

.share .success-share__visual{
  border-radius:24px;
  overflow:hidden;
}

.share .success-share__visual img{
  height:100%;
  min-height:180px;
}

.share .success-share__content{
  text-align:left;
}

.success-badge{
  position:absolute;
  left:50%;
  bottom:-70px;
  transform:translateX(-50%);
  width:140px;
  height:140px;
}

.success-badge img{
  width:100%;
  height:auto;
  display:block;
}

@media (max-width: 900px){
  .success-card--secondary{
    grid-template-columns:1fr;
    text-align:center;
  }
  .success-share__visual img{
    height:200px;
  }
  .share{
    grid-template-columns:1fr;
    text-align:center;
  }
  .share .success-share__content{
    text-align:center;
  }
}

@media (max-width: 600px){
  .success{
    padding:36px 14px 80px;
  }
  .success-card{
    border-radius:28px;
  }
  .success-download,
  .success-outline{
    width:100%;
  }
}

/* ============ Testimonials ============ */
.testimonials{
  padding:clamp(60px, 8vw, 110px) 0;
}

.testimonials-carousel{
  display:grid;
  grid-template-columns:1fr auto auto 1fr;
  grid-template-rows:auto auto;
  align-items:center;
  justify-items:center;
  gap:clamp(18px, 4vw, 24px);
  position:relative;
  overflow:hidden;
}
.testimonials-track{
  grid-column:1 / -1;
  grid-row:1;
  display:flex;
  gap:clamp(20px, 4vw, 32px);
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:clamp(18px, 4vw, 40px);
  padding:4px clamp(18px, 4vw, 40px) 16px;
  -webkit-overflow-scrolling:touch;
  min-width:0;
  width:100%;
}
.testimonials-track > *{
  scroll-snap-align:start;
}
.testimonials-track::-webkit-scrollbar{ display:none; }
.review-card{
  flex:0 0 clamp(280px, 30vw, 320px);
  background:#fff;
  border-radius:32px;
  padding:clamp(24px, 4vw, 32px);
  text-align:left;
  display:flex;
  flex-direction:column;
  gap:18px;
  color:#1f1d1a;
}
.review-card__body{ display:flex; flex-direction:column; gap:12px; }
.review-card__media{ display:none; }
.review-card__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.review-card__author{
  font-weight:700;
  font-size:18px;
}
.review-card__verified{
  font-size:14px;
  color:#7b7f8b;
}
.review-card__stars{
  color:#f59e0b;
  font-size:18px;
  letter-spacing:2px;
}
.review-card__text{
  margin:0;
  color:#4b4b4b;
  line-height:1.6;
  font-size:15px;
}
.review-placeholder{
  flex:0 0 clamp(280px, 30vw, 320px);
  border-radius:32px;
  padding:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.6);
  color:#8b8f99;
}

.reviews.full-carousel{
  background:linear-gradient(180deg, #f7f9ec 0%, #f6f3ec 100%);
}
.reviews.full-carousel .container{
  width:min(100% - 32px, 960px);
  margin-inline:auto;
}
.reviews.full-carousel .testimonials-carousel{
  width:100%;
  display:flex;
  flex-direction:column;
  gap:18px;
  align-items:center;
}
.reviews.full-carousel .testimonials-track{
  gap:18px;
  padding:12px clamp(18px, 6vw, 40px) 32px;
  scroll-padding-inline:clamp(18px, 6vw, 40px);
}
.reviews.full-carousel .review-card{
  flex:0 0 min(100%, 760px);
  max-width:min(760px, calc(100vw - 48px));
  display:grid;
  grid-template-columns:minmax(220px, 320px) 1fr;
  gap:clamp(18px, 4vw, 32px);
  border-radius:28px;
  padding: 10px;
  align-items:stretch;
  
}
.reviews.full-carousel .review-card__media{
  display:flex;
  position:relative;
  border-radius:24px;
  overflow:hidden;
  min-height:220px;
  margin: 4px;
}
.reviews.full-carousel .review-card__media video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.reviews.full-carousel .review-card__media-controls{
  position:absolute;
  top:14px;
  left:14px;
  display:flex;
  gap:8px;
}
.reviews.full-carousel .review-media-btn{
  border:none;
  background:rgba(0,0,0,.6);
  color:#fff;
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:background .2s ease, transform .2s ease;
}
.reviews.full-carousel .review-media-btn:hover{
  background:rgba(0,0,0,.75);
  transform:translateY(-1px);
}
.reviews.full-carousel .review-card__body{
  padding: 10px 0px;
  gap:10px;
}
.reviews.full-carousel .review-card__head{
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.reviews.full-carousel .review-card__author{ font-size:17px; }
.reviews.full-carousel .review-card__verified{ font-size:13px; }
.reviews.full-carousel .review-card__stars{
  font-size:16px;
  letter-spacing:3px;
  color:#ffb300;
}
.reviews.full-carousel .review-card__text{
  font-size:15px;
  color:#2b2b2b;
}
.reviews.full-carousel .carousel-btn{
  background:#fff;
  border:1px solid rgba(31,41,55,.2);
  color:#111827;
  box-shadow:0 10px 30px rgba(15,23,42,.12);
}
.reviews.full-carousel .carousel-btn:hover:not(:disabled){
  background:#fffbf5;
}

.reviews-grid-section{
  background:linear-gradient(180deg, #f8f6ef 0%, #f4f8ec 100%);
}
.reviews-grid-shell{
  width:min(100% - 32px, 1200px);
  margin-inline:auto;
  display:flex;
  flex-direction:column;
  gap:clamp(24px, 5vw, 48px);
}
.reviews-grid-header{
  text-align:left;
  display:flex;
  flex-direction:column;
  gap:12px;
  max-width:720px;
}
.reviews-grid-kicker{
  font-size:13px;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:#62704b;
  font-weight:600;
}
.reviews-grid-header h2{
  margin:0;
  font-size:clamp(28px, 4vw, 44px);
  font-weight:800;
}
.reviews-grid-header p{
  margin:0;
  color:#4c4c4c;
  line-height:1.6;
}
.reviews-grid-list{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:clamp(16px, 3vw, 28px);
}


.review-card.is-offset{ transform:translateY(32px); }


.testimonials .carousel-btn{
  grid-row:2;
  border:1px solid rgba(80,57,87,.4);
  background:#fff;
  color:#503957;
  width:48px;
  height:48px;
}
.testimonials .carousel-btn.prev{
  grid-column:2;
}
.testimonials .carousel-btn.next{
  grid-column:3;
}
.testimonials .carousel-btn:hover:not(:disabled){
  background:#f9f2ff;
}
.testimonials .carousel-btn:disabled{
  opacity:.35;
}

/* ============ FAQ ============ */
.faq{
  padding: 40px 0px 0px 0px;
}

.faq-card{
  position:relative;
  background:#fcf8f2;
  border-radius:48px;
  padding:clamp(28px, 5vw, 50px);
  margin-bottom: 40px;
  display:flex;
  flex-direction: row;
  gap:clamp(32px, 6vw, 64px);
}
.faq-badge{
  position:absolute;
  top:clamp(18px, 3vw, 26px);
  right:clamp(18px, 3vw, 26px);
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg, #ff2672, #ff7f5e);
  border-radius:50%;
}
.faq-badge img{
  width:28px;
  height:28px;
}
.faq-intro{
  width: 70%;
  display:flex;
  flex-direction:column;
  gap:clamp(16px, 3vw, 22px);
  
}
.faq-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:700;
  font-size:14px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:#503957;
}
.faq-intro h2{
  margin:0;
  font-size:50px;
  line-height: 60px;
  font-weight:800;
  color:#1f1d1a;
}
.faq-intro p{
  margin:0;
  color:#4e463f;
  font-size: 18px;
  line-height: 24px;
}
.btn-third{
  align-self:flex-start;
  background:#1f1d1a;
  color:#fff;
  border-radius:999px;
  padding:12px 28px;
  font-weight:600;
}
.btn-third:hover{
  filter:brightness(1.05);
}
.faq-list{
  display:flex;
  flex-direction:column;
}
.faq-item{
  border-bottom:1px solid rgba(31,29,26,.14);
  padding-block:clamp(14px, 2.8vw, 18px);
}
.faq-item:first-child{
  border-top:1px solid rgba(31,29,26,.14);
}
.faq-trigger{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  background:transparent;
  border:none;
  font-size:17px;
  font-weight:600;
  color:#1f1d1a;
  cursor:pointer;
  text-align:left;
  padding:0;
}
.faq-arrow{
  position:relative;
  min-width: 28px;
  min-height: 28px;
  border-radius:50%;
  border:1px solid rgba(31,29,26,.24);
  display:grid;
  place-items:center;
  transition:transform .25s ease, border-color .25s ease, background .25s ease;
}


.faq-arrow::after{
  content: "+";
  width: 26px;
  line-height: 26px;
  text-align: center;
  color:#363636;
  transition:inherit;
}
.faq-item.is-open .faq-arrow{
  background:#363636;
  border-color:#363636;
}
.faq-item.is-open .faq-arrow::after {
    content: "-";
}

.faq-item.is-open .faq-arrow::after{
  color:#fff;
}
.faq-content{
  padding-right:40px;
  max-height:0;
  overflow:hidden;
  opacity:0;
  transition:max-height .35s ease, opacity .3s ease;
}
.faq-item.is-open .faq-content{
  margin-top:12px;
  opacity:1;
}
.faq-content p{
  margin:0;
  color:#4e463f;
  line-height:1.7;
  font-size:15px;
}
.faq-perks{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:clamp(20px, 4vw, 32px);
  align-items:stretch;
}
.faq-perk{
  padding:clamp(20px, 3.5vw, 28px);
  display:flex;
  flex-direction:column;
  gap:12px;
  text-align:center;
}
.faq-perk-icon{
  width:54px;
  height:54px;
  margin:0 auto;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
}

.faq-perk-icon img{
  width:54px;
  height:54px;
}
.faq-perk h3{
  margin:0;
  font-size:17px;
  font-weight:700;
  color:#2c2722;
}
.faq-perk p{
  margin:0;
  color:#675f58;
  line-height:1.6;
  font-size:14px;
}
/* ============ Chatbot ============ */
.chatbot .btn{ margin-top:10px; }

/* ============ Footer ============ */
.site-footer{
  padding: 40px 0px 0px 0px;
  color:#2b241f;
}
.footer-shell{
  width:min(100% - 32px, var(--container));
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:clamp(32px, 6vw, 48px);
  padding: 0px;
}

.footer-column {
    width: 100%;
}

.footer-newsletter{
  display:flex;
  flex-direction:column;
  gap:clamp(18px, 3vw, 26px);
  text-align:center;
}
.footer-newsletter h2{
  margin:0;
  font-size:clamp(28px, 4vw, 42px);
  font-weight:800;
  color:#2b241f;
}
.footer-form{
  margin:0 auto;
  width:min(100%, 560px);
}
.footer-input{
  display:flex;
  align-items:center;
  gap:22px;
  border-bottom:1px solid rgba(43,36,31,.45);
  padding-bottom:14px;
}
.footer-input input{
  flex:1;
  border:none;
  background:transparent;
  font-size:16px;
  color:#2b241f;
  padding:0;
}
.footer-input input::placeholder{
  color:rgba(43,36,31,.55);
}
.footer-input input:focus{
  outline:none;
}
.footer-submit{
  border:none;
  background:#2b241f;
  color:#fff;
  font-weight:600;
  font-size:15px;
  padding:10px 26px;
  border-radius:999px;
  cursor:pointer;
  transition:filter .2s ease, transform .2s ease;
}
.footer-submit:hover{
  filter:brightness(1.05);
  transform:translateY(-1px);
}
.footer-links{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
  padding: 0 20px;
  gap:clamp(18px, 4vw, 32px);
  justify-items:center;
  text-align:left;
}

.footer-column h3{
  margin:0 0 12px;
  font-size:15px;
  text-transform:uppercase;
  color:#2b241f;
  letter-spacing:.06em;
}
.footer-column ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}
.footer-column a{
  color:#4d443d;
  text-decoration:none;
  font-size:15px;
}
.footer-column a:hover{
  text-decoration:underline;
}
.footer-bottom{
  background:#2b241f;
  color:#fff;
  border-radius:38px;
  padding: 16px 80px 14px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:clamp(18px, 4vw, 32px);
}
.footer-brand{
  display:flex;
  flex-direction: row;
  padding:0px 22px;
  border-radius:999px;
  font-weight:700;
  text-transform:lowercase;
  letter-spacing:.04em;
}

.footer-social{
  display:flex;
  flex-direction: row;
  margin: 0px;
}

.footer-social li{
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-payments{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}
.footer-payments li{
  min-width:42px;
  height: 32px;
  line-height: 32px;
  border-radius:6px;
  font-size:13px;
  font-weight:600;
  letter-spacing:.03em;
  text-align:center;
  background-color: #fff;
}

.footer .brand {
  line-height: 30px;
}

/* ============ Floating Chat ============ */
.chat-launcher{ position:fixed; bottom:22px; right:22px; z-index:120; }
.chat-bubble{ width:100px; height:100px; border-radius: 36px; border:none; background:linear-gradient(135deg, #ff004a, #ff377f); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 18px 34px rgba(224,0,90,.35); cursor:pointer; transition:transform .2s ease, box-shadow .2s ease; position:relative; }
.chat-bubble.is-pulsing{ animation:chatBubblePulse 1.5s ease-in-out infinite; }
.chat-bubble.is-pulsing:hover{ animation-play-state: paused; }
.chat-bubble:hover{ transform:translateY(-2px); box-shadow:0 24px 40px rgba(224,0,90,.4); }
.chat-bubble svg{ pointer-events:none; }
.chat-bubble::before{
  content:"";
  position:absolute;
  inset:-10px;
  border-radius:40px;
  background:radial-gradient(ellipse at center, rgba(255,0,74,.16), rgba(255,0,74,0));
  opacity:0;
  transition:opacity .2s ease;
  pointer-events:none;
}
.chat-bubble.is-pulsing::before{
  opacity:1;
}
.chat-bubble:hover::before{ opacity:0.4; }
@keyframes chatBubblePulse{
  0%{ transform:translateZ(0) scale(1); box-shadow:0 18px 34px rgba(224,0,90,.35); }
  50%{ transform:translateZ(0) scale(1.06); box-shadow:0 26px 48px rgba(224,0,90,.45); }
  100%{ transform:translateZ(0) scale(1); box-shadow:0 18px 34px rgba(224,0,90,.35); }
}
.chat-popup{ position:fixed; bottom:140px; right:24px; width:min(380px, 90vw); max-height:75vh; display:flex; flex-direction:column; gap:0; background:#fff; border:1px solid #e2e8f0; border-radius:28px; box-shadow:0 32px 60px rgba(8,33,59,.22); z-index:110; transition:width .3s ease, max-height .3s ease; }
.chat-popup[hidden]{ display:none; }
.chat-popup-header{ padding:18px 22px; display:flex; align-items:flex-start; justify-content:space-between; gap:12px; border-bottom:1px solid #eef2f7; background:#f9fafc; border-top-left-radius:28px; border-top-right-radius:28px; }
.chat-popup-header h3{ margin:0; font-size:18px; color:#08213B; }
.chat-popup-header p{ margin:4px 0 0; font-size:14px; color:#546174; line-height: 20px;}
#chatPopupTitle img{ height: 40px; vertical-align: middle;}
#chatPopupTitle span{ line-height: 40px;}
.chat-popup-close{ border:none; background:transparent; font-size:26px; line-height:1; cursor:pointer; color:#6b7280; }
.chat-popup-body{ padding:18px 22px; overflow:auto; display:flex; flex-direction:column; gap:12px; background:#fff; }
.chat-popup-body .message{ padding:12px 14px; border-radius:18px; max-width:90%; line-height:1.5; font-size:15px; }
.chat-popup-body .message.bot{ background:#f3f4ff; color:#08213B; align-self:flex-start; }
.chat-popup-body .message.user{ background:#08213B; color:#fff; align-self:flex-end; }
.chat-popup-body .message.pending{ opacity:.75; font-style:italic; }
.chat-popup-body .message.error{ background:#fee2e2; color:#7f1d1d; }
.chat-popup-body .message.bot p{ margin:0 0 8px; }
.chat-popup-body .message.bot h1,
.chat-popup-body .message.bot h2,
.chat-popup-body .message.bot h3,
.chat-popup-body .message.bot h4,
.chat-popup-body .message.bot h5,
.chat-popup-body .message.bot h6{ margin:4px 0 10px; font-weight:600; }
.chat-popup-body .message.bot ul,
.chat-popup-body .message.bot ol{ margin:0 0 10px 18px; padding:0; display:grid; gap:4px; }
.chat-popup-body .message.bot blockquote{ margin:0 0 10px; padding:8px 12px; border-left:3px solid #c4c9ff; background:rgba(124,92,255,.08); border-radius:12px; }
.chat-popup-body .message.bot form[data-chat-form]{ margin:4px 0 6px; padding:12px; background:#fff; border:1px solid #dbe3f1; border-radius:18px; display:flex; flex-direction:column; gap:10px; box-shadow:inset 0 1px 0 rgba(255,255,255,.4); }
.chat-popup-body .message.bot form[data-chat-form] [data-role="chat-form-selection"]{ font-size:13px; color:#64748b; margin:0; }
.chat-popup-body .message.bot form[data-chat-form] [data-role="chat-form-selection"].has-selection{ color:#4338ca; font-weight:600; }
.chat-popup-body .message.bot form[data-chat-form] legend{ font-weight:600; font-size:15px; margin:0; color:#08213B; }
.chat-popup-body .message.bot form[data-chat-form] label{ display:flex; align-items:center; gap:10px; font-size:14px; color:#334155; background:#f8f9fe; padding:8px 10px; border-radius:12px; border:1px solid transparent; transition:background .2s ease, border-color .2s ease; }
.chat-popup-body .message.bot form[data-chat-form] label.is-selected{ border-color:#7c5cff; background:#e9e6ff; }
.chat-popup-body .message.bot form[data-chat-form] label:hover{ border-color:#cbd5f5; background:#eef1ff; }
.chat-popup-body .message.bot form[data-chat-form] input[type="checkbox"],
.chat-popup-body .message.bot form[data-chat-form] input[type="radio"]{ width:18px; height:18px; accent-color:#7c5cff; }
.chat-popup-body .message.bot form[data-chat-form] button{ align-self:flex-end; border:none; border-radius:999px; background:linear-gradient(135deg, #7c5cff, #b794ff); color:#fff; padding:8px 16px; font-size:14px; cursor:pointer; transition:opacity .2s ease; }
.chat-popup-body .message.bot form[data-chat-form] button:disabled{ opacity:.55; cursor:not-allowed; }
.chat-popup-body .message.bot form[data-chat-form].chat-form-error{ animation:chat-form-wiggle .3s ease; }
.chat-popup-body .message.bot form[data-chat-form].chat-form-submitted{ opacity:.65; }
.chat-popup-footer{ padding:16px 22px 18px; display:flex; flex-direction: column; gap:10px; border-top:1px solid #eef2f7; background:#fff; border-bottom-left-radius:28px; border-bottom-right-radius:28px; }
.chat-popup-footer .chat-controls{ display:flex; align-items:flex-end; gap:10px; }
.chat-popup-footer .chat-mic{ border:none; background:#eef2ff; color:#4c1d95; padding:10px; border-radius:14px; cursor:pointer; transition:background .2s ease, color .2s ease; display:flex; align-items:center; justify-content:center; }
.chat-popup-footer .chat-mic:hover{ background:#e0e7ff; color:#312e81; }
.chat-popup-footer .chat-mic.is-recording{ background:#fee2e2; color:#991b1b; }
.chat-popup-footer textarea{ flex:1; resize:none; min-height:80px; max-height:240px; border-radius:16px; border:1px solid #d1d5db; padding:12px 14px; font-family:inherit; font-size:15px; line-height:1.5; overflow-y:auto; transition:height .2s ease; }
.chat-popup-footer textarea.is-overflowing{ box-shadow:inset 0 -18px 18px -18px rgba(8,33,59,.18); }
.chat-popup-footer textarea::-webkit-scrollbar{ width:6px; }
.chat-popup-footer textarea::-webkit-scrollbar-thumb{ background:#d1d5db; border-radius:999px; }
.chat-popup-footer textarea::-webkit-scrollbar-thumb:hover{ background:#9ca3af; }
.chat-popup-footer textarea:focus{ outline:2px solid rgba(124,92,255,.4); }
.chat-popup-footer .btn{ align-self:flex-end; padding:10px 18px; }

@keyframes chat-form-wiggle{
  0%,100%{ transform:translateX(0); }
  25%{ transform:translateX(-4px); }
  50%{ transform:translateX(4px); }
  75%{ transform:translateX(-3px); }
}

/* ============ Checkout ============ */
.checkout-page{ background:linear-gradient(135deg, #f4f9e8 0%, #f9f0ec 100%); min-height:100vh; }
.checkout-hero{ background:transparent; padding: 200px 0px 0px 0px; }
.checkout-hero .hero-inner{ padding:0; }
.checkout-hero .hero-content{   gap:18px; text-align:left; max-width:720px; }
.checkout-hero .hero-eyebrow{ font-size:14px; letter-spacing:.28em; text-transform:uppercase; color:#6b705c; margin:0; font-weight:600; }
.checkout-hero .hero-content h1{ font-size:clamp(34px, 5vw, 56px); color:#171511; margin:0; }
.checkout-hero .lead{ font-size:clamp(16px, 2vw, 20px); margin:0; color:#4f4a43; }
.checkout-inner{ display:flex; flex-direction:column; gap:clamp(32px, 5vw, 60px); }
.checkout-heading{ margin:0 0 18px; font-size:clamp(22px, 3vw, 30px); color:#08213B; margin-bottom: 40px;}
.cart-card{ position:relative; border-radius:40px; padding:32px clamp(22px, 5vw, 48px); display:flex; flex-direction:column; gap:22px; background:#fff; border:1px solid rgba(0,0,0,.04); }
.cart-item{ display:flex; align-items:center; gap:clamp(18px, 4vw, 28px); padding:6px 0; flex-wrap:wrap; }
.cart-item-icon{ width:72px; height:72px; border-radius:24px; display:grid; place-items:center; background:linear-gradient(135deg, #ff004a, #ff377f); flex-shrink:0; }
.cart-item-icon svg{ width:42px; height:42px; }
.cart-item-body{ flex:1; display:flex; flex-direction:column; gap:8px; }
.cart-item .item-title{ display:block; font-weight:700; font-size:clamp(18px, 2.4vw, 22px); color:#111827; }
.cart-item .item-subtitle{ margin:0; color:#374151; font-size:15px; line-height:1.45; }
.cart-item .item-meta{ margin:0; font-size:14px; }
.cart-item .item-quantity{ margin:0; font-size:14px; color:#6b7280; font-weight:500; }
.song-details-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:clamp(18px, 3vw, 32px);
}
.song-details-grid article{
  border-radius:24px;
  padding:22px 24px;
}
.song-details-grid h3{ margin:0 0 10px; font-size:17px; color:#171511; }
.song-details-grid p{ margin:0; color:#4c4843; line-height:1.6; font-size:15px; }
.cart-item-actions{ display:flex; flex-direction:column; align-items:flex-end; gap:14px; min-width:200px; }
.cart-item-price .item-price,
.cart-item-actions .item-price{ font-weight:700; font-size:clamp(18px, 2.4vw, 22px); color:#08213B; white-space:nowrap; }
.lyrics-btn{ border:1px solid #111827; color:#111827; padding:10px 22px; border-radius:999px; font-weight:600; background:transparent; transition:background .2s ease, color .2s ease; }
.lyrics-btn:hover{ background:#111827; color:#fff; }
.goodies-form{ display:block; }
.goodies-form fieldset{ border:0; margin:0; padding:0; }
.goodies-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:clamp(16px, 3vw, 24px); }
.goodies-grid .goodie-card{
  min-width:0;
  width:100%;
  flex:none;
}
.select-carousel .goodies-track{ width:100%; }
.select-carousel .merch-card{ min-width: clamp(300px, 48vw, 420px); }
.goodie-option{ position:relative; cursor:pointer; border:2px solid transparent; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.goodie-option input{ position:absolute; inset:0; opacity:0; pointer-events:none; }
.goodie-option .goodie-content{ display:flex; flex-direction:column; gap:18px; height:100%; }
.goodie-option .select-label{ font-weight:600; color:#7c5cff; font-size:14px; }
.goodie-option .merch-footer{ justify-content:space-between; }
.goodie-option:focus-within{ border-color:#c9ccff; box-shadow:0 0 0 3px rgba(124,92,255,.18); }
.goodie-option.is-selected{ border-color:#ff4d8d; box-shadow:0 24px 48px rgba(224,0,90,.18); transform:translateY(-4px); }
.goodie-option.is-selected .select-label{ color:#fff; background:linear-gradient(135deg, #7c5cff, #b794ff); padding:6px 14px; border-radius:999px; }
.goodie-option.is-selected .price{ color:#ff4d8d; }
.goodie-badge{ position:absolute; top:0; right:0; width:44px; height:44px; border-bottom-left-radius:20px; border-top-right-radius:34px; background:linear-gradient(135deg, #ff004a, #ff377f); display:grid; place-items:center; color:#fff; transform:translate(12px, -12px); opacity:0; pointer-events:none; transition:opacity .2s ease, transform .2s ease; box-shadow:0 16px 28px rgba(224,0,90,.25); }
.goodie-option.is-selected .goodie-badge{ opacity:1; transform:translate(0,0); }
.checkout-summary-card{ display:flex; flex-direction:column; gap:24px; border-radius:42px; padding:32px clamp(24px, 5vw, 48px); background:#fff; }
.checkout-summary-card h2{ margin:0; font-size:clamp(24px, 3.4vw, 32px); color:#171511; }
.summary-items{ display:flex; flex-direction:column; gap:18px; }
.summary-item{ display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px; border-radius:28px; background:rgba(246,247,243,.85); }
.summary-item-title{ margin:0; font-weight:600; font-size:16px; color:#111; }
.summary-item-desc{ margin:6px 0 0; font-size:14px; color:#4b4b4b; }
.summary-item-price{ font-size:16px; font-weight:700; color:#111; white-space:nowrap; }
.price-stack{ display:flex; flex-direction:column; align-items:flex-end; gap:4px; }
.summary-price-old{ font-size:15px; color:#ff4d8d; text-decoration:line-through; }
.summary-price-current{ color:#000; font-size:20px; }
.summary-footer{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; }
.summary-total{ display:flex; flex-direction:column; gap:4px; font-size:15px; color:#4b4b4b; }
.summary-total strong{ font-size:clamp(26px, 3.4vw, 34px); color:#111; }
.summary-actions{  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.summary-cta{ min-width:200px; }
.summary-notice{ width:100%; border-radius:20px; padding:14px 18px; font-size:14px; line-height:1.4; background:#fdecec; color:#8c1d18; font-weight:600; display:none; border:1px solid rgba(231,76,60,.3); }
.summary-notice__list{ margin:8px 0 0; padding-left:18px; font-weight:500; }
.summary-notice__list li{ margin:2px 0; }
.summary-notice.is-visible{ display:block; }
.summary-cta-alt{ border:1px solid #111827; color:#111827; border-radius:999px; padding:12px 24px; font-weight:600; background:#fff; transition:background .2s ease, color .2s ease; }
.summary-cta-alt:hover{ background:#111827; color:#fff; }
.checkout-supports{ position:relative; overflow:hidden; }
.support-toggle{     font-size: 18px; align-self:center; display:flex; align-items:center; gap:8px; border:none; background:#fff; border-radius:999px; padding:10px 18px; font-weight:600; color:#1f1d1a; cursor:pointer; box-shadow:0 8px 22px rgba(17,24,39,.12); transition:transform .2s ease, box-shadow .2s ease; margin: 20px 0px;}
.support-toggle__icon{ font-size: 12px;  display:inline-block; transition:transform .2s ease;}
.supports-panel{ max-height:0; opacity:0; overflow:hidden; transition:max-height .35s ease, opacity .35s ease, margin-top .35s ease; }
.supports-panel.is-open{ opacity:1; margin-top:16px; }
.support-toggle[aria-expanded="true"] .support-toggle__icon{ transform:rotate(180deg); }
.goodies-header{ align-items:stretch; gap:clamp(18px, 4vw, 28px); }
.goodies-filter-bar{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding: 20px 0px;}
.goodies-filter-pills{ display:flex; flex-wrap:wrap; gap:12px; }
.goodies-filter-pill{
  border:none;
  background:#fff;
  color:#4b4b4b;
  font-weight:600;
  padding:10px 22px;
  border-radius:999px;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:6px;
  transition:background .2s ease, color .2s ease, box-shadow .2s ease;
}
.goodies-filter-pill .pill-arrow{ font-size:.8em; opacity:.55; }
.goodies-filter-pill.is-active{
  background:#111827;
  color:#fff;
}
.goodies-filter-pill.is-active .pill-arrow{ opacity:.9; }
.goodies-filter-bar .carousel-btn-group{ margin-left:auto; }

article.goodie-card.selected {
  border: 3px solid #ff399c;
}

article.goodie-card.selected::after {
  content: '✔';
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 50px;
  background:linear-gradient(135deg, #ff004a, #ff377f);
  border-bottom-left-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: bold;
  font-size: 18px;
}

.hide{
  display: none;
}



.reassurance{ text-align: center; padding-top:0; }
.reassurance-highlight{ display:flex; flex-direction:column; gap:16px; border-radius:28px; padding:32px clamp(22px, 5vw, 40px); }
.reassurance-highlight h2{ margin:0; color:#08213B; }
.reassurance-highlight p{ margin:0; color:#374151; }
.footer-inner{ display:flex; flex-direction:column; gap:12px; align-items:center; text-align:center; padding:24px 0; }
.footer-nav{ display:flex; gap:16px; flex-wrap:wrap; justify-content:center; }
.footer-nav a{ color:#e5e7eb; text-decoration:none; font-size:14px; }
.footer-nav a:hover{ text-decoration:underline; }


/* ————— Base & thème ————— */
:root{
  --paper: #F6F3EA;       /* fond doux */
  --radius: 28px;         /* coins arrondis des cartes */
  --gap: clamp(12px, 2vw, 24px);
  --card-w: clamp(220px, 28vw, 360px);
  --card-ar: 4/5;         /* ratio d’affichage des images */
  --shadow: 0 12px 30px rgba(25,25,25,.14);
}

.collage{
  background: var(--paper);
  /* léger arrondi pour coller à ta maquette */
  border-radius: 24px;
  padding: clamp(20px, 4vw, 40px) 0;
  overflow: hidden;
  position: relative;
}

/* Bande qui contient les cartes */
.collage__track{
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: var(--card-w);
  align-items: center;
  gap: var(--gap);
  padding: 0 clamp(12px, 4vw, 48px);
  /* scroll horizontal fluide sur mobile (slider naturel) */
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

/* Cartes */
.collage__card{
  position: relative;
  scroll-snap-align: center;
  width: var(--card-w);
  aspect-ratio: var(--card-ar);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
  background: #e9e9e9;
  transform-origin: center;
  /* Motion réduite pour accessibilité */
  transition: transform .25s ease, box-shadow .25s ease;
}

.collage__card video{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* Effet d’inclinaison et de chevauchement (desktop/tablette) */
@media (min-width: 720px){
  .collage__track{
    /* on bloque le défilement horizontal et on compose visuellement */
    grid-auto-flow: initial;
    grid-template-columns: repeat(8, var(--card-w));
    justify-content: center;
    overflow: visible;
  }

  .collage__card:nth-child(2n){
    transform: rotate(6deg) translateY(-6px);
    margin-left: calc(-1 * var(--card-w) * .40);   /* chevauchement */
    z-index: 2;
  }
  .collage__card:nth-child(2n+1){
    transform: rotate(-4deg) translateY(18px);
    margin-left: calc(-1 * var(--card-w) * .40);
    z-index: 1;
  }

  /* petit lift au survol (optionnel) */
  .collage__card:hover{
    transform: translateY(-4px) scale(1.02) rotate(var(--hover-rot, 0deg));
    box-shadow: 0 18px 40px rgba(25,25,25,.18);
  }
  /* garder l’angle d’origine au hover */
  .collage__card:nth-child(1){ --hover-rot: -12deg; }
  .collage__card:nth-child(2){ --hover-rot: 6deg; }
  .collage__card:nth-child(3){ --hover-rot: -4deg; }
}

/* Micro-détails visuels : légers coins écrasés façon “cartes” posées */
.collage__card::after{
  content:"";
  position:absolute; inset:0;
  border-radius: var(--radius);
  box-shadow:
    inset 0 0 0 1px rgba(0,0,0,.05),
    inset 0 -30px 60px rgba(0,0,0,.06);
  pointer-events:none;
}

/* Accessibilité mouvement réduit */
@media (prefers-reduced-motion: reduce){
  .collage__card,
  .collage__card:hover{ transition: none; transform: none; }
  .collage__track{ scroll-behavior: auto; }
}








/* ============ Responsive Breakpoints ============ */
@media screen and (min-width: 1350px){
  .hero-trust-label{ writing-mode:vertical-rl; text-orientation:mixed; }
  .hero-inner{ gap:clamp(64px, 8vw, 180px); }
  .value-stats{ grid-template-columns:repeat(4, minmax(0, 1fr)); gap:40px 60px; }
  .value-stat__label{ max-width:22ch; }
  .steps-grid{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .reactions-grid{ grid-template-columns:repeat(5, minmax(0, 1fr)); }
  .examples-list{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .examples-list .example-card:nth-child(4n+3),
  .examples-list .example-card:nth-child(4n+4){
    --examples-offset:clamp(24px, 5vw, 64px);
  }
  .merch-controls{ flex-wrap:nowrap; }
  .goodies-grid{ grid-template-columns:repeat(3, 1fr); }
  .chat-popup{ width:min(520px, 38vw); max-height:78vh; }
  .chat-popup-body{ padding:22px 28px; gap:16px; }
  .chat-popup-footer{ padding:18px 28px 22px; }
}

@media screen and (min-width: 992px) and (max-width: 1349px){
.hero {
    padding: clamp(90px, 16vw, 170px) 0 clamp(40px, 4vw, 40px)
}
.hero-inner {
    width: min(100% - 128px, var(--container));
}

.hero-video--primary {
  height: 42vw;
  left: 0px;
  top: 0vw;
}

.hero-video--secondary {
  height: 32vw;
  right: -250px;
  top: -100px;
}

  .site-header__inner {
    padding-right: 20px;
}

      .hero-trust {
      position: static;
      transform: none;
      flex-direction: row;
      gap: 10px;
      padding: 10px 18px;
      border-radius: 999px;
      align-self: flex-start;
      width: 240px;
      margin-left: 60px;
      margin-bottom: 30px;
  }
  
  .grid-2{ grid-template-columns:1.2fr 1fr; gap:30px; }
  .grid-3{ grid-template-columns:repeat(3, 1fr); gap:24px; }
  .grid-4{ grid-template-columns:repeat(4, 1fr); gap:24px; }
  .hero-inner{ gap:clamp(56px, 7vw, 140px); }
  .value-stats{ grid-template-columns:repeat(4, minmax(0, 1fr)); gap:36px 48px; }
  .steps-grid{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .reactions{ padding-inline:clamp(32px, 6vw, 48px); }
  .reactions-grid{ grid-template-columns:repeat(4, minmax(0, 1fr)); }
  .examples-list{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .examples-list .example-card:nth-child(4n+3),
  .examples-list .example-card:nth-child(4n+4){
    transform: translate3d(0, 0, 0);
  }
  .merch-header{ flex-direction:row; align-items:flex-start; }
  .merch-controls{ width:100%; justify-content:space-between; gap:18px; }
  .merch-filter{ flex:0 0 auto; }
  .testimonials-shell{ width:100%; }
  .review-card{ flex:0 0 clamp(260px, 30vw, 320px); }
  .faq-card{ grid-template-columns:minmax(260px, 300px) 1fr; }
  .chat-popup{ width:min(480px, 45vw); max-height:78vh; }
  .goodies-grid{ grid-template-columns:repeat(2, 1fr); }


.text-2third-page-large-screen {max-width: 100%;}
}

@media screen and (min-width: 768px) and (max-width: 991px){

  .hero {
    padding: 140px 0px 50px 0px;
}


.hero-inner {
    width: min(100% - 90px, var(--container));
}

 .hero-inner .col {
    
    width: calc( 50% - 32px);
  }

  

  .hero-trust {
      position: static;
      transform: none;
      flex-direction: row;
      gap: 10px;
      padding: 10px 18px;
      border-radius: 999px;
      align-self: flex-start;
      width: 240px;
      margin-left: 50px;
      margin-bottom: 30px;
  }

  .hero-video--primary {
    height: 46vw;
        top: -4vw;
  }


.hero-video--secondary {
  height: 40vw;
    right: -180px;
    top: -14vw;
}


  .howto-hero-card{ border-radius:38px; min-height:420px; }
  .howto-hero-overlay{ max-width:460px; padding:clamp(24px, 8vw, 56px); }

  .site-header{
    position: fixed;
    top: 38px;
    pointer-events:auto;
    background: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(1000px);
    transition: top 0.3s ease; /* 👈 animation smooth */
  }
  .site-header__inner{
    width:100%;
    padding:16px 10px;
    margin:0;
    justify-content:center;
    align-items:stretch;
    gap:16px;
    background:transparent;
    border-radius:0;
    box-shadow:none;
    position:relative;
    display:block;
  }
  .site-logo{ flex-shrink:0; }
  .site-nav{ margin:0; display:block; position:static; }
  .site-nav__toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    position:absolute;
    top:32px;
    right:24px;
    width:44px;
    height:44px;
    border-radius:10px;
    border:1px solid rgba(15,23,42,.16);
    background:#ffffff;
    pointer-events:auto;
    cursor:pointer;
    box-shadow:none;
    transition:background-color .2s ease, border-color .2s ease;
  }
  .site-nav__toggle:hover{ transform:none; background:rgba(15,23,42,.05); }
  .site-nav__list{
    position:static;
    display:none;
    gap:0;
    padding:0;
    margin:12px -24px 0;
    width:calc(100% + 48px);
    background: linear-gradient(180deg, rgba(248, 239, 234, 1) 0%, rgba(247, 240, 234, 1) 100%);
    border-radius:0;
    box-shadow:0 18px 40px rgba(13,23,42,.12);
    border-top:1px solid rgba(15,23,42,.08);
    border-bottom:1px solid rgba(15,23,42,.08);
    border-left:none;
    border-right:none;
    overflow:hidden;
  }
  .site-nav__list li{
    background: linear-gradient(180deg, rgba(248, 239, 234, 1) 0%, rgba(247, 240, 234, 1) 100%);
    border-top:1px solid rgba(15,23,42,.08);
    border-radius:0;
    box-shadow:none;
  }
  .site-nav__list li:first-child{ border-top:none; }
  .site-nav__list a{ padding:14px 24px; display:block; }
  .site-nav--open .site-nav__list{ display:block; }
  .site-nav--open .site-nav__toggle span{ background:transparent; }
  .site-nav--open .site-nav__toggle::before{ transform:translateY(7px) rotate(45deg); }
  .site-nav--open .site-nav__toggle::after{ transform:translateY(-7px) rotate(-45deg); }
  .value-stats{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px; }
  .steps-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:clamp(24px, 4vw, 32px); }
  .reactions{ padding-inline:clamp(24px, 6vw, 40px); }
  .reactions-grid{ grid-template-columns:repeat(3, minmax(0, 1fr)); gap:clamp(20px, 5vw, 32px); }
  .reaction-column--offset-small,
  .reaction-column--offset-medium,
  .reaction-column--offset-large{ margin-top:clamp(12px, 4vw, 32px); }
  .examples-shell{ width:min(100% - 32px, 100%); }
  .examples-list{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:clamp(18px, 4vw, 28px); }
  .examples-list .example-card:nth-child(4n+3),
  .examples-list .example-card:nth-child(4n+4){
    transform: translate3d(0, 0, 0);
  }
  .merch-shell{ width:min(100% - 32px, 100%); }
  .merch-header{ flex-direction:column; align-items:flex-start; gap:24px; }
  .merch-controls{
    width:100%;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:16px;
  }
  .merch-filter{ flex:1 1 220px; padding:6px 18px; }
  .merch-filter select{ width:100%; padding-right:48px; }
  .carousel-btn-group{ order:2; }
  
  .goodies-grid{ grid-template-columns:repeat(2, 1fr); }
  
  .testimonials-shell{ width:min(100% - 32px, 100%); }
  .review-card{ flex:0 0 clamp(260px, 42vw, 320px); }
  .faq-card{
    grid-template-columns:1fr;
    padding:clamp(26px, 6vw, 40px);
  }
  .faq-intro{ text-align:center; align-items:center; }
  .faq-cta{ align-self:center; }
  .faq-badge{ position:static; justify-self:center; margin-top:-26px; }
  .footer-shell{ width:min(100% - 32px, 100%); }
  .footer-input{ flex-direction:row; gap:14px; align-items:flex-start; }
  .footer-bottom{ flex-direction:column; align-items:flex-start; }
  .footer-payments{ flex-wrap:wrap; }
  .chat-popup{ right:20px; left:20px; width:auto; bottom:90px; }
  .chat-launcher{ bottom:18px; right:18px; }
  .goodies-track{ padding:4px 24px 18px; }


.faq-card{ display:flex; flex-direction: column;}
.text-half-page-large-screen {max-width: 100%;}

}

@media screen and (min-width: 576px) and (max-width: 767px){
    .hero {
    padding: clamp(40px, 9vw, 40px) 0 clamp(44px, 5vw, 138px)
    
}


.hero-inner {
    width: min(100% - 90px, var(--container));
}

  .hero-inner .col {
    
    min-width: calc( 100% - 32px);
  }


  .howto-hero-card{ border-radius:30px; min-height:360px; }
  .howto-hero-overlay{ max-width:none; padding:clamp(24px, 12vw, 48px); background:linear-gradient(100deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.5) 65%, rgba(0,0,0,.15) 100%); }

  .site-header{
    position:static;
    pointer-events:auto;
  }
  .site-header__inner{
    width:100%;
    padding:16px 20px 22px;
    margin:0;
    justify-content:center;
    align-items:stretch;
    gap:16px;
    background:transparent;
    border-radius:0;
    box-shadow:none;
    position:relative;
    display:block;
  }
  .site-logo{ flex-shrink:0; }
  .site-nav{ margin:0; display:block; position:static; }
  .site-nav__toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    position:absolute;
    top:22px;
    right:20px;
    width:44px;
    height:44px;
    border-radius:10px;
    border:1px solid rgba(15,23,42,.16);
    background:#ffffff;
    pointer-events:auto;
    cursor:pointer;
    box-shadow:none;
    transition:background-color .2s ease, border-color .2s ease;
  }
  .site-nav__toggle:hover{ transform:none; background:rgba(15,23,42,.05); }
  .site-nav__list{
    position:static;
    display:none;
    gap:0;
    padding:0;
    margin:12px -20px 0;
    width:calc(100% + 40px);
    background: linear-gradient(180deg, rgba(248, 239, 234, 1) 0%, rgba(247, 240, 234, 1) 100%);
    border-radius:0;
    box-shadow:0 18px 40px rgba(13,23,42,.12);
    border-top:1px solid rgba(15,23,42,.08);
    border-bottom:1px solid rgba(15,23,42,.08);
    border-left:none;
    border-right:none;
    overflow:hidden;
  }
  .site-nav__list li{
    background: linear-gradient(180deg, rgba(248, 239, 234, 1) 0%, rgba(247, 240, 234, 1) 100%);
    border-top:1px solid rgba(15,23,42,.08);
    border-radius:0;
    box-shadow:none;
  }
  .site-nav__list li:first-child{ border-top:none; }
  .site-nav__list a{ padding:14px 20px; display:block; }
  .site-nav--open .site-nav__list{ display:block; }
  .site-nav--open .site-nav__toggle span{ background:transparent; }
  .site-nav--open .site-nav__toggle::before{ transform:translateY(7px) rotate(45deg); }
  .site-nav--open .site-nav__toggle::after{ transform:translateY(-7px) rotate(-45deg); }

  .hero-content{width:100%; text-align: center;}
  .hero-visual{ width:100%; min-height:280px; margin-top:12px; }
  .hero-video{
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    margin-inline:auto;
  }

  .hero-video--primary{ 
    position: relative;
    height: 60vw;
    aspect-ratio: 3 / 4;
    top: 80px;
    left: -65px;
    transform: rotate(-2deg);
  }

  .hero-video--secondary{ 
    bottom: 50px;
    right: -115px;
    height: 50vw;
    transform: rotate(4deg);
  }
  .hero-video-glow{ inset:auto 18% -14% 18%; }
  .hero-trust{
    position:static;
    transform:none;
    flex-direction:row;
    gap:10px;
    padding:10px 18px;
    border-radius:999px;
    align-self:flex-start;
    width: 240px;
    margin: 30px auto;
  }
  .hero-trust-label{ writing-mode:horizontal-tb; letter-spacing:.08em; }
  .btn.hero-cta{ width:100%; justify-content:center; }
  .value-inner{ align-items:center; text-align:left; }
  .value-stats{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px; }
  .value-stat{ align-items:center; }
  .value-stat__label{ max-width:none; }
  .steps-grid{ grid-template-columns:1fr; }
  .step-card{ min-height:440px; }
  .reactions{ padding-inline:clamp(18px, 7vw, 32px); }
  .reactions-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:clamp(18px, 6vw, 28px); }
  .reaction-column{ gap:18px; }
  .reaction-column--offset-small,
  .reaction-column--offset-medium,
  .reaction-column--offset-large{ margin-top:0; }
  .examples-shell{ width:min(100% - 32px, 100%); }
  .examples-list{ grid-template-columns:1fr; }
  .example-card{ flex-direction:row; align-items:flex-start; gap:clamp(14px, 5vw, 20px); }
  .merch-shell{ width:min(100% - 32px, 100%); }
  .merch-header{ flex-direction:column; align-items:flex-start; gap:24px; }
  .merch-controls{
    flex-wrap:wrap;
    gap:16px;
    width:100%;
  }
  .merch-filter{ flex:1 1 100%; padding:6px 18px; }
  .merch-filter select{ width:100%; padding-right:48px; }
  .carousel-btn-group{ width:100%; justify-content:flex-end; }
  .goodies-grid{ grid-template-columns:repeat(1, 1fr); }
  .goodie-card{ flex:0 0 82%; }
  .testimonials-shell{ width:min(100% - 32px, 100%); }
  .review-card{ flex:0 0 clamp(260px, 60vw, 320px); }
  .testimonials-carousel{ gap:14px; }
  .testimonials-track{ padding-bottom:8px; }
  .faq-card{ grid-template-columns:1fr; padding:clamp(28px, 8vw, 42px); }
  .faq-intro{ text-align:center; align-items:center; }
  .faq-cta{ align-self:center; }
  .faq-badge{ position:static; justify-self:center; margin-top:-26px; }
  .faq-content{ padding-right:0; }
  .footer-shell{ width:min(100% - 32px, 100%); }
  .footer-input{ flex-direction:row; gap:14px; align-items:flex-start; }
  .footer-bottom{ flex-direction:column; align-items:flex-start; }
  .footer-payments{ flex-wrap:wrap; }
  .chat-popup{ right:16px; left:16px; width:auto; bottom:90px; }
  .chat-launcher{ bottom:18px; right:18px; }
  .cart-item{ flex-direction:column; align-items:flex-start; }
  .cart-item-actions{ align-items:flex-start; width:100%; }
  .cart-item-icon{ width:64px; height:64px; border-radius:20px; }
  .summary-footer{ flex-direction:column; align-items:flex-start; }
  .summary-actions{ width:100%; justify-content:flex-start; }
  .summary-cta{ width:100%; }
  .goodies-carousel{ display:flex; flex-direction:column; align-items:center; gap:12px; padding:0; overflow:hidden; width:100%; }
  .goodies-track{ width:100%; display:flex; gap:16px; padding:0 24px; margin:0; scroll-padding:0 24px; scroll-snap-type:x mandatory; overflow-x:auto; }
  .goodies-track > *{ scroll-snap-align:start; }
  .goodies-carousel .carousel-btn-group{ display:flex; gap:12px; }
  .goodies-carousel .carousel-btn{ position:static; transform:none; width:42px; height:42px; font-size:20px; }
  .merch-card,
  .select-carousel .merch-card{
    flex:0 0 calc(100% - 48px);
    width:calc(100% - 48px);
    max-width:340px;
    min-width:calc(100% - 48px);
    margin:0;
  }



.faq-card{display:flex; flex-direction: column;}
.text-half-page-large-screen {max-width: 100%;}
.text-2third-page-large-screen {max-width: 100%;}
}

@media screen and (max-width: 575px){
  .site-logo img {
    display: block;
    height: 50px;
}

  .container {
    width: min(100% - 54px, var(--container));
  }


  .btn.hero-cta {
    width: 100%;
    padding: 12px 22px;
    font-size: 16px;
  }

  .btn.chat.hero-cta {
    align-self: flex-start;
    padding: 12px 22px;
    font-size: 14px;
    border: none;
    border-radius: 999px;
    margin: 20px 0px;
    color: #fff;
    background: linear-gradient(135deg, #ff004a, #ff377f);
    transition: transform .2s ease, box-shadow .2s ease;
    display: inline-flex;
    align-items: center;
    gap: 12px;
  }

  .hero-visual{
    min-height: 400px;
  }

    .hero-visual figure{
            margin: 0px;
    }
  .hero-video--primary{ 
        position: absolute;
        height: 78vw;
        aspect-ratio: 3 / 4;
        top: 20px;
        left: 0px;
        transform: rotate(-6deg);
  }

  .hero-video--secondary{         
    position: absolute;
    z-index: 2;
        height: 60vw;
        aspect-ratio: 3 / 4;
        top: 110px;
        right: 0px;
  transform: rotate(10deg);
  }

  p.big-text {
    font-size: 24px;
    font-weight: 600;
    line-height: 36px;
    letter-spacing: 0.3px;
    color: #363636;
}

  .howto-hero-card{ border-radius:24px; min-height:320px; }
  .howto-hero-overlay{ padding:clamp(20px, 14vw, 40px); }

  .site-header{
    position:static;
    pointer-events:auto;
    background:#ffffff;
    border-bottom:1px solid rgba(15,23,42,.08);
  }
  .site-header__inner{
    width:100%;
    padding:14px 18px 20px;
    margin:0;
    justify-content:center;
    align-items:stretch;
    gap:14px;
    background:transparent;
    border-radius:0;
    box-shadow:none;
    position:relative;
    display:block;
  }
  .hero-simple {
    padding: 20px 0 0px 0px;
  }

  .hero-inner{
      padding: 0px 24px;
  }
  .hero-inner .col {
    display: inline-block;    /* prend toute la largeur */
    width: 100%;
  }
  .howto-hero-card{
    width: 100%;
    border-radius: 0px;
  }

  section header h2 {
    font-size: 38px;
    line-height: 48px;
  }

  section header p{
    font-size: 16px;
    line-height: 26px;
  }

  .site-logo{ flex-shrink:0; }
  .site-nav{ margin:0; display:block; position:static; }
  .site-nav__toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    position:absolute;
    top:20px;
    right:18px;
    width:44px;
    height:44px;
    border-radius:10px;
    border:1px solid rgba(15,23,42,.16);
    background:#ffffff;
    pointer-events:auto;
    cursor:pointer;
    box-shadow:none;
    transition:background-color .2s ease, border-color .2s ease;
  }
  .site-nav__toggle:hover{ transform:none; background:rgba(15,23,42,.05); }
  .site-nav__list{
    position:static;
    display:none;
    gap:0;
    padding:0;
    margin:12px -18px 0;
    width:calc(100% + 36px);
    background:#ffffff;
    border-radius:0;
    box-shadow:0 18px 40px rgba(13,23,42,.12);
    border-top:1px solid rgba(15,23,42,.08);
    border-bottom:1px solid rgba(15,23,42,.08);
    border-left:none;
    border-right:none;
    overflow:hidden;
  }
  .site-nav__list li{
    background:#fff;
    border-top:1px solid rgba(15,23,42,.08);
    border-radius:0;
    box-shadow:none;
  }

  .merch-header {
      flex-direction: column;
      align-items: flex-start;
      gap: 24px;
      margin-bottom: 30px;
  }


    .footer-shell{
      padding: 0px 20px;
    }

    .footer-links{
      grid-template-columns: repeat(2, minmax(160px, 1fr));
      padding: 0px;
    }
  .site-nav__list li:first-child{ border-top:none; }
  .site-nav__list a{ padding:14px 18px; display:block; }
  .site-nav--open .site-nav__list{ display:block; }
  .site-nav--open .site-nav__toggle span{ background:transparent; }
  .site-nav--open .site-nav__toggle::before{ transform:translateY(7px) rotate(45deg); }
  .site-nav--open .site-nav__toggle::after{ transform:translateY(-7px) rotate(-45deg); }
  .hero{ padding: 20px 0 0px 0px;display: flex; flex-direction: column-reverse;}
  .hero-inner{ display: flex; flex-direction: column-reverse;}
  .hero-content{ align-items:center; text-align:center; }
  .hero h1{ text-wrap: balance; font-size: 44px; line-height: 54px;}
  .hero-title-line{ display:inline; }
  .hero .lead{ max-width:none; }
  .hero-trust{ position: static; transform: none; flex-direction: row; gap: 10px; padding: 10px 18px; border-radius: 999px; align-self: flex-start; width: 240px; margin: 0px auto 30px auto; }
  .hero-partners{ justify-content:center; flex-wrap:wrap; gap:8px; }
  .value-inner{ align-items:center; }
  .value-stats{ grid-template-columns:1fr; gap:20px; }
  .value-stat{ align-items:center; text-align:center; }
  .value-stat__label{ max-width:none; }
  .steps-shell{ border-radius:32px; padding:clamp(54px, 16vw, 88px) clamp(18px, 8vw, 32px) clamp(44px, 12vw, 70px); }
  .step-card{ min-height:420px; border-radius:28px; }
  .step-content{ inset-inline:clamp(16px, 8vw, 24px); }
  .reactions-grid{ grid-template-columns:1fr; gap:clamp(16px, 6vw, 24px); }
  .reaction-card{ border-radius:22px; }
  .reaction-overlay{ padding:14px 16px; }
  .examples-shell{ width:min(100% - 24px, 100%); padding: 0px 32px; }
  .examples-list{ grid-template-columns:1fr; }
  .example-card{ flex-direction:row; align-items:flex-start; gap:14px; }
  .merch-controls{ flex-direction:column; align-items:stretch; gap:16px; }
  
  .goodies-grid{ grid-template-columns:repeat(1, 1fr); }
  .carousel-btn-group{ justify-content:flex-start; }
  .testimonials-carousel{ gap:14px; }
  .testimonials-track{ padding-bottom:8px; }
  .faq-card{ grid-template-columns:1fr; padding:clamp(26px, 10vw, 40px); }
  .faq-content{ padding-right:0; }
  .footer-shell{ width:min(100% - 28px, 100%); }
  .footer-input{ flex-direction:row; gap:12px; align-items:flex-start; }
  .footer-bottom{ flex-direction:column; align-items:flex-start; gap:18px; }
  .footer-payments{ flex-wrap:wrap; }
  .chat-bubble { width: 70px; height: 70px; border-radius: 18px;}
  .chat-popup{ right:14px; left:14px; width:auto; bottom:86px; }
  .chat-launcher{ bottom:16px; right:16px; }
  .cart-item{ flex-direction:column; align-items:flex-start; }
  .cart-item-actions{ align-items:flex-start; width:100%; }
  .cart-item-icon{ width:60px; height:60px; border-radius:18px; }
  .summary-footer{ flex-direction:column; align-items:flex-start; }
  .summary-total{ text-align:left; align-items:flex-start; }
  .summary-cta{ width:100%; }
  .summary-cta-alt{ width:100%; text-align:center; }
  .goodies-carousel{ display:flex; flex-direction:column; align-items:center; gap:12px; padding:0; overflow:hidden; width:100%; }
  .goodies-track{ width:100%; display:flex; gap:16px; padding:0 20px; margin:0; scroll-padding:0 20px; scroll-snap-type:x mandatory; overflow-x:auto; }
  .goodies-carousel .carousel-btn-group{ display:flex; gap:10px; }
  .goodies-carousel .carousel-btn{ position:static; transform:none; width:40px; height:40px; font-size:18px; }
  .merch-card,
  .select-carousel .merch-card{
    flex:0 0 calc(100% - 40px);
    width:calc(100% - 40px);
    max-width:320px;
    min-width:calc(100% - 40px);
    margin:0;
  }

  .proposal {
    flex-direction: column;
  }

  .faq-card{
    display:flex;
    flex-direction: column;
  }

  .text-half-page-large-screen {max-width: 100%;}
  .text-2third-page-large-screen {max-width: 100%;}
}



@media (max-width: 1024px){
  .howto-step{
    grid-template-columns:1fr;
  }
  .howto-step--reverse .howto-step-media,
  .howto-step--reverse .howto-step-content{
    order:initial;
  }
  .howto-step-media{ aspect-ratio:auto; height:320px; }
}
@media (max-width: 640px){
  .howto-steps-shell{ width:min(100% - 24px, 100%); }
  .howto-step{
    border-radius:32px;
    padding:clamp(20px, 8vw, 34px);
    gap:18px;
  }
  .howto-step-media{ height:260px; border-radius:26px; }
  .howto-step-content h3{ font-size:clamp(24px, 8vw, 32px); }
  .howto-step-cta{ width:100%; justify-content:center; }
}

@media (max-width: 760px){
  .reviews.full-carousel .review-card{
    grid-template-columns:1fr;
  }
.reviews.full-carousel .review-card__media{ min-height:200px; }
}


@media (max-width: 640px){
  .reviews-grid-shell{ width:min(100% - 24px, 100%); }
  .review-chip{ border-radius:22px; }
}

@media (max-width: 640px){
  .goodies-filter-bar{ flex-direction:column; align-items:flex-start; }
  .goodies-filter-bar .carousel-btn-group{ margin-left:0; }
  .goodies-filter-pills{ width:100%; }
}



/* ============ Accessibility ============ */
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; } 
.site-header.is-top .header-inner{ padding:24px clamp(32px, 12vw, 120px) 0 clamp(32px, 12vw, 120px); }
.site-header.is-top .nav{ display:block; position:static; }
.site-header.is-top .nav ul{ background:#fff; border-radius:36px; padding:16px clamp(28px, 5vw, 48px); box-shadow:0 18px 48px rgba(15,23,42,.14); border:1px solid rgba(15,23,42,.05); display:flex; gap:clamp(24px, 3vw, 40px); align-items:center; }
.site-header.is-top .nav a{ padding:10px 0; font-weight:500; }
