.commerce-page{background:#f8f5f2;color:#62615f;font-family:Assistant,Arial,sans-serif;overflow:clip}.commerce-page h1,.commerce-page h2,.commerce-page h3{font-family:var(--font-title);color:#565654}.commerce-hero{padding-block:clamp(5rem,9vw,8rem);background:#f0d1c1;text-align:center}.commerce-hero .shell{display:grid;justify-items:center}.commerce-hero h1{max-width:13ch;margin:.25em auto;font-size:clamp(2.8rem,6vw,5.6rem);font-weight:500;line-height:1.02}.commerce-hero p:last-child{max-width:62ch;font-size:var(--step-1)}.commerce-hero--compact{padding-block:4rem}.commerce-hero--product{text-align:left}.commerce-hero--product .shell{justify-items:start}.commerce-section{padding-block:clamp(4rem,8vw,7rem)}.commerce-heading{max-width:760px;margin:0 auto 3rem;text-align:center}.commerce-heading h2{margin:.3em 0;font-size:clamp(2rem,4vw,3.3rem);font-weight:500}.commerce-empty{max-width:900px;margin:auto;padding:clamp(2rem,5vw,5rem);border-radius:20px;background:#fff;box-shadow:0 12px 26px rgb(80 83 85 / 8%);text-align:center}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4rem}.product-card{display:flex;flex-direction:column;height:100%;overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 12px 26px rgb(80 83 85 / 8%)}.product-card__image{display:block;overflow:hidden}.product-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s ease}.product-card:hover img{transform:scale(1.01)}.product-card__body{display:flex;flex:1;flex-direction:column;padding:clamp(1.5rem,4vw,3rem)}.product-card h2{min-height:2.4em;margin:.4em 0;font-size:clamp(1.6rem,2.8vw,2.25rem);font-weight:500;line-height:1.2}.product-card h2 a{color:#565654;text-decoration:none}.product-card__foot{display:flex;flex-direction:column;align-items:stretch;gap:1rem;margin-top:auto;padding-top:1.5rem}.product-card__actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:.75rem}.product-card__actions .button,.product-card__actions .button-secondary{flex:1 1 0;min-width:9rem;white-space:nowrap;text-align:center}.product-card__foot strong{color:#a35839;font-size:1.55rem}.product-detail,.cart-layout,.checkout-layout,.account-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:clamp(2rem,6vw,6rem)}.product-detail__content>img{width:100%;margin-bottom:3rem;border-radius:20px;object-fit:cover}.product-detail__content h2{margin:.3em 0}.product-included{padding:0;border-top:1px solid #ded8ce;list-style:none}.product-included li{padding:1rem 0;border-bottom:1px solid #ded8ce}.product-included li::before{margin-right:.7rem;color:#846e24;content:"◆"}.sticky-rail{min-width:0;position:relative}.product-detail aside,.cart-layout aside,.checkout-layout aside{padding:2rem;border-radius:20px;background:#fff;box-shadow:0 12px 26px rgb(80 83 85 / 8%)}.product-detail aside form,.product-detail aside .product-calendly-actions{justify-content:center;text-align:center}.product-detail aside>a.button{display:flex;width:fit-content;margin-inline:auto}/* Terracotta assombri : #cf8f75 sur l’encadré blanc ne valait que 2,68 de contraste, sur le
   seul chiffre que la cliente cherche avant d’acheter. Même teinte, densité portée à 4,92. */
.product-price{margin:.25em 0;color:#aa5b3b;font-size:clamp(2.2rem,4vw,3.5rem);font-weight:600}.product-facts{margin:1.5rem 0}.product-facts div{padding:.8rem 0;border-bottom:1px solid #ded8ce}.product-facts dt{font-weight:700}.product-facts dd{margin:0}.cart-item{display:grid;grid-template-columns:72px 1fr auto auto;grid-template-areas:"img content price remove";align-items:center;gap:1.25rem;padding:1.5rem 0;border-bottom:1px solid #ded8ce}.cart-item h2{font-size:var(--step-1)}.cart-item__image{grid-area:img;width:72px;height:72px;border-radius:14px;object-fit:cover}.cart-item__image--placeholder{background:linear-gradient(135deg,#f6e7b6,#e5bca8)}.cart-item__body{grid-area:content}.cart-item__price{grid-area:price}.cart-item__remove{grid-area:remove}.text-button{padding:0;border:0;background:transparent;color:#505355;text-decoration:underline;cursor:pointer}.checkout-layout fieldset{display:grid;gap:.75rem;margin:1.5rem 0}.checkout-layout label{display:grid;gap:.4rem}.consent{grid-template-columns:auto 1fr!important}.account-panel{max-width:460px;margin:0 auto;padding:clamp(2.2rem,5vw,3rem);border-radius:28px 10px 28px 10px;background:#fff;box-shadow:0 20px 50px rgb(80 83 85 / 10%);text-align:center}.account-panel h2{margin:.3rem 0 1.75rem;font-size:1.9rem}.account-panel form{display:grid;gap:1.1rem;text-align:left}.account-panel .button{width:100%;margin-top:.3rem}.account-panel .form-error,.account-popup .form-error{margin-bottom:1.25rem;text-align:left}.account-panel__links{display:flex;flex-direction:column;gap:.7rem;margin-top:1.75rem;padding-top:1.4rem;border-top:1px solid #ded8ce}.account-panel__links button{padding:0;border:0;background:none;color:var(--terra-dark);font-family:var(--font-body);font-size:.92rem;font-weight:600;text-decoration:underline;text-decoration-color:transparent;cursor:pointer;transition:text-decoration-color .15s ease}.account-panel__links button:hover,.account-panel__links button:focus-visible{text-decoration-color:currentColor}.account-popup{width:min(440px,calc(100% - 2rem));padding:clamp(1.6rem,4vw,2.4rem);border:1px solid #cfb250;border-radius:28px 10px 28px 10px;background:#f8f5f2;color:#505355;box-shadow:0 24px 80px rgb(80 83 85 / 22%)}.account-popup h2{margin:.3rem 0 1.5rem}.account-popup form{display:grid;gap:1.1rem;text-align:left}.account-popup__close{position:absolute;top:1rem;right:1rem;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #cfb250;border-radius:50%;background:#f0d1c1;color:#505355;font-size:1.4rem;line-height:1;cursor:pointer}.commerce-page label{display:grid;gap:.4rem;font-weight:600;font-size:.92rem;color:#505355}.commerce-page label small{font-weight:400;color:#5e615b}.commerce-page input:not([type=checkbox]):not([type=radio]):not([type=hidden]){width:100%}.commerce-page input:not([type=checkbox]):not([type=radio]):not([type=hidden]):focus{outline:2px solid var(--terra);outline-offset:1px;border-color:var(--terra)}.form-error{padding:1rem;background:#fff0ed;color:#752c22}.commerce-page .button-secondary{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--terra);border-radius:999px;padding:.86rem 1.35rem;color:var(--terra-dark);font-family:var(--font-body);font-size:1rem;font-weight:600;text-decoration:none}.commerce-page .button-secondary:hover,.commerce-page .button-secondary:focus-visible{background:rgb(207 143 117 / 10%)}.product-calendly-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem;margin:1.2rem 0}.product-calendly-note,.product-vat-note,.commerce-vat-note{margin:.6rem 0 0;color:var(--muted);font-size:.85rem}.commerce-vat-note{margin-top:2.5rem;text-align:center}.installment-plans{margin-top:1.5rem}.installment-table{width:100%;border-collapse:collapse;font-size:.92rem}.installment-table th,.installment-table td{padding:.6rem .5rem;text-align:left;border-bottom:1px solid #ded8ce}.installment-table th{color:#5e615b;font-weight:600}.commerce-steps{display:flex;align-items:center;justify-content:center;gap:.6rem;max-width:520px;margin:-1.6rem auto 0;padding:.9rem 1.4rem;border-radius:999px;background:#fff;box-shadow:0 12px 26px rgb(80 83 85 / 8%);list-style:none;position:relative;z-index:1}.commerce-steps__item{display:flex;align-items:center;gap:.55rem;color:#767470;font-size:.85rem;font-weight:600}.commerce-steps__item.is-current,.commerce-steps__item.is-done{color:#565654}.commerce-steps__mark{display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;border:1px solid #ded8ce;font-size:.75rem}.commerce-steps__item.is-current .commerce-steps__mark{border-color:var(--terra);background:var(--terra);color:#2b2d2f}.commerce-steps__item.is-done .commerce-steps__mark{border-color:var(--terra);color:var(--terra-text)}.commerce-steps__item:not(:last-child)::after{width:1.6rem;height:1px;margin-left:.4rem;background:#ded8ce;content:""}.cart-summary{text-align:left}.cart-summary__total{margin:.2rem 0 1rem;color:#a35839;font-size:clamp(1.9rem,3.4vw,2.6rem);font-weight:600}.cart-summary__lines{margin:0 0 1.5rem}.cart-summary__lines div{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid #ded8ce;font-size:.92rem}.cart-summary__lines dt{color:#5e615b;font-weight:400}.cart-summary__lines dd{margin:0;font-weight:600}.cart-summary .button{width:100%}.cart-summary__secure{margin:.9rem 0 0;color:#5e615b;font-size:.8rem;text-align:center}.checkout-account{display:flex;align-items:center;gap:.9rem;margin-bottom:2rem;padding:1rem 1.2rem;border-radius:16px;background:#fff;box-shadow:0 12px 26px rgb(80 83 85 / 8%)}.checkout-account__mark{display:grid;flex-shrink:0;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--terra-text);color:#fff;font-weight:700}.checkout-account__label{margin:0;color:#5e615b;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.checkout-account__name{margin:.15rem 0 0;font-weight:600}.order-rows{border-top:1px solid #ded8ce}.order-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid #ded8ce}.checkout-discount{color:var(--terra-dark);font-weight:600}.checkout-promo{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin:1.25rem 0}.checkout-quote{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin:0 0 1.25rem}.checkout-quote__note{color:#5e615b;font-size:.85rem;flex:1 1 14rem}.checkout-promo label{flex:1 1 200px}.payment-methods{gap:.75rem!important}label.payment-method{display:flex;flex-direction:column;gap:.5rem;padding:.9rem 1.1rem;border:1px solid #ded8ce;border-radius:14px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.payment-method:has(:checked){border-color:var(--terra);background:rgb(207 143 117 / 6%)}.payment-method__head{display:flex;align-items:center;gap:.75rem}.payment-method__head input{flex-shrink:0;margin:0}.payment-method__mark{display:grid;flex-shrink:0;place-items:center;width:2.1rem;height:2.1rem;border-radius:50%;background:#f0d1c1;color:#8a4a34;font-weight:700}.payment-method small{color:#5e615b;font-size:.8rem;line-height:1.4}.checkout-submit{width:100%;margin-top:1.5rem}.checkout-layout .consent{margin:1.5rem 0 1rem}.paypal-button-container{min-height:45px}.payment-divider{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0;color:#5e615b;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}.payment-divider::before,.payment-divider::after{flex:1;height:1px;background:#ded8ce;content:""}.button-revolut{display:flex;align-items:center;justify-content:center;gap:.3rem;min-height:48px;border:0;border-radius:999px;background:#000;color:#fff;font-family:var(--font-body);font-size:1.05rem;font-weight:800;letter-spacing:-.01em;cursor:pointer;transition:opacity .15s ease}.button-revolut span{font-weight:400}.button-revolut:hover,.button-revolut:focus-visible{opacity:.85}
.product-card--featured{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:stretch;border:2px solid var(--brand-gold)}.product-card--featured .product-card__image{height:100%}.product-card--featured .product-card__image img{height:100%}.product-card--featured .product-card__body{justify-content:center}.product-card--featured .product-card__foot{margin-top:2rem;padding-top:0}
.product-card__image--split{display:grid;grid-template-columns:1fr 1fr}.product-card__image--split img{aspect-ratio:auto;height:100%}
.product-card__image--placeholder{display:block;aspect-ratio:4/3;background-color:#f0d1c1;background-image:url('/public/assets/media/site/logo.webp'),linear-gradient(135deg,#f6e7b6,#e5bca8);background-size:64px,cover;background-position:center,center;background-repeat:no-repeat,no-repeat}
@media(max-width:800px){.product-grid,.product-detail,.cart-layout,.checkout-layout,.account-layout{grid-template-columns:1fr}.product-detail aside,.cart-layout aside,.checkout-layout aside{position:static}.sticky-rail{min-height:0!important}.product-grid{gap:1.5rem}.product-card--featured{grid-template-columns:1fr}.product-card--featured .product-card__image img{aspect-ratio:4/3}.product-card__image--split img{aspect-ratio:1/1}.product-card__foot{align-items:stretch;flex-direction:column}.cart-item{grid-template-columns:56px 1fr;grid-template-areas:"img content" "price remove";row-gap:.5rem}.cart-item__image{width:56px;height:56px}.cart-item__remove{justify-self:end}.commerce-steps{gap:.3rem;padding:.75rem 1rem;margin-top:-1.2rem}.commerce-steps__item{font-size:.72rem}.commerce-steps__item:not(:last-child)::after{width:.9rem}}
@media(prefers-reduced-motion:reduce){.product-card img{transition:none}}
.checkout-breakdown{width:100%;margin:1rem 0 .5rem;border-collapse:collapse;font-size:.9rem}.checkout-breakdown caption{margin-bottom:.5rem;color:#5e615b;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-align:left;text-transform:uppercase}.checkout-breakdown th,.checkout-breakdown td{padding:.55rem 0;border-bottom:1px solid #ded8ce;text-align:left;font-weight:400}.checkout-breakdown td{text-align:right;white-space:nowrap}.checkout-breakdown th{color:#5e615b;padding-right:1rem}.checkout-breakdown__net th,.checkout-breakdown__net td{color:#565654;font-weight:700}.checkout-breakdown tfoot th,.checkout-breakdown tfoot td{border-bottom:0;color:#565654;font-weight:700}.cart-summary__fee-note{margin:.6rem 0 0;color:#5e615b;font-size:.78rem;line-height:1.45;text-align:center}.checkout-methods{margin:1.25rem 0}.checkout-methods h3{margin:0 0 .6rem;font-size:1rem}.checkout-method-fee{border-bottom:1px solid #ded8ce}.checkout-method-fee summary{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.7rem 0;cursor:pointer;font-size:.92rem}.checkout-method-fee__name{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem;font-weight:600;color:#565654}.checkout-method-fee__best{padding:.1rem .5rem;border-radius:999px;background:#f0d1c1;color:#8a4a34;font-size:.7rem;font-style:normal;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.checkout-method-fee__total{color:#a35839;font-weight:700;white-space:nowrap}.checkout-method-fee .checkout-breakdown{margin-top:0;margin-bottom:.9rem}.checkout-methods__note{margin:.9rem 0 0;color:#5e615b;font-size:.78rem;line-height:1.45}
/* Porte de sortie sous le bouton d'achat : sur un pack à 3 495 €, beaucoup veulent parler avant
   de cliquer. Discret — il ne doit jamais concurrencer l'achat. */
.product-ask{margin:.7rem 0 0;color:#6b625c;font-size:.85rem;line-height:1.5}
.product-ask a{color:#a35839;font-weight:600;text-underline-offset:3px}

/* ── Sur téléphone, le prix passe devant ────────────────────────────────────
   Sous 800 px la fiche produit passe en une colonne, et la colonne de droite —
   celle qui porte le prix, le bouton d'achat et les informations pratiques —
   tombait DERRIÈRE le texte de présentation. Mesuré : il fallait trois écrans
   et demi de défilement pour voir le prix, alors que le titre de l'onglet
   l'affiche déjà. Quelqu'un qui compare deux formations sur son téléphone ne
   fait pas défiler trois écrans par page.

   Un ordre d'affichage suffit : le balisage ne bouge pas, la version grand
   écran non plus — la colonne y reste à droite, collante, comme avant. */
@media (max-width:800px) {
  .product-detail { display:grid }
  .product-detail .sticky-rail { order:-1 }
  .product-detail .product-detail__content { order:0 }
}

/* ═══ LE CHOIX DE L'ÉCHÉANCIER ═══
   Le tableau des modalités devient choisissable quand l'abonnement Revolut est
   ouvert. On reprend exactement le motif des moyens de paiement juste au-dessus
   — `:has(:checked)`, bordure terracotta, fond très pâle — pour que les deux
   choix de la page se ressemblent au lieu de se concurrencer. */
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.installment-table tr:has(:checked){background:rgb(207 143 117 / 6%)}
.installment-table tr:has(:checked) td{border-bottom-color:var(--terra)}
.installment-table td:has(input[type=radio]){width:2.2rem;padding-right:0}
.installment-table input[type=radio]{margin:0}
.installment-table label{display:block;font-weight:600;cursor:pointer}
.installment-table tr:has(:checked) label{color:var(--terra-dark)}

/* Le versement qui diffère des autres — la première échéance quand le plafond
   de 30 % a mordu, la dernière quand elle porte les centimes de la division.
   Discret : c'est une précision, pas un avertissement. */
.installment-adjust{display:block;margin-top:.15rem;color:var(--muted);font-size:.82rem}

/* L'avertissement sur la durée, lui, doit se voir : au-delà de trois échéances,
   la formation doit se dérouler sur une durée au moins équivalente, sinon le
   paiement devient un crédit à la consommation. Sur le pêche, avec le brun
   foncé qui le porte — jamais l'inverse. */
.installment-warning{display:block;margin-top:.4rem;padding:.4rem .6rem;border-radius:10px;background:#f0d1c1;color:#8a4a34;font-size:.78rem;line-height:1.45}

/* ═══════════════════════════════════════════════════════════════
   LES CARTES S'ALIGNENT RANGEE PAR RANGEE.

   Leon, le 2 septembre 2026 : « paiement doit etre en phase de paiement,
   formule en phase de formule, le petit texte sous le titre en phase du petit
   texte ». Deux cartes cote a cote dont les descriptions font trois et sept
   lignes decalaient tout ce qui suivait — 130 px d'ecart sur les faits,
   129 px sur le bouton, mesures a 1440 px.

   DEUX DEFAUTS, DEUX CORRECTIONS.

   1. LE PIED NE DESCENDAIT PLUS. `.product-card__foot{margin-top:auto}` le
      collait au bas de la carte ; brand-alignment.css pose plus loin
      `margin-top:1.2rem` et l'ecrasait. D'ou 161 px de vide sous un bouton et
      32 sous l'autre. On le restitue.

   2. LES RANGEES NE SE PARLAIENT PAS. Chaque carte calculait ses hauteurs dans
      son coin. `subgrid` les fait toutes lire les MEMES lignes : la description
      la plus haute donne sa hauteur a la rangee, et « Formule » se retrouve a
      la meme ordonnee dans les deux cartes.

   DIX LIGNES : l'image, le survitre, le titre, la description, les cinq faits
   possibles, le pied. Une carte qui n'a que quatre faits laisse la cinquieme
   ligne vide — c'est le prix de l'alignement, et c'est ce qui garde les boutons
   sur la meme ligne.

   SOUS @supports : un navigateur sans subgrid retrouve exactement la mise en
   page d'avant, pied colle au bas compris. Rien ne se casse nulle part. */
/* brand-alignment.css pose `.page-boutique .product-card__foot{margin-top:1.2rem}`,
   deux classes contre une : le `margin-top:auto` d'origine perdait, et le pied ne
   collait plus au bas de la carte — 161 px de vide sous un bouton, 32 sous l'autre.
   On lui rend le meme poids. */
.page-boutique .product-card__foot,
.page-produit .product-card__foot,
.product-card__foot { margin-top: auto; }

@supports (grid-template-rows: subgrid) {
  .product-card {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 10;
  }
  .product-card__body {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 9;
  }
  .product-card__facts {
    grid-template-rows: subgrid;
    grid-row: span 5;
    align-content: start;
  }
  /* La carte large occupe sa rangee seule et se met en deux colonnes : elle
     garde sa composition d'origine, il n'y a personne avec qui s'aligner. */
  .product-card--featured,
  .product-card--featured .product-card__body,
  .product-card--featured .product-card__facts {
    display: flex;
    flex-direction: column;
    grid-template-rows: none;
  }
  .product-card--featured { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); }
  .product-card--featured .product-card__facts { display: grid; }
}

/* LES DEUX PHOTOS DU PACK, L'UNE SOUS L'AUTRE (2 septembre 2026).
   Cote a cote, chacune ne tenait que la moitie de la colonne. Empilees,
   elles prennent toute sa largeur — deux fois plus grandes. Les rangees
   sont declarees en 1fr chacune : en « auto », les images gardaient leur
   hauteur naturelle et laissaient du vide sous elles. */
.product-card__image--split{grid-template-columns:1fr;grid-template-rows:1fr 1fr}
.product-card__image--split img{width:100%;height:100%;object-fit:cover;aspect-ratio:auto}

/* LES TITRES DE LA BOUTIQUE SONT CEUX DU SITE (2 septembre 2026).
   Cette feuille imposait « Assistant, Arial, sans-serif » aux h1/h2/h3 de
   toutes les pages .commerce-page — boutique, produit, panier, commande,
   compte — alors que tout le reste du site titre en Libre Baskerville. Cinq
   familles de pages parlaient une autre langue typographique que les autres.
   Le corps de texte, lui, reste en Assistant : c'est la police de lecture. */
