/* Checkout auth redesign (dev only, user 2830 toggle)
   Parcours Mobile.html : .plan-recap-m → --cream #f2e9e0 ; .plan-recap-details-m → --beige #fdf9f3 */
/* Parcours abonnement CMS — desktop : bandeau Creative Popup en premier, puis barre parcours (fixed) */
@media (min-width: 992px) {
  /* Variables sur body : le popup CP est souvent hors de #content et doit pouvoir lire top */
  body:has(#content.cms-parcours-checkout) {
    --parcours-sticky-subnav-height: 4.75rem;
    --parcours-sticky-cp-banner-height: 0px;
  }

  body:has(#content.cms-parcours-checkout):has(.cp-popup-inner.cp-direction-fix) {
    --parcours-sticky-cp-banner-height: 50px;
  }

  /* Parcours CMS : pas d'espace réservé en haut */
  #content.cms-parcours-checkout {
    padding-top: 0;
  }

  body:has(#content.cms-parcours-checkout) #content.cms-parcours-checkout {
    padding-top: 0;
  }

  .cms-parcours-checkout .checkout-auth-parcours-subnav {
    display: block;
    position: fixed;
    top: var(--parcours-sticky-cp-banner-height, 0px);
    left: 0;
    right: 0;
    width: 100%;
    z-index: 200;
    background: rgba(253, 249, 243, 0.94);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(35, 35, 35, 0.06);
    box-sizing: border-box;
  }

  /* Bandeau Creative Popup (newsletter -10 €) : fixé tout en haut, au-dessus de la subnav parcours */
  body:has(#content.cms-parcours-checkout) .cp-popup-inner.cp-direction-fix {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 50px !important;
    max-height: 50px !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 190 !important;
    box-sizing: border-box !important;
  }

  body:has(#content.cms-parcours-checkout) .cp-popup-inner.cp-direction-fix form.cp-ps-container {
    width: 100% !important;
    max-width: none !important;
    height: 50px !important;
    max-height: 50px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
  }

  /* Neutralise les coordonnées inline du slider CP : texte centré dans le bandeau fixe */
  body:has(#content.cms-parcours-checkout) .cp-popup-inner.cp-direction-fix .cp-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 50px !important;
    box-sizing: border-box !important;
  }

  body:has(#content.cms-parcours-checkout) .cp-popup-inner.cp-direction-fix .cp-layers {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  body:has(#content.cms-parcours-checkout) .cp-popup-inner.cp-direction-fix .cp-wrapper.cp-in-out {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    margin-left: 0 !important;
    margin-top: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  body:has(#content.cms-parcours-checkout) .cp-popup-inner.cp-direction-fix .cp-layer {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
    text-align: center !important;
    transform: none !important;
    /* Creative Popup injecte ~29px en inline : trop grand pour un bandeau de 50px */
    font-size: clamp(0.62rem, 1.6vw, 0.78rem) !important;
    line-height: 1.2 !important;
    letter-spacing: 0.06em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body:has(#content.cms-parcours-checkout) .cp-popup-inner.cp-direction-fix .cp-layer-link {
    position: absolute !important;
    inset: 0 !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
  }

  .cms-parcours-checkout .checkout-auth-parcours-subnav__inner {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    padding: 18px 48px;
    box-sizing: border-box;
  }

  .cms-parcours-checkout .checkout-auth-parcours-subnav__back {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: "Oswald", sans-serif;
    font-weight: 400;
    font-size: 0.65rem;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    opacity: 0.55;
    color: #232323;
    text-decoration: none;
    transition: opacity 0.2s ease;
  }

  .cms-parcours-checkout .checkout-auth-parcours-subnav__back-label--mobile {
    display: none;
  }

  .cms-parcours-checkout .checkout-auth-parcours-subnav__back:hover {
    opacity: 1;
  }

  .cms-parcours-checkout .checkout-auth-parcours-subnav__brand {
    grid-column: 2;
    justify-self: center;
    display: flex;
    align-items: center;
    text-decoration: none;
  }

  .cms-parcours-checkout .checkout-auth-parcours-subnav__logo {
    display: block;
    height: 28px;
    width: auto;
    max-width: 160px;
    object-fit: contain;
  }

  .cms-parcours-checkout .checkout-auth-parcours-subnav__secure {
    grid-column: 3;
    justify-self: end;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: "Oswald", sans-serif;
    font-weight: 300;
    font-size: 0.62rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    opacity: 0.5;
    color: #232323;
  }

  .cms-parcours-checkout .checkout-auth-parcours-subnav__secure svg {
    opacity: 0.65;
    flex-shrink: 0;
  }

  .cms-parcours-checkout .checkout-auth-parcours-subnav__step-meta {
    display: none;
  }
}

@media (max-width: 991px) {
  body:has(#content.cms-parcours-checkout) {
    --parcours-mobile-cp-banner-height: 0px;
  }

  body:has(#content.cms-parcours-checkout):has(.cp-popup-inner.cp-direction-fix) {
    --parcours-mobile-cp-banner-height: 50px;
  }

  body:has(#content.cms-parcours-checkout) .cp-popup-inner.cp-direction-fix {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: 50px !important;
    max-height: 50px !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 60 !important;
  }

  body:has(#content.cms-parcours-checkout) .cp-popup-inner.cp-direction-fix form.cp-ps-container {
    width: 100% !important;
    max-width: none !important;
    height: 50px !important;
    max-height: 50px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }

  body:has(#content.cms-parcours-checkout) .cp-popup-inner.cp-direction-fix .cp-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 50px !important;
    box-sizing: border-box !important;
  }

  body:has(#content.cms-parcours-checkout) .cp-popup-inner.cp-direction-fix .cp-layers {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  body:has(#content.cms-parcours-checkout) .cp-popup-inner.cp-direction-fix .cp-wrapper.cp-in-out {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    margin-left: 0 !important;
    margin-top: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  body:has(#content.cms-parcours-checkout) .cp-popup-inner.cp-direction-fix .cp-layer {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
    text-align: center !important;
    transform: none !important;
    font-size: clamp(0.58rem, 3.2vw, 0.72rem) !important;
    line-height: 1.2 !important;
    letter-spacing: 0.05em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body:has(#content.cms-parcours-checkout) .cp-popup-inner.cp-direction-fix .cp-layer-link {
    position: absolute !important;
    inset: 0 !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
  }

  #content.cms-parcours-checkout {
    padding-top: 0;
  }

  .cms-parcours-checkout .checkout-auth-parcours-subnav {
    display: block !important;
    position: fixed;
    top: var(--parcours-mobile-cp-banner-height, 0px);
    left: 0;
    right: 0;
    z-index: 50;
    background: rgba(253, 249, 243, 0.95);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(35, 35, 35, 0.06);
    box-sizing: border-box;
  }

  .cms-parcours-checkout .checkout-auth-parcours-subnav__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    min-height: 49px;
    padding: 14px 20px;
    box-sizing: border-box;
  }

  .cms-parcours-checkout .checkout-auth-parcours-subnav__back {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: "Oswald", sans-serif;
    font-weight: 400;
    font-size: 0.6rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #232323;
    opacity: 0.55;
    text-decoration: none;
    white-space: nowrap;
    min-width: 0;
    max-width: 100%;
  }

  .cms-parcours-checkout .checkout-auth-parcours-subnav__back-label--desktop {
    display: none;
  }

  .cms-parcours-checkout .checkout-auth-parcours-subnav__back-label--mobile {
    display: inline;
  }

  .cms-parcours-checkout .checkout-auth-parcours-subnav__brand {
    justify-self: center;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
  }

  .cms-parcours-checkout .checkout-auth-parcours-subnav__logo {
    display: block;
    width: auto;
    height: 13px;
    max-width: 100%;
    opacity: 0.9;
  }

  .cms-parcours-checkout .checkout-auth-parcours-subnav__secure {
    justify-self: end;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: "Oswald", sans-serif;
    font-weight: 300;
    font-size: 0.58rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #232323;
    opacity: 0.5;
    white-space: nowrap;
  }

  .cms-parcours-checkout .checkout-auth-parcours-subnav__secure svg {
    width: 10px;
    height: 12px;
    flex-shrink: 0;
    opacity: 0.65;
  }

  .cms-parcours-checkout .checkout-auth-parcours-subnav__step-meta {
    justify-self: end;
    display: inline-flex;
    align-items: center;
    font-family: "Oswald", sans-serif;
    font-weight: 300;
    font-size: 0.58rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #232323;
    opacity: 0.5;
    white-space: nowrap;
  }

  .cms-parcours-checkout .checkout-auth-parcours-subnav__secure {
    display: none;
  }

  /*
    Fallback si Smarty sert encore l'ancienne subnav (sans .__step-meta).
    On affiche l'étape via .__secure + classes body page-cms-XX.
  */
  body.page-cms-37 .cms-parcours-checkout .checkout-auth-parcours-subnav__secure,
  body.page-cms-34 .cms-parcours-checkout .checkout-auth-parcours-subnav__secure,
  body.page-cms-35 .cms-parcours-checkout .checkout-auth-parcours-subnav__secure,
  body.page-cms-36 .cms-parcours-checkout .checkout-auth-parcours-subnav__secure {
    display: inline-flex !important;
    justify-self: end;
    align-items: center;
    gap: 0;
    font-family: "Oswald", sans-serif;
    font-weight: 300;
    font-size: 0.58rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #232323;
    opacity: 0.5;
    white-space: nowrap;
  }

  body.page-cms-37 .cms-parcours-checkout .checkout-auth-parcours-subnav__secure svg,
  body.page-cms-34 .cms-parcours-checkout .checkout-auth-parcours-subnav__secure svg,
  body.page-cms-35 .cms-parcours-checkout .checkout-auth-parcours-subnav__secure svg,
  body.page-cms-36 .cms-parcours-checkout .checkout-auth-parcours-subnav__secure svg {
    display: none !important;
  }

  body.page-cms-37 .cms-parcours-checkout .checkout-auth-parcours-subnav__secure {
    font-size: 0;
    color: transparent;
  }
  body.page-cms-37 .cms-parcours-checkout .checkout-auth-parcours-subnav__secure::after {
    content: "01 / 04";
    font-size: 0.58rem;
    color: #232323;
  }

  body.page-cms-34 .cms-parcours-checkout .checkout-auth-parcours-subnav__secure {
    font-size: 0;
    color: transparent;
  }
  body.page-cms-34 .cms-parcours-checkout .checkout-auth-parcours-subnav__secure::after {
    content: "02 / 04";
    font-size: 0.58rem;
    color: #232323;
  }

  body.page-cms-35 .cms-parcours-checkout .checkout-auth-parcours-subnav__secure {
    font-size: 0;
    color: transparent;
  }
  body.page-cms-35 .cms-parcours-checkout .checkout-auth-parcours-subnav__secure::after {
    content: "03 / 04";
    font-size: 0.58rem;
    color: #232323;
  }

  body.page-cms-36 .cms-parcours-checkout .checkout-auth-parcours-subnav__secure {
    font-size: 0;
    color: transparent;
  }
  body.page-cms-36 .cms-parcours-checkout .checkout-auth-parcours-subnav__secure::after {
    content: "04 / 04";
    font-size: 0.58rem;
    color: #232323;
  }
}

#checkout {
  --possible-mobile-plan-bar-bg: #f2e9e0;
  --possible-mobile-plan-panel-bg: #fdf9f3;
  /*
    Mobile : récap sous la navbar fixe (.possible-preview-header : top 50px + __inner min-height 56px).
    Hauteur du bouton récap (padding + 2 lignes) — pour empiler le volet .__details en sticky.
  */
  --possible-checkout-recap-under-nav-top: calc(50px + 56px + env(safe-area-inset-top, 0px));
  --possible-checkout-plan-recap-bar-estimate: 50px;
  /* Espace réservé sous la navbar : récap fixe (barre + placeholder même hauteur) */
  --possible-checkout-mobile-recap-stack-offset: calc(
    var(--possible-checkout-recap-under-nav-top) + var(--possible-checkout-plan-recap-bar-estimate)
  );
}

