/* ===========================================================
   Launch-offer styles — Club de l'Internat by HomeDoc
   -----------------------------------------------------------
   Système d'affichage de l'offre de lancement (20 €/an au lieu
   de 35 € — garanti à vie jusqu'au 30/06/2026).
   Toutes les nouvelles classes vivent sous le namespace .lo-*
   (Launch Offer) pour ne pas entrer en conflit avec .promo-card
   /.promo-badge des cartes partenaires existantes.
   .promo-only / .normal-only restent les noms attendus par le
   script de bascule (body.promo-ended).
   =========================================================== */

/* --- Toggle promo / normal ----------------------------------- */
.normal-only { display: none !important; }

body.promo-ended .promo-only  { display: none !important; }
body.promo-ended .normal-only { display: revert !important; }

/* Variantes flex/grid quand on a besoin d'un display spécifique
   après bascule. À ajouter ponctuellement dans la page.        */
body.promo-ended .normal-only.is-flex   { display: flex !important; }
body.promo-ended .normal-only.is-inline { display: inline !important; }
body.promo-ended .normal-only.is-block  { display: block !important; }

/* --- Prix de référence barré --------------------------------- */
/* Petit "35 €" gris barré qui flanque le prix dominant 20 €.    */
.lo-ref,
.promo-ref {                 /* alias historique éventuel        */
  color: #9CA3AF;
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
  text-decoration-color: rgba(156, 163, 175, 0.7);
  font-weight: 600;
  letter-spacing: -0.005em;
}

/* --- Pastille "Offre de lancement" --------------------------- */
/* Petite pill ambre, sobre, à poser près d'un prix ou d'un CTA. */
.lo-pill,
.promo-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #FEF3C7;
  color: #92400E;
  font-weight: 700;
  font-size: 12px;
  line-height: 1;
  padding: 6px 10px;
  border-radius: 999px;
  letter-spacing: 0.01em;
  white-space: nowrap;
  border: 1px solid rgba(146, 64, 14, 0.08);
}
.lo-pill .dot,
.promo-pill .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #D97706;
  flex-shrink: 0;
}

/* --- Bandeau pleine largeur (carte tarif) -------------------- */
.lo-banner,
.promo-banner {
  background: linear-gradient(90deg, #FEF3C7 0%, #FDE68A 50%, #FEF3C7 100%);
  color: #78350F;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  padding: 10px 16px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-top: 1px solid rgba(146, 64, 14, 0.08);
  border-bottom: 1px solid rgba(146, 64, 14, 0.08);
}
.lo-banner .dot,
.promo-banner .dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #D97706;
  flex-shrink: 0;
  animation: lo-pulse 2.4s ease-in-out infinite;
}
.lo-banner strong,
.promo-banner strong { color: #78350F; font-weight: 800; }

@keyframes lo-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(217, 119, 6, 0.5); }
  50%      { box-shadow: 0 0 0 6px rgba(217, 119, 6, 0); }
}

/* --- Bloc de prix duo (20 € dominant + 35 € barré) ----------- */
.lo-pricepair {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}
.lo-pricepair .lo-now {
  font-size: inherit;
  font-weight: 800;
  color: inherit;
  line-height: 1;
}
.lo-pricepair .lo-was {
  font-size: 0.55em;
  color: #9CA3AF;
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
  font-weight: 600;
}

/* --- Mention "garanti à vie" sous le prix -------------------- */
.lo-lifetime {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #92400E;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.01em;
}
.lo-lifetime svg,
.lo-lifetime i { width: 14px; height: 14px; flex-shrink: 0; }

@media (prefers-reduced-motion: reduce) {
  .lo-banner .dot,
  .promo-banner .dot { animation: none; }
}
