/* Feuille découpée de pages.css (billet perfs, étape 5b) : Tunnel de commande, confirmation, échec et espace client.
   Chargée par theme/inc/performances.php (wpaio_feuilles_de_page) sur ce seul type de page. */
/* Espace client (theme/inc/compte.php) : la navigation en colonne, le contenu à côté. */
.wpa-compte { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 48px; align-items: start; }
.wpa-compte-nav ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; position: sticky; top: 96px; }
.wpa-compte-nav a {
  display: block;
  padding: 10px 14px;
  border-radius: var(--wpa-rayon-bouton);
  color: var(--wpa-encre);
  text-decoration: none;
  font-weight: 500;
}
.wpa-compte-nav a:hover { background: var(--wpa-violet-pale); text-decoration: underline; text-underline-offset: 0.18em; }
.wpa-compte-nav a[aria-current="page"] { background: var(--wpa-nuit); color: var(--wpa-surface); }
.wpa-compte-nav .wpa-compte-sortie { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--wpa-trait); }
.wpa-compte-nav .wpa-compte-sortie a { color: var(--wpa-texte-second); font-weight: 400; }
.wpa-compte-contenu > :first-child { margin-top: 0; }
/* Vue d'ensemble (bloc elabo/compte-accueil de wp-apidae-io-core) : une tuile par rubrique. */
.wpa-compte-bonjour { margin: 0 0 var(--wpa-espace-50); font-size: var(--wpa-taille-l); color: var(--wpa-texte-second); }
.wpa-compte-bonjour:has(+ .wpa-compte-reference) { margin-bottom: var(--wpa-espace-20); }
.wpa-compte-reference { margin: 0 0 var(--wpa-espace-50); color: var(--wpa-texte-second); }
.wpa-compte-reference strong { color: var(--wpa-nuit); font-variant-numeric: tabular-nums; letter-spacing: 0.02em; }
.wpa-compte-accueil .edd-account-pending { margin: 0 0 var(--wpa-espace-50); padding: var(--wpa-espace-40); border: 1px solid var(--wpa-etat-attention-trait); border-radius: var(--wpa-rayon-carte); background: var(--wpa-etat-attention-fond); color: var(--wpa-etat-attention); }
.wpa-compte-tuiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--wpa-espace-50); }
.wpa-compte-tuile { display: flex; flex-direction: column; padding: var(--wpa-espace-50); border-radius: var(--wpa-rayon-carte); background: var(--wpa-surface); box-shadow: var(--wpa-ombre-carte); }
.wpa-compte-tuile h2 { margin: 0 0 var(--wpa-espace-30); font-family: var(--wpa-police-texte); font-size: var(--wpa-taille-s); font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--wpa-texte-discret); }
.wpa-compte-tuile-valeur { margin: 0; font-family: var(--wpa-police-titre); font-size: var(--wpa-taille-2xl); line-height: 1.1; color: var(--wpa-nuit); }
.wpa-compte-tuile-detail { margin: var(--wpa-espace-20) 0 var(--wpa-espace-50); color: var(--wpa-texte-second); }
.wpa-compte-tuile-action { margin: auto 0 0; }
.wpa-compte-tuile-action a { font-weight: 600; color: var(--wpa-lien); text-underline-offset: 0.18em; }
@media (max-width: 900px) {
  .wpa-compte { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .wpa-compte-nav ul { position: static; display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
  .wpa-compte-nav li { flex: 0 0 auto; }
  .wpa-compte-nav a { padding: 8px 12px; border: 1px solid var(--wpa-trait); background: var(--wpa-surface); white-space: nowrap; }
  .wpa-compte-nav .wpa-compte-sortie { margin: 0; padding: 0; border: 0; }
}

/* Blocs EDD de l'espace client (licences, abonnements, commandes, téléchargements, profil,
   connexion) à la charte. Portée : le contenu du compte, et la connexion de /mon-compte/ (page
   18453, contenu du bloc elabo/compte-accueil pour un visiteur). */
/* Bouton principal : EDD pose la couleur « white » de ses réglages en .edd-submit.button.white
   (edd.min.css, trois classes) ; repris ici au même poids, plus le corps. */
body .edd-submit.button.white { background: var(--wpa-nuit); border: 0; color: var(--wpa-surface); }
body .edd-submit.button.white:is(:hover, :focus, :active) { background: var(--wpa-orange); color: var(--wpa-nuit); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 0.22em; }
/* Aide sous « Acheter » (wp-apidae-io-core, Edd\Commande::aide_carte, émise en hidden) : visible
   seulement quand le script de Stripe a désactivé le bouton faute de carte complète ; display: block
   l'emporte sur l'attribut hidden. */
.wpa-aide-carte { display: none; margin: var(--wpa-espace-20) 0 0; font-size: var(--wpa-taille-s); color: var(--wpa-texte-second); text-align: center; }
.edd-submit[data-edd-button-state="disabled"] ~ .wpa-aide-carte { display: block; }
/* Actions secondaires : bouton contour de la charte (.wpa-bouton-second). */
:is(.wpa-compte-contenu, .page-id-18453 .entry-content) :is(.edd-licenses__action, .wp-generate-pw, .edd-button-secondary) {
  display: inline-flex; align-items: center; gap: var(--wpa-espace-20);
  padding: 0.6em 1em; border: 1.5px solid var(--wpa-nuit); border-radius: var(--wpa-rayon-bouton);
  background: transparent; color: var(--wpa-nuit); font: 600 var(--wpa-taille-s)/1 var(--wpa-police-texte); text-decoration: none; cursor: pointer;
}
:is(.wpa-compte-contenu, .page-id-18453 .entry-content) :is(.edd-licenses__action, .wp-generate-pw, .edd-button-secondary):hover { background: var(--wpa-violet-pale); box-shadow: inset 0 -3px 0 var(--wpa-orange); text-decoration: underline; text-underline-offset: 0.18em; }
:is(.wpa-compte-contenu, .page-id-18453 .entry-content) :is(.edd-licenses__action, .wp-generate-pw, .edd-button-secondary):focus-visible { outline: 3px solid var(--wpa-lien); outline-offset: 3px; }
/* Cartes : surface blanche, trait et rayon de la charte. */
:is(.wpa-compte-contenu, .page-id-18453 .entry-content) :is(.edd-licenses__item, .edd-blocks-orders__order, .edd-blocks-subscriptions__subscription, .edd-blocks-form fieldset, form.edd-blocks-form:not(:has(fieldset))) {
  background: var(--wpa-surface); border: 1px solid var(--wpa-trait); border-radius: var(--wpa-rayon-carte);
}
.wpa-compte-contenu .edd-blocks-form legend { padding-inline: var(--wpa-espace-20); font-family: var(--wpa-police-titre); font-size: var(--wpa-taille-l); color: var(--wpa-nuit); }

/* Commande (bloc edd/checkout) à la charte. */
/* Bouton plein d'EDD : edd.min.css le pose en .edd-submit.button (deux classes) ; même poids + corps. */
body .edd-submit.button:not(.edd-sl-show-renewal-form) { background: var(--wpa-nuit); border: 0; color: var(--wpa-surface); border-radius: var(--wpa-rayon-bouton); }
body .edd-submit.button:not(.edd-sl-show-renewal-form):is(:hover, :focus) { background: var(--wpa-orange); color: var(--wpa-nuit); }
/* « Renouveler une licence existante » : action secondaire, bouton contour. */
body .edd-submit.button.edd-sl-show-renewal-form {
  background: transparent; color: var(--wpa-nuit); border: 1.5px solid var(--wpa-nuit); border-radius: var(--wpa-rayon-bouton);
  font: 600 var(--wpa-taille-s)/1 var(--wpa-police-texte); padding: 0.75em 1.1em;
}
body .edd-submit.button.edd-sl-show-renewal-form:hover { background: var(--wpa-violet-pale); box-shadow: inset 0 -3px 0 var(--wpa-orange); color: var(--wpa-nuit); text-decoration: underline; text-underline-offset: 0.18em; }
/* Sections du formulaire : surface blanche, trait et rayon de la charte. */
.wp-block-edd-checkout fieldset { background: var(--wpa-surface); border: 1px solid var(--wpa-trait); border-radius: var(--wpa-rayon-carte); }
/* Moyens de paiement : des cartes à choisir, la sélection en nuit. La feuille du bloc d'EDD les vise
   par l'identifiant edd-payment-mode-wrap dans .wp-block-edd-checkout : même chemin ici, plus body.
   L'identifiant est écrit avec un échappement CSS (\65 = e) : en clair, design-system/verifier.py lirait
   son début, dièse puis « edd », comme une couleur hexadécimale. Même sélecteur, même spécificité. */
.wp-block-edd-checkout #\65 dd-payment-mode-wrap { display: flex; flex-wrap: wrap; gap: var(--wpa-espace-30); }
body .wp-block-edd-checkout #\65 dd-payment-mode-wrap label.edd-gateway-option {
  flex: 1 1 220px; display: flex; align-items: center; justify-content: center; gap: var(--wpa-espace-20);
  padding: var(--wpa-espace-40); border: 1.5px solid var(--wpa-bord-champ); border-radius: var(--wpa-rayon-carte);
  background: var(--wpa-surface); color: var(--wpa-nuit); font-weight: 600; cursor: pointer; margin: 0 !important;
}
body .wp-block-edd-checkout #\65 dd-payment-mode-wrap label.edd-gateway-option:hover { border-color: var(--wpa-violet); transform: none; }
body .wp-block-edd-checkout #\65 dd-payment-mode-wrap label.edd-gateway-option.edd-gateway-option-selected { border-color: var(--wpa-nuit); background: var(--wpa-violet-pale); box-shadow: inset 0 0 0 1px var(--wpa-nuit); }
body .wp-block-edd-checkout #\65 dd-payment-mode-wrap label.edd-gateway-option:has(input:focus-visible) { outline: 3px solid var(--wpa-lien); outline-offset: 3px; }

/* ——— Commande : refonte du tunnel (Pierre, 09/10). Le formulaire à gauche en trois étapes
   numérotées, le récapitulatif « Votre commande » à droite, collé pendant le défilement ; une seule
   colonne, récapitulatif d'abord, sous 1000 px. Mise en page seule : le comportement (prix HT,
   passerelles, apparence du cadre Stripe) est dans wp-apidae-io-core, Edd\Commande.
   Les identifiants d'EDD sont écrits échappés (\65 = e), comme plus haut : en clair, leur début se
   lirait comme une couleur (design-system/verifier.py). Des identifiants, et non [id="…"] : les
   règles d'EDD les visent par identifiant, un sélecteur d'attribut perdrait. ——— */
body.edd-checkout { --theme-block-max-width: 1180px; }
body .wp-block-edd-checkout { --wpa-commande-recap: 380px; gap: var(--wpa-espace-50); }
@media (min-width: 1000px) {
  body .wp-block-edd-checkout.edd-checkout__layout--full { display: grid; grid-template-columns: minmax(0, 1fr) var(--wpa-commande-recap); column-gap: var(--wpa-espace-60); align-items: start; }
  body .wp-block-edd-checkout.edd-checkout__layout--full > * { grid-column: 1; }
  body .wp-block-edd-checkout.edd-checkout__layout--full > .edd-blocks__cart { grid-column: 2; grid-row: 1 / span 4; position: sticky; top: var(--wpa-espace-50); }
  body.admin-bar .wp-block-edd-checkout.edd-checkout__layout--full > .edd-blocks__cart { top: calc(32px + var(--wpa-espace-50)); }
}

/* Le récapitulatif : une carte blanche titrée, les montants alignés à droite, le total appuyé. */
body .wp-block-edd-checkout .edd-blocks__cart { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--wpa-espace-40); }
/* Texte agrandi à 200 % : les montants passent à la ligne plutôt que de sortir de la fenêtre (10.4). */
body .wp-block-edd-checkout .edd-blocks__cart, body .wp-block-edd-checkout .edd-blocks-form__cart { min-width: 0; overflow-wrap: anywhere; }
body .wp-block-edd-checkout .edd-blocks-cart__row:not(.edd-blocks-cart__row-header), body .wp-block-edd-checkout .edd_cart_subtotal, body .wp-block-edd-checkout .edd_cart_tax, body .wp-block-edd-checkout .edd_cart_total { flex-wrap: wrap; }
body .wp-block-edd-checkout .edd_cart_item_price { flex-wrap: wrap; white-space: normal; }
body .wp-block-edd-checkout .edd-blocks-form__cart { padding: var(--wpa-espace-50); background: var(--wpa-surface); border: 0; border-radius: var(--wpa-rayon-carte); box-shadow: var(--wpa-ombre-carte); }
body .wp-block-edd-checkout .wpa-commande-titre { display: block; margin: 0 0 var(--wpa-espace-30); font: 800 var(--wpa-taille-l)/1.2 var(--wpa-police-titre); color: var(--wpa-nuit); }
body .wp-block-edd-checkout .edd-blocks-form__cart #\65 dd_checkout_cart { border: 0; }
/* En-tête de colonnes masqué à l'écran, lu par les lecteurs d'écran (le panier a les rôles d'un tableau, commande.js). */
body .wp-block-edd-checkout .edd-blocks-form__cart .edd-blocks-cart__row-header { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); border: 0; white-space: nowrap; }
body .wp-block-edd-checkout .edd-blocks-form__cart .edd-blocks-cart__row,
body .wp-block-edd-checkout .edd-blocks-form__cart .edd_cart_footer_row { flex-wrap: nowrap; gap: var(--wpa-espace-30); padding: var(--wpa-espace-20) 0; border: 0; text-align: left; }
body .wp-block-edd-checkout .edd-blocks-form__cart .edd-blocks-cart__items { padding-bottom: var(--wpa-espace-30); margin-bottom: var(--wpa-espace-20); border-bottom: 1px solid var(--wpa-trait); }
body .wp-block-edd-checkout .edd-blocks-form__cart .edd-blocks-cart__row-item { align-items: flex-start; }
body .wp-block-edd-checkout .edd-blocks-form__cart .edd-blocks-cart__row-item > .edd_cart_item_name { flex: 1 1 auto; min-width: 0; }
body .wp-block-edd-checkout .edd-blocks-form__cart .edd-blocks-cart__row-item > .edd_cart_item_price { flex: 0 0 auto; font-weight: 700; color: var(--wpa-nuit); font-variant-numeric: tabular-nums; white-space: nowrap; }
body .wp-block-edd-checkout .edd_checkout_cart_item_title { display: flex; align-items: center; gap: var(--wpa-espace-20); font-weight: 700; color: var(--wpa-nuit); }
body .wp-block-edd-checkout .edd_cart_item_image img { display: block; width: 32px; height: 32px; border-radius: var(--wpa-rayon-etiquette); }
body .wp-block-edd-checkout .eddr-cart-item-notice { margin: 4px 0 0 calc(32px + var(--wpa-espace-20)); font-size: var(--wpa-taille-xs); color: var(--wpa-texte-second); }
body .wp-block-edd-checkout .eddr-cart-item-notice em { font-style: normal; }
body .wp-block-edd-checkout .edd-blocks-form__cart .edd_cart_footer_row > div { display: flex; justify-content: space-between; gap: var(--wpa-espace-30); width: 100%; font-size: var(--wpa-taille-s); color: var(--wpa-texte-second); }
body .wp-block-edd-checkout .edd-blocks-form__cart .edd_cart_footer_row > div > span { color: var(--wpa-encre); font-variant-numeric: tabular-nums; }
body .wp-block-edd-checkout .edd-blocks-form__cart .edd_cart_footer_row > .edd_cart_total { margin-top: var(--wpa-espace-20); padding-top: var(--wpa-espace-30); border-top: 1px solid var(--wpa-trait); font: 800 var(--wpa-taille-m)/1.3 var(--wpa-police-titre); color: var(--wpa-nuit); }
/* Sous le récapitulatif, la ligne qui signale le devis (Formulaire::ligne_panier). */
body .wp-block-edd-checkout .edd-blocks__cart > .wpa-devis-panier { margin: var(--wpa-espace-20) 0 0; padding: var(--wpa-espace-30) var(--wpa-espace-40); background: var(--wpa-violet-pale); border-radius: var(--wpa-rayon-carte); font: 400 var(--wpa-taille-s)/1.5 var(--wpa-police-texte); color: var(--wpa-encre); }
body .wp-block-edd-checkout .edd-blocks__cart > .wpa-devis-panier strong { color: var(--wpa-nuit); }
body .wp-block-edd-checkout .edd-blocks-form__cart .edd_cart_total > span { font-size: var(--wpa-taille-l); color: var(--wpa-nuit); }
body .wp-block-edd-checkout .edd-blocks-cart__action-remove { opacity: 0.6; }
body .wp-block-edd-checkout .edd-blocks-cart__action-remove:is(:hover, :focus-visible) { opacity: 1; }
/* Renouveler une licence : une action secondaire sous le récapitulatif, sur toute sa largeur. */
body .wp-block-edd-checkout .edd-renewal-form--legacy .edd-sl-show-renewal-form { width: 100%; }
body .wp-block-edd-checkout .edd-sl-renewal-form-fields .edd-blocks-form { display: grid; gap: var(--wpa-espace-30); padding: var(--wpa-espace-50); background: var(--wpa-surface); border: 0; border-radius: var(--wpa-rayon-carte); box-shadow: var(--wpa-ombre-carte); }
body .wp-block-edd-checkout .edd-sl-renewal-actions { display: flex; flex-wrap: wrap; gap: var(--wpa-espace-20); }