/* Parcours Mobile.html — .pulse-cta / @keyframes ctaPulse (bandeau sticky) */
@keyframes checkout-auth-sticky-cta-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(35, 35, 35, 0.35);
  }
  70% {
    box-shadow: 0 0 0 12px rgba(35, 35, 35, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(35, 35, 35, 0);
  }
}

#checkout #checkout-personal-information-step .checkout-auth-redesign--desktop {
  margin: 0 auto;
  max-width: 1180px;
  text-align: center;
}

/* Remove default checkout card frame in redesign mode */
#checkout #checkout-personal-information-step .content,
#checkout #checkout-personal-information-step .checkout-auth-redesign {
  box-shadow: none !important;
  border: 0 !important;
  background: transparent !important;
}

#checkout #checkout-personal-information-step .content {
  padding: 0 !important;
}

#checkout #checkout-personal-information-step .checkout-auth-stepper {
  max-width: 760px;
  margin: 0 auto 52px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  position: relative;
}

#checkout #checkout-personal-information-step .checkout-auth-stepper::before {
  content: "";
  position: absolute;
  top: 14px;
  left: 12.5%;
  right: 12.5%;
  height: 1px;
  background: rgba(35, 35, 35, 0.12);
  z-index: 0;
}

#checkout #checkout-personal-information-step .checkout-auth-stepper__item {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

#checkout #checkout-personal-information-step .checkout-auth-stepper__circle {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid rgba(35, 35, 35, 0.2);
  background: #fdf9f3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Libre Baskerville", "Libre Bodoni", serif;
  font-size: 0.78rem;
  color: rgba(35, 35, 35, 0.45);
}

#checkout #checkout-personal-information-step .checkout-auth-stepper__label {
  font-family: "Oswald", sans-serif;
  font-size: 0.62rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(35, 35, 35, 0.4);
}

#checkout #checkout-personal-information-step .checkout-auth-stepper__item--active .checkout-auth-stepper__circle {
  background: #232323;
  border-color: #232323;
  color: #f2e9e0;
}

#checkout #checkout-personal-information-step .checkout-auth-stepper__item--active .checkout-auth-stepper__label {
  color: #232323;
  font-weight: 500;
}

#checkout #checkout-personal-information-step a.checkout-auth-stepper__item {
  text-decoration: none;
  color: inherit;
}

#checkout #checkout-personal-information-step .checkout-auth-stepper__item--done .checkout-auth-stepper__circle {
  background: #232323;
  border-color: #232323;
  color: #f2e9e0;
}

#checkout #checkout-personal-information-step .checkout-auth-stepper__item--done .checkout-auth-stepper__label {
  color: rgba(35, 35, 35, 0.6);
}

#checkout #checkout-personal-information-step .checkout-auth-stepper__item--done .checkout-auth-stepper__circle svg {
  display: block;
}

#checkout #checkout-personal-information-step .checkout-auth-redesign__kicker {
  margin: 0 0 18px;
  font-family: "Oswald", sans-serif;
  font-size: 0.68rem;
  font-weight: 400;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  opacity: 0.45;
}

