/* FunnelKit — page de commande et page de remerciement.
   Modèle « Minimalist » de FunnelKit (gabarits `wfacp-canvas` / `wftp-canvas`).

   Même principe que pour LearnDash : on repeint, on ne remplace pas. Ce qui vit
   dans ces pages — passerelles Stripe et PayPal, validation des champs, bumps
   de commande, paiement express — n'a pas à être réécrit pour une question de
   couleur.

   ┌─ TROIS CHOSES À SAVOIR AVANT DE TOUCHER À CETTE FEUILLE ──────────────────
   │
   │ 1. ELLE DOIT ÊTRE SERVIE EN DERNIER. FunnelKit enfile
   │    `wfacp_combined.min.css` et `wfacp-form.min.css` après les feuilles du
   │    thème : à `!important` égal, la dernière déclarée gagne. C'est pour ça
   │    que `pt_assets_funnelkit()` l'enfile en priorité 9999, à part du reste.
   │    Symptôme quand on l'oublie : on écrit une règle juste, on déploie, et
   │    l'écran ne change pas — sans le moindre message.
   │
   │ 2. LA PAGE A DEUX MOITIÉS, ET ELLES NE SE STYLENT PAS PAREIL.
   │    Le FORMULAIRE (`wfacp-*`) vient de l'extension. Le DÉCOR autour
   │    (bandeau du haut, colonne de droite, pied de page) est fait de blocs de
   │    contenu (`bwf-*`) dont les couleurs sont écrites dans une feuille en
   │    ligne générée par bloc, juste après la nôtre. D'où les `!important`.
   │    Habiller la première moitié seulement suffit à ce que la page ne
   │    ressemble toujours pas au site : c'est l'erreur du 28 juillet 2026.
   │
   │ 3. LE CSS NE PEUT RIEN CONTRE LE CONTENU. Le logo, les textes, les liens
   │    du pied de page se changent dans l'éditeur de FunnelKit (fait le
   │    28 juillet 2026), pas ici.
   └───────────────────────────────────────────────────────────────────────────

   ⚠ Les classes `bwf-section-*`, `bwf-adv-head-*`, `wfacp-2f83687a` sont des
   identifiants GÉNÉRÉS par FunnelKit à la création du modèle. Ils sont stables
   tant qu'on ne recrée pas la page de commande. Partout où c'est possible, on
   vise la structure (`:has()`) plutôt que ces identifiants, et on ne garde
   ceux-ci qu'en second filet. */

/* --- Le décor : les trois bandes du modèle -----------------------------------
   Le modèle pose trois sections pleine largeur : bandeau (logo + « paiement
   sécurisé »), corps (formulaire + panier), pied (mentions légales). Elles
   sortaient en blanc / gris #fafafa / blanc — la teinte d'un modèle de
   boutique, pas celle du site.

   LE SITE SE RECONNAÎT À SES DEUX BANDEAUX SOMBRES : en-tête night, pied
   night profond, tout le reste en crème. L'accueil le fait, la page de vente
   le fait — la page de commande doit le faire aussi. Une page de paiement
   entièrement crème reste une page de modèle, en plus doux : c'est ce qui a
   été livré le 29 juillet au matin, et Loïc l'a dit tout de suite.

   Le corps prend le crème profond, les cartes le crème clair : sans cet écart,
   les cartes se confondent avec leur fond.

   On identifie chaque bande par ce qu'elle CONTIENT — le formulaire, le logo —
   plutôt que par son identifiant généré : c'est vrai quel que soit le modèle. */

.wfacp_checkout-template .bwf-section-wrap {
	box-shadow: none !important;
}

/* Le bandeau du haut : l'en-tête du site. */
.wfacp_checkout-template .bwf-section-wrap:has(figure.wp-block-image) {
	background-color: var(--pt-night) !important;
	padding-top: 18px !important;
	padding-bottom: 18px !important;
}

/* Le corps. */
.wfacp_checkout-template .bwf-section-wrap:has(#wfacp-e-form) {
	background-color: var(--pt-cream-deep) !important;
}