/* Les étapes du formulaire : des cartes blanches, le titre dedans (EDD le pose sur le trait, en
   légende de fieldset), numéroté. Le paiement compte pour une seule étape, qu'il y ait un choix de
   moyen (gestionnaire) ou non (client). « Votre structure » (#wpa-devis, commande sur devis, à la
   place de la carte) est une étape de plus, de la même facture. */
body .wp-block-edd-checkout #\65 dd_purchase_form { counter-reset: wpa-etape; display: grid; gap: var(--wpa-espace-50); }
body .wp-block-edd-checkout #\65 dd_purchase_form :is(#\65 dd_checkout_user_info, #\65 dd_cc_address, #\65 dd_payment_mode_select, #\65 dd_cc_fields, #wpa-devis) {
  margin: 0; padding: var(--wpa-espace-50); background: var(--wpa-surface); border: 0; border-radius: var(--wpa-rayon-carte); box-shadow: var(--wpa-ombre-carte);
}
body .wp-block-edd-checkout #\65 dd_purchase_form :is(#\65 dd_checkout_user_info, #\65 dd_cc_address, #\65 dd_payment_mode_select, #\65 dd_cc_fields, #wpa-devis) > legend {
  float: left; width: 100%; display: flex; align-items: center; gap: var(--wpa-espace-20); margin: 0 0 var(--wpa-espace-40); padding: 0;
  font: 800 var(--wpa-taille-l)/1.2 var(--wpa-police-titre); color: var(--wpa-nuit);
}
body .wp-block-edd-checkout #\65 dd_purchase_form :is(#\65 dd_checkout_user_info, #\65 dd_cc_address, #\65 dd_payment_mode_select, #wpa-devis) > legend::before,
body .wp-block-edd-checkout #\65 dd_purchase_form .edd-blocks__payment-details:not(:has(#\65 dd_payment_mode_select)) #\65 dd_cc_fields > legend::before {
  counter-increment: wpa-etape; content: counter(wpa-etape); display: inline-grid; place-items: center; flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%;
  background: var(--wpa-nuit); color: var(--wpa-surface); font: 700 var(--wpa-taille-s)/1 var(--wpa-police-texte);
}
body .wp-block-edd-checkout #\65 dd_purchase_form :is(#\65 dd_checkout_user_info, #\65 dd_cc_address, #\65 dd_payment_mode_select, #\65 dd_cc_fields, #wpa-devis) > legend + * { clear: both; }
/* Sous le titre de « Votre structure », la suite expliquée : texte courant secondaire, comme les aides. */
body .wp-block-edd-checkout #wpa-devis .wpa-devis-intro { margin: 0 0 var(--wpa-espace-40); font: 400 var(--wpa-taille-s)/1.55 var(--wpa-police-texte); color: var(--wpa-texte-second); }
body .wp-block-edd-checkout #wpa-devis .wpa-devis-bon summary { cursor: pointer; font: 600 var(--wpa-taille-s)/1.3 var(--wpa-police-texte); color: var(--wpa-nuit); }
body .wp-block-edd-checkout #wpa-devis .wpa-devis-bon[open] summary { margin-bottom: var(--wpa-espace-30); }
/* Le choix du moyen puis la carte : une seule étape, deux cartes collées. */
body .wp-block-edd-checkout .edd-blocks__payment-details:has(#\65 dd_payment_mode_select) #\65 dd_cc_fields > legend { font-size: var(--wpa-taille-m); }
body .wp-block-edd-checkout .edd-blocks__payment-details { display: grid; gap: var(--wpa-espace-30); }
body .wp-block-edd-checkout .edd-blocks__user-details { display: grid; gap: var(--wpa-espace-40); }

/* Les champs : libellé nuit, champ de 16 px (pas de zoom sur iPhone), focus visible. */
body .wp-block-edd-checkout #\65 dd_purchase_form .edd-blocks-form__group { margin-bottom: var(--wpa-espace-40); }
body .wp-block-edd-checkout #\65 dd_purchase_form .edd-blocks-form__group > label,
body .wp-block-edd-checkout #\65 dd_purchase_form .edd-blocks-form__group .edd-label { display: block; margin-bottom: 6px; font: 600 var(--wpa-taille-s)/1.3 var(--wpa-police-texte); color: var(--wpa-nuit); }
body .wp-block-edd-checkout #\65 dd_purchase_form :is(input[type="text"], input[type="email"], input[type="tel"], select) {
  width: 100%; min-height: 48px; padding: 10px 14px; font-size: 16px; color: var(--wpa-encre); background: var(--wpa-surface);
  border: 1px solid var(--wpa-bord-champ); border-radius: var(--wpa-rayon-carte); box-shadow: none;
}
body .wp-block-edd-checkout #\65 dd_purchase_form :is(input[type="text"], input[type="email"], input[type="tel"], select):focus { border-color: var(--wpa-nuit); outline: 3px solid var(--wpa-violet-clair); outline-offset: 0; }
body .wp-block-edd-checkout #\65 dd_purchase_form .edd-description { margin: 6px 0 0; font-size: var(--wpa-taille-xs); color: var(--wpa-texte-second); }
@media (min-width: 640px) {
  body .wp-block-edd-checkout #\65 dd_checkout_user_info { display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--wpa-espace-40); }
  body .wp-block-edd-checkout #\65 dd_checkout_user_info > :is(legend, .edd-blocks-form__group-edd_email) { grid-column: 1 / -1; }
}
body .wp-block-edd-checkout #\65 dd_secure_site_wrapper { display: flex; align-items: center; gap: var(--wpa-espace-20); margin: 0 0 var(--wpa-espace-40); font-size: var(--wpa-taille-s); color: var(--wpa-texte-second); }
body .wp-block-edd-checkout #\65 dd_secure_site_wrapper .padlock svg { width: 14px; height: 18px; fill: var(--wpa-etat-succes); }