#checkout #checkout-personal-information-step .checkout-auth-redesign__title {
  margin: 0 0 12px;
  font-family: "Libre Baskerville", Georgia, serif;
  font-size: 2.8rem;
  line-height: 1.15;
  letter-spacing: -0.015em;
  font-weight: 400;
  font-style: normal;
  color: #111;
}

#checkout #checkout-personal-information-step .checkout-auth-redesign__subtitle {
  margin: 0 auto 28px;
  max-width: 560px;
  font-family: "Libre Baskerville", Georgia, serif;
  font-size: 0.95rem;
  line-height: 1.7;
  font-weight: 400;
  font-style: normal;
  color: rgba(35, 35, 35, 0.58);
}

#checkout #checkout-personal-information-step .checkout-auth-redesign__title em {
  font-style: italic;
}

#checkout #checkout-personal-information-step .checkout-auth-redesign__subtitle em {
  font-style: normal;
}

#checkout #checkout-personal-information-step .checkout-auth-layout {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 56px;
  align-items: flex-start;
}

#checkout #checkout-personal-information-step .checkout-auth-layout__main {
  min-width: 0;
}

#checkout #checkout-personal-information-step .checkout-auth-layout__aside {
  text-align: left;
}

#checkout #checkout-personal-information-step .checkout-auth-plan-recap-m {
  display: none;
}

#checkout #checkout-personal-information-step .checkout-auth-redesign__social {
  margin: 0 0 16px;
  max-width: none;
}

#checkout #checkout-personal-information-step .checkout-auth-redesign__social .section-connection {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

#checkout #checkout-personal-information-step .checkout-auth-redesign__social #fbpsc {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

#checkout #checkout-personal-information-step .checkout-auth-redesign__social #fbpsc.creation_compte_panier {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  text-align: initial !important;
  font-size: inherit !important;
}

#checkout #checkout-personal-information-step .checkout-auth-redesign__social-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 14px 20px;
  margin: 0;
  border: 1px solid rgba(35, 35, 35, 0.14);
  font-family: "Oswald", sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
}

/* Override legacy facebookpsconnect constraints in checkout redesign */
#checkout #checkout-personal-information-step .checkout-auth-redesign__social #fbpsc .checkout-auth-redesign__social-btn {
  display: inline-flex !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 14px 20px !important;
  padding-left: 20px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: center !important;
  justify-content: center !important;
  line-height: 1.2 !important;
  white-space: normal !important;
  overflow: visible !important;
}

#checkout #checkout-personal-information-step .checkout-auth-redesign__social #fbpsc p.checkout-auth-redesign__social-btn {
  float: none !important;
}

#checkout #checkout-personal-information-step .checkout-auth-redesign__social #fbpsc .checkout-auth-redesign__social-btn .fa,
#checkout #checkout-personal-information-step .checkout-auth-redesign__social #fbpsc .checkout-auth-redesign__social-btn .btn-google-default-icon {
  position: static !important;
  left: auto !important;
  top: auto !important;
}

#checkout #checkout-personal-information-step .checkout-auth-redesign__social-btn.btn-facebook {
  background: #232323;
  border-color: #232323;
  color: #f2e9e0;
}

#checkout #checkout-personal-information-step .checkout-auth-redesign__social-btn.btn-google-default {
  background: transparent;
  color: #232323;
}

#checkout #checkout-personal-information-step .checkout-auth-redesign__social-btn:hover {
  border-color: #232323;
  background: #f2e9e0;
}

#checkout #checkout-personal-information-step .checkout-auth-redesign__social-btn.btn-facebook:hover {
  background: #1a1a1a;
}

#checkout #checkout-personal-information-step .checkout-auth-redesign__social-btn .btn-title-connect {
  letter-spacing: 0.16em;
}

#checkout #checkout-personal-information-step .checkout-auth-redesign__social-btn .fa-bt-facebook,
#checkout #checkout-personal-information-step .checkout-auth-redesign__social-btn .btn-google-default-icon {
  margin-right: 10px;
}

#checkout #checkout-personal-information-step .checkout-auth-redesign__divider {
  margin: 0 0 22px;
  max-width: none;
  display: flex;
  align-items: center;
  gap: 16px;
  font-family: "Oswald", sans-serif;
  font-size: 10px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #9d968f;
}

#checkout #checkout-personal-information-step .checkout-auth-redesign__divider::before,
#checkout #checkout-personal-information-step .checkout-auth-redesign__divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #e8e1db;
}

#checkout #checkout-personal-information-step .checkout-auth-redesign__content {
  padding: 0;
  text-align: left;
}

#checkout #checkout-personal-information-step .checkout-auth-form {
  width: 100%;
  text-align: left;
}

#checkout #checkout-personal-information-step .checkout-auth-form__row {
  margin-bottom: 26px;
}

#checkout #checkout-personal-information-step .checkout-auth-form__row--two-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}

#checkout #checkout-personal-information-step .checkout-auth-form__field label {
  display: block;
  margin: 0 0 8px;
  text-align: left;
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  font-size: 0.58rem;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  opacity: 0.55;
  color: #232323;
}

#checkout #checkout-personal-information-step .checkout-auth-input {
  border: 0;
  border-bottom: 1px solid rgba(35, 35, 35, 0.18);
  background: transparent;
  padding: 10px 32px 10px 0;
  height: auto;
  min-height: 44px;
  font-family: "Libre Baskerville", "Libre Bodoni", serif;
  font-size: 1rem;
  font-style: normal;
  color: #232323;
  width: 100%;
  transition: border-color 0.2s ease;
}

#checkout #checkout-personal-information-step .checkout-auth-input:focus {
  border-bottom-color: #121212;
  outline: none;
}

#checkout #checkout-personal-information-step .checkout-auth-input::placeholder {
  color: rgba(35, 35, 35, 0.28);
  font-style: italic;
}

#checkout #checkout-personal-information-step .checkout-auth-password-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}

#checkout #checkout-personal-information-step .checkout-auth-password-wrap .checkout-auth-input {
  flex: 1;
}

#checkout #checkout-personal-information-step .checkout-auth-password-toggle {
  border: 0;
  background: transparent;
  font-family: "Oswald", sans-serif;
  font-size: 0.62rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(35, 35, 35, 0.55);
  cursor: pointer;
  padding: 0;
}

#checkout #checkout-personal-information-step .checkout-auth-form__hint {
  margin-top: 8px;
  font-family: "Libre Baskerville", "Libre Bodoni", serif;
  font-style: italic;
  font-size: 0.78rem;
  color: rgba(35, 35, 35, 0.5);
  text-align: left;

}

#checkout #checkout-personal-information-step .checkout-auth-form__error {
  margin-top: 8px;
  font-family: "Libre Baskerville", "Libre Bodoni", serif;
  font-style: italic;
  font-size: 0.78rem;
  color: #b42318;
  text-align: left;
}

#checkout #checkout-personal-information-step .checkout-auth-form__field--invalid .checkout-auth-input {
  border-bottom-color: #b42318;
}

#checkout #checkout-personal-information-step .checkout-auth-form__field--invalid .checkout-auth-form__hint {
  display: none;
}

#checkout #checkout-personal-information-step .checkout-auth-form__optional-toggle {
  margin: 8px 0 20px;
  border-top: 1px solid rgba(35, 35, 35, 0.12);
  border-bottom: 1px solid rgba(35, 35, 35, 0.12);
}

#checkout #checkout-personal-information-step .checkout-auth-form__optional-button {
  width: 100%;
  border: 0;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 0;
  font-family: "Libre Baskerville", "Libre Bodoni", serif;
  font-style: italic;
  font-size: 0.92rem;
  color: rgba(35, 35, 35, 0.7);
}

