
    body{background:#0a0a0b;color:#e5e7eb}
    .no-scrollbar::-webkit-scrollbar{display:none}
    .no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}
    /* FAQ open glow + arrow animation */
    .faq-card{transition:box-shadow .35s ease,border-color .35s ease,background-color .35s ease}
    .faq-card[open]{box-shadow:0 0 0 2px rgba(16,185,129,.55),0 10px 30px -10px rgba(16,185,129,.35);border-color:rgba(16,185,129,.55);background-color:rgba(16,185,129,.03)}
    .faq-summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;cursor:pointer}
    .faq-chevron{transition:transform .3s ease,opacity .3s ease;opacity:.9}
    .faq-card[open] .faq-chevron{transform:rotate(180deg)}
  
/* --- Mobile fixes (applied by ChatGPT) --- */
@media (max-width: 640px) {
  #gwfPrev, #gwfNext, #testiLeft, #testiRight {
    display: flex !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 50 !important;
  }
  [data-suffix="/5"] {
    font-size: 1.125rem !important;
    line-height: 1.25rem !important;
  }
}
#gwfPrev, #gwfNext, #testiLeft, #testiRight {
  min-width: 44px;
  min-height: 44px;
  touch-action: manipulation;
}


/* --- Arrow circle hard-centering fix --- */
#gwfPrev, #gwfNext {
  width: 52px !important;
  height: 52px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 9999px !important;
  padding: 0 !important;
  line-height: 0 !important;
}
#gwfPrev svg, #gwfNext svg {
  display: block !important;
  margin: 0 !important;
}
@media (max-width: 640px) {
  #gwfPrev, #gwfNext {
    top: 50% !important;
    transform: translateY(-50%) !important;
  }
}




#offers .price-yearly, #offers .old-yearly { display: none; }
#offers[data-billing="annual"] .price-monthly,
#offers[data-billing="annual"] .old-monthly { display: none; }
#offers[data-billing="annual"] .price-yearly,
#offers[data-billing="annual"] .old-yearly { display: inline; }



/* Premium BG — Subtle Carbon Fiber */
html, body { height: 100%; }
body {
  background:
    radial-gradient(1200px 800px at -10% 0%, rgba(16,185,129,0.05), transparent 60%),
    radial-gradient(1200px 800px at 110% 100%, rgba(255,255,255,0.04), transparent 60%),
    repeating-linear-gradient(45deg,
      rgba(20,20,22,0.9) 0px, rgba(20,20,22,0.9) 2px,
      rgba(12,12,14,0.9) 2px, rgba(12,12,14,0.9) 4px),
    linear-gradient(180deg, #0b0b0d, #0f0f11 40%, #070708 100%);
  background-blend-mode: normal, normal, multiply, normal;
}



/* Mobile-only Offers Carousel (<=640px). Does not affect desktop. */
@media (max-width: 640px) {
  /* Ensure section doesn't clip badges/bubbles that overflow cards */
  #offers { overflow: visible; }

  /* Turn the offers grid into a horizontal carousel you can swipe */
  
  
  /* Each card is a slide */
  
}



/* === Offer badges visibility & position (mobile + desktop) === */
#offers { overflow: visible; }



/* Force the small ribbon/badge to sit half outside the top and never be clipped */


/* Give a little extra top padding so content doesn't collide with badge base */
 /* ~pt-5 */

/* On very small screens, allow more "headroom" */
@media (max-width: 400px) {
   /* ~pt-6 */
}



/* === Strong badge clipping fix (v2) === */



/* On mobile, place badge slightly inside the card to avoid any parent clipping */
@media (max-width: 640px) {
  
}



/* === Mobile badge fallback (iOS-safe, no clipping) === */
@media (max-width: 640px) {
  /* Let the scroll container show overflow in both axes */
  

  /* Place badge fully inside the card (no vertical overhang) */
  

  /* Give extra headroom for the badge inside the card */
  
}



/* === Extra space below badge before title === */


/* 1) Pas de badge sur la 1re carte (Nutrition) */


/* 2) S'il y a plusieurs .badge-pop dans une carte, garde seulement le 1er */


/* 3) Harmonise la couleur des badges conservés (même vert que boutons) */


/* 4) Petit ajustement vertical pour éviter le chevauchement visuel */

/* ===== HARD FIX — OFFERS (Programmes) mobile-first, NO overflow ===== */
:root{ --offer-card-w: 86vw; --offer-gap: 0.75rem; }
*,*::before,*::after{ box-sizing:border-box; }
html,body{ max-width:100%; overflow-x:hidden; }
img,video,svg{ max-width:100%; height:auto; }

#offers{ overflow: visible; }
#offers .offers-grid{
  display:flex;
  gap: var(--offer-gap);
  padding-inline: var(--offer-gap);
  margin: 0;
  overflow-x: auto;
  overflow-y: visible;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  max-width: 100vw;
}
#offers .offers-grid > *{
  flex: 0 0 var(--offer-card-w);
  max-width: var(--offer-card-w);
  scroll-snap-align: start;
  margin: 0;
  border-radius: 1.25rem;
}
#offers .offers-grid::-webkit-scrollbar{ display:none; }
#offers .offers-grid{ scrollbar-width: none; }
.badge-pop{ left:50%; transform:translate(-50%,-62%); }
@media (max-width: 640px){
  .badge-pop{ transform:translate(-50%,-25%); }
}


@media (min-width:1024px){
  #offers .offers-grid{
    display:grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    padding: 0;
    overflow: visible;
    scroll-snap-type: none;
    max-width: none;
  }
  #offers .offers-grid > *{ flex: initial; max-width: none; }
}

/* Testimonials guards */
[data-testi-track]{ scrollbar-width:none; }
[data-testi-track]::-webkit-scrollbar{ display:none; }