/* La validation : les deux engagements, puis un bouton plein, large, à la mesure du geste. */
body .wp-block-edd-checkout #\65 dd_purchase_form #\65 dd_purchase_submit { display: grid; gap: var(--wpa-espace-30); margin: var(--wpa-espace-40) 0 0; padding: var(--wpa-espace-50); background: var(--wpa-surface); border: 0; border-radius: var(--wpa-rayon-carte); box-shadow: var(--wpa-ombre-carte); }
body .wp-block-edd-checkout #\65 dd_purchase_form #\65 dd_purchase_submit fieldset { margin: 0; padding: 0; border: 0; box-shadow: none; }
body .wp-block-edd-checkout #\65 dd_purchase_form #\65 dd_purchase_submit :is(.edd-privacy-policy-agreement, .edd-terms-agreement) { display: flex; align-items: flex-start; gap: var(--wpa-espace-20); }
body .wp-block-edd-checkout #\65 dd_purchase_form #\65 dd_purchase_submit input[type="checkbox"] { flex: 0 0 auto; width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--wpa-nuit); }
body .wp-block-edd-checkout #\65 dd_purchase_form #\65 dd_purchase_submit :is(.edd-privacy-policy-agreement, .edd-terms-agreement) label { font: 400 var(--wpa-taille-s)/1.45 var(--wpa-police-texte); color: var(--wpa-encre); }
body .wp-block-edd-checkout #\65 dd_purchase_form #\65 dd_purchase_submit .edd-show-terms { margin: 0 0 4px; font-size: var(--wpa-taille-xs); }
body .wp-block-edd-checkout #\65 dd_purchase_form #\65 dd_purchase_submit .edd-terms { max-height: 240px; overflow: auto; padding: var(--wpa-espace-30); font-size: var(--wpa-taille-xs); background: var(--wpa-fond); border-radius: var(--wpa-rayon-carte); }
body .wp-block-edd-checkout #\65 dd_purchase_form #\65 dd_purchase_submit #\65 dd-purchase-button { width: 100%; min-height: 56px; margin-top: var(--wpa-espace-20); font: 700 var(--wpa-taille-m)/1 var(--wpa-police-texte); border-radius: var(--wpa-rayon-bouton); }
body .wp-block-edd-checkout #\65 dd_purchase_form #\65 dd_purchase_submit #\65 dd-purchase-button:disabled { opacity: 0.55; cursor: not-allowed; }