#checkout #checkout-personal-information-step .checkout-auth-form__optional-plus {
  font-family: "Libre Bodoni", serif;
  font-size: 28px;
  line-height: 1;
  opacity: 0.6;
  transition: transform 0.2s ease;
}

#checkout #checkout-personal-information-step .checkout-auth-form__optional-toggle.is-open .checkout-auth-form__optional-plus {
  transform: rotate(45deg);
}

#checkout #checkout-personal-information-step .checkout-auth-form__optional-section {
  display: none;
}

#checkout #checkout-personal-information-step .checkout-auth-form__optional-section.is-open {
  display: block;
}

#checkout #checkout-personal-information-step .checkout-auth-form__checkboxes {
  margin-top: 12px;
}

#checkout #checkout-personal-information-step .checkout-auth-form__checkbox {
  margin-bottom: 12px;
}

#checkout #checkout-personal-information-step .checkout-auth-form__checkbox .custom-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

#checkout #checkout-personal-information-step .checkout-auth-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

#checkout #checkout-personal-information-step .checkout-auth-checkbox input[type="checkbox"] {
  width: 16px;
  height: 16px;
  border: 1px solid rgba(35, 35, 35, 0.3);
  appearance: none;
  background: transparent;
  margin-top: 2px;
  flex-shrink: 0;
  position: relative;
}

#checkout #checkout-personal-information-step .checkout-auth-checkbox input[type="checkbox"]:checked {
  background: #232323;
  border-color: #232323;
}

#checkout #checkout-personal-information-step .checkout-auth-checkbox input[type="checkbox"]:checked::after {
  content: "✓";
  position: absolute;
  top: -3px;
  left: 2px;
  font-size: 12px;
  color: #f2e9e0;
}

#checkout #checkout-personal-information-step .checkout-auth-checkbox span {
  font-family: "Libre Baskerville", "Libre Bodoni", serif;
  font-size: 0.82rem;
  line-height: 1.55;
  color: rgba(35, 35, 35, 0.68);
}

#checkout #checkout-personal-information-step .checkout-auth-checkbox span a {
  text-decoration: underline;
  color: inherit;
}

#checkout #checkout-personal-information-step .checkout-auth-form__hidden-field {
  display: none;
}

#checkout #checkout-personal-information-step .checkout-auth-form__actions {
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid rgba(35, 35, 35, 0.08);
  padding-top: 32px;
}

#checkout #checkout-personal-information-step .checkout-auth-form__actions--login {
  justify-content: space-between;
  align-items: center;
}

#checkout #checkout-personal-information-step .checkout-auth-form__sticky-hint-m {
  display: none;
}

#checkout #checkout-personal-information-step .checkout-auth-form__forgot {
  font-family: "Libre Bodoni", serif;
  font-size: 16px;
  color: #121212;
  text-decoration: underline;
}

#checkout #checkout-personal-information-step .checkout-auth-form__back-link {
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  font-size: 0.66rem;
  text-transform: uppercase;
  letter-spacing: 0.24em;
  color: rgba(35, 35, 35, 0.5);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

#checkout #checkout-personal-information-step .checkout-auth-form .btn-primary.continue {
  min-width: 340px;
  border: 1px solid #121212;
  background: #121212;
  color: #f2e9e0;
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-size: 0.78rem;
  min-height: 60px;
  padding: 20px 40px;
  border-radius: 0;
}

#checkout #checkout-personal-information-step .checkout-auth-summary {
  background: #f2e9e0;
  border: 1px solid rgba(35, 35, 35, 0.08);
  padding: 28px 28px 26px;
}

#checkout #checkout-personal-information-step .checkout-auth-summary h4 {
  margin: 0 0 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(35, 35, 35, 0.12);
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.28em;
  font-size: 0.62rem;
  color: #232323;
  opacity: 0.55;
}

#checkout #checkout-personal-information-step .checkout-auth-summary__line {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 8px;
}

#checkout #checkout-personal-information-step .checkout-auth-summary__line--plan {
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(35, 35, 35, 0.08);
}

#checkout #checkout-personal-information-step .checkout-auth-summary__line--price {
  align-items: baseline;
}

#checkout #checkout-personal-information-step .checkout-auth-summary__plan-name {
  font-family: "Libre Baskerville", "Libre Bodoni", serif;
  font-size: 1rem;
  line-height: 1.3;
  color: #232323;
}

#checkout #checkout-personal-information-step .checkout-auth-summary__line--meta {
  padding: 0;
}

#checkout #checkout-personal-information-step .checkout-auth-summary__label {
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  font-size: 0.72rem;
  letter-spacing: 0.02em;
  color: rgba(35, 35, 35, 0.55);
}

#checkout #checkout-personal-information-step .checkout-auth-summary__value {
  font-family: "Libre Baskerville", "Libre Bodoni", serif;
  font-size: 1.05rem;
  color: #232323;
}

#checkout #checkout-personal-information-step .checkout-auth-summary__line--meta .checkout-auth-summary__value {
  font-size: 0.82rem;
  font-style: italic;
  font-weight: 400;
}

#checkout #checkout-personal-information-step .checkout-auth-summary__edit {
  display: block;
  text-align: center;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(35, 35, 35, 0.08);
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  font-size: 0.58rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #232323;
  opacity: 0.55;
  transition: opacity 0.2s ease;
}

#checkout #checkout-personal-information-step .checkout-auth-summary__edit:hover {
  opacity: 1;
}

#checkout #checkout-personal-information-step .checkout-auth-summary__edit span {
  border-bottom: 1px solid rgba(35, 35, 35, 0.3);
  padding-bottom: 2px;
}

/* Récap sidebar « Votre formule » — aligné sur Parcours_Desktop_SubscriptionStep .summary-d */
#checkout #checkout-personal-information-step .checkout-auth-summary-d .plan-line,
#checkout #checkout-addresses-step .checkout-auth-summary-d .plan-line,
#checkout #checkout-payment-step .checkout-auth-summary-d .plan-line {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin: 0 0 14px;
  padding: 0;
  border: 0;
}

#checkout #checkout-personal-information-step .checkout-auth-summary-d .plan-line .name,
#checkout #checkout-addresses-step .checkout-auth-summary-d .plan-line .name,
#checkout #checkout-payment-step .checkout-auth-summary-d .plan-line .name {
  flex: 1 1 auto;
  min-width: 0;
  font-family: "Libre Baskerville", Georgia, serif;
  font-size: 1rem;
  line-height: 1.3;
  color: #232323;
  text-align: left;
}

#checkout #checkout-personal-information-step .checkout-auth-summary-d .plan-line .name em,
#checkout #checkout-addresses-step .checkout-auth-summary-d .plan-line .name em,
#checkout #checkout-payment-step .checkout-auth-summary-d .plan-line .name em {
  font-style: italic;
}

#checkout #checkout-personal-information-step .checkout-auth-summary-d .plan-line .price,
#checkout #checkout-addresses-step .checkout-auth-summary-d .plan-line .price,
#checkout #checkout-payment-step .checkout-auth-summary-d .plan-line .price {
  flex-shrink: 0;
  margin: 0;
  font-family: "Libre Baskerville", Georgia, serif;
  font-size: 1.05rem;
  line-height: 1;
  color: #232323;
  white-space: nowrap;
  text-align: right;
}

#checkout #checkout-personal-information-step .checkout-auth-summary-d .rows,
#checkout #checkout-addresses-step .checkout-auth-summary-d .rows,
#checkout #checkout-payment-step .checkout-auth-summary-d .rows {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0 0 14px;
  padding: 14px 0;
  border-top: 1px solid rgba(35, 35, 35, 0.08);
  border-bottom: 1px solid rgba(35, 35, 35, 0.08);
}