/* Le pied : celui du site, night profond. */
.wfacp_checkout-template .bwf-section-wrap:not(:has(#wfacp-e-form)):not(:has(figure.wp-block-image)) {
	background-color: var(--pt-night-deep) !important;
	padding-top: 20px !important;
	padding-bottom: 20px !important;
}

/* --- La marque, dans le bandeau night -----------------------------------------
   Le modèle pose le logo de la médiathèque : un PNG à texte brun foncé, qui
   disparaîtrait sur night. Or LE LOGO DU SITE N'EST PAS CE PNG — c'est
   `pt_logo()` (`inc/icons.php`), un SVG tracé en `--pt-primary-lite`, suivi du
   nom en petites capitales. C'est ce couple-là qu'on voit sur toutes les
   autres pages, et c'est lui qu'on remonte ici : le PNG est masqué, l'emblème
   revient en fond, le nom en `::after`.

   ⚠ Le tracé ci-dessous est une COPIE de `pt_logo()`. Si ce tracé change,
   changer les deux — c'est le prix à payer pour que le CSS puisse remplacer une
   image posée dans le contenu par FunnelKit. L'`alt` du PNG est vide : rien ne
   se perd à le masquer. Le logo n'est pas cliquable, et c'est voulu : une page
   de paiement n'offre pas de porte de sortie. */

.wfacp_checkout-template .bwf-section-wrap:has(figure.wp-block-image) figure.wp-block-image {
	display: flex !important;
	align-items: center;
	gap: 11px;
	margin: 0 !important;
	width: auto !important;
}

.wfacp_checkout-template .bwf-section-wrap:has(figure.wp-block-image) figure.wp-block-image img {
	display: none !important;
}

.wfacp_checkout-template .bwf-section-wrap:has(figure.wp-block-image) figure.wp-block-image::before {
	content: "";
	flex: none;
	width: 28px;
	height: 28px;
	/* Copie du tracé de pt_logo() — « le sillon », handoff v2 §4.
	   Si inc/icons.php change, changer ici aussi. */
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239cc196' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 18.7c3.2-1.7 6.7-2 10-1.1 3.3.9 6.7.6 10-.9'/%3E%3Cpath d='M4 14.4c2.6-1.6 5.6-1.8 8.3-.8 2.8 1 5.3.7 7.4-.8'/%3E%3Cpath d='M6.6 10.3c2-1.4 4.3-1.6 6.2-.6 2 .9 3.7.5 5.1-.8'/%3E%3Cpath d='M9.2 6.4c1.4-1.1 3-1.2 4.2-.4 1.3.8 2.3.4 3-.6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.wfacp_checkout-template .bwf-section-wrap:has(figure.wp-block-image) figure.wp-block-image::after {
	content: "PLEINE TERRE";
	font-family: var(--pt-font-body);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--pt-on-night-nav);
	white-space: nowrap;
}

/* --- Ce qui se pose sur les deux bandes sombres --------------------------------
   Les règles générales plus bas peignent tous les blocs `bwf-*` à l'encre
   foncée : sur night, il faut reprendre la main. Sans ces trois blocs, le
   bandeau et le pied sortent en texte noir sur bleu nuit — illisibles. */

.wfacp_checkout-template .bwf-section-wrap:has(figure.wp-block-image) .bwf-icon-list-text,
.wfacp_checkout-template .bwf-section-wrap:has(figure.wp-block-image) .bwf-adv-heading {
	color: var(--pt-on-night-body) !important;
}