/* ——— Confirmation et reçu (blocs edd/confirmation, edd/receipt) : le remerciement en tête, puis des
   cartes — la commande, ce qu'on a acheté, l'abonnement. La pastille d'état garde sa taille, la clé
   de licence se lit en chasse fixe, le fichier se télécharge par un bouton. ——— */
.wpa-confirmation-merci, .wpa-echec { margin-bottom: var(--wpa-espace-60); padding: var(--wpa-espace-50) var(--wpa-espace-60); background: var(--wpa-etat-succes-fond); border-radius: var(--wpa-rayon-carte); }
/* La mise en page contrainte de WordPress centre les enfants avec margin-inline: auto !important. */
body .entry-content :is(.wpa-confirmation-merci, .wpa-echec).is-layout-constrained > * { margin-block: 0; margin-left: 0 !important; margin-right: 0 !important; max-width: none; }
:is(.wpa-confirmation-merci, .wpa-echec) > .wp-block-heading { display: flex; align-items: center; gap: var(--wpa-espace-30); font-size: var(--wpa-taille-xl); }
:is(.wpa-confirmation-merci, .wpa-echec) > .wp-block-heading::before { content: "✓"; display: inline-grid; place-items: center; flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%; background: var(--wpa-etat-succes); color: var(--wpa-surface); font-size: 22px; }
body .entry-content :is(.wpa-confirmation-merci, .wpa-echec).is-layout-constrained > p { margin-top: var(--wpa-espace-30); max-width: 60ch; color: var(--wpa-encre); }
body .entry-content :is(.wpa-confirmation-merci, .wpa-echec).is-layout-constrained > .wp-block-buttons { margin-top: var(--wpa-espace-40); }
/* Page d'échec du paiement (bin/composer/echec.php) : la même carte, en teinte d'erreur. */
.wpa-echec { background: var(--wpa-etat-erreur-fond); }
.wpa-echec > .wp-block-heading::before { content: "!"; background: var(--wpa-etat-erreur); }
:is(.wp-block-edd-receipt, .wp-block-edd-confirmation) { display: grid; gap: var(--wpa-espace-40); }
:is(.wp-block-edd-receipt, .wp-block-edd-confirmation) > h3 { margin: var(--wpa-espace-30) 0 0; font: 800 var(--wpa-taille-l)/1.2 var(--wpa-police-titre); color: var(--wpa-nuit); }
:is(.wp-block-edd-receipt, .wp-block-edd-confirmation) :is(.edd-blocks-receipt__totals, .edd-blocks-receipt__items) {
  margin: 0; padding: var(--wpa-espace-30) var(--wpa-espace-50); background: var(--wpa-surface); border: 0; border-radius: var(--wpa-rayon-carte); box-shadow: var(--wpa-ombre-carte);
}
:is(.wp-block-edd-receipt, .wp-block-edd-confirmation) .edd-blocks-receipt__totals .edd-blocks__row {
  display: flex; justify-content: space-between; align-items: center; gap: var(--wpa-espace-30); padding: var(--wpa-espace-20) 0; border-bottom: 1px solid var(--wpa-trait); font-size: var(--wpa-taille-s);
}
:is(.wp-block-edd-receipt, .wp-block-edd-confirmation) .edd-blocks-receipt__totals .edd-blocks__row:last-child { border-bottom: 0; }
:is(.wp-block-edd-receipt, .wp-block-edd-confirmation) .edd-blocks__row-label { font-weight: 600; color: var(--wpa-texte-second); }
:is(.wp-block-edd-receipt, .wp-block-edd-confirmation) .edd-blocks__row-value { text-align: right; color: var(--wpa-encre); font-variant-numeric: tabular-nums; }
:is(.wp-block-edd-receipt, .wp-block-edd-confirmation) .edd-blocks-receipt__row-header .edd-blocks__row-value { font: 800 var(--wpa-taille-m)/1.2 var(--wpa-police-titre); color: var(--wpa-nuit); }
/* La pastille d'état garde ses couleurs par statut (habillage-natif.css) : ici, sa taille seule. */
:is(.wp-block-edd-receipt, .wp-block-edd-confirmation) .edd-blocks__row-value.edd_receipt_payment_status { flex: 0 0 auto; width: auto; }
:is(.wp-block-edd-receipt, .wp-block-edd-confirmation) .edd-blocks__row-sublabel { font-weight: 600; color: var(--wpa-nuit); }
:is(.wp-block-edd-receipt, .wp-block-edd-confirmation) .edd-blocks-receipt__row-item--license-key { flex-wrap: wrap; }
:is(.wp-block-edd-receipt, .wp-block-edd-confirmation) .edd_sl_license_key { display: inline-block; max-width: 100%; padding: 4px 10px; overflow-wrap: anywhere; background: var(--wpa-violet-pale); border-radius: var(--wpa-rayon-etiquette); font: 500 var(--wpa-taille-s)/1.4 var(--wpa-police-mono); color: var(--wpa-nuit); user-select: all; }
:is(.wp-block-edd-receipt, .wp-block-edd-confirmation) .edd-blocks-receipt__item { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--wpa-espace-40); padding: var(--wpa-espace-30) 0; }
:is(.wp-block-edd-receipt, .wp-block-edd-confirmation) .edd-blocks-receipt__item-details > .edd-blocks__row-label { font: 700 var(--wpa-taille-m)/1.3 var(--wpa-police-texte); color: var(--wpa-nuit); }
:is(.wp-block-edd-receipt, .wp-block-edd-confirmation) .edd_purchase_receipt_files { margin: var(--wpa-espace-30) 0; padding: 0; list-style: none; }
:is(.wp-block-edd-receipt, .wp-block-edd-confirmation) .edd_download_file_link {
  display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: var(--wpa-rayon-bouton); background: var(--wpa-nuit); color: var(--wpa-surface); font-weight: 600; font-size: var(--wpa-taille-s); text-decoration: none;
}
:is(.wp-block-edd-receipt, .wp-block-edd-confirmation) .edd_download_file_link::before { content: "↓"; font-weight: 700; }
:is(.wp-block-edd-receipt, .wp-block-edd-confirmation) .edd_download_file_link:is(:hover, :focus-visible) { background: var(--wpa-orange); color: var(--wpa-nuit); text-decoration: underline; text-underline-offset: 0.18em; }
:is(.wp-block-edd-receipt, .wp-block-edd-confirmation) .edd-blocks-receipt__item-quantity { font-size: var(--wpa-taille-xs); color: var(--wpa-texte-second); }
:is(.wp-block-edd-receipt, .wp-block-edd-confirmation) .edd-blocks-receipt__item-price { font-weight: 700; color: var(--wpa-nuit); white-space: nowrap; font-variant-numeric: tabular-nums; }
/* L'abonnement : un tableau lisible, qui défile dans sa carte sur mobile au lieu de déborder. */
:is(.wp-block-edd-receipt, .wp-block-edd-confirmation) #\65 dd_subscription_receipt { display: table; width: 100%; margin: 0; border-collapse: separate; border-spacing: 0; overflow: hidden; background: var(--wpa-surface); border: 0; border-radius: var(--wpa-rayon-carte); box-shadow: var(--wpa-ombre-carte); font-size: var(--wpa-taille-s); }
:is(.wp-block-edd-receipt, .wp-block-edd-confirmation) #\65 dd_subscription_receipt :is(th, td) { padding: var(--wpa-espace-30) var(--wpa-espace-40); border: 0; border-bottom: 1px solid var(--wpa-trait); text-align: left; vertical-align: top; }
:is(.wp-block-edd-receipt, .wp-block-edd-confirmation) #\65 dd_subscription_receipt th { font-weight: 700; color: var(--wpa-nuit); background: var(--wpa-violet-pale); }
:is(.wp-block-edd-receipt, .wp-block-edd-confirmation) #\65 dd_subscription_receipt tbody tr:last-child td { border-bottom: 0; }
/* En bloc, un tableau ne s'étire plus sur sa carte : il ne le devient que là où il doit défiler.
   Au-dessus, les cellules reviennent à la ligne au lieu de déborder. */