#checkout #checkout-personal-information-step .checkout-auth-summary-d .rows .row,
#checkout #checkout-addresses-step .checkout-auth-summary-d .rows .row,
#checkout #checkout-payment-step .checkout-auth-summary-d .rows .row,
#checkout #checkout-payment-step .checkout-auth-summary-d .rows .summary-row,
#checkout #checkout-personal-information-step .checkout-auth-summary-d .schedule .row,
#checkout #checkout-addresses-step .checkout-auth-summary-d .schedule .row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin: 0;
  margin-left: 0;
  margin-right: 0;
  font-family: "Oswald", sans-serif;
  font-size: 0.72rem;
  font-weight: 300;
}

#checkout #checkout-payment-step .checkout-auth-summary-d--payment-final .rows > .row,
#checkout #checkout-payment-step .checkout-auth-summary-d--payment-final .rows > .summary-row {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100%;
  box-sizing: border-box;
}

#checkout #checkout-payment-step .checkout-auth-summary-d--payment-final .rows > .row::after,
#checkout #checkout-payment-step .checkout-auth-summary-d--payment-final .rows > .summary-row::after {
  display: none !important;
  content: none !important;
}

#checkout #checkout-personal-information-step .checkout-auth-summary-d .rows .lbl,
#checkout #checkout-addresses-step .checkout-auth-summary-d .rows .lbl,
#checkout #checkout-payment-step .checkout-auth-summary-d .rows .lbl,
#checkout #checkout-personal-information-step .checkout-auth-summary-d .schedule .lbl,
#checkout #checkout-addresses-step .checkout-auth-summary-d .schedule .lbl {
  flex: 1 1 auto;
  min-width: 0;
  padding-right: 10px;
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  font-size: 0.72rem;
  letter-spacing: 0.02em;
  color: #232323;
  opacity: 0.55;
  text-align: left;
}

#checkout #checkout-personal-information-step .checkout-auth-summary-d .rows em,
#checkout #checkout-addresses-step .checkout-auth-summary-d .rows em,
#checkout #checkout-payment-step .checkout-auth-summary-d .rows em,
#checkout #checkout-personal-information-step .checkout-auth-summary-d .schedule em,
#checkout #checkout-addresses-step .checkout-auth-summary-d .schedule em {
  flex-shrink: 0;
  margin: 0;
  font-family: "Libre Baskerville", Georgia, serif;
  font-size: 0.82rem;
  font-style: italic;
  font-weight: 400;
  color: #232323;
  text-align: right;
}

#checkout #checkout-personal-information-step .checkout-auth-summary-d .schedule,
#checkout #checkout-addresses-step .checkout-auth-summary-d .schedule {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0 0 14px;
}

#checkout #checkout-personal-information-step .checkout-auth-summary-d .checkout-auth-summary__edit,
#checkout #checkout-addresses-step .checkout-auth-summary-d .checkout-auth-summary__edit {
  margin-top: 0;
}

/* Checkout addresses redesign (desktop, dev mode only) */
@media (min-width: 992px) {
  #checkout #checkout-addresses-step .checkout-auth-redesign--addresses {
    margin: 0 auto;
    max-width: 1180px;
    text-align: center;
  }

  #checkout #checkout-addresses-step .content,
  #checkout #checkout-addresses-step .checkout-auth-redesign {
    box-shadow: none !important;
    border: 0 !important;
    background: transparent !important;
  }

  #checkout #checkout-addresses-step .content {
    padding: 0 !important;
  }

  #checkout #checkout-addresses-step .checkout-auth-stepper {
    max-width: 760px;
    margin: 0 auto 52px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    position: relative;
  }

  #checkout #checkout-addresses-step .checkout-auth-stepper::before {
    content: "";
    position: absolute;
    top: 14px;
    left: 12.5%;
    right: 12.5%;
    height: 1px;
    background: rgba(35, 35, 35, 0.12);
    z-index: 0;
  }

  #checkout #checkout-addresses-step .checkout-auth-stepper__item {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }

  #checkout #checkout-addresses-step .checkout-auth-stepper__circle {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1px solid rgba(35, 35, 35, 0.2);
    background: #fdf9f3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: "Libre Baskerville", "Libre Bodoni", serif;
    font-size: 0.78rem;
    color: rgba(35, 35, 35, 0.45);
  }

  #checkout #checkout-addresses-step .checkout-auth-stepper__label {
    font-family: "Oswald", sans-serif;
    font-size: 0.62rem;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: rgba(35, 35, 35, 0.4);
  }

  #checkout #checkout-addresses-step .checkout-auth-stepper__item--active .checkout-auth-stepper__circle {
    background: #232323;
    border-color: #232323;
    color: #f2e9e0;
  }

  #checkout #checkout-addresses-step .checkout-auth-stepper__item--active .checkout-auth-stepper__label {
    color: #232323;
    font-weight: 500;
  }

  #checkout #checkout-addresses-step .checkout-auth-redesign__kicker {
    margin: 0 0 8px;
    font-family: "Oswald", sans-serif;
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #8c857f;
  }

  #checkout #checkout-addresses-step .checkout-auth-redesign__title {
    margin: 0 0 12px;
    font-family: "Libre Baskerville", Georgia, serif;
    font-size: 2.8rem;
    line-height: 1.15;
    letter-spacing: -0.015em;
    font-weight: 400;
    color: #111;
  }

  #checkout #checkout-addresses-step .checkout-auth-redesign__subtitle {
    margin: 0 auto 28px;
    max-width: 700px;
    font-family: "Libre Baskerville", Georgia, serif;
    font-size: 0.95rem;
    line-height: 1.7;
    color: rgba(35, 35, 35, 0.58);
  }

  #checkout #checkout-addresses-step .checkout-auth-layout {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 56px;
    align-items: flex-start;
  }

  #checkout #checkout-addresses-step .checkout-auth-layout__main {
    min-width: 0;
    text-align: left;
  }

  #checkout #checkout-addresses-step .checkout-auth-layout__aside {
    text-align: left;
  }

  #checkout #checkout-addresses-step .checkout-auth-addresses__content .title-adress-livraison {
    margin-bottom: 18px;
    font-family: "Libre Baskerville", "Libre Bodoni", serif;
    font-size: 1.65rem;
    font-weight: 400;
    line-height: 1.3;
    color: #111;
  }

  #checkout #checkout-addresses-step .checkout-auth-addresses__content .form-group {
    margin-bottom: 24px;
  }

  #checkout #checkout-addresses-step .checkout-auth-addresses__content .form-control {
    border: 0;
    border-bottom: 1px solid rgba(35, 35, 35, 0.18);
    background: transparent;
    border-radius: 0;
    padding: 10px 32px 10px 0;
    height: auto;
    min-height: 44px;
    font-family: "Libre Baskerville", "Libre Bodoni", serif;
    font-size: 1rem;
    color: #232323;
  }

  #checkout #checkout-addresses-step .checkout-auth-addresses__content .form-control:focus {
    border-bottom-color: #121212;
    outline: none;
    box-shadow: none;
  }

  #checkout #checkout-addresses-step .checkout-auth-addresses__content .same-adress-deliver {
    font-family: "Libre Baskerville", "Libre Bodoni", serif;
    font-size: 0.85rem;
    color: rgba(35, 35, 35, 0.7);
  }

  #checkout #checkout-addresses-step .checkout-auth-addresses__content .address-item {
    border: 1px solid rgba(35, 35, 35, 0.1);
    background: #fdf9f3;
    padding: 18px;
    margin-bottom: 14px;
  }

  #checkout #checkout-addresses-step .checkout-auth-addresses__content .address-item.selected {
    border-color: #232323;
    background: #f2e9e0;
  }

  #checkout #checkout-addresses-step .checkout-auth-addresses__content .add-address a {
    font-family: "Oswald", sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-size: 0.62rem;
    color: rgba(35, 35, 35, 0.6);
  }

  #checkout #checkout-addresses-step .checkout-auth-form__actions {
    margin-top: 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid rgba(35, 35, 35, 0.08);
    padding-top: 32px;
  }

  #checkout #checkout-addresses-step .checkout-auth-form__back-link {
    font-family: "Oswald", sans-serif;
    font-weight: 300;
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.24em;
    color: rgba(35, 35, 35, 0.5);
    display: inline-flex;
    align-items: center;
    gap: 8px;
  }

  #checkout #checkout-addresses-step .checkout-auth-addresses__content .btn-primary.continue {
    min-width: 340px;
    border: 1px solid #121212;
    background: #121212;
    color: #f2e9e0;
    font-family: "Oswald", sans-serif;
    font-weight: 400;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    font-size: 0.78rem;
    min-height: 60px;
    padding: 20px 40px;
    border-radius: 0;
  }

  #checkout #checkout-addresses-step .checkout-auth-summary {
    background: #f2e9e0;
    border: 1px solid rgba(35, 35, 35, 0.08);
    padding: 28px 28px 26px;
  }

  #checkout #checkout-addresses-step .checkout-auth-summary h4 {
    margin: 0 0 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(35, 35, 35, 0.12);
    font-family: "Oswald", sans-serif;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.28em;
    font-size: 0.62rem;
    color: rgba(35, 35, 35, 0.55);
  }

  #checkout #checkout-addresses-step .checkout-auth-summary__line {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 8px;
  }

  #checkout #checkout-addresses-step .checkout-auth-summary__line--plan {
    margin-bottom: 14px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(35, 35, 35, 0.08);
  }

  #checkout #checkout-addresses-step .checkout-auth-summary__plan-name {
    font-family: "Libre Baskerville", "Libre Bodoni", serif;
    font-size: 1rem;
    line-height: 1.3;
    color: #232323;
  }

  #checkout #checkout-addresses-step .checkout-auth-summary__label {
    font-family: "Oswald", sans-serif;
    font-weight: 300;
    font-size: 0.72rem;
    letter-spacing: 0.02em;
    color: rgba(35, 35, 35, 0.55);
  }

  #checkout #checkout-addresses-step .checkout-auth-summary__value {
    font-family: "Libre Baskerville", "Libre Bodoni", serif;
    font-size: 1.05rem;
    color: #232323;
  }

  #checkout #checkout-addresses-step .checkout-auth-summary__line--meta .checkout-auth-summary__value {
    font-size: 0.82rem;
    font-style: italic;
    font-weight: 400;
  }

  #checkout #checkout-addresses-step .checkout-auth-summary__edit {
    display: block;
    text-align: center;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(35, 35, 35, 0.08);
    font-family: "Oswald", sans-serif;
    font-weight: 300;
    font-size: 0.58rem;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #232323;
    opacity: 0.55;
    transition: opacity 0.2s ease;
  }

  #checkout #checkout-addresses-step .checkout-auth-summary__edit:hover {
    opacity: 1;
  }

  #checkout #checkout-addresses-step .checkout-auth-summary__edit span {
    border-bottom: 1px solid rgba(35, 35, 35, 0.3);
    padding-bottom: 2px;
  }
}