.wfacp_checkout-template .bwf-section-wrap:not(:has(#wfacp-e-form)):not(:has(figure.wp-block-image)) .bwf-adv-heading,
.wfacp_checkout-template .bwf-section-wrap:not(:has(#wfacp-e-form)):not(:has(figure.wp-block-image)) .bwf-adv-heading a {
	color: var(--pt-on-night-muted) !important;
}

.wfacp_checkout-template .bwf-section-wrap:not(:has(#wfacp-e-form)):not(:has(figure.wp-block-image)) .bwf-adv-heading a:hover {
	color: var(--pt-sand) !important;
}

/* Le bouclier « Paiement sécurisé » : le vert clair du logo, pas le vert
   foncé du corps — sur night, il ne se verrait pas. */
.wfacp_checkout-template .bwf-section-wrap:has(figure.wp-block-image) .bwf-icon-inner-svg svg,
.wfacp_checkout-template .bwf-section-wrap:has(figure.wp-block-image) .bwf-icon-inner-svg svg path,
.wfacp_checkout-template .bwf-section-wrap:has(figure.wp-block-image) .bwf-icon-list-icon svg,
.wfacp_checkout-template .bwf-section-wrap:has(figure.wp-block-image) .bwf-icon-list-icon svg path {
	fill: var(--pt-primary-lite) !important;
	color: var(--pt-primary-lite) !important;
}

/* --- Socle ------------------------------------------------------------------ */

.wfacp_html_canvas,
.wftp_html_canvas {
	background: var(--pt-cream);
	color: var(--pt-ink-body);
	font-family: var(--pt-font-body);
}

.wfacp_checkout-template,
.wfacp_checkout-template body {
	background: var(--pt-cream);
}

/* Le modèle impose Roboto au corps du formulaire : il n'appartient pas à la
   charte. Tout revient à Montserrat… */
/* La liste des balises est explicite, et pas un `*` : un sélecteur universel
   sur `font-family` casserait les polices d'icônes des passerelles. Elle a été
   complétée à partir de ce qui restait mesurément en Roboto — les liens, les
   prix (`bdi`), les cellules du panier. */
.wfacp_html_canvas,
.wfacp_html_canvas input,
.wfacp_html_canvas select,
.wfacp_html_canvas textarea,
.wfacp_html_canvas button,
.wfacp_html_canvas label,
.wfacp_html_canvas p,
.wfacp_html_canvas span,
.wfacp_html_canvas div,
.wfacp_html_canvas a,
.wfacp_html_canvas li,
.wfacp_html_canvas td,
.wfacp_html_canvas th,
.wfacp_html_canvas bdi,
.wfacp_html_canvas ins,
.wfacp_html_canvas del,
.wfacp_html_canvas small,
.wfacp_html_canvas strong,
.wfacp_html_canvas em {
	font-family: var(--pt-font-body) !important;
}

/* …sauf les titres, qui restent en Tenor Sans. */
.wfacp_html_canvas h1,
.wfacp_html_canvas h2,
.wfacp_html_canvas h3,
.wfacp_html_canvas .wfacp_section_heading,
.wfacp_html_canvas .wfacp_section_title,
.wfacp_html_canvas .wfacp-order-summary-label,
.wfacp_html_canvas .wfacp_cart_product_name_h,
.wfacp_html_canvas .wfacp_order_summary_item_name {
	font-family: var(--pt-font-title) !important;
	font-weight: 400 !important;
	color: var(--pt-ink) !important;
}

/* Zéro arrondi : cartes, champs, boutons, pastilles, vignettes produit. */
.wfacp_checkout-template .wfacp-section,
.wfacp_checkout-template .wfacp-mini-cart-block,
.wfacp_checkout-template .wfacp_order_summary_container,
.wfacp_checkout-template .wfacp_form_cart_wrap,
.wfacp_checkout-template .wfacp-form-control,
.wfacp_checkout-template .wfacp-payment-tab-wrapper,
.wfacp_checkout-template .wfacp-pro-thumb img,
.wfacp_checkout-template input,
.wfacp_checkout-template select,
.wfacp_checkout-template textarea,
.wfacp_checkout-template button,
.wfacp_checkout-template img,
.wftp_html_canvas input,
.wftp_html_canvas button {
	border-radius: var(--pt-radius) !important;
}

/* --- Les cartes du formulaire ------------------------------------------------ */

.wfacp_html_canvas .wfacp-section,
.wfacp_html_canvas .wfacp_order_summary_container,
.wfacp_html_canvas .wfacp_form_cart_wrap {
	background: var(--pt-card) !important;
	border: var(--pt-border) !important;
	box-shadow: none !important;
}

.wfacp_html_canvas .wfacp-section {
	padding: 30px 32px 32px !important;
}

/* Le titre de carte porte le filet du site : c'est le motif qui revient partout
   (hub, catalogue, article). Il coûte une règle et il fait plus pour la
   ressemblance que dix ajustements de couleur.

   `!important` sur la bordure : sans lui, elle ne sortait pas — une feuille de
   FunnelKit remet `border: 0` sur ses titres. Mesuré, pas supposé. */
.wfacp_html_canvas .wfacp_section_heading,
.wfacp_html_canvas .wfacp_section_title,
.wfacp_html_canvas .wfacp-section-title {
	font-size: 25px !important;
	line-height: 1.15 !important;
	letter-spacing: -0.2px !important;
	padding-bottom: 14px !important;
	margin: 0 0 20px !important;
	border-bottom: 1px solid var(--pt-line) !important;
}

/* Le sous-titre « Toutes les transactions sont sécurisées et cryptées » sort en
   h4 sans classe : il hérite donc du Tenor des titres, alors que c'est une
   phrase de rassurance, pas un titre. */
.wfacp_html_canvas .wfacp-section h4 {
	font-family: var(--pt-font-body) !important;
	font-size: 13.5px !important;
	font-weight: 400 !important;
	color: var(--pt-ink-soft) !important;
	margin: -8px 0 18px !important;
}

/* --- Les champs -------------------------------------------------------------- */

/* Le modèle utilise des intitulés flottants (le libellé descend dans le champ
   quand il est vide). On garde la mécanique — c'est du JS de l'extension — et
   on ne change que la matière : filet de la charte, fond blanc, focus vert. */
.wfacp_html_canvas .wfacp-form-control,
.wfacp_html_canvas input[type="text"],
.wfacp_html_canvas input[type="email"],
.wfacp_html_canvas input[type="tel"],
.wfacp_html_canvas input[type="number"],
.wfacp_html_canvas input[type="password"],
.wfacp_html_canvas select,
.wfacp_html_canvas textarea {
	font-family: var(--pt-font-body) !important;
	font-size: 14.5px !important;
	color: var(--pt-ink) !important;
	background: #fff !important;
	border: var(--pt-border) !important;
	box-shadow: none !important;
}

.wfacp_html_canvas .wfacp-form-control:focus,
.wfacp_html_canvas input:focus,
.wfacp_html_canvas select:focus,
.wfacp_html_canvas textarea:focus {
	outline: 2px solid var(--pt-primary) !important;
	outline-offset: -2px;
	border-color: var(--pt-primary) !important;
	box-shadow: none !important;
}

/* L'intitulé flottant devient le kicker du site : petites capitales espacées.
   Il n'est pas décoratif — c'est lui qui dit ce que le champ attend une fois
   rempli, et l'écart de casse le distingue nettement de la valeur saisie.

   ⚠ AUCUNE TAILLE ICI, VOLONTAIREMENT. FunnelKit fixe ces intitulés à 12 px
   avec `!important`, depuis un sélecteur à un id et cinq classes : la
   spécificité passe avant l'ordre de chargement, donc toute taille écrite ici
   serait ignorée. 12 px convient — mais mieux vaut pas de règle qu'une règle
   qui ne s'applique pas : c'est ce genre de ligne muette qui a fait croire, le
   28 juillet, que la page était habillée.

   Les champs de carte (numéro, date, CVC) gardent leurs intitulés en minuscules :
   ils vivent dans une iframe de Stripe, hors de portée de toute feuille du site. */
.wfacp_html_canvas .wfacp-form-control-label {
	font-family: var(--pt-font-body) !important;
	font-weight: 600 !important;
	letter-spacing: 1.4px !important;
	text-transform: uppercase !important;
	color: var(--pt-ink-muted) !important;
}

.wfacp_html_canvas .wfacp_field_required,
.wfacp_html_canvas .required {
	color: var(--pt-brown) !important;
}

/* --- Le bouton de paiement --------------------------------------------------- */

/* Un paiement, donc du brun : c'est la règle vert/brun de la charte, et c'est
   le seul bouton de la page qui engage de l'argent. 25 px était la taille du
   modèle — trop lourde à côté d'un H2 de 25 px. */
.wfacp_html_canvas .wfacp-order-place-btn-wrap button,
.wfacp_html_canvas #wfacp_next_html_btn,
.wfacp_html_canvas button#place_order,
.wfacp_html_canvas .wfacp_next_html_btn {
	background: var(--pt-brown) !important;
	border: 1px solid var(--pt-brown) !important;
	color: #fff !important;
	font-family: var(--pt-font-body) !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	letter-spacing: 0.2px !important;
	padding: 20px 24px !important;
	text-transform: none !important;
	transition: background var(--pt-transition-button);
}

.wfacp_html_canvas .wfacp-order-place-btn-wrap button:hover,
.wfacp_html_canvas button#place_order:hover {
	background: var(--pt-brown-hover) !important;
	border-color: var(--pt-brown-hover) !important;
}

/* Un bouton désactivé doit se voir désactivé, pas gris-souris indéfini. */
.wfacp_html_canvas button[disabled],
.wfacp_html_canvas .wfacp-order-place-btn-wrap button[disabled] {
	background: var(--pt-cream-deep) !important;
	border-color: var(--pt-line) !important;
	color: var(--pt-ink-muted) !important;
	cursor: not-allowed;
}

/* Le code promo n'est pas un achat : il reste discret, en fantôme vert.
   Le modèle le peint en orange #f44d00, et la feuille de FunnelKit le repasse
   en gris #c8c8c8 — d'où les `!important` et l'ordre de chargement. */
.wfacp_html_canvas .wfacp_coupon_button,
.wfacp_html_canvas .wfacp-coupon-btn,
.wfacp_html_canvas button[name="apply_coupon"] {
	background: transparent !important;
	border: 1px solid var(--pt-primary) !important;
	color: var(--pt-primary) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 1.2px !important;
	text-transform: uppercase !important;
	padding: 10px 18px !important;
	transition: background var(--pt-transition-button), color var(--pt-transition-button);
}

.wfacp_html_canvas .wfacp_coupon_button:hover,
.wfacp_html_canvas .wfacp-coupon-btn:hover {
	background: var(--pt-primary) !important;
	color: #fff !important;
	border-color: var(--pt-primary) !important;
}

/* Le lien « J'ai un code promo », quand il est replié. */
.wfacp_html_canvas .wfacp_main_showcoupon {
	font-family: var(--pt-font-body) !important;
	color: var(--pt-primary) !important;
}

/* --- La colonne de droite ----------------------------------------------------- */

/* Le modèle emboîte deux cartes : une boîte blanche à coins arrondis
   (`.wfacp-mini-cart-block`, bordure #ebebeb, radius 8 px, bord bas de 3 px)
   qui contient la vraie carte du panier. À l'écran, deux cadres l'un dans
   l'autre. On efface l'emballage et on garde la carte. */
.wfacp_checkout-template .wfacp-mini-cart-block {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
}

.wfacp_html_canvas .wfacp_form_cart_wrap,
.wfacp_html_canvas .wfacp_mini_cart_start_h {
	padding: 0 !important;
}

.wfacp_html_canvas .wfacp-order-summary-label {
	font-size: 25px !important;
	line-height: 1.15 !important;
	letter-spacing: -0.2px !important;
	padding: 24px 24px 14px !important;
	margin: 0 !important;
	border-bottom: 1px solid var(--pt-line) !important;
}

.wfacp_html_canvas .wfacp_order_summary_container {
	border: 0 !important;
	background: transparent !important;
	padding: 0 22px 20px !important;
}

.wfacp_html_canvas .wfacp_product_row,
.wfacp_html_canvas .wfacp_template_9_cart_total_details tr {
	border-bottom: var(--pt-border);
}

.wfacp_html_canvas .wfacp_order_summary_item_name,
.wfacp_html_canvas .wfacp_cart_product_name_h {
	font-size: 17px !important;
	line-height: 1.3 !important;
}

.wfacp_html_canvas .wfacp_template_9_cart_total_details {
	font-size: 14.5px;
	color: var(--pt-ink-soft);
}

/* Le total est l'information que l'œil cherche en dernier avant de payer. */
.wfacp_html_canvas tr.order-total td,
.wfacp_html_canvas tr.order-total th,
.wfacp_html_canvas tr.order-total td p,
.wfacp_html_canvas tr.order-total td span,
.wfacp_html_canvas .wfacp_order_total {
	font-family: var(--pt-font-title) !important;
	font-size: 22px !important;
	color: var(--pt-ink) !important;
}

.wfacp_html_canvas .wfacp_product_quantity_number_field,
.wfacp_html_canvas .wfacp_show_price_wrap {
	color: var(--pt-ink) !important;
}

/* La vignette du produit prend le filet des cartes du site. */
.wfacp_html_canvas .wfacp-pro-thumb img {
	border: var(--pt-border);
}

/* Sous 768 px, le panier ne tient plus à droite : FunnelKit le replie en une
   ligne « Résumé de la commande » posée en tête de page. C'est un autre
   élément (`wfacp_mb_cart_accordian`), qui échappait donc à tout ce qui
   précède — il restait blanc, arrondi et bordé de gris quand la page entière
   était devenue crème. Sur mobile, c'est la PREMIÈRE chose qu'on voit. */
.wfacp_html_canvas .wfacp_mb_cart_accordian {
	background: var(--pt-card) !important;
	border: var(--pt-border) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.wfacp_html_canvas .wfacp_mb_cart_accordian .wfacp_mb_cart_text,
.wfacp_html_canvas .wfacp_mb_cart_accordian .wfacp_mb_cart_total {
	font-family: var(--pt-font-title) !important;
	color: var(--pt-ink) !important;
}

/* « Ce que tu obtiens » flottait sous le panier, en 16 px, avec un grand vide
   dessous. On en fait une carte, comme le panier au-dessus : le titre et sa
   liste forment un seul bloc, deux moitiés cousues par leurs bordures.
   Second filet de sécurité : l'identifiant généré du bloc, au cas où la
   structure changerait sous `:has()`. */
/* ⚠ Version `6g` du handoff v4 : ce bloc passe en NIGHT, il n'est plus une
   carte crème. Les règles sont modifiées sur place, pas empilées par-dessus les
   anciennes — une règle périmée plus haut dans la feuille impose son fond sans
   erreur ni signal. */
.wfacp_checkout-template .bwf-inner-col:has(.wfacp-mini-cart-block) > .bwf-adv-heading,
.wfacp_checkout-template .bwf-adv-head-81887319 {
	background: var(--pt-night) !important;
	border: 0;
	padding: 24px 24px 4px !important;
	margin: 0 !important;
	font-family: var(--pt-font-body) !important;
	font-size: 10px !important;
	font-weight: 600 !important;
	letter-spacing: 2px !important;
	text-transform: uppercase;
	color: var(--pt-primary-lite) !important;
	text-align: left !important;
}

.wfacp_checkout-template .bwf-inner-col:has(.wfacp-mini-cart-block) > .bwf-icon-list-wrap,
.wfacp_checkout-template .bwf-list-36a115d7 {
	background: var(--pt-night) !important;
	border: 0;
	padding: 8px 24px 24px !important;
	margin: 0 !important;
}

.wfacp_checkout-template .bwf-inner-col:has(.wfacp-mini-cart-block) .bwf-icon-list-item-wrap,
.wfacp_checkout-template .bwf-list-36a115d7 .bwf-icon-list-item-wrap {
	margin-bottom: 12px !important;
}

/* Sur night, le texte et les coches changent de couleur — sinon on obtient de
   l'encre foncée sur du bleu nuit, c'est-à-dire rien. */
.wfacp_checkout-template .bwf-inner-col:has(.wfacp-mini-cart-block) .bwf-icon-list-text,
.wfacp_checkout-template .bwf-list-36a115d7 .bwf-icon-list-text {
	color: #e6ebe4 !important;
	font-size: 14px !important;
}

.wfacp_checkout-template .bwf-inner-col:has(.wfacp-mini-cart-block) .bwf-icon-list-icon svg,
.wfacp_checkout-template .bwf-inner-col:has(.wfacp-mini-cart-block) .bwf-icon-list-icon svg path,
.wfacp_checkout-template .bwf-list-36a115d7 .bwf-icon-list-icon svg,
.wfacp_checkout-template .bwf-list-36a115d7 .bwf-icon-list-icon svg path {
	fill: var(--pt-primary-lite) !important;
	color: var(--pt-primary-lite) !important;
}

/* --- Le paiement express ------------------------------------------------------
   ⚠ Ce bloc est INVISIBLE dans nos captures : un Chromium sans interface n'a
   aucun moyen de paiement enregistré, donc Google Pay et Apple Pay ne se
   rendent pas. Sur l'écran de Loïc, c'est un grand bouton noir pleine largeur.
   Ces règles sont donc écrites à l'aveugle, et volontairement minimales.

   On ne repeint PAS le bouton lui-même : Google et Apple imposent l'apparence
   de leurs boutons de paiement, et un bouton wallet maquillé n'est plus
   reconnu par l'œil comme un moyen de paiement. On l'encadre : on lui retire
   ses arrondis, on habille le cadre et son intitulé. */

.wfacp_html_canvas #fkwcs-expresscheckout-fieldset,
.wfacp_html_canvas .fkwcs_stripe_smart_button_wrapper {
	border: var(--pt-border) !important;
	background: var(--pt-cream) !important;
	padding: 18px 20px 20px !important;
	margin: 0 0 24px !important;
	border-radius: 0 !important;
}

.wfacp_html_canvas #fkwcs-expresscheckout-fieldset legend {
	font-family: var(--pt-font-body) !important;
	font-size: 10px !important;
	font-weight: 600 !important;
	letter-spacing: 1.6px !important;
	text-transform: uppercase !important;
	color: var(--pt-ink-muted) !important;
	padding: 0 8px !important;
}

.wfacp_html_canvas .fkwcs_smart_buttons,
.wfacp_html_canvas .fkwcs_custom_express_button button {
	border-radius: 0 !important;
	max-height: 52px !important;
}

/* --- Les moyens de paiement ---------------------------------------------------- */

.wfacp_html_canvas .wfacp-payment-tab-wrapper,
.wfacp_html_canvas .wfacp-payment-tab-list,
.wfacp_html_canvas ul.wc_payment_methods,
.wfacp_html_canvas li.wc_payment_method {
	border-color: var(--pt-line) !important;
}

.wfacp_html_canvas .wfacp-payment-title,
.wfacp_html_canvas .wc_payment_method label {
	font-family: var(--pt-font-body) !important;
	font-size: 14.5px !important;
	color: var(--pt-ink) !important;
}

.wfacp_html_canvas .payment_box {
	background: var(--pt-cream-deep) !important;
	border: var(--pt-border) !important;
}

/* Le moyen de paiement SÉLECTIONNÉ porte un cadre brun (maquette `6g`) : sur un
   écran de paiement, savoir d'un coup d'œil par quoi on va payer vaut mieux
   qu'une pastille de 12 px. `:has()` suit l'état réel du bouton radio — pas une
   classe posée au chargement, qui mentirait dès le premier clic. */
.wfacp_html_canvas li.wc_payment_method:has(input[type="radio"]:checked) {
	border: 1px solid var(--pt-brown) !important;
}

.wfacp_html_canvas li.wc_payment_method:has(input[type="radio"]:checked) > label {
	background: #f6efe4 !important;
	display: block;
	padding: 14px 16px !important;
	font-weight: 600 !important;
}

/* La pastille ronde du radio redevient carrée et brune, comme les puces des
   écrans payants — SAUF qu'ici c'est bien un bouton radio : on garde donc la
   forme ronde de la coche à l'intérieur. Voir la note de `learndash.css` : les
   pastilles de statut restent rondes, les conteneurs sont carrés. */
.wfacp_html_canvas li.wc_payment_method:has(input[type="radio"]:checked) > label::before {
	background: var(--pt-brown) !important;
	border-color: var(--pt-brown) !important;
}

/* --- Les étapes ---------------------------------------------------------------- */

.wfacp_html_canvas .wfacp-order2StepTitle,
.wfacp_html_canvas .wfacp-order2StepTitleS1,
.wfacp_html_canvas .wfacp_form_steps {
	font-family: var(--pt-font-body) !important;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--pt-ink-muted);
}

.wfacp_html_canvas .wfacp-order2StepTitle.wfacp_tcolor,
.wfacp_html_canvas .wfacp_tcolor {
	color: var(--pt-primary) !important;
}

/* --- Les liens et messages ------------------------------------------------------ */

.wfacp_html_canvas a,
.wftp_html_canvas a {
	color: var(--pt-primary);
}

.wfacp_html_canvas a:hover,
.wftp_html_canvas a:hover {
	color: var(--pt-night);
}

/* La mention de politique de confidentialité sortait en orange du modèle. */
.wfacp_html_canvas .woocommerce-privacy-policy-text,
.wfacp_html_canvas .woocommerce-privacy-policy-text p {
	font-size: 12.5px !important;
	color: var(--pt-ink-muted) !important;
	line-height: 1.55 !important;
}

.wfacp_html_canvas .woocommerce-privacy-policy-text a {
	color: var(--pt-primary) !important;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.wfacp_html_canvas .woocommerce-error,
.wfacp_html_canvas .wfacp_coupon_msg.error {
	background: rgba(197, 106, 74, 0.08);
	border: var(--pt-border-alert);
	color: var(--pt-brown);
	border-radius: var(--pt-radius);
}

.wfacp_html_canvas .woocommerce-message,
.wfacp_html_canvas .wfacp_coupon_msg.success {
	background: var(--pt-primary-ul);
	border: var(--pt-border-free);
	color: var(--pt-primary);
	border-radius: var(--pt-radius);
}

/* --- Les blocs de contenu du modèle (`bwf-*`) ---------------------------------
   Bandeau du haut, listes de réassurance, pied de page. Leurs couleurs viennent
   de règles générées par bloc, écrites dans une feuille en ligne juste après la
   nôtre : on repasse au même niveau avec `!important`, comme pour LearnDash.

   ⚠ Ne PAS imposer de taille sur `.bwf-adv-heading` en général : la ligne de
   copyright du pied de page en est un, et une taille de titre la ferait passer
   en 20 px. Les tailles du modèle sont justes ; seules la police et la couleur
   ne l'étaient pas. */

.bwf-adv-heading {
	font-family: var(--pt-font-title) !important;
	color: var(--pt-ink) !important;
	letter-spacing: 0 !important;
}

.bwf-icon-list-text {
	font-family: var(--pt-font-body) !important;
	color: var(--pt-ink-soft) !important;
	font-size: 14.5px !important;
	line-height: 1.6 !important;
}

/* Coches de réassurance et bouclier « paiement sécurisé » : au vert du gratuit,
   jamais à l'orange du modèle. */
.bwf-icon-list-icon svg,
.bwf-icon-list-icon svg path,
.bwf-icon-inner-svg svg,
.bwf-icon-inner-svg svg path {
	fill: var(--pt-primary) !important;
	color: var(--pt-primary) !important;
}

/* Mentions légales du pied de page : lisibles, discrètes, jamais orange.
   `inherit` et non Montserrat : ces liens partagent leur ligne avec du texte du
   même bloc, et deux polices sur une même ligne se voient. */
.bwf-adv-heading a {
	font-family: inherit !important;
	color: var(--pt-ink-soft) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.bwf-adv-heading a:hover {
	color: var(--pt-primary) !important;
}

/* --- Mobile --------------------------------------------------------------------- */

@media (max-width: 767px) {
	.wfacp_html_canvas .wfacp_section_heading,
	.wfacp_html_canvas .wfacp_section_title,
	.wfacp_html_canvas .wfacp-order-summary-label {
		font-size: 21px !important;
	}

	.wfacp_html_canvas .wfacp-section {
		padding: 22px 18px 24px !important;
	}

	.wfacp_html_canvas .wfacp-order-summary-label {
		padding: 18px 18px 12px !important;
	}

	.wfacp_html_canvas .wfacp_order_summary_container {
		padding: 0 16px 16px !important;
	}

	.wfacp_checkout-template .bwf-inner-col:has(.wfacp-mini-cart-block) > .bwf-adv-heading,
	.wfacp_checkout-template .bwf-adv-head-81887319 {
		padding: 18px 18px 10px !important;
		font-size: 19px !important;
	}

	.wfacp_checkout-template .bwf-inner-col:has(.wfacp-mini-cart-block) > .bwf-icon-list-wrap,
	.wfacp_checkout-template .bwf-list-36a115d7 {
		padding: 0 18px 18px !important;
	}

	.wfacp_html_canvas .wfacp-order-place-btn-wrap button {
		font-size: 16px !important;
		padding: 17px 18px !important;
	}
}

/* --- Page de remerciement --------------------------------------------------------
   Elle est aujourd'hui rendue par le gabarit du thème (`single-wffn_ty.php`),
   pas par celui de FunnelKit : ce qui suit ne sert que si on repasse au modèle
   de l'extension (`gabarit-merci.mjs funnelkit`). */

.wftp_html_canvas .wffn_order_details_table {
	font-size: 14.5px;
	color: var(--pt-ink-body);
}

.wftp_html_canvas .wffn_order_details_table th,
.wftp_html_canvas .wffn_order_details_table td {
	border-color: var(--pt-line);
	padding: 12px 0;
}

.wftp_html_canvas [class*="card"],
.wftp_html_canvas [class*="box"],
.wftp_html_canvas [class*="section"] {
	border-radius: var(--pt-radius);
}