@media (max-width: 900px) {
  :is(.wp-block-edd-receipt, .wp-block-edd-confirmation) #\65 dd_subscription_receipt { display: block; overflow-x: auto; }
  :is(.wp-block-edd-receipt, .wp-block-edd-confirmation) #\65 dd_subscription_receipt :is(th, td) { white-space: nowrap; }
}
:is(.wp-block-edd-receipt, .wp-block-edd-confirmation) .edd_subscription_billing_cycle { font-size: var(--wpa-taille-xs); color: var(--wpa-texte-second); }

/* Espace client : sur téléphone les onglets passent à la ligne au lieu de défiler (l'onglet courant
   restait hors de l'écran) ; la grille des achats tient dans sa colonne (EDD pose 2 × 50 % plus un
   espacement, soit 16 px de trop) ; la clé de licence finit par « … » quand elle ne tient pas. */
@media (max-width: 760px) {
  .wpa-compte-nav ul { flex-wrap: wrap; overflow-x: visible; padding-bottom: 0; }
}
.wpa-compte-contenu .edd-blocks__columns:not([class*="edd-blocks__columns-"]) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 760px) { .wpa-compte-contenu .edd-blocks__columns:not([class*="edd-blocks__columns-"]) { grid-template-columns: minmax(0, 1fr); } }
.wpa-compte-contenu .edd-licenses__key-input { width: 100%; min-width: 0; text-overflow: ellipsis; font-family: var(--wpa-police-code, ui-monospace, monospace); }