@media (min-width: 992px) {
  #checkout #checkout-personal-information-step .checkout-auth-mobile-tun {
    display: none !important;
  }

  #checkout #checkout-personal-information-step .checkout-auth-form__sticky-hint-m {
    display: none !important;
  }

  #checkout #checkout-personal-information-step .checkout-auth-subtitle-mobile {
    display: none !important;
  }
}

/* Mobile — tunnel compte (Parcours Mobile.html : stepper segmenté, typo, récap) */
@media (max-width: 991px) {
  #checkout #checkout-personal-information-step .step-title {
    display: none !important;
  }

  #checkout #checkout-personal-information-step .checkout-auth-redesign--desktop {
    max-width: 100%;
    text-align: left;
    padding-top: 0;
  }

  #checkout #checkout-personal-information-step .checkout-auth-stepper--desktop-circles {
    display: none !important;
  }

  #checkout #checkout-personal-information-step .checkout-auth-mobile-tun {
    padding: 20px 24px 0;
  }

  #checkout #checkout-personal-information-step .checkout-auth-stepper-m {
    display: flex;
    gap: 5px;
    margin-bottom: 22px;
  }

  #checkout #checkout-personal-information-step .checkout-auth-stepper-m__seg {
    flex: 1;
    height: 2.5px;
    background: rgba(35, 35, 35, 0.1);
    position: relative;
  }

  #checkout #checkout-personal-information-step .checkout-auth-stepper-m__seg--done {
    background: #232323;
  }

  #checkout #checkout-personal-information-step .checkout-auth-stepper-m__seg--active {
    background: rgba(35, 35, 35, 0.1);
  }

  #checkout #checkout-personal-information-step .checkout-auth-stepper-m__seg--active::after {
    content: "";
    position: absolute;
    inset: 0;
    background: #232323;
    animation: checkout-auth-stepper-m-fill 1s ease forwards;
    transform-origin: left;
  }

  @keyframes checkout-auth-stepper-m-fill {
    from {
      transform: scaleX(0);
    }
    to {
      transform: scaleX(1);
    }
  }

  #checkout #checkout-personal-information-step .checkout-auth-step-labels-m {
    display: flex;
    gap: 5px;
    align-items: center;
    font-family: "Oswald", sans-serif;
    font-size: 0.5rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin: -14px 0 22px;
    color: rgba(35, 35, 35, 0.35);
  }

  #checkout #checkout-personal-information-step .checkout-auth-step-labels-m__item {
    flex: 1;
    text-align: left;
    white-space: nowrap;
  }

  #checkout #checkout-personal-information-step .checkout-auth-step-labels-m__item--done {
    color: rgba(35, 35, 35, 0.55);
  }

  #checkout #checkout-personal-information-step .checkout-auth-step-labels-m__item--active {
    color: #232323;
    font-weight: 500;
  }

  /* Bloc héro : aligné à gauche, polices maquette tunnel mobile (.tun-m .eyebrow / h1 / .lede) */
  #checkout #checkout-personal-information-step .checkout-auth-hero-m {
    text-align: left;
    padding: 0 24px;
    box-sizing: border-box;
    width: 100%;
  }

  #checkout #checkout-personal-information-step .checkout-auth-hero-m .checkout-auth-redesign__kicker {
    margin: 0 0 12px;
    padding: 0;
    font-family: "Oswald", sans-serif;
    font-weight: 400;
    font-size: 0.58rem;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    opacity: 0.5;
    color: #232323;
    text-align: left;
  }

  #checkout #checkout-personal-information-step .checkout-auth-hero-m .checkout-auth-redesign__title {
    margin: 0 0 10px;
    padding: 0;
    font-family: "Libre Baskerville", Georgia, serif;
    font-size: 1.7rem;
    line-height: 1.2;
    font-weight: 400;
    color: #232323;
    text-align: left;
  }

  #checkout #checkout-personal-information-step .checkout-auth-hero-m .checkout-auth-redesign__title em {
    font-style: italic;
  }

  #checkout #checkout-personal-information-step .checkout-auth-hero-m .checkout-auth-redesign__subtitle {
    margin: 0 0 32px;
    padding: 0;
    max-width: none;
    font-family: "Libre Baskerville", Georgia, serif;
    font-size: 0.78rem;
    line-height: 1.65;
    font-weight: 400;
    font-style: normal;
    color: rgba(35, 35, 35, 0.55);
    text-align: left;
  }

  #checkout #checkout-personal-information-step .checkout-auth-subtitle-desktop {
    display: none !important;
  }

  #checkout #checkout-personal-information-step .checkout-auth-subtitle-mobile {
    display: block;
  }

  #checkout #checkout-personal-information-step .checkout-auth-layout {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0 0 calc(120px + env(safe-area-inset-bottom, 0px));
  }

  /*
    Récap « collé » sous la navbar : fixed (sticky cassé si un parent a overflow).
    Parcours Mobile.html — .plan-recap-m reste visible au scroll.
  */
  #checkout #checkout-personal-information-step .checkout-auth-plan-recap-m {
    display: block;
    position: fixed;
    top: var(--possible-checkout-recap-under-nav-top);
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 430px;
    z-index: 90;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  #checkout #checkout-personal-information-step .checkout-auth-layout__aside {
    display: none !important;
  }

  /* Parcours Mobile.html — .plan-recap-m / .plan-recap-details-m */
  #checkout #checkout-personal-information-step .checkout-auth-plan-recap-m__bar {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 11px 20px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 0;
    border-bottom: 1px solid rgba(35, 35, 35, 0.06);
    border-radius: 0;
    background: var(--possible-mobile-plan-bar-bg, #f2e9e0) !important;
    color: #232323;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: padding 0.25s ease;
  }

  #checkout #checkout-personal-information-step .checkout-auth-plan-recap-m__bar.is-open .checkout-auth-plan-recap-m__chev {
    transform: rotate(180deg);
  }

  #checkout #checkout-personal-information-step .checkout-auth-plan-recap-m__chev {
    flex-shrink: 0;
    width: 11px;
    height: 11px;
    opacity: 0.5;
    transition: transform 0.3s ease;
  }

  #checkout #checkout-personal-information-step .checkout-auth-plan-recap-m__lhs {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
  }

  #checkout #checkout-personal-information-step .checkout-auth-plan-recap-m__titles {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    min-width: 0;
  }

  #checkout #checkout-personal-information-step .checkout-auth-plan-recap-m__label {
    font-family: "Oswald", sans-serif;
    font-size: 0.56rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 300;
    opacity: 0.55;
  }

  #checkout #checkout-personal-information-step .checkout-auth-plan-recap-m__formule {
    font-family: "Libre Baskerville", Georgia, serif;
    font-weight: 400;
    font-size: 0.82rem;
    letter-spacing: -0.005em;
    line-height: 1.25;
  }

  #checkout #checkout-personal-information-step .checkout-auth-plan-recap-m__formule em {
    font-style: italic;
  }

  #checkout #checkout-personal-information-step .checkout-auth-plan-recap-m__price {
    font-family: "Libre Baskerville", Georgia, serif;
    font-weight: 400;
    font-size: 0.82rem;
    white-space: nowrap;
  }

  #checkout #checkout-personal-information-step .checkout-auth-plan-recap-m__details {
    position: relative;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
    background: var(--possible-mobile-plan-panel-bg, #fdf9f3) !important;
    color: #232323;
    width: 100%;
    z-index: 1;
  }

  #checkout #checkout-personal-information-step .checkout-auth-plan-recap-m__details.is-open {
    max-height: 280px;
    border-bottom: 1px solid rgba(35, 35, 35, 0.08);
  }

  #checkout #checkout-personal-information-step .checkout-auth-plan-recap-m__inner {
    padding: 14px 20px 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  #checkout #checkout-personal-information-step .checkout-auth-plan-recap-m__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: "Oswald", sans-serif;
    font-size: 0.68rem;
    font-weight: 300;
  }

  #checkout #checkout-personal-information-step .checkout-auth-plan-recap-m__row-lbl {
    opacity: 0.55;
    letter-spacing: 0.02em;
    text-transform: none;
  }

  #checkout #checkout-personal-information-step .checkout-auth-plan-recap-m__row-val {
    font-family: "Libre Baskerville", Georgia, serif;
    font-style: italic;
    font-size: 0.75rem;
    font-weight: 400;
  }

  #checkout #checkout-personal-information-step .checkout-auth-plan-recap-m__next {
    font-family: "Oswald", sans-serif;
    font-size: 0.56rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    opacity: 0.55;
    margin-top: 6px;
    padding-top: 10px;
    border-top: 1px solid rgba(35, 35, 35, 0.08);
  }

  #checkout #checkout-personal-information-step .checkout-auth-plan-recap-m__edit {
    display: inline-block;
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid rgba(35, 35, 35, 0.25);
    padding-bottom: 2px;
  }

  #checkout #checkout-personal-information-step .checkout-auth-plan-recap-m__edit:hover {
    opacity: 1;
  }

  #checkout #checkout-personal-information-step .checkout-auth-layout__main {
    padding: 0 24px;
  }

  #checkout #checkout-personal-information-step .checkout-auth-redesign__social {
    margin: 0 0 22px;
  }

  #checkout #checkout-personal-information-step .checkout-auth-redesign__social #fbpsc {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  #checkout #checkout-personal-information-step .checkout-auth-redesign__social-btn {
    min-height: 0;
    padding: 14px;
    font-size: 0.72rem;
    letter-spacing: 0.12em;
  }

  #checkout #checkout-personal-information-step .checkout-auth-redesign__social #fbpsc .checkout-auth-redesign__social-btn {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    margin-bottom: 0 !important;
    padding: 14px 48px !important;
    text-align: center !important;
  }

  #checkout #checkout-personal-information-step .checkout-auth-redesign__social #fbpsc .checkout-auth-redesign__social-btn.btn-social {
    padding-left: 48px !important;
    padding-right: 48px !important;
  }

  #checkout #checkout-personal-information-step .checkout-auth-redesign__social #fbpsc .checkout-auth-redesign__social-btn.btn-shadow {
    padding-left: 48px !important;
    padding-right: 48px !important;
    box-shadow: none !important;
  }

  #checkout #checkout-personal-information-step .checkout-auth-redesign__social #fbpsc .checkout-auth-redesign__social-btn.btn-connect {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #checkout #checkout-personal-information-step .checkout-auth-redesign__social #fbpsc .checkout-auth-redesign__social-btn .fa,
  #checkout #checkout-personal-information-step .checkout-auth-redesign__social #fbpsc .checkout-auth-redesign__social-btn .btn-google-default-icon {
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    line-height: 1 !important;
    background-size: 20px 20px !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
  }

  #checkout #checkout-personal-information-step .checkout-auth-redesign__social #fbpsc .checkout-auth-redesign__social-btn .btn-google-default-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%234285F4' d='M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z'/%3E%3Cpath fill='%2334A853' d='M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z'/%3E%3Cpath fill='%23FBBC05' d='M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z'/%3E%3Cpath fill='%23EA4335' d='M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z'/%3E%3C/svg%3E") !important;
  }

  #checkout #checkout-personal-information-step .checkout-auth-redesign__social #fbpsc .checkout-auth-redesign__social-btn .btn-title-connect {
    width: 100% !important;
    padding-left: 0 !important;
    margin: 0 !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.12em !important;
    line-height: 1.2 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  #checkout #checkout-personal-information-step .checkout-auth-redesign__divider {
    margin: 0 0 22px;
    font-weight: 300;
    font-size: 0.58rem;
    letter-spacing: 0.24em;
    color: rgba(35, 35, 35, 0.5);
  }

  #checkout #checkout-personal-information-step .checkout-auth-form__row {
    margin-bottom: 20px;
  }

  #checkout #checkout-personal-information-step .checkout-auth-form__field label {
    margin: 8px 0 4px;
    font-size: 0.54rem;
    letter-spacing: 0.22em;
  }

  #checkout #checkout-personal-information-step .checkout-auth-input {
    padding: 10px 28px 10px 0;
    min-height: 0;
    font-size: 0.9rem;
    border-bottom: 1px solid rgba(35, 35, 35, 0.15);
  }

  #checkout #checkout-personal-information-step .checkout-auth-password-toggle {
    font-size: 0.58rem;
    letter-spacing: 0.18em;
  }

  #checkout #checkout-personal-information-step .checkout-auth-form__hint {
    font-size: 0.68rem;
    margin-top: 6px;
  }

  #checkout #checkout-personal-information-step .checkout-auth-form__row--two-cols {
    grid-template-columns: 1fr;
    gap: 0;
  }

  #checkout #checkout-personal-information-step .checkout-auth-form__optional-button {
    padding: 13px 0;
    font-family: "Libre Baskerville", Georgia, serif;
    font-style: italic;
    font-size: 0.78rem;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
    color: rgba(35, 35, 35, 0.7);
  }

  #checkout #checkout-personal-information-step .checkout-auth-form__optional-plus {
    font-family: "Oswald", sans-serif;
    font-size: 1.1rem;
    font-weight: 300;
    opacity: 0.55;
  }

  #checkout #checkout-personal-information-step .checkout-auth-checkbox span {
    font-size: 0.72rem;
    line-height: 1.5;
  }

  /* Parcours Mobile.html — .sticky-cta-m : CTA fixé en bas */
  #checkout #checkout-personal-information-step .checkout-auth-form__actions,
  #checkout #checkout-personal-information-step .checkout-auth-form__actions--login {
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 430px;
    z-index: 100;
    margin-top: 0;
    margin-bottom: 0;
    padding: 12px 24px calc(12px + env(safe-area-inset-bottom, 0px));
    box-sizing: border-box;
    background: rgba(253, 249, 243, 0.96);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-top: 1px solid rgba(35, 35, 35, 0.08);
    justify-content: stretch;
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
  }

  #checkout #checkout-personal-information-step .checkout-auth-form__sticky-hint-m {
    display: block;
    margin: 0;
    padding-top: 2px;
    font-family: "Oswald", sans-serif;
    font-weight: 300;
    font-size: 0.5rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-align: center;
    opacity: 0.35;
  }

  /* Maquette tunnel compte : pas de « Étape précédente » dans .sticky-cta-m */
  #checkout #checkout-personal-information-step .checkout-auth-form__actions--register-m .checkout-auth-form__back-link {
    display: none !important;
  }

  /* .sticky-cta-m .btn-dark-m + effet .pulse-cta (2 cycles) */
  #checkout #checkout-personal-information-step .checkout-auth-form__actions .btn-primary.continue {
    width: 100%;
    min-width: 0;
    min-height: 0;
    padding: 15px 24px;
    font-size: 0.72rem;
    letter-spacing: 2.5px;
    border: 0;
    background: #232323;
    color: #fff;
    animation: checkout-auth-sticky-cta-pulse 1.8s ease-out 2;
  }

  #checkout #checkout-personal-information-step .checkout-auth-form__actions--login .checkout-auth-form__forgot {
    text-align: center;
    font-size: 0.62rem;
  }

  #checkout #checkout-personal-information-step .checkout-auth-form__back-link {
    justify-content: center;
    font-size: 0.6rem;
    letter-spacing: 0.2em;
    opacity: 0.55;
  }
}

