/* Sanoo · compléments du plugin à sanoo-client.css (maquettes).
   Seulement ce que les maquettes ne couvrent pas : formulaires d'action en ligne, fenêtre <dialog> native,
   écrans WooCommerce dans le cadre du compte, prix et ajout au panier de la boutique.
   Variables --sn-* uniquement, aucune couleur en dur. */

/* ---------- Espace client dans le gabarit du thème (habillage Sanoo désactivé) ---------- */
.sanoo-app--integre { min-height: 0; background: transparent; padding-bottom: 0; }

/* ---------- L'attribut hidden l'emporte sur l'affichage des composants (boutons « Copier » sans
   presse-papiers, bouton « Appliquer » quand JavaScript enregistre seul, blocs conditionnels) ---------- */
[hidden] { display: none !important; }

/* ---------- Formulaires d'action : un bouton = un formulaire POST ---------- */
.sanoo-form-inline { display: inline-flex; margin: 0; }
.sanoo-form { display: flex; flex-direction: column; gap: var(--sn-sp-5); }
.sanoo-app [aria-busy="true"] { opacity: .7; transition: opacity .2s; }
.sanoo-stepper output { display: inline-grid; place-items: center; }
.sanoo-notice .sanoo-btn-row { margin-top: var(--sn-sp-2); }
.sanoo-notice__list { margin: var(--sn-sp-2) 0 0; padding-left: var(--sn-sp-5); list-style: disc; }
.sanoo-app .sanoo-notice__list { list-style: disc; }
.sanoo-app .sanoo-notice__list a { color: inherit; }
.sanoo-product__name { color: var(--sn-encre); text-decoration: none; }
.sanoo-product__name:hover { text-decoration: underline; }

/* ---------- Fenêtre de confirmation native (<dialog>) ---------- */
dialog.sanoo-dialog { border: 0; color: var(--sn-encre); font: 400 var(--sn-fs-m)/1.55 var(--sn-font); margin: auto auto 0; max-height: 90vh; }
dialog.sanoo-dialog::backdrop { background: color-mix(in srgb, var(--sn-encre) 55%, transparent); }
dialog.sanoo-dialog :focus-visible { outline: var(--sn-focus); outline-offset: 2px; }
@media (min-width: 56.25em) { dialog.sanoo-dialog { margin: auto; } }

/* ---------- Écrans WooCommerce dans le cadre du compte (commande, informations) ---------- */
.sanoo-wc { display: flex; flex-direction: column; gap: var(--sn-sp-4); font-size: var(--sn-fs-s); }
.sanoo-wc table { width: 100%; border-collapse: collapse; background: var(--sn-blanc); }
.sanoo-wc th, .sanoo-wc td { padding: var(--sn-sp-2) var(--sn-sp-3); border-bottom: 1px solid var(--sn-filet); text-align: left; }
.sanoo-wc h2, .sanoo-wc h3 { font: 800 var(--sn-fs-l)/1.1 var(--sn-font); font-stretch: var(--sn-stretch-enseigne); text-transform: uppercase; color: var(--sn-vert); margin: var(--sn-sp-4) 0 var(--sn-sp-2); }
.sanoo-wc label { display: block; font-weight: 700; margin-bottom: var(--sn-sp-1); }
.sanoo-wc input[type="text"], .sanoo-wc input[type="email"], .sanoo-wc input[type="password"], .sanoo-wc input[type="tel"], .sanoo-wc select {
	width: 100%; min-height: var(--sn-target); padding: var(--sn-sp-2) var(--sn-sp-3); border: 2px solid var(--sn-encre-3); border-radius: var(--sn-r-controle); background: var(--sn-blanc); font: inherit; color: var(--sn-encre);
}
.sanoo-wc .form-row { margin: 0 0 var(--sn-sp-4); }
.sanoo-wc fieldset { border: 1px solid var(--sn-filet); border-radius: var(--sn-r-carte); padding: var(--sn-sp-4); }
.sanoo-wc button, .sanoo-wc .button { display: inline-flex; align-items: center; min-height: var(--sn-target); padding: 0 var(--sn-sp-5); border: 2px solid var(--sn-rouge); border-radius: var(--sn-r-controle); background: var(--sn-rouge); color: var(--sn-blanc); font-weight: 800; text-decoration: none; cursor: pointer; }
.sanoo-wc a:not([class]) { color: var(--sn-vert); }

/* ---------- Box : grille de prix ---------- */
.sanoo-box-prix thead th { font: 700 var(--sn-fs-xs)/1.3 var(--sn-mono); text-transform: uppercase; color: var(--sn-encre-2); }
.sanoo-box-prix tr[aria-current="true"] th { color: var(--sn-vert); }
.sanoo-box-prix th[scope="row"] { white-space: normal; width: auto; }

/* ---------- Carte bancaire (Stripe Elements) ---------- */
.sanoo-carte-element { padding-top: 14px; }

/* ---------- Boutique (gabarits du thème) : prix, ajout au panier, avis ---------- */
.sanoo-prix { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--sn-sp-1) var(--sn-sp-2); }
.sanoo-prix__unique { font: 700 var(--sn-fs-m) var(--sn-mono); }
.sanoo-prix__votre { font-size: var(--sn-fs-s); font-weight: 700; color: var(--sn-encre); }
.sanoo-ajout { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--sn-sp-3); margin: var(--sn-sp-3) 0 0; }
.sanoo-ajout__quantite { max-width: 8rem; }
.sanoo-ajout__raison { flex-basis: 100%; font-size: var(--sn-fs-s); color: var(--sn-encre-2); }
.sanoo-bloc-ajout, .sanoo-avis { margin: var(--sn-sp-3) 0; }
.sanoo-avis { display: flex; flex-direction: column; gap: var(--sn-sp-3); }
.sanoo-mini-panier { display: inline-flex; align-items: center; min-height: var(--sn-target); font-weight: 700; color: var(--sn-vert); }
.sanoo-lien-inscription { margin-top: var(--sn-sp-4); }

/* ---------- Groupes de questions enveloppés (budget en direct, affichage conditionnel) ---------- */
.sanoo-question > [data-sanoo-budget], .sanoo-question > [data-sanoo-si], .sanoo-form > [data-sanoo-si] { display: flex; flex-direction: column; gap: var(--sn-sp-5); }
.sanoo-question > [data-sanoo-si][hidden], .sanoo-form > [data-sanoo-si][hidden] { display: none; }
.sanoo-question > .sanoo-badge, .sanoo-empty > .sanoo-badge { align-self: flex-start; }