/* Focus visible des cases, du bouton TVA et du bon de commande (RGAA 10.7). */
#edd-agree-to-privacy-policy:focus-visible, #edd_agree_to_terms:focus-visible,
.edd-vat-check-button:focus-visible, .wpa-devis-bon summary:focus-visible { outline: 3px solid var(--wpa-lien); outline-offset: 3px; }
.edd-terms-agreement:has(.wpa-lien-cgv) { flex-wrap: wrap; }
.wpa-lien-cgv { display: block; flex-basis: 100%; margin-top: .4em; font-size: var(--wpa-taille-s); }

/* Sens de l'astérisque (RGAA 11.10). */
.wpa-champs-obligatoires { margin-block: var(--wpa-espace-20); font-size: .9375rem; }

/* Texte agrandi : la liste du pays et les boutons grandissent avec leur texte (10.4). */
body .wp-block-edd-checkout #\65 dd_purchase_form select { height: auto; min-height: 3em; }
body .wp-block-edd-checkout #\65 dd_purchase_form input[type="button"] { height: auto !important; min-height: 3em; padding-block: .6em; line-height: 1.3; white-space: normal; }
body .wp-block-edd-checkout :is(a.edd-submit, .edd-blocks__cart a.button, .wp-block-button__link) { white-space: normal; height: auto; }
/* Fond blanc et sans bordure : les cadres de Stripe perdent leur attribut frameborder dans commande.js (10.1). */
body .wp-block-edd-checkout iframe { border: 0; }