@media (max-width: 991px) and (prefers-reduced-motion: reduce) {
  #checkout #checkout-personal-information-step .checkout-auth-form__actions .btn-primary.continue {
    animation: none;
  }
}

/* Parcours CMS — étape compte connecté (récap coordonnées, aligné comme le formulaire) */
#checkout #checkout-personal-information-step .checkout-auth-redesign--compte-logged .checkout-auth-layout__main {
  text-align: left !important;
}

#checkout #checkout-personal-information-step .checkout-auth-account-recap {
  width: 100%;
  text-align: left !important;
}

#checkout #checkout-personal-information-step .checkout-auth-account-recap .checkout-auth-form__row,
#checkout #checkout-personal-information-step .checkout-auth-account-recap .checkout-auth-form__field {
  text-align: left !important;
}

#checkout #checkout-personal-information-step .checkout-auth-account-recap__label {
  display: block;
  margin: 0 0 8px;
  text-align: left !important;
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  font-size: 0.58rem;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  opacity: 0.55;
  color: #232323;
}

#checkout #checkout-personal-information-step .checkout-auth-account-recap__value {
  display: block;
  width: 100%;
  margin: 0;
  padding: 10px 32px 10px 0;
  text-align: left !important;
  border-bottom: 1px solid rgba(35, 35, 35, 0.18);
  font-family: "Libre Baskerville", "Libre Bodoni", serif;
  font-size: 1rem;
  color: #232323;
}

#checkout #checkout-personal-information-step .checkout-auth-account-recap__edit,
#checkout #checkout-personal-information-step .checkout-auth-account-recap__disconnect {
  margin: 0 0 12px;
  text-align: left !important;
  font-family: "Libre Baskerville", "Libre Bodoni", serif;
  font-size: 0.82rem;
  color: rgba(35, 35, 35, 0.65);
}

#checkout #checkout-personal-information-step .checkout-auth-account-recap__edit a,
#checkout #checkout-personal-information-step .checkout-auth-account-recap__disconnect a {
  color: #232323;
  text-decoration: underline;
  text-underline-offset: 2px;
}

#checkout #checkout-personal-information-step .checkout-auth-account-recap__disconnect {
  margin-bottom: 28px;
}

#checkout #checkout-personal-information-step .checkout-auth-account-recap .checkout-auth-form__actions {
  text-align: left !important;
  justify-content: space-between;
}

@media (min-width: 992px) {
  #checkout #checkout-personal-information-step .checkout-auth-account-recap .checkout-auth-form__actions .btn-primary.continue {
    width: auto;
    min-width: 340px;
    min-height: 60px;
    padding: 20px 40px !important;
    margin-left: auto;
    float: none !important;
    border: 1px solid #121212;
    border-radius: 0;
    background: #121212;
    color: #f2e9e0;
    font-family: "Oswald", sans-serif;
    font-weight: 400 !important;
    font-size: 0.78rem !important;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    text-decoration: none;
  }
}

@media (max-width: 991px) {
  #checkout #checkout-personal-information-step .checkout-auth-account-recap .checkout-auth-form__actions {
    text-align: left !important;
    align-items: stretch;
  }

  #checkout #checkout-personal-information-step .checkout-auth-account-recap .checkout-auth-form__actions .btn-primary.continue {
    width: 100%;
    min-width: 0;
    min-height: 0;
    padding: 15px 24px;
    margin-left: 0 !important;
    font-family: "Oswald", sans-serif;
    font-weight: 400 !important;
    font-size: 0.72rem !important;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    line-height: 1;
    border: 0;
    border-radius: 0;
    background: #232323;
    color: #fff;
    float: none !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    animation: checkout-auth-sticky-cta-pulse 1.8s ease-out 2;
  }
}

@media (max-width: 991px) and (prefers-reduced-motion: reduce) {
  #checkout #checkout-personal-information-step .checkout-auth-account-recap .checkout-auth-form__actions .btn-primary.continue {
    animation: none;
  }
}
