@charset "UTF-8";
/* Mis à jour le 3 octobre 2026 (3) : section 224 : critères d'éligibilité et pièces requises de la page Programme, deux cartes par ligne ; section 223 : onglets en boutons des pages longues de l'administration ; section 222 : message d'accueil de nenthol.nl et outil admin « Message d'accueil ». Précédemment : 2 octobre 2026 (37) : section 221 : page d'une région, structures engagées dans l'Expo en onglets (boutons), pôles deux par ligne ; section 220 : Livraison, compteurs séparés (livré, retiré ; annulé, remboursé) ; mention « Accompagnement » (précision hors pôles) ; admin Responsables, carte « Appui extérieur, hors pôles » ; section 219 : module admin Responsables (annuaire des pôles) : compteurs des éléments manquants, pôles sans responsable, pastilles « manquant », champs à compléter, filtres ; pastille douce du menu ; section 218 : page admin Livraison refaite (suivi unique des envois : compteurs par type et transporteur, alertes, réclamations, tarifs, tableau défilant dans sa carte, badges d'état). ; section 217 : espace sous le bandeau (état du projet, formations), articles, admin IA SEO (statistiques, barres, mots-clés), IA des candidatures, tous les pôles ; section 216 : formations des pôles (catalogue, page d'une formation, paiement, espace de la personne inscrite, certificat, espace pôle, admin), pastilles des 17 ODD et cibles ; tableaux de l'espace pôle sans débordement de la page ; propositions de l'IA traitées en fond gris (contraste) ; section 214 : admin IA - veille et analyse ; section 215 : page Etat du projet MVP et carte des espaces ; section 211 : bloc Completer les traductions manquantes (.nvbb-dict-fill) ; section 212 : bandeau de la FAQ ; section 213 : espace des responsables de pole, admin Espace des poles, structures sur la page d'une region ; section 211 : module admin Dictionnaire ; section 210 : module admin Pages et textes ; message d'échec de la traduction en rouge (.nvbb-xc-ai__st.is-err) ; boutons de traduction automatique (.nvbb-xc-ai), en-têtes du tableau sur une ligne ; sections 208 (admin des contenus : pôles, programme, infos pratiques, FAQ) et 209 (page FAQ) ; ligne de date et heure de mise à jour ; section 207 : pôles de l'Expo trois par ligne (deux sur tablette, un sur téléphone), pagination de six pôles et case de recherche par nom ; section 206 : pôles de l'Expo, bouton « Afficher l'adresse e-mail » en blanc sur le fond bleu (il était bleu foncé, donc invisible) ; section 205 : date de dernière mise à jour (page d'une boutique, carte « Réglages fiscaux et tarifs ») ; sections 202 à 204 : contact en assistant, billets SIAM en pilule, caisses en assistant ; section 201 : frises d'étapes au style de l'assistant Immersion (pilule blanche, cercles numérotés, traits) pour les pages « Retrouvez votre commande » (.nvbb-steps-pill) et la frise de nvbb-wizard.js (.nvbb-wiz-progress) ; fin des cartes à bordure colorée qui laissaient un vide sous le texte. Précédemment : section 200 (méga menu public). ; section 200 : méga-menus publics plus compacts (Marketplace sur 4 colonnes, hauteur limitée à l'écran) ; section 199 : bloc du mandataire, contrôle d'identité dans l'admin ; section 199 : demandes sur les données personnelles et bouton « Afficher l'adresse e-mail » ; section 198 : boutiques-relais à droite des logos du pied de page, en plus petit ; section 197 : boutiques-relais dans la grille du pied de page, sous Nos régions et Événements ; section 196 : logos du pied de page alignés à gauche ; section 196 : logos des transporteurs dans le pied de page, avant les moyens de paiement ; section 195 : légende sous chaque logo de paiement du pied de page ; section 194 : logos de paiement plus lisibles (logos compacts plus hauts, liseré à la couleur de la marque) ; section 193 : logos des moyens de paiement dans le pied de page, à droite des boutiques-relais ; section 192 : réclamations colis (champ photo, grille des photos, étiquettes d'étape) ; classes .mdaa-hp-icheda renommées .mdaa-hp-quality (encart contrôle qualité de l'accueil), rendu inchangé ; badge admin des cartes de pôle ; bandeau bleu en bas de carte sans le bloc « Piloté par » ; légende de l'organigramme (.mdaa-org-legend) ; mentions sous le bandeau de direction ; mention de la cellule digitale et d'intégration (.nvbb-supby--cell, --rel) ; marge d'ancre des boîtes de l'organigramme ; bandeau de direction et grille des partenaires en auto-fit (les cartes remplissent la largeur) ; mention « Appuyé par » (.nvbb-supby) ; taille du nom de la série sur les billets du dessin (.nvbb-pfig__t--tk) ; bloc replié .nvbb-wd-annex (Annexe I) ; contraste du numéro de la cellule de l'organigramme ; dessin en fond : inscription artisan, Expo, stands, nos artisans, immersion, infos pratiques, billetterie, encarts du méga-menu. Précédemment : 1er octobre 2026 (38) : v=20261002a. ; section 191 : rétractation en ligne (module des conditions, formulaire, suivi, admin, .nvbb-wd-*) ; v=20261001zj. ; page d'une région : photo de la boutique dans le cercle et badge « Boutique pilote » sur le bord de la carte ; v=20261001zi. ; dessin en fond pour les pages Collaborer, contact, pages légales et livraison ; animations des nouvelles scènes ; v=20261001zh. ; encadré « Pas la réponse attendue ? » aligné sur le formulaire dans les cartes de suivi et de retrait (icône à gauche, texte et boutons dans la même colonne) ; v=20261001zg. ; dessin en fond des en-têtes centrés : suivi de commande, suivi de colis, confirmer un retrait ; v=20261001zf. ; indices SERVICES IT / MARKETPLACE posés sur le bord haut des trois boutons du pied de page ; v=20261001ze. ; dessin en fond de bandeau pour les pages à deux colonnes (.nvbb-pfig-bg) ; v=20261001zd. ; section 190 : scènes du lot 3 et place du dessin (produits, catégories, Expo, stands, commande) ; montant converti lisible dans les boutons orange (contraste) ; v=20261001zc. ; section 190 : scènes du lot 2, place du dessin dans les bandeaux À propos (.mdaa-static-hero), formulaires réseau (.mdaa-b2b-hero) et inscription artisan (.register-hero) ; v=20261001zb. ; section 190 : dessins animés des pages publiques (.nvbb-pfig) ; v=20261001za. ; section 189 : catégories du contact en cartes, page « Une question sur votre commande ? » et son dessin animé, encadré .nvbb-ohm ; v=20261001z. ; section 188 : bandeau admin et outil Mode du site (.nvbb-sitemode-bar, .nvbb-sm__*). ; section 187 : indice des boutons (Services IT en orange, Marketplace en vert) ; section 187 : section unique avant le pied de page à trois boutons (références, transporteurs, moyens de paiement) ; section 186 : Services IT : chiffres clés (15+, 21, références, 3 langues) dans un écran à droite du bandeau, à la place des lignes de l'illustration (sous le texte sur téléphone) ; schéma « Notre MVP » à droite du texte (flux animés, arrêtés si les animations sont réduites) ; section 185 : logos des transporteurs : carte à la couleur du bord d'un logo opaque (jaune DHL) dans la bande « Livraison assurée par » et les fiches, logo de taille fixe, pastille « Vérifiés en continu » juste après le nom (aussi sur téléphone) ; section 184 : polices des contenus : titres en Fraunces (serif douce et chaleureuse), textes, libellés et boutons en Nunito (humaniste, arrondie), hébergées sur notre serveur ; textes à 16 px (--mdaa-fs-md), sous-titres 18 px, titres de 26 à 40 px ; page « Demander un nouvel envoi » : numéro de l'étape en pastille sur l'icône ; admin « Pays de commande » : deux boutons (règle, journal), chiffres du journal alignés ; section 183 : bande « Livraison assurée par » avant le pied de page, boutiques-relais en lignes (drapeau | ville | boutique | région pilote), espace du bas du pied de page réduit, page « Demander un nouvel envoi » (.nvbb-rsh-*) et admin « Nouveaux envois » (.nvbb-rshadm-*) ; section 182 : outil admin « Géolocalisation » : messages selon l'état (danger, info), carte « Pays de commande », chiffres et tableau du journal des contrôles de pays (défilant, en-tête fixe), deux colonnes sur téléphone ; section 181 : outil admin « Géolocalisation » ; section 180 : barre de l'assistant des sacs (boutons d'étape avec le choix fait, navigation sur trois colonnes), note « TVA comprise · tarif vérifié » sous l'envoi ; section 179 : tableau de la Politique de livraison élargi (1200 px), 4e étape des sacs, total dans la barre de l'assistant, pied de page « Livraison assurée par » avec les logos des transporteurs ; section 178 : focus du calculateur porté par la pilule (plus de débordement), pastilles du transporteur le moins cher dans le tableau des tarifs, contact « Quand nous écrire ? » en deux tuiles illustrées par ligne, sacs sur mesure en assistant (étapes, pays de livraison, calcul HT / TVA / TTC) ; section 177 : fiches des transporteurs (liseré kente, logo ou initiale, pastille « vérifiés en continu », repères, paliers, sources), deux colonnes et La Poste du Bénin sur toute la largeur ; section 176 : suivi des colis, titre de l'avertissement en #6b4a0c (contraste suffisant) ; section 175 : admin « Envoi des boutiques » : formulaire de la fréquence de vérification des tarifs ; section 174 : admin « Envoi des boutiques » : ligne d'en-tête du tableau des tarifs (Destination, Transporteur, tranches de poids, Délai) fixe pendant le défilement, tableau dans un cadre défilant aux couleurs du logo, colonne Destination fixe sur mobile ; section 173 : admin « Envoi des boutiques » : trois boutons (tarifs, poids, commandes), ligne de la grille enregistrée ; section 172 : admin « Envoi des boutiques » : champ de recherche d'un pays au-dessus du tableau des tarifs, ligne du prochain passage automatique ; section 171 complétée : nom du pays et code ISO dans le tableau des tarifs de l'admin, dernier passage par transporteur ; section 171 : admin « Envoi des boutiques », méthodes du compte Sendcloud ; section 169 : page Livraison dans la présentation des pages de suivi (carte centrée, bandeau illustré, liseré kente multicolore, formulaire en pilule, cartes de résultat à liseré kente) ; section 170 : rendez-vous, jour et heure en deux panneaux (jours en liste verticale à gauche, grand panneau des heures à droite, liseré kente) ; accueil : orange des légendes et surtitres des objectifs (#b86a00 et #c46f00 -> #8a4b00, contraste au moins 4,5:1) ; section 167 : page Livraison (calculateur des frais d'envoi, deux départs, lien vers la politique de livraison) et tableau des frais d'envoi revu (textes plus petits, transporteur en pastille, barre de défilement bleu et orange du logo) ; section 168 : adresses et lieux (nvbb-address.js) ; section 166 : focus clavier visible partout (anneau orange et bleu, WCAG 2.4.7) ; accessibilité (contrôle axe-core des espaces admin, artisan et livreur) : couleurs de texte trop claires remplacées par des teintes plus foncées et opacités retirées (cartes désactivées, petits textes des outils) (contraste d'au moins 4,5:1, WCAG 1.4.3) ; section 165 : tableau public des frais d'envoi de la page Livraison (.nvbb-shiprates) ; section 164 complétée : bloc « Mise à jour automatique (API) » (.nvbb-shipadm__sync). Précédemment : 1er octobre 2026 : section 164 : admin « Envoi des boutiques », un bloc de tarifs par transporteur (PostNL, DHL) avec dates et sources lues dans la base (.nvbb-shipadm__meta). Précédemment : 30 septembre 2026 (43) : section 161 : « Copier » des références en lien (icône + texte souligné), placé sous le cadre des grandes références (.nvbb-copyref__btn--out, --light sur fond sombre) ; carte « délai dépassé » du tableau de bord admin (.mdaa-admin-alert-card--danger). Précédemment : 30 septembre 2026 (42) : section 162 : correctifs relevés par le contrôle de l'export 56 : page « merci » (icônes des titres et des coordonnées à leur taille, liste d'articles sans puce, image d'article cadrée, lignes du paiement), programme de l'Expo sans puces, cartes admin qui ne s'élargissent plus avec leur contenu, tableaux larges qui défilent dans leur cadre (.nvbb-table-scroll : factures admin). Précédemment : 30 septembre 2026 (41) : section 161 : bouton « Copier » après les références de commande (.nvbb-copyref-*). Précédemment : 30 septembre 2026 (40) : section 160 : page « merci » d'une commande non payée (.nvbb-paystate-* : paiement non reçu, refusé, en attente, reprendre le paiement). Précédemment : 30 septembre 2026 (39) : section 159 : admin « Livreurs » (.nvbb-couradm-*) ; tarifs et poids dans l'admin des envois (.nvbb-shipadm__weights, .nvbb-shipadm__rates). Précédemment : 30 septembre 2026 (38) : section 158 : transporteur imposé (.nvbb-ship-fixed), récapitulatif du panier selon le pays (.nvbb-cc-qrow, .nvbb-cc-vat, .nvbb-cc-where). Précédemment : 30 septembre 2026 (37) : section 157 : espace livreur (.nvbb-cour-*). Précédemment : 30 septembre 2026 (36) : section 156 : mention du régime de taxe (.nvbb-tax-note, encadré .mdaa-checkout-dap du récapitulatif, vert quand rien n'est à payer à la livraison). Précédemment : 30 septembre 2026 (35) : .mbae-co-block retiré de la grille de page 10.2 (blocs Retrait / Livraison de la commande des boutiques sur une colonne) ; récapitulatif de commande : prix sous le nom de l'article, quantité en pastille sur l'image ; marge sous l'adresse de retrait ; page de paiement : image d'article sans texte de remplacement débordant, espace avant « Modes de paiement acceptés » ; section 155 : pays de livraison figé (.nvbb-geo-note, .nvbb-geo-refusal, .nvbb-geo-locked) ; page de paiement des créations : icônes des titres, des coordonnées et des modes de paiement à leur taille (elles s'affichaient en géant) ; panier vide en pleine largeur, trois cartes. Précédemment : Mis à jour le 30 septembre 2026 (34) : section 154 : carte « Commission de la plateforme » de l'admin d'une boutique (.nvbb-shopcomm). Précédemment : Mis à jour le 30 septembre 2026 (33) : section 153 : bloc « Actions Impact » de l'admin « Envoi d'argent » (état du jeton, totaux par mois, dernières actions). Précédemment : Mis à jour le 30 septembre 2026 (32) : section 152, bandeau « Pourquoi rejoindre le réseau » : les trois cartes occupent toute la largeur du bandeau, voile plus sombre sur toute la largeur et fond des cartes assombri pour la lecture sur l'illustration. Précédemment : Mis à jour le 30 septembre 2026 (31) : section 152 : espaces réduits sous le fil d'Ariane des pages de suivi (commande, colis) et de retrait en boutique ; billetterie (coordonnées, paiement) : étapes détachées du bandeau, moins d'espace dessous, colonne de gauche en carte alignée sur le récapitulatif ; inscription d'une boutique : « Pourquoi rejoindre le réseau » en bandeau illustré pleine largeur, assistant sur toute la largeur. Précédemment : Mis à jour le 30 septembre 2026 (30) : taille des textes ramenée à celle d'avant (29) à la demande de Ganyo (--mdaa-fs-xs 12 px, --mdaa-fs-sm 13 px, tailles écrites en dur d'origine) ; section 151 : liens de la topbar en 14 px semi-gras (le libellé « Documents » de l'étape d'inscription passait sur une 2e ligne). Précédemment : Mis à jour le 30 septembre 2026 (29) : taille de lecture relevée d'un pixel pour les petits textes (repère : remitly.com) sans changer les couleurs ni les polices : --mdaa-fs-xs 12 -> 13 px, --mdaa-fs-sm 13 -> 14 px, tailles écrites en dur 11/11,5/12/12,5/13/14/14,5 px -> 12/12,5/13/13,5/14/15/15 px ; topbar en 15 px semi-gras ; section 151 : liens « Envoyer de l'argent » et « Se connecter » (cadenas) de la topbar. Précédemment : Mis à jour le 30 septembre 2026 (28) : section 150, envoi d'argent par des prestataires agréés : page publique (.nvbb-rem-*) et admin (.nvbb-remadm-*). Précédemment : 30 septembre 2026 (27) : cartes des boutiques : pastilles « Boutique pilote » et « Origine » alignées sur le contenu de la carte (elles débordaient à gauche) ; page d'une boutique : lien de retour détaché du bandeau (.mbae-shop-back). Précédemment : 30 septembre 2026 (26) : section 149, le premier h2 d'un outil prend le style de l'ancien h1 (un seul h1 par page). Précédemment : 30 septembre 2026 (25) : section 149, outils admin (renvoi des e-mails, journaux, diagnostic, scans) dans la présentation admin (.nvbb-tool, styles repris de l'ancien bloc intégré). Précédemment : 30 septembre 2026 (24) : logo de l'en-tête en cercle (bordure ronde) ; assistant : étape faite = coche SVG (plus de coche dessinée en CSS, point rouge corrigé), titre d'étape sans surlignage au focus ; rendez-vous : jours à gauche et heures à droite en deux grilles ; admin « Paiements » : dernières erreurs Mollie ; services IT : section « Notre MVP » (.nvbb-it__mvp), contraste du secteur des références et des dates d'événements. Précédemment : 30 septembre 2026 (23) : polices Sora et Karla hébergées sur notre serveur (@font-face, public/assets/fonts) au lieu de Google Fonts ; section 147 : assistant pas à pas commun aux formulaires (.nvbb-wiz-*), boutiques multiculturelles (pastille d'origine .nvbb-origin, principe, lien reconnu .nvbb-weblink), livraison NVBB des articles des boutiques (.nvbb-cc-mbship, .mbae-co-carrier), admin « Envoi des boutiques » (.nvbb-shipadm) et double authentification (.nvbb-tfa-*). Précédemment : 30 septembre 2026 (22) : contrastes WCAG AA (texte discret --mdaa-ink-faint #5f6d7e, type de région, pastille « Région pilote », code des pages 404/500) ; section 146, panier central (une seule page panier, commande groupée, paiement unique), bouton « Panier » de l'en-tête en lien simple, page contact en deux cartes puis un bloc large. Précédemment : 30 septembre 2026 (21) : section 144, rendez-vous (page « Prendre rendez-vous », récapitulatif du visiteur, admin « Rendez-vous ») ; section 145, inscription d'une boutique africaine avec sa province. Précédemment : 30 septembre 2026 (20) : section 143, boutiques africaines par région (page « Boutiques africaines près de chez vous », boutiques d'une région, carte admin « Région NVBB »). Précédemment : 30 septembre 2026 (19) : section 142, paiement selon le pays de livraison (ligne « Paiement » de la commande, page de paiement Mollie, admin « Paiements »). Précédemment : 30 septembre 2026 (18) : section 141, administration « Sacs sur mesure » (onglets, cartes de saisie, fiche de commande). Précédemment : 30 septembre 2026 (17) : section 140, fiche d'un tissu pour sac (prix « à partir de », bouton « Choisir ce tissu pour un sac »). Précédemment : 30 septembre 2026 (16) : section 139, sacs sur mesure : ajout au panier avec quantité, panier (lignes avec aperçu, formulaire de livraison, récapitulatif), suivi de commande (étapes, facture). Précédemment : 30 septembre 2026 (15) : section 138, page « Sacs sur mesure » (aperçu, choix du modèle et du tissu, prix, délai). Précédemment : 30 septembre 2026 (14) : section 137, éditions de l'Expo : image large en arrière-plan (photos de la série ou lieu de l'édition), voile en dégradé depuis le texte, liseré kente. Précédemment : 30 septembre 2026 (13) : section 136, accueil : « Exposer à l'Expo » avec un bouton par édition. Précédemment : 30 septembre 2026 (12) : section 135, accueil : « Nos catégories » avec un bouton par pays. Précédemment : 30 septembre 2026 (11) : section 134, page contact : formulaire d'abord sur toute la largeur, coordonnées en cartes après. Précédemment : 30 septembre 2026 (10) : section 133, « Découvertes récentes » sous le bouton de la carte NVBB SARL. Précédemment : 30 septembre 2026 (9) : section 133, accueil : légende de la bande des objectifs, « Découvertes récentes » dans la carte NVBB SARL, section « rôle de la plateforme pour les ODD ». Précédemment : 30 septembre 2026 (8) : section 132, bandeau de l'accueil sur toute la largeur du conteneur (au lieu de 720 px centrés). Précédemment : 30 septembre 2026 (7) : section 132, accueil : trois leviers d'impact (Services IT, SIAM, Maakbrug) et pastilles ODD en texte. Précédemment : 30 septembre 2026 (6) : section 131, page « Nos régions » : un bouton par pays (style des onglets de la page Stands). Précédemment : 30 septembre 2026 (5) : section 130 complétée : listes courtes (6 choix ou moins) en boutons à choix unique (.nvbb-chips). Précédemment : 30 septembre 2026 (4) : section 130, champs de recherche à la place des listes déroulantes des formulaires (suggestions à partir de 3 lettres ou d'un chiffre, indicatif téléphonique compris). Précédemment : 30 septembre 2026 (3) : section 129, Services IT : cartes des références redessinées (grille régulière, même hauteur, flèche de lien en icône fixée en haut à droite, secteur en surtitre, adresse du site en pied). Précédemment : 30 septembre 2026 (2) : section 128, protections des formulaires : captcha « Je ne suis pas un robot », liste d'indicatifs téléphoniques, suggestions d'entreprises KVK, correction d'e-mail proposée. Précédemment : 30 septembre 2026 : section 127, formulaire d'immersion : pays figé en lecture seule et indicatif téléphonique devant le numéro. Précédemment : 29 septembre 2026 (29) : section 126, bloc « Lieu » d'une édition avec une seule image (illustration par défaut ou photo unique) sur toute la hauteur. Précédemment : 29 septembre 2026 (28) : section 125, cartes « Participer » de la page d'une édition sur 3 colonnes (6 cartes = 2 rangées de 3). Précédemment : 29 septembre 2026 (27) : section 123, espace entre les cartes de pack et la note des prix (collées) ; section 124, illustrations dans le style des bandeaux : cartes « Participer » (page d'une édition), carte « Partenaire stratégique » (accueil), bandeau et appel à l'action des Services IT. Précédemment : 29 septembre 2026 (26) : section 123, vignette illustrée en haut des cartes de pack (Accompagnement pro), style des bandeaux. Précédemment : 29 septembre 2026 (25) : section 121 revue (vignette des cartes de région dans le style des bandeaux : voile en dégradé et liseré kente) ; section 122, illustration en arrière-plan des cartes d'appel « Vous êtes artisan ? » et « Devenir responsable de région ». Précédemment : 29 septembre 2026 (24) : section 121, vignette illustrée en haut des cartes de région (« Nos régions »). Précédemment : 29 septembre 2026 (23) : section 120, image de fond des bandeaux « Nos régions » et des pages de région. Précédemment : 29 septembre 2026 (22) : section 119, image de fond des bandeaux centrés (Accompagnement pro, Devenir partenaire, Soutenir les artisans) et des têtes de carte du suivi. Précédemment : 29 septembre 2026 (21) : section 118, cadrage des illustrations par défaut des bandeaux (images rangées par id dans storage/pages/{id}/). Précédemment : 29 septembre 2026 (20) : section 117, liens des cartes partenaires (classe sans règle relevée par l'audit des classes). Précédemment : 29 septembre 2026 (19) : section 116, suggestions d'années pour l'année de création. Précédemment : 29 septembre 2026 (18) : section 114, onglets des événements sur la page « Stands » ; section 115, prix des packs, récapitulatif et page de paiement de l'Accompagnement pro. Précédemment : 29 septembre 2026 (17) : section 113, méga-menu « Notre réseau » à trois colonnes sur une seule ligne. Précédemment : 29 septembre 2026 (16) : section 110, les méga-menus des dernières entrées ne sont plus forcés à s'ouvrir vers la gauche (le script les garde dans l'écran). Précédemment : 29 septembre 2026 (15) : section 112, méga-menus avec encart (SIAM, Maakbrug) : colonnes et encart sur une seule ligne, encart à droite sur toute la hauteur. Précédemment : 29 septembre 2026 (14) : section 111, encart des éditions de l'Expo sur l'accueil (diapositives qui alternent, points de navigation). Précédemment : 29 septembre 2026 (13) : section 110, menu principal avec une entrée par édition de l'Expo (méga-menus des deux dernières entrées ouverts vers la gauche, menu compact sur écrans moyens). Précédemment : 29 septembre 2026 (12) : section 108, billetterie de l'Expo (titre du récapitulatif et son icône, lignes sans puces, « max N / commande » sous le bloc − / +). Précédemment : 29 septembre 2026 (11) : section 107, réductions visiteurs et consentements (.nvbb-vd-*, .nvbb-mc-*). Précédemment : Mis à jour le 29 septembre 2026 (10) : tuiles « Nos régions » de l'accueil en grille souple (plusieurs régions pilotes). Précédemment : Mis à jour le 29 septembre 2026 (9) : icône du compte de sélection centrée dans les avatars existants (annuaire, profil, recherche, fiche produit, accueil). Précédemment : Mis à jour le 29 septembre 2026 (8) : section 106 complétée : tuiles « Nos régions » de l'accueil, colonne « Nos régions » du pied de page, carte du compte de sélection (Découverte(s) récente(s)), ancres des groupes sous l'en-tête fixe. Précédemment : Mis à jour le 29 septembre 2026 (7) : section 106, pages publiques « Nos régions » (classes .nvbb-rpub-*). Précédemment : Mis à jour le 29 septembre 2026 (6) : section 105, backoffice Régions (classes .nvbb-areg-*, tableaux en cartes sur téléphone). Précédemment : Mis à jour le 29 septembre 2026 (5) : section 104, espace responsable de région (tableau de bord et fiche de repérage, classes .nvbb-ref-*). Précédemment : Mis à jour le 29 septembre 2026 (4) : photos de l'Expo derrière la carte événement de la page des stands (section 100) ; (3) cartes de stand — prix et bouton empilés, plus de débordement dans les colonnes étroites (section 103). Plus tôt : cartes de stand uniques .nvbb-stand-* (section 103, remplace les sections 101 et la partie cartes de 102) ; encadré « artisans vérifiés » (section 102) ; images de fond de l'Expo (section 100, .nvbb-bgslides). Précédemment : Mis à jour le 28 septembre 2026 : barres du haut (topbar, en-tête, barre admin ou artisan) fixées ensemble au défilement ; sous-menus de la barre admin/artisan au-dessus du contenu et lisibles (section 99 en fin de fichier). */
/* =====================================================================
   mdaa.css — feuille de style publique NVBB Nederland / MDAA
   Fichier : public/assets/css/mdaa.css
   Généré le 22 septembre 2026 à partir des vues resources/views/**.php
   (les vues admin et artisan gardent mdaa_admin.css et mdaa_artisan.css).

   Palette : extraite du logo NVBB Nederland
       bleu marine #004080  ·  orange #F89000
   Motifs  : bibliothèque « wax » en CSS pur (§ 3) — pastilles, kente,
             zigzag, bogolan, rayons. Aucun fichier image requis.

   Sommaire
     1. Polices
     2. Jetons (couleurs, type, espaces, rayons, ombres)
     3. Motifs wax
     4. Réinitialisation et base
     5. Typographie
     6. Grille : conteneurs, sections, utilitaires
     7. Composants communs   (07-components.css)
     8. Chrome : topbar, header, menus, pied de page (08-chrome.css)
     9. Accueil et catalogue (09-home-catalogue.css)
    10. Panier, commande, paiement, suivi (10-commerce.css)
    11. Boutiques-relais, Expo, Services IT, pages (11-modules.css)
    12. Points de rupture (12-responsive.css)
   ===================================================================== */

/* =====================================================================
   1. POLICES
   ===================================================================== */
/* Polices hébergées sur notre serveur (public/assets/fonts, licence SIL OFL) : plus d'appel à Google Fonts (RGPD, CSP). 30/09/2026 */
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/sora-latin-400-normal.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/sora-latin-ext-400-normal.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/sora-latin-600-normal.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/sora-latin-ext-600-normal.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/sora-latin-700-normal.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/sora-latin-ext-700-normal.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 800; font-display: swap; src: url('../fonts/sora-latin-800-normal.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 800; font-display: swap; src: url('../fonts/sora-latin-ext-800-normal.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Karla'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/karla-latin-400-normal.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Karla'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/karla-latin-ext-400-normal.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Karla'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/karla-latin-500-normal.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Karla'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/karla-latin-ext-500-normal.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Karla'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/karla-latin-600-normal.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Karla'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/karla-latin-ext-600-normal.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Karla'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/karla-latin-700-normal.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Karla'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/karla-latin-ext-700-normal.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Karla'; font-style: italic; font-weight: 400; font-display: swap; src: url('../fonts/karla-latin-400-italic.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Karla'; font-style: italic; font-weight: 400; font-display: swap; src: url('../fonts/karla-latin-ext-400-italic.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
/* 01/10/2026 (2) : Fraunces (titres) et Nunito (textes), SIL OFL, hébergées sur notre serveur */
@font-face { font-family: 'Fraunces'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/fraunces-latin-400-normal.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Fraunces'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/fraunces-latin-ext-400-normal.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Fraunces'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/fraunces-latin-600-normal.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Fraunces'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/fraunces-latin-ext-600-normal.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Fraunces'; font-style: normal; font-weight: 700 900; font-display: swap; src: url('../fonts/fraunces-latin-700-normal.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Fraunces'; font-style: normal; font-weight: 700 900; font-display: swap; src: url('../fonts/fraunces-latin-ext-700-normal.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Fraunces'; font-style: italic; font-weight: 400; font-display: swap; src: url('../fonts/fraunces-latin-400-italic.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Fraunces'; font-style: italic; font-weight: 400; font-display: swap; src: url('../fonts/fraunces-latin-ext-400-italic.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Nunito'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/nunito-latin-400-normal.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Nunito'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/nunito-latin-ext-400-normal.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Nunito'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/nunito-latin-500-normal.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Nunito'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/nunito-latin-ext-500-normal.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Nunito'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/nunito-latin-600-normal.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Nunito'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/nunito-latin-ext-600-normal.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Nunito'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/nunito-latin-700-normal.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Nunito'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/nunito-latin-ext-700-normal.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Nunito'; font-style: normal; font-weight: 800; font-display: swap; src: url('../fonts/nunito-latin-800-normal.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Nunito'; font-style: normal; font-weight: 800; font-display: swap; src: url('../fonts/nunito-latin-ext-800-normal.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Nunito'; font-style: italic; font-weight: 400; font-display: swap; src: url('../fonts/nunito-latin-400-italic.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Nunito'; font-style: italic; font-weight: 400; font-display: swap; src: url('../fonts/nunito-latin-ext-400-italic.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }

/* =====================================================================
   2. JETONS
   ===================================================================== */
:root {
    /* --- Alias hérités (utilisés en style inline par les vues) ------- */
    --mdaa-primary: var(--mdaa-navy);
    --mdaa-primary-soft: var(--mdaa-navy-50);
    --mdaa-primary-dark: var(--mdaa-navy-800);
    --mdaa-primary-darker: var(--mdaa-navy-900);
    --mdaa-accent: var(--mdaa-orange);
    --mdaa-border: var(--mdaa-line);
    --mdaa-muted: var(--mdaa-ink-soft);
    --mdaa-kente-yellow-pale: var(--mdaa-orange-50);
    --mdaa-kente-yellow-dark: var(--mdaa-orange-700);

    /* --- Couleurs du logo ------------------------------------------- */
    --mdaa-navy-900: #01203f;
    --mdaa-navy-800: #012f5c;
    --mdaa-navy: #004080;          /* bleu du logo */
    --mdaa-navy-600: #0a5199;
    --mdaa-navy-400: #4179ac;
    --mdaa-navy-200: #b9cee2;
    --mdaa-navy-100: #e3edf6;
    --mdaa-navy-50: #f2f7fb;

    --mdaa-orange: #f89000;        /* orange du logo */
    --mdaa-orange-700: #8a4b00;
    --mdaa-orange-500: #ffa624;
    --mdaa-orange-300: #ffc266;
    --mdaa-orange-100: #ffe6c2;
    --mdaa-orange-50: #fff6ea;

    /* --- Accents wax ------------------------------------------------ */
    --mdaa-terracotta: #b34a1f;
    --mdaa-leaf: #1d6b52;
    --mdaa-indigo: #1b2f5c;
    --mdaa-cream: #fbf5ec;
    --mdaa-sand: #f3e6d2;

    /* --- Encre et surfaces ------------------------------------------ */
    --mdaa-ink: #13202f;
    --mdaa-ink-soft: #4d5e70;
    --mdaa-ink-faint: #5f6d7e;   /* 30/09/2026 : contraste 5,4:1 sur blanc (WCAG AA), au lieu de #7b8898 (3,6:1) */
    --mdaa-line: #dde4ec;
    --mdaa-line-soft: #eaeff4;
    --mdaa-surface: #ffffff;
    --mdaa-surface-alt: var(--mdaa-navy-50);
    --mdaa-surface-warm: var(--mdaa-cream);

    /* --- États ------------------------------------------------------ */
    --mdaa-success: #1d6b52;
    --mdaa-success-bg: #e7f3ee;
    --mdaa-danger: #b3261e;
    --mdaa-danger-bg: #fdeceb;
    --mdaa-warning: #a96a06;
    --mdaa-warning-bg: #fdf1dc;
    --mdaa-info: var(--mdaa-navy);
    --mdaa-info-bg: var(--mdaa-navy-100);

    /* --- Typographie ------------------------------------------------ */
    --mdaa-font: 'Nunito', 'Karla', 'Segoe UI', system-ui, -apple-system, sans-serif;   /* 01/10/2026 (2) : textes en Nunito (humaniste, arrondie) */
    --mdaa-font-display: 'Nunito', 'Sora', system-ui, sans-serif;                       /* libellés, boutons, prix */
    --mdaa-font-title: 'Fraunces', Georgia, 'Times New Roman', serif;                    /* titres en Fraunces (serif douce) */
    --mdaa-font-mono: ui-monospace, 'SFMono-Regular', 'Cascadia Mono', Menlo, monospace;

    --mdaa-fs-xs: .75rem;
    --mdaa-fs-sm: .8125rem;
    --mdaa-fs-md: 1rem;   /* 01/10/2026 (2) : textes des contenus à 16 px */
    --mdaa-fs-base: 1rem;
    --mdaa-fs-lg: 1.125rem;
    --mdaa-fs-xl: 1.375rem;
    --mdaa-fs-2xl: 1.75rem;
    --mdaa-fs-3xl: clamp(1.625rem, 3.2vw, 2.5rem);   /* titres de 26 à 40 px */
    --mdaa-fs-4xl: clamp(2.1rem, 5vw, 3.4rem);

    /* --- Espaces ---------------------------------------------------- */
    --mdaa-sp-1: 4px;
    --mdaa-sp-2: 8px;
    --mdaa-sp-3: 12px;
    --mdaa-sp-4: 16px;
    --mdaa-sp-5: 24px;
    --mdaa-sp-6: 32px;
    --mdaa-sp-7: 48px;
    --mdaa-sp-8: 64px;
    --mdaa-sp-9: 88px;

    /* --- Rayons et ombres ------------------------------------------- */
    --mdaa-r-xs: 4px;
    --mdaa-r-sm: 8px;
    --mdaa-r-md: 12px;
    --mdaa-r-lg: 18px;
    --mdaa-r-xl: 26px;
    --mdaa-r-pill: 999px;

    --mdaa-sh-sm: 0 1px 2px rgba(1, 32, 63, .06), 0 2px 6px rgba(1, 32, 63, .05);
    --mdaa-sh-md: 0 4px 14px rgba(1, 32, 63, .08);
    --mdaa-sh-lg: 0 14px 38px rgba(1, 32, 63, .14);
    --mdaa-sh-ring: 0 0 0 3px rgba(248, 144, 0, .35);

    /* --- Mesures ---------------------------------------------------- */
    --mdaa-container: 1200px;
    --mdaa-container-narrow: 860px;
    --mdaa-header-h: 74px;
    --mdaa-transition: 180ms cubic-bezier(.4, 0, .2, 1);
}

/* =====================================================================
   3. MOTIFS WAX — fonds décoratifs en CSS pur
   ---------------------------------------------------------------------
   Deux façons de s'en servir :
     • la classe utilitaire .mdaa-wax--<nom> sur un élément décoratif ;
     • les variables --wax-* directement dans un background.
   Les vues portent déjà des éléments dédiés (…__kente, …__pattern,
   …__decor, …__awale) : ils reçoivent un motif plus bas.
   ===================================================================== */
:root {
    /* Pastilles concentriques — le « pois » du wax hollandais */
    --wax-dots:
        radial-gradient(circle at 50% 50%, currentColor 0 3px, transparent 3.5px),
        radial-gradient(circle at 50% 50%, transparent 0 8px, currentColor 8px 9.5px, transparent 10px);
    --wax-dots-size: 38px 38px;

    /* Bandes kente — rayures larges alternées */
    --wax-kente: repeating-linear-gradient(90deg,
        var(--mdaa-navy) 0 14px,
        var(--mdaa-orange) 14px 22px,
        var(--mdaa-cream) 22px 26px,
        var(--mdaa-terracotta) 26px 34px,
        var(--mdaa-navy) 34px 48px);

    /* Chevrons */
    --wax-zigzag:
        repeating-linear-gradient(45deg, currentColor 0 2px, transparent 2px 12px),
        repeating-linear-gradient(-45deg, currentColor 0 2px, transparent 2px 12px);
    --wax-zigzag-size: 24px 24px;

    /* Bogolan — losanges et croix */
    --wax-bogolan:
        repeating-linear-gradient(45deg, currentColor 0 1.5px, transparent 1.5px 16px),
        repeating-linear-gradient(135deg, currentColor 0 1.5px, transparent 1.5px 16px),
        radial-gradient(circle at 50% 50%, currentColor 0 2px, transparent 2.5px);
    --wax-bogolan-size: 32px 32px, 32px 32px, 32px 32px;

    /* Rayons — soleil du logo */
    --wax-rays: repeating-conic-gradient(from 0deg, currentColor 0deg 4deg, transparent 4deg 16deg);

    /* Vagues */
    --wax-waves:
        radial-gradient(circle at 50% 100%, transparent 0 10px, currentColor 10px 12px, transparent 12.5px),
        radial-gradient(circle at 0 0, transparent 0 10px, currentColor 10px 12px, transparent 12.5px);
    --wax-waves-size: 28px 28px;
}

.mdaa-wax {
    color: var(--mdaa-orange);
    background-repeat: repeat;
    pointer-events: none;
}

.mdaa-wax--dots { background-image: var(--wax-dots); background-size: var(--wax-dots-size); }
.mdaa-wax--zigzag { background-image: var(--wax-zigzag); background-size: var(--wax-zigzag-size); }
.mdaa-wax--bogolan { background-image: var(--wax-bogolan); background-size: var(--wax-bogolan-size); }
.mdaa-wax--waves { background-image: var(--wax-waves); background-size: var(--wax-waves-size); }
.mdaa-wax--rays { background-image: var(--wax-rays); }
.mdaa-wax--kente { background-image: var(--wax-kente); }

/* Bande wax de 6 px : sert de liseré haut aux cartes et aux encarts.
   S'applique par .mdaa-waxband ou par les ::before définis plus loin. */
.mdaa-waxband {
    background-image: var(--wax-kente);
    background-size: 48px 100%;
    height: 6px;
    border-radius: inherit inherit 0 0;
}

/* Éléments décoratifs déjà présents dans les vues ------------------- */
[class$="__kente"],
[class*="__kente "],
[class$="-kente"] {
    position: absolute;
    inset: auto 0 0 0;
    height: 7px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
    pointer-events: none;
}

[class$="__pattern"] {
    position: absolute;
    inset: 0;
    color: var(--mdaa-orange);
    background-image: var(--wax-dots);
    background-size: var(--wax-dots-size);
    opacity: .16;
    pointer-events: none;
}

[class$="__veil"] {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(1, 32, 63, .35) 0%, rgba(1, 32, 63, .78) 100%);
    pointer-events: none;
}

[class$="__decor"],
[class$="__awale"],
[class$="__glow"] {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

[class$="__awale"] svg,
[class$="__decor"] svg { width: 100%; height: 100%; display: block; }

[class$="__glow"] {
    background: radial-gradient(60% 80% at 82% 18%, rgba(248, 144, 0, .32), transparent 70%);
}

/* =====================================================================
   4. RÉINITIALISATION ET BASE
   ===================================================================== */
*, *::before, *::after { box-sizing: border-box; }

html {
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--mdaa-header-h) + 16px);
}

body {
    margin: 0;
    font-family: var(--mdaa-font);
    font-size: var(--mdaa-fs-base);
    line-height: 1.6;
    color: var(--mdaa-ink);
    background: var(--mdaa-surface);
    -webkit-font-smoothing: antialiased;
    text-wrap: pretty;
}

img, svg, video { max-width: 100%; }
img { height: auto; display: block; }
svg { flex: none; }

button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }

table { border-collapse: collapse; width: 100%; }

hr { border: 0; border-top: 1px solid var(--mdaa-line); margin: var(--mdaa-sp-5) 0; }

:focus-visible {
    outline: 3px solid var(--mdaa-orange);
    outline-offset: 2px;
    border-radius: var(--mdaa-r-xs);
}

::selection { background: var(--mdaa-orange-100); color: var(--mdaa-navy-900); }

/* =====================================================================
   5. TYPOGRAPHIE
   ===================================================================== */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--mdaa-font-title);
    font-weight: 600;
    line-height: 1.16;
    color: var(--mdaa-navy-900);
    margin: 0 0 var(--mdaa-sp-3);
    letter-spacing: -.015em;
}

h1 { font-size: var(--mdaa-fs-3xl); }
h2 { font-size: var(--mdaa-fs-2xl); }
h3 { font-size: var(--mdaa-fs-xl); }
h4 { font-size: var(--mdaa-fs-lg); }
h5, h6 { font-size: var(--mdaa-fs-base); }

p { margin: 0 0 var(--mdaa-sp-4); }
p:last-child { margin-bottom: 0; }

strong, b { font-weight: 700; }
small { font-size: var(--mdaa-fs-sm); }

a {
    color: var(--mdaa-navy-600);
    text-decoration-color: color-mix(in oklab, var(--mdaa-navy-600) 35%, transparent);
    text-underline-offset: 2px;
    transition: color var(--mdaa-transition);
}
a:hover { color: var(--mdaa-orange-700); text-decoration-color: currentColor; }
/* Pas de couleur « visité » globale : elle écrasait les liens clairs
   posés sur fond marine (a:visited est plus spécifique qu'une classe). */

/* Signe de lien externe : voir base.php — aucun span dans le HTML.
   .mdaa-ext-none désactive la flèche (logos de la bande de références). */
a[target="_blank"]:not(.mdaa-ext-none):not([class*="__logo"])::after {
    content: "\2197";
    font-size: .8em;
    margin-left: .25em;
    opacity: .7;
}

code, kbd, samp, pre, .mono {
    font-family: var(--mdaa-font-mono);
    font-size: .92em;
}

ul, ol { margin: 0 0 var(--mdaa-sp-4); padding-left: 1.25rem; }
li { margin-bottom: var(--mdaa-sp-1); }

blockquote {
    margin: var(--mdaa-sp-5) 0;
    padding: var(--mdaa-sp-4) var(--mdaa-sp-5);
    border-left: 4px solid var(--mdaa-orange);
    background: var(--mdaa-orange-50);
    border-radius: 0 var(--mdaa-r-md) var(--mdaa-r-md) 0;
    font-style: italic;
    color: var(--mdaa-navy-900);
}

/* Prose : textes riches saisis en base (pages statiques, descriptions) */
.mdaa-prose, .mdaa-static-prose {
    max-width: 72ch;
    font-size: var(--mdaa-fs-lg);
    color: var(--mdaa-ink-soft);
}
.mdaa-prose h2, .mdaa-static-prose h2 { margin-top: var(--mdaa-sp-7); }
.mdaa-prose h3, .mdaa-static-prose h3 { margin-top: var(--mdaa-sp-6); }
.mdaa-prose img, .mdaa-static-prose img { border-radius: var(--mdaa-r-md); margin: var(--mdaa-sp-5) 0; }

/* =====================================================================
   6. GRILLE : CONTENEURS, SECTIONS, UTILITAIRES
   ===================================================================== */
.mdaa-container,
.mdaa-hp-ct,
.nvbb-it__wrap {
    width: 100%;
    max-width: var(--mdaa-container);
    margin-inline: auto;
    padding-inline: var(--mdaa-sp-5);
}

.mdaa-main { display: block; min-height: 50vh; }

.mdaa-section { padding: var(--mdaa-sp-8) 0; }
.mdaa-section--alt { background: var(--mdaa-surface-alt); }
.mdaa-section--flush-top { padding-top: 0; }
.mdaa-section--tight-top { padding-top: var(--mdaa-sp-5); }

.mdaa-section__title,
.mdaa-siam-section-title,
.mdaa-track-section-title {
    font-size: var(--mdaa-fs-2xl);
    text-align: center;
    margin-bottom: var(--mdaa-sp-3);
    position: relative;
}
.mdaa-section__title::after,
.mdaa-siam-section-title::after {
    content: "";
    display: block;
    width: 64px;
    height: 5px;
    margin: var(--mdaa-sp-3) auto 0;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
    border-radius: var(--mdaa-r-pill);
}
.mdaa-section__title--left { text-align: left; }
.mdaa-section__title--left::after { margin-inline: 0; }

.mdaa-section__subtitle,
.mdaa-siam-section-sub {
    text-align: center;
    max-width: 62ch;
    margin: 0 auto var(--mdaa-sp-6);
    color: var(--mdaa-ink-soft);
    font-size: var(--mdaa-fs-lg);
}

.mdaa-siam-section-overline,
.mdaa-hp-overline,
.mdaa-hp-ads__overline,
.mdaa-static-gallery__overline,
.mdaa-track-hero__overline,
.mdaa-cdw-hero__eyebrow,
.mdaa-cwow-hero__eyebrow,
.mdaa-pdw-eyebrow,
.nvbb-it__kicker,
.stand-event__eyebrow {
    display: inline-block;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-xs);
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--mdaa-orange-700);
    margin-bottom: var(--mdaa-sp-2);
    white-space: nowrap;
}

.mdaa-siam-section-head,
.mdaa-siam-section-header {
    text-align: center;
    max-width: 760px;
    margin: 0 auto var(--mdaa-sp-6);
}

/* --- Utilitaires --------------------------------------------------- */
.sr-only,
.mdaa-visually-hidden {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

.mdaa-honeypot { position: absolute !important; left: -9999px; opacity: 0; }

.center { text-align: center; }
.mt-lg { margin-top: var(--mdaa-sp-6); }

.mdaa-link-subtle {
    color: var(--mdaa-ink-soft);
    text-decoration: none;
    font-size: var(--mdaa-fs-md);
}
.mdaa-link-subtle:hover { color: var(--mdaa-navy); text-decoration: underline; }

.mdaa-required,
.req {
    color: var(--mdaa-danger);
    font-weight: 700;
    margin-left: 2px;
}

.label-optional {
    font-weight: 400;
    font-size: var(--mdaa-fs-xs);
    color: var(--mdaa-ink-faint);
    text-transform: uppercase;
    letter-spacing: .08em;
}

.mdaa-empty,
.mdaa-hp-empty,
.mdaa-siam-empty,
.mbae-shops__empty,
.siam-stands__empty,
.mdaa-org__empty {
    text-align: center;
    padding: var(--mdaa-sp-7) var(--mdaa-sp-5);
    border: 1px dashed var(--mdaa-navy-200);
    border-radius: var(--mdaa-r-lg);
    background: var(--mdaa-navy-50);
    color: var(--mdaa-ink-soft);
}
.mdaa-empty__title,
.mdaa-siam-empty__title,
.siam-stands__empty-title {
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-xl);
    color: var(--mdaa-navy-900);
    margin-bottom: var(--mdaa-sp-2);
}
.mdaa-empty__help,
.mdaa-siam-empty__text,
.siam-stands__empty-msg { font-size: var(--mdaa-fs-md); }
.mdaa-empty--catalogue { margin: var(--mdaa-sp-6) 0; }
.mdaa-siam-empty__icon,
.mdaa-siam-tickets-state__icon,
.mdaa-cart-empty__icon,
.mdaa-track-notfound__icon,
.thanks-icon {
    width: 64px; height: 64px;
    margin: 0 auto var(--mdaa-sp-4);
    display: grid; place-items: center;
    border-radius: var(--mdaa-r-pill);
    background: var(--mdaa-orange-50);
    color: var(--mdaa-orange-700);
}
.mdaa-siam-empty__icon svg,
.mdaa-cart-empty__icon svg,
.mdaa-track-notfound__icon svg,
.thanks-icon svg { width: 30px; height: 30px; }
.mdaa-siam-empty__actions,
.mdaa-cart-empty__actions,
.thanks-actions,
.mdaa-success-actions,
.mdaa-siam-success-ctas,
.err500-actions,
.err404-suggestions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--mdaa-sp-3);
    justify-content: center;
    margin-top: var(--mdaa-sp-5);
}
.mdaa-siam-success-ctas--mt { margin-top: var(--mdaa-sp-7); }


/* =====================================================================
   7. COMPOSANTS COMMUNS
   ===================================================================== */

/* --- 7.1 Boutons ---------------------------------------------------- */
.mdaa-btn,
.mdaa-hp-btn,
.mdaa-b2b-btn,
.nvbb-it__btn,
.siam-stands__btn,
.mdaa-siam-empty__btn,
.err500-btn,
.btn-primary, .btn-secondary, .btn-submit, .btn-next, .btn-back,
.mdaa-checkout-submit-btn,
.mdaa-pay-now-btn,
.mdaa-siam-payment-btn,
.mdaa-add-to-cart,
.mbae-add-to-cart,
.mdaa-product__add-btn,
.mbae-item__add-btn,
.mbae-pickup__submit,
.mdaa-contact__submit,
.mdaa-cart-summary__checkout,
.mdaa-siam-tickets-summary__cta,
.mdaa-track-parcel-cta__btn,
.mdaa-siam-cta-primary,
.mdaa-siam-cta-secondary,
.mdaa-siam-mode__cta,
.mdaa-maison__cta,
.mdaa-vcard__cta,
.mbae-shop-card__cta,
.mdaa-cwow-tile__cta,
.mdaa-hp-stand__cta,
.nvbb-card__btn,
.mdaa-success-cta,
.rw-next, .rw-prev {
    --btn-bg: var(--mdaa-navy);
    --btn-fg: #fff;
    --btn-bd: var(--mdaa-navy);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--mdaa-sp-2);
    padding: 12px 22px;
    min-height: 44px;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-md);
    font-weight: 600;
    line-height: 1.1;
    text-align: center;
    text-decoration: none;
    color: var(--btn-fg);
    background: var(--btn-bg);
    border: 1.5px solid var(--btn-bd);
    border-radius: var(--mdaa-r-pill);
    cursor: pointer;
    transition: transform var(--mdaa-transition), background var(--mdaa-transition),
                color var(--mdaa-transition), box-shadow var(--mdaa-transition);
}
.mdaa-btn svg, .mdaa-hp-btn svg, .nvbb-it__btn svg,
.mdaa-siam-cta-primary svg, .mdaa-siam-cta-secondary svg,
.mdaa-success-cta svg, .mdaa-track-parcel-cta__btn svg { width: 18px; height: 18px; }

.mdaa-btn:hover, .mdaa-hp-btn:hover, .mdaa-b2b-btn:hover, .nvbb-it__btn:hover,
.siam-stands__btn:hover, .btn-primary:hover, .btn-submit:hover, .btn-next:hover,
.mdaa-checkout-submit-btn:hover, .mdaa-pay-now-btn:hover, .mdaa-siam-payment-btn:hover,
.mdaa-add-to-cart:hover, .mbae-add-to-cart:hover, .mdaa-product__add-btn:hover,
.mbae-item__add-btn:hover, .mbae-pickup__submit:hover, .mdaa-contact__submit:hover,
.mdaa-cart-summary__checkout:hover, .mdaa-siam-tickets-summary__cta:hover,
.mdaa-track-parcel-cta__btn:hover, .mdaa-siam-cta-primary:hover, .mdaa-siam-mode__cta:hover,
.mdaa-maison__cta:hover, .mdaa-vcard__cta:hover, .mbae-shop-card__cta:hover,
.mdaa-cwow-tile__cta:hover, .mdaa-hp-stand__cta:hover, .mdaa-success-cta:hover,
.err500-btn:hover, .nvbb-card__btn:hover, .mdaa-siam-empty__btn:hover, .rw-next:hover {
    color: var(--btn-fg);
    transform: translateY(-1px);
    box-shadow: var(--mdaa-sh-md);
}
.mdaa-btn:active, .mdaa-hp-btn:active, .nvbb-it__btn:active { transform: translateY(0); }

/* Variante primaire : orange du logo sur encre marine */
.mdaa-btn--primary,
.mdaa-hp-btn--primary,
.mdaa-b2b-btn--primary,
.mdaa-b2b-btn--submit,
.nvbb-it__btn--orange,
.btn-primary, .btn-submit, .btn-next,
.mdaa-checkout-submit-btn,
.mdaa-pay-now-btn,
.mdaa-siam-payment-btn,
.mdaa-add-to-cart,
.mbae-add-to-cart,
.mdaa-product__add-btn,
.mbae-item__add-btn,
.mbae-pickup__submit,
.mdaa-contact__submit,
.mdaa-cart-summary__checkout,
.mdaa-siam-tickets-summary__cta,
.mdaa-siam-cta-primary,
.mdaa-siam-empty__btn--primary,
.err500-btn--primary,
.siam-stands__btn,
.rw-next,
.mdaa-success-cta,
.mdaa-track-parcel-cta__btn {
    --btn-bg: var(--mdaa-orange);
    --btn-bd: var(--mdaa-orange);
    --btn-fg: #12202e;
    font-weight: 700;
}
.mdaa-btn--primary:hover,
.mdaa-hp-btn--primary:hover,
.btn-primary:hover, .btn-submit:hover, .btn-next:hover,
.mdaa-checkout-submit-btn:hover,
.mdaa-add-to-cart:hover,
.mbae-add-to-cart:hover,
.mdaa-cart-summary__checkout:hover,
.mdaa-siam-tickets-summary__cta:hover,
.mdaa-siam-cta-primary:hover,
.siam-stands__btn:hover,
.rw-next:hover,
.mdaa-success-cta:hover {
    --btn-bg: var(--mdaa-orange-500);
    --btn-bd: var(--mdaa-orange-500);
}

/* Variante marine */
.mdaa-btn--secondary,
.btn-secondary,
.nvbb-it__btn--navy,
.mdaa-siam-cta-secondary,
.mdaa-siam-mode__cta,
.mdaa-maison__cta,
.mbae-shop-card__cta,
.mdaa-cwow-tile__cta,
.mdaa-hp-stand__cta,
.nvbb-card__btn { --btn-bg: var(--mdaa-navy); --btn-bd: var(--mdaa-navy); --btn-fg: #fff; }
.mdaa-btn--secondary:hover, .btn-secondary:hover, .nvbb-it__btn--navy:hover,
.mdaa-siam-cta-secondary:hover, .mdaa-siam-mode__cta:hover, .mdaa-maison__cta:hover,
.mbae-shop-card__cta:hover, .mdaa-cwow-tile__cta:hover, .mdaa-hp-stand__cta:hover {
    --btn-bg: var(--mdaa-navy-600); --btn-bd: var(--mdaa-navy-600);
}

/* Variante fantôme / contour */
.mdaa-btn--ghost,
.mdaa-hp-btn--ghost,
.mdaa-b2b-btn--ghost,
.mdaa-b2b-btn--back,
.nvbb-it__btn--ghost,
.nvbb-it__btn--line,
.siam-stands__btn-ghost,
.mdaa-siam-empty__btn--ghost,
.err500-btn--secondary,
.btn-back,
.rw-prev,
.mdaa-cart-clear-btn,
.mdaa-vcard__cta {
    --btn-bg: transparent;
    --btn-fg: var(--mdaa-navy);
    --btn-bd: var(--mdaa-navy-200);
}
.mdaa-btn--ghost:hover, .mdaa-hp-btn--ghost:hover, .mdaa-b2b-btn--ghost:hover,
.mdaa-b2b-btn--back:hover, .nvbb-it__btn--ghost:hover, .nvbb-it__btn--line:hover,
.siam-stands__btn-ghost:hover, .mdaa-siam-empty__btn--ghost:hover, .btn-back:hover,
.rw-prev:hover, .mdaa-cart-clear-btn:hover, .mdaa-vcard__cta:hover {
    --btn-bg: var(--mdaa-navy-50);
    --btn-bd: var(--mdaa-navy);
    --btn-fg: var(--mdaa-navy-900);
}

/* Boutons en pleine largeur des colonnes de récapitulatif */
.mdaa-cart-summary__checkout,
.mdaa-checkout-submit-btn,
.mdaa-siam-tickets-summary__cta,
.mdaa-pay-now-btn,
.mdaa-siam-payment-btn,
.mbae-pickup__submit,
.mdaa-contact__submit,
.mdaa-add-to-cart,
.mbae-add-to-cart,
.mdaa-product__add-btn,
.mbae-item__add-btn { width: 100%; padding: 15px 22px; font-size: var(--mdaa-fs-base); }

/* États inactifs */
.mdaa-btn:disabled, .mdaa-hp-btn:disabled, .nvbb-it__btn:disabled,
button:disabled, .siam-stands__btn--disabled, .mbae-co-mode--disabled,
.is-disabled, .mdaa-siam-payment-btn:disabled, .mdaa-product__add-btn:disabled,
.mbae-item__add-btn:disabled {
    opacity: .5;
    cursor: not-allowed;
    transform: none !important;
    box-shadow: none !important;
}

.mdaa-siam-payment-cancel-link,
.mdaa-payment-back,
.mbae-item__back,
.mdaa-track-notfound__back,
.nvbb-it__more,
.mdaa-hp-seelink,
.mdaa-org__link,
.mdaa-siam-pole__partner-link,
.mdaa-siam-location-card__map-link {
    display: inline-flex;
    align-items: center;
    gap: var(--mdaa-sp-2);
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-md);
    font-weight: 600;
    color: var(--mdaa-navy-600);
    text-decoration: none;
}
.mdaa-hp-seelink svg, .nvbb-it__more svg { width: 16px; height: 16px; transition: transform var(--mdaa-transition); }
.mdaa-hp-seelink:hover svg, .nvbb-it__more:hover svg { transform: translateX(3px); }
.mdaa-hp-seelink:hover, .nvbb-it__more:hover, .mbae-item__back:hover { color: var(--mdaa-orange-700); }

/* --- 7.2 Pastilles et étiquettes ------------------------------------ */
.mdaa-badge,
.mdaa-product-card__badge,
.mdaa-hp-pcard__badge,
.mdaa-vcard__badge,
.siam-stands__badge,
.mdaa-siam-ticket__tag,
.mdaa-hp-ad__tier,
.nvbb-it__badge,
.nvbb-it__tag,
.mdaa-siam-partner__type-badge,
.mdaa-b2b-hero__badge,
.mdaa-maison__tag,
.mdaa-org-chip,
.mdaa-vcard__chip,
.mdaa-cdw-chip,
.mdaa-cwow-tile__badge,
.rw-lock-badge,
.mbae-item__cat,
.mdaa-admin-header__badge,
.mdaa-hp-quality__badge,
.mdaa-hp-stand__flag,
.mdaa-hp-siam__tag,
.stand-event__year {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 11px;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-xs);
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--mdaa-navy-900);
    background: var(--mdaa-orange-100);
    border-radius: var(--mdaa-r-pill);
    white-space: nowrap;
    text-decoration: none;
}
.mdaa-badge svg, .mdaa-product-card__badge svg, .mdaa-hp-pcard__badge svg { width: 13px; height: 13px; }

.mdaa-badge--sale,
.mdaa-hp-stand__flag,
.siam-stands__badge--featured { background: var(--mdaa-orange); color: #12202e; }

.mdaa-badge--ciaac,
.mdaa-product-card__badge--ciaac,
.mdaa-hp-pcard__badge,
.mdaa-vcard__badge { background: var(--mdaa-success-bg); color: var(--mdaa-success); }

.mdaa-badge--info-soft,
.mdaa-org-chip,
.nvbb-it__badge,
.mdaa-siam-partner__type-badge { background: var(--mdaa-navy-100); color: var(--mdaa-navy-800); }

.siam-stands__badge--full { background: #eceff3; color: var(--mdaa-ink-faint); }
.siam-stands__badge--pole { background: var(--mdaa-cream); color: var(--mdaa-terracotta); }

.mdaa-hp-ad__tier--gold { background: var(--mdaa-orange-100); color: var(--mdaa-orange-700); }
.mdaa-hp-ad__tier--silver { background: #eceff3; color: var(--mdaa-ink-soft); }
.mdaa-hp-ad__tier--bronze { background: var(--mdaa-cream); color: var(--mdaa-terracotta); }

/* --- 7.3 Messages ---------------------------------------------------- */
.mdaa-alert,
.mdaa-b2b-alert,
.tcp-alert,
.nvbb-it__alert,
.mdaa-track-flash,
.form-info-banner,
.rw-ajax-error,
.mdaa-siam-customer-form__notice,
.mdaa-siam-programme-note,
.mbae-co-soon,
.mdaa-shipping-disclaimer {
    display: flex;
    align-items: flex-start;
    gap: var(--mdaa-sp-3);
    padding: var(--mdaa-sp-4) var(--mdaa-sp-5);
    margin-bottom: var(--mdaa-sp-5);
    font-size: var(--mdaa-fs-md);
    color: var(--mdaa-navy-900);
    background: var(--mdaa-info-bg);
    border: 1px solid transparent;
    border-left: 5px solid var(--mdaa-navy);
    border-radius: var(--mdaa-r-md);
}
.mdaa-alert__icon, .nvbb-it__alert svg, .mdaa-alert svg { width: 20px; height: 20px; flex: none; margin-top: 2px; }
.mdaa-alert--centered { justify-content: center; text-align: center; }

.mdaa-alert--success { background: var(--mdaa-success-bg); border-left-color: var(--mdaa-success); }
.mdaa-alert--info, .form-info-banner { background: var(--mdaa-info-bg); border-left-color: var(--mdaa-navy); }
.mdaa-alert--warning, .tcp-alert--warn, .mbae-co-soon { background: var(--mdaa-warning-bg); border-left-color: var(--mdaa-warning); }
.mdaa-alert--danger, .mdaa-alert--error,
.mdaa-b2b-alert--error, .tcp-alert--err, .rw-ajax-error { background: var(--mdaa-danger-bg); border-left-color: var(--mdaa-danger); color: #6d1611; }
.mdaa-b2b-alert--info { background: var(--mdaa-info-bg); border-left-color: var(--mdaa-navy); }
.form-info-banner--tight { padding: var(--mdaa-sp-3) var(--mdaa-sp-4); margin-bottom: var(--mdaa-sp-3); }
.tcp-alert--mt { margin-top: var(--mdaa-sp-5); }

/* --- 7.4 Formulaires ------------------------------------------------- */
.mdaa-form-group,
.form-group,
.mdaa-b2b-fg,
.mbae-pickup__label,
.mdaa-siam-customer-form__field,
.tcp-form .form-group { margin-bottom: var(--mdaa-sp-4); }

.mdaa-form-label,
.mdaa-b2b-label,
.form-group > label,
.mbae-pickup__label,
.siam-stands__filter-label,
.mdaa-ship2-search__label,
.mdaa-ship2-weight__lbl,
.mdaa-filter-box__title,
.mdaa-siam-ticket__qty-label {
    display: block;
    margin-bottom: 6px;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-sm);
    font-weight: 600;
    letter-spacing: .02em;
    text-transform: uppercase;
    color: var(--mdaa-navy-800);
}

.mdaa-form-input,
.mdaa-form-textarea,
.mdaa-b2b-input,
.mbae-pickup__input,
.mbae-pickup__textarea,
.mdaa-checkout-country-select,
.mdaa-filter-price__input,
.siam-stands__filter-input,
.mdaa-ship2-weight__select,
.mbae-co-select,
.rw-otp-inline__input,
.tcp-form input,
.mdaa-contact__form input,
.mdaa-contact__form textarea,
.mdaa-contact__form select,
.form-group input,
.form-group select,
.form-group textarea,
.mdaa-siam-customer-form__field input,
.mdaa-siam-customer-form__field select,
.mdaa-siam-customer-form__field textarea,
.register-form input,
.register-form select,
.register-form textarea,
.mdaa-catalogue__sort select,
.mdaa-cdw-tools__sort select {
    width: 100%;
    padding: 11px 14px;
    min-height: 44px;
    font-family: var(--mdaa-font);
    font-size: var(--mdaa-fs-base);
    color: var(--mdaa-ink);
    background: #fff;
    border: 1.5px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-sm);
    transition: border-color var(--mdaa-transition), box-shadow var(--mdaa-transition);
}
textarea, .mdaa-form-textarea, .mbae-pickup__textarea { min-height: 130px; resize: vertical; }

.mdaa-form-input:focus, .mdaa-form-textarea:focus, .mdaa-b2b-input:focus,
.mbae-pickup__input:focus, input:focus, select:focus, textarea:focus {
    outline: none;
    border-color: var(--mdaa-orange);
    box-shadow: var(--mdaa-sh-ring);
}
input::placeholder, textarea::placeholder { color: var(--mdaa-ink-faint); }

.mdaa-form-hint, .mdaa-form-help, .mdaa-b2b-hint, .form-hint, .tcp-hint,
.mbae-item__measure-hint, .mbae-pickup__lead, .char-counter, .mdaa-b2b-note,
.nvbb-it__note, .mdaa-cart-summary__note, .mdaa-siam-tickets-summary__notes {
    display: block;
    margin-top: 6px;
    font-size: var(--mdaa-fs-sm);
    color: var(--mdaa-ink-faint);
}

.form-error, .mdaa-b2b-fielderr, .mdaa-siam-tickets-state__text.is-error {
    display: block;
    margin-top: 5px;
    font-size: var(--mdaa-fs-sm);
    font-weight: 600;
    color: var(--mdaa-danger);
}
.is-invalid, input.is-invalid, select.is-invalid, textarea.is-invalid {
    border-color: var(--mdaa-danger) !important;
    background: var(--mdaa-danger-bg);
}

.mdaa-form-grid, .form-row, .mdaa-siam-customer-form__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
    gap: var(--mdaa-sp-4);
}
.mdaa-form-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-row--triple { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.form-row--full, .mdaa-siam-customer-form__field--full { grid-column: 1 / -1; }

.form-section, .mdaa-b2b-panel, .mdaa-checkout-section, .tcp-card,
.mdaa-siam-customer-form, .mbae-pickup__fieldset, .register-form {
    padding: var(--mdaa-sp-5);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-lg);
    margin-bottom: var(--mdaa-sp-5);
}
.form-section--immersion { border-color: var(--mdaa-orange-300); background: var(--mdaa-orange-50); }
.mbae-pickup__fieldset { border: 1px solid var(--mdaa-line); }
.mbae-pickup__legend, .form-section > legend {
    padding: 0 var(--mdaa-sp-2);
    font-family: var(--mdaa-font-display);
    font-weight: 700;
    color: var(--mdaa-navy-900);
}

.checkbox-group, .mdaa-consent-group, .mdaa-b2b-opts, .mdaa-filter-check {
    display: flex;
    flex-direction: column;
    gap: var(--mdaa-sp-2);
}
.mdaa-consent-group {
    padding: var(--mdaa-sp-4);
    background: var(--mdaa-navy-50);
    border-radius: var(--mdaa-r-md);
}
.mdaa-consent-group--error { background: var(--mdaa-danger-bg); }
.mdaa-consent-label, .mdaa-filter-check label, .checkbox-group label,
.mdaa-b2b-opt, .mbae-pickup__radio {
    display: flex;
    align-items: flex-start;
    gap: var(--mdaa-sp-3);
    font-size: var(--mdaa-fs-md);
    cursor: pointer;
}
.mdaa-consent-checkbox,
input[type="checkbox"], input[type="radio"] {
    width: 20px; height: 20px;
    flex: none;
    margin-top: 2px;
    accent-color: var(--mdaa-orange);
    cursor: pointer;
}
.mdaa-consent-text { color: var(--mdaa-ink-soft); }

.mdaa-b2b-opt {
    padding: var(--mdaa-sp-3) var(--mdaa-sp-4);
    border: 1.5px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-md);
    transition: border-color var(--mdaa-transition), background var(--mdaa-transition);
}
.mdaa-b2b-opt:hover { border-color: var(--mdaa-navy-400); background: var(--mdaa-navy-50); }
.mdaa-b2b-opt.is-selected, .mdaa-b2b-opt:has(input:checked) {
    border-color: var(--mdaa-orange);
    background: var(--mdaa-orange-50);
}
.mdaa-b2b-opt__t { font-weight: 600; }
.mdaa-b2b-opt__mark, .mdaa-b2b-opt__check, .mdaa-b2b-opt__dot { flex: none; }

.form-actions, .mdaa-b2b-acts, .mbae-pickup-actions, .mdaa-cart-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--mdaa-sp-3);
    align-items: center;
    margin-top: var(--mdaa-sp-5);
}

.code-box, .mdaa-b2b-success__ref-box, .mdaa-success-hero__ref, .mbae-pickup__order {
    padding: var(--mdaa-sp-4) var(--mdaa-sp-5);
    text-align: center;
    background: var(--mdaa-navy-50);
    border: 1px dashed var(--mdaa-navy-200);
    border-radius: var(--mdaa-r-md);
}
.code-box-label, .mdaa-b2b-success__ref-label, .mdaa-success-hero__ref-label,
.mbae-pickup__order-meta {
    display: block;
    font-size: var(--mdaa-fs-xs);
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--mdaa-ink-faint);
    margin-bottom: 4px;
}
.mdaa-b2b-success__ref-code, .mdaa-success-hero__ref-code, .mbae-pickup__order-code,
.mdaa-ticket-card__code, .mdaa-success-ticket-card__code, .mdaa-track-hero__code,
.mdaa-track-notfound__code, .err500-ref, .nvbb-it__ref-mono {
    font-family: var(--mdaa-font-mono);
    font-size: var(--mdaa-fs-xl);
    font-weight: 700;
    letter-spacing: .1em;
    color: var(--mdaa-navy-900);
}
.mbae-pickup__input--otp, .rw-otp-inline__input {
    font-family: var(--mdaa-font-mono);
    font-size: var(--mdaa-fs-xl);
    letter-spacing: .4em;
    text-align: center;
}

.rw-otp-inline {
    padding: var(--mdaa-sp-4);
    background: var(--mdaa-orange-50);
    border: 1px solid var(--mdaa-orange-300);
    border-radius: var(--mdaa-r-md);
}
.rw-otp-inline__head { font-family: var(--mdaa-font-display); font-weight: 700; margin-bottom: var(--mdaa-sp-2); }
.rw-otp-inline__msg, .rw-otp-inline__sent { font-size: var(--mdaa-fs-sm); color: var(--mdaa-ink-soft); }
.rw-otp-inline__resend, .mbae-pickup__resend {
    background: none; border: 0; padding: 0;
    font-size: var(--mdaa-fs-sm); font-weight: 600;
    color: var(--mdaa-navy-600); text-decoration: underline;
}
.rw-locked, .mbae-co-locked { opacity: .55; pointer-events: none; }
.rw-spin {
    width: 16px; height: 16px;
    border: 2px solid rgba(255, 255, 255, .45);
    border-top-color: #fff;
    border-radius: 50%;
    animation: mdaa-spin .8s linear infinite;
}
@keyframes mdaa-spin { to { transform: rotate(360deg); } }

/* --- 7.5 Cartes et panneaux ------------------------------------------ */
.nvbb-it__card,
.nvbb-xi__card,
.mdaa-siam-panel,
.mdaa-b2b-pack,
.err404-card,
.thanks-card,
.mdaa-success-block,
.mdaa-siam-location-card,
.mdaa-siam-mode,
.mdaa-siam-pole,
.mdaa-siam-partner,
.mdaa-siam-contact,
.mdaa-payment-section,
.mdaa-checkout-summary,
.mdaa-cart-summary,
.mdaa-siam-tickets-summary,
.mdaa-filter-box,
.mdaa-review,
.mdaa-vcard,
.mdaa-artisan-card,
.mbae-shop-card,
.stand-event,
.mdaa-org-box,
.mdaa-siam-event-info,
.mdaa-track-sec,
.mdaa-ship2-card,
.mdaa-siam-day,
.tcp-detail {
    position: relative;
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-lg);
    box-shadow: var(--mdaa-sh-sm);
}

/* Liseré wax en haut des panneaux mis en avant */
.mdaa-siam-panel::before,
.mdaa-b2b-pack::before,
.mdaa-cart-summary::before,
.mdaa-checkout-summary::before,
.mdaa-siam-tickets-summary::before,
.nvbb-xi__card::before,
.stand-event::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 5px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
    border-radius: var(--mdaa-r-lg) var(--mdaa-r-lg) 0 0;
}

.nvbb-it__card, .nvbb-xi__card, .mdaa-siam-panel, .mdaa-siam-mode,
.mdaa-siam-pole, .mdaa-siam-partner, .mdaa-siam-contact, .mdaa-success-block,
.err404-card, .mdaa-org-box, .mdaa-siam-day, .stand-event { padding: var(--mdaa-sp-5); }

.mdaa-siam-panel__head, .mdaa-b2b-panel__head, .mdaa-siam-day__head,
.mdaa-review__header, .mdaa-siam-tickets-list__header, .mbae-shops__header,
.mdaa-static-gallery__head, .nvbb-it__head, .mdaa-hp-ads__head {
    display: flex;
    align-items: center;
    gap: var(--mdaa-sp-3);
    margin-bottom: var(--mdaa-sp-4);
}
.mdaa-siam-panel__title, .mdaa-b2b-panel__title, .mdaa-success-block__title,
.mdaa-cart-summary__title, .mdaa-checkout-summary__title, .mdaa-payment-summary__title,
.mdaa-siam-tickets-summary__title, .mdaa-payment-section__title, .mdaa-filter-box__title,
.mdaa-success-summary__title, .mdaa-payment-methods__title, .mdaa-siam-tickets-list__title {
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-lg);
    font-weight: 700;
    color: var(--mdaa-navy-900);
    margin: 0;
}
.mdaa-siam-panel__ico, .mdaa-b2b-panel__ic, .mdaa-siam-mode__icon, .mdaa-siam-pole__icon,
.mdaa-siam-timeline__icon, .mdaa-siam-hero__info-icon, .mdaa-checkout-hero__icon,
.mdaa-payment-hero__icon, .mdaa-siam-location-card__icon, .mdaa-siam-slot__icon,
.mdaa-track-step__icon, .mdaa-hp-trust__ic, .mdaa-vstat__ico, .stand-event__ico,
.mdaa-ship2-card__meta-ico, .mbae-co-mode__ico, .mbae-co-pickup__ico,
.mdaa-siam-tickets-hero__icon, .mdaa-success-hero__icon, .mdaa-b2b-success__icon,
.mdaa-track-hero__icon, .mdaa-success-email-info__icon, .mdaa-checkout-security__icon,
.mdaa-payment-security__icon, .mdaa-track-parcel-cta__icon, .mdaa-siam-event-info__icon,
.err500-reassure__icon, .err404-card__icon, .mdaa-siam-payment-client-card__icon {
    display: inline-grid;
    place-items: center;
    width: 42px; height: 42px;
    flex: none;
    color: var(--mdaa-navy);
    background: var(--mdaa-navy-100);
    border-radius: var(--mdaa-r-md);
}
.mdaa-siam-panel__ico svg, .mdaa-siam-mode__icon svg, .mdaa-siam-pole__icon svg,
.mdaa-hp-trust__ic svg, .mdaa-vstat__ico svg, .mdaa-track-step__icon svg,
.mbae-co-mode__ico svg, .stand-event__ico svg { width: 21px; height: 21px; }

.mdaa-siam-panel__text, .mdaa-siam-mode__desc, .mdaa-siam-pole__desc,
.mdaa-siam-partner__desc, .nvbb-it__p, .nvbb-xi__p, .mdaa-org-box__desc,
.mdaa-org-child__desc, .mdaa-org-struct__desc, .err404-card__desc {
    color: var(--mdaa-ink-soft);
    font-size: var(--mdaa-fs-md);
    margin: 0;
}
.mdaa-siam-panel__list, .nvbb-it__list, .steps-list, .mdaa-org-team__list {
    list-style: none;
    padding: 0;
    margin: var(--mdaa-sp-3) 0 0;
    display: flex;
    flex-direction: column;
    gap: var(--mdaa-sp-2);
}
.mdaa-siam-panel__line, .nvbb-it__list li {
    display: flex;
    gap: var(--mdaa-sp-2);
    align-items: flex-start;
    font-size: var(--mdaa-fs-md);
    color: var(--mdaa-ink-soft);
}
.mdaa-siam-panel__line::before, .nvbb-it__list:not(.nvbb-it__list--out) li::before {
    content: "";
    width: 8px; height: 8px;
    margin-top: 8px;
    flex: none;
    background: var(--mdaa-orange);
    border-radius: 50%;
}
.nvbb-it__list--out { list-style: none; }
.nvbb-it__list--out li::before { content: "\2014"; background: none; width: auto; height: auto; margin: 0; color: var(--mdaa-ink-faint); }

/* --- 7.6 Tableaux ---------------------------------------------------- */
.mdaa-siam-payment-table,
.mdaa-specs,
.tcp-detail {
    width: 100%;
    font-size: var(--mdaa-fs-md);
}
.mdaa-siam-payment-table th, .mdaa-siam-payment-table td,
.mdaa-specs__row, .tcp-detail__row {
    padding: 10px 14px;
    text-align: left;
    border-bottom: 1px solid var(--mdaa-line-soft);
}
.mdaa-siam-payment-table th {
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-sm);
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--mdaa-navy-800);
    background: var(--mdaa-navy-50);
}
.mdaa-specs, .mdaa-specs--grid { display: grid; gap: 0; }
.mdaa-specs__row, .tcp-detail__row {
    display: grid;
    grid-template-columns: minmax(140px, 38%) 1fr;
    gap: var(--mdaa-sp-3);
}
.mdaa-specs__row > :first-child, .tcp-detail__row > :first-child {
    font-weight: 600;
    color: var(--mdaa-ink-soft);
}
.mdaa-specs--grid { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }

/* --- 7.7 Fenêtres modales ------------------------------------------- */
.mdaa-modal-overlay, .mdaa-drawer-overlay {
    position: fixed;
    inset: 0;
    z-index: 900;
    background: rgba(1, 32, 63, .55);
    backdrop-filter: blur(2px);
    opacity: 0;
    transition: opacity var(--mdaa-transition);
}
.mdaa-modal-overlay.is-open, .mdaa-drawer-overlay.is-open { opacity: 1; }
.mdaa-modal-overlay[hidden], .mdaa-drawer-overlay[hidden], .mdaa-modal[hidden] { display: none !important; }

.mdaa-modal {
    position: fixed;
    z-index: 950;
    top: 50%; left: 50%;
    width: min(420px, calc(100vw - 32px));
    padding: var(--mdaa-sp-6) var(--mdaa-sp-5) var(--mdaa-sp-5);
    text-align: center;
    background: #fff;
    border-radius: var(--mdaa-r-xl);
    box-shadow: var(--mdaa-sh-lg);
    transform: translate(-50%, -46%) scale(.96);
    opacity: 0;
    overflow: hidden;
    transition: opacity var(--mdaa-transition), transform var(--mdaa-transition);
}
.mdaa-modal::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 6px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
}
.mdaa-modal.is-open { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.mdaa-modal__icon {
    width: 56px; height: 56px;
    margin: 0 auto var(--mdaa-sp-4);
    display: grid; place-items: center;
    color: #fff;
    background: var(--mdaa-success);
    border-radius: var(--mdaa-r-pill);
}
.mdaa-modal__title {
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-xl);
    font-weight: 700;
    color: var(--mdaa-navy-900);
}
.mdaa-modal__msg { margin: var(--mdaa-sp-2) 0 var(--mdaa-sp-5); color: var(--mdaa-ink-soft); }
.mdaa-cart-popup__name { font-weight: 700; color: var(--mdaa-navy-900); }
.mdaa-modal__actions { display: flex; flex-wrap: wrap; gap: var(--mdaa-sp-3); justify-content: center; }
.mdaa-modal__actions .mdaa-btn { flex: 1 1 auto; }

/* --- 7.8 Onglets ----------------------------------------------------- */
.mdaa-tabs__nav, .mdaa-siam-tabs__nav, .siam-stands__tabs, .nvbb-it__subnav {
    display: flex;
    flex-wrap: wrap;
    gap: var(--mdaa-sp-2);
    border-bottom: 2px solid var(--mdaa-line);
    margin-bottom: var(--mdaa-sp-5);
}
.mdaa-tabs__btn, .mdaa-siam-tab, .siam-stands__tab, .nvbb-it__subnav a {
    display: inline-flex;
    align-items: center;
    gap: var(--mdaa-sp-2);
    padding: 11px 18px;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-md);
    font-weight: 600;
    color: var(--mdaa-ink-soft);
    background: none;
    border: 0;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    text-decoration: none;
}
.mdaa-tabs__btn:hover, .mdaa-siam-tab:hover, .siam-stands__tab:hover,
.nvbb-it__subnav a:hover { color: var(--mdaa-navy-900); }
.mdaa-tabs__btn.is-active, .mdaa-siam-tab.is-active,
.siam-stands__tab--active, .nvbb-it__subnav a.is-active {
    color: var(--mdaa-navy-900);
    border-bottom-color: var(--mdaa-orange);
}
.mdaa-tabs__count, .siam-stands__tab-count, .mdaa-mega__count, .mdaa-filter-link__count,
.mdaa-hp-prow__n, .mdaa-cwow-tile__count, .mbae-shop-card__count, .mdaa-reviews__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    padding: 1px 7px;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-xs);
    font-weight: 700;
    color: var(--mdaa-navy-800);
    background: var(--mdaa-navy-100);
    border-radius: var(--mdaa-r-pill);
}
.mdaa-tabs__panel:not(.is-active) { display: none; }
.mdaa-siam-tab__ico svg, .mdaa-siam-tab__chev svg { width: 16px; height: 16px; }

/* --- 7.9 Fil d'Ariane et pagination --------------------------------- */
.mdaa-breadcrumb, .nvbb-it__crumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--mdaa-sp-2);
    padding: var(--mdaa-sp-4) 0;
    font-size: var(--mdaa-fs-sm);
    color: var(--mdaa-ink-faint);
}
.mdaa-breadcrumb a, .nvbb-it__crumb a { color: var(--mdaa-ink-soft); text-decoration: none; }
.mdaa-breadcrumb a:hover { color: var(--mdaa-navy); text-decoration: underline; }
.mdaa-breadcrumb__sep { opacity: .6; }
.mdaa-breadcrumb__current { color: var(--mdaa-navy-900); font-weight: 600; }
.mdaa-siam-breadcrumb-pad, .mdaa-track-breadcrumb-pad, .tcp-breadcrumb-pad { padding-top: var(--mdaa-sp-4); }

.mdaa-pagination, .siam-stands__pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--mdaa-sp-2);
    margin: var(--mdaa-sp-7) 0 0;
}
.mdaa-pagination a, .mdaa-pagination span, .siam-stands__page {
    display: inline-grid;
    place-items: center;
    min-width: 42px;
    height: 42px;
    padding: 0 12px;
    font-family: var(--mdaa-font-display);
    font-weight: 600;
    color: var(--mdaa-navy-800);
    text-decoration: none;
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-sm);
}
.mdaa-pagination a:hover, .siam-stands__page:hover { border-color: var(--mdaa-navy); background: var(--mdaa-navy-50); }
.mdaa-pagination .is-active, .mdaa-pagination [aria-current="page"] {
    color: #12202e;
    background: var(--mdaa-orange);
    border-color: var(--mdaa-orange);
}
.siam-stands__page--disabled { opacity: .45; pointer-events: none; }
.siam-stands__page-info, .mdaa-catalogue__count, .mdaa-cdw-tools__count,
.mdaa-cats-hero__count, .siam-stands__result {
    font-size: var(--mdaa-fs-md);
    color: var(--mdaa-ink-soft);
}

/* --- 7.10 Étoiles, quantité, variantes ------------------------------ */
.mdaa-stars, .mdaa-vcard__stars {
    display: inline-flex;
    gap: 2px;
    color: var(--mdaa-orange);
    font-size: var(--mdaa-fs-md);
    letter-spacing: .05em;
}
.mdaa-stars--lg { font-size: var(--mdaa-fs-xl); }

.mdaa-qty, .mdaa-qty-control, .mdaa-siam-ticket__qty-controls, .mdaa-cart-item__qty {
    display: inline-flex;
    align-items: center;
    background: #fff;
    border: 1.5px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-pill);
    overflow: hidden;
}
.mdaa-qty__btn, .mdaa-qty-btn, .mdaa-siam-ticket__qty-btn {
    width: 42px; height: 42px;
    display: grid; place-items: center;
    font-size: var(--mdaa-fs-lg);
    font-weight: 700;
    color: var(--mdaa-navy);
    background: none;
    border: 0;
}
.mdaa-qty__btn:hover, .mdaa-qty-btn:hover, .mdaa-siam-ticket__qty-btn:hover { background: var(--mdaa-navy-50); }
.mdaa-qty__input, .mdaa-qty-display, .mdaa-siam-ticket__qty-input {
    width: 54px;
    height: 42px;
    padding: 0;
    text-align: center;
    font-family: var(--mdaa-font-display);
    font-weight: 700;
    border: 0;
    border-inline: 1.5px solid var(--mdaa-line);
    border-radius: 0;
    min-height: 0;
}
.mdaa-siam-ticket__qty-max { font-size: var(--mdaa-fs-xs); color: var(--mdaa-ink-faint); }

.mdaa-variant-list, .mdaa-product__variants {
    display: flex;
    flex-wrap: wrap;
    gap: var(--mdaa-sp-2);
    margin: var(--mdaa-sp-3) 0;
    padding: 0;
    list-style: none;
}
.mdaa-variant-btn {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    padding: 9px 16px;
    background: #fff;
    border: 1.5px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-md);
    cursor: pointer;
    transition: border-color var(--mdaa-transition), background var(--mdaa-transition);
}
.mdaa-variant-btn:hover { border-color: var(--mdaa-navy-400); }
.mdaa-variant-btn.is-active, .mdaa-variant-btn[aria-pressed="true"] {
    border-color: var(--mdaa-orange);
    background: var(--mdaa-orange-50);
}
.mdaa-variant-btn__label { font-weight: 600; font-size: var(--mdaa-fs-md); }
.mdaa-variant-btn__price { font-size: var(--mdaa-fs-sm); color: var(--mdaa-ink-soft); }
.mdaa-variant-btn__sold-out { font-size: var(--mdaa-fs-xs); color: var(--mdaa-danger); font-weight: 700; text-transform: uppercase; }
.mdaa-variant-btn.is-disabled { opacity: .45; }

/* --- 7.11 Frises d'étapes ------------------------------------------- */
.mdaa-siam-checkout-steps, .register-steps, .mdaa-b2b-steps, .tcp-steps,
.mdaa-success-workflow__steps, .register-progress {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--mdaa-sp-3);
    margin-bottom: var(--mdaa-sp-6);
    padding: 0;
    list-style: none;
}
.mdaa-siam-checkout-step, .register-step, .mdaa-b2b-step, .mdaa-success-workflow__step {
    display: inline-flex;
    align-items: center;
    gap: var(--mdaa-sp-2);
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-md);
    font-weight: 600;
    color: var(--mdaa-ink-faint);
}
.mdaa-siam-checkout-step__num, .register-step__num, .mdaa-b2b-step__n,
.mdaa-success-workflow__step-icon, .mdaa-checkout-section__num, .nvbb-it__num,
.mdaa-siam-pole__num, .mdaa-org-box__num, .mdaa-hp-cat__ic {
    display: grid;
    place-items: center;
    width: 34px; height: 34px;
    flex: none;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-md);
    font-weight: 700;
    color: var(--mdaa-navy-800);
    background: var(--mdaa-navy-100);
    border-radius: var(--mdaa-r-pill);
}
.mdaa-siam-checkout-step--current, .register-step.is-active, .mdaa-b2b-step.is-active,
.mdaa-success-workflow__step--current { color: var(--mdaa-navy-900); }
.mdaa-siam-checkout-step--current .mdaa-siam-checkout-step__num,
.register-step.is-active .register-step__num,
.mdaa-b2b-step.is-active .mdaa-b2b-step__n,
.mdaa-success-workflow__step--current .mdaa-success-workflow__step-icon {
    color: #12202e;
    background: var(--mdaa-orange);
}
.mdaa-siam-checkout-step--done, .mdaa-success-workflow__step--done { color: var(--mdaa-success); }
.mdaa-siam-checkout-step--done .mdaa-siam-checkout-step__num,
.mdaa-success-workflow__step--done .mdaa-success-workflow__step-icon {
    color: #fff;
    background: var(--mdaa-success);
}
.mdaa-siam-checkout-step__sep, .register-step__sep, .mdaa-b2b-step__sep {
    width: 34px;
    height: 2px;
    background: var(--mdaa-line);
}
.mdaa-success-workflow { margin: var(--mdaa-sp-6) 0; }
.mdaa-success-workflow__title { text-align: center; }
.mdaa-success-workflow__step-text { font-weight: 500; }


/* =====================================================================
   8. CHROME : TOPBAR, HEADER, MENUS, PIED DE PAGE
   ===================================================================== */

/* --- 8.1 Topbar ------------------------------------------------------ */
.mdaa-topbar {
    position: relative;
    background: var(--mdaa-navy-900);
    color: #dce7f2;
    font-size: var(--mdaa-fs-sm);
}
.mdaa-topbar::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 3px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
    opacity: .9;
}
.mdaa-topbar__inner {
    display: flex;
    align-items: center;
    gap: var(--mdaa-sp-4);
    min-height: 40px;
    padding-block: 5px;
}
.mdaa-topbar__inner--end { justify-content: flex-end; }
.mdaa-topbar__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--mdaa-sp-3);
}
.mdaa-topbar__sep {
    width: 1px;
    height: 18px;
    background: rgba(255, 255, 255, .22);
}
.mdaa-topbar__btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    font-size: var(--mdaa-fs-sm);
    font-weight: 600;
    color: #eaf1f8;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: var(--mdaa-r-pill);
}
.mdaa-topbar__btn svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.mdaa-topbar__btn--ghost:hover { background: rgba(255, 255, 255, .1); color: #fff; }
.mdaa-topbar__btn--solid {
    color: #12202e;
    background: var(--mdaa-orange);
    border-color: var(--mdaa-orange);
}
.mdaa-topbar__btn--solid:hover { background: var(--mdaa-orange-500); color: #12202e; }

.mdaa-topbar__account {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--mdaa-sp-3);
}
.mdaa-topbar__acct-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #cfdded;
    text-decoration: none;
    font-size: var(--mdaa-fs-sm);
}
.mdaa-topbar__acct-link svg { width: 15px; height: 15px; }
.mdaa-topbar__acct-link:hover { color: var(--mdaa-orange-300); }
.mdaa-topbar__acct-link--dashboard { font-weight: 600; color: var(--mdaa-orange-300); }
.mdaa-topbar__acct-link--logout { opacity: .8; }

/* Langues */
.mdaa-lang { display: inline-flex; gap: 4px; }
.mdaa-lang__btn {
    display: inline-grid;
    place-items: center;
    width: 30px; height: 22px;
    border-radius: var(--mdaa-r-xs);
    overflow: hidden;
    opacity: .55;
    transition: opacity var(--mdaa-transition), box-shadow var(--mdaa-transition);
}
.mdaa-lang__btn img, .mdaa-lang__btn svg { width: 100%; height: 100%; object-fit: cover; display: block; }
.mdaa-lang__btn:hover { opacity: .9; }
.mdaa-lang__btn--active {
    opacity: 1;
    box-shadow: 0 0 0 2px var(--mdaa-orange);
}

/* Panier de la topbar */
.mdaa-cartmenu { position: relative; }
.mdaa-cart-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-sm);
    font-weight: 700;
    color: #12202e;
    background: var(--mdaa-orange);
    border: 0;
    border-radius: var(--mdaa-r-pill);
}
.mdaa-cart-btn:hover { background: var(--mdaa-orange-500); }
.mdaa-cart-btn__badge {
    display: inline-grid;
    place-items: center;
    min-width: 20px; height: 20px;
    padding: 0 5px;
    font-size: var(--mdaa-fs-xs);
    font-weight: 700;
    color: #fff;
    background: var(--mdaa-navy-900);
    border-radius: var(--mdaa-r-pill);
}
.mdaa-cartmenu__caret { transition: transform var(--mdaa-transition); }
.mdaa-cartmenu.is-open .mdaa-cartmenu__caret { transform: rotate(180deg); }
.mdaa-cartmenu__panel {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    z-index: 800;
    width: 290px;
    padding: var(--mdaa-sp-2);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-md);
    box-shadow: var(--mdaa-sh-lg);
}
.mdaa-cartmenu__panel[hidden] { display: none; }
.mdaa-cartmenu__row {
    display: flex;
    align-items: center;
    gap: var(--mdaa-sp-3);
    padding: 10px var(--mdaa-sp-3);
    color: var(--mdaa-ink);
    text-decoration: none;
    border-radius: var(--mdaa-r-sm);
}
.mdaa-cartmenu__row:hover { background: var(--mdaa-navy-50); color: var(--mdaa-navy-900); }
.mdaa-cartmenu__ico {
    display: grid; place-items: center;
    width: 34px; height: 34px;
    flex: none;
    color: var(--mdaa-navy);
    background: var(--mdaa-navy-100);
    border-radius: var(--mdaa-r-sm);
}
.mdaa-cartmenu__ico--mbae { color: var(--mdaa-orange-700); background: var(--mdaa-orange-100); }
.mdaa-cartmenu__label { flex: 1; font-size: var(--mdaa-fs-md); font-weight: 600; }
.mdaa-cartmenu__count {
    min-width: 24px;
    padding: 1px 7px;
    text-align: center;
    font-size: var(--mdaa-fs-xs);
    font-weight: 700;
    background: var(--mdaa-navy-100);
    border-radius: var(--mdaa-r-pill);
}
.mdaa-cartmenu__count[data-count="0"] { opacity: .4; }
.mdaa-cartmenu__chev { width: 15px; height: 15px; color: var(--mdaa-ink-faint); }

/* --- 8.2 Header ------------------------------------------------------ */
.mdaa-header {
    position: sticky;
    top: 0;
    z-index: 700;
    background: #fff;
    border-bottom: 1px solid var(--mdaa-line);
    box-shadow: 0 1px 0 rgba(1, 32, 63, .04);
}
.mdaa-header__inner {
    display: flex;
    align-items: center;
    gap: var(--mdaa-sp-5);
    min-height: var(--mdaa-header-h);
}
.mdaa-brand { display: inline-flex; align-items: center; flex: none; text-decoration: none; }
.mdaa-brand__logo { height: 48px; width: auto; }
.mdaa-brand__text {
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-xl);
    font-weight: 800;
    color: var(--mdaa-navy);
    letter-spacing: -.02em;
}
.mdaa-header__tools { display: flex; align-items: center; gap: var(--mdaa-sp-3); margin-left: auto; }

/* --- 8.3 Navigation principale et méga-menus ------------------------ */
.mdaa-nav-wrap { flex: 1 1 auto; }
.mdaa-nav {
    display: flex;
    align-items: center;
    gap: var(--mdaa-sp-1);
    margin: 0;
    padding: 0;
    list-style: none;
}
.mdaa-nav__item { position: relative; margin: 0; }
.mdaa-nav__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 14px;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-md);
    font-weight: 600;
    color: var(--mdaa-navy-900);
    text-decoration: none;
    border-radius: var(--mdaa-r-sm);
    white-space: nowrap;
}
.mdaa-nav__link:hover { color: var(--mdaa-navy); background: var(--mdaa-navy-50); }
.mdaa-nav__link--active {
    color: var(--mdaa-navy);
    box-shadow: inset 0 -3px 0 var(--mdaa-orange);
}
.mdaa-nav__caret { width: 15px; height: 15px; opacity: .65; transition: transform var(--mdaa-transition); }
.mdaa-nav__item--has-mega:hover .mdaa-nav__caret,
.mdaa-nav__link[aria-expanded="true"] .mdaa-nav__caret { transform: rotate(180deg); }
.mdaa-nav__siam-dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--mdaa-orange);
    box-shadow: 0 0 0 0 rgba(248, 144, 0, .6);
    animation: mdaa-pulse 2s infinite;
}
@keyframes mdaa-pulse {
    70% { box-shadow: 0 0 0 8px rgba(248, 144, 0, 0); }
    100% { box-shadow: 0 0 0 0 rgba(248, 144, 0, 0); }
}

.mdaa-mega {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 750;
    min-width: 640px;
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-lg);
    box-shadow: var(--mdaa-sh-lg);
    overflow: hidden;
}
.mdaa-mega[hidden] { display: none; }
.mdaa-mega::before {
    content: "";
    display: block;
    height: 5px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
}
.mdaa-mega__inner {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: var(--mdaa-sp-5);
    padding: var(--mdaa-sp-5);
}
.mdaa-mega__col-title {
    margin: 0 0 var(--mdaa-sp-3);
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-xs);
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--mdaa-orange-700);
}
.mdaa-mega__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.mdaa-mega__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--mdaa-sp-2);
    padding: 7px 10px;
    font-size: var(--mdaa-fs-md);
    color: var(--mdaa-ink);
    text-decoration: none;
    border-radius: var(--mdaa-r-sm);
}
.mdaa-mega__link:hover { background: var(--mdaa-navy-50); color: var(--mdaa-navy-900); }
.mdaa-mega__col--promo {
    padding: var(--mdaa-sp-4);
    color: #eaf1f8;
    background:
        radial-gradient(90% 120% at 100% 0%, rgba(248, 144, 0, .35), transparent 60%),
        var(--mdaa-navy-900);
    border-radius: var(--mdaa-r-md);
}
.mdaa-mega__promo-title {
    margin: 0 0 var(--mdaa-sp-2);
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-lg);
    font-weight: 700;
    color: #fff;
}
.mdaa-mega__promo-text { font-size: var(--mdaa-fs-md); color: #c8d8e8; }
.mdaa-mega__promo-cta { margin-top: var(--mdaa-sp-3); }

/* --- 8.4 Recherche --------------------------------------------------- */
.mdaa-search-form {
    display: flex;
    align-items: center;
    flex: 0 1 260px;
    background: #fff;
    border: 1.5px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-pill);
    overflow: hidden;
    transition: border-color var(--mdaa-transition), box-shadow var(--mdaa-transition);
}
.mdaa-search-form:focus-within { border-color: var(--mdaa-orange); box-shadow: var(--mdaa-sh-ring); }
.mdaa-search-form__input {
    flex: 1;
    min-width: 0;
    padding: 9px var(--mdaa-sp-4);
    font-size: var(--mdaa-fs-md);
    border: 0;
    background: none;
}
.mdaa-search-form__input:focus { outline: none; box-shadow: none; }
.mdaa-search-form__btn {
    display: grid;
    place-items: center;
    width: 44px; height: 42px;
    flex: none;
    color: #fff;
    background: var(--mdaa-navy);
    border: 0;
}
.mdaa-search-form__btn:hover { background: var(--mdaa-navy-600); }
.mdaa-search-form__btn svg { width: 18px; height: 18px; }
.mdaa-search-form--lg { flex-basis: 100%; max-width: 560px; }
.mdaa-search-form--lg .mdaa-search-form__input { padding: 14px var(--mdaa-sp-5); font-size: var(--mdaa-fs-lg); }
.mdaa-search-form--lg .mdaa-search-form__btn { width: 56px; height: 54px; }

/* --- 8.5 Hamburger et tiroir mobile --------------------------------- */
.mdaa-burger, .mdaa-admin-burger {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 46px; height: 46px;
    padding: 0 11px;
    background: none;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-sm);
}
.mdaa-burger__line, .mdaa-admin-burger__bar {
    display: block;
    height: 2px;
    background: var(--mdaa-navy-900);
    border-radius: 2px;
    transition: transform var(--mdaa-transition), opacity var(--mdaa-transition);
}
.mdaa-burger.is-active .mdaa-burger__line:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.mdaa-burger.is-active .mdaa-burger__line:nth-child(2) { opacity: 0; }
.mdaa-burger.is-active .mdaa-burger__line:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.mdaa-drawer {
    position: fixed;
    top: 0; right: 0;
    z-index: 920;
    display: flex;
    flex-direction: column;
    width: min(360px, 88vw);
    height: 100%;
    background: #fff;
    box-shadow: var(--mdaa-sh-lg);
    transform: translateX(100%);
    transition: transform 280ms cubic-bezier(.4, 0, .2, 1);
}
.mdaa-drawer[hidden] { display: none; }
.mdaa-drawer.is-open { transform: translateX(0); }
.mdaa-drawer__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--mdaa-sp-3);
    padding: var(--mdaa-sp-4) var(--mdaa-sp-5);
    color: #fff;
    background: var(--mdaa-navy-900);
}
.mdaa-drawer__title { font-family: var(--mdaa-font-display); font-weight: 700; }
.mdaa-drawer__close {
    width: 36px; height: 36px;
    font-size: var(--mdaa-fs-lg);
    color: #fff;
    background: rgba(255, 255, 255, .12);
    border: 0;
    border-radius: var(--mdaa-r-pill);
}
.mdaa-drawer__body { flex: 1; overflow-y: auto; padding: var(--mdaa-sp-4) var(--mdaa-sp-5) var(--mdaa-sp-7); }
.mdaa-drawer__search { flex-basis: auto; margin-bottom: var(--mdaa-sp-4); }
.mdaa-drawer__nav { display: flex; flex-direction: column; }
.mdaa-drawer__link, .mdaa-drawer__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--mdaa-sp-3);
    width: 100%;
    padding: 13px 4px;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-base);
    font-weight: 600;
    color: var(--mdaa-navy-900);
    text-align: left;
    text-decoration: none;
    background: none;
    border: 0;
    border-bottom: 1px solid var(--mdaa-line-soft);
}
.mdaa-drawer__link.is-active { color: var(--mdaa-orange-700); }
.mdaa-drawer__link--logout { color: var(--mdaa-danger); }
.mdaa-drawer__link--register, .mdaa-drawer__link--admin { color: var(--mdaa-navy-600); }
.mdaa-drawer__caret { width: 16px; height: 16px; transition: transform var(--mdaa-transition); }
.mdaa-drawer__toggle[aria-expanded="true"] .mdaa-drawer__caret { transform: rotate(180deg); }
.mdaa-drawer__sub { padding: var(--mdaa-sp-2) 0 var(--mdaa-sp-3) var(--mdaa-sp-4); }
.mdaa-drawer__sub[hidden] { display: none; }
.mdaa-drawer__subtitle {
    margin: var(--mdaa-sp-3) 0 4px;
    font-size: var(--mdaa-fs-xs);
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--mdaa-orange-700);
}
.mdaa-drawer__sublink {
    display: block;
    padding: 8px 0;
    font-size: var(--mdaa-fs-md);
    color: var(--mdaa-ink-soft);
    text-decoration: none;
}
.mdaa-drawer__sublink:hover { color: var(--mdaa-navy); }
.mdaa-drawer__sublink--all { font-weight: 700; color: var(--mdaa-navy); }
.mdaa-drawer__divider { height: 1px; margin: var(--mdaa-sp-3) 0; background: var(--mdaa-line); }
.mdaa-drawer__badge {
    min-width: 22px;
    padding: 1px 7px;
    text-align: center;
    font-size: var(--mdaa-fs-xs);
    font-weight: 700;
    color: #12202e;
    background: var(--mdaa-orange);
    border-radius: var(--mdaa-r-pill);
}
.mdaa-drawer__lang {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--mdaa-sp-3);
    margin-top: var(--mdaa-sp-5);
    padding-top: var(--mdaa-sp-4);
    border-top: 1px solid var(--mdaa-line);
}
.mdaa-drawer__lang-label {
    font-size: var(--mdaa-fs-xs);
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--mdaa-ink-faint);
}
.mdaa-drawer__lang .mdaa-lang__btn { width: 38px; height: 26px; }
.mdaa-drawer__lang .mdaa-lang__btn--active { box-shadow: 0 0 0 2px var(--mdaa-navy); }

/* --- 8.6 Bande des références --------------------------------------- */
.nvbb-trust {
    padding: var(--mdaa-sp-6) 0;
    background: var(--mdaa-cream);
    border-top: 1px solid var(--mdaa-sand);
    border-bottom: 1px solid var(--mdaa-sand);
    overflow: hidden;
}
.nvbb-trust__title {
    font-size: var(--mdaa-fs-md);
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    text-align: center;
    color: var(--mdaa-ink-soft);
    margin-bottom: var(--mdaa-sp-5);
}
.nvbb-trust__viewport {
    position: relative;
    mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.nvbb-trust__track {
    display: flex;
    align-items: center;
    gap: var(--mdaa-sp-7);
    width: max-content;
    margin: 0;
    padding: 0;
    list-style: none;
    animation: nvbb-trust-scroll 38s linear infinite;
}
.nvbb-trust__track li { margin: 0; }
.nvbb-trust.is-paused .nvbb-trust__track { animation-play-state: paused; }
@keyframes nvbb-trust-scroll { to { transform: translateX(-50%); } }
.nvbb-trust__item {
    display: grid;
    place-items: center;
    height: 56px;
    padding: 0 var(--mdaa-sp-3);
    text-decoration: none;
}
.nvbb-trust__logo {
    max-height: 48px;
    width: auto;
    filter: grayscale(1);
    opacity: .72;
    transition: filter var(--mdaa-transition), opacity var(--mdaa-transition);
}
.nvbb-trust__item:hover .nvbb-trust__logo { filter: none; opacity: 1; }
.nvbb-trust__name {
    font-family: var(--mdaa-font-display);
    font-weight: 700;
    color: var(--mdaa-navy-800);
    white-space: nowrap;
}
.nvbb-trust__actions { display: flex; justify-content: center; margin-top: var(--mdaa-sp-4); }
.nvbb-trust__pause {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 13px;
    font-size: var(--mdaa-fs-xs);
    font-weight: 600;
    color: var(--mdaa-ink-soft);
    background: #fff;
    border: 1px solid var(--mdaa-sand);
    border-radius: var(--mdaa-r-pill);
}
.nvbb-trust__pause svg { width: 10px; height: 10px; fill: currentColor; }
@media (prefers-reduced-motion: reduce) {
    .nvbb-trust__track { animation: none; }
}

/* --- 8.7 Pied de page ----------------------------------------------- */
.mdaa-footer {
    position: relative;
    padding: var(--mdaa-sp-8) 0 var(--mdaa-sp-5);
    color: #c5d5e6;
    background: var(--mdaa-navy-900);
}
.mdaa-footer::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 7px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
}
.mdaa-footer::after {
    content: "";
    position: absolute;
    inset: 0;
    color: var(--mdaa-orange);
    background-image: var(--wax-dots);
    background-size: var(--wax-dots-size);
    opacity: .05;
    pointer-events: none;
}
.mdaa-footer > * { position: relative; z-index: 1; }
.mdaa-footer__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: var(--mdaa-sp-6);
}
.mdaa-footer__col h3 {
    margin-bottom: var(--mdaa-sp-4);
    font-size: var(--mdaa-fs-md);
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #fff;
}
.mdaa-footer__col p { font-size: var(--mdaa-fs-md); color: #a9bed3; }
.mdaa-footer__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.mdaa-footer__col li { margin: 0; }
.mdaa-footer a { color: #c5d5e6; text-decoration: none; font-size: var(--mdaa-fs-md); }
.mdaa-footer a:hover { color: var(--mdaa-orange-300); }
.mdaa-footer__socials { display: flex; gap: var(--mdaa-sp-2); margin-top: var(--mdaa-sp-4); }
.mdaa-footer__socials a {
    display: grid;
    place-items: center;
    width: 38px; height: 38px;
    background: rgba(255, 255, 255, .08);
    border-radius: var(--mdaa-r-pill);
}
.mdaa-footer__socials a:hover { background: var(--mdaa-orange); }
.mdaa-footer__socials svg { width: 17px; height: 17px; fill: currentColor; }
.mdaa-footer__socials a:hover svg { fill: #12202e; }

.mdaa-footer__siam-next { display: flex; flex-direction: column; gap: 3px; }
.mdaa-footer__siam-next strong { color: #fff; }
.mdaa-footer__siam-date, .mdaa-footer__siam-archive-label { font-size: var(--mdaa-fs-sm); color: #92a9c1; }
.mdaa-footer__siam-badge { margin-top: 3px; align-self: flex-start; }
.mdaa-footer__siam-empty { color: #92a9c1; font-size: var(--mdaa-fs-md); }
.mdaa-footer__shops { gap: var(--mdaa-sp-3); }
.mdaa-footer__shop { display: flex; align-items: center; gap: var(--mdaa-sp-2); }
.mdaa-footer__shop-txt { display: flex; flex-direction: column; line-height: 1.25; }
.mdaa-footer__shop-city { font-size: var(--mdaa-fs-xs); text-transform: uppercase; letter-spacing: .08em; color: var(--mdaa-orange-300); }
.mdaa-footer__shop-name { font-weight: 600; color: #e3ecf5; }
.mbae-flag, .mbae-flag--footer { width: 22px; height: 16px; border-radius: 2px; object-fit: cover; flex: none; }

.mdaa-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--mdaa-sp-3);
    margin-top: var(--mdaa-sp-7);
    padding-top: var(--mdaa-sp-4);
    font-size: var(--mdaa-fs-sm);
    color: #8ba3bc;
    border-top: 1px solid rgba(255, 255, 255, .12);
}

/* --- 8.8 Bandeau admin visible côté public -------------------------- */
.mdaa-admin-header {
    background: var(--mdaa-navy-800);
    color: #fff;
    font-size: var(--mdaa-fs-sm);
}
.mdaa-admin-header__inner {
    display: flex;
    align-items: center;
    gap: var(--mdaa-sp-4);
    min-height: 44px;
}
.mdaa-admin-header__user { font-weight: 600; }
.mdaa-admin-header__logout { margin-left: auto; color: var(--mdaa-orange-300); text-decoration: none; }
.mdaa-admin-header__nav { display: flex; gap: var(--mdaa-sp-3); }
.mdaa-admin-meganav__trigger {
    display: inline-flex; align-items: center; gap: 5px;
    color: #fff; background: none; border: 0;
}
.mdaa-admin-meganav__panel {
    position: absolute;
    z-index: 760;
    padding: var(--mdaa-sp-4);
    background: #fff;
    border-radius: var(--mdaa-r-md);
    box-shadow: var(--mdaa-sh-lg);
}
.mdaa-admin-meganav__panel[hidden] { display: none; }


/* =====================================================================
   9. ACCUEIL ET CATALOGUE
   ===================================================================== */

/* --- 9.1 Hero d'accueil --------------------------------------------- */
.mdaa-hp-hero {
    position: relative;
    display: flex;
    align-items: center;
    min-height: min(78vh, 680px);
    padding: var(--mdaa-sp-9) 0;
    overflow: hidden;
    color: #fff;
    background: var(--mdaa-navy-900);
}
.mdaa-hp-hero__slides { position: absolute; inset: 0; }
.mdaa-hp-hero__slide {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transform: scale(1.06);
    transition: opacity 1.2s ease, transform 8s linear;
}
.mdaa-hp-hero__slide.is-active { opacity: 1; transform: scale(1); }
.mdaa-hp-hero__veil {
    background:
        linear-gradient(100deg, rgba(1, 32, 63, .93) 0%, rgba(1, 32, 63, .76) 46%, rgba(1, 32, 63, .42) 100%);
}
.mdaa-hp-hero__awale { opacity: .9; }
.mdaa-hp-hero__in { position: relative; z-index: 2; max-width: 720px; }
.mdaa-hp-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: var(--mdaa-sp-2);
    padding: 5px 14px 5px 10px;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-sm);
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--mdaa-orange-300);
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(248, 144, 0, .45);
    border-radius: var(--mdaa-r-pill);
}
.mdaa-hp-hero__eyebrow span {
    width: 8px; height: 8px;
    background: var(--mdaa-orange);
    border-radius: 50%;
}
.mdaa-hp-hero__title {
    margin: var(--mdaa-sp-4) 0 var(--mdaa-sp-3);
    font-size: var(--mdaa-fs-4xl);
    font-weight: 800;
    line-height: 1.04;
    color: #fff;
}
.mdaa-hp-hero__title em {
    font-style: normal;
    color: var(--mdaa-orange);
    background: linear-gradient(180deg, transparent 72%, rgba(248, 144, 0, .28) 72%);
}
.mdaa-hp-hero__sub {
    max-width: 56ch;
    font-size: var(--mdaa-fs-lg);
    color: #cddbe9;
}
.mdaa-hp-hero__ctas { display: flex; flex-wrap: wrap; gap: var(--mdaa-sp-3); margin-top: var(--mdaa-sp-5); }
.mdaa-hp-hero__ctas .mdaa-hp-btn--ghost { --btn-fg: #fff; --btn-bd: rgba(255, 255, 255, .5); }
.mdaa-hp-hero__ctas .mdaa-hp-btn--ghost:hover { --btn-bg: rgba(255, 255, 255, .12); --btn-bd: #fff; --btn-fg: #fff; }
.mdaa-hp-hero__stats {
    display: flex;
    flex-wrap: wrap;
    gap: var(--mdaa-sp-6);
    margin-top: var(--mdaa-sp-7);
    padding-top: var(--mdaa-sp-5);
    border-top: 1px solid rgba(255, 255, 255, .18);
}
.mdaa-hp-hero__stat { display: flex; flex-direction: column; }
.mdaa-hp-hero__stat b {
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-2xl);
    font-weight: 800;
    color: var(--mdaa-orange-300);
    line-height: 1;
}
.mdaa-hp-hero__stat span {
    font-size: var(--mdaa-fs-sm);
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #a8bdd2;
    margin-top: 4px;
}
.mdaa-hp-hero__dots {
    position: absolute;
    z-index: 3;
    bottom: var(--mdaa-sp-5);
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: var(--mdaa-sp-2);
}
.mdaa-hp-hero__dot {
    width: 32px; height: 4px;
    padding: 0;
    background: rgba(255, 255, 255, .35);
    border: 0;
    border-radius: var(--mdaa-r-pill);
}
.mdaa-hp-hero__dot.is-active { background: var(--mdaa-orange); }
.mdaa-hp-hero--shop { min-height: min(52vh, 420px); }

/* Hero secondaire (pages internes) */
.mdaa-home-hero, .mdaa-static-hero, .register-hero, .thanks-hero,
.mdaa-cdw-hero, .mdaa-cwow-hero, .mdaa-b2b-hero, .mdaa-track-hero,
.mdaa-checkout-hero, .mdaa-payment-hero, .mdaa-siam-tickets-hero,
.mdaa-success-hero, .nvbb-it__hero {
    position: relative;
    padding: var(--mdaa-sp-8) 0;
    overflow: hidden;
    color: #fff;
    background: var(--mdaa-navy-900);
}
.mdaa-home-hero__content, .mdaa-static-hero__in, .register-hero__inner,
.thanks-hero__inner, .mdaa-cdw-hero__in, .mdaa-cwow-hero__in, .mdaa-b2b-hero__in,
.mdaa-track-hero__inner, .mdaa-siam-tickets-hero__inner, .nvbb-it__hero > * {
    position: relative;
    z-index: 2;
}
.mdaa-home-hero__title, .mdaa-static-hero__title, .mdaa-cdw-hero__title,
.mdaa-cwow-hero__title, .mdaa-b2b-hero__title, .mdaa-track-hero__title,
.mdaa-checkout-hero__title, .mdaa-payment-hero__title, .mdaa-siam-tickets-hero__title,
.mdaa-success-hero__title, .thanks-hero .thanks-body h1 {
    font-size: var(--mdaa-fs-3xl);
    color: #fff;
    margin-bottom: var(--mdaa-sp-3);
}
.mdaa-static-hero__sub, .mdaa-cdw-hero__desc, .mdaa-cwow-hero__sub,
.mdaa-b2b-hero__sub, .mdaa-track-hero__text, .mdaa-checkout-hero__subtitle,
.mdaa-payment-hero__subtitle, .mdaa-siam-tickets-hero__subtitle,
.mdaa-siam-tickets-hero__text, .mdaa-success-hero__subtitle {
    max-width: 62ch;
    font-size: var(--mdaa-fs-lg);
    color: #c6d6e6;
}
.mdaa-static-hero__photo, .register-hero__bg, .thanks-hero__bg,
.mdaa-cdw-hero__ph, .mdaa-cwow-hero__ph, .mdaa-siam-hero__photo {
    position: absolute;
    inset: 0;
    object-fit: cover;
    width: 100%; height: 100%;
    opacity: .5;
}
.mdaa-static-hero--noimg { background: var(--mdaa-navy-800); }
.mdaa-cdw-hero__pat, .mdaa-cwow-hero__pat {
    position: absolute;
    inset: 0;
    color: var(--mdaa-orange);
    background-image: var(--wax-bogolan);
    background-size: var(--wax-bogolan-size);
    opacity: .12;
}
.mdaa-cdw-hero__side, .mdaa-cwow-hero__meta { display: flex; gap: var(--mdaa-sp-6); margin-top: var(--mdaa-sp-5); }
.mdaa-cdw-hero__num, .mdaa-cwow-hero__num {
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-2xl);
    font-weight: 800;
    color: var(--mdaa-orange-300);
    line-height: 1;
    display: block;
}
.mdaa-cdw-hero__numlbl, .mdaa-cwow-hero__numlbl {
    font-size: var(--mdaa-fs-sm);
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #a8bdd2;
}
.mdaa-checkout-hero, .mdaa-payment-hero, .mdaa-success-hero {
    text-align: center;
    padding: var(--mdaa-sp-7) 0;
}
.mdaa-checkout-hero__icon, .mdaa-payment-hero__icon, .mdaa-success-hero__icon,
.mdaa-siam-tickets-hero__icon, .mdaa-track-hero__icon {
    margin: 0 auto var(--mdaa-sp-4);
    width: 58px; height: 58px;
    color: #12202e;
    background: var(--mdaa-orange);
}
.mdaa-success-hero__ref { max-width: 420px; margin: var(--mdaa-sp-5) auto 0; background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .25); }
.mdaa-success-hero__ref-code { color: #fff; }
.mdaa-success-hero__ref-label { color: #a8bdd2; }
.mdaa-siam-tickets-hero__back, .mdaa-track-hero__overline { color: var(--mdaa-orange-300); }

/* --- 9.2 Sections d'accueil ----------------------------------------- */
.mdaa-hp-sec { padding: var(--mdaa-sp-8) 0; }
.mdaa-hp-sec--alt { background: var(--mdaa-navy-50); }
.mdaa-hp-sec--ads { padding-block: var(--mdaa-sp-6); }
.mdaa-hp-sec--targets {
    padding-block: var(--mdaa-sp-6);
    background: var(--mdaa-cream);
    border-bottom: 1px solid var(--mdaa-sand);
}
.mdaa-hp-sec__head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--mdaa-sp-4);
    margin-bottom: var(--mdaa-sp-6);
}
.mdaa-hp-sec__head-l { max-width: 640px; }
.mdaa-hp-sec__title { font-size: var(--mdaa-fs-2xl); margin-bottom: var(--mdaa-sp-2); }
.mdaa-hp-sec__sub { color: var(--mdaa-ink-soft); margin: 0; }

/* Objectifs de l'édition */
.mdaa-hp-targets {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: var(--mdaa-sp-4);
    margin: 0;
    padding: 0;
    list-style: none;
}
.mdaa-hp-target {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: var(--mdaa-sp-5) var(--mdaa-sp-4);
    margin: 0;
    background: #fff;
    border-radius: var(--mdaa-r-lg);
    box-shadow: var(--mdaa-sh-sm);
    overflow: hidden;
}
.mdaa-hp-target::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
}
.mdaa-hp-target--a::before { background: var(--mdaa-navy); }
.mdaa-hp-target--b::before { background: var(--mdaa-orange); }
.mdaa-hp-target--c::before { background: var(--mdaa-terracotta); }
.mdaa-hp-target--d::before { background: var(--mdaa-leaf); }
.mdaa-hp-target__n {
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-2xl);
    font-weight: 800;
    color: var(--mdaa-navy-900);
    line-height: 1;
}
.mdaa-hp-target__l {
    font-size: var(--mdaa-fs-sm);
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--mdaa-ink-soft);
}

/* Espace annonceurs */
.mdaa-hp-ads__head {
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: var(--mdaa-sp-4);
}
.mdaa-hp-ads__tiles {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: var(--mdaa-sp-4);
    margin-top: var(--mdaa-sp-4);
}
.mdaa-hp-ad-wrap { position: relative; }
.mdaa-hp-ad {
    display: block;
    overflow: hidden;
    border-radius: var(--mdaa-r-md);
    background: var(--mdaa-navy-50);
}
.mdaa-hp-ad__img { width: 100%; height: 100%; object-fit: cover; }
.mdaa-hp-ad--banner { aspect-ratio: 1180 / 200; }
.mdaa-hp-ad--tile { aspect-ratio: 400 / 260; }
.mdaa-hp-ad--free {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--mdaa-sp-2);
    padding: var(--mdaa-sp-5);
    text-align: center;
    color: var(--mdaa-ink-faint);
    background: #fff;
    border: 2px dashed var(--mdaa-navy-200);
}
.mdaa-hp-ad__ico svg { width: 26px; height: 26px; }
.mdaa-hp-ad__label { margin: 0; font-size: var(--mdaa-fs-md); font-weight: 600; }
.mdaa-hp-ad__cta { margin: 0; font-size: var(--mdaa-fs-sm); }
.mdaa-hp-ad__tier { position: absolute; top: 10px; left: 10px; }

/* Mosaïque catégories */
.mdaa-hp-cats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: var(--mdaa-sp-4);
}
.mdaa-hp-cat {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: var(--mdaa-sp-3);
    min-height: 220px;
    padding: var(--mdaa-sp-5);
    color: #fff;
    text-decoration: none;
    background: var(--cbg, linear-gradient(135deg, var(--mdaa-navy), var(--mdaa-navy-600)));
    border-radius: var(--mdaa-r-lg);
    overflow: hidden;
    transition: transform var(--mdaa-transition), box-shadow var(--mdaa-transition);
}
.mdaa-hp-cat:hover { transform: translateY(-3px); box-shadow: var(--mdaa-sh-lg); color: #fff; }
.mdaa-hp-cat--xl { grid-column: span 2; min-height: 300px; }
.mdaa-hp-cat__mosaic {
    position: absolute;
    inset: 0;
    display: grid;
    gap: 2px;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 1fr;
}
.mdaa-hp-cat__mosaic--1 { grid-template-columns: 1fr; }
.mdaa-hp-cat__mosaic--2 { grid-template-columns: repeat(2, 1fr); }
.mdaa-hp-cat__mosaic--3 { grid-template-columns: repeat(3, 1fr); }
.mdaa-hp-cat__mosaic--4, .mdaa-hp-cat__mosaic--6 { grid-template-columns: repeat(2, 1fr); }
.mdaa-hp-cat__mosaic img { width: 100%; height: 100%; object-fit: cover; }
.mdaa-hp-cat__veil {
    background: linear-gradient(180deg, rgba(1, 32, 63, .15) 20%, rgba(1, 32, 63, .88) 100%);
}
.mdaa-hp-cat > :not([class*="mosaic"]):not([class*="veil"]) { position: relative; z-index: 2; }
.mdaa-hp-cat__ic {
    width: 44px; height: 44px;
    font-size: var(--mdaa-fs-lg);
    color: #12202e;
    background: var(--mdaa-orange);
}
.mdaa-hp-cat__name { margin: 0; color: #fff; font-size: var(--mdaa-fs-xl); }
.mdaa-hp-cat__count { margin: 0; font-size: var(--mdaa-fs-sm); color: #d4e0ec; }

/* Stands de l'accueil */
.mdaa-hp-stands, .mdaa-hp-pgrid, .mdaa-product-grid, .mdaa-artisan-grid,
.mdaa-maison-grid, .mbae-shops__grid, .siam-stands__grid, .mdaa-cdw-grid,
.mdaa-cwow-mos, .mdaa-siam-poles-grid, .mdaa-siam-partners-grid,
.mdaa-siam-modes-grid, .mdaa-siam-contacts-grid, .mdaa-success-tickets-grid,
.mdaa-static-gallery__grid, .err404-cards, .mdaa-siam-programme-grid,
.mdaa-siam-elig-grid, .nvbb-it__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: var(--mdaa-sp-5);
}
.nvbb-it__grid--2 { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.nvbb-it__grid--3 { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.nvbb-it__grid--4 { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }

.mdaa-hp-stand {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-lg);
    overflow: hidden;
    box-shadow: var(--mdaa-sh-sm);
    transition: transform var(--mdaa-transition), box-shadow var(--mdaa-transition);
}
.mdaa-hp-stand:hover { transform: translateY(-3px); box-shadow: var(--mdaa-sh-md); }
.mdaa-hp-stand--full { opacity: .72; }
.mdaa-hp-stand__media, .siam-stands__media, .mbae-shop-card__cover {
    position: relative;
    aspect-ratio: 4 / 3;
    background: var(--mdaa-navy-50);
}
.mdaa-hp-stand__img, .siam-stands__img { width: 100%; height: 100%; object-fit: cover; }
.mdaa-hp-stand__no-photo, .siam-stands__no-photo, .mdaa-product__main-image--empty,
.mdaa-checkout-summary-item__no-img, .mdaa-payment-item__no-img, .mdaa-success-item__no-img {
    display: grid;
    place-items: center;
    gap: var(--mdaa-sp-2);
    width: 100%; height: 100%;
    color: var(--mdaa-ink-faint);
    background: var(--mdaa-navy-50);
    font-size: var(--mdaa-fs-sm);
}
.mdaa-hp-stand__no-photo svg, .siam-stands__no-photo svg { width: 30px; height: 30px; }
.mdaa-hp-stand__media .mdaa-hp-stand__flag,
.siam-stands__media .siam-stands__badge,
.mbae-shop-card__cover .mbae-shop-card__flag { position: absolute; top: 10px; left: 10px; }
.mdaa-hp-stand__head, .siam-stands__body {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--mdaa-sp-3);
    padding: var(--mdaa-sp-4) var(--mdaa-sp-4) 0;
}
.mdaa-hp-stand__name, .siam-stands__card-title { margin: 0; font-size: var(--mdaa-fs-lg); }
.mdaa-hp-stand__size, .siam-stands__code {
    font-family: var(--mdaa-font-mono);
    font-size: var(--mdaa-fs-sm);
    color: var(--mdaa-ink-faint);
}
.mdaa-hp-stand__desc, .siam-stands__desc {
    padding: var(--mdaa-sp-2) var(--mdaa-sp-4) 0;
    margin: 0;
    font-size: var(--mdaa-fs-md);
    color: var(--mdaa-ink-soft);
}
.mdaa-hp-stand__avail {
    margin: var(--mdaa-sp-3) var(--mdaa-sp-4) 0;
    font-size: var(--mdaa-fs-sm);
    font-weight: 700;
    color: var(--mdaa-success);
}
.mdaa-hp-stand__avail--full, .siam-stands__avail--full { color: var(--mdaa-danger); }
.mdaa-hp-stand__foot, .siam-stands__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--mdaa-sp-3);
    margin-top: auto;
    padding: var(--mdaa-sp-4);
}
.mdaa-hp-stand__price, .siam-stands__price, .mdaa-product-card__price,
.mdaa-hp-pcard__price, .mdaa-pdw-price__main, .mbae-item__price,
.mdaa-ship2-card__price-amount, .nvbb-it__price, .nvbb-it__offer-price {
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-lg);
    font-weight: 800;
    color: var(--mdaa-navy-900);
}

/* Produits vedettes */
.mdaa-hp-pcard, .mdaa-product-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-lg);
    overflow: hidden;
    transition: transform var(--mdaa-transition), box-shadow var(--mdaa-transition);
}
.mdaa-hp-pcard:hover, .mdaa-product-card:hover { transform: translateY(-4px); box-shadow: var(--mdaa-sh-md); }
.mdaa-hp-pcard > a, .mdaa-product-card > a { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: inherit; }
.mdaa-hp-pcard__im, .mdaa-product-card__img-wrap {
    position: relative;
    aspect-ratio: 1 / 1;
    background: var(--mdaa-navy-50);
    overflow: hidden;
}
.mdaa-hp-pcard__im-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform 600ms ease;
}
.mdaa-hp-pcard:hover .mdaa-hp-pcard__im-bg, .mdaa-product-card:hover .mdaa-product-card__img { transform: scale(1.05); }
.mdaa-product-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform 600ms ease; }
.mdaa-hp-pcard__badge, .mdaa-product-card__badge { position: absolute; top: 10px; left: 10px; }
.mdaa-hp-pcard__b, .mdaa-product-card__body {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    padding: var(--mdaa-sp-4);
}
.mdaa-hp-pcard__name, .mdaa-product-card__name {
    margin: 0;
    font-size: var(--mdaa-fs-base);
    font-weight: 700;
    color: var(--mdaa-navy-900);
}
.mdaa-hp-pcard__by, .mdaa-product-card__artisan {
    margin: 0;
    font-size: var(--mdaa-fs-sm);
    color: var(--mdaa-ink-soft);
}
.mdaa-hp-pcard__foot { margin-top: auto; padding-top: var(--mdaa-sp-3); }
.mdaa-product-card__price { margin-top: auto; padding-top: var(--mdaa-sp-3); }
.mdaa-product-card__stock { font-size: var(--mdaa-fs-sm); font-weight: 600; }
.mdaa-product-card__stock--in { color: var(--mdaa-success); }
.mdaa-product-card__stock--out { color: var(--mdaa-danger); }

/* Partenaires de l'accueil */
.mdaa-hp-partners {
    display: grid;
    grid-template-columns: minmax(280px, 380px) 1fr;
    gap: var(--mdaa-sp-6);
    align-items: start;
}
.mdaa-hp-partners__cols {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--mdaa-sp-5);
}
.mdaa-hp-quality {
    position: relative;
    padding: var(--mdaa-sp-6);
    color: #eaf1f8;
    background:
        radial-gradient(80% 100% at 100% 0%, rgba(248, 144, 0, .28), transparent 62%),
        var(--mdaa-navy-900);
    border-radius: var(--mdaa-r-xl);
    overflow: hidden;
}
.mdaa-hp-quality::after {
    content: "";
    position: absolute;
    inset: auto -30px -40px auto;
    width: 220px; height: 220px;
    color: var(--mdaa-orange);
    background-image: var(--wax-dots);
    background-size: var(--wax-dots-size);
    opacity: .12;
}
.mdaa-hp-quality__badge { background: var(--mdaa-orange); color: #12202e; }
.mdaa-hp-quality__name { margin: var(--mdaa-sp-3) 0 var(--mdaa-sp-2); color: #fff; font-size: var(--mdaa-fs-xl); }
.mdaa-hp-quality__text { font-size: var(--mdaa-fs-md); color: #c3d4e5; }
.mdaa-hp-quality__stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--mdaa-sp-3);
    margin: var(--mdaa-sp-5) 0;
    padding: var(--mdaa-sp-4) 0;
    border-block: 1px solid rgba(255, 255, 255, .16);
}
.mdaa-hp-quality__stat dt {
    font-size: var(--mdaa-fs-xs);
    text-transform: uppercase;
    letter-spacing: .07em;
    color: #9db4cb;
}
.mdaa-hp-quality__stat dd {
    margin: 2px 0 0;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-xl);
    font-weight: 800;
    color: var(--mdaa-orange-300);
}
.mdaa-hp-plist {
    padding: var(--mdaa-sp-5);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-lg);
}
.mdaa-hp-plist__title { font-size: var(--mdaa-fs-lg); margin-bottom: var(--mdaa-sp-1); }
.mdaa-hp-plist__note { font-size: var(--mdaa-fs-sm); color: var(--mdaa-ink-faint); margin-bottom: var(--mdaa-sp-4); }
.mdaa-hp-plist__ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.mdaa-hp-plist__li { margin: 0; }
.mdaa-hp-prow {
    display: flex;
    align-items: center;
    gap: var(--mdaa-sp-3);
    padding: 9px 10px;
    text-decoration: none;
    color: inherit;
    border-radius: var(--mdaa-r-sm);
}
.mdaa-hp-prow:hover { background: var(--mdaa-navy-50); }
.mdaa-hp-prow__av, .mdaa-vcard__avatar, .mdaa-artisan-card__avatar,
.mdaa-artisan-block__avatar, .mdaa-pdw-maker__av, .mdaa-maison__av {
    display: grid;
    place-items: center;
    width: 40px; height: 40px;
    flex: none;
    font-family: var(--mdaa-font-display);
    font-weight: 800;
    color: #fff;
    background: var(--mdaa-navy);
    border-radius: var(--mdaa-r-pill);
    overflow: hidden;
}
.mdaa-hp-prow__av--maison, .mdaa-maison__av { background: var(--mdaa-terracotta); }
.mdaa-hp-prow__txt { flex: 1; min-width: 0; }
.mdaa-hp-prow__name { display: block; font-weight: 600; font-size: var(--mdaa-fs-md); }

/* Bande de confiance de l'accueil */
.mdaa-hp-trust { padding: var(--mdaa-sp-6) 0; background: var(--mdaa-navy-900); color: #dbe6f1; }
.mdaa-hp-trust__in {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--mdaa-sp-5);
}
.mdaa-hp-trust__item { display: flex; align-items: center; gap: var(--mdaa-sp-3); }
.mdaa-hp-trust__ic { color: var(--mdaa-orange); background: rgba(248, 144, 0, .14); }
.mdaa-hp-trust__t { display: flex; flex-direction: column; line-height: 1.3; }
.mdaa-hp-trust__t b { color: #fff; font-family: var(--mdaa-font-display); font-size: var(--mdaa-fs-md); }
.mdaa-hp-trust__t span { font-size: var(--mdaa-fs-sm); color: #9db4cb; }

/* Encart Expo */
.mdaa-hp-siam {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: var(--mdaa-sp-6);
    padding: var(--mdaa-sp-7);
    color: #eaf1f8;
    background: var(--mdaa-navy-900);
    border-radius: var(--mdaa-r-xl);
    overflow: hidden;
}
.mdaa-hp-siam__l { position: relative; z-index: 2; max-width: 620px; }
.mdaa-hp-siam__tag { background: rgba(248, 144, 0, .18); color: var(--mdaa-orange-300); }
.mdaa-hp-siam__h { margin: var(--mdaa-sp-3) 0; color: #fff; font-size: var(--mdaa-fs-2xl); }
.mdaa-hp-siam__p { color: #c3d4e5; }
.mdaa-hp-siam__r { position: relative; z-index: 2; }
.mdaa-hp-siam__date {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: var(--mdaa-sp-4) var(--mdaa-sp-6);
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-4xl);
    font-weight: 800;
    line-height: 1;
    color: #12202e;
    background: var(--mdaa-orange);
    border-radius: var(--mdaa-r-lg);
}
.mdaa-hp-siam__date span {
    font-size: var(--mdaa-fs-md);
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-top: 6px;
}

/* --- 9.3 Catalogue : liste et filtres -------------------------------- */
.mdaa-catalogue__layout {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: var(--mdaa-sp-6);
    align-items: start;
    padding-block: var(--mdaa-sp-6);
}
.mdaa-catalogue__sidebar { display: flex; flex-direction: column; gap: var(--mdaa-sp-4); position: sticky; top: calc(var(--mdaa-header-h) + 16px); }
.mdaa-catalogue__main { min-width: 0; }
.mdaa-catalogue__toolbar, .mdaa-cdw-tools__in {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--mdaa-sp-3);
    margin-bottom: var(--mdaa-sp-5);
    padding-bottom: var(--mdaa-sp-3);
    border-bottom: 1px solid var(--mdaa-line);
}
.mdaa-catalogue__sort, .mdaa-cdw-tools__sort { display: flex; align-items: center; gap: var(--mdaa-sp-2); }
.mdaa-catalogue__sort select, .mdaa-cdw-tools__sort select { width: auto; min-width: 190px; }

.mdaa-filter-box { padding: var(--mdaa-sp-4); }
.mdaa-filter-box__title { margin-bottom: var(--mdaa-sp-3); }
.mdaa-filter-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.mdaa-filter-list li { margin: 0; }
.mdaa-filter-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--mdaa-sp-2);
    padding: 7px 9px;
    font-size: var(--mdaa-fs-md);
    color: var(--mdaa-ink);
    text-decoration: none;
    border-radius: var(--mdaa-r-sm);
}
.mdaa-filter-link:hover { background: var(--mdaa-navy-50); }
.mdaa-filter-link.is-active { font-weight: 700; color: var(--mdaa-navy); background: var(--mdaa-orange-50); }
.mdaa-filter-price__row { display: flex; align-items: center; gap: var(--mdaa-sp-2); }
.mdaa-filter-price__input { min-width: 0; }
.mdaa-filter-price__sep { color: var(--mdaa-ink-faint); }
.mdaa-filter-price__btn { margin-top: var(--mdaa-sp-3); width: 100%; }
.mdaa-cdw-chip, .nvbb-it__chips .nvbb-it__tag { text-decoration: none; }
.mdaa-cdw-wrap, .mdaa-cwow-wrap { padding-block: var(--mdaa-sp-6); }
.mdaa-cdw-tools__sub { font-size: var(--mdaa-fs-sm); color: var(--mdaa-ink-faint); }

/* Tuiles catégories (vue d'ensemble) */
.mdaa-cwow-tile {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 240px;
    color: #fff;
    text-decoration: none;
    background: var(--mdaa-navy-800);
    border-radius: var(--mdaa-r-lg);
    overflow: hidden;
}
.mdaa-cwow-tile__ph, .mdaa-cwow-tile__ghost {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    opacity: .75;
}
.mdaa-cwow-tile__ghost { display: grid; place-items: center; color: var(--mdaa-navy-200); background: var(--mdaa-navy-800); }
.mdaa-cwow-tile__veil { background: linear-gradient(180deg, rgba(1, 32, 63, .1), rgba(1, 32, 63, .9)); }
.mdaa-cwow-tile__stripe {
    position: absolute;
    inset: auto 0 0 0;
    height: 6px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
    z-index: 3;
}
.mdaa-cwow-tile__body { position: relative; z-index: 2; margin-top: auto; padding: var(--mdaa-sp-5); }
.mdaa-cwow-tile__name { margin: 0 0 4px; color: #fff; font-size: var(--mdaa-fs-lg); }
.mdaa-cwow-tile__desc { margin: 0; font-size: var(--mdaa-fs-sm); color: #cddbe9; }
.mdaa-cwow-tile__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--mdaa-sp-3);
    margin-top: var(--mdaa-sp-4);
}
.mdaa-cwow-tile__badge { position: absolute; top: 12px; left: 12px; z-index: 3; }

/* Badge « contrôlé » sur les cartes produit : jamais tronqué */
.mdaa-product-card__badge,
.mdaa-hp-pcard__badge {
    top: 10px;
    left: 10px;
    right: 10px;
    z-index: 2;
    width: fit-content;
    max-width: calc(100% - 20px);
    padding: 5px 10px;
    font-size: 10.5px;
    letter-spacing: .03em;
    line-height: 1.3;
    white-space: normal;
    text-wrap: balance;
    color: #fff;
    background: var(--mdaa-navy);
    border: 0;
    border-left: 4px solid var(--mdaa-orange);
    border-radius: var(--mdaa-r-sm);
    box-shadow: 0 2px 6px rgba(1, 32, 63, .22);
}
.mdaa-product-card__badge::before,
.mdaa-hp-pcard__badge::before { color: var(--mdaa-orange); }
.mdaa-product-card__badge::before,
.mdaa-hp-pcard__badge::before {
    content: "";
    width: 12px; height: 12px;
    flex: none;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.mdaa-product-card__badge:has(svg)::before,
.mdaa-hp-pcard__badge:has(svg)::before { display: none; }

/* --- 9.3b Annuaire des catégories (category_list.php) --------------- */
.mdaa-cwow-hero { padding: var(--mdaa-sp-8) 0 calc(var(--mdaa-sp-8) + 8px); }
.mdaa-cwow-hero__ph { background-size: cover; background-position: center; opacity: .35; }
.mdaa-cwow-hero__veil { background: linear-gradient(100deg, rgba(1, 32, 63, .95) 0%, rgba(1, 32, 63, .75) 55%, rgba(1, 32, 63, .5) 100%); }
.mdaa-cwow-hero__pat { opacity: 1; background: none; display: grid; place-items: center end; padding-right: 4%; }
.mdaa-cwow-hero__pat svg { width: min(560px, 60%); height: auto; }
.mdaa-cwow-hero__in {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--mdaa-sp-6);
}
.mdaa-cwow-hero__in > div:first-child { max-width: 640px; }
.mdaa-cwow-hero__eyebrow { color: var(--mdaa-orange-300); }
.mdaa-cwow-hero__meta { margin: 0; padding-left: var(--mdaa-sp-5); border-left: 3px solid var(--mdaa-orange); }
.mdaa-cwow-hero__num { font-size: var(--mdaa-fs-4xl); color: var(--mdaa-orange); }
.mdaa-cwow-hero__kente { display: block; }
.mdaa-cwow-hero__kente span { display: none; }

/* Mosaïque */
.mdaa-cwow-wrap { padding-block: var(--mdaa-sp-7); }
.mdaa-cwow-mos {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    grid-auto-rows: minmax(280px, auto);
    grid-auto-flow: dense;
    gap: var(--mdaa-sp-5);
}
.mdaa-cwow-tile--hero { grid-column: span 2; grid-row: span 2; }
.mdaa-cwow-tile--wide { grid-column: span 2; }
.mdaa-cwow-mos > .mdaa-cwow-tile:only-child { grid-column: 1 / -1; grid-row: auto; min-height: 340px; }

.mdaa-cwow-tile {
    min-height: 280px;
    background: var(--mdaa-navy-900);
    border-radius: var(--mdaa-r-lg);
    transition: transform var(--mdaa-transition), box-shadow var(--mdaa-transition);
}
.mdaa-cwow-tile:hover { color: #fff; transform: translateY(-3px); box-shadow: var(--mdaa-sh-lg); }
.mdaa-cwow-tile__ph { opacity: 1; transition: transform 600ms ease; }
.mdaa-cwow-tile:hover .mdaa-cwow-tile__ph { transform: scale(1.05); }
.mdaa-cwow-tile__veil { background: linear-gradient(180deg, rgba(1, 32, 63, .15) 0%, rgba(1, 32, 63, .55) 45%, rgba(1, 32, 63, .94) 100%); }

/* Numéro fantôme en haut à droite */
.mdaa-cwow-tile__ghost {
    position: absolute;
    inset: auto;
    top: var(--mdaa-sp-4);
    right: var(--mdaa-sp-5);
    z-index: 2;
    display: block;
    width: auto; height: auto;
    font-family: var(--mdaa-font-display);
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 800;
    line-height: 1;
    color: rgba(255, 255, 255, .16);
    background: none;
    opacity: 1;
}

/* Corps : empilé en bas, le badge est dans le flux */
.mdaa-cwow-tile__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--mdaa-sp-2);
    padding: var(--mdaa-sp-6) var(--mdaa-sp-5) calc(var(--mdaa-sp-5) + 6px);
}
.mdaa-cwow-tile__badge {
    position: static;
    margin-bottom: var(--mdaa-sp-1);
    color: #12202e;
    background: var(--mdaa-orange);
}
.mdaa-cwow-tile__name { margin: 0; font-size: var(--mdaa-fs-2xl); line-height: 1.1; }
.mdaa-cwow-tile--hero .mdaa-cwow-tile__name { font-size: var(--mdaa-fs-3xl); }
.mdaa-cwow-tile__desc { max-width: 52ch; font-size: var(--mdaa-fs-md); color: #d4e0ec; }

.mdaa-cwow-tile__foot {
    align-self: stretch;
    margin-top: var(--mdaa-sp-3);
    padding-top: var(--mdaa-sp-3);
    border-top: 1px solid rgba(255, 255, 255, .18);
}
.mdaa-cwow-tile__count {
    min-width: 0;
    padding: 4px 11px;
    font-size: var(--mdaa-fs-sm);
    font-weight: 700;
    white-space: nowrap;
    color: #fff;
    background: rgba(255, 255, 255, .14);
}
/* Le « bouton » de la tuile est un simple lien texte + flèche */
.mdaa-cwow-tile__cta {
    min-height: 0;
    padding: 0;
    gap: 6px;
    font-size: var(--mdaa-fs-md);
    color: var(--mdaa-orange-300);
    background: none;
    border: 0;
    box-shadow: none;
}
.mdaa-cwow-tile__cta svg { width: 18px; height: 18px; flex: none; transition: transform var(--mdaa-transition); }
.mdaa-cwow-tile:hover .mdaa-cwow-tile__cta { color: var(--mdaa-orange); transform: none; box-shadow: none; }
.mdaa-cwow-tile:hover .mdaa-cwow-tile__cta svg { transform: translateX(4px); }

@media (max-width: 720px) {
    .mdaa-cwow-tile--hero, .mdaa-cwow-tile--wide { grid-column: auto; grid-row: auto; }
    .mdaa-cwow-hero__pat svg { width: 90%; opacity: .6; }
}

/* --- 9.4 Fiche produit ---------------------------------------------- */
.mdaa-product__layout, .mbae-item__main {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    gap: var(--mdaa-sp-7);
    align-items: start;
    padding-block: var(--mdaa-sp-6);
}
.mdaa-product__gallery, .mbae-item__gallery { position: sticky; top: calc(var(--mdaa-header-h) + 16px); }
.mdaa-product__main-image, .mbae-item__img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    background: var(--mdaa-navy-50);
    border-radius: var(--mdaa-r-lg);
}
.mdaa-product__thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: var(--mdaa-sp-2);
    margin-top: var(--mdaa-sp-3);
}
.mdaa-product__thumb {
    width: 76px; height: 76px;
    object-fit: cover;
    border: 2px solid transparent;
    border-radius: var(--mdaa-r-sm);
    cursor: pointer;
    opacity: .75;
}
.mdaa-product__thumb:hover, .mdaa-product__thumb.is-active { opacity: 1; border-color: var(--mdaa-orange); }
.mdaa-pdw-gal__badge { position: absolute; top: 12px; left: 12px; }
.mdaa-pdw-gal__code, .mbae-item__brand {
    font-family: var(--mdaa-font-mono);
    font-size: var(--mdaa-fs-sm);
    color: var(--mdaa-ink-faint);
}
.mdaa-product__info, .mbae-item__info { min-width: 0; }
.mdaa-product__title, .mbae-item__name { font-size: var(--mdaa-fs-3xl); margin-bottom: var(--mdaa-sp-3); }
.mdaa-product__short-desc, .mbae-item__short {
    font-size: var(--mdaa-fs-lg);
    color: var(--mdaa-ink-soft);
}
.mdaa-product__label, .mdaa-product__section-title, .mdaa-pdw-attr__k {
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-sm);
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--mdaa-ink-faint);
}
.mdaa-product__section-title { font-size: var(--mdaa-fs-lg); text-transform: none; letter-spacing: 0; color: var(--mdaa-navy-900); margin-top: var(--mdaa-sp-6); }
.mdaa-product__rating { display: flex; align-items: center; gap: var(--mdaa-sp-2); margin-bottom: var(--mdaa-sp-3); }
.mdaa-product__rating-num { font-weight: 700; }
.mdaa-product__rating-link { font-size: var(--mdaa-fs-sm); }
.mdaa-product__stock { font-weight: 700; font-size: var(--mdaa-fs-md); }
.mdaa-product__stock--ok { color: var(--mdaa-success); }
.mdaa-product__stock--low { color: var(--mdaa-warning); }
.mdaa-product__stock--out { color: var(--mdaa-danger); }
.mdaa-product__buy, .mdaa-pdw-buybox {
    display: flex;
    flex-direction: column;
    gap: var(--mdaa-sp-3);
    margin: var(--mdaa-sp-5) 0;
    padding: var(--mdaa-sp-5);
    background: var(--mdaa-navy-50);
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-lg);
}
.mdaa-pdw-price { display: flex; align-items: baseline; gap: var(--mdaa-sp-3); }
.mdaa-pdw-price__main { font-size: var(--mdaa-fs-2xl); }
.mdaa-pdw-facts, .mdaa-pdw-attrs, .mbae-item__measure {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: var(--mdaa-sp-3);
    margin: var(--mdaa-sp-4) 0;
}
.mdaa-pdw-fact, .mdaa-pdw-attr {
    padding: var(--mdaa-sp-3) var(--mdaa-sp-4);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-md);
    font-size: var(--mdaa-fs-md);
}
.mdaa-pdw-attr__v { font-weight: 600; color: var(--mdaa-navy-900); }
.mdaa-pdw-maker {
    display: flex;
    align-items: center;
    gap: var(--mdaa-sp-3);
    padding: var(--mdaa-sp-4);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-lg);
    text-decoration: none;
    color: inherit;
}
.mdaa-pdw-maker:hover { border-color: var(--mdaa-navy-400); }
.mdaa-pdw-maker__txt { flex: 1; min-width: 0; }
.mdaa-pdw-maker__lbl { display: block; font-size: var(--mdaa-fs-xs); text-transform: uppercase; letter-spacing: .08em; color: var(--mdaa-ink-faint); }
.mdaa-pdw-maker__name { display: block; font-family: var(--mdaa-font-display); font-weight: 700; color: var(--mdaa-navy-900); }
.mdaa-pdw-maker__meta { font-size: var(--mdaa-fs-sm); color: var(--mdaa-ink-soft); }
.mdaa-pdw-maker__go { color: var(--mdaa-navy); }


/* --- 9.4b Fiche produit : correctifs (product_detail.php) ----------- */
/* La galerie est un conteneur <div> qui porte l'image, le badge et le code */
.mdaa-product__main-image {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    background: var(--mdaa-navy-50);
    border-radius: var(--mdaa-r-lg);
}
.mdaa-product__main-image > img {
    width: 100%; height: 100%;
    object-fit: cover;
}
.mdaa-product__main-image--empty { display: grid; place-items: center; color: var(--mdaa-ink-faint); }

.mdaa-pdw-gal__badge {
    position: absolute;
    top: 14px; left: 14px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-xs);
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #fff;
    background: var(--mdaa-success);
    border-radius: var(--mdaa-r-pill);
    box-shadow: var(--mdaa-sh-sm);
}
.mdaa-pdw-gal__badge svg { width: 14px; height: 14px; }
.mdaa-pdw-gal__code {
    position: absolute;
    right: 12px; bottom: 12px;
    z-index: 2;
    padding: 3px 9px;
    font-size: var(--mdaa-fs-xs);
    color: var(--mdaa-navy-900);
    background: rgba(255, 255, 255, .9);
    border-radius: var(--mdaa-r-xs);
}

/* Zoom au survol de la photo principale.
   CSS seul : zoom centré. Avec mdaa-zoom.js : le zoom suit la souris
   (le script alimente --zx / --zy sur .mdaa-product__main-image). */
@media (hover: hover) and (pointer: fine) {
    .mdaa-product__main-image:not(.mdaa-product__main-image--empty) { cursor: zoom-in; }
    .mdaa-product__main-image > img {
        transform-origin: var(--zx, 50%) var(--zy, 50%);
        transition: transform 260ms cubic-bezier(.4, 0, .2, 1);
        will-change: transform;
    }
    .mdaa-product__main-image:hover > img { transform: scale(var(--mdaa-zoom, 2.2)); }
    .mdaa-product__main-image:hover .mdaa-pdw-gal__badge,
    .mdaa-product__main-image:hover .mdaa-pdw-gal__code { opacity: 0; transition: opacity var(--mdaa-transition); }
}
@media (prefers-reduced-motion: reduce) {
    .mdaa-product__main-image:hover > img { transform: none; }
}

/* Vignettes : <button> contenant une <img> */
.mdaa-product__thumb {
    padding: 0;
    overflow: hidden;
    background: var(--mdaa-navy-50);
}
.mdaa-product__thumb img { width: 100%; height: 100%; object-fit: cover; }

/* Catégorie au-dessus du titre */
.mdaa-pdw-eyebrow a { color: inherit; text-decoration: none; }
.mdaa-pdw-eyebrow a:hover { text-decoration: underline; }

/* Carte créateur */
.mdaa-pdw-maker { margin-bottom: var(--mdaa-sp-4); }
.mdaa-pdw-maker__go svg { width: 18px; height: 18px; display: block; }
.mdaa-pdw-maker:hover .mdaa-pdw-maker__go { color: var(--mdaa-orange-700); }

/* Buybox : une seule boîte, les blocs internes s'empilent */
.mdaa-pdw-buybox { gap: var(--mdaa-sp-4); }
.mdaa-pdw-buybox .mdaa-pdw-attrs,
.mdaa-pdw-buybox .mdaa-pdw-facts { margin: 0; }

/* Attributs : libellé au-dessus de la valeur */
.mdaa-pdw-attrs { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.mdaa-pdw-attr { display: flex; flex-direction: column; gap: 2px; }
.mdaa-pdw-attr__k { font-size: var(--mdaa-fs-xs); }
.mdaa-pdw-attr__v small { display: block; font-weight: 400; color: var(--mdaa-ink-faint); }

/* Formulaire d'achat : la classe mdaa-add-to-cart est aussi un hook JS
   sur le <form> ; on annule ici le style bouton. */
form.mdaa-add-to-cart,
form.mdaa-product__buy {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
    gap: var(--mdaa-sp-3);
    width: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    font: inherit;
    color: inherit;
    text-align: left;
    background: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    transform: none;
}
form.mdaa-add-to-cart:hover { transform: none; box-shadow: none; background: none; }
form.mdaa-product__buy .mdaa-qty { flex: none; }
form.mdaa-product__buy .mdaa-product__add-btn { flex: 1 1 200px; width: auto; }
.mdaa-product__add-btn svg { width: 18px; height: 18px; }

/* Stock */
.mdaa-product__stock { font-size: var(--mdaa-fs-sm); }

/* Faits : pastilles compactes avec icône 18 px */
.mdaa-pdw-facts {
    display: flex;
    flex-wrap: wrap;
    gap: var(--mdaa-sp-2);
    padding-top: var(--mdaa-sp-4);
    border-top: 1px solid var(--mdaa-line);
}
.mdaa-pdw-fact {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 13px;
    font-size: var(--mdaa-fs-sm);
    font-weight: 600;
    color: var(--mdaa-navy-800);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-pill);
}
.mdaa-pdw-fact svg { width: 18px; height: 18px; color: var(--mdaa-orange-700); }

/* Garde-fou : aucune icône SVG sans taille ne doit remplir sa boîte */
.mdaa-product svg:not([width]) { max-width: 48px; max-height: 48px; }

/* Onglet Spécifications : chaque ligne devient une carte, libellé au-dessus */
.mdaa-specs--grid {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: var(--mdaa-sp-3);
    margin: 0;
}
.mdaa-specs--grid .mdaa-specs__row {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: var(--mdaa-sp-4) var(--mdaa-sp-5);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-md);
}
.mdaa-specs--grid dt {
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-xs);
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--mdaa-ink-faint);
    line-height: 1.35;
}
.mdaa-specs--grid dd {
    margin: 0;
    font-size: var(--mdaa-fs-base);
    font-weight: 600;
    color: var(--mdaa-navy-900);
    line-height: 1.4;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}
/* Code produit (toujours la dernière ligne) : jamais coupé au tiret */
.mdaa-specs--grid .mdaa-specs__row:last-child dd {
    font-family: var(--mdaa-font-mono);
    font-size: var(--mdaa-fs-md);
    letter-spacing: .02em;
    white-space: nowrap;
}

/* --- 9.5 Avis --------------------------------------------------------- */
.mdaa-reviews { padding-block: var(--mdaa-sp-6); display: flex; flex-direction: column; gap: var(--mdaa-sp-4); }
.mdaa-reviews__summary {
    display: flex;
    align-items: center;
    gap: var(--mdaa-sp-4);
    padding: var(--mdaa-sp-5);
    background: var(--mdaa-orange-50);
    border-radius: var(--mdaa-r-lg);
}
.mdaa-reviews__summary--inline { padding: 0; background: none; }
.mdaa-reviews__rating-big {
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-3xl);
    font-weight: 800;
    color: var(--mdaa-navy-900);
    line-height: 1;
}
.mdaa-reviews__rating-info { display: flex; flex-direction: column; gap: 2px; }
.mdaa-review { padding: var(--mdaa-sp-5); }
.mdaa-review__header { justify-content: space-between; align-items: baseline; }
.mdaa-review__author { font-family: var(--mdaa-font-display); font-weight: 700; color: var(--mdaa-navy-900); }
.mdaa-review__date { font-size: var(--mdaa-fs-sm); color: var(--mdaa-ink-faint); }
.mdaa-review__title { font-size: var(--mdaa-fs-base); margin-bottom: var(--mdaa-sp-2); }
.mdaa-review__comment { color: var(--mdaa-ink-soft); margin: 0; }
.mdaa-review__pros { font-size: var(--mdaa-fs-md); color: var(--mdaa-success); margin-top: var(--mdaa-sp-2); }
.mdaa-review__reply {
    margin-top: var(--mdaa-sp-3);
    padding: var(--mdaa-sp-3) var(--mdaa-sp-4);
    font-size: var(--mdaa-fs-md);
    background: var(--mdaa-navy-50);
    border-left: 3px solid var(--mdaa-navy);
    border-radius: 0 var(--mdaa-r-sm) var(--mdaa-r-sm) 0;
}

/* --- 9.6 Artisans et maisons ---------------------------------------- */
.mdaa-vcard { display: flex; flex-direction: column; padding: var(--mdaa-sp-5); gap: var(--mdaa-sp-3); }
.mdaa-vcard__top { display: flex; align-items: flex-start; gap: var(--mdaa-sp-3); }
.mdaa-vcard__avatar { width: 56px; height: 56px; font-size: var(--mdaa-fs-lg); }
.mdaa-vcard__side { flex: 1; min-width: 0; }
.mdaa-vcard__name { margin: 0; font-size: var(--mdaa-fs-lg); }
.mdaa-vcard__atelier, .mdaa-artisan-card__atelier { font-size: var(--mdaa-fs-md); color: var(--mdaa-ink-soft); }
.mdaa-vcard__id, .mdaa-vcard__since { font-size: var(--mdaa-fs-xs); color: var(--mdaa-ink-faint); font-family: var(--mdaa-font-mono); }
.mdaa-vcard__chips, .mdaa-maison__tags, .nvbb-it__chips {
    display: flex;
    flex-wrap: wrap;
    gap: var(--mdaa-sp-2);
}
.mdaa-vcard__stats, .mdaa-artisan-card__stats, .mdaa-maison__stats, .nvbb-it__stats,
.nvbb-xi__kpis, .mdaa-vstat + .mdaa-vstat, .siam-stands__metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
    gap: var(--mdaa-sp-3);
}
.mdaa-vstat, .siam-stands__metric, .nvbb-xi__kpi, .nvbb-it__fact {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: var(--mdaa-sp-3);
    background: var(--mdaa-navy-50);
    border-radius: var(--mdaa-r-md);
}
.mdaa-vstat__value, .nvbb-xi__kpi b, .nvbb-it__num {
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-xl);
    font-weight: 800;
    color: var(--mdaa-navy-900);
    line-height: 1;
}
.mdaa-vstat__label, .siam-stands__metric span, .nvbb-xi__kpi span {
    font-size: var(--mdaa-fs-xs);
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--mdaa-ink-faint);
}
.mdaa-vcard__rate, .mdaa-vcard__reviews { font-size: var(--mdaa-fs-sm); color: var(--mdaa-ink-soft); }
.mdaa-vcard__foot, .mdaa-maison__foot { margin-top: auto; padding-top: var(--mdaa-sp-3); }

.mdaa-artisan-band {
    position: relative;
    min-height: 260px;
    overflow: hidden;
    color: #fff;
    background: var(--mdaa-navy-900);
}
.mdaa-artisan-band__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.mdaa-artisan-block {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--mdaa-sp-5);
    padding: var(--mdaa-sp-7) 0;
}
.mdaa-artisan-block__avatar { width: 84px; height: 84px; font-size: var(--mdaa-fs-2xl); }
.mdaa-artisan-block__content { flex: 1; min-width: 260px; }
.mdaa-artisan-block__content h1, .mdaa-artisan-block__content h2 { color: #fff; }
.mdaa-artisan-block__meta { display: flex; flex-wrap: wrap; gap: var(--mdaa-sp-4); font-size: var(--mdaa-fs-md); color: #c3d4e5; }
.mdaa-artisan-block__cta-row { display: flex; flex-wrap: wrap; gap: var(--mdaa-sp-3); margin-top: var(--mdaa-sp-4); }
.mdaa-artisan-card { display: flex; align-items: center; gap: var(--mdaa-sp-3); padding: var(--mdaa-sp-4); }
.mdaa-artisan-card__name { margin: 0; font-size: var(--mdaa-fs-base); }

.mdaa-maison {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-lg);
    overflow: hidden;
}
.mdaa-maison__band {
    height: 72px;
    background: linear-gradient(120deg, var(--mdaa-navy), var(--mdaa-navy-600));
}
.mdaa-maison__body { display: flex; flex-direction: column; gap: var(--mdaa-sp-3); padding: var(--mdaa-sp-5); }
.mdaa-maison__l { display: flex; align-items: center; gap: var(--mdaa-sp-3); margin-top: -36px; }
.mdaa-maison__av { width: 56px; height: 56px; border: 3px solid #fff; }
.mdaa-maison__name { margin: 0; font-size: var(--mdaa-fs-lg); }
.mdaa-maison__rank {
    font-family: var(--mdaa-font-mono);
    font-size: var(--mdaa-fs-sm);
    color: var(--mdaa-orange-700);
    font-weight: 700;
}
.mdaa-maison__st { display: flex; flex-direction: column; }
.mdaa-maison__lbl { font-size: var(--mdaa-fs-xs); text-transform: uppercase; letter-spacing: .06em; color: var(--mdaa-ink-faint); }
.mdaa-maison__v { font-family: var(--mdaa-font-display); font-weight: 800; color: var(--mdaa-navy-900); }
.mdaa-maison__v--gold { color: var(--mdaa-orange-700); }

/* --- 9.6b Profil artisan (artisan_detail.php) ----------------------- */
/* Alias utilisés en style inline dans les vues */
:root { --mdaa-text: var(--mdaa-ink); --mdaa-text-soft: var(--mdaa-ink-soft); }

/* Bandeau : fond marine + motif wax, la carte le chevauche */
.mdaa-artisan-band {
    position: relative;
    height: clamp(170px, 22vw, 240px);
    min-height: 0;
    overflow: hidden;
    background: var(--mdaa-navy-900);
}
.mdaa-artisan-band__photo {
    position: absolute;
    inset: 0;
    color: var(--mdaa-orange);
    background-image: var(--wax-dots);
    background-size: var(--wax-dots-size);
    opacity: .14;
}
.mdaa-artisan-band__veil {
    background: radial-gradient(70% 120% at 80% 0%, rgba(248, 144, 0, .28), transparent 65%);
}
.mdaa-artisan-band__pattern {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    opacity: 1;
    background: none;
}
.mdaa-artisan-band__pattern svg { width: min(620px, 90%); height: auto; max-height: 100%; }
.mdaa-artisan-band__kente { display: block; height: 8px; }
.mdaa-artisan-band__kente span { display: none; }

/* Carte d'identité */
.mdaa-artisan-band + .mdaa-container .mdaa-vcard {
    position: relative;
    z-index: 3;
    max-width: 920px;
    margin: -90px auto 0;
    padding: var(--mdaa-sp-6);
    gap: var(--mdaa-sp-5);
    box-shadow: var(--mdaa-sh-lg);
}
.mdaa-artisan-band + .mdaa-container .mdaa-vcard::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 5px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
    border-radius: var(--mdaa-r-lg) var(--mdaa-r-lg) 0 0;
}
.mdaa-vcard__top {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: start;
    gap: var(--mdaa-sp-5);
}
.mdaa-vcard__avatar {
    width: 92px; height: 92px;
    font-size: var(--mdaa-fs-3xl);
    color: #12202e;
    background: var(--mdaa-orange);
    border: 4px solid #fff;
    box-shadow: var(--mdaa-sh-md);
}
.mdaa-vcard__id {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    min-width: 0;
    font-family: var(--mdaa-font);
    font-size: inherit;
    color: inherit;
}
.mdaa-vcard__badge svg { width: 13px; height: 13px; flex: none; }
.mdaa-vcard__atelier {
    margin: 4px 0 0;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-3xl);
    font-weight: 800;
    line-height: 1.1;
    color: var(--mdaa-navy-900);
}
.mdaa-vcard__name { margin: 0; font-size: var(--mdaa-fs-lg); color: var(--mdaa-ink-soft); }
.mdaa-vcard__chips { margin-top: var(--mdaa-sp-2); }
.mdaa-vcard__chip {
    text-transform: none;
    letter-spacing: 0;
    font-family: var(--mdaa-font);
    font-size: var(--mdaa-fs-sm);
    font-weight: 600;
    padding: 6px 12px;
    color: var(--mdaa-navy-800);
    background: var(--mdaa-orange-50);
    border: 1px solid var(--mdaa-orange-100);
    white-space: normal;
}
.mdaa-vcard__chip svg { width: 16px; height: 16px; flex: none; color: var(--mdaa-orange-700); }

/* Note moyenne à droite */
.mdaa-vcard__side {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    flex: none;
    padding: var(--mdaa-sp-3) var(--mdaa-sp-4);
    background: var(--mdaa-navy-50);
    border-radius: var(--mdaa-r-md);
}
.mdaa-vcard__rate {
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-2xl);
    font-weight: 800;
    line-height: 1;
    color: var(--mdaa-navy-900);
}
.mdaa-vcard__stars { color: var(--mdaa-orange); letter-spacing: .05em; }

/* Statistiques */
.mdaa-vcard__stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--mdaa-sp-3);
}
.mdaa-vcard__stats .mdaa-vstat {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: var(--mdaa-sp-3);
    row-gap: 2px;
    align-items: center;
    padding: var(--mdaa-sp-4);
}
.mdaa-vcard__stats .mdaa-vstat__ico { grid-row: 1 / span 2; width: 44px; height: 44px; }
.mdaa-vcard__stats .mdaa-vstat__ico svg { width: 22px; height: 22px; }
.mdaa-vcard__stats .mdaa-vstat__value { font-size: var(--mdaa-fs-2xl); }

/* Pied de carte */
.mdaa-vcard__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--mdaa-sp-3);
    flex-wrap: wrap;
    margin: 0;
    padding-top: var(--mdaa-sp-4);
    border-top: 1px solid var(--mdaa-line-soft);
}
.mdaa-vcard__since {
    font-family: var(--mdaa-font);
    font-size: var(--mdaa-fs-sm);
    color: var(--mdaa-ink-faint);
}
.mdaa-vcard__cta svg { width: 18px; height: 18px; flex: none; }

/* Sections qui suivent la carte */
.mdaa-artisan-band + .mdaa-container + .mdaa-section { margin-top: var(--mdaa-sp-7); }

@media (max-width: 720px) {
    .mdaa-artisan-band + .mdaa-container .mdaa-vcard { margin-top: -60px; padding: var(--mdaa-sp-5); }
    .mdaa-vcard__top { grid-template-columns: minmax(0, 1fr); gap: var(--mdaa-sp-3); }
    .mdaa-vcard__avatar { width: 72px; height: 72px; margin-top: -56px; }
    .mdaa-vcard__side { flex-direction: row; justify-self: start; gap: var(--mdaa-sp-2); }
    .mdaa-vcard__stats { grid-template-columns: minmax(0, 1fr); }
}

/* --- 9.6c Annuaire des maisons (artisan_list.php) ------------------- */
.mdaa-maison-grid { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: var(--mdaa-sp-5); }
a.mdaa-maison {
    color: inherit;
    text-decoration: none;
    box-shadow: var(--mdaa-sh-sm);
    transition: transform var(--mdaa-transition), box-shadow var(--mdaa-transition), border-color var(--mdaa-transition);
}
a.mdaa-maison:hover { color: inherit; transform: translateY(-3px); box-shadow: var(--mdaa-sh-md); border-color: var(--mdaa-navy-200); }
a.mdaa-maison *, a.mdaa-maison:hover * { text-decoration: none; }

/* Bandeau : marine + pois wax, rang en haut à gauche, avatar en chevauchement */
.mdaa-maison__band {
    position: relative;
    height: 84px;
    overflow: visible;
    background: var(--mdaa-navy);
}
.mdaa-maison__band::before {
    content: "";
    position: absolute;
    inset: 0;
    color: var(--mdaa-orange);
    background-image: var(--wax-dots);
    background-size: var(--wax-dots-size);
    opacity: .16;
}
.mdaa-maison__kente { height: 5px; }
.mdaa-maison__kente span { display: none; }
.mdaa-maison__rank {
    position: absolute;
    top: 10px; right: 14px;
    z-index: 2;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-xl);
    font-weight: 800;
    line-height: 1;
    color: rgba(255, 255, 255, .28);
}
.mdaa-maison__band .mdaa-maison__av {
    position: absolute;
    left: var(--mdaa-sp-5);
    bottom: -28px;
    z-index: 3;
    width: 58px; height: 58px;
    font-size: var(--mdaa-fs-xl);
    color: #12202e;
    background: var(--mdaa-orange);
    border: 3px solid #fff;
    box-shadow: var(--mdaa-sh-sm);
}

.mdaa-maison__body { gap: 4px; padding: calc(28px + var(--mdaa-sp-3)) var(--mdaa-sp-5) 0; }
.mdaa-maison__name { margin: 0; font-size: var(--mdaa-fs-lg); color: var(--mdaa-navy-900); }
.mdaa-maison__body > .mdaa-maison__lbl {
    font-family: var(--mdaa-font-display);
    font-weight: 700;
    letter-spacing: .1em;
    color: var(--mdaa-orange-700);
}
.mdaa-maison__tags { margin-top: var(--mdaa-sp-2); gap: 6px; }
.mdaa-maison__tag {
    padding: 3px 10px;
    font-size: 11px;
    color: var(--mdaa-navy-800);
    background: var(--mdaa-navy-50);
    border: 1px solid var(--mdaa-navy-100);
}

/* Statistiques : trois colonnes égales, chiffre au-dessus */
.mdaa-maison__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin: var(--mdaa-sp-4) var(--mdaa-sp-5) 0;
    padding: var(--mdaa-sp-3) 0;
    border-block: 1px solid var(--mdaa-line-soft);
}
.mdaa-maison__st {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    text-align: center;
}
.mdaa-maison__st + .mdaa-maison__st { border-left: 1px solid var(--mdaa-line-soft); }
.mdaa-maison__v {
    font-size: var(--mdaa-fs-xl);
    line-height: 1;
}
.mdaa-maison__v--gold { color: var(--mdaa-orange-700); }
.mdaa-maison__l {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--mdaa-ink-faint);
}

/* Pied : mention à gauche, lien texte à droite */
.mdaa-maison__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--mdaa-sp-3);
    margin-top: auto;
    padding: var(--mdaa-sp-4) var(--mdaa-sp-5);
    font-size: var(--mdaa-fs-sm);
    color: var(--mdaa-ink-soft);
}
.mdaa-maison__foot > span:first-child { min-width: 0; }
.mdaa-maison__cta {
    flex: none;
    min-height: 0;
    padding: 0;
    gap: 6px;
    font-size: var(--mdaa-fs-md);
    color: var(--mdaa-navy);
    background: none;
    border: 0;
    box-shadow: none;
}
.mdaa-maison__cta svg { width: 18px; height: 18px; flex: none; transition: transform var(--mdaa-transition); }
a.mdaa-maison:hover .mdaa-maison__cta { color: var(--mdaa-orange-700); background: none; transform: none; box-shadow: none; }
a.mdaa-maison:hover .mdaa-maison__cta svg { transform: translateX(4px); }

/* Statistiques des maisons : chiffre au-dessus, centré, colonnes nettes */
.mdaa-maison .mdaa-maison__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 0;
    margin: var(--mdaa-sp-4) var(--mdaa-sp-5) 0;
    padding: 0;
    background: var(--mdaa-navy-50);
    border: 0;
    border-radius: var(--mdaa-r-md);
    overflow: hidden;
}
.mdaa-maison .mdaa-maison__st {
    display: grid;
    grid-template-rows: auto auto;
    justify-items: center;
    align-content: center;
    gap: 6px;
    padding: var(--mdaa-sp-3) 4px;
    text-align: center;
    border: 0;
}
.mdaa-maison .mdaa-maison__st + .mdaa-maison__st { border-left: 1px solid #fff; }
.mdaa-maison .mdaa-maison__v {
    order: 1;
    position: static;
    display: block;
    width: 100%;
    margin: 0;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-xl);
    font-weight: 800;
    line-height: 1;
    text-align: center;
    color: var(--mdaa-navy-900);
}
.mdaa-maison .mdaa-maison__v--gold { color: var(--mdaa-orange-700); }
.mdaa-maison .mdaa-maison__l {
    order: 2;
    display: block;
    width: 100%;
    margin: 0;
    font-size: 10.5px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .07em;
    text-transform: uppercase;
    text-align: center;
    color: var(--mdaa-ink-faint);
}

/* --- 9.7 Pages statiques et galeries -------------------------------- */
.mdaa-static-body { padding-block: var(--mdaa-sp-7); }
.mdaa-static-body .mdaa-container { max-width: var(--mdaa-container-narrow); }
.mdaa-static-gallery { padding-block: var(--mdaa-sp-7); background: var(--mdaa-navy-50); }
.mdaa-static-gallery__head { flex-direction: column; align-items: flex-start; }
.mdaa-static-gallery__title { margin: 0; font-size: var(--mdaa-fs-2xl); }
.mdaa-static-gallery__item {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: var(--mdaa-r-md);
    background: #fff;
}
.mdaa-static-gallery__item img { width: 100%; height: 100%; object-fit: cover; }

.mdaa-contact__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
    gap: var(--mdaa-sp-6);
    padding-block: var(--mdaa-sp-7);
    align-items: start;
}
.mdaa-contact__info { display: flex; flex-direction: column; gap: var(--mdaa-sp-4); }
.mdaa-contact__form-wrap {
    padding: var(--mdaa-sp-6);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-lg);
    box-shadow: var(--mdaa-sh-sm);
}
.mdaa-contact__form-title { font-size: var(--mdaa-fs-xl); margin-bottom: var(--mdaa-sp-4); }
.email-mention, .doc-block { font-size: var(--mdaa-fs-md); color: var(--mdaa-ink-soft); }


/* =====================================================================
   10. PANIER, COMMANDE, PAIEMENT, SUIVI
   ===================================================================== */

/* --- 10.1 Panier ----------------------------------------------------- */
.mdaa-cart-layout, .mbae-cart-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: var(--mdaa-sp-6);
    align-items: start;
    padding-block: var(--mdaa-sp-6);
}
.mdaa-cart-items { display: flex; flex-direction: column; gap: var(--mdaa-sp-3); }
.mdaa-cart-item {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr) auto;
    gap: var(--mdaa-sp-4);
    align-items: center;
    padding: var(--mdaa-sp-4);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-lg);
}
.mdaa-cart-item__img-link { display: block; }
.mdaa-cart-item__img {
    width: 92px; height: 92px;
    object-fit: cover;
    border-radius: var(--mdaa-r-sm);
    background: var(--mdaa-navy-50);
}
.mdaa-cart-item__info { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.mdaa-cart-item__name, .mdaa-cart-item__name-link {
    font-family: var(--mdaa-font-display);
    font-weight: 700;
    font-size: var(--mdaa-fs-base);
    color: var(--mdaa-navy-900);
    text-decoration: none;
}
.mdaa-cart-item__name-link:hover { color: var(--mdaa-orange-700); }
.mdaa-cart-item__artisan, .mdaa-cart-item__variant, .mdaa-cart-item__unit-price {
    font-size: var(--mdaa-fs-sm);
    color: var(--mdaa-ink-soft);
}
.mdaa-cart-item__artisan-label, .mdaa-cart-item__qty-label {
    text-transform: uppercase;
    font-size: var(--mdaa-fs-xs);
    letter-spacing: .06em;
    color: var(--mdaa-ink-faint);
}
.mdaa-cart-item__price, .mdaa-cart-item__line-total {
    font-family: var(--mdaa-font-display);
    font-weight: 800;
    color: var(--mdaa-navy-900);
    white-space: nowrap;
}
.mdaa-cart-item__stock-warning { font-size: var(--mdaa-fs-sm); color: var(--mdaa-warning); font-weight: 600; }
.mdaa-cart-item__stock-warning--out { color: var(--mdaa-danger); }
.mdaa-cart-qty-form, .mdaa-cart-item__remove-form { display: inline-flex; align-items: center; gap: var(--mdaa-sp-2); }
.mdaa-cart-item__remove-btn {
    width: 34px; height: 34px;
    display: grid; place-items: center;
    color: var(--mdaa-ink-faint);
    background: none;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-pill);
}
.mdaa-cart-item__remove-btn:hover { color: var(--mdaa-danger); border-color: var(--mdaa-danger); background: var(--mdaa-danger-bg); }
.mdaa-cart-actions { justify-content: space-between; }
.mdaa-cart-clear-form { margin: 0; }

.mdaa-cart-summary, .mdaa-checkout-summary, .mdaa-payment-summary,
.mdaa-siam-tickets-summary, .mdaa-success-summary {
    position: sticky;
    top: calc(var(--mdaa-header-h) + 16px);
    padding: var(--mdaa-sp-5);
    overflow: hidden;
}
.mdaa-cart-summary__title, .mdaa-checkout-summary__title { margin-bottom: var(--mdaa-sp-4); }
.mdaa-cart-summary__rows, .mdaa-checkout-summary-totals, .mdaa-payment-totals,
.mdaa-success-totals, .mdaa-siam-tickets-summary__totals {
    display: flex;
    flex-direction: column;
    gap: var(--mdaa-sp-2);
    margin-bottom: var(--mdaa-sp-4);
}
.mdaa-cart-summary__row, .mdaa-checkout-summary-row, .mdaa-payment-row,
.mdaa-success-row, .mdaa-siam-tickets-summary__row, .mdaa-success-payment-info__row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--mdaa-sp-3);
    font-size: var(--mdaa-fs-md);
}
.mdaa-cart-summary__row--muted { color: var(--mdaa-ink-faint); }
.mdaa-payment-row--discount, .mdaa-success-row--discount { color: var(--mdaa-success); }
.mdaa-cart-summary__row--total, .mdaa-checkout-summary-row--total,
.mdaa-payment-row--total, .mdaa-success-row--total,
.mdaa-siam-tickets-summary__row--total {
    margin-top: var(--mdaa-sp-2);
    padding-top: var(--mdaa-sp-3);
    border-top: 2px solid var(--mdaa-navy-900);
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-lg);
    font-weight: 800;
    color: var(--mdaa-navy-900);
}
.mdaa-cart-trust, .mdaa-checkout-security, .mdaa-payment-security,
.mdaa-success-support, .mdaa-siam-tickets-summary__support, .mdaa-payment-legal {
    display: flex;
    align-items: flex-start;
    gap: var(--mdaa-sp-3);
    margin-top: var(--mdaa-sp-4);
    padding-top: var(--mdaa-sp-4);
    font-size: var(--mdaa-fs-sm);
    color: var(--mdaa-ink-faint);
    border-top: 1px solid var(--mdaa-line-soft);
}
.mdaa-checkout-security__icon, .mdaa-payment-security__icon {
    width: 32px; height: 32px;
    color: var(--mdaa-success);
    background: var(--mdaa-success-bg);
}
.mdaa-cart-empty { text-align: center; padding: var(--mdaa-sp-9) var(--mdaa-sp-5); }
.mdaa-cart-empty__title { font-family: var(--mdaa-font-display); font-size: var(--mdaa-fs-2xl); color: var(--mdaa-navy-900); }
.mdaa-cart-empty__msg { color: var(--mdaa-ink-soft); }

/* --- 10.2 Commande ------------------------------------------------- */
.mdaa-checkout-layout, .mdaa-payment-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(290px, 380px);
    gap: var(--mdaa-sp-6);
    align-items: start;
    padding-block: var(--mdaa-sp-6);
}
.mdaa-checkout-form-col { min-width: 0; display: flex; flex-direction: column; gap: var(--mdaa-sp-5); }
.mdaa-checkout-section { padding: var(--mdaa-sp-5) var(--mdaa-sp-5) var(--mdaa-sp-4); margin: 0; }
.mdaa-checkout-section__title {
    display: flex;
    align-items: center;
    gap: var(--mdaa-sp-3);
    font-size: var(--mdaa-fs-lg);
    margin-bottom: var(--mdaa-sp-4);
}
.mdaa-checkout-billing-toggle {
    display: flex;
    align-items: center;
    gap: var(--mdaa-sp-3);
    padding: var(--mdaa-sp-3) var(--mdaa-sp-4);
    background: var(--mdaa-navy-50);
    border-radius: var(--mdaa-r-md);
    font-size: var(--mdaa-fs-md);
    cursor: pointer;
}
.mdaa-checkout-billing-fields[hidden] { display: none; }
.mdaa-checkout-dap, .mdaa-shipping-intro, .mdaa-track-public-info {
    font-size: var(--mdaa-fs-md);
    color: var(--mdaa-ink-soft);
}
.mdaa-checkout-summary-items, .mdaa-payment-items, .mdaa-success-items {
    display: flex;
    flex-direction: column;
    gap: var(--mdaa-sp-3);
    margin-bottom: var(--mdaa-sp-4);
    padding-bottom: var(--mdaa-sp-4);
    border-bottom: 1px solid var(--mdaa-line-soft);
}
.mdaa-checkout-summary-item, .mdaa-payment-item, .mdaa-success-item {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) auto;
    gap: var(--mdaa-sp-3);
    align-items: center;
}
.mdaa-checkout-summary-item__img, .mdaa-payment-item__img, .mdaa-success-item__img {
    width: 56px; height: 56px;
    object-fit: cover;
    border-radius: var(--mdaa-r-sm);
    background: var(--mdaa-navy-50);
}
.mdaa-checkout-summary-item__info, .mdaa-payment-item__info, .mdaa-success-item__info { min-width: 0; }
.mdaa-checkout-summary-item__name, .mdaa-payment-item__name, .mdaa-success-item__name {
    font-size: var(--mdaa-fs-md);
    font-weight: 600;
    color: var(--mdaa-navy-900);
}
.mdaa-checkout-summary-item__variant, .mdaa-payment-item__variant, .mdaa-success-item__variant,
.mdaa-checkout-summary-item__qty, .mdaa-payment-item__qty, .mdaa-success-item__qty {
    font-size: var(--mdaa-fs-sm);
    color: var(--mdaa-ink-faint);
}
.mdaa-checkout-summary-item__price, .mdaa-payment-item__price, .mdaa-success-item__price {
    font-weight: 700;
    white-space: nowrap;
}

/* --- 10.3 Paiement -------------------------------------------------- */
.mdaa-payment-details, .mdaa-payment-address, .mdaa-payment-contact,
.mdaa-success-details, .mdaa-success-address, .mdaa-success-contact,
.mdaa-siam-payment-client-card {
    padding: var(--mdaa-sp-4) var(--mdaa-sp-5);
    font-size: var(--mdaa-fs-md);
    background: var(--mdaa-navy-50);
    border-radius: var(--mdaa-r-md);
}
.mdaa-payment-methods__list, .mdaa-siam-payment-providers {
    display: flex;
    flex-wrap: wrap;
    gap: var(--mdaa-sp-3);
    margin-top: var(--mdaa-sp-3);
}
.mdaa-payment-method {
    display: flex;
    align-items: center;
    gap: var(--mdaa-sp-2);
    padding: 9px 15px;
    font-size: var(--mdaa-fs-md);
    font-weight: 600;
    background: #fff;
    border: 1.5px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-md);
}
.mdaa-payment-fx {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--mdaa-sp-3);
    padding: var(--mdaa-sp-3) var(--mdaa-sp-4);
    background: var(--mdaa-orange-50);
    border: 1px dashed var(--mdaa-orange-300);
    border-radius: var(--mdaa-r-md);
}
.mdaa-payment-fx__amount { font-family: var(--mdaa-font-display); font-weight: 800; color: var(--mdaa-navy-900); }
.mdaa-payment-fx__rate { font-size: var(--mdaa-fs-sm); color: var(--mdaa-ink-soft); }
.mdaa-payment-status, .mdaa-success-pending {
    display: flex;
    align-items: center;
    gap: var(--mdaa-sp-3);
    padding: var(--mdaa-sp-4) var(--mdaa-sp-5);
    background: var(--mdaa-warning-bg);
    border-radius: var(--mdaa-r-md);
}
.mdaa-payment-status__spinner, .mdaa-success-pending__spinner {
    width: 22px; height: 22px;
    flex: none;
    border: 3px solid rgba(169, 106, 6, .28);
    border-top-color: var(--mdaa-warning);
    border-radius: 50%;
    animation: mdaa-spin .9s linear infinite;
}
.mdaa-payment-status__text, .mdaa-success-pending__text { font-size: var(--mdaa-fs-md); color: #6f4504; margin: 0; }
.mdaa-success-pending__title { font-family: var(--mdaa-font-display); font-weight: 700; color: #6f4504; }
.mdaa-success-pending__note { font-size: var(--mdaa-fs-sm); }
.mdaa-success-pending__refresh { font-weight: 600; }
.mdaa-pay-now-btn__ico svg { width: 20px; height: 20px; }
.mdaa-siam-payment-action { display: flex; flex-direction: column; gap: var(--mdaa-sp-3); align-items: center; }
.mdaa-siam-payment-tickets-block { margin-top: var(--mdaa-sp-5); }
.mdaa-siam-payment-tickets-block__title { font-family: var(--mdaa-font-display); font-weight: 700; margin-bottom: var(--mdaa-sp-3); }

/* --- 10.4 Confirmation ---------------------------------------------- */
.mdaa-success-hero-section { text-align: center; }
.mdaa-success-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: var(--mdaa-sp-6);
    align-items: start;
    padding-block: var(--mdaa-sp-6);
}
.mdaa-success-block, .mdaa-siam-success-recap { margin-bottom: var(--mdaa-sp-5); }
.mdaa-success-email-info {
    display: flex;
    align-items: center;
    gap: var(--mdaa-sp-3);
    padding: var(--mdaa-sp-4);
    background: var(--mdaa-info-bg);
    border-radius: var(--mdaa-r-md);
    font-size: var(--mdaa-fs-md);
}
.mdaa-siam-success-h2 { font-size: var(--mdaa-fs-xl); }
.mdaa-siam-success-recap__title { font-family: var(--mdaa-font-display); font-weight: 700; }
.mdaa-siam-success-recap__meta { font-size: var(--mdaa-fs-sm); color: var(--mdaa-ink-faint); }
.mdaa-siam-success-recap__total { font-family: var(--mdaa-font-display); font-size: var(--mdaa-fs-xl); font-weight: 800; }

/* Billets délivrés */
.mdaa-success-ticket-card, .mdaa-ticket-card {
    position: relative;
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-lg);
    overflow: hidden;
    box-shadow: var(--mdaa-sh-sm);
}
.mdaa-success-ticket-card__header, .mdaa-ticket-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--mdaa-sp-3);
    padding: var(--mdaa-sp-4) var(--mdaa-sp-5);
    color: #fff;
    background: var(--mdaa-navy-900);
}
.mdaa-ticket-card__event { font-family: var(--mdaa-font-display); font-weight: 700; color: #fff; }
.mdaa-ticket-card__edition, .mdaa-success-ticket-card__day { font-size: var(--mdaa-fs-sm); color: var(--mdaa-orange-300); }
.mdaa-ticket-card__body, .mdaa-success-ticket-card__body { padding: var(--mdaa-sp-5); }
.mdaa-ticket-card__type, .mdaa-success-ticket-card__type {
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-lg);
    font-weight: 700;
    color: var(--mdaa-navy-900);
}
.mdaa-ticket-card__holder { font-size: var(--mdaa-fs-md); color: var(--mdaa-ink-soft); }
.mdaa-ticket-card__info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: var(--mdaa-sp-3);
    margin-top: var(--mdaa-sp-4);
}
.mdaa-ticket-card__info-item { display: flex; align-items: center; gap: var(--mdaa-sp-2); }
.mdaa-ticket-card__info-icon { width: 32px; height: 32px; }
.mdaa-ticket-card__info-label { font-size: var(--mdaa-fs-xs); text-transform: uppercase; letter-spacing: .07em; color: var(--mdaa-ink-faint); display: block; }
.mdaa-ticket-card__info-value { font-weight: 600; font-size: var(--mdaa-fs-md); }
.mdaa-ticket-card__tear-line {
    height: 0;
    margin: 0 var(--mdaa-sp-4);
    border-top: 2px dashed var(--mdaa-line);
}
.mdaa-ticket-card__qr, .mdaa-success-ticket-card__qr {
    display: grid;
    place-items: center;
    padding: var(--mdaa-sp-4);
    background: var(--mdaa-navy-50);
}
.mdaa-ticket-card__qr img, .mdaa-success-ticket-card__qr img { width: 160px; height: 160px; }
.mdaa-ticket-card__qr--invalid { filter: grayscale(1) opacity(.45); }
.mdaa-ticket-card__footer, .mdaa-success-ticket-card__link {
    padding: var(--mdaa-sp-3) var(--mdaa-sp-5);
    font-size: var(--mdaa-fs-sm);
    color: var(--mdaa-ink-faint);
    border-top: 1px solid var(--mdaa-line-soft);
}
.mdaa-ticket-card__status-banner {
    padding: 7px var(--mdaa-sp-5);
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-sm);
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    text-align: center;
    color: #fff;
}
.mdaa-ticket-card__status-banner--valid, .mdaa-ticket-card__status-banner--issued { background: var(--mdaa-success); }
.mdaa-ticket-card__status-banner--used { background: var(--mdaa-ink-faint); }
.mdaa-ticket-card__status-banner--cancelled { background: var(--mdaa-danger); }
.mdaa-ticket-single { max-width: 520px; margin-inline: auto; padding-block: var(--mdaa-sp-7); }
.mdaa-success-ticket-card__num { font-family: var(--mdaa-font-mono); font-size: var(--mdaa-fs-sm); }

/* --- 10.5 Suivi de commande et de colis ----------------------------- */
.mdaa-track-sec { padding: var(--mdaa-sp-5); margin-bottom: var(--mdaa-sp-5); }
.mdaa-track-flash { margin-block: var(--mdaa-sp-4); }
.mdaa-track-timeline, .tcp-steps, .mdaa-siam-timeline { position: relative; padding-left: var(--mdaa-sp-5); }
.mdaa-track-timeline__steps, .tcp-steps { display: flex; flex-direction: column; gap: var(--mdaa-sp-5); margin: 0; padding: 0; list-style: none; }
.mdaa-track-step, .tcp-step, .mdaa-siam-timeline__item {
    position: relative;
    display: flex;
    gap: var(--mdaa-sp-4);
    align-items: flex-start;
}
.mdaa-track-step::before, .tcp-step::before {
    content: "";
    position: absolute;
    top: 42px; bottom: -28px;
    left: 20px;
    width: 2px;
    background: var(--mdaa-line);
}
.mdaa-track-step:last-child::before, .tcp-step:last-child::before { display: none; }
.mdaa-track-step__icon { background: var(--mdaa-navy-100); }
.mdaa-track-step.is-on .mdaa-track-step__icon, .tcp-step.is-on .tcp-step__dot { color: #fff; background: var(--mdaa-success); }
.mdaa-track-step.is-pending .mdaa-track-step__icon { color: var(--mdaa-ink-faint); background: var(--mdaa-line-soft); }
.tcp-step__dot {
    width: 42px; height: 42px;
    flex: none;
    display: grid; place-items: center;
    color: var(--mdaa-navy);
    background: var(--mdaa-navy-100);
    border-radius: var(--mdaa-r-pill);
}
.mdaa-track-step__content, .tcp-step__body { padding-top: 4px; }
.tcp-step__label, .mdaa-siam-timeline__label {
    font-family: var(--mdaa-font-display);
    font-weight: 700;
    color: var(--mdaa-navy-900);
}
.tcp-step__date, .mdaa-siam-timeline__date { font-size: var(--mdaa-fs-sm); color: var(--mdaa-ink-faint); }
.tcp-wrap, .mdaa-track-sec + .mdaa-track-sec { padding-block: var(--mdaa-sp-5); }
.tcp-head { margin-bottom: var(--mdaa-sp-5); }
.tcp-meta {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: var(--mdaa-sp-4);
    margin-bottom: var(--mdaa-sp-5);
}
.tcp-meta__item { display: flex; flex-direction: column; gap: 2px; }
.tcp-meta__lbl { font-size: var(--mdaa-fs-xs); text-transform: uppercase; letter-spacing: .07em; color: var(--mdaa-ink-faint); }
.tcp-meta__val { font-family: var(--mdaa-font-display); font-weight: 700; color: var(--mdaa-navy-900); }
.tcp-meta__val--sm { font-size: var(--mdaa-fs-md); font-weight: 600; }
.tcp-contact, .mdaa-siam-contact-fallback {
    padding: var(--mdaa-sp-4);
    font-size: var(--mdaa-fs-md);
    background: var(--mdaa-navy-50);
    border-radius: var(--mdaa-r-md);
}
.tcp-card, .tcp-detail { margin-bottom: var(--mdaa-sp-5); }
.mdaa-track-notfound { text-align: center; padding: var(--mdaa-sp-8) var(--mdaa-sp-5); }
.mdaa-track-notfound__title { font-family: var(--mdaa-font-display); font-size: var(--mdaa-fs-2xl); color: var(--mdaa-navy-900); }
.mdaa-track-notfound__msg { color: var(--mdaa-ink-soft); }
.mdaa-track-parcel-cta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--mdaa-sp-4);
    padding: var(--mdaa-sp-5);
    background: var(--mdaa-orange-50);
    border: 1px solid var(--mdaa-orange-300);
    border-radius: var(--mdaa-r-lg);
}
.mdaa-track-parcel-cta__body { flex: 1; min-width: 220px; }
.mdaa-track-parcel-cta__icon { color: var(--mdaa-orange-700); background: var(--mdaa-orange-100); }
.mdaa-confirm-form { max-width: 520px; margin-inline: auto; }

/* --- 10.6 Tarifs de livraison (mdaa-ship2-*) ------------------------ */
.mdaa-ship2-search { padding-block: var(--mdaa-sp-6); }
.mdaa-ship2-search__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(160px, 220px);
    gap: var(--mdaa-sp-4);
    align-items: end;
}
.mdaa-ship2-search__box { position: relative; }
.mdaa-ship2-search__ico {
    position: absolute;
    left: 14px; top: 50%;
    transform: translateY(-50%);
    color: var(--mdaa-ink-faint);
}
.mdaa-ship2-search__box input { padding-left: 42px; }
.mdaa-ship2-suggest {
    position: absolute;
    z-index: 30;
    left: 0; right: 0;
    top: calc(100% + 4px);
    max-height: 280px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-md);
    box-shadow: var(--mdaa-sh-lg);
}
.mdaa-ship2-suggest__item {
    display: flex;
    align-items: center;
    gap: var(--mdaa-sp-3);
    width: 100%;
    padding: 10px var(--mdaa-sp-4);
    text-align: left;
    background: none;
    border: 0;
    border-bottom: 1px solid var(--mdaa-line-soft);
}
.mdaa-ship2-suggest__item:hover { background: var(--mdaa-navy-50); }
.mdaa-ship2-result { padding-bottom: var(--mdaa-sp-7); }
.mdaa-ship2-card { overflow: hidden; }
.mdaa-ship2-card__head { position: relative; padding: var(--mdaa-sp-5); color: #fff; overflow: hidden; }
.mdaa-ship2-card__head-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mdaa-ship2-card__head-veil { background: linear-gradient(120deg, rgba(1, 32, 63, .9), rgba(1, 32, 63, .6)); }
.mdaa-ship2-card__dest { position: relative; z-index: 2; display: flex; align-items: center; gap: var(--mdaa-sp-3); }
.mdaa-ship2-card__flag { width: 34px; height: 24px; object-fit: cover; border-radius: 3px; }
.mdaa-ship2-card__country { font-family: var(--mdaa-font-display); font-size: var(--mdaa-fs-xl); font-weight: 700; color: #fff; }
.mdaa-ship2-card__zone { font-size: var(--mdaa-fs-sm); color: var(--mdaa-orange-300); }
.mdaa-ship2-card__price { display: flex; flex-direction: column; gap: 2px; padding: var(--mdaa-sp-5) var(--mdaa-sp-5) 0; }
.mdaa-ship2-card__price-amount { font-size: var(--mdaa-fs-2xl); }
.mdaa-ship2-card__price-lbl, .mdaa-ship2-card__price-weight { font-size: var(--mdaa-fs-sm); color: var(--mdaa-ink-faint); }
.mdaa-ship2-card__meta {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: var(--mdaa-sp-3);
    padding: var(--mdaa-sp-5);
}
.mdaa-ship2-card__meta-item { display: flex; align-items: center; gap: var(--mdaa-sp-2); }
.mdaa-ship2-card__meta-ico { width: 34px; height: 34px; }
.mdaa-ship2-card__meta-lbl { display: block; font-size: var(--mdaa-fs-xs); text-transform: uppercase; letter-spacing: .06em; color: var(--mdaa-ink-faint); }
.mdaa-ship2-card__meta-val { font-weight: 600; font-size: var(--mdaa-fs-md); }
.mdaa-ship2-weight { display: flex; flex-direction: column; gap: 4px; }
.mdaa-ship2-state, .mdaa-ship2-empty {
    display: flex;
    align-items: center;
    gap: var(--mdaa-sp-3);
    padding: var(--mdaa-sp-5);
    color: var(--mdaa-ink-soft);
    background: var(--mdaa-navy-50);
    border-radius: var(--mdaa-r-md);
}
.mdaa-ship2-state__ico { color: var(--mdaa-navy); }
.mdaa-shipping-disclaimer { margin-top: var(--mdaa-sp-5); }


/* =====================================================================
   11. BOUTIQUES-RELAIS, EXPO, SERVICES IT, PAGES
   ===================================================================== */

/* --- 11.1 Boutiques-relais (MBAE) ----------------------------------- */
.mbae-shops { padding-block: var(--mdaa-sp-7); }
.mbae-shops__header { flex-direction: column; align-items: flex-start; }
.mbae-shops__title { margin: 0; font-size: var(--mdaa-fs-2xl); }
.mbae-shops__intro { color: var(--mdaa-ink-soft); max-width: 68ch; }
.mbae-shop-card { display: flex; flex-direction: column; overflow: hidden; }
.mbae-shop-card__link { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: inherit; }
.mbae-shop-card__cover { aspect-ratio: 16 / 9; }
.mbae-shop-card__cover img { width: 100%; height: 100%; object-fit: cover; }
.mbae-shop-card__logo {
    position: absolute;
    bottom: -22px; left: var(--mdaa-sp-4);
    width: 54px; height: 54px;
    object-fit: cover;
    background: #fff;
    border: 3px solid #fff;
    border-radius: var(--mdaa-r-md);
    box-shadow: var(--mdaa-sh-sm);
}
.mbae-shop-card__name { margin: var(--mdaa-sp-5) var(--mdaa-sp-4) 0; font-size: var(--mdaa-fs-lg); }
.mbae-shop-card__loc {
    display: flex;
    align-items: center;
    gap: var(--mdaa-sp-2);
    padding: 4px var(--mdaa-sp-4) 0;
    font-size: var(--mdaa-fs-md);
    color: var(--mdaa-ink-soft);
}
.mbae-shop-card__city { font-weight: 600; }
.mbae-shop-card__flag { width: 22px; height: 16px; object-fit: cover; border-radius: 2px; }
.mbae-shop-card__cta { margin: var(--mdaa-sp-4); margin-top: auto; }

.mbae-item { padding-block: var(--mdaa-sp-6); }
.mbae-item__notfound { text-align: center; padding: var(--mdaa-sp-8) 0; }
.mbae-item__desc { color: var(--mdaa-ink-soft); }
.mbae-item__measure-label { font-weight: 600; }
.mbae-item__pickup, .mbae-item__shipping {
    display: flex;
    align-items: flex-start;
    gap: var(--mdaa-sp-3);
    padding: var(--mdaa-sp-4);
    margin-top: var(--mdaa-sp-3);
    font-size: var(--mdaa-fs-md);
    background: var(--mdaa-navy-50);
    border-radius: var(--mdaa-r-md);
}
.mbae-item__soldout {
    font-family: var(--mdaa-font-display);
    font-weight: 700;
    color: var(--mdaa-danger);
    text-transform: uppercase;
    letter-spacing: .08em;
}
.mbae-ciaac-promo {
    padding: var(--mdaa-sp-5);
    margin-block: var(--mdaa-sp-5);
    background: var(--mdaa-orange-50);
    border: 1px dashed var(--mdaa-orange-300);
    border-radius: var(--mdaa-r-lg);
}

/* Commande boutique : modes de retrait */
.mbae-co-form { display: flex; flex-direction: column; gap: var(--mdaa-sp-5); }
.mbae-co-modes { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: var(--mdaa-sp-4); }
.mbae-co-mode {
    display: flex;
    align-items: flex-start;
    gap: var(--mdaa-sp-3);
    padding: var(--mdaa-sp-4);
    background: #fff;
    border: 1.5px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-lg);
    cursor: pointer;
}
.mbae-co-mode:hover { border-color: var(--mdaa-navy-400); }
.mbae-co-mode.is-selected, .mbae-co-mode:has(input:checked) {
    border-color: var(--mdaa-orange);
    background: var(--mdaa-orange-50);
}
.mbae-co-mode__body { min-width: 0; }
.mbae-co-mode__name { font-family: var(--mdaa-font-display); font-weight: 700; color: var(--mdaa-navy-900); }
.mbae-co-mode__desc { font-size: var(--mdaa-fs-md); color: var(--mdaa-ink-soft); }
.mbae-co-pickup {
    display: flex;
    align-items: flex-start;
    gap: var(--mdaa-sp-3);
    padding: var(--mdaa-sp-4);
    background: var(--mdaa-navy-50);
    border-radius: var(--mdaa-r-md);
}
.mbae-co-pickup__name { font-weight: 700; }
.mbae-co-pickup__addr, .mbae-co-pickup__phone { font-size: var(--mdaa-fs-md); color: var(--mdaa-ink-soft); }

/* Retrait en boutique */
.mbae-pickup { max-width: 560px; margin-inline: auto; padding-block: var(--mdaa-sp-7); }
.mbae-pickup__icon { margin: 0 auto var(--mdaa-sp-4); width: 58px; height: 58px; display: grid; place-items: center; color: var(--mdaa-orange-700); background: var(--mdaa-orange-100); border-radius: var(--mdaa-r-pill); }
.mbae-pickup__title { text-align: center; }
.mbae-pickup__lead { text-align: center; margin-bottom: var(--mdaa-sp-5); }
.mbae-pickup__form { display: flex; flex-direction: column; gap: var(--mdaa-sp-4); }
.mbae-pickup__note-wrap { margin-top: var(--mdaa-sp-3); }
.mbae-pickup__hp { position: absolute !important; left: -9999px; }

/* --- 11.1b Liste des boutiques (mbae_shops_list_page.php) ----------- */
/* La section n'est pas dans un .mdaa-container : elle joue ce rôle */
.mbae-shops {
    width: 100%;
    max-width: var(--mdaa-container);
    margin-inline: auto;
    padding: var(--mdaa-sp-7) var(--mdaa-sp-5) var(--mdaa-sp-8);
}
.mbae-shops__header { margin-bottom: var(--mdaa-sp-6); gap: var(--mdaa-sp-2); }
.mbae-shops__title { position: relative; font-size: var(--mdaa-fs-3xl); }
.mbae-shops__title::after {
    content: "";
    display: block;
    width: 64px; height: 5px;
    margin-top: var(--mdaa-sp-3);
    background-image: var(--wax-kente);
    background-size: 48px 100%;
    border-radius: var(--mdaa-r-pill);
}
.mbae-shops__intro { margin: 0; font-size: var(--mdaa-fs-lg); }

.mbae-shops__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
    gap: var(--mdaa-sp-5);
    margin: 0;
    padding: 0;
    list-style: none;
}
.mbae-shops__grid > li { margin: 0; }

.mbae-shop-card { height: 100%; transition: transform var(--mdaa-transition), box-shadow var(--mdaa-transition); }
.mbae-shop-card:hover { transform: translateY(-3px); box-shadow: var(--mdaa-sh-md); }
.mbae-shop-card__link { position: relative; padding-bottom: var(--mdaa-sp-5); }
.mbae-shop-card__link:hover { color: inherit; }

/* Bandeau : photo de garde (ou marine + wax), drapeau et ville en pastilles */
.mbae-shop-card__band {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--mdaa-navy);
    border-radius: var(--mdaa-r-lg) var(--mdaa-r-lg) 0 0;
}
.mbae-shop-card__band:not(.has-cover)::before {
    content: "";
    position: absolute;
    inset: 0;
    color: var(--mdaa-orange);
    background-image: var(--wax-bogolan);
    background-size: var(--wax-bogolan-size);
    opacity: .18;
}
.mbae-shop-card__band::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 6px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
}
img.mbae-shop-card__cover {
    position: absolute;
    inset: 0;
    width: 100%; height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
    transition: transform 600ms ease;
}
.mbae-shop-card:hover img.mbae-shop-card__cover { transform: scale(1.05); }

.mbae-shop-card__band .mbae-shop-card__flag {
    position: absolute;
    top: 12px; left: 12px;
    z-index: 2;
    display: inline-flex;
    width: 36px; height: 26px;
    overflow: hidden;
    border: 2px solid #fff;
    border-radius: 4px;
    box-shadow: 0 2px 6px rgba(1, 32, 63, .3);
}
.mbae-shop-card__band .mbae-shop-card__flag img,
.mbae-shop-card__band .mbae-shop-card__flag svg {
    width: 100%; height: 100%;
    max-width: none;
    object-fit: cover;
    display: block;
}
.mbae-shop-card__band .mbae-shop-card__loc {
    position: absolute;
    top: 12px; right: 12px;
    z-index: 2;
    padding: 4px 11px;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-xs);
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #fff;
    background: var(--mdaa-navy);
    border-left: 3px solid var(--mdaa-orange);
    border-radius: var(--mdaa-r-sm);
}

/* Logo en chevauchement */
.mbae-shop-card__logo {
    position: relative;
    z-index: 3;
    display: block;
    width: 60px; height: 60px;
    margin: -30px 0 0 var(--mdaa-sp-5);
    object-fit: cover;
    background: #fff;
    border: 3px solid #fff;
    border-radius: var(--mdaa-r-md);
    box-shadow: var(--mdaa-sh-sm);
}

.mbae-shop-card__name {
    margin: var(--mdaa-sp-4) var(--mdaa-sp-5) 2px;
    font-size: var(--mdaa-fs-lg);
    line-height: 1.2;
    color: var(--mdaa-navy-900);
}
.mbae-shop-card__city {
    margin: 0 var(--mdaa-sp-5);
    font-size: var(--mdaa-fs-md);
    color: var(--mdaa-ink-soft);
}
.mbae-shop-card__count {
    align-self: flex-start;
    margin: var(--mdaa-sp-3) var(--mdaa-sp-5) 0;
    min-width: 0;
    padding: 4px 11px;
    font-size: var(--mdaa-fs-xs);
}
.mbae-shop-card__link .mbae-shop-card__cta {
    align-self: stretch;
    margin: var(--mdaa-sp-4) var(--mdaa-sp-5) 0;
    margin-top: auto;
}
.mbae-shop-card__count + .mbae-shop-card__cta { margin-top: var(--mdaa-sp-4); }
.mbae-shop-card:hover .mbae-shop-card__cta { --btn-bg: var(--mdaa-orange); --btn-bd: var(--mdaa-orange); --btn-fg: #12202e; }

@media (max-width: 720px) {
    .mbae-shops { padding-inline: var(--mdaa-sp-4); }
}

/* Drapeaux (mbae_country_flag_img) : <span.mbae-flag><svg 9:6></span> ou <img> */
.mbae-flag {
    display: inline-block;
    width: 22px;
    height: auto;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    border-radius: 2px;
    line-height: 0;
    vertical-align: middle;
    box-shadow: 0 0 0 1px rgba(1, 32, 63, .12);
}
.mbae-flag svg,
img.mbae-flag { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.mbae-shop-card__band .mbae-shop-card__flag {
    width: 40px; height: 28px;           /* 36 × 24 utiles + bord 2 px, ratio 3:2 */
    padding: 0;
    background: #fff;
    border: 2px solid #fff;
    line-height: 0;
}
.mbae-shop-card__band .mbae-shop-card__flag .mbae-flag {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    border-radius: 2px;
    box-shadow: none;
}

/* --- 11.2 Expo (SIAM) : hero et sections ---------------------------- */
.mdaa-siam-hero {
    position: relative;
    display: flex;
    align-items: center;
    min-height: min(72vh, 620px);
    padding: var(--mdaa-sp-9) 0;
    overflow: hidden;
    color: #fff;
    background: var(--mdaa-navy-900);
}
.mdaa-siam-hero__inner { position: relative; z-index: 2; max-width: 760px; }
.mdaa-siam-hero__veil { background: linear-gradient(100deg, rgba(1, 32, 63, .94), rgba(1, 32, 63, .5)); }
.mdaa-siam-hero__decor {
    color: var(--mdaa-orange);
    background-image: var(--wax-bogolan);
    background-size: var(--wax-bogolan-size);
    opacity: .1;
}
.mdaa-siam-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: var(--mdaa-sp-2);
    padding: 6px 15px;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-sm);
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--mdaa-orange-300);
    background: rgba(248, 144, 0, .14);
    border: 1px solid rgba(248, 144, 0, .45);
    border-radius: var(--mdaa-r-pill);
}
.mdaa-siam-hero__badge-dot {
    width: 8px; height: 8px;
    background: var(--mdaa-orange);
    border-radius: 50%;
    animation: mdaa-pulse 2s infinite;
}
.mdaa-siam-hero__title { margin: var(--mdaa-sp-4) 0 var(--mdaa-sp-3); font-size: var(--mdaa-fs-4xl); color: #fff; }
.mdaa-siam-hero__tagline { font-size: var(--mdaa-fs-lg); color: #cddbe9; max-width: 56ch; }
.mdaa-siam-hero__ctas { display: flex; flex-wrap: wrap; gap: var(--mdaa-sp-3); margin-top: var(--mdaa-sp-5); }
.mdaa-siam-hero__info {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: var(--mdaa-sp-4);
    margin-top: var(--mdaa-sp-7);
    padding-top: var(--mdaa-sp-5);
    border-top: 1px solid rgba(255, 255, 255, .18);
}
.mdaa-siam-hero__info-item { display: flex; align-items: center; gap: var(--mdaa-sp-3); }
.mdaa-siam-hero__info-icon { color: var(--mdaa-orange); background: rgba(248, 144, 0, .14); }
.mdaa-siam-hero__info-label {
    display: block;
    font-size: var(--mdaa-fs-xs);
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #9db4cb;
}
.mdaa-siam-hero__info-value, .mdaa-siam-hero__info-text { font-family: var(--mdaa-font-display); font-weight: 700; color: #fff; }

.mdaa-siam-section-poles, .mdaa-siam-section-partners, .mdaa-siam-section-programme,
.mdaa-siam-section-practical, .mdaa-siam-section-participation,
.mdaa-siam-section-eligibility, .mdaa-siam-section-location,
.mdaa-siam-section-milestones { padding-block: var(--mdaa-sp-8); }
.mdaa-siam-section-partners, .mdaa-siam-section-practical { background: var(--mdaa-navy-50); }
.mdaa-siam-section-programme-cta, .mdaa-siam-section-practical-cta {
    display: flex;
    justify-content: center;
    margin-top: var(--mdaa-sp-6);
}

/* Compte à rebours */
.mdaa-siam-countdown { margin-top: var(--mdaa-sp-5); }
.mdaa-siam-countdown__label {
    font-size: var(--mdaa-fs-xs);
    text-transform: uppercase;
    letter-spacing: .12em;
    color: var(--mdaa-orange-300);
}
.mdaa-siam-countdown__cells { display: flex; gap: var(--mdaa-sp-3); margin-top: var(--mdaa-sp-2); }
.mdaa-siam-countdown__cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 72px;
    padding: var(--mdaa-sp-3);
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: var(--mdaa-r-md);
}
.mdaa-siam-countdown__num {
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-2xl);
    font-weight: 800;
    color: #fff;
    line-height: 1;
}
.mdaa-siam-countdown__unit { font-size: var(--mdaa-fs-xs); text-transform: uppercase; letter-spacing: .08em; color: #9db4cb; }

/* Pôles, partenaires, contacts */
.mdaa-siam-pole { display: flex; flex-direction: column; gap: var(--mdaa-sp-3); }
.mdaa-siam-pole__pole-no, .mdaa-siam-pole__num { color: var(--mdaa-orange-700); font-weight: 800; }
.mdaa-siam-pole__title { margin: 0; font-size: var(--mdaa-fs-lg); }
.mdaa-siam-pole__group { font-size: var(--mdaa-fs-sm); color: var(--mdaa-ink-faint); }
.mdaa-siam-pole__lead, .mdaa-siam-pole__contact { font-size: var(--mdaa-fs-md); }
.mdaa-siam-pole__lead-label { text-transform: uppercase; font-size: var(--mdaa-fs-xs); letter-spacing: .07em; color: var(--mdaa-ink-faint); }
.mdaa-siam-partner { display: flex; flex-direction: column; gap: var(--mdaa-sp-2); text-align: center; align-items: center; }
.mdaa-siam-partner__logo { max-height: 62px; width: auto; }
.mdaa-siam-partner__name { margin: 0; font-size: var(--mdaa-fs-base); }
.mdaa-siam-partner__pole { font-size: var(--mdaa-fs-sm); color: var(--mdaa-ink-faint); }
.mdaa-siam-contact { display: flex; flex-direction: column; gap: 3px; }
.mdaa-siam-contact__name { font-family: var(--mdaa-font-display); font-weight: 700; color: var(--mdaa-navy-900); }
.mdaa-siam-contact__role { font-size: var(--mdaa-fs-sm); color: var(--mdaa-ink-faint); }

/* Lieu */
.mdaa-siam-location-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); overflow: hidden; }
.mdaa-siam-location-card__main { padding: var(--mdaa-sp-6); }
.mdaa-siam-location-card__venue { font-family: var(--mdaa-font-display); font-size: var(--mdaa-fs-xl); font-weight: 700; color: var(--mdaa-navy-900); }
.mdaa-siam-location-card__address { color: var(--mdaa-ink-soft); }
.mdaa-siam-location-card__info { display: flex; flex-direction: column; gap: var(--mdaa-sp-3); margin-top: var(--mdaa-sp-4); }
.mdaa-siam-location-card__gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px; }
.mdaa-siam-location-card__gallery img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4 / 3; }
.mdaa-siam-location-card__dots {
    position: absolute;
    inset: auto auto 0 0;
    width: 120px; height: 120px;
    color: var(--mdaa-orange);
    background-image: var(--wax-dots);
    background-size: var(--wax-dots-size);
    opacity: .12;
}

/* Programme */
.mdaa-siam-day { display: flex; flex-direction: column; gap: var(--mdaa-sp-4); }
.mdaa-siam-day__head { align-items: baseline; gap: var(--mdaa-sp-3); margin: 0; }
.mdaa-siam-day__num {
    display: grid; place-items: center;
    width: 44px; height: 44px;
    flex: none;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-lg);
    font-weight: 800;
    color: #12202e;
    background: var(--mdaa-orange);
    border-radius: var(--mdaa-r-md);
}
.mdaa-siam-day__date { font-family: var(--mdaa-font-display); font-weight: 700; color: var(--mdaa-navy-900); }
.mdaa-siam-day__subtitle, .mdaa-siam-day__pillar { font-size: var(--mdaa-fs-sm); color: var(--mdaa-ink-faint); }
.mdaa-siam-day__slots { display: flex; flex-direction: column; gap: var(--mdaa-sp-3); }
.mdaa-siam-slot {
    display: flex;
    gap: var(--mdaa-sp-3);
    padding: var(--mdaa-sp-3) var(--mdaa-sp-4);
    background: var(--mdaa-navy-50);
    border-radius: var(--mdaa-r-md);
}
.mdaa-siam-slot--highlight { background: var(--mdaa-orange-50); border-left: 4px solid var(--mdaa-orange); }
.mdaa-siam-slot__label { font-family: var(--mdaa-font-mono); font-weight: 700; color: var(--mdaa-navy); white-space: nowrap; }
.mdaa-siam-slot__body { min-width: 0; }
.mdaa-siam-slot__text { font-size: var(--mdaa-fs-md); color: var(--mdaa-ink-soft); }

/* Jalons */
.mdaa-siam-timeline { display: flex; flex-direction: column; gap: var(--mdaa-sp-5); }
.mdaa-siam-timeline__body { min-width: 0; }

/* Bande d'appel à l'action */
.mdaa-siam-cta-band {
    position: relative;
    padding: var(--mdaa-sp-8) 0;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(70% 120% at 85% 10%, rgba(248, 144, 0, .3), transparent 62%),
        var(--mdaa-navy-900);
    text-align: center;
}
.mdaa-siam-cta-band__title { color: #fff; font-size: var(--mdaa-fs-2xl); }
.mdaa-siam-cta-band__sub, .mdaa-siam-cta-band__text { color: #c3d4e5; max-width: 60ch; margin-inline: auto; }
.mdaa-siam-cta-band__actions { display: flex; flex-wrap: wrap; gap: var(--mdaa-sp-3); justify-content: center; margin-top: var(--mdaa-sp-5); }
.mdaa-siam-cta-band .mdaa-siam-cta-secondary { --btn-bg: transparent; --btn-fg: #fff; --btn-bd: rgba(255, 255, 255, .5); }

/* Modes de participation */
.mdaa-siam-mode { display: flex; flex-direction: column; gap: var(--mdaa-sp-3); }
.mdaa-siam-mode__title { margin: 0; font-size: var(--mdaa-fs-lg); }
.mdaa-siam-mode__cta { margin-top: auto; align-self: flex-start; }
.mdaa-siam-mode__ext-icon { width: 14px; height: 14px; }
.mdaa-siam-event-info { display: flex; align-items: center; gap: var(--mdaa-sp-3); padding: var(--mdaa-sp-4); }
.mdaa-siam-event-info__name { font-family: var(--mdaa-font-display); font-weight: 700; color: var(--mdaa-navy-900); }
.mdaa-siam-event-info__date, .mdaa-siam-event-info__venue { font-size: var(--mdaa-fs-md); color: var(--mdaa-ink-soft); }

/* --- 11.3 Billetterie ----------------------------------------------- */
.mdaa-siam-tickets-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(290px, 380px);
    gap: var(--mdaa-sp-6);
    align-items: start;
    padding-block: var(--mdaa-sp-6);
}
.mdaa-siam-tickets-list { display: flex; flex-direction: column; gap: var(--mdaa-sp-4); }
.mdaa-siam-tickets-list__header { flex-direction: column; align-items: flex-start; gap: 4px; }
.mdaa-siam-tickets-list__sub { font-size: var(--mdaa-fs-md); color: var(--mdaa-ink-soft); }
.mdaa-siam-ticket {
    display: flex;
    flex-wrap: wrap;
    gap: var(--mdaa-sp-4);
    padding: var(--mdaa-sp-5);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-lg);
    box-shadow: var(--mdaa-sh-sm);
}
.mdaa-siam-ticket__main { flex: 1 1 260px; min-width: 0; }
.mdaa-siam-ticket__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--mdaa-sp-3); }
.mdaa-siam-ticket__name { margin: 0; font-size: var(--mdaa-fs-lg); }
.mdaa-siam-ticket__desc { font-size: var(--mdaa-fs-md); color: var(--mdaa-ink-soft); margin: var(--mdaa-sp-2) 0 0; }
.mdaa-siam-ticket__tags { display: flex; flex-wrap: wrap; gap: var(--mdaa-sp-2); margin-top: var(--mdaa-sp-3); }
.mdaa-siam-ticket__tag--day { background: var(--mdaa-navy-100); color: var(--mdaa-navy-800); }
.mdaa-siam-ticket__tag--id { background: var(--mdaa-line-soft); color: var(--mdaa-ink-faint); font-family: var(--mdaa-font-mono); text-transform: none; }
.mdaa-siam-ticket__tag--status { background: var(--mdaa-success-bg); color: var(--mdaa-success); }
.mdaa-siam-ticket__price { display: flex; flex-direction: column; align-items: flex-end; }
.mdaa-siam-ticket__price-amount {
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-xl);
    font-weight: 800;
    color: var(--mdaa-navy-900);
}
.mdaa-siam-ticket__price-free { color: var(--mdaa-success); font-weight: 700; }
.mdaa-siam-ticket__qty-block { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; }
.mdaa-siam-ticket__day-block { flex: 1 1 100%; margin-top: var(--mdaa-sp-3); padding-top: var(--mdaa-sp-3); border-top: 1px solid var(--mdaa-line-soft); }
.mdaa-siam-ticket__day-label { font-size: var(--mdaa-fs-sm); font-weight: 600; color: var(--mdaa-ink-soft); }
.mdaa-siam-ticket__day-options { display: flex; flex-wrap: wrap; gap: var(--mdaa-sp-2); margin-top: var(--mdaa-sp-2); }
.mdaa-siam-ticket__day-opt {
    display: inline-flex;
    align-items: center;
    gap: var(--mdaa-sp-2);
    padding: 7px 13px;
    font-size: var(--mdaa-fs-md);
    background: #fff;
    border: 1.5px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-pill);
    cursor: pointer;
}
.mdaa-siam-ticket__day-opt:has(input:checked) { border-color: var(--mdaa-orange); background: var(--mdaa-orange-50); }
.mdaa-siam-ticket__subtotal {
    display: flex;
    align-items: baseline;
    gap: var(--mdaa-sp-2);
    flex: 1 1 100%;
    margin-top: var(--mdaa-sp-3);
    padding-top: var(--mdaa-sp-3);
    border-top: 1px dashed var(--mdaa-line);
}
.mdaa-siam-ticket__subtotal-label { font-size: var(--mdaa-fs-sm); color: var(--mdaa-ink-faint); }
.mdaa-siam-ticket__subtotal-value { margin-left: auto; font-family: var(--mdaa-font-display); font-weight: 800; color: var(--mdaa-navy-900); }

.mdaa-siam-tickets-summary__items, .mdaa-siam-tickets-summary__lines {
    display: flex;
    flex-direction: column;
    gap: var(--mdaa-sp-2);
    margin-bottom: var(--mdaa-sp-4);
}
.mdaa-siam-tickets-summary__item { display: flex; justify-content: space-between; gap: var(--mdaa-sp-3); font-size: var(--mdaa-fs-md); }
.mdaa-siam-tickets-summary__item-name { min-width: 0; }
.mdaa-siam-tickets-summary__item-amount { font-weight: 700; white-space: nowrap; }
.mdaa-siam-tickets-summary__empty { font-size: var(--mdaa-fs-md); color: var(--mdaa-ink-faint); text-align: center; padding: var(--mdaa-sp-4) 0; }
.mdaa-siam-tickets-state { text-align: center; padding: var(--mdaa-sp-7) var(--mdaa-sp-5); }
.mdaa-siam-tickets-state__title { font-family: var(--mdaa-font-display); font-size: var(--mdaa-fs-xl); color: var(--mdaa-navy-900); }
.mdaa-siam-customer-form__title { font-size: var(--mdaa-fs-lg); }
.mdaa-siam-customer-form__sub { font-size: var(--mdaa-fs-md); color: var(--mdaa-ink-soft); margin-bottom: var(--mdaa-sp-4); }

/* --- 11.4 Stands (public) ------------------------------------------- */
.siam-stands__page { --btn-bg: none; }
.siam-stands__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
    gap: var(--mdaa-sp-6);
    align-items: start;
    padding-block: var(--mdaa-sp-6);
}
.siam-stands__main { min-width: 0; }
.siam-stands__side { display: flex; flex-direction: column; gap: var(--mdaa-sp-4); position: sticky; top: calc(var(--mdaa-header-h) + 16px); }
.siam-stands__side-budget, .siam-stands__side-actions, .siam-stands__login-note {
    padding: var(--mdaa-sp-5);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-lg);
}
.siam-stands__login-note { background: var(--mdaa-orange-50); border-color: var(--mdaa-orange-300); font-size: var(--mdaa-fs-md); }
.siam-stands__card, .siam-stands__inner {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-lg);
    overflow: hidden;
    height: 100%;
}
.siam-stands__card--full { opacity: .72; }
.siam-stands__body { flex-direction: column; align-items: stretch; gap: var(--mdaa-sp-2); padding: var(--mdaa-sp-4); }
.siam-stands__price-note { font-size: var(--mdaa-fs-sm); color: var(--mdaa-ink-faint); }
.siam-stands__metrics { margin-top: var(--mdaa-sp-3); }
.siam-stands__filter-input { max-width: 320px; }

.stand-event { display: flex; flex-direction: column; gap: var(--mdaa-sp-3); }
.stand-event__title { margin: 0; font-size: var(--mdaa-fs-xl); }
.stand-event__tagline, .stand-event__intro { color: var(--mdaa-ink-soft); font-size: var(--mdaa-fs-md); }
.stand-event__meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: var(--mdaa-sp-3); }
.stand-event__item { display: flex; align-items: center; gap: var(--mdaa-sp-2); }
.stand-event__lbl { display: block; font-size: var(--mdaa-fs-xs); text-transform: uppercase; letter-spacing: .07em; color: var(--mdaa-ink-faint); }
.stand-event__val { font-weight: 600; font-size: var(--mdaa-fs-md); }

/* --- 11.5 Organigramme ---------------------------------------------- */
.mdaa-org { padding-block: var(--mdaa-sp-7); }
.mdaa-org__banner {
    padding: var(--mdaa-sp-6);
    margin-bottom: var(--mdaa-sp-6);
    color: #fff;
    background: var(--mdaa-navy-900);
    border-radius: var(--mdaa-r-lg);
}
.mdaa-org__intro { color: var(--mdaa-ink-soft); max-width: 72ch; margin-bottom: var(--mdaa-sp-6); }
.mdaa-org__direction, .mdaa-org__structures, .mdaa-org-box__children, .mdaa-org-team__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: var(--mdaa-sp-4);
}
.mdaa-org__direction-lbl, .mdaa-org-team__lbl, .mdaa-org-box__refs-lbl {
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-xs);
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--mdaa-orange-700);
    margin-bottom: var(--mdaa-sp-3);
    display: block;
}
.mdaa-org__cell, .mdaa-org-person, .mdaa-org-child, .mdaa-org-struct {
    padding: var(--mdaa-sp-4);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-md);
}
.mdaa-org-person__name, .mdaa-org-child__name, .mdaa-org-struct__name, .mdaa-org-box__name {
    font-family: var(--mdaa-font-display);
    font-weight: 700;
    color: var(--mdaa-navy-900);
}
.mdaa-org-person__role, .mdaa-org-box__meta, .mdaa-org-person__struct {
    font-size: var(--mdaa-fs-sm);
    color: var(--mdaa-ink-faint);
}
.mdaa-org-person__flag { color: var(--mdaa-success); font-size: var(--mdaa-fs-xs); font-weight: 700; }
.mdaa-org-person__flag--warn { color: var(--mdaa-warning); }
.mdaa-org-box { display: flex; flex-direction: column; gap: var(--mdaa-sp-3); margin-bottom: var(--mdaa-sp-5); }
.mdaa-org-box__group { font-size: var(--mdaa-fs-sm); color: var(--mdaa-ink-faint); }
.mdaa-org-box__private-flag { font-size: var(--mdaa-fs-xs); color: var(--mdaa-warning); font-weight: 700; text-transform: uppercase; }
.mdaa-org-box__refs { display: flex; flex-wrap: wrap; gap: var(--mdaa-sp-2); }
.mdaa-org-direction-team { margin-bottom: var(--mdaa-sp-6); }

/* =====================================================================
   11.2b EXPO — pages Programme, Infos pratiques, Organigramme,
   Stands, Billets (corrections d'après les vues siam/*.php)
   ===================================================================== */

/* --- Programme (siam_programme_page.php) ---------------------------- */
.mdaa-siam-programme-grid { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: var(--mdaa-sp-5); }
.mdaa-siam-day {
    --dc: var(--siam-day-color, var(--mdaa-navy));
    padding: 0;
    overflow: hidden;
}
.mdaa-siam-day__head {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    margin: 0;
    padding: var(--mdaa-sp-5) var(--mdaa-sp-5) calc(var(--mdaa-sp-5) + 6px);
    color: #fff;
    background: var(--dc);
}
.mdaa-siam-day__head::before {
    content: "";
    position: absolute;
    inset: 0;
    color: #fff;
    background-image: var(--wax-dots);
    background-size: var(--wax-dots-size);
    opacity: .08;
}
.mdaa-siam-day__head::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 6px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
}
.mdaa-siam-day__head > * { position: relative; z-index: 1; }
.mdaa-siam-day .mdaa-siam-day__num {
    display: inline-flex;
    width: auto; height: auto;
    padding: 4px 12px;
    font-size: var(--mdaa-fs-xs);
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #12202e;
    background: var(--mdaa-orange);
    border-radius: var(--mdaa-r-pill);
}
.mdaa-siam-day__date { font-size: var(--mdaa-fs-md); color: rgba(255, 255, 255, .85); }
.mdaa-siam-day .mdaa-siam-day__pillar {
    margin: 2px 0 0;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-xl);
    font-weight: 800;
    color: #fff;
}
.mdaa-siam-day .mdaa-siam-day__subtitle { margin: 0; font-size: var(--mdaa-fs-md); color: rgba(255, 255, 255, .8); }

ul.mdaa-siam-day__slots { margin: 0; padding: var(--mdaa-sp-4); list-style: none; gap: var(--mdaa-sp-2); }
.mdaa-siam-slot { margin: 0; align-items: flex-start; }
.mdaa-siam-slot__icon {
    display: grid;
    place-items: center;
    width: 38px; height: 38px;
    flex: none;
    color: var(--dc);
    background: #fff;
    border-radius: var(--mdaa-r-sm);
    box-shadow: var(--mdaa-sh-sm);
}
.mdaa-siam-slot__icon svg { width: 20px; height: 20px; }
.mdaa-siam-slot__body { display: flex; flex-direction: column; gap: 2px; }
.mdaa-siam-slot .mdaa-siam-slot__label {
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-xs);
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: normal;
    color: var(--mdaa-ink-faint);
}
.mdaa-siam-slot__text { margin: 0; color: var(--mdaa-navy-900); }
.mdaa-siam-slot--highlight .mdaa-siam-slot__icon { color: #12202e; background: var(--mdaa-orange); }
.mdaa-siam-slot--highlight .mdaa-siam-slot__label { color: var(--mdaa-orange-700); }

/* --- Infos pratiques : onglets verticaux (siam_practical_page.php) --- */
.mdaa-siam-tabs {
    display: grid;
    grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
    gap: var(--mdaa-sp-5);
    align-items: start;
}
.mdaa-siam-tabs .mdaa-siam-tabs__nav {
    position: sticky;
    top: calc(var(--mdaa-header-h) + 16px);
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 4px;
    margin: 0;
    padding: var(--mdaa-sp-2);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-lg);
    box-shadow: var(--mdaa-sh-sm);
}
.mdaa-siam-tabs .mdaa-siam-tab {
    width: 100%;
    margin: 0;
    padding: 10px 12px;
    text-align: left;
    border: 0;
    border-radius: var(--mdaa-r-md);
}
.mdaa-siam-tabs .mdaa-siam-tab:hover { background: var(--mdaa-navy-50); }
.mdaa-siam-tabs .mdaa-siam-tab.is-active { color: var(--mdaa-navy-900); background: var(--mdaa-orange-50); box-shadow: inset 4px 0 0 var(--mdaa-orange); }
.mdaa-siam-tab__ico {
    display: grid; place-items: center;
    width: 34px; height: 34px;
    flex: none;
    color: var(--mdaa-navy);
    background: var(--mdaa-navy-100);
    border-radius: var(--mdaa-r-sm);
}
.mdaa-siam-tab.is-active .mdaa-siam-tab__ico { color: #12202e; background: var(--mdaa-orange); }
.mdaa-siam-tab__ico svg { width: 18px; height: 18px; }
.mdaa-siam-tab__label { flex: 1; min-width: 0; }
svg.mdaa-siam-tab__chev { width: 16px; height: 16px; opacity: .4; }
.mdaa-siam-tab.is-active .mdaa-siam-tab__chev { opacity: 1; color: var(--mdaa-orange-700); }
.mdaa-siam-tabs__panels { min-width: 0; }
.mdaa-siam-tabs__panels .mdaa-siam-panel { padding: var(--mdaa-sp-6); }
.mdaa-siam-tabs__panels .mdaa-siam-panel[hidden] { display: none; }
.mdaa-siam-panel__ico svg { width: 22px; height: 22px; }

.mdaa-siam-section-practical-contact { background: var(--mdaa-navy-50); }
.mdaa-siam-contacts-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.mdaa-siam-contact__link {
    font-size: var(--mdaa-fs-md);
    font-weight: 600;
    color: var(--mdaa-navy-600);
    text-decoration: none;
    overflow-wrap: anywhere;
}
.mdaa-siam-contact__link:hover { color: var(--mdaa-orange-700); text-decoration: underline; }
.mdaa-siam-contact-fallback { display: flex; flex-direction: column; align-items: center; gap: var(--mdaa-sp-4); text-align: center; background: #fff; }
.mdaa-siam-contact-fallback__text { margin: 0; color: var(--mdaa-ink-soft); }

/* Bande d'appel à l'action dans un conteneur : carte arrondie */
.mdaa-container > .mdaa-siam-cta-band {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--mdaa-sp-5);
    padding: var(--mdaa-sp-7);
    text-align: left;
    border-radius: var(--mdaa-r-xl);
}
.mdaa-container > .mdaa-siam-cta-band .mdaa-siam-cta-band__text { max-width: 620px; }
.mdaa-container > .mdaa-siam-cta-band .mdaa-siam-cta-band__sub { margin: 0; }
.mdaa-container > .mdaa-siam-cta-band .mdaa-siam-cta-band__actions { margin: 0; justify-content: flex-start; }
.mdaa-siam-cta-band .mdaa-btn--secondary { --btn-bg: transparent; --btn-fg: #fff; --btn-bd: rgba(255, 255, 255, .55); }
.mdaa-siam-cta-band .mdaa-btn--secondary:hover { --btn-bg: rgba(255, 255, 255, .12); --btn-bd: #fff; }
.mdaa-siam-section-practical-cta { padding-top: 0; }

/* --- Organigramme (siam_organigramme_body.php) ---------------------- */
.mdaa-org-box, .mdaa-org-child, .mdaa-org-direction-team { --oc-c: var(--oc, var(--mdaa-navy)); }
.mdaa-org-box { border-top: 5px solid var(--oc-c); }
.mdaa-org-box__num { color: #fff; background: var(--oc-c); }
.mdaa-org-child { border-left: 4px solid var(--oc-c); }
.mdaa-org-team {
    display: flex;
    flex-direction: column;
    gap: var(--mdaa-sp-3);
}
.mdaa-org-direction-team {
    padding: var(--mdaa-sp-5);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-top: 5px solid var(--oc-c);
    border-radius: var(--mdaa-r-lg);
    box-shadow: var(--mdaa-sh-sm);
}
.mdaa-org-chip {
    border-left-color: var(--cc, var(--mdaa-orange)) !important;
}
.mdaa-org__cell { padding: 0; background: none; border: 0; display: flex; flex-direction: column; gap: var(--mdaa-sp-4); }

/* --- Stands (siam_stands_public_page.php) --------------------------- */
/* .siam-stands__inner est le conteneur de page, pas une carte */
.siam-stands { padding-block: var(--mdaa-sp-6) var(--mdaa-sp-8); }
.siam-stands > .siam-stands__inner {
    display: block;
    width: 100%;
    max-width: var(--mdaa-container);
    height: auto;
    margin-inline: auto;
    padding-inline: var(--mdaa-sp-5);
    overflow: visible;
    background: none;
    border: 0;
    border-radius: 0;
}
.siam-stands__layout { padding-block: 0; grid-template-columns: minmax(260px, 320px) minmax(0, 1fr); }
/* Le formulaire budget contient les actions : une seule carte */
.siam-stands__side-budget { display: flex; flex-direction: column; gap: var(--mdaa-sp-2); }
.siam-stands__side-budget .siam-stands__side-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--mdaa-sp-2);
    margin-top: var(--mdaa-sp-2);
    padding: 0;
    background: none;
    border: 0;
}
.siam-stands__side-budget .siam-stands__side-actions > * { flex: 1 1 auto; }
.siam-stands__filter-input { max-width: none; }
.siam-stands__tab { border-radius: var(--mdaa-r-sm) var(--mdaa-r-sm) 0 0; }
.siam-stands__tab--active .siam-stands__tab-count { color: #12202e; background: var(--mdaa-orange); }
.siam-stands__result { margin: 0 0 var(--mdaa-sp-4); }
.siam-stands__grid { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.siam-stands__card .siam-stands__media { aspect-ratio: 4 / 3; overflow: hidden; }
.siam-stands__card .siam-stands__img { width: 100%; height: 100%; object-fit: cover; }
.siam-stands__badge--pole { top: auto; bottom: 10px; left: 10px; }
.siam-stands__card .siam-stands__body { display: flex; flex-direction: column; align-items: flex-start; flex: 1; }
.siam-stands__btn-ghost { text-decoration: none; }

/* --- Billets (siam_tickets_page.php) -------------------------------- */
.mdaa-siam-tickets-form { display: contents; }
.mdaa-siam-ticket__tag svg { width: 13px; height: 13px; flex: none; }
.mdaa-siam-ticket__day-block[hidden] { display: none; }
.mdaa-siam-ticket__day-opt { position: relative; padding: 0; border-radius: var(--mdaa-r-md); }
.mdaa-siam-ticket__day-opt > input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 1px; height: 1px;
    margin: 0;
    pointer-events: none;
}
.mdaa-siam-ticket__day-opt-content {
    display: flex;
    flex-direction: column;
    gap: 1px;
    padding: 8px 14px;
    line-height: 1.25;
}
.mdaa-siam-ticket__day-opt-content strong { font-family: var(--mdaa-font-display); color: var(--mdaa-navy-900); }
.mdaa-siam-ticket__day-opt-content small { font-size: var(--mdaa-fs-xs); color: var(--mdaa-ink-faint); }
.mdaa-siam-ticket__day-opt:has(input:checked) { border-color: var(--mdaa-orange); background: var(--mdaa-orange-50); box-shadow: inset 0 0 0 1px var(--mdaa-orange); }
.mdaa-siam-ticket__day-opt:has(input:focus-visible) { box-shadow: var(--mdaa-sh-ring); }

@media (max-width: 900px) {
    .mdaa-siam-tabs { grid-template-columns: minmax(0, 1fr); }
    .mdaa-siam-tabs .mdaa-siam-tabs__nav {
        position: static;
        flex-direction: row;
        overflow-x: auto;
        scrollbar-width: thin;
    }
    .mdaa-siam-tabs .mdaa-siam-tab { width: auto; flex: none; white-space: nowrap; }
    svg.mdaa-siam-tab__chev { display: none; }
    .mdaa-siam-tabs .mdaa-siam-tab.is-active { box-shadow: inset 0 -3px 0 var(--mdaa-orange); }
    .siam-stands__layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 720px) {
    .mdaa-container > .mdaa-siam-cta-band { padding: var(--mdaa-sp-6) var(--mdaa-sp-5); }
    .siam-stands > .siam-stands__inner { padding-inline: var(--mdaa-sp-4); }
}

/* --- Billets : bandeau compact (siam_tickets_page.php) -------------- */
.mdaa-siam-tickets-hero { padding: var(--mdaa-sp-6) 0 calc(var(--mdaa-sp-6) + 6px); }
.mdaa-siam-tickets-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    color: var(--mdaa-orange);
    background-image: var(--wax-dots);
    background-size: var(--wax-dots-size);
    opacity: .08;
}
.mdaa-siam-tickets-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 6px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
}
.mdaa-siam-tickets-hero .mdaa-container { position: relative; z-index: 2; }
.mdaa-siam-tickets-hero__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--mdaa-sp-4) var(--mdaa-sp-5);
}
.mdaa-siam-tickets-hero .mdaa-siam-tickets-hero__icon {
    display: grid;
    place-items: center;
    width: 56px; height: 56px;
    margin: 0;
    flex: none;
    color: #12202e;
    background: var(--mdaa-orange);
    border-radius: var(--mdaa-r-md);
}
.mdaa-siam-tickets-hero__icon svg { width: 28px; height: 28px; }
.mdaa-siam-tickets-hero__text { flex: 1 1 320px; min-width: 0; }
.mdaa-siam-tickets-hero .mdaa-siam-tickets-hero__title { margin: 0 0 4px; }
.mdaa-siam-tickets-hero .mdaa-siam-tickets-hero__subtitle {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 0;
    font-size: var(--mdaa-fs-md);
}
.mdaa-siam-tickets-hero__subtitle svg { width: 16px; height: 16px; flex: none; color: var(--mdaa-orange-300); }
.mdaa-siam-tickets-hero__back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: none;
    padding: 9px 16px;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-sm);
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    border: 1.5px solid rgba(255, 255, 255, .4);
    border-radius: var(--mdaa-r-pill);
}
.mdaa-siam-tickets-hero__back:hover { color: #fff; background: rgba(255, 255, 255, .1); border-color: #fff; }
.mdaa-siam-tickets-hero__back svg { width: 16px; height: 16px; flex: none; }

/* États (terminé / annulé / aucun billet) */
.mdaa-siam-tickets-state__icon svg { width: 30px; height: 30px; }
.mdaa-siam-tickets-state {
    max-width: 560px;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--mdaa-sp-3);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-lg);
    box-shadow: var(--mdaa-sh-sm);
}
.mdaa-siam-tickets-state__text { margin: 0 0 var(--mdaa-sp-3); color: var(--mdaa-ink-soft); }

/* Garde-fou pour toutes les pages Expo : icône sans taille ≤ 32 px */
.mdaa-siam-tickets-hero svg:not([width]),
.mdaa-siam-tickets-layout svg:not([width]),
.mdaa-siam-tickets-state svg:not([width]) { max-width: 32px; max-height: 32px; }

/* --- Accueil Expo : fiche contact des pôles (siam_home_page.php) --- */
ul.mdaa-siam-pole__contact {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: var(--mdaa-sp-2) 0 0;
    padding: var(--mdaa-sp-3) 0 0;
    list-style: none;
    border-top: 1px solid var(--mdaa-line-soft);
}
ul.mdaa-siam-pole__contact > li {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    margin: 0;
    font-size: var(--mdaa-fs-sm);
    color: var(--mdaa-ink-soft);
}
ul.mdaa-siam-pole__contact > li::marker { content: none; }
ul.mdaa-siam-pole__contact > li > svg {
    width: 28px; height: 28px;
    flex: none;
    padding: 6px;
    color: var(--mdaa-navy);
    background: var(--mdaa-navy-100);
    border-radius: var(--mdaa-r-sm);
}
ul.mdaa-siam-pole__contact a {
    min-width: 0;
    font-weight: 600;
    color: var(--mdaa-navy-600);
    text-decoration: none;
    overflow-wrap: anywhere;
}
ul.mdaa-siam-pole__contact a:hover { color: var(--mdaa-orange-700); text-decoration: underline; }
ul.mdaa-siam-pole__contact .is-pending { font-style: italic; color: var(--mdaa-ink-faint); }
ul.mdaa-siam-pole__contact .mdaa-siam-pole__pole-no { font-weight: 700; color: var(--mdaa-orange-700); }
.mdaa-siam-pole__lead { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; margin-top: auto; }
.mdaa-siam-pole__lead strong { color: var(--mdaa-navy-900); }
.mdaa-siam-pole { height: 100%; }

/* Garde-fou pages Expo : aucune icône sans taille ne dépasse 40 px */
.mdaa-siam-section-poles svg:not([width]),
.mdaa-siam-section-partners svg:not([width]),
.mdaa-siam-section-programme svg:not([width]),
.mdaa-siam-section-practical svg:not([width]),
.mdaa-siam-section-participation svg:not([width]),
.mdaa-siam-section-eligibility svg:not([width]),
.mdaa-siam-section-location svg:not([width]),
.mdaa-siam-section-milestones svg:not([width]),
.mdaa-siam-cta-band svg:not([width]),
.mdaa-siam-hero__info svg:not([width]),
.mdaa-siam-hero__ctas svg:not([width]) { max-width: 40px; max-height: 40px; }

/* --- 11.6 Dossiers B2B / sponsoring / business lab ------------------ */
.mdaa-b2b-wiz { max-width: 860px; margin-inline: auto; padding-block: var(--mdaa-sp-6); }
.mdaa-b2b-panel { padding: var(--mdaa-sp-6); }
.mdaa-b2b-panel__step {
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-xs);
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--mdaa-orange-700);
}
.mdaa-b2b-packs { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: var(--mdaa-sp-4); }
.mdaa-b2b-pack {
    padding: var(--mdaa-sp-5);
    padding-top: calc(var(--mdaa-sp-5) + 5px);
    cursor: pointer;
}
.mdaa-b2b-pack--pop { border-color: var(--mdaa-orange); box-shadow: var(--mdaa-sh-md); }
.mdaa-b2b-pack__name { font-family: var(--mdaa-font-display); font-size: var(--mdaa-fs-lg); font-weight: 700; color: var(--mdaa-navy-900); }
.mdaa-b2b-pack__desc { font-size: var(--mdaa-fs-md); color: var(--mdaa-ink-soft); }
.mdaa-b2b-pack__tag { margin-top: var(--mdaa-sp-3); }

.mdaa-b2b-review-title { font-size: var(--mdaa-fs-lg); margin-bottom: var(--mdaa-sp-3); }
.mdaa-b2b-review__k { font-weight: 600; color: var(--mdaa-ink-soft); }
.mdaa-b2b-review__v { color: var(--mdaa-navy-900); }
.mdaa-b2b-success { padding-block: var(--mdaa-sp-8); text-align: center; }
.mdaa-b2b-success__in { max-width: 640px; margin-inline: auto; }
.mdaa-b2b-success__icon { margin: 0 auto var(--mdaa-sp-4); width: 62px; height: 62px; color: #fff; background: var(--mdaa-success); }
.mdaa-b2b-success__title { font-size: var(--mdaa-fs-2xl); }
.mdaa-b2b-success__intro { color: var(--mdaa-ink-soft); }
.mdaa-b2b-success__ref-box { margin: var(--mdaa-sp-5) 0; }
.mdaa-b2b-success__ref-hint { font-size: var(--mdaa-fs-sm); color: var(--mdaa-ink-faint); }
.mdaa-b2b-success__next { text-align: left; margin-top: var(--mdaa-sp-6); }
.mdaa-b2b-success__next-title { font-family: var(--mdaa-font-display); font-weight: 700; margin-bottom: var(--mdaa-sp-3); }
.mdaa-b2b-success__step { display: flex; gap: var(--mdaa-sp-3); align-items: flex-start; margin-bottom: var(--mdaa-sp-3); }
.mdaa-b2b-success__step-ico { flex: none; color: var(--mdaa-orange-700); }
.mdaa-b2b-success__details { text-align: left; }
.rw-immersion-cta { margin-top: var(--mdaa-sp-4); }

/* --- 11.6b Formulaire Immersion B2B (siam_b2b_form_page.php) -------- */
/* Hero : pas de .mdaa-container dans la vue */
.mdaa-b2b-hero { padding: var(--mdaa-sp-8) var(--mdaa-sp-5) calc(var(--mdaa-sp-8) + 8px); text-align: center; }
.mdaa-b2b-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    color: var(--mdaa-orange);
    background-image: var(--wax-bogolan);
    background-size: var(--wax-bogolan-size);
    opacity: .1;
}
.mdaa-b2b-hero__in { position: relative; z-index: 2; max-width: 760px; margin-inline: auto; display: flex; flex-direction: column; align-items: center; gap: var(--mdaa-sp-3); }
.mdaa-b2b-hero__kente { position: absolute; inset: auto 0 0 0; height: 8px; }
.mdaa-b2b-hero > .mdaa-b2b-hero__in > .mdaa-b2b-hero__kente { position: fixed; display: none; }
.mdaa-b2b-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 8px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
}
.mdaa-b2b-hero__badge { color: #12202e; background: var(--mdaa-orange); border: 0; }
.mdaa-b2b-hero__title { margin: 0; }
.mdaa-b2b-hero__sub { margin: 0 auto; }

/* Alerte et frise d'étapes centrées */
.mdaa-b2b-hero ~ .mdaa-b2b-alert,
.mdaa-b2b-steps {
    width: calc(100% - 2 * var(--mdaa-sp-5));
    max-width: 860px;
    margin-inline: auto;
}
.mdaa-b2b-hero ~ .mdaa-b2b-alert { margin-top: var(--mdaa-sp-5); flex-direction: column; }
.mdaa-b2b-alert ul { margin: var(--mdaa-sp-2) 0 0; }
.mdaa-b2b-steps {
    margin-top: var(--mdaa-sp-6);
    margin-bottom: 0;
    padding: var(--mdaa-sp-4);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-pill);
    box-shadow: var(--mdaa-sh-sm);
}
.mdaa-b2b-step { font-size: var(--mdaa-fs-sm); }
.mdaa-b2b-step.is-done { color: var(--mdaa-success); }
.mdaa-b2b-step.is-done .mdaa-b2b-step__n { color: #fff; background: var(--mdaa-success); }
.mdaa-b2b-step__sep { width: 24px; flex: none; }

.mdaa-b2b-wiz { padding-inline: var(--mdaa-sp-5); }
.mdaa-b2b-panel[hidden] { display: none; }
.mdaa-b2b-panel { position: relative; overflow: hidden; }
.mdaa-b2b-panel::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 5px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
}
.mdaa-b2b-panel__head { margin-bottom: var(--mdaa-sp-5); padding-bottom: var(--mdaa-sp-4); border-bottom: 1px solid var(--mdaa-line-soft); }
.mdaa-b2b-panel__ic { width: 48px; height: 48px; color: #12202e; background: var(--mdaa-orange); }
.mdaa-b2b-panel__ic svg { width: 24px; height: 24px; }
.mdaa-b2b-panel__title { font-size: var(--mdaa-fs-xl); }

/* Note d'information */
.mdaa-b2b-note {
    display: flex;
    align-items: flex-start;
    gap: var(--mdaa-sp-3);
    margin: 0 0 var(--mdaa-sp-5);
    padding: var(--mdaa-sp-3) var(--mdaa-sp-4);
    font-size: var(--mdaa-fs-md);
    color: var(--mdaa-navy-900);
    background: var(--mdaa-navy-50);
    border-left: 4px solid var(--mdaa-navy);
    border-radius: 0 var(--mdaa-r-sm) var(--mdaa-r-sm) 0;
}
.mdaa-b2b-note svg { width: 20px; height: 20px; flex: none; margin-top: 2px; color: var(--mdaa-navy); }

/* Options radio / case : l'input natif est masqué, .mdaa-b2b-opt__mark le remplace */
.mdaa-b2b-opts { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--mdaa-sp-3); }
.mdaa-b2b-opt { position: relative; align-items: center; min-height: 52px; }
.mdaa-b2b-opt > input[type="radio"],
.mdaa-b2b-opt > input[type="checkbox"],
.mdaa-b2b-pack > input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 1px; height: 1px;
    margin: 0;
    pointer-events: none;
}
.mdaa-b2b-opt__mark {
    display: grid;
    place-items: center;
    width: 22px; height: 22px;
    flex: none;
    background: #fff;
    border: 2px solid var(--mdaa-navy-200);
    transition: border-color var(--mdaa-transition), background var(--mdaa-transition);
}
.mdaa-b2b-opt--radio .mdaa-b2b-opt__mark { border-radius: 50%; }
.mdaa-b2b-opt--check .mdaa-b2b-opt__mark { border-radius: 6px; }
.mdaa-b2b-opt__dot { width: 10px; height: 10px; border-radius: 50%; background: transparent; }
.mdaa-b2b-opt__check { display: grid; place-items: center; color: transparent; }
.mdaa-b2b-opt__check svg { width: 14px; height: 14px; }
.mdaa-b2b-opt:has(input:checked) .mdaa-b2b-opt__mark { border-color: var(--mdaa-orange); }
.mdaa-b2b-opt--radio:has(input:checked) .mdaa-b2b-opt__dot { background: var(--mdaa-orange); }
.mdaa-b2b-opt--check:has(input:checked) .mdaa-b2b-opt__mark { background: var(--mdaa-orange); }
.mdaa-b2b-opt--check:has(input:checked) .mdaa-b2b-opt__check { color: #12202e; }
.mdaa-b2b-opt:has(input:focus-visible) { box-shadow: var(--mdaa-sh-ring); }
.mdaa-b2b-opt__t { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.mdaa-b2b-opt__t strong { font-weight: 700; color: var(--mdaa-navy-900); }
.mdaa-b2b-opt__t small { font-size: var(--mdaa-fs-sm); color: var(--mdaa-ink-soft); }
.mdaa-b2b-opt.is-disabled, .mdaa-b2b-opt:has(input:disabled) { opacity: .5; cursor: not-allowed; }

/* Packs */
.mdaa-b2b-pack { display: flex; flex-direction: column; gap: var(--mdaa-sp-2); transition: border-color var(--mdaa-transition), box-shadow var(--mdaa-transition), transform var(--mdaa-transition); }
.mdaa-b2b-pack:hover { border-color: var(--mdaa-navy-400); transform: translateY(-2px); }
.mdaa-b2b-pack:has(input:checked) { border: 2px solid var(--mdaa-orange); background: var(--mdaa-orange-50); box-shadow: var(--mdaa-sh-md); }
.mdaa-b2b-pack:has(input:checked)::after {
    content: "";
    position: absolute;
    top: 16px; right: 16px;
    width: 26px; height: 26px;
    border-radius: 50%;
    background: var(--mdaa-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312202e' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 14px no-repeat;
}
.mdaa-b2b-pack__tag { align-self: flex-start; margin: 0 0 var(--mdaa-sp-1); }
.mdaa-b2b-pack__name { margin: 0; padding-right: 36px; }
.mdaa-b2b-pack__desc { margin: 0; }

/* Récapitulatif final (étape 5) : liste libellé / valeur */
.mdaa-b2b-review-title { margin: var(--mdaa-sp-2) 0 var(--mdaa-sp-3); font-size: var(--mdaa-fs-lg); }
ul.mdaa-b2b-review {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--mdaa-sp-3);
    margin: 0;
    padding: 0;
    list-style: none;
}
ul.mdaa-b2b-review > li {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    margin: 0;
    padding: var(--mdaa-sp-3) var(--mdaa-sp-4);
    background: var(--mdaa-navy-50);
    border-left: 4px solid var(--mdaa-orange);
    border-radius: 0 var(--mdaa-r-sm) var(--mdaa-r-sm) 0;
}
ul.mdaa-b2b-review > li::marker { content: none; }
.mdaa-b2b-review .mdaa-b2b-review__k {
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-xs);
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--mdaa-ink-faint);
}
.mdaa-b2b-review .mdaa-b2b-review__v {
    font-size: var(--mdaa-fs-base);
    font-weight: 700;
    color: var(--mdaa-navy-900);
    overflow-wrap: anywhere;
}

/* Actions */
.mdaa-b2b-acts { justify-content: space-between; padding-top: var(--mdaa-sp-4); border-top: 1px solid var(--mdaa-line-soft); }
.mdaa-b2b-btn svg { width: 18px; height: 18px; flex: none; }
.mdaa-b2b-btn--next, .mdaa-b2b-btn--pay { --btn-bg: var(--mdaa-orange); --btn-bd: var(--mdaa-orange); --btn-fg: #12202e; font-weight: 700; }
.mdaa-b2b-btn--next:hover, .mdaa-b2b-btn--pay:hover { --btn-bg: var(--mdaa-orange-500); --btn-bd: var(--mdaa-orange-500); }

@media (max-width: 720px) {
    .mdaa-b2b-steps { border-radius: var(--mdaa-r-lg); }
    .mdaa-b2b-step > span:not(.mdaa-b2b-step__n) { display: none; }
    .mdaa-b2b-step.is-active > span:not(.mdaa-b2b-step__n) { display: inline; }
    .mdaa-b2b-panel { padding: var(--mdaa-sp-5); }
    .mdaa-b2b-wiz { padding-inline: var(--mdaa-sp-4); }
}

/* --- 11.6c Business Lab, Partenariat culturel, Sponsoring ----------- */
/* (siam_business_lab.php, siam_partnership_form.php, siam_sponsorship_form.php
    réutilisent les classes B2B ; compléments propres à ces formulaires) */

/* Listes déroulantes : flèche aux couleurs du site */
select.mdaa-b2b-input,
select.mdaa-form-input {
    appearance: none;
    -webkit-appearance: none;
    padding-right: 44px;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23004080' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center / 18px no-repeat;
    cursor: pointer;
}
select.mdaa-b2b-input:invalid,
select.mdaa-form-input:invalid { color: var(--mdaa-ink-faint); }
select.mdaa-b2b-input option { color: var(--mdaa-ink); }

textarea.mdaa-b2b-input { min-height: 140px; resize: vertical; line-height: 1.55; }
input[type="date"].mdaa-b2b-input { max-width: 260px; }
input[type="date"].mdaa-b2b-input::-webkit-calendar-picker-indicator { cursor: pointer; opacity: .7; }

/* Téléversement de logo */
input[type="file"].mdaa-b2b-input {
    padding: var(--mdaa-sp-3);
    min-height: 0;
    font-size: var(--mdaa-fs-md);
    color: var(--mdaa-ink-soft);
    background: var(--mdaa-navy-50);
    border: 2px dashed var(--mdaa-navy-200);
    cursor: pointer;
}
input[type="file"].mdaa-b2b-input:hover { border-color: var(--mdaa-navy); }
input[type="file"].mdaa-b2b-input::file-selector-button {
    margin-right: var(--mdaa-sp-3);
    padding: 8px 16px;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-sm);
    font-weight: 700;
    color: #fff;
    background: var(--mdaa-navy);
    border: 0;
    border-radius: var(--mdaa-r-pill);
    cursor: pointer;
}
input[type="file"].mdaa-b2b-input::file-selector-button:hover { background: var(--mdaa-navy-600); }

/* Champ en erreur (classe ajoutée par $invalid()) */
.mdaa-b2b-input.is-invalid { border-color: var(--mdaa-danger); background-color: var(--mdaa-danger-bg); }
select.mdaa-b2b-input.is-invalid { background-color: var(--mdaa-danger-bg); }

/* Alerte « tous les pôles pourvus » : les styles inline de la vue sont neutralisés */
.mdaa-b2b-wiz > .mdaa-b2b-alert--info {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--mdaa-sp-3);
    padding: var(--mdaa-sp-6);
    margin-top: var(--mdaa-sp-6);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-left: 5px solid var(--mdaa-orange);
    border-radius: var(--mdaa-r-lg);
    box-shadow: var(--mdaa-sh-sm);
}
.mdaa-b2b-wiz > .mdaa-b2b-alert--info h2 {
    color: var(--mdaa-navy-900) !important;
    font-size: var(--mdaa-fs-xl) !important;
}
.mdaa-b2b-wiz > .mdaa-b2b-alert--info p { color: var(--mdaa-ink-soft); }

/* Pages de confirmation */
.mdaa-b2b-success__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--mdaa-sp-3);
    margin-top: var(--mdaa-sp-6);
}
.mdaa-b2b-success__details {
    margin-top: var(--mdaa-sp-5);
    padding: var(--mdaa-sp-5);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-lg);
}

/* --- 11.7 Services IT (nvbb-it, nvbb-xi, nvbb-card) ----------------- */
.nvbb-it__hero { padding-block: var(--mdaa-sp-9); }
.nvbb-it__hero::after {
    content: "";
    position: absolute;
    inset: 0;
    color: var(--mdaa-orange);
    background-image: var(--wax-zigzag);
    background-size: var(--wax-zigzag-size);
    opacity: .08;
    pointer-events: none;
}
.nvbb-it__hero > * { position: relative; z-index: 2; }
.nvbb-it__lead { font-size: var(--mdaa-fs-lg); color: #c6d6e6; max-width: 62ch; }
.nvbb-it__hero-actions { display: flex; flex-wrap: wrap; gap: var(--mdaa-sp-3); margin-top: var(--mdaa-sp-5); }
.nvbb-it__hero .nvbb-it__btn--ghost { --btn-fg: #fff; --btn-bd: rgba(255, 255, 255, .5); }
.nvbb-it__section { padding-block: var(--mdaa-sp-8); }
.nvbb-it__section:nth-of-type(even) { background: var(--mdaa-navy-50); }
.nvbb-it__h2 { font-size: var(--mdaa-fs-2xl); }
.nvbb-it__sub { color: var(--mdaa-ink-soft); font-size: var(--mdaa-fs-lg); max-width: 64ch; }
.nvbb-it__card { display: flex; flex-direction: column; gap: var(--mdaa-sp-3); }
.nvbb-it__facts, .nvbb-it__stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--mdaa-sp-3); }
.nvbb-it__offer { display: flex; flex-direction: column; gap: var(--mdaa-sp-3); padding: var(--mdaa-sp-5); background: #fff; border: 1px solid var(--mdaa-line); border-radius: var(--mdaa-r-lg); }
.nvbb-it__offer-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--mdaa-sp-3); }
.nvbb-it__svc-links { display: flex; flex-wrap: wrap; gap: var(--mdaa-sp-3); }
.nvbb-it__svc-side { display: flex; flex-direction: column; gap: var(--mdaa-sp-4); }
.nvbb-it__svc-n { font-family: var(--mdaa-font-display); font-weight: 800; color: var(--mdaa-orange-700); }
.nvbb-it__timeline { display: flex; flex-direction: column; gap: var(--mdaa-sp-4); }
.nvbb-it__tl-period { font-family: var(--mdaa-font-mono); font-size: var(--mdaa-fs-sm); color: var(--mdaa-ink-faint); }
.nvbb-it__tl-org { font-family: var(--mdaa-font-display); font-weight: 700; color: var(--mdaa-navy-900); }
.nvbb-it__year { font-family: var(--mdaa-font-display); font-weight: 800; color: var(--mdaa-orange-700); }
.nvbb-it__portrait { border-radius: var(--mdaa-r-lg); overflow: hidden; }
.nvbb-it__profile { display: grid; grid-template-columns: minmax(200px, 280px) 1fr; gap: var(--mdaa-sp-6); align-items: start; }
.nvbb-it__proof, .nvbb-it__sources, .nvbb-it__disclaimer {
    font-size: var(--mdaa-fs-sm);
    color: var(--mdaa-ink-faint);
}
.nvbb-it__sources a { color: var(--mdaa-navy-600); }
.nvbb-it__refs { display: flex; flex-wrap: wrap; align-items: center; gap: var(--mdaa-sp-5); }
.nvbb-it__ref { display: grid; place-items: center; height: 54px; }
.nvbb-it__ref img { max-height: 46px; width: auto; filter: grayscale(1); opacity: .75; }
.nvbb-it__faq { display: flex; flex-direction: column; gap: var(--mdaa-sp-3); }
.nvbb-it__faq details {
    padding: var(--mdaa-sp-4);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-md);
}
.nvbb-it__faq summary { font-family: var(--mdaa-font-display); font-weight: 700; cursor: pointer; color: var(--mdaa-navy-900); }
.nvbb-it__cta {
    padding: var(--mdaa-sp-7);
    text-align: center;
    color: #fff;
    background: var(--mdaa-navy-900);
    border-radius: var(--mdaa-r-xl);
}
.nvbb-it__cta h2, .nvbb-it__cta .nvbb-it__h2 { color: #fff; }
.nvbb-it__events { display: flex; flex-direction: column; gap: var(--mdaa-sp-4); }
.nvbb-it__event {
    display: grid;
    grid-template-columns: minmax(0, 220px) minmax(0, 1fr);
    gap: var(--mdaa-sp-5);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-lg);
    overflow: hidden;
}
.nvbb-it__event-img { width: 100%; height: 100%; object-fit: cover; min-height: 160px; }
.nvbb-it__event-body { padding: var(--mdaa-sp-5) var(--mdaa-sp-5) var(--mdaa-sp-5) 0; }
.nvbb-it__event-date { font-family: var(--mdaa-font-mono); font-size: var(--mdaa-fs-sm); color: var(--mdaa-orange-700); }
.nvbb-it__event-meta { display: flex; flex-wrap: wrap; gap: var(--mdaa-sp-3); font-size: var(--mdaa-fs-sm); color: var(--mdaa-ink-faint); }
.nvbb-it__event-foot { display: flex; flex-wrap: wrap; gap: var(--mdaa-sp-3); margin-top: var(--mdaa-sp-4); }
.nvbb-it__langrow { display: flex; gap: var(--mdaa-sp-2); }

.nvbb-xi { padding-block: var(--mdaa-sp-8); }
.nvbb-xi__body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--mdaa-sp-6); }
.nvbb-xi__lead-col { max-width: 62ch; }
.nvbb-xi__lead { font-size: var(--mdaa-fs-lg); color: var(--mdaa-ink-soft); }
.nvbb-xi__card { padding: var(--mdaa-sp-5); padding-top: calc(var(--mdaa-sp-5) + 5px); }
.nvbb-xi__pillars { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: var(--mdaa-sp-4); }
.nvbb-xi__pillar { padding: var(--mdaa-sp-4); background: var(--mdaa-navy-50); border-radius: var(--mdaa-r-md); }
.nvbb-xi__facts { display: flex; flex-direction: column; gap: var(--mdaa-sp-2); }
.nvbb-xi__fact--muted { color: var(--mdaa-ink-faint); }
.nvbb-xi__specs { font-size: var(--mdaa-fs-sm); color: var(--mdaa-ink-faint); }

/* Carte de visite numérique */
.nvbb-card { display: grid; place-items: center; min-height: 100vh; padding: var(--mdaa-sp-5); background: var(--mdaa-navy-900); }
.nvbb-card__sheet {
    position: relative;
    width: min(420px, 100%);
    padding: var(--mdaa-sp-6);
    text-align: center;
    background: #fff;
    border-radius: var(--mdaa-r-xl);
    box-shadow: var(--mdaa-sh-lg);
    overflow: hidden;
}
.nvbb-card__inner { position: relative; z-index: 2; }
.nvbb-card__brand { font-family: var(--mdaa-font-display); font-weight: 800; color: var(--mdaa-navy); letter-spacing: .04em; }
.nvbb-card__name { font-size: var(--mdaa-fs-2xl); margin: var(--mdaa-sp-3) 0 2px; }
.nvbb-card__role { color: var(--mdaa-ink-soft); }
.nvbb-card__qr { display: grid; place-items: center; margin: var(--mdaa-sp-5) 0; }
.nvbb-card__qr img { width: 180px; height: 180px; }
.nvbb-card__links { display: flex; flex-direction: column; gap: var(--mdaa-sp-2); }
.nvbb-card__lang, .nvbb-card__hint { font-size: var(--mdaa-fs-sm); color: var(--mdaa-ink-faint); }
.nvbb-card__foot { margin-top: var(--mdaa-sp-5); }

/* --- 11.8 Inscription artisan (assistant) --------------------------- */
.register-page { padding-bottom: var(--mdaa-sp-8); }
.register-hero { text-align: center; }
.register-form { max-width: 760px; margin: calc(var(--mdaa-sp-7) * -1) auto 0; position: relative; z-index: 3; box-shadow: var(--mdaa-sh-lg); }
.register-wizard-step[hidden] { display: none; }
.register-progress { margin-bottom: var(--mdaa-sp-5); }
.register-steps--wizard { gap: var(--mdaa-sp-2); }
.rw-btn-label { pointer-events: none; }
.rw-lock-badge { background: var(--mdaa-warning-bg); color: var(--mdaa-warning); }
.thanks-wrap, .thanks-body { padding-block: var(--mdaa-sp-8); }
.thanks-card { max-width: 620px; margin-inline: auto; padding: var(--mdaa-sp-7); text-align: center; }

/* --- 11.9 Pages d'erreur -------------------------------------------- */
.err404-wrap, .err500-wrap { padding-block: var(--mdaa-sp-9); text-align: center; }
.err404-hero, .err500-hero { max-width: 620px; margin-inline: auto; }
.err404-svg, .err500-svg { max-width: 260px; margin: 0 auto var(--mdaa-sp-5); color: var(--mdaa-navy-200); }
.err404-code, .err500-code {
    font-family: var(--mdaa-font-display);
    font-size: clamp(3.5rem, 12vw, 6rem);
    font-weight: 800;
    line-height: 1;
    color: #b85c00;   /* 30/09/2026 : contraste suffisant pour un grand texte (WCAG AA) */
}
.err404-title, .err500-title { font-size: var(--mdaa-fs-2xl); margin-top: var(--mdaa-sp-3); }
.err404-subtitle, .err500-subtitle { color: var(--mdaa-ink-soft); font-size: var(--mdaa-fs-lg); }
.err404-search { max-width: 480px; margin: var(--mdaa-sp-5) auto; }
.err404-card { text-align: left; }
.err404-card__title { font-family: var(--mdaa-font-display); font-weight: 700; color: var(--mdaa-navy-900); }
.err500-actions-title { font-family: var(--mdaa-font-display); font-weight: 700; margin-top: var(--mdaa-sp-6); }
.err500-reassure {
    display: flex;
    align-items: center;
    gap: var(--mdaa-sp-3);
    justify-content: center;
    margin-top: var(--mdaa-sp-5);
    font-size: var(--mdaa-fs-md);
    color: var(--mdaa-ink-soft);
}
.err500-ref { display: inline-block; margin-top: var(--mdaa-sp-4); font-size: var(--mdaa-fs-sm); }

/* --- 11.10 Éléments décoratifs ponctuels ---------------------------- */
.rays {
    color: var(--mdaa-orange);
    background-image: var(--wax-rays);
    opacity: .12;
}
.spark, .spark-2, .spark-3 {
    position: absolute;
    width: 10px; height: 10px;
    background: var(--mdaa-orange);
    border-radius: 50%;
    opacity: .7;
    animation: mdaa-twinkle 3.2s ease-in-out infinite;
}
.spark-2 { animation-delay: .9s; }
.spark-3 { animation-delay: 1.8s; }
@keyframes mdaa-twinkle {
    0%, 100% { transform: scale(.6); opacity: .35; }
    50% { transform: scale(1); opacity: .85; }
}
.crack { color: var(--mdaa-navy-200); }
.hp-wrap { overflow-x: clip; }

/* =====================================================================
   12. POINTS DE RUPTURE
   ===================================================================== */
@media (max-width: 1100px) {
    .mdaa-catalogue__layout,
    .mdaa-cart-layout,
    .mdaa-checkout-layout,
    .mdaa-payment-layout,
    .mdaa-success-grid,
    .mdaa-siam-tickets-layout,
    .siam-stands__layout,
    .mdaa-hp-partners,
    .nvbb-xi__body,
    .nvbb-it__profile { grid-template-columns: minmax(0, 1fr); }

    .mdaa-catalogue__sidebar,
    .siam-stands__side,
    .mdaa-cart-summary,
    .mdaa-checkout-summary,
    .mdaa-payment-summary,
    .mdaa-siam-tickets-summary,
    .mdaa-success-summary,
    .mdaa-product__gallery,
    .mbae-item__gallery { position: static; }

    .mdaa-product__layout, .mbae-item__main { grid-template-columns: minmax(0, 1fr); gap: var(--mdaa-sp-5); }
    .mdaa-siam-location-card { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 960px) {
    /* Nav desktop repliée dans le tiroir */
    .mdaa-nav-wrap { display: none; }
    .mdaa-burger { display: flex; }
    .mdaa-header__inner { gap: var(--mdaa-sp-3); }
    .mdaa-search-form { flex-basis: 180px; }
    .mdaa-hp-siam { grid-template-columns: minmax(0, 1fr); }
    .mdaa-hp-cat--xl { grid-column: span 1; min-height: 240px; }
    .nvbb-it__event { grid-template-columns: minmax(0, 1fr); }
    .nvbb-it__event-body { padding: 0 var(--mdaa-sp-5) var(--mdaa-sp-5); }
}

@media (max-width: 720px) {
    :root { --mdaa-header-h: 64px; }

    .mdaa-container, .mdaa-hp-ct, .nvbb-it__wrap { padding-inline: var(--mdaa-sp-4); }
    .mdaa-section, .mdaa-hp-sec, .nvbb-it__section { padding-block: var(--mdaa-sp-7); }

    .mdaa-topbar__inner { justify-content: center; }
    .mdaa-topbar__btn-label, .mdaa-topbar__acct-label { display: none; }
    .mdaa-topbar__btn { padding: 6px 10px; }

    .mdaa-brand__logo { height: 38px; }
    .mdaa-search-form { display: none; }
    .mdaa-drawer__search { display: flex; }

    .mdaa-hp-hero { min-height: auto; padding-block: var(--mdaa-sp-8); }
    .mdaa-hp-hero__stats { gap: var(--mdaa-sp-5); }
    .mdaa-hp-sec__head { flex-direction: column; align-items: flex-start; }
    .mdaa-hp-quality__stats { grid-template-columns: repeat(3, 1fr); gap: var(--mdaa-sp-2); }

    .mdaa-cart-item { grid-template-columns: 72px minmax(0, 1fr); }
    .mdaa-cart-item__img { width: 72px; height: 72px; }
    .mdaa-cart-item__line-total, .mdaa-cart-item__price { grid-column: 2; }

    .mdaa-form-grid--2, .form-row--triple { grid-template-columns: minmax(0, 1fr); }
    .mdaa-ship2-search__row { grid-template-columns: minmax(0, 1fr); }
    .mdaa-specs__row, .tcp-detail__row { grid-template-columns: minmax(0, 1fr); gap: 2px; }

    .mdaa-siam-hero { min-height: auto; padding-block: var(--mdaa-sp-8); }
    .mdaa-siam-ticket { flex-direction: column; }
    .mdaa-siam-ticket__price { align-items: flex-start; }
    .mdaa-siam-countdown__cells { flex-wrap: wrap; }

    .mdaa-footer__grid { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: var(--mdaa-sp-5); }
    .mdaa-footer__bottom { flex-direction: column; text-align: center; }

    .mdaa-modal { width: calc(100vw - 24px); }
    .mdaa-modal__actions { flex-direction: column; }
    .mdaa-modal__actions .mdaa-btn { width: 100%; }
}

@media (max-width: 480px) {
    .mdaa-hp-targets, .mdaa-hp-trust__in { grid-template-columns: minmax(0, 1fr); }
    .mdaa-hp-hero__ctas .mdaa-hp-btn, .mdaa-siam-hero__ctas .mdaa-btn { width: 100%; }
    .mdaa-hp-siam__date { font-size: var(--mdaa-fs-3xl); }
}

/* =====================================================================
   IMPRESSION — factures, billets, fiches de retrait
   ===================================================================== */
@media print {
    .mdaa-topbar, .mdaa-header, .mdaa-drawer, .mdaa-drawer-overlay,
    .mdaa-footer, .nvbb-trust, .mdaa-modal, .mdaa-modal-overlay,
    .mdaa-burger, .mdaa-breadcrumb, .mdaa-pagination { display: none !important; }

    body { background: #fff; color: #000; }
    .mdaa-main { padding: 0; }
    .mdaa-ticket-card, .mdaa-success-ticket-card, .tcp-card {
        break-inside: avoid;
        box-shadow: none;
        border: 1px solid #999;
    }
    a[target="_blank"]::after { content: ""; }
}

/* Respect des préférences de mouvement réduit */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
        scroll-behavior: auto !important;
    }
}


/* =====================================================================
   13. BADGES DE CERTIFICATION — charte du logo, partout
   Marine #004080, texte blanc, liseré et coche orange #F89000.
   ===================================================================== */
.mdaa-product-card__badge,
.mdaa-hp-pcard__badge,
.mdaa-pdw-gal__badge,
.mdaa-vcard__badge,
.mdaa-badge--ciaac,
.mdaa-product-card__badge--ciaac,
.mdaa-cwow-tile__badge,
.mdaa-hp-quality__badge,
.mdaa-org-chip,
.mdaa-vcard__chip--cert {
    color: #fff;
    background: var(--mdaa-navy);
    border: 0;
    border-left: 4px solid var(--mdaa-orange);
    border-radius: var(--mdaa-r-sm);
    box-shadow: 0 2px 6px rgba(1, 32, 63, .22);
}
.mdaa-pdw-gal__badge svg,
.mdaa-vcard__badge svg,
.mdaa-badge--ciaac svg,
.mdaa-product-card__badge svg,
.mdaa-hp-pcard__badge svg { color: var(--mdaa-orange); }
.mdaa-product-card__badge::before,
.mdaa-hp-pcard__badge::before { color: var(--mdaa-orange); }

/* =====================================================================
   11.5b ORGANIGRAMME (siam_organigramme_page.php + _body.php)
   Préfixé .mdaa-org pour passer devant les règles génériques et
   devant mdaa_siam_organigramme.css si elle est encore chargée.
   ===================================================================== */
.mdaa-org { padding-block: var(--mdaa-sp-6) var(--mdaa-sp-8); }

.mdaa-org .mdaa-org__banner {
    position: relative;
    overflow: hidden;
    margin: 0 0 var(--mdaa-sp-4);
    padding: var(--mdaa-sp-6) var(--mdaa-sp-6) calc(var(--mdaa-sp-6) + 6px);
    background: var(--mdaa-navy-900);
    border-radius: var(--mdaa-r-xl);
}
.mdaa-org .mdaa-org__banner::before {
    content: "";
    position: absolute; inset: 0;
    color: var(--mdaa-orange);
    background-image: var(--wax-bogolan);
    background-size: var(--wax-bogolan-size);
    opacity: .1;
}
.mdaa-org .mdaa-org__banner::after {
    content: "";
    position: absolute; inset: auto 0 0 0;
    height: 6px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
}
.mdaa-org .mdaa-org__banner h1 { position: relative; z-index: 1; margin: 0; color: #fff; font-size: var(--mdaa-fs-3xl); }
.mdaa-org .mdaa-org__intro { max-width: 72ch; margin: 0 0 var(--mdaa-sp-6); font-size: var(--mdaa-fs-lg); color: var(--mdaa-ink-soft); }

/* --- Bandeau de direction ------------------------------------------ */
.mdaa-org .mdaa-org__direction {
    display: flex;
    flex-direction: column;
    gap: var(--mdaa-sp-4);
    padding: var(--mdaa-sp-5);
    background: var(--mdaa-navy-50);
    border: 1px solid var(--mdaa-navy-100);
    border-top: 5px solid var(--mdaa-navy);
    border-radius: var(--mdaa-r-lg);
}
.mdaa-org .mdaa-org__direction-lbl {
    margin: 0;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-xl);
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
    color: var(--mdaa-navy-900);
}
.mdaa-org .mdaa-org__structures {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: var(--mdaa-sp-3);
}
.mdaa-org .mdaa-org-struct {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: var(--mdaa-sp-4);
    color: inherit;
    text-decoration: none;
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-left: 4px solid var(--mdaa-orange);
    border-radius: var(--mdaa-r-md);
    transition: box-shadow var(--mdaa-transition), transform var(--mdaa-transition);
}
.mdaa-org a.mdaa-org-struct:hover { box-shadow: var(--mdaa-sh-md); transform: translateY(-2px); }
.mdaa-org a.mdaa-org-struct::after { content: none; }
.mdaa-org .mdaa-org-struct__name { margin: 0; font-family: var(--mdaa-font-display); font-weight: 700; color: var(--mdaa-navy-900); }
.mdaa-org .mdaa-org-struct__desc { margin: 0; font-size: var(--mdaa-fs-sm); line-height: 1.5; color: var(--mdaa-ink-soft); }
.mdaa-org .mdaa-org-direction-team {
    padding: 0;
    background: none;
    border: 0;
    box-shadow: none;
}
.mdaa-org .mdaa-org-direction-team:empty,
.mdaa-org .mdaa-org-direction-team:not(:has(*)) { display: none; }

/* --- Liaison entre bandes : trait vertical --------------------------- */
.mdaa-org .mdaa-org__link {
    display: block;
    width: 2px;
    height: 32px;
    margin: 0 auto;
    padding: 0;
    background: repeating-linear-gradient(180deg, var(--mdaa-navy-200) 0 6px, transparent 6px 10px);
    border: 0;
}

/* --- Bandes et colonnes ----------------------------------------------- */
.mdaa-org .mdaa-org__band {
    display: grid;
    grid-template-columns: repeat(var(--org-cols, 1), minmax(0, 1fr));
    gap: var(--mdaa-sp-4);
    align-items: start;
}
.mdaa-org .mdaa-org__band--c1 { --org-cols: 1; }
.mdaa-org .mdaa-org__band--c2 { --org-cols: 2; }
.mdaa-org .mdaa-org__band--c3 { --org-cols: 3; }
.mdaa-org .mdaa-org__band--c4 { --org-cols: 4; }
.mdaa-org .mdaa-org__cell {
    display: flex;
    flex-direction: column;
    gap: var(--mdaa-sp-4);
    min-width: 0;
    padding: 0;
    background: none;
    border: 0;
}

/* --- Boîte de pôle ---------------------------------------------------- */
.mdaa-org .mdaa-org-box {
    --oc-c: var(--oc, var(--mdaa-navy));
    display: flex;
    flex-direction: column;
    gap: var(--mdaa-sp-2);
    margin: 0;
    padding: var(--mdaa-sp-5);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-top: 5px solid var(--oc-c);
    border-radius: var(--mdaa-r-lg);
    box-shadow: var(--mdaa-sh-sm);
}
.mdaa-org .mdaa-org-box__num {
    display: grid;
    place-items: center;
    width: 30px; height: 30px;
    font-size: var(--mdaa-fs-sm);
    color: #fff;
    background: var(--oc-c);
    border-radius: var(--mdaa-r-pill);
}
.mdaa-org .mdaa-org-box__name { margin: 4px 0 0; font-size: var(--mdaa-fs-lg); line-height: 1.2; color: var(--mdaa-navy-900); }
.mdaa-org .mdaa-org-box__desc { margin: 0; font-size: var(--mdaa-fs-md); line-height: 1.55; color: var(--mdaa-ink-soft); }
.mdaa-org .mdaa-org-box__group {
    align-self: flex-start;
    padding: 2px 9px;
    font-size: var(--mdaa-fs-xs);
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--mdaa-ink-faint);
    background: var(--mdaa-line-soft);
    border-radius: var(--mdaa-r-pill);
}
.mdaa-org .mdaa-org-box--cellule { background: var(--mdaa-cream); border-style: dashed; border-top-style: solid; }
.mdaa-org .mdaa-org-box--private { opacity: .7; }

/* Pôles contenus */
.mdaa-org .mdaa-org-box__children {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--mdaa-sp-3);
    margin-top: var(--mdaa-sp-2);
}
.mdaa-org .mdaa-org-child {
    --oc-c: var(--oc, var(--mdaa-navy));
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: var(--mdaa-sp-3) var(--mdaa-sp-4);
    background: var(--mdaa-navy-50);
    border: 0;
    border-left: 4px solid var(--oc-c);
    border-radius: 0 var(--mdaa-r-md) var(--mdaa-r-md) 0;
}
.mdaa-org .mdaa-org-child__name { margin: 0; font-size: var(--mdaa-fs-base); color: var(--mdaa-navy-900); }
.mdaa-org .mdaa-org-child__desc { margin: 0; font-size: var(--mdaa-fs-sm); line-height: 1.5; color: var(--mdaa-ink-soft); }

/* Départements concernés */
.mdaa-org .mdaa-org-box__refs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: var(--mdaa-sp-2); }
.mdaa-org .mdaa-org-box__refs-lbl { width: 100%; margin: 0; }
.mdaa-org .mdaa-org-chip {
    padding: 3px 10px;
    font-size: var(--mdaa-fs-xs);
    color: var(--mdaa-navy-900);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-left: 4px solid var(--cc, var(--mdaa-orange)) !important;
    border-radius: var(--mdaa-r-sm);
    box-shadow: none;
    text-transform: none;
    letter-spacing: 0;
}

/* Équipe */
.mdaa-org .mdaa-org-team { display: flex; flex-direction: column; gap: var(--mdaa-sp-2); margin-top: var(--mdaa-sp-2); }
.mdaa-org .mdaa-org-team__lbl { margin: 0; }
.mdaa-org ul.mdaa-org-team__list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: var(--mdaa-sp-2);
    margin: 0;
    padding: 0;
    list-style: none;
}
.mdaa-org .mdaa-org-person {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 0;
    padding: var(--mdaa-sp-3);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-md);
}
.mdaa-org .mdaa-org-person__name { font-size: var(--mdaa-fs-md); }
.mdaa-org .mdaa-org-person__struct { font-size: var(--mdaa-fs-xs); color: var(--mdaa-ink-faint); }
.mdaa-org .mdaa-org-person__role { font-size: var(--mdaa-fs-xs); font-weight: 600; color: var(--mdaa-orange-700); }
.mdaa-org .mdaa-org-box__meta { margin-top: var(--mdaa-sp-2); font-size: var(--mdaa-fs-xs); color: var(--mdaa-ink-faint); }

@media (max-width: 960px) {
    .mdaa-org .mdaa-org__band--c3,
    .mdaa-org .mdaa-org__band--c4 { --org-cols: 2; }
    .mdaa-org .mdaa-org__band--c3 > .mdaa-org__cell,
    .mdaa-org .mdaa-org__band--c4 > .mdaa-org__cell { grid-column: auto !important; }
}
@media (max-width: 720px) {
    .mdaa-org .mdaa-org__band { grid-template-columns: minmax(0, 1fr); }
    .mdaa-org .mdaa-org__cell { grid-column: auto !important; }
    .mdaa-org .mdaa-org__banner { padding: var(--mdaa-sp-5); }
}

/* Stands : pastille de surface (m²) posée sur la photo, pas dans le flux */
.siam-stands__card .siam-stands__media { position: relative; display: block; }
.siam-stands__card .siam-stands__no-photo {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: var(--mdaa-ink-faint);
    background: var(--mdaa-navy-50);
    color: var(--mdaa-navy-400);
}
.siam-stands__card .siam-stands__no-photo::before {
    content: "";
    position: absolute;
    inset: 0;
    color: var(--mdaa-navy);
    background-image: var(--wax-dots);
    background-size: var(--wax-dots-size);
    opacity: .06;
}
.siam-stands__card .siam-stands__media .siam-stands__badge {
    position: absolute;
    top: 12px;
    bottom: auto;
    left: 12px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    width: auto;
    height: auto;
    min-height: 0;
    padding: 5px 12px;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-sm);
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: none;
    line-height: 1.2;
    white-space: nowrap;
    color: #fff;
    background: var(--mdaa-navy);
    border: 0;
    border-left: 4px solid var(--mdaa-orange);
    border-radius: var(--mdaa-r-sm);
    box-shadow: 0 2px 6px rgba(1, 32, 63, .22);
}
.siam-stands__card .siam-stands__media .siam-stands__badge + .siam-stands__badge { top: 50px; }

/* Stands : corps de carte (siam_stands_public_page.php) */
.siam-stands__card .siam-stands__body { gap: var(--mdaa-sp-2); padding: var(--mdaa-sp-5); }
.siam-stands__card .siam-stands__card-title { margin: 0; font-size: var(--mdaa-fs-lg); }
.siam-stands__card .siam-stands__code { font-size: var(--mdaa-fs-xs); letter-spacing: .04em; }
.siam-stands__card .siam-stands__desc {
    margin: var(--mdaa-sp-1) 0 0;
    padding: 0;
    font-size: var(--mdaa-fs-sm);
    line-height: 1.55;
    color: var(--mdaa-ink-soft);
}
.siam-stands__card .siam-stands__metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: var(--mdaa-sp-2) 0 0;
}
.siam-stands__card .siam-stands__metric {
    display: inline-flex;
    align-items: center;
    padding: 4px 11px;
    font-size: var(--mdaa-fs-xs);
    font-weight: 700;
    line-height: 1.3;
    color: var(--mdaa-navy-800);
    background: var(--mdaa-navy-50);
    border: 1px solid var(--mdaa-navy-100);
    border-radius: var(--mdaa-r-pill);
}
.siam-stands__card .siam-stands__avail {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: var(--mdaa-sp-1) 0 0;
    font-size: var(--mdaa-fs-sm);
    font-weight: 600;
    color: var(--mdaa-success);
}
.siam-stands__card .siam-stands__avail::before {
    content: "";
    width: 8px; height: 8px;
    flex: none;
    background: currentColor;
    border-radius: 50%;
}
.siam-stands__card .siam-stands__avail--full { color: var(--mdaa-danger); }
.siam-stands__card .siam-stands__price {
    margin-top: auto;
    padding-top: var(--mdaa-sp-3);
    border-top: 1px solid var(--mdaa-line-soft);
    width: 100%;
    font-size: var(--mdaa-fs-xl);
}
.siam-stands__card .siam-stands__price-note { margin-top: -4px; font-size: var(--mdaa-fs-xs); }
.siam-stands__card .siam-stands__footer { padding: 0 var(--mdaa-sp-5) var(--mdaa-sp-5); }
.siam-stands__card .siam-stands__footer > * { width: 100%; }

/* Stands : carte événement de la colonne latérale, fond bleu du logo */
.siam-stands__side .stand-event {
    overflow: hidden;
    padding: var(--mdaa-sp-6) var(--mdaa-sp-5) var(--mdaa-sp-5);
    color: #dbe6f1;
    background: var(--mdaa-navy);
    border: 0;
    box-shadow: var(--mdaa-sh-md);
}
.siam-stands__side .stand-event::after {
    content: "";
    position: absolute;
    inset: 0;
    color: var(--mdaa-orange);
    background-image: var(--wax-dots);
    background-size: var(--wax-dots-size);
    opacity: .08;
    pointer-events: none;
}
.siam-stands__side .stand-event > * { position: relative; z-index: 1; }
.siam-stands__side .stand-event__year {
    align-self: flex-start;
    color: #12202e;
    background: var(--mdaa-orange);
    border: 0;
}
.siam-stands__side .stand-event__eyebrow { margin: 0; color: var(--mdaa-orange-300); }
.siam-stands__side .stand-event__title { margin: 0; color: #fff; }
.siam-stands__side .stand-event__tagline,
.siam-stands__side .stand-event__intro { margin: 0; color: #c6d6e6; }
.siam-stands__side .stand-event__meta {
    display: flex;
    flex-direction: column;
    gap: var(--mdaa-sp-3);
    margin: var(--mdaa-sp-2) 0;
    padding: var(--mdaa-sp-4) 0;
    border-block: 1px solid rgba(255, 255, 255, .16);
}
.siam-stands__side .stand-event__item { align-items: flex-start; gap: var(--mdaa-sp-3); }
.siam-stands__side .stand-event__ico {
    width: 38px; height: 38px;
    color: var(--mdaa-orange);
    background: rgba(248, 144, 0, .14);
}
.siam-stands__side .stand-event__ico svg { width: 19px; height: 19px; }
.siam-stands__side .stand-event__lbl { color: #9db4cb; }
.siam-stands__side .stand-event__val { color: #fff; line-height: 1.45; }
.siam-stands__side .stand-event a { color: var(--mdaa-orange-300); }

/* Stands : note « compte artisan requis » détachée de la grille */
.siam-stands__main .siam-stands__login-note {
    display: flex;
    align-items: center;
    gap: var(--mdaa-sp-3);
    margin-top: var(--mdaa-sp-6);
    padding: var(--mdaa-sp-4) var(--mdaa-sp-5);
    color: var(--mdaa-navy-900);
    background: var(--mdaa-navy-50);
    border: 1px solid var(--mdaa-navy-100);
    border-left: 4px solid var(--mdaa-orange);
    border-radius: 0 var(--mdaa-r-md) var(--mdaa-r-md) 0;
}
.siam-stands__main .siam-stands__login-note::before {
    content: "";
    width: 20px; height: 20px;
    flex: none;
    background: var(--mdaa-navy);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.siam-stands__main .siam-stands__grid + .siam-stands__login-note,
.siam-stands__main .siam-stands__pagination + .siam-stands__login-note { margin-top: var(--mdaa-sp-6); }

/* --- Accueil Expo : bloc d'introduction (nvbb-xi) ------------------- */
.nvbb-xi { padding-block: var(--mdaa-sp-8); }
.nvbb-xi .nvbb-xi__card {
    display: flex;
    flex-direction: column;
    gap: var(--mdaa-sp-6);
    padding: calc(var(--mdaa-sp-6) + 5px) var(--mdaa-sp-6) var(--mdaa-sp-6);
}
.nvbb-xi svg:not([width]) { max-width: 24px; max-height: 24px; }

/* Faits : date, lieu, fondation */
.nvbb-xi .nvbb-xi__facts { display: flex; flex-direction: row; flex-wrap: wrap; gap: var(--mdaa-sp-2); }
.nvbb-xi .nvbb-xi__fact {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 14px;
    font-size: var(--mdaa-fs-sm);
    font-weight: 700;
    color: #fff;
    background: var(--mdaa-navy);
    border-radius: var(--mdaa-r-pill);
}
.nvbb-xi .nvbb-xi__fact svg { width: 16px; height: 16px; flex: none; color: var(--mdaa-orange); }
.nvbb-xi .nvbb-xi__fact--muted { color: var(--mdaa-navy-800); background: var(--mdaa-navy-50); }

/* Texte + chiffres clés */
.nvbb-xi .nvbb-xi__body { align-items: start; gap: var(--mdaa-sp-6); }
.nvbb-xi .nvbb-xi__lead { margin: 0 0 var(--mdaa-sp-3); font-size: var(--mdaa-fs-xl); line-height: 1.45; color: var(--mdaa-navy-900); }
.nvbb-xi .nvbb-xi__p { margin: 0; }
.nvbb-xi .nvbb-xi__kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--mdaa-sp-3); }
.nvbb-xi .nvbb-xi__kpi { padding: var(--mdaa-sp-4); border-left: 4px solid var(--mdaa-orange); border-radius: 0 var(--mdaa-r-md) var(--mdaa-r-md) 0; }
.nvbb-xi .nvbb-xi__kpi b { font-size: var(--mdaa-fs-2xl); }
.nvbb-xi .nvbb-xi__kpi span { line-height: 1.35; }

/* Trois piliers : le <i> vide devient une pastille wax */
.nvbb-xi .nvbb-xi__pillars { gap: var(--mdaa-sp-4); }
.nvbb-xi .nvbb-xi__pillar {
    display: flex;
    flex-direction: column;
    gap: var(--mdaa-sp-2);
    padding: var(--mdaa-sp-5);
    background: var(--mdaa-navy-50);
    border-radius: var(--mdaa-r-lg);
}
.nvbb-xi .nvbb-xi__pillar > i {
    display: block;
    width: 44px; height: 44px;
    color: #12202e;
    background: var(--mdaa-orange);
    background-image: var(--wax-dots);
    background-size: 22px 22px;
    border-radius: var(--mdaa-r-md);
}
.nvbb-xi .nvbb-xi__pillar:nth-child(2) > i { background-color: var(--mdaa-navy); color: var(--mdaa-orange); }
.nvbb-xi .nvbb-xi__pillar:nth-child(3) > i { background-color: var(--mdaa-terracotta); color: var(--mdaa-orange-300); }
.nvbb-xi .nvbb-xi__pillar h3 { margin: var(--mdaa-sp-1) 0 0; font-size: var(--mdaa-fs-lg); }
.nvbb-xi .nvbb-xi__pillar p { margin: 0; font-size: var(--mdaa-fs-md); color: var(--mdaa-ink-soft); }

/* Points forts */
.nvbb-xi ul.nvbb-xi__specs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--mdaa-sp-3);
    margin: 0;
    padding: var(--mdaa-sp-4) 0 0;
    list-style: none;
    border-top: 1px solid var(--mdaa-line-soft);
}
.nvbb-xi ul.nvbb-xi__specs > li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
    font-size: var(--mdaa-fs-md);
    color: var(--mdaa-ink-soft);
}
.nvbb-xi ul.nvbb-xi__specs > li > svg {
    width: 22px; height: 22px;
    flex: none;
    padding: 4px;
    color: #fff;
    background: var(--mdaa-success);
    border-radius: 50%;
}
.nvbb-xi ul.nvbb-xi__specs b { color: var(--mdaa-navy-900); }

@media (max-width: 720px) {
    .nvbb-xi .nvbb-xi__card { padding: calc(var(--mdaa-sp-5) + 5px) var(--mdaa-sp-5) var(--mdaa-sp-5); }
    .nvbb-xi .nvbb-xi__lead { font-size: var(--mdaa-fs-lg); }
}

/* =====================================================================
   Accueil Expo — rythme de fonds (la page était trop blanche)
   ===================================================================== */
.nvbb-xi { background: var(--mdaa-cream); }
.mdaa-siam-section-poles,
.mdaa-siam-section-participation,
.mdaa-siam-section-partners,
.mdaa-siam-section-programme,
.mdaa-siam-section-location,
.mdaa-siam-section-milestones,
.mdaa-siam-section-eligibility { position: relative; overflow: hidden; }
.mdaa-siam-section-poles > .mdaa-container,
.mdaa-siam-section-participation > .mdaa-container,
.mdaa-siam-section-partners > .mdaa-container,
.mdaa-siam-section-programme > .mdaa-container,
.mdaa-siam-section-location > .mdaa-container,
.mdaa-siam-section-milestones > .mdaa-container,
.mdaa-siam-section-eligibility > .mdaa-container { position: relative; z-index: 1; }

/* Pôles : bleu très clair + pois wax discrets */
.mdaa-siam-section-poles { background: var(--mdaa-navy-50); }
.mdaa-siam-section-poles::before {
    content: "";
    position: absolute; inset: 0;
    color: var(--mdaa-navy);
    background-image: var(--wax-dots);
    background-size: var(--wax-dots-size);
    opacity: .05;
}
/* Participation : bleu du logo, texte clair */
.mdaa-siam-section-participation { background: var(--mdaa-navy); }
.mdaa-siam-section-participation::before {
    content: "";
    position: absolute; inset: 0;
    color: var(--mdaa-orange);
    background-image: var(--wax-bogolan);
    background-size: var(--wax-bogolan-size);
    opacity: .08;
}
.mdaa-siam-section-participation .mdaa-siam-section-title { color: #fff; }
.mdaa-siam-section-participation .mdaa-siam-section-sub { color: #c6d6e6; }
.mdaa-siam-section-participation .mdaa-siam-section-overline { color: var(--mdaa-orange-300); }
/* Partenaires : crème */
.mdaa-siam-section-partners { background: var(--mdaa-cream); }
/* Programme : bleu très clair */
.mdaa-siam-section-programme { background: var(--mdaa-navy-50); }
/* Lieu : blanc, séparé par des bandes kente */
.mdaa-siam-section-location::before,
.mdaa-siam-section-location::after {
    content: "";
    position: absolute; left: 0; right: 0;
    height: 6px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
}
.mdaa-siam-section-location::before { top: 0; }
.mdaa-siam-section-location::after { bottom: 0; }
/* Jalons et éligibilité : crème */
.mdaa-siam-section-milestones,
.mdaa-siam-section-eligibility { background: var(--mdaa-cream); }

/* =====================================================================
   Carte de pôle : bloc contact en pied de carte, fond bleu du logo
   ===================================================================== */
.mdaa-siam-section-poles .mdaa-siam-pole {
    display: flex;
    flex-direction: column;
    padding-bottom: 0;
    overflow: hidden;
    border-top: 4px solid var(--mdaa-orange);
}
.mdaa-siam-section-poles .mdaa-siam-pole__lead {
    margin-top: auto;
    padding-top: var(--mdaa-sp-3);
}
.mdaa-siam-section-poles ul.mdaa-siam-pole__contact {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    margin: var(--mdaa-sp-4) calc(var(--mdaa-sp-5) * -1) 0;
    padding: var(--mdaa-sp-4) var(--mdaa-sp-5) var(--mdaa-sp-5);
    color: #dbe6f1;
    background: var(--mdaa-navy);
    border-top: 0;
    position: relative;
}
.mdaa-siam-section-poles ul.mdaa-siam-pole__contact::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 5px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
}
.mdaa-siam-section-poles ul.mdaa-siam-pole__contact > li {
    gap: 10px;
    font-size: var(--mdaa-fs-sm);
    line-height: 1.35;
    color: #dbe6f1;
}
.mdaa-siam-section-poles ul.mdaa-siam-pole__contact > li:first-child { padding-top: 6px; }
.mdaa-siam-section-poles ul.mdaa-siam-pole__contact > li > svg {
    width: 30px; height: 30px;
    padding: 7px;
    color: var(--mdaa-orange);
    background: rgba(248, 144, 0, .15);
    border-radius: var(--mdaa-r-sm);
}
.mdaa-siam-section-poles ul.mdaa-siam-pole__contact > li:first-child span {
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-md);
    font-weight: 700;
    color: #fff;
}
.mdaa-siam-section-poles ul.mdaa-siam-pole__contact .mdaa-siam-pole__pole-no {
    display: inline-flex;
    padding: 2px 10px;
    font-size: var(--mdaa-fs-xs);
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #12202e;
    background: var(--mdaa-orange);
    border-radius: var(--mdaa-r-pill);
}
.mdaa-siam-section-poles ul.mdaa-siam-pole__contact a {
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    overflow-wrap: anywhere;
}
.mdaa-siam-section-poles ul.mdaa-siam-pole__contact a:hover { color: var(--mdaa-orange-300); text-decoration: underline; }
.mdaa-siam-section-poles ul.mdaa-siam-pole__contact .is-pending { color: #9db4cb; }

/* =====================================================================
   INFOS PRATIQUES — refonte (siam_practical_page.php)
   ===================================================================== */
.mdaa-siam-section-practical { padding-top: var(--mdaa-sp-4); background: var(--mdaa-navy-50); }

/* En-tête : bandeau marine plein */
.mdaa-siam-section-practical .mdaa-siam-section-head {
    position: relative;
    max-width: none;
    margin: 0 0 var(--mdaa-sp-6);
    padding: var(--mdaa-sp-7) var(--mdaa-sp-6) calc(var(--mdaa-sp-7) + 8px);
    text-align: left;
    overflow: hidden;
    background:
        radial-gradient(60% 120% at 100% 0%, rgba(248, 144, 0, .28), transparent 60%),
        var(--mdaa-navy);
    border-radius: var(--mdaa-r-xl);
}
.mdaa-siam-section-practical .mdaa-siam-section-head::before {
    content: "";
    position: absolute; inset: 0;
    color: var(--mdaa-orange);
    background-image: var(--wax-bogolan);
    background-size: var(--wax-bogolan-size);
    opacity: .1;
}
.mdaa-siam-section-practical .mdaa-siam-section-head::after {
    content: "";
    position: absolute; inset: auto 0 0 0;
    height: 8px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
}
.mdaa-siam-section-practical .mdaa-siam-section-head > * { position: relative; z-index: 1; }
.mdaa-siam-section-practical .mdaa-siam-section-overline { color: var(--mdaa-orange-300); }
.mdaa-siam-section-practical .mdaa-siam-section-title {
    margin: 0 0 var(--mdaa-sp-2);
    font-size: var(--mdaa-fs-4xl);
    text-align: left;
    color: #fff;
}
.mdaa-siam-section-practical .mdaa-siam-section-title::after { display: none; }
.mdaa-siam-section-practical .mdaa-siam-section-sub {
    max-width: 60ch;
    margin: 0;
    text-align: left;
    color: #cddbe9;
}

/* Onglets : colonne marine */
.mdaa-siam-section-practical .mdaa-siam-tabs { grid-template-columns: minmax(240px, 300px) minmax(0, 1fr); gap: var(--mdaa-sp-5); }
.mdaa-siam-section-practical .mdaa-siam-tabs .mdaa-siam-tabs__nav {
    padding: var(--mdaa-sp-3);
    gap: 4px;
    background: var(--mdaa-navy-900);
    border: 0;
    box-shadow: var(--mdaa-sh-md);
}
.mdaa-siam-section-practical .mdaa-siam-tabs .mdaa-siam-tab {
    padding: 11px 12px;
    color: #c6d6e6;
    background: transparent;
    box-shadow: none;
}
.mdaa-siam-section-practical .mdaa-siam-tabs .mdaa-siam-tab:hover { color: #fff; background: rgba(255, 255, 255, .07); }
.mdaa-siam-section-practical .mdaa-siam-tabs .mdaa-siam-tab.is-active {
    color: #12202e;
    background: var(--mdaa-orange);
    box-shadow: 0 4px 12px rgba(248, 144, 0, .3);
}
.mdaa-siam-section-practical .mdaa-siam-tab__ico { color: var(--mdaa-orange); background: rgba(248, 144, 0, .14); }
.mdaa-siam-section-practical .mdaa-siam-tab.is-active .mdaa-siam-tab__ico { color: var(--mdaa-orange); background: var(--mdaa-navy-900); }
.mdaa-siam-section-practical .mdaa-siam-tab__label { font-size: var(--mdaa-fs-md); }
.mdaa-siam-section-practical .mdaa-siam-tab.is-active .mdaa-siam-tab__chev { color: #12202e; }

/* Panneau */
.mdaa-siam-section-practical .mdaa-siam-tabs__panels .mdaa-siam-panel {
    padding: 0;
    overflow: hidden;
    background: #fff;
    border: 0;
    box-shadow: var(--mdaa-sh-md);
}
.mdaa-siam-section-practical .mdaa-siam-tabs__panels .mdaa-siam-panel::before { display: none; }
.mdaa-siam-section-practical .mdaa-siam-panel__head {
    position: relative;
    gap: var(--mdaa-sp-4);
    margin: 0;
    padding: var(--mdaa-sp-5) var(--mdaa-sp-6);
    background: var(--mdaa-cream);
    border-bottom: 1px solid var(--mdaa-sand);
}
.mdaa-siam-section-practical .mdaa-siam-panel__head::after {
    content: "";
    position: absolute;
    right: 0; top: 0; bottom: 0;
    width: 40%;
    color: var(--mdaa-orange);
    background-image: var(--wax-dots);
    background-size: var(--wax-dots-size);
    opacity: .16;
    mask-image: linear-gradient(90deg, transparent, #000);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000);
}
.mdaa-siam-section-practical .mdaa-siam-panel__ico {
    width: 56px; height: 56px;
    color: #fff;
    background: var(--mdaa-navy);
    border-radius: var(--mdaa-r-md);
}
.mdaa-siam-section-practical .mdaa-siam-panel__ico svg { width: 28px; height: 28px; }
.mdaa-siam-section-practical .mdaa-siam-panel__title { position: relative; z-index: 1; font-size: var(--mdaa-fs-2xl); }
.mdaa-siam-section-practical .mdaa-siam-panel__text {
    margin: 0;
    padding: var(--mdaa-sp-6);
    font-size: var(--mdaa-fs-lg);
    line-height: 1.65;
    color: var(--mdaa-ink);
}
.mdaa-siam-section-practical ul.mdaa-siam-panel__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: var(--mdaa-sp-3);
    margin: 0;
    padding: var(--mdaa-sp-6);
}
.mdaa-siam-section-practical .mdaa-siam-panel__line {
    margin: 0;
    padding: var(--mdaa-sp-4);
    font-size: var(--mdaa-fs-md);
    line-height: 1.55;
    color: var(--mdaa-ink);
    background: var(--mdaa-navy-50);
    border-radius: var(--mdaa-r-md);
}
.mdaa-siam-section-practical .mdaa-siam-panel__line::before {
    width: 22px; height: 22px;
    margin-top: 0;
    background: var(--mdaa-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312202e' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 12px no-repeat;
}

/* Contacts */
.mdaa-siam-section-practical-contact { background: #fff; }
.mdaa-siam-section-practical-contact .mdaa-siam-contact {
    gap: 6px;
    padding: var(--mdaa-sp-5);
    padding-left: calc(var(--mdaa-sp-5) + 58px);
    background: var(--mdaa-navy-50);
    border: 0;
    box-shadow: none;
}
.mdaa-siam-section-practical-contact .mdaa-siam-contact::before {
    content: "";
    position: absolute;
    left: var(--mdaa-sp-5); top: var(--mdaa-sp-5);
    width: 44px; height: 44px;
    background: var(--mdaa-navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f89000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E") center / 22px no-repeat;
    border-radius: var(--mdaa-r-pill);
}
.mdaa-siam-section-practical-contact .mdaa-siam-contact__role {
    margin: 0 0 var(--mdaa-sp-2);
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--mdaa-orange-700);
}

/* CTA final : section sur fond crème */
.mdaa-siam-section-practical-cta { padding-block: 0 var(--mdaa-sp-8); background: #fff; }

@media (max-width: 900px) {
    .mdaa-siam-section-practical .mdaa-siam-tabs { grid-template-columns: minmax(0, 1fr); }
    .mdaa-siam-section-practical .mdaa-siam-tabs .mdaa-siam-tab.is-active { box-shadow: none; }
}
@media (max-width: 720px) {
    .mdaa-siam-section-practical .mdaa-siam-section-head { padding: var(--mdaa-sp-6) var(--mdaa-sp-5) calc(var(--mdaa-sp-6) + 8px); }
    .mdaa-siam-section-practical .mdaa-siam-panel__head,
    .mdaa-siam-section-practical .mdaa-siam-panel__text,
    .mdaa-siam-section-practical ul.mdaa-siam-panel__list { padding: var(--mdaa-sp-5); }
}

/* =====================================================================
   SUIVI DE COMMANDE — refonte
   Saisie : public/track_order_search_page.php (surcharge le <style> inline)
   Résultat : track/track_order_page.php
   ===================================================================== */

/* --- Page de saisie -------------------------------------------------- */
.mdaa-section > .tcp-wrap {
    position: relative;
    max-width: 720px;
    margin: var(--mdaa-sp-5) auto var(--mdaa-sp-6);
    padding: 0;
    overflow: hidden;
    background: #fff;
    border-radius: var(--mdaa-r-xl);
    box-shadow: var(--mdaa-sh-lg);
}
.mdaa-section > .tcp-wrap .tcp-head {
    position: relative;
    margin: 0;
    padding: var(--mdaa-sp-7) var(--mdaa-sp-6) calc(var(--mdaa-sp-6) + 8px);
    text-align: center;
    background:
        radial-gradient(70% 120% at 50% 0%, rgba(248, 144, 0, .25), transparent 65%),
        var(--mdaa-navy);
}
.mdaa-section > .tcp-wrap .tcp-head::before {
    content: "";
    position: absolute; inset: 0;
    color: var(--mdaa-orange);
    background-image: var(--wax-bogolan);
    background-size: var(--wax-bogolan-size);
    opacity: .1;
}
.mdaa-section > .tcp-wrap .tcp-head::after {
    content: "";
    position: absolute; inset: auto 0 0 0;
    height: 8px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
}
.mdaa-section > .tcp-wrap .tcp-head > * { position: relative; z-index: 1; }
.mdaa-section > .tcp-wrap .tcp-head h1 {
    margin: 0 0 var(--mdaa-sp-2);
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-3xl);
    color: #fff;
}
.mdaa-section > .tcp-wrap .tcp-head h1::before {
    content: "";
    display: block;
    width: 60px; height: 60px;
    margin: 0 auto var(--mdaa-sp-4);
    border-radius: var(--mdaa-r-md);
    background: var(--mdaa-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312202e' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8 12 3 3 8v8l9 5 9-5z'/%3E%3Cpath d='M3 8l9 5 9-5'/%3E%3Cpath d='M12 13v8'/%3E%3C/svg%3E") center / 30px no-repeat;
}
.mdaa-section > .tcp-wrap .tcp-head p {
    max-width: 520px;
    margin: 0 auto;
    font-size: var(--mdaa-fs-md);
    color: #cddbe9;
}
.mdaa-section > .tcp-wrap .tcp-form {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: var(--mdaa-sp-6) var(--mdaa-sp-6) 0;
    padding: 6px;
    background: #fff;
    border: 2px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-pill);
    transition: border-color var(--mdaa-transition), box-shadow var(--mdaa-transition);
}
.mdaa-section > .tcp-wrap .tcp-form:focus-within { border-color: var(--mdaa-orange); box-shadow: var(--mdaa-sh-ring); }
.mdaa-section > .tcp-wrap .tcp-form input {
    flex: 1;
    min-width: 200px;
    min-height: 52px;
    padding: 0 var(--mdaa-sp-5);
    font-family: var(--mdaa-font-mono);
    font-size: var(--mdaa-fs-lg);
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--mdaa-navy-900);
    background: transparent;
    border: 0;
    border-radius: var(--mdaa-r-pill);
    box-shadow: none;
}
.mdaa-section > .tcp-wrap .tcp-form input:focus { outline: none; box-shadow: none; }
.mdaa-section > .tcp-wrap .tcp-form input::placeholder { letter-spacing: .02em; text-transform: none; font-family: var(--mdaa-font); }
.mdaa-section > .tcp-wrap .tcp-form button {
    min-height: 52px;
    padding: 0 var(--mdaa-sp-6);
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-md);
    font-weight: 700;
    color: #12202e;
    background: var(--mdaa-orange);
    border: 0;
    border-radius: var(--mdaa-r-pill);
    transition: background var(--mdaa-transition);
}
.mdaa-section > .tcp-wrap .tcp-form button:hover { background: var(--mdaa-orange-500); }
.mdaa-section > .tcp-wrap .tcp-hint {
    margin: var(--mdaa-sp-3) var(--mdaa-sp-6) 0;
    padding-bottom: var(--mdaa-sp-6);
    font-size: var(--mdaa-fs-sm);
    text-align: center;
    color: var(--mdaa-ink-faint);
}
.mdaa-section > .tcp-wrap .tcp-alert--err {
    display: block;
    margin: 0 var(--mdaa-sp-6) var(--mdaa-sp-6);
    padding: var(--mdaa-sp-4) var(--mdaa-sp-5);
    color: #6d1611;
    background: var(--mdaa-danger-bg);
    border: 0;
    border-left: 5px solid var(--mdaa-danger);
    border-radius: 0 var(--mdaa-r-md) var(--mdaa-r-md) 0;
}
.mdaa-section > .tcp-wrap .tcp-alert h3 { margin: 0 0 4px; font-size: var(--mdaa-fs-md); color: var(--mdaa-danger); }
.mdaa-section > .tcp-wrap .tcp-hint:has(+ .tcp-alert) { padding-bottom: var(--mdaa-sp-4); }

/* --- Page de résultat ------------------------------------------------- */
.mdaa-track-hero {
    padding: var(--mdaa-sp-7) 0 calc(var(--mdaa-sp-7) + 8px);
    text-align: left;
}
.mdaa-track-hero::before {
    content: "";
    position: absolute; inset: 0;
    color: var(--mdaa-orange);
    background-image: var(--wax-bogolan);
    background-size: var(--wax-bogolan-size);
    opacity: .1;
}
.mdaa-track-hero::after {
    content: "";
    position: absolute; inset: auto 0 0 0;
    height: 8px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
}
.mdaa-track-hero .mdaa-container { position: relative; z-index: 2; }
.mdaa-track-hero__inner { display: flex; align-items: center; gap: var(--mdaa-sp-5); }
.mdaa-track-hero .mdaa-track-hero__icon { width: 64px; height: 64px; margin: 0; flex: none; border-radius: var(--mdaa-r-md); }
.mdaa-track-hero__icon svg { width: 30px; height: 30px; }
.mdaa-track-hero .mdaa-track-hero__title { margin: 2px 0 var(--mdaa-sp-2); }
.mdaa-track-hero .mdaa-track-hero__code {
    display: inline-block;
    margin: 0;
    padding: 6px 14px;
    font-size: var(--mdaa-fs-lg);
    color: #fff;
    background: rgba(255, 255, 255, .1);
    border: 1px dashed rgba(255, 255, 255, .35);
    border-radius: var(--mdaa-r-sm);
}

.mdaa-track-flash { margin: var(--mdaa-sp-5) 0 0; }
section.mdaa-track-sec {
    margin: 0;
    padding: var(--mdaa-sp-6) 0 0;
    background: none;
    border: 0;
    box-shadow: none;
}
section.mdaa-track-sec:last-of-type { padding-bottom: var(--mdaa-sp-8); }

/* Frise d'état : carte, étapes horizontales */
.mdaa-track-timeline {
    padding: var(--mdaa-sp-6);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-lg);
    box-shadow: var(--mdaa-sh-sm);
}
.mdaa-track-timeline .mdaa-track-section-title {
    display: flex;
    align-items: center;
    gap: var(--mdaa-sp-2);
    margin: 0 0 var(--mdaa-sp-6);
    font-size: var(--mdaa-fs-xl);
    text-align: left;
}
.mdaa-track-section-title svg { width: 22px; height: 22px; color: var(--mdaa-orange-700); }
ol.mdaa-track-timeline__steps {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}
.mdaa-track-timeline__steps .mdaa-track-step {
    position: relative;
    flex-direction: column;
    align-items: center;
    gap: var(--mdaa-sp-3);
    margin: 0;
    text-align: center;
}
.mdaa-track-timeline__steps .mdaa-track-step::before {
    content: "";
    position: absolute;
    top: 21px; bottom: auto;
    left: calc(50% + 26px);
    right: calc(-50% + 26px);
    width: auto;
    height: 3px;
    background: var(--mdaa-line);
    border-radius: 3px;
}
.mdaa-track-timeline__steps .mdaa-track-step:last-child::before { display: none; }
.mdaa-track-timeline__steps .mdaa-track-step--done::before { background: var(--mdaa-success); }
.mdaa-track-step .mdaa-track-step__icon {
    position: relative;
    z-index: 1;
    width: 44px; height: 44px;
    color: var(--mdaa-ink-faint);
    background: var(--mdaa-line-soft);
    border: 3px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 1px var(--mdaa-line);
}
.mdaa-track-step__icon svg { width: 18px; height: 18px; }
.mdaa-track-step--done .mdaa-track-step__icon { color: #fff; background: var(--mdaa-success); box-shadow: 0 0 0 1px var(--mdaa-success); }
.mdaa-track-step--current .mdaa-track-step__icon,
.mdaa-track-step--active .mdaa-track-step__icon {
    color: #12202e;
    background: var(--mdaa-orange);
    box-shadow: 0 0 0 5px rgba(248, 144, 0, .22);
}
.mdaa-track-step--failed .mdaa-track-step__icon,
.mdaa-track-step--cancelled .mdaa-track-step__icon { color: #fff; background: var(--mdaa-danger); box-shadow: 0 0 0 1px var(--mdaa-danger); }
.mdaa-track-step__content { display: flex; flex-direction: column; gap: 2px; padding: 0 6px; }
.mdaa-track-step__content strong { font-family: var(--mdaa-font-display); font-size: var(--mdaa-fs-sm); line-height: 1.3; color: var(--mdaa-navy-900); }
.mdaa-track-step--pending .mdaa-track-step__content strong,
.mdaa-track-step--todo .mdaa-track-step__content strong { color: var(--mdaa-ink-faint); font-weight: 600; }
.mdaa-track-step__content small { font-size: var(--mdaa-fs-xs); color: var(--mdaa-ink-faint); }

/* Suivi colis + info publique */
.mdaa-track-parcel-cta.mdaa-alert { margin: 0; align-items: center; border-left: 0; border-radius: var(--mdaa-r-lg); }
.mdaa-track-parcel-cta__icon svg { width: 22px; height: 22px; }
.mdaa-track-parcel-cta__body { display: flex; flex-direction: column; gap: 2px; }
.mdaa-track-parcel-cta__btn svg { width: 18px; height: 18px; }
.mdaa-track-public-info.mdaa-alert {
    margin: 0;
    flex-direction: column;
    gap: 4px;
    background: var(--mdaa-navy-50);
    border-left-color: var(--mdaa-orange);
}

/* Commande introuvable */
.mdaa-track-notfound {
    max-width: 580px;
    margin: var(--mdaa-sp-5) auto;
    padding: var(--mdaa-sp-7) var(--mdaa-sp-6);
    background: #fff;
    border-radius: var(--mdaa-r-xl);
    box-shadow: var(--mdaa-sh-lg);
    position: relative;
    overflow: hidden;
}
.mdaa-track-notfound::before {
    content: "";
    position: absolute; inset: 0 0 auto 0;
    height: 6px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
}
.mdaa-track-notfound .mdaa-track-notfound__code {
    display: inline-block;
    margin: var(--mdaa-sp-3) 0 var(--mdaa-sp-5);
    padding: 6px 14px;
    font-size: var(--mdaa-fs-lg);
    background: var(--mdaa-navy-50);
    border: 1px dashed var(--mdaa-navy-200);
    border-radius: var(--mdaa-r-sm);
}
.mdaa-track-notfound .mdaa-btn svg, .mdaa-track-notfound__back svg { width: 18px; height: 18px; }
.mdaa-track-notfound__back { margin-top: var(--mdaa-sp-4); }
.mdaa-track-notfound__back a { display: inline-flex; align-items: center; gap: 6px; }

@media (max-width: 720px) {
    ol.mdaa-track-timeline__steps { grid-auto-flow: row; grid-auto-columns: auto; gap: var(--mdaa-sp-4); }
    .mdaa-track-timeline__steps .mdaa-track-step { flex-direction: row; align-items: flex-start; text-align: left; }
    .mdaa-track-timeline__steps .mdaa-track-step::before {
        top: 46px; bottom: -18px;
        left: 20px; right: auto;
        width: 3px; height: auto;
    }
    .mdaa-track-step__content { padding: 8px 0 0; }
    .mdaa-section > .tcp-wrap .tcp-form { border-radius: var(--mdaa-r-lg); margin-inline: var(--mdaa-sp-4); }
    .mdaa-section > .tcp-wrap .tcp-form button { width: 100%; }
    .mdaa-track-hero__inner { align-items: flex-start; }
}

/* =====================================================================
   SUIVI COLIS (public/track_parcel_page.php) — mêmes blocs que la saisie
   de commande ; compléments : bouton avec icône, carte résultat, étapes
   ===================================================================== */
.tcp-wrap .tcp-form button {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 8px;
    white-space: nowrap;
}
.tcp-wrap .tcp-form button svg { width: 18px; height: 18px; flex: none; }
.tcp-wrap svg:not([width]) { max-width: 24px; max-height: 24px; }

/* Alertes */
.mdaa-section > .tcp-wrap .tcp-alert {
    display: block;
    margin: 0 var(--mdaa-sp-6) var(--mdaa-sp-6);
    padding: var(--mdaa-sp-4) var(--mdaa-sp-5);
    border: 0;
    border-radius: 0 var(--mdaa-r-md) var(--mdaa-r-md) 0;
}
.mdaa-section > .tcp-wrap .tcp-alert--warn {
    color: #6f4504;
    background: var(--mdaa-warning-bg);
    border-left: 5px solid var(--mdaa-warning);
}
.mdaa-section > .tcp-wrap .tcp-alert--warn h3 { color: var(--mdaa-warning); }
.mdaa-section > .tcp-wrap .tcp-card .tcp-alert { margin: var(--mdaa-sp-5) 0 0; }
.mdaa-section > .tcp-wrap .tcp-contact {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: var(--mdaa-sp-3);
    padding: 0;
    font-weight: 700;
    color: var(--mdaa-danger);
    background: none;
    text-decoration: none;
}
.mdaa-section > .tcp-wrap .tcp-contact svg { width: 16px; height: 16px; }

/* Carte résultat */
.mdaa-section > .tcp-wrap .tcp-card {
    margin: 0 var(--mdaa-sp-6) var(--mdaa-sp-6);
    padding: 0;
    background: none;
    border: 0;
    box-shadow: none;
}
.mdaa-section > .tcp-wrap .tcp-meta {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: var(--mdaa-sp-3);
    margin: 0 0 var(--mdaa-sp-5);
}
.mdaa-section > .tcp-wrap .tcp-meta__item {
    padding: var(--mdaa-sp-3) var(--mdaa-sp-4);
    background: var(--mdaa-navy-50);
    border-left: 4px solid var(--mdaa-orange);
    border-radius: 0 var(--mdaa-r-sm) var(--mdaa-r-sm) 0;
}
.mdaa-section > .tcp-wrap .tcp-meta__val.mono { font-family: var(--mdaa-font-mono); letter-spacing: .06em; }

/* Étapes du colis : frise verticale */
.mdaa-section > .tcp-wrap ul.tcp-steps {
    display: flex;
    flex-direction: column;
    gap: var(--mdaa-sp-4);
    margin: 0;
    padding: var(--mdaa-sp-5);
    list-style: none;
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-lg);
}
.mdaa-section > .tcp-wrap .tcp-step { align-items: flex-start; gap: var(--mdaa-sp-4); margin: 0; }
.mdaa-section > .tcp-wrap .tcp-step::before { top: 40px; left: 17px; bottom: -20px; width: 3px; border-radius: 3px; }
.mdaa-section > .tcp-wrap .tcp-step__dot {
    position: relative;
    z-index: 1;
    width: 36px; height: 36px;
    color: var(--mdaa-ink-faint);
    background: var(--mdaa-line-soft);
    border: 3px solid #fff;
    box-shadow: 0 0 0 1px var(--mdaa-line);
}
.mdaa-section > .tcp-wrap .tcp-step__dot svg { width: 16px; height: 16px; }
.mdaa-section > .tcp-wrap .tcp-step--done .tcp-step__dot,
.mdaa-section > .tcp-wrap .tcp-step.is-done .tcp-step__dot { color: #fff; background: var(--mdaa-success); box-shadow: 0 0 0 1px var(--mdaa-success); }
.mdaa-section > .tcp-wrap .tcp-step--done::before,
.mdaa-section > .tcp-wrap .tcp-step.is-done::before { background: var(--mdaa-success); }
.mdaa-section > .tcp-wrap .tcp-step--current .tcp-step__dot,
.mdaa-section > .tcp-wrap .tcp-step.is-current .tcp-step__dot { color: #12202e; background: var(--mdaa-orange); box-shadow: 0 0 0 5px rgba(248, 144, 0, .22); }
.mdaa-section > .tcp-wrap .tcp-step--failed .tcp-step__dot,
.mdaa-section > .tcp-wrap .tcp-step.is-failed .tcp-step__dot { color: #fff; background: var(--mdaa-danger); box-shadow: 0 0 0 1px var(--mdaa-danger); }
.mdaa-section > .tcp-wrap .tcp-step__body { display: flex; flex-direction: column; gap: 2px; padding-top: 6px; }
.mdaa-section > .tcp-wrap .tcp-step__label { font-family: var(--mdaa-font-display); font-weight: 700; font-size: var(--mdaa-fs-md); color: var(--mdaa-navy-900); }
.mdaa-section > .tcp-wrap .tcp-step--pending .tcp-step__label,
.mdaa-section > .tcp-wrap .tcp-step--todo .tcp-step__label { color: var(--mdaa-ink-faint); font-weight: 600; }

/* Historique détaillé */
.mdaa-section > .tcp-wrap .tcp-detail {
    margin: var(--mdaa-sp-5) 0 0;
    padding: var(--mdaa-sp-5);
    background: var(--mdaa-cream);
    border: 1px solid var(--mdaa-sand);
    border-radius: var(--mdaa-r-lg);
    box-shadow: none;
}
.mdaa-section > .tcp-wrap .tcp-detail h3 { margin: 0 0 var(--mdaa-sp-3); font-size: var(--mdaa-fs-lg); }
.mdaa-section > .tcp-wrap .tcp-detail__row {
    display: block;
    padding: var(--mdaa-sp-3) 0 var(--mdaa-sp-3) var(--mdaa-sp-4);
    font-size: var(--mdaa-fs-sm);
    line-height: 1.55;
    color: var(--mdaa-ink-soft);
    border: 0;
    border-left: 3px solid var(--mdaa-orange-300);
}
.mdaa-section > .tcp-wrap .tcp-detail__row + .tcp-detail__row { margin-top: 4px; }
.mdaa-section > .tcp-wrap .tcp-detail__row b { color: var(--mdaa-navy-900); }

@media (max-width: 720px) {
    .mdaa-section > .tcp-wrap .tcp-card,
    .mdaa-section > .tcp-wrap .tcp-alert { margin-inline: var(--mdaa-sp-4); }
}

/* =====================================================================
   RETRAIT EN BOUTIQUE (mbae_pickup/*.php) — carte identique au suivi
   L'en-tête bleu est porté par l'icône, le titre et le chapeau eux-mêmes
   (pas de hauteur fixe : il s'adapte à la longueur du texte).
   ===================================================================== */
.mbae-pickup {
    position: relative;
    max-width: 620px;
    margin: var(--mdaa-sp-4) auto var(--mdaa-sp-7);
    padding: 0 0 var(--mdaa-sp-6);
    overflow: hidden;
    background: #fff;
    border-radius: var(--mdaa-r-xl);
    box-shadow: var(--mdaa-sh-lg);
}
.mbae-pickup > .mbae-pickup__icon,
.mbae-pickup > .mbae-pickup__title,
.mbae-pickup > .mbae-pickup__lead { background-color: var(--mdaa-navy); }
/* Motif wax uniquement sur le bloc icône (currentColor = orange très pâle) */
.mbae-pickup > .mbae-pickup__icon {
    background-image: var(--wax-bogolan);
    background-size: var(--wax-bogolan-size);
}
.mbae-pickup > .mbae-pickup__icon {
    display: block;
    width: 100%; height: auto;
    margin: 0;
    padding: var(--mdaa-sp-6) 0 var(--mdaa-sp-4);
    color: rgba(248, 144, 0, .1);
    border-radius: 0;
    text-align: center;
}
.mbae-pickup > .mbae-pickup__icon svg {
    display: inline-block;
    width: 60px; height: 60px;
    max-width: none; max-height: none;
    padding: 15px;
    color: #12202e;
    background: var(--mdaa-orange);
    border-radius: var(--mdaa-r-md);
}
.mbae-pickup > .mbae-pickup__title {
    margin: 0;
    padding: 0 var(--mdaa-sp-6) var(--mdaa-sp-3);
    font-size: var(--mdaa-fs-3xl);
    text-align: center;
    color: #fff;
}
.mbae-pickup > .mbae-pickup__lead {
    margin: 0;
    padding: 0 var(--mdaa-sp-6) calc(var(--mdaa-sp-6) + 8px);
    font-size: var(--mdaa-fs-md);
    text-align: center;
    color: #cddbe9;
}
/* Bande kente sous le dernier élément bleu */
.mbae-pickup > .mbae-pickup__lead,
.mbae-pickup > .mbae-pickup__title:not(:has(+ .mbae-pickup__lead)) {
    background-image: var(--wax-kente);
    background-size: 48px 8px;
    background-position: 0 100%;
    background-repeat: repeat-x;
}
.mbae-pickup > .mbae-pickup__title:not(:has(+ .mbae-pickup__lead)) { padding-bottom: calc(var(--mdaa-sp-6) + 8px); }

/* Corps */
.mbae-pickup > .mdaa-alert,
.mbae-pickup .mbae-pickup__form,
.mbae-pickup .mbae-pickup__order,
.mbae-pickup .mbae-pickup__resend,
.mbae-pickup > p:not([class]),
.mbae-pickup > .mdaa-btn,
.mbae-pickup > a { margin-inline: var(--mdaa-sp-6); }
.mbae-pickup > .mdaa-alert { margin-top: var(--mdaa-sp-5); margin-bottom: 0; }
.mbae-pickup .mbae-pickup__form { display: flex; flex-direction: column; gap: 6px; margin-top: var(--mdaa-sp-6); }
.mbae-pickup .mbae-pickup__label { margin: var(--mdaa-sp-2) 0 0; }
.mbae-pickup .mbae-pickup__input { background: var(--mdaa-navy-50); border-color: var(--mdaa-navy-100); }
.mbae-pickup .mbae-pickup__input:focus { background: #fff; }
.mbae-pickup .mbae-pickup__input--otp {
    min-height: 64px;
    font-size: var(--mdaa-fs-2xl);
    letter-spacing: .5em;
    padding-left: .5em;
}
.mbae-pickup .mbae-pickup__submit { margin-top: var(--mdaa-sp-4); }
.mbae-pickup .mbae-pickup__resend { margin-top: var(--mdaa-sp-4); text-align: center; }
.mbae-pickup .mbae-pickup__resend a { font-weight: 700; color: var(--mdaa-navy-600); }

/* Récap commande (page confirmation) */
.mbae-pickup .mbae-pickup__order {
    margin-top: var(--mdaa-sp-6);
    background: var(--mdaa-navy-50);
    border: 1px dashed var(--mdaa-navy-200);
}
.mbae-pickup .mbae-pickup__order-meta { margin: 4px 0 0; text-transform: none; letter-spacing: 0; font-size: var(--mdaa-fs-sm); font-weight: 600; color: var(--mdaa-ink-soft); }

/* Questions oui / non */
.mbae-pickup .mbae-pickup__fieldset {
    margin: var(--mdaa-sp-3) 0 0;
    padding: var(--mdaa-sp-4);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-lg);
}
.mbae-pickup .mbae-pickup__legend { padding: 0 6px; font-size: var(--mdaa-fs-md); }
.mbae-pickup .mbae-pickup__radio {
    display: flex;
    align-items: center;
    gap: var(--mdaa-sp-3);
    margin-top: var(--mdaa-sp-2);
    padding: 12px var(--mdaa-sp-4);
    font-weight: 600;
    border: 1.5px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-md);
    cursor: pointer;
    transition: border-color var(--mdaa-transition), background var(--mdaa-transition);
}
.mbae-pickup .mbae-pickup__radio:hover { border-color: var(--mdaa-navy-400); }
.mbae-pickup .mbae-pickup__radio:has(input:checked) { border-color: var(--mdaa-orange); background: var(--mdaa-orange-50); }
.mbae-pickup .mbae-pickup__radio input { margin: 0; }

@media (max-width: 720px) {
    .mbae-pickup { border-radius: var(--mdaa-r-lg); }
    .mbae-pickup > .mdaa-alert,
    .mbae-pickup .mbae-pickup__form,
    .mbae-pickup .mbae-pickup__order,
    .mbae-pickup .mbae-pickup__resend,
    .mbae-pickup > .mbae-pickup__title,
    .mbae-pickup > .mbae-pickup__lead { padding-inline: var(--mdaa-sp-4); }
    .mbae-pickup > .mbae-pickup__title { font-size: var(--mdaa-fs-2xl); }
}

/* =====================================================================
   INSCRIPTION ARTISAN — assistant 6 étapes
   (public/artisan_register_wizard_page.php + _thanks_page.php)
   ===================================================================== */
/* Honeypot : jamais visible */
.register-page .hp-wrap {
    position: absolute !important;
    left: -9999px !important;
    width: 1px; height: 1px;
    overflow: hidden;
    opacity: 0;
}

/* Étapes : seule l'étape active est affichée */
.register-wizard-step { display: none; }
.register-wizard-step.is-active { display: block; }

/* Bandeau */
.register-page .register-hero {
    position: relative;
    padding: var(--mdaa-sp-8) var(--mdaa-sp-5) calc(var(--mdaa-sp-9) + 8px);
    text-align: center;
    overflow: hidden;
    background: var(--mdaa-navy);
}
.register-page .register-hero__bg {
    position: absolute; inset: 0;
    color: var(--mdaa-orange);
    background-image: var(--wax-bogolan);
    background-size: var(--wax-bogolan-size);
    opacity: .1;
}
.register-page .register-hero__veil { background: radial-gradient(70% 120% at 50% 0%, rgba(248, 144, 0, .28), transparent 65%); }
.register-page .register-hero::after {
    content: "";
    position: absolute; inset: auto 0 0 0;
    height: 8px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
}
.register-page .register-hero__kente { display: none; }
.register-page .register-hero__inner { position: relative; z-index: 2; max-width: 720px; margin-inline: auto; }
.register-page .register-hero h1 { margin: 0 0 var(--mdaa-sp-3); font-size: var(--mdaa-fs-4xl); color: #fff; }
.register-page .register-hero p { margin: 0 auto; max-width: 58ch; font-size: var(--mdaa-fs-lg); color: #cddbe9; }

/* Frise des étapes : barre blanche qui chevauche le bandeau */
.register-page .register-progress {
    position: relative;
    z-index: 3;
    max-width: 1040px;
    margin: calc(var(--mdaa-sp-8) * -1) auto 0;
    padding: 0 var(--mdaa-sp-5);
}
.register-page .register-steps {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 0;
    padding: var(--mdaa-sp-4) var(--mdaa-sp-5);
    background: #fff;
    border-radius: var(--mdaa-r-pill);
    box-shadow: var(--mdaa-sh-lg);
}
.register-page .register-step { gap: 8px; font-size: var(--mdaa-fs-sm); color: var(--mdaa-ink-faint); }
.register-page .register-step__num { width: 30px; height: 30px; font-size: var(--mdaa-fs-sm); }
.register-page .register-step.is-active { color: var(--mdaa-navy-900); }
.register-page .register-step.is-done { color: var(--mdaa-success); }
.register-page .register-step.is-done .register-step__num { color: #fff; background: var(--mdaa-success); }
.register-page .register-step__sep {
    display: inline-grid;
    place-items: center;
    width: 22px; height: 22px;
    background: none;
    color: var(--mdaa-navy-200);
}
.register-page .register-step__sep svg { width: 16px; height: 16px; }

/* Formulaire */
.register-page .register-form {
    max-width: 820px;
    margin: var(--mdaa-sp-6) auto var(--mdaa-sp-8);
    padding: var(--mdaa-sp-6);
    border: 0;
    box-shadow: var(--mdaa-sh-md);
}
.register-page .register-form svg:not([width]) { max-width: 24px; max-height: 24px; }
.register-page .form-section {
    position: relative;
    margin: 0 0 var(--mdaa-sp-5);
    padding: var(--mdaa-sp-5);
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-lg);
}
.register-page .form-section::before {
    content: "";
    position: absolute; inset: 0 0 auto 0;
    height: 5px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
}
.register-page .form-section--immersion { background: var(--mdaa-cream); border-color: var(--mdaa-sand); }
.register-page .form-section > h2 {
    display: flex;
    align-items: center;
    gap: var(--mdaa-sp-3);
    margin: var(--mdaa-sp-2) 0 var(--mdaa-sp-4);
    font-size: var(--mdaa-fs-xl);
}
.register-page .form-section > h2 svg {
    width: 44px; height: 44px;
    max-width: none; max-height: none;
    flex: none;
    padding: 10px;
    color: #12202e;
    background: var(--mdaa-orange);
    border-radius: var(--mdaa-r-md);
}
.register-page .form-info-banner { align-items: flex-start; }
.register-page .form-info-banner svg { width: 20px; height: 20px; flex: none; margin-top: 2px; color: var(--mdaa-navy); }
.register-page .form-group > label { text-transform: none; letter-spacing: 0; font-size: var(--mdaa-fs-md); }
.register-page .doc-block {
    padding: var(--mdaa-sp-4);
    margin-bottom: var(--mdaa-sp-4);
    background: var(--mdaa-navy-50);
    border-radius: var(--mdaa-r-md);
}
.register-page .doc-block h3 { margin: 0 0 var(--mdaa-sp-3); font-size: var(--mdaa-fs-md); }
.register-page input[type="file"] {
    padding: var(--mdaa-sp-3);
    background: #fff;
    border: 2px dashed var(--mdaa-navy-200);
}
.register-page input[type="file"]::file-selector-button {
    margin-right: var(--mdaa-sp-3);
    padding: 8px 16px;
    font-family: var(--mdaa-font-display);
    font-weight: 700;
    color: #fff;
    background: var(--mdaa-navy);
    border: 0;
    border-radius: var(--mdaa-r-pill);
    cursor: pointer;
}
.register-page select {
    appearance: none;
    -webkit-appearance: none;
    padding-right: 44px;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23004080' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center / 18px no-repeat;
}

/* Vérification OTP et CTA immersion : couleurs du logo (surcharge le <style> de la vue) */
.register-page .rw-otp-inline { background: var(--mdaa-navy-50); border: 1px solid var(--mdaa-navy-100); border-left: 4px solid var(--mdaa-orange); border-radius: 0 var(--mdaa-r-md) var(--mdaa-r-md) 0; }
.register-page .rw-otp-inline__head { color: var(--mdaa-navy-900); }
.register-page .rw-otp-inline__head svg { color: var(--mdaa-orange-700); }
.register-page .rw-otp-inline__sent { color: var(--mdaa-ink-soft); }
.register-page .rw-otp-inline__sent b { color: var(--mdaa-navy-900); }
.register-page .rw-otp-inline__input { color: var(--mdaa-navy-900); border-color: var(--mdaa-navy-200); }
.register-page .rw-otp-inline__input:focus { border-color: var(--mdaa-orange); box-shadow: var(--mdaa-sh-ring); }
.register-page .rw-otp-inline__resend { color: var(--mdaa-ink-faint); }
.register-page .rw-otp-inline__resend button { color: var(--mdaa-navy-600); }
.register-page .rw-immersion-cta { background: var(--mdaa-orange-50); border-color: var(--mdaa-orange-300); }
.register-page .rw-immersion-cta p { color: var(--mdaa-navy-900); }
.register-page .rw-immersion-cta a { color: #12202e; background: var(--mdaa-orange); border-radius: var(--mdaa-r-pill); }
.register-page .rw-immersion-cta a:hover { color: #12202e; background: var(--mdaa-orange-500); }

/* Actions */
.register-page .form-actions { justify-content: space-between; padding-top: var(--mdaa-sp-4); border-top: 1px solid var(--mdaa-line-soft); }
.register-page .form-actions svg { width: 18px; height: 18px; }

/* Page de remerciement */
.register-page .thanks-hero { padding-bottom: calc(var(--mdaa-sp-9) + 8px); background: var(--mdaa-navy); }
.register-page .thanks-hero::after {
    content: "";
    position: absolute; inset: auto 0 0 0;
    height: 8px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
}
.register-page .thanks-card { position: relative; z-index: 3; margin-top: calc(var(--mdaa-sp-8) * -1); box-shadow: var(--mdaa-sh-lg); border: 0; }
.register-page .thanks-icon svg { width: 30px; height: 30px; }
.register-page .steps-list { counter-reset: st; text-align: left; }
.register-page .steps-list li { counter-increment: st; display: flex; gap: var(--mdaa-sp-3); align-items: flex-start; }
.register-page .steps-list li::before {
    content: counter(st);
    display: grid; place-items: center;
    width: 28px; height: 28px;
    flex: none;
    font-family: var(--mdaa-font-display);
    font-weight: 800;
    color: #12202e;
    background: var(--mdaa-orange);
    border-radius: 50%;
}

@media (max-width: 900px) {
    .register-page .register-steps { border-radius: var(--mdaa-r-lg); }
    .register-page .register-step:not(.is-active) > :not(.register-step__num) { display: none; }
    .register-page .register-step__sep { width: 14px; }
}
@media (max-width: 720px) {
    .register-page .register-form { padding: var(--mdaa-sp-4); margin-inline: var(--mdaa-sp-3); }
    .register-page .form-section { padding: var(--mdaa-sp-4); }
}

/* Correctifs inscription artisan */
/* L'attribut hidden l'emporte toujours (erreurs AJAX, blocs OTP, etc.) */
[hidden] { display: none !important; }
.rw-ajax-error:empty { display: none !important; }

/* Icône du titre de section : échappe au garde-fou 24 px */
.register-page .register-form .form-section > h2 > svg {
    width: 44px; height: 44px;
    max-width: none; max-height: none;
    padding: 10px;
    box-sizing: border-box;
}

/* =====================================================================
   CONNEXION ARTISAN (artisan/artisan_login_page.php + artisan_code_page.php)
   Page autonome : panneau wax à gauche, formulaire à droite.
   ===================================================================== */
.mdaa-alogin {
    display: grid;
    grid-template-columns: minmax(340px, 5fr) minmax(0, 6fr);
    min-height: 100vh;
    background: var(--mdaa-navy-50);
}

/* Panneau gauche */
.mdaa-alogin__aside {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--mdaa-sp-7);
    padding: var(--mdaa-sp-7) var(--mdaa-sp-7) var(--mdaa-sp-6);
    overflow: hidden;
    color: #dbe6f1;
    background:
        radial-gradient(80% 60% at 0% 100%, rgba(248, 144, 0, .28), transparent 65%),
        var(--mdaa-navy);
}
.mdaa-alogin__wax {
    position: absolute;
    inset: 0;
    color: var(--mdaa-orange);
    background-image: var(--wax-bogolan);
    background-size: var(--wax-bogolan-size);
    opacity: .1;
    pointer-events: none;
}
.mdaa-alogin__aside::after {
    content: "";
    position: absolute;
    inset: 0 0 0 auto;
    width: 8px;
    background-image: repeating-linear-gradient(180deg,
        var(--mdaa-navy-900) 0 14px, var(--mdaa-orange) 14px 22px,
        var(--mdaa-cream) 22px 26px, var(--mdaa-terracotta) 26px 34px, var(--mdaa-navy-900) 34px 48px);
}
.mdaa-alogin__aside > :not(.mdaa-alogin__wax) { position: relative; z-index: 1; }
.mdaa-alogin__brand {
    display: inline-flex;
    align-items: center;
    gap: var(--mdaa-sp-3);
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-sm);
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--mdaa-orange-300);
}
.mdaa-alogin__brand::before {
    content: "NVBB";
    display: grid;
    place-items: center;
    width: 48px; height: 48px;
    font-size: 11px;
    letter-spacing: .04em;
    color: #12202e;
    background: var(--mdaa-orange);
    border-radius: var(--mdaa-r-md);
}
.mdaa-alogin__mid { max-width: 440px; }
.mdaa-alogin__kente {
    position: static;
    display: block;
    width: 72px; height: 6px;
    margin-bottom: var(--mdaa-sp-4);
    background-image: var(--wax-kente);
    background-size: 48px 100%;
    border-radius: var(--mdaa-r-pill);
}
.mdaa-alogin__kente span { display: none; }
.mdaa-alogin__headline {
    margin: 0 0 var(--mdaa-sp-6);
    font-size: clamp(2rem, 3.6vw, 3rem);
    font-weight: 800;
    line-height: 1.08;
    color: #fff;
}
.mdaa-alogin__list {
    display: flex;
    flex-direction: column;
    gap: var(--mdaa-sp-3);
    margin: 0;
    padding: 0;
    list-style: none;
}
.mdaa-alogin__list li {
    display: flex;
    align-items: center;
    gap: var(--mdaa-sp-3);
    margin: 0;
    font-size: var(--mdaa-fs-md);
    color: #dbe6f1;
}
.mdaa-alogin__list svg {
    width: 40px; height: 40px;
    flex: none;
    padding: 10px;
    color: var(--mdaa-orange);
    background: rgba(248, 144, 0, .14);
    border-radius: var(--mdaa-r-md);
}
.mdaa-alogin__foot { font-size: var(--mdaa-fs-xs); color: #8ba3bc; }

/* Panneau droit */
.mdaa-alogin__main {
    display: grid;
    place-items: center;
    padding: var(--mdaa-sp-7) var(--mdaa-sp-5);
}
.mdaa-alogin__card {
    position: relative;
    width: 100%;
    max-width: 440px;
    padding: var(--mdaa-sp-7) var(--mdaa-sp-6) var(--mdaa-sp-6);
    overflow: hidden;
    background: #fff;
    border-radius: var(--mdaa-r-xl);
    box-shadow: var(--mdaa-sh-lg);
}
.mdaa-alogin__card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 6px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
}
.mdaa-alogin__card svg:not([width]) { max-width: 24px; max-height: 24px; }
.mdaa-alogin__title { margin: 0 0 var(--mdaa-sp-2); font-size: var(--mdaa-fs-2xl); }
.mdaa-alogin__sub { margin: 0 0 var(--mdaa-sp-5); font-size: var(--mdaa-fs-md); color: var(--mdaa-ink-soft); }
.mdaa-alogin__masked {
    display: inline-block;
    padding: 2px 8px;
    font-family: var(--mdaa-font-mono);
    font-size: .92em;
    font-weight: 700;
    color: var(--mdaa-navy-900);
    background: var(--mdaa-navy-50);
    border-radius: var(--mdaa-r-xs);
}
.mdaa-alogin__alert {
    display: block;
    margin: 0 0 var(--mdaa-sp-4);
    padding: var(--mdaa-sp-3) var(--mdaa-sp-4);
    font-size: var(--mdaa-fs-sm);
    border-radius: 0 var(--mdaa-r-sm) var(--mdaa-r-sm) 0;
}
.mdaa-alogin__fg { display: flex; flex-direction: column; gap: 6px; margin-bottom: var(--mdaa-sp-5); }
.mdaa-alogin__label {
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-sm);
    font-weight: 700;
    color: var(--mdaa-navy-800);
}
.mdaa-alogin__input,
.mdaa-alogin__otp {
    width: 100%;
    min-height: 52px;
    padding: 12px 16px;
    font-size: var(--mdaa-fs-base);
    color: var(--mdaa-ink);
    background: var(--mdaa-navy-50);
    border: 1.5px solid var(--mdaa-navy-100);
    border-radius: var(--mdaa-r-md);
    transition: border-color var(--mdaa-transition), box-shadow var(--mdaa-transition), background var(--mdaa-transition);
}
.mdaa-alogin__input:focus,
.mdaa-alogin__otp:focus { outline: none; background: #fff; border-color: var(--mdaa-orange); box-shadow: var(--mdaa-sh-ring); }
.mdaa-alogin__otp {
    min-height: 68px;
    font-family: var(--mdaa-font-mono);
    font-size: var(--mdaa-fs-2xl);
    font-weight: 700;
    letter-spacing: .5em;
    text-align: center;
    padding-left: .5em;
    color: var(--mdaa-navy-900);
}
.mdaa-alogin__hint { font-size: var(--mdaa-fs-xs); color: var(--mdaa-ink-faint); }
.mdaa-alogin__countdown {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
    font-size: var(--mdaa-fs-sm);
    font-weight: 600;
    color: var(--mdaa-orange-700);
}
.mdaa-alogin__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--mdaa-sp-2);
    width: 100%;
    min-height: 52px;
    padding: 0 var(--mdaa-sp-5);
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-base);
    font-weight: 700;
    color: #12202e;
    background: var(--mdaa-orange);
    border: 0;
    border-radius: var(--mdaa-r-pill);
    cursor: pointer;
    transition: background var(--mdaa-transition), transform var(--mdaa-transition), box-shadow var(--mdaa-transition);
}
.mdaa-alogin__btn:hover { background: var(--mdaa-orange-500); transform: translateY(-1px); box-shadow: var(--mdaa-sh-md); }
.mdaa-alogin__btn svg { width: 18px; height: 18px; flex: none; transition: transform var(--mdaa-transition); }
.mdaa-alogin__btn:hover svg { transform: translateX(3px); }
.mdaa-alogin__footlinks {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--mdaa-sp-4);
    margin-top: var(--mdaa-sp-5);
    padding-top: var(--mdaa-sp-4);
    border-top: 1px solid var(--mdaa-line-soft);
}
.mdaa-alogin__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: var(--mdaa-fs-sm);
    font-weight: 600;
    color: var(--mdaa-navy-600);
    text-decoration: none;
}
.mdaa-alogin__link:hover { color: var(--mdaa-orange-700); }
.mdaa-alogin__link svg { width: 16px; height: 16px; }

@media (max-width: 900px) {
    .mdaa-alogin { grid-template-columns: minmax(0, 1fr); }
    .mdaa-alogin__aside { gap: var(--mdaa-sp-5); padding: var(--mdaa-sp-5); }
    .mdaa-alogin__aside::after { inset: auto 0 0 0; width: auto; height: 6px; background-image: var(--wax-kente); background-size: 48px 100%; }
    .mdaa-alogin__list, .mdaa-alogin__foot { display: none; }
    .mdaa-alogin__headline { margin: 0; font-size: var(--mdaa-fs-2xl); }
    .mdaa-alogin__main { padding: var(--mdaa-sp-5) var(--mdaa-sp-4) var(--mdaa-sp-7); }
    .mdaa-alogin__card { padding: var(--mdaa-sp-6) var(--mdaa-sp-5) var(--mdaa-sp-5); }
}

/* =====================================================================
   PAGES STATIQUES (pages/page_static.php) — À propos, CGV, etc.
   ===================================================================== */
.mdaa-static-hero {
    position: relative;
    padding: var(--mdaa-sp-7) 0 calc(var(--mdaa-sp-8) + 8px);
    background: var(--mdaa-navy);
}
.mdaa-static-hero::before {
    content: "";
    position: absolute; inset: 0;
    color: var(--mdaa-orange);
    background-image: var(--wax-bogolan);
    background-size: var(--wax-bogolan-size);
    opacity: .1;
    z-index: 1;
}
.mdaa-static-hero::after {
    content: "";
    position: absolute; inset: auto 0 0 0;
    height: 8px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
    z-index: 2;
}
.mdaa-static-hero .mdaa-static-hero__veil {
    background: linear-gradient(100deg, rgba(0, 64, 128, .96) 0%, rgba(0, 64, 128, .82) 55%, rgba(0, 64, 128, .55) 100%);
    z-index: 1;
}
.mdaa-static-hero--noimg .mdaa-static-hero__veil { background: radial-gradient(60% 120% at 100% 0%, rgba(248, 144, 0, .28), transparent 62%); }
.mdaa-static-hero .mdaa-static-hero__photo { background-size: cover; background-position: center; opacity: 1; }
.mdaa-static-hero__in { position: relative; z-index: 3; }
.mdaa-static-hero .mdaa-static-hero__kente { display: none; }

/* Fil d'Ariane lisible sur fond bleu */
.mdaa-static-hero .mdaa-breadcrumb { padding: 0 0 var(--mdaa-sp-5); color: #9db4cb; }
.mdaa-static-hero .mdaa-breadcrumb a { color: #cddbe9; }
.mdaa-static-hero .mdaa-breadcrumb a:hover { color: var(--mdaa-orange-300); }
.mdaa-static-hero .mdaa-breadcrumb__current { color: var(--mdaa-orange-300); }
.mdaa-static-hero .mdaa-static-hero__title { max-width: 18ch; margin: 0 0 var(--mdaa-sp-3); font-size: var(--mdaa-fs-4xl); }
.mdaa-static-hero .mdaa-static-hero__title::after {
    content: "";
    display: block;
    width: 72px; height: 6px;
    margin-top: var(--mdaa-sp-4);
    background: var(--mdaa-orange);
    border-radius: var(--mdaa-r-pill);
}
.mdaa-static-hero .mdaa-static-hero__sub { margin: 0; }

/* Corps : l'article n'est pas dans un .mdaa-container dans la vue */
.mdaa-static-body { padding: var(--mdaa-sp-8) var(--mdaa-sp-5); background: #fff; }
.mdaa-static-body > .mdaa-static-prose {
    max-width: 780px;
    margin-inline: auto;
    font-size: var(--mdaa-fs-lg);
    line-height: 1.75;
    color: var(--mdaa-ink-soft);
}
.mdaa-static-prose > :first-child { margin-top: 0; }
.mdaa-static-prose h2 {
    position: relative;
    margin: var(--mdaa-sp-7) 0 var(--mdaa-sp-4);
    padding-top: var(--mdaa-sp-4);
    font-size: var(--mdaa-fs-2xl);
    color: var(--mdaa-navy-900);
}
.mdaa-static-prose h2::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 56px; height: 5px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
    border-radius: var(--mdaa-r-pill);
}
.mdaa-static-prose > h2:first-child { margin-top: 0; }
.mdaa-static-prose h3 { margin: var(--mdaa-sp-6) 0 var(--mdaa-sp-3); font-size: var(--mdaa-fs-xl); color: var(--mdaa-navy); }
.mdaa-static-prose p { margin: 0 0 var(--mdaa-sp-4); }
.mdaa-static-prose strong { color: var(--mdaa-navy-900); }
.mdaa-static-prose a { font-weight: 600; color: var(--mdaa-navy-600); }
.mdaa-static-prose a:hover { color: var(--mdaa-orange-700); }
.mdaa-static-prose ul, .mdaa-static-prose ol { margin: 0 0 var(--mdaa-sp-5); padding: 0; list-style: none; display: flex; flex-direction: column; gap: var(--mdaa-sp-2); }
.mdaa-static-prose ul > li { position: relative; margin: 0; padding-left: 28px; }
.mdaa-static-prose ul > li::before {
    content: "";
    position: absolute;
    left: 4px; top: .6em;
    width: 10px; height: 10px;
    background: var(--mdaa-orange);
    border-radius: 50%;
    box-shadow: 0 0 0 4px var(--mdaa-orange-100);
}
.mdaa-static-prose ol { counter-reset: sp; }
.mdaa-static-prose ol > li { position: relative; margin: 0; padding-left: 40px; counter-increment: sp; }
.mdaa-static-prose ol > li::before {
    content: counter(sp);
    position: absolute;
    left: 0; top: .15em;
    display: grid; place-items: center;
    width: 28px; height: 28px;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-sm);
    font-weight: 800;
    color: #fff;
    background: var(--mdaa-navy);
    border-radius: 50%;
}
.mdaa-static-prose blockquote {
    margin: var(--mdaa-sp-6) 0;
    padding: var(--mdaa-sp-5) var(--mdaa-sp-6);
    font-size: var(--mdaa-fs-xl);
    font-style: normal;
    line-height: 1.5;
    color: var(--mdaa-navy-900);
    background: var(--mdaa-cream);
    border-left: 5px solid var(--mdaa-orange);
}
.mdaa-static-prose img { max-width: 100%; height: auto; border-radius: var(--mdaa-r-lg); box-shadow: var(--mdaa-sh-md); }
.mdaa-static-prose table { margin: var(--mdaa-sp-5) 0; font-size: var(--mdaa-fs-md); }
.mdaa-static-prose th, .mdaa-static-prose td { padding: 10px 14px; text-align: left; border-bottom: 1px solid var(--mdaa-line); }
.mdaa-static-prose th { color: var(--mdaa-navy-900); background: var(--mdaa-navy-50); }
.mdaa-static-prose hr { margin: var(--mdaa-sp-7) 0; border-top: 1px dashed var(--mdaa-line); }

/* Galerie */
.mdaa-static-gallery { background: var(--mdaa-navy-50); }
.mdaa-static-gallery__grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--mdaa-sp-4); }
.mdaa-static-gallery__item { box-shadow: var(--mdaa-sh-sm); }
.mdaa-static-gallery__item img { transition: transform 600ms ease; }
.mdaa-static-gallery__item:hover img { transform: scale(1.05); }

@media (max-width: 720px) {
    .mdaa-static-body { padding: var(--mdaa-sp-7) var(--mdaa-sp-4); }
    .mdaa-static-body > .mdaa-static-prose { font-size: var(--mdaa-fs-base); }
}

/* =====================================================================
   LIVRAISON (pages/page_livraison.php) — calculateur de tarifs
   Le bandeau reprend .mdaa-static-hero (déjà stylé).
   ===================================================================== */
.mdaa-static-hero + .mdaa-section { padding-top: 0; background: var(--mdaa-navy-50); }

/* Carte de recherche : remonte sur le bandeau */
.mdaa-static-hero + .mdaa-section .mdaa-ship2-search {
    position: relative;
    z-index: 3;
    max-width: 860px;
    margin: calc(var(--mdaa-sp-7) * -1) auto var(--mdaa-sp-5);
    padding: var(--mdaa-sp-6);
    background: #fff;
    border-radius: var(--mdaa-r-xl);
    box-shadow: var(--mdaa-sh-lg);
}
.mdaa-ship2-search .mdaa-ship2-search__label {
    margin-bottom: var(--mdaa-sp-3);
    font-size: var(--mdaa-fs-lg);
    letter-spacing: 0;
    text-transform: none;
    color: var(--mdaa-navy-900);
}
.mdaa-ship2-search .mdaa-ship2-search__row { grid-template-columns: minmax(0, 1fr) minmax(200px, 260px); gap: var(--mdaa-sp-3); align-items: end; }
.mdaa-ship2-search .mdaa-ship2-search__row:not(:has(.mdaa-ship2-weight:not([hidden]))) { grid-template-columns: minmax(0, 1fr); }
.mdaa-ship2-search .mdaa-ship2-search__box input {
    width: 100%;
    min-height: 56px;
    padding-left: 48px;
    font-size: var(--mdaa-fs-lg);
    background: var(--mdaa-navy-50);
    border: 1.5px solid var(--mdaa-navy-100);
    border-radius: var(--mdaa-r-pill);
}
.mdaa-ship2-search .mdaa-ship2-search__box input:focus { background: #fff; border-color: var(--mdaa-orange); box-shadow: var(--mdaa-sh-ring); outline: none; }
.mdaa-ship2-search .mdaa-ship2-search__ico { left: 18px; z-index: 1; color: var(--mdaa-navy); }
.mdaa-ship2-search .mdaa-ship2-search__ico svg { width: 20px; height: 20px; display: block; }
.mdaa-ship2-search .mdaa-ship2-weight__lbl { margin: 0 0 6px; }
.mdaa-ship2-search .mdaa-ship2-weight__select {
    min-height: 56px;
    appearance: none;
    -webkit-appearance: none;
    padding-right: 44px;
    border-radius: var(--mdaa-r-pill);
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23004080' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 16px center / 18px no-repeat;
    border: 1.5px solid var(--mdaa-orange);
}
.mdaa-ship2-search .mdaa-shipping-intro {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: var(--mdaa-sp-3) 0 0;
    font-size: var(--mdaa-fs-sm);
    color: var(--mdaa-ink-faint);
}
.mdaa-ship2-search .mdaa-shipping-intro::before {
    content: "";
    width: 8px; height: 8px;
    flex: none;
    background: var(--mdaa-orange);
    border-radius: 50%;
}

/* Suggestions */
.mdaa-ship2-suggest { border-radius: var(--mdaa-r-lg); padding: 6px; }
.mdaa-ship2-suggest__item { border: 0; border-radius: var(--mdaa-r-sm); font-size: var(--mdaa-fs-md); }
.mdaa-ship2-suggest__item:hover, .mdaa-ship2-suggest__item.is-active { color: var(--mdaa-navy-900); background: var(--mdaa-orange-50); }

/* Résultat */
.mdaa-ship2-result { max-width: 860px; margin: 0 auto; padding: 0; }
.mdaa-ship2-result .mdaa-ship2-empty,
.mdaa-ship2-result .mdaa-ship2-state {
    justify-content: center;
    padding: var(--mdaa-sp-6);
    text-align: center;
    color: var(--mdaa-ink-soft);
    background: #fff;
    border: 2px dashed var(--mdaa-navy-200);
    border-radius: var(--mdaa-r-lg);
}
.mdaa-ship2-state__ico svg { width: 22px; height: 22px; }

.mdaa-ship2-result .mdaa-ship2-card {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
    grid-template-areas: "head price" "meta price";
    overflow: hidden;
    border: 0;
    border-radius: var(--mdaa-r-xl);
    box-shadow: var(--mdaa-sh-lg);
}
.mdaa-ship2-card .mdaa-ship2-card__head {
    grid-area: head;
    display: flex;
    align-items: center;
    gap: var(--mdaa-sp-4);
    padding: var(--mdaa-sp-6);
    background: var(--mdaa-navy);
}
.mdaa-ship2-card .mdaa-ship2-card__head::after {
    content: "";
    position: absolute; inset: 0;
    color: var(--mdaa-orange);
    background-image: var(--wax-dots);
    background-size: var(--wax-dots-size);
    opacity: .1;
}
.mdaa-ship2-card .mdaa-ship2-card__head-bg { opacity: .35; }
.mdaa-ship2-card .mdaa-ship2-card__head-veil { background: linear-gradient(120deg, rgba(0, 64, 128, .95), rgba(0, 64, 128, .7)); }
.mdaa-ship2-card .mdaa-ship2-card__flag {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 52px; height: 52px;
    flex: none;
    color: #12202e;
    background: var(--mdaa-orange);
    border-radius: var(--mdaa-r-md);
    object-fit: initial;
}
.mdaa-ship2-card__flag svg { width: 26px; height: 26px; }
.mdaa-ship2-card .mdaa-ship2-card__dest { display: block; }
.mdaa-ship2-card .mdaa-ship2-card__country { margin: 0 0 4px; font-size: var(--mdaa-fs-2xl); color: #fff; }
.mdaa-ship2-card .mdaa-ship2-card__zone { font-family: var(--mdaa-font-display); font-weight: 600; letter-spacing: .04em; }

.mdaa-ship2-card .mdaa-ship2-card__meta {
    grid-area: meta;
    padding: var(--mdaa-sp-5) var(--mdaa-sp-6);
    background: #fff;
}
.mdaa-ship2-card .mdaa-ship2-card__meta-item > span:last-child { display: flex; flex-direction: column; }
.mdaa-ship2-card .mdaa-ship2-card__meta-ico { width: 40px; height: 40px; color: var(--mdaa-navy); background: var(--mdaa-navy-100); border-radius: var(--mdaa-r-md); }
.mdaa-ship2-card__meta-ico svg { width: 20px; height: 20px; }

.mdaa-ship2-card .mdaa-ship2-card__price {
    grid-area: price;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    padding: var(--mdaa-sp-6);
    text-align: center;
    background: var(--mdaa-orange-50);
    border-left: 1px solid var(--mdaa-orange-100);
}
.mdaa-ship2-card .mdaa-ship2-card__price::before {
    content: "";
    position: absolute; inset: 0 0 auto 0;
    height: 6px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
}
.mdaa-ship2-card .mdaa-ship2-card__price-lbl {
    margin: 0;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-xs);
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--mdaa-orange-700);
}
.mdaa-ship2-card .mdaa-ship2-card__price-weight { margin: 0; font-size: var(--mdaa-fs-md); font-weight: 600; color: var(--mdaa-ink-soft); }
.mdaa-ship2-card .mdaa-ship2-card__price-amount {
    margin-top: var(--mdaa-sp-2);
    font-size: clamp(1.8rem, 3.5vw, 2.6rem);
    line-height: 1.05;
    color: var(--mdaa-navy-900);
}

/* Avertissement */
.mdaa-static-hero + .mdaa-section .mdaa-shipping-disclaimer {
    max-width: 860px;
    margin: var(--mdaa-sp-5) auto 0;
    align-items: flex-start;
    background: #fff;
    border-left-color: var(--mdaa-orange);
}
.mdaa-shipping-disclaimer svg { width: 20px; height: 20px; flex: none; margin-top: 2px; color: var(--mdaa-orange-700); }

/* Contenu éditorial sous le calculateur */
.mdaa-section--alt > .mdaa-static-body { padding: 0 var(--mdaa-sp-5); background: none; }

@media (max-width: 760px) {
    .mdaa-ship2-result .mdaa-ship2-card { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "price" "meta"; }
    .mdaa-ship2-card .mdaa-ship2-card__price { border-left: 0; }
    .mdaa-ship2-search .mdaa-ship2-search__row { grid-template-columns: minmax(0, 1fr); }
    .mdaa-static-hero + .mdaa-section .mdaa-ship2-search { padding: var(--mdaa-sp-5); margin-inline: 0; }
}

/* =====================================================================
   SERVICES IT (services_it/*.php + partials it_top / it_bottom)
   Refonte : sous-navigation, hero, preuves, services, références,
   événements, appel final.
   ===================================================================== */
.nvbb-it { background: #fff; }
.nvbb-it svg:not([width]) { max-width: 24px; max-height: 24px; }

/* Sous-navigation collante */
.nvbb-it > .nvbb-it__subnav {
    position: sticky;
    top: var(--mdaa-header-h);
    z-index: 600;
    display: block;
    margin: 0;
    padding: 0;
    background: var(--mdaa-navy-900);
    border: 0;
}
.nvbb-it__subnav ul {
    display: flex;
    gap: 4px;
    max-width: var(--mdaa-container);
    margin: 0 auto;
    padding: 8px var(--mdaa-sp-5);
    overflow-x: auto;
    list-style: none;
    scrollbar-width: none;
}
.nvbb-it__subnav li { margin: 0; flex: none; }
.nvbb-it > .nvbb-it__subnav a {
    display: inline-flex;
    padding: 8px 16px;
    margin: 0;
    font-size: var(--mdaa-fs-sm);
    font-weight: 600;
    color: #c6d6e6;
    white-space: nowrap;
    border: 0;
    border-radius: var(--mdaa-r-pill);
}
.nvbb-it > .nvbb-it__subnav a:hover { color: #fff; background: rgba(255, 255, 255, .08); }
.nvbb-it > .nvbb-it__subnav a[aria-current="page"] { color: #12202e; background: var(--mdaa-orange); }

/* Hero */
.nvbb-it .nvbb-it__hero {
    padding: var(--mdaa-sp-8) 0 calc(var(--mdaa-sp-9) + 8px);
    background:
        radial-gradient(60% 120% at 100% 0%, rgba(248, 144, 0, .3), transparent 60%),
        var(--mdaa-navy);
}
.nvbb-it .nvbb-it__hero::before {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 8px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
    z-index: 2;
}
.nvbb-it .nvbb-it__hero::after { opacity: .07; }
.nvbb-it .nvbb-it__crumb { padding: 0 0 var(--mdaa-sp-4); color: #9db4cb; }
.nvbb-it .nvbb-it__crumb a { color: #cddbe9; }
.nvbb-it .nvbb-it__crumb a:hover { color: var(--mdaa-orange-300); }
.nvbb-it .nvbb-it__hero .nvbb-it__kicker { color: var(--mdaa-orange-300); }
.nvbb-it .nvbb-it__hero h1 { max-width: 20ch; margin: 0 0 var(--mdaa-sp-4); font-size: var(--mdaa-fs-4xl); color: #fff; }
.nvbb-it .nvbb-it__hero .nvbb-it__lead { margin: 0; }
.nvbb-it .nvbb-it__hero .nvbb-it__btn--ghost:hover { --btn-bg: rgba(255, 255, 255, .12); --btn-bd: #fff; --btn-fg: #fff; }

/* Bandeau de preuves : chevauche le hero */
.nvbb-it .nvbb-it__proof {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: calc(var(--mdaa-sp-8) * -1) 0 0;
    overflow: hidden;
    background: #fff;
    border-radius: var(--mdaa-r-xl);
    box-shadow: var(--mdaa-sh-lg);
}
.nvbb-it .nvbb-it__proof > div {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: var(--mdaa-sp-5);
}
.nvbb-it .nvbb-it__proof > div + div { border-left: 1px solid var(--mdaa-line-soft); }
.nvbb-it .nvbb-it__proof strong {
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-2xl);
    font-weight: 800;
    line-height: 1.1;
    color: var(--mdaa-navy);
}
.nvbb-it .nvbb-it__proof > div:nth-child(2) strong { color: var(--mdaa-orange-700); }
.nvbb-it .nvbb-it__proof span { font-size: var(--mdaa-fs-sm); color: var(--mdaa-ink-soft); }

/* Sections */
.nvbb-it .nvbb-it__section { padding-block: var(--mdaa-sp-8) 0; background: none; }
.nvbb-it .nvbb-it__section:nth-of-type(even) { background: none; }
.nvbb-it .nvbb-it__head { align-items: flex-end; justify-content: space-between; flex-wrap: wrap; margin-bottom: var(--mdaa-sp-6); }
.nvbb-it .nvbb-it__h2 { position: relative; margin: 0 0 var(--mdaa-sp-2); padding-top: var(--mdaa-sp-4); }
.nvbb-it .nvbb-it__h2::before {
    content: "";
    position: absolute; top: 0; left: 0;
    width: 56px; height: 5px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
    border-radius: var(--mdaa-r-pill);
}
.nvbb-it .nvbb-it__sub { margin: 0; }

/* Liste des services */
.nvbb-it .nvbb-it__svc {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: var(--mdaa-sp-5);
    align-items: center;
    padding: var(--mdaa-sp-5) var(--mdaa-sp-6);
    margin-bottom: var(--mdaa-sp-3);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-lg);
    transition: border-color var(--mdaa-transition), box-shadow var(--mdaa-transition), transform var(--mdaa-transition);
}
.nvbb-it .nvbb-it__svc:hover { border-color: var(--mdaa-navy-200); box-shadow: var(--mdaa-sh-md); transform: translateY(-2px); }
.nvbb-it .nvbb-it__svc.is-planned { background: var(--mdaa-navy-50); border-style: dashed; }
.nvbb-it .nvbb-it__svc-n {
    display: grid;
    place-items: center;
    width: 56px; height: 56px;
    font-size: var(--mdaa-fs-lg);
    color: #fff;
    background: var(--mdaa-navy);
    border-radius: var(--mdaa-r-md);
}
.nvbb-it .nvbb-it__svc:hover .nvbb-it__svc-n { color: #12202e; background: var(--mdaa-orange); }
.nvbb-it .nvbb-it__svc h3 { margin: 0 0 4px; font-size: var(--mdaa-fs-lg); }
.nvbb-it .nvbb-it__svc p { margin: 0; font-size: var(--mdaa-fs-md); color: var(--mdaa-ink-soft); }
.nvbb-it .nvbb-it__svc .nvbb-it__badge { margin-top: var(--mdaa-sp-2); }
.nvbb-it .nvbb-it__svc-side { flex-direction: column; align-items: flex-end; gap: var(--mdaa-sp-2); text-align: right; }
.nvbb-it .nvbb-it__svc .nvbb-it__price { font-size: var(--mdaa-fs-lg); white-space: nowrap; }
.nvbb-it .nvbb-it__svc-links { justify-content: flex-end; gap: var(--mdaa-sp-2); }
.nvbb-it .nvbb-it__svc-links .nvbb-it__btn { min-height: 40px; padding: 8px 16px; font-size: var(--mdaa-fs-sm); }
.nvbb-it .nvbb-it__note { margin-top: var(--mdaa-sp-3); }

/* Références */
.nvbb-it .nvbb-it__refs {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: var(--mdaa-sp-3);
}
.nvbb-it .nvbb-it__ref {
    display: flex;
    align-items: center;
    gap: var(--mdaa-sp-3);
    height: auto;
    padding: var(--mdaa-sp-3) var(--mdaa-sp-4);
    color: inherit;
    text-decoration: none;
    background: var(--mdaa-navy-50);
    border-radius: var(--mdaa-r-md);
    transition: background var(--mdaa-transition);
}
.nvbb-it a.nvbb-it__ref:hover { background: var(--mdaa-orange-50); }
.nvbb-it a.nvbb-it__ref::after { content: none; }
.nvbb-it .nvbb-it__ref img { width: 52px; height: 52px; max-height: none; object-fit: contain; padding: 6px; background: #fff; border-radius: var(--mdaa-r-sm); filter: none; opacity: 1; }
.nvbb-it .nvbb-it__ref-mono {
    display: grid; place-items: center;
    width: 52px; height: 52px;
    flex: none;
    font-family: var(--mdaa-font-display);
    font-weight: 800;
    color: #12202e;
    background: var(--mdaa-orange);
    border-radius: var(--mdaa-r-sm);
}
.nvbb-it .nvbb-it__ref strong { font-size: var(--mdaa-fs-md); color: var(--mdaa-navy-900); }
.nvbb-it .nvbb-it__ref small { font-size: var(--mdaa-fs-xs); color: var(--mdaa-ink-faint); }

/* Événements */
.nvbb-it .nvbb-it__events { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: var(--mdaa-sp-5); }
.nvbb-it .nvbb-it__event { grid-template-columns: minmax(0, 1fr); gap: 0; }
.nvbb-it .nvbb-it__event-img { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--mdaa-navy); }
.nvbb-it .nvbb-it__event-img:empty::before {
    content: "";
    position: absolute; inset: 0;
    color: var(--mdaa-orange);
    background-image: var(--wax-dots);
    background-size: var(--wax-dots-size);
    opacity: .18;
}
.nvbb-it .nvbb-it__event-img img { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.nvbb-it .nvbb-it__event-body { display: flex; flex-direction: column; gap: 6px; padding: var(--mdaa-sp-5); }
.nvbb-it .nvbb-it__event-body h3 { margin: 0; font-size: var(--mdaa-fs-lg); }
.nvbb-it .nvbb-it__event-body p { margin: 0; font-size: var(--mdaa-fs-md); color: var(--mdaa-ink-soft); }
.nvbb-it .nvbb-it__event-date { font-weight: 700; }
.nvbb-it .nvbb-it__event-foot { align-items: center; justify-content: space-between; margin-top: auto; padding-top: var(--mdaa-sp-3); border-top: 1px solid var(--mdaa-line-soft); }

/* Appel final */
.nvbb-it .nvbb-it__cta {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--mdaa-sp-5);
    margin: var(--mdaa-sp-8) 0;
    padding: var(--mdaa-sp-7);
    overflow: hidden;
    text-align: left;
    background:
        radial-gradient(60% 120% at 100% 100%, rgba(248, 144, 0, .3), transparent 60%),
        var(--mdaa-navy);
}
.nvbb-it .nvbb-it__cta::before {
    content: "";
    position: absolute; inset: 0;
    color: var(--mdaa-orange);
    background-image: var(--wax-bogolan);
    background-size: var(--wax-bogolan-size);
    opacity: .1;
}
.nvbb-it .nvbb-it__cta > * { position: relative; z-index: 1; }
.nvbb-it .nvbb-it__cta h2 { margin: 0 0 var(--mdaa-sp-2); font-size: var(--mdaa-fs-2xl); }
.nvbb-it .nvbb-it__cta p { max-width: 56ch; margin: 0; color: #c6d6e6; }

@media (max-width: 900px) {
    .nvbb-it .nvbb-it__proof { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nvbb-it .nvbb-it__proof > div:nth-child(3) { border-left: 0; }
    .nvbb-it .nvbb-it__proof > div:nth-child(n+3) { border-top: 1px solid var(--mdaa-line-soft); }
    .nvbb-it .nvbb-it__svc { grid-template-columns: auto minmax(0, 1fr); }
    .nvbb-it .nvbb-it__svc-side { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; text-align: left; }
}
@media (max-width: 560px) {
    .nvbb-it .nvbb-it__svc { grid-template-columns: minmax(0, 1fr); padding: var(--mdaa-sp-5); }
    .nvbb-it .nvbb-it__svc-n { width: 44px; height: 44px; }
    .nvbb-it .nvbb-it__cta { padding: var(--mdaa-sp-6) var(--mdaa-sp-5); }
}

/* =====================================================================
   SERVICES IT — PROFIL (services_it_profile_page.php)
   ===================================================================== */
/* Biographie + langues */
.nvbb-it .nvbb-it__profile {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
    gap: var(--mdaa-sp-7);
    align-items: start;
}
.nvbb-it .nvbb-it__profile .nvbb-it__p {
    margin: 0 0 var(--mdaa-sp-4);
    font-size: var(--mdaa-fs-lg);
    line-height: 1.75;
    color: var(--mdaa-ink-soft);
}
.nvbb-it .nvbb-it__profile .nvbb-it__p:first-child {
    font-size: var(--mdaa-fs-xl);
    line-height: 1.55;
    color: var(--mdaa-navy-900);
}
.nvbb-it .nvbb-it__profile > aside.nvbb-it__card {
    position: sticky;
    top: calc(var(--mdaa-header-h) + 70px);
    padding: var(--mdaa-sp-6) var(--mdaa-sp-5) var(--mdaa-sp-5);
    overflow: hidden;
    color: #dbe6f1;
    background: var(--mdaa-navy);
    border: 0;
    box-shadow: var(--mdaa-sh-md);
}
.nvbb-it .nvbb-it__profile > aside.nvbb-it__card::before {
    content: "";
    position: absolute; inset: 0 0 auto 0;
    height: 6px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
}
.nvbb-it .nvbb-it__profile > aside h3 {
    margin: 0 0 var(--mdaa-sp-4);
    font-size: var(--mdaa-fs-xs);
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--mdaa-orange-300);
}
.nvbb-it .nvbb-it__langrow {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--mdaa-sp-3);
    padding: var(--mdaa-sp-3) 0;
    border-top: 1px solid rgba(255, 255, 255, .14);
}
.nvbb-it .nvbb-it__langrow span { font-family: var(--mdaa-font-display); font-weight: 700; color: #fff; }
.nvbb-it .nvbb-it__langrow strong {
    padding: 2px 10px;
    font-size: var(--mdaa-fs-xs);
    font-weight: 700;
    color: #12202e;
    background: var(--mdaa-orange);
    border-radius: var(--mdaa-r-pill);
}

/* Parcours : frise verticale */
.nvbb-it ol.nvbb-it__timeline {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--mdaa-sp-4);
    margin: var(--mdaa-sp-5) 0 0 !important;
    padding: 0 0 0 40px;
    list-style: none;
}
.nvbb-it ol.nvbb-it__timeline::before {
    content: "";
    position: absolute;
    top: 8px; bottom: 8px; left: 11px;
    width: 3px;
    background: linear-gradient(180deg, var(--mdaa-orange), var(--mdaa-navy-200));
    border-radius: 3px;
}
.nvbb-it .nvbb-it__timeline > li {
    position: relative;
    margin: 0;
    padding: var(--mdaa-sp-5);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-lg);
    box-shadow: var(--mdaa-sh-sm);
}
.nvbb-it .nvbb-it__timeline > li::before {
    content: "";
    position: absolute;
    top: 24px; left: -36px;
    width: 18px; height: 18px;
    background: #fff;
    border: 4px solid var(--mdaa-navy);
    border-radius: 50%;
}
.nvbb-it .nvbb-it__timeline > li:first-child::before { border-color: var(--mdaa-orange); background: var(--mdaa-orange); box-shadow: 0 0 0 5px rgba(248, 144, 0, .2); }
.nvbb-it .nvbb-it__tl-period {
    display: inline-flex;
    padding: 3px 10px;
    font-size: var(--mdaa-fs-xs);
    font-weight: 700;
    color: var(--mdaa-navy-800);
    background: var(--mdaa-navy-50);
    border-radius: var(--mdaa-r-pill);
}
.nvbb-it .nvbb-it__timeline h3 { margin: var(--mdaa-sp-2) 0 2px; font-size: var(--mdaa-fs-lg); }
.nvbb-it .nvbb-it__tl-org { font-size: var(--mdaa-fs-md); color: var(--mdaa-orange-700); }
.nvbb-it .nvbb-it__timeline p { margin: var(--mdaa-sp-2) 0 0; font-size: var(--mdaa-fs-md); color: var(--mdaa-ink-soft); }

/* Compétences */
.nvbb-it .nvbb-it__grid.nvbb-it__grid--3 { margin-top: var(--mdaa-sp-5) !important; gap: var(--mdaa-sp-4); }
.nvbb-it .nvbb-it__grid--3 > .nvbb-it__card {
    padding: var(--mdaa-sp-5);
    background: var(--mdaa-navy-50);
    border: 0;
    border-top: 4px solid var(--mdaa-navy);
    box-shadow: none;
}
.nvbb-it .nvbb-it__grid--3 > .nvbb-it__card:nth-child(3n+2) { border-top-color: var(--mdaa-orange); }
.nvbb-it .nvbb-it__grid--3 > .nvbb-it__card:nth-child(3n+3) { border-top-color: var(--mdaa-terracotta); }
.nvbb-it .nvbb-it__grid--3 > .nvbb-it__card h3 { margin: 0 0 var(--mdaa-sp-3); font-size: var(--mdaa-fs-md); }
.nvbb-it .nvbb-it__chips { gap: 6px; }
.nvbb-it .nvbb-it__chips > span {
    display: inline-flex;
    padding: 4px 11px;
    font-size: var(--mdaa-fs-xs);
    font-weight: 600;
    color: var(--mdaa-navy-900);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-pill);
}
.nvbb-it .nvbb-it__note a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 700;
    color: var(--mdaa-navy-600);
}
.nvbb-it .nvbb-it__note a::after { content: "\2192"; transition: transform var(--mdaa-transition); }
.nvbb-it .nvbb-it__note a:hover::after { transform: translateX(3px); }

@media (max-width: 900px) {
    .nvbb-it .nvbb-it__profile { grid-template-columns: minmax(0, 1fr); gap: var(--mdaa-sp-5); }
    .nvbb-it .nvbb-it__profile > aside.nvbb-it__card { position: static; }
}
@media (max-width: 560px) {
    .nvbb-it ol.nvbb-it__timeline { padding-left: 30px; }
    .nvbb-it ol.nvbb-it__timeline::before { left: 7px; }
    .nvbb-it .nvbb-it__timeline > li::before { left: -30px; }
}

/* Services IT : portrait du hero placé à droite (profil) */
.nvbb-it .nvbb-it__hero > .nvbb-it__wrap { position: relative; }
.nvbb-it .nvbb-it__hero > .nvbb-it__wrap:has(> .nvbb-it__portrait) { padding-right: calc(300px + var(--mdaa-sp-7)); min-height: 300px; }
.nvbb-it .nvbb-it__hero .nvbb-it__portrait {
    position: absolute;
    top: 50%;
    right: var(--mdaa-sp-5);
    z-index: 2;
    width: 280px; height: 280px;
    object-fit: cover;
    border: 6px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 10px rgba(248, 144, 0, .35), var(--mdaa-sh-lg);
    transform: translateY(-50%);
}
.nvbb-it .nvbb-it__hero > .nvbb-it__wrap:has(> .nvbb-it__portrait)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: calc(var(--mdaa-sp-5) - 30px);
    width: 340px; height: 340px;
    color: var(--mdaa-orange);
    background-image: var(--wax-rays);
    border-radius: 50%;
    opacity: .22;
    transform: translateY(-50%);
    pointer-events: none;
    z-index: 1;
}

@media (max-width: 900px) {
    .nvbb-it .nvbb-it__hero > .nvbb-it__wrap:has(> .nvbb-it__portrait) { padding-right: var(--mdaa-sp-5); min-height: 0; }
    .nvbb-it .nvbb-it__hero > .nvbb-it__wrap:has(> .nvbb-it__portrait)::after { display: none; }
    .nvbb-it .nvbb-it__hero .nvbb-it__portrait {
        position: static;
        display: block;
        width: 132px; height: 132px;
        margin: 0 0 var(--mdaa-sp-4);
        border-width: 4px;
        box-shadow: 0 0 0 6px rgba(248, 144, 0, .35);
        transform: none;
    }
}

/* =====================================================================
   SERVICES IT — CONTRÔLE EAA (services_it_eaa_page.php)
   ===================================================================== */
/* Constat de l'autorité : encart d'alerte */
.nvbb-it .nvbb-it__alert {
    position: relative;
    padding: var(--mdaa-sp-6);
    overflow: hidden;
    color: #dbe6f1;
    background:
        radial-gradient(60% 120% at 100% 0%, rgba(248, 144, 0, .3), transparent 60%),
        var(--mdaa-navy-900);
    border-radius: var(--mdaa-r-xl);
}
.nvbb-it .nvbb-it__alert::before {
    content: "";
    position: absolute; inset: 0 auto 0 0;
    width: 8px;
    background: var(--mdaa-orange);
}
.nvbb-it .nvbb-it__alert .nvbb-it__h2 { color: #fff; }
.nvbb-it .nvbb-it__alert .nvbb-it__p { max-width: 70ch; font-size: var(--mdaa-fs-lg); color: #cddbe9; }
.nvbb-it .nvbb-it__alert .nvbb-it__stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--mdaa-sp-3);
    margin: var(--mdaa-sp-5) 0 var(--mdaa-sp-3);
}
.nvbb-it .nvbb-it__alert .nvbb-it__stats > div {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: var(--mdaa-sp-4) var(--mdaa-sp-5);
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: var(--mdaa-r-md);
}
.nvbb-it .nvbb-it__alert .nvbb-it__stats strong {
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-3xl);
    font-weight: 800;
    line-height: 1;
    color: var(--mdaa-orange);
}
.nvbb-it .nvbb-it__alert .nvbb-it__stats span { font-size: var(--mdaa-fs-sm); color: #cddbe9; }
.nvbb-it .nvbb-it__alert .nvbb-it__note { margin: 0 !important; font-size: var(--mdaa-fs-xs); color: #8ba3bc; }

/* Ce que dit la loi */
.nvbb-it .nvbb-it__grid--2 { gap: var(--mdaa-sp-5); align-items: start; }
.nvbb-it .nvbb-it__grid--2 > div > .nvbb-it__p { font-size: var(--mdaa-fs-lg); line-height: 1.7; color: var(--mdaa-ink-soft); }
.nvbb-it dl.nvbb-it__facts { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--mdaa-sp-2); margin: 0; }
.nvbb-it .nvbb-it__facts .nvbb-it__fact {
    display: grid;
    grid-template-columns: minmax(120px, 40%) minmax(0, 1fr);
    gap: var(--mdaa-sp-3);
    align-items: baseline;
    padding: var(--mdaa-sp-3) var(--mdaa-sp-4);
    background: var(--mdaa-navy-50);
    border-left: 4px solid var(--mdaa-orange);
    border-radius: 0 var(--mdaa-r-sm) var(--mdaa-r-sm) 0;
}
.nvbb-it .nvbb-it__fact dt {
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-xs);
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--mdaa-ink-faint);
}
.nvbb-it .nvbb-it__fact dd { margin: 0; font-weight: 700; color: var(--mdaa-navy-900); }

/* Suis-je concerné ? */
.nvbb-it .nvbb-it__grid--2 > .nvbb-it__card { padding: var(--mdaa-sp-5); border-radius: var(--mdaa-r-lg); }
.nvbb-it .nvbb-it__grid--2 > .nvbb-it__card:has(.nvbb-it__list:not(.nvbb-it__list--out)) { border-top: 4px solid var(--mdaa-success); }
.nvbb-it .nvbb-it__grid--2 > .nvbb-it__card:has(.nvbb-it__list--out) { background: var(--mdaa-navy-50); border-top: 4px solid var(--mdaa-ink-faint); box-shadow: none; }
.nvbb-it .nvbb-it__card h3 { margin: 0 0 var(--mdaa-sp-3); font-size: var(--mdaa-fs-lg); }
.nvbb-it ul.nvbb-it__list { gap: var(--mdaa-sp-2); margin: 0; }
.nvbb-it ul.nvbb-it__list li { font-size: var(--mdaa-fs-md); line-height: 1.5; }
.nvbb-it ul.nvbb-it__list:not(.nvbb-it__list--out) li::before {
    width: 20px; height: 20px;
    margin-top: 1px;
    background: var(--mdaa-success) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 11px no-repeat;
}
.nvbb-it ul.nvbb-it__list--out li::before {
    content: "";
    width: 20px; height: 20px;
    margin-top: 1px;
    flex: none;
    background: var(--mdaa-line) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234d5e70' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") center / 10px no-repeat;
    border-radius: 50%;
}

/* L'offre */
.nvbb-it .nvbb-it__offer {
    position: relative;
    gap: var(--mdaa-sp-5);
    padding: 0 0 var(--mdaa-sp-6);
    overflow: hidden;
    border: 2px solid var(--mdaa-orange);
    border-radius: var(--mdaa-r-xl);
    box-shadow: var(--mdaa-sh-md);
}
.nvbb-it .nvbb-it__offer > :not(.nvbb-it__offer-head) { margin-inline: var(--mdaa-sp-6); }
.nvbb-it .nvbb-it__offer-head {
    position: relative;
    flex-wrap: wrap;
    align-items: center;
    padding: var(--mdaa-sp-6) var(--mdaa-sp-6) calc(var(--mdaa-sp-6) + 6px);
    color: #fff;
    background: var(--mdaa-navy);
}
.nvbb-it .nvbb-it__offer-head::after {
    content: "";
    position: absolute; inset: auto 0 0 0;
    height: 6px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
}
.nvbb-it .nvbb-it__offer-head h3 { color: #fff; font-size: var(--mdaa-fs-xl) !important; }
.nvbb-it .nvbb-it__offer-head p { color: #cddbe9; }
.nvbb-it .nvbb-it__offer-head > div:last-child { text-align: right; }
.nvbb-it .nvbb-it__offer-price {
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-3xl);
    font-weight: 800;
    line-height: 1;
    color: var(--mdaa-orange);
}
.nvbb-it .nvbb-it__offer-head small { color: #9db4cb; }
.nvbb-it .nvbb-it__offer h4 {
    margin: 0 0 var(--mdaa-sp-3) !important;
    font-size: var(--mdaa-fs-xs);
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--mdaa-orange-700);
}
.nvbb-it .nvbb-it__offer .nvbb-it__hero-actions { margin-top: 0; padding-top: var(--mdaa-sp-4); border-top: 1px solid var(--mdaa-line-soft); }
.nvbb-it .nvbb-it__offer .nvbb-it__btn--navy { --btn-bg: var(--mdaa-orange); --btn-bd: var(--mdaa-orange); --btn-fg: #12202e; font-weight: 700; }

/* Erreurs fréquentes */
.nvbb-it .nvbb-it__grid--3 > .nvbb-it__card:has(.nvbb-it__num) { position: relative; padding: var(--mdaa-sp-5); padding-top: var(--mdaa-sp-6); }
.nvbb-it .nvbb-it__card .nvbb-it__num {
    display: grid;
    place-items: center;
    width: 40px; height: 40px;
    margin-bottom: var(--mdaa-sp-2);
    font-size: var(--mdaa-fs-md);
    color: #fff;
    background: var(--mdaa-terracotta);
    border-radius: var(--mdaa-r-sm);
}
.nvbb-it .nvbb-it__card p { margin: 0; font-size: var(--mdaa-fs-md); color: var(--mdaa-ink-soft); }

/* FAQ */
.nvbb-it .nvbb-it__faq details { padding: 0; overflow: hidden; border-radius: var(--mdaa-r-md); transition: border-color var(--mdaa-transition); }
.nvbb-it .nvbb-it__faq details[open] { border-color: var(--mdaa-orange); box-shadow: var(--mdaa-sh-sm); }
.nvbb-it .nvbb-it__faq summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--mdaa-sp-3);
    padding: var(--mdaa-sp-4) var(--mdaa-sp-5);
    list-style: none;
}
.nvbb-it .nvbb-it__faq summary::-webkit-details-marker { display: none; }
.nvbb-it .nvbb-it__faq summary::after {
    content: "+";
    display: grid;
    place-items: center;
    width: 28px; height: 28px;
    flex: none;
    font-size: var(--mdaa-fs-lg);
    color: #fff;
    background: var(--mdaa-navy);
    border-radius: 50%;
    transition: transform var(--mdaa-transition), background var(--mdaa-transition);
}
.nvbb-it .nvbb-it__faq details[open] summary::after { content: "\2212"; color: #12202e; background: var(--mdaa-orange); }
.nvbb-it .nvbb-it__faq details p { margin: 0; padding: 0 var(--mdaa-sp-5) var(--mdaa-sp-5); color: var(--mdaa-ink-soft); }

/* Sources */
.nvbb-it ul.nvbb-it__sources { display: flex; flex-direction: column; gap: 6px; margin: var(--mdaa-sp-3) 0; padding: 0; list-style: none; }
.nvbb-it ul.nvbb-it__sources li { margin: 0; padding-left: 16px; position: relative; }
.nvbb-it ul.nvbb-it__sources li::before { content: ""; position: absolute; left: 0; top: .6em; width: 6px; height: 6px; background: var(--mdaa-orange); border-radius: 50%; }
.nvbb-it .nvbb-it__disclaimer { padding: var(--mdaa-sp-3) var(--mdaa-sp-4); background: var(--mdaa-navy-50); border-radius: var(--mdaa-r-sm); }

@media (max-width: 760px) {
    .nvbb-it .nvbb-it__alert .nvbb-it__stats { grid-template-columns: minmax(0, 1fr); }
    .nvbb-it .nvbb-it__facts .nvbb-it__fact { grid-template-columns: minmax(0, 1fr); gap: 2px; }
    .nvbb-it .nvbb-it__offer-head > div:last-child { text-align: left; }
    .nvbb-it .nvbb-it__offer > :not(.nvbb-it__offer-head) { margin-inline: var(--mdaa-sp-4); }
    .nvbb-it .nvbb-it__alert, .nvbb-it .nvbb-it__offer-head { padding: var(--mdaa-sp-5); }
}

/* EAA : l'encart « constat » hérite du style alerte générique (flex en ligne) — on l'empile */
.nvbb-it section > .nvbb-it__alert {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--mdaa-sp-3);
    align-items: start;
    margin: 0;
    padding: var(--mdaa-sp-7) var(--mdaa-sp-7) var(--mdaa-sp-6) calc(var(--mdaa-sp-7) + 8px);
    border: 0;
}
.nvbb-it section > .nvbb-it__alert > .nvbb-it__h2 { max-width: none; margin: 0; font-size: var(--mdaa-fs-3xl); }
.nvbb-it section > .nvbb-it__alert > .nvbb-it__p { margin: 0; }
.nvbb-it section > .nvbb-it__alert > .nvbb-it__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--mdaa-sp-4);
    margin: var(--mdaa-sp-4) 0 0;
}
.nvbb-it section > .nvbb-it__alert .nvbb-it__stats > div {
    padding: var(--mdaa-sp-5);
    gap: var(--mdaa-sp-2);
    border-top: 3px solid var(--mdaa-orange);
}
.nvbb-it section > .nvbb-it__alert .nvbb-it__stats strong {
    font-size: clamp(2.2rem, 4.5vw, 3.2rem);
    white-space: nowrap;
    letter-spacing: -.02em;
}
.nvbb-it section > .nvbb-it__alert .nvbb-it__stats span { font-size: var(--mdaa-fs-md); line-height: 1.45; }
.nvbb-it section > .nvbb-it__alert > .nvbb-it__note { margin-top: var(--mdaa-sp-2) !important; }

@media (max-width: 760px) {
    .nvbb-it section > .nvbb-it__alert { padding: var(--mdaa-sp-5) var(--mdaa-sp-5) var(--mdaa-sp-5) calc(var(--mdaa-sp-5) + 8px); }
    .nvbb-it section > .nvbb-it__alert > .nvbb-it__stats { grid-template-columns: minmax(0, 1fr); }
    .nvbb-it section > .nvbb-it__alert > .nvbb-it__h2 { font-size: var(--mdaa-fs-2xl); }
}

/* EAA — offre : titre à gauche, prix aligné à droite dans l'en-tête */
.nvbb-it .nvbb-it__offer > .nvbb-it__offer-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--mdaa-sp-5);
}
.nvbb-it .nvbb-it__offer > .nvbb-it__offer-head > div:last-child {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    min-width: 220px;
    max-width: 280px;
    padding: var(--mdaa-sp-4) var(--mdaa-sp-5);
    text-align: right;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: var(--mdaa-r-md);
}
.nvbb-it .nvbb-it__offer > .nvbb-it__offer-head .nvbb-it__offer-price { margin: 0; white-space: nowrap; }
.nvbb-it .nvbb-it__offer > .nvbb-it__offer-head small { font-size: var(--mdaa-fs-xs); line-height: 1.4; }
@media (max-width: 760px) {
    .nvbb-it .nvbb-it__offer > .nvbb-it__offer-head { grid-template-columns: minmax(0, 1fr); }
    .nvbb-it .nvbb-it__offer > .nvbb-it__offer-head > div:last-child { align-items: flex-start; max-width: none; text-align: left; }
}

/* =====================================================================
   CORRECTIFS TRANSVERSES — titres alignés à gauche en style inline,
   panier vide
   ===================================================================== */
.mdaa-section__title[style*="text-align:left"]::after,
.mdaa-section__title[style*="text-align: left"]::after,
.mdaa-siam-section-title[style*="text-align:left"]::after,
.mdaa-siam-section-title[style*="text-align: left"]::after { margin-inline: 0; }
.mdaa-section__subtitle[style*="text-align:left"],
.mdaa-section__subtitle[style*="text-align: left"] { margin-inline: 0; max-width: 70ch; }

.mdaa-cart-empty {
    position: relative;
    max-width: 640px;
    margin: 0 auto;
    padding: var(--mdaa-sp-8) var(--mdaa-sp-6) var(--mdaa-sp-7);
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-xl);
    box-shadow: var(--mdaa-sh-sm);
}
.mdaa-cart-empty::before {
    content: "";
    position: absolute; inset: 0 0 auto 0;
    height: 6px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
}
.mdaa-cart-empty__icon { margin: 0 auto var(--mdaa-sp-4); }
.mdaa-cart-empty__title { margin: 0 0 var(--mdaa-sp-2); }
.mdaa-cart-empty__msg { margin: 0 auto; max-width: 46ch; }
.mdaa-cart-empty__actions { justify-content: center; margin-top: var(--mdaa-sp-5); }

/* =====================================================================
   ÉLÉMENTS CRÉÉS PAR LES SCRIPTS (cart.js, mbae_cart.js,
   kkiapay-payment.js, mdaa-siam-tickets.js)
   ===================================================================== */
/* Toast panier (repli quand le pop-up n'est pas chargé) */
.mdaa-toast {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 1200;
    display: flex;
    align-items: center;
    gap: var(--mdaa-sp-3);
    max-width: min(440px, calc(100vw - 32px));
    padding: 14px 16px 14px 18px;
    font-size: var(--mdaa-fs-md);
    line-height: 1.45;
    color: #fff;
    background: var(--mdaa-navy-900);
    border-left: 5px solid var(--mdaa-orange);
    border-radius: var(--mdaa-r-md);
    box-shadow: var(--mdaa-sh-lg);
    opacity: 0;
    visibility: hidden;
    transform: translateY(16px);
    transition: opacity 220ms ease, transform 220ms ease, visibility 0s linear 220ms;
    pointer-events: none;
}
.mdaa-toast.is-visible {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: opacity 220ms ease, transform 220ms ease;
    pointer-events: auto;
}
.mdaa-toast--success { border-left-color: var(--mdaa-success); }
.mdaa-toast--error { border-left-color: var(--mdaa-danger); }
.mdaa-toast__icon { display: inline-grid; place-items: center; width: 22px; height: 22px; flex: none; }
.mdaa-toast__icon svg { width: 20px; height: 20px; }
.mdaa-toast--success .mdaa-toast__icon { color: #7fd7a4; }
.mdaa-toast--error .mdaa-toast__icon { color: #ff9c8f; }
.mdaa-toast__msg { flex: 1; min-width: 0; }
.mdaa-toast__action {
    flex: none;
    padding: 6px 14px;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-sm);
    font-weight: 700;
    color: #12202e;
    text-decoration: none;
    background: var(--mdaa-orange);
    border-radius: var(--mdaa-r-pill);
}
.mdaa-toast__action:hover { color: #12202e; background: var(--mdaa-orange-500); }
@media (max-width: 560px) { .mdaa-toast { right: 16px; left: 16px; bottom: 16px; max-width: none; } }

/* Pastilles de quantité panier mises à jour par les scripts */
.mdaa-header__cart-badge,
.mbae-header__cart-badge,
.mdaa-cart-total-badge {
    display: inline-grid;
    place-items: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    font-family: var(--mdaa-font-display);
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    color: #fff;
    background: var(--mdaa-navy);
    border-radius: var(--mdaa-r-pill);
}
.mdaa-cart-total-badge:empty { display: none; }

/* Paiement Kkiapay */
.mdaa-btn.is-loading,
button.is-loading { position: relative; color: transparent !important; pointer-events: none; }
.mdaa-btn.is-loading::after,
button.is-loading::after {
    content: "";
    position: absolute;
    top: 50%; left: 50%;
    width: 20px; height: 20px;
    margin: -10px 0 0 -10px;
    border: 3px solid rgba(255, 255, 255, .4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: mdaa-spin 700ms linear infinite;
}
.mdaa-btn--ghost.is-loading::after { border-color: var(--mdaa-navy-100); border-top-color: var(--mdaa-navy); }
@keyframes mdaa-spin { to { transform: rotate(360deg); } }
.mdaa-payment-runtime-error { margin-bottom: var(--mdaa-sp-5); }

/* Montant converti (EUR / USD) sous un prix en FCFA */
.mdaa-money-hint {
    display: block;
    margin-top: 2px;
    font-family: var(--mdaa-font);
    font-size: var(--mdaa-fs-xs);
    font-weight: 500;
    color: var(--mdaa-ink-faint);
}

/* Billetterie : choix du jour */
.mdaa-siam-ticket__day-block--visible { animation: mdaa-fade-in 200ms ease; }
@keyframes mdaa-fade-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.mdaa-siam-ticket--day-missing { border-color: var(--mdaa-warning) !important; box-shadow: 0 0 0 3px rgba(240, 160, 30, .18); }
.mdaa-siam-ticket--day-missing .mdaa-siam-ticket__day-block { color: #6f4504; }
.mdaa-siam-ticket--day-missing .mdaa-siam-ticket__day-label::after { content: " *"; color: var(--mdaa-danger); }
.mdaa-siam-tickets-submit--needs-day,
.mdaa-siam-tickets-submit--needs-day:disabled {
    color: #6f4504 !important;
    background: var(--mdaa-warning-bg) !important;
    border-color: var(--mdaa-warning) !important;
    opacity: 1;
    cursor: not-allowed;
}

/* =====================================================================
   PANIER — ligne d'article sur 5 colonnes (image · infos · quantité ·
   prix · supprimer), sélecteur de quantité, actions
   ===================================================================== */
.mdaa-cart-items > .mdaa-cart-item {
    grid-template-columns: 96px minmax(0, 1fr) auto auto auto;
    gap: var(--mdaa-sp-5);
    align-items: center;
    padding: var(--mdaa-sp-4) var(--mdaa-sp-5);
    transition: border-color var(--mdaa-transition), box-shadow var(--mdaa-transition);
}
.mdaa-cart-items > .mdaa-cart-item:hover { border-color: var(--mdaa-navy-200); box-shadow: var(--mdaa-sh-sm); }
.mdaa-cart-item .mdaa-cart-item__img { width: 96px; height: 96px; }
.mdaa-cart-item .mdaa-cart-item__info { gap: 6px; }
.mdaa-cart-item .mdaa-cart-item__name { margin: 0; font-size: var(--mdaa-fs-lg); line-height: 1.3; }
.mdaa-cart-item .mdaa-cart-item__variant { margin: 0; }
.mdaa-cart-item .mdaa-cart-item__artisan {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 8px;
    margin: 0;
}
.mdaa-cart-item .mdaa-cart-item__artisan a { font-weight: 600; color: var(--mdaa-navy); text-decoration: none; }
.mdaa-cart-item .mdaa-cart-item__artisan a:hover { color: var(--mdaa-orange-700); text-decoration: underline; }
.mdaa-cart-item .mdaa-badge--ciaac { font-size: 11px; padding: 3px 9px; }
.mdaa-cart-item .mdaa-cart-item__stock-warning { display: flex; align-items: center; gap: 6px; margin: 0; }
.mdaa-cart-item .mdaa-cart-item__stock-warning svg { width: 14px; height: 14px; }

/* Quantité : libellé au-dessus, contrôle compact */
.mdaa-cart-item .mdaa-cart-item__qty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}
.mdaa-cart-item .mdaa-cart-item__qty-label { display: block; margin: 0; }
.mdaa-cart-item .mdaa-cart-qty-form { margin: 0; }
.mdaa-qty-control {
    display: inline-flex;
    align-items: stretch;
    height: 40px;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--mdaa-navy-200);
    border-radius: var(--mdaa-r-pill);
}
.mdaa-qty-btn {
    display: grid;
    place-items: center;
    width: 38px;
    padding: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    color: var(--mdaa-navy);
    background: none;
    border: 0;
    cursor: pointer;
    transition: background var(--mdaa-transition), color var(--mdaa-transition);
}
.mdaa-qty-btn:hover:not(:disabled) { color: #fff; background: var(--mdaa-navy); }
.mdaa-qty-btn:disabled { color: var(--mdaa-ink-faint); opacity: .45; cursor: not-allowed; }
.mdaa-qty-display {
    display: grid;
    place-items: center;
    min-width: 42px;
    padding: 0 4px;
    font-family: var(--mdaa-font-display);
    font-weight: 800;
    font-size: var(--mdaa-fs-md);
    color: var(--mdaa-navy-900);
    border-inline: 1px solid var(--mdaa-line);
}

/* Prix */
.mdaa-cart-item .mdaa-cart-item__price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    min-width: 120px;
    text-align: right;
}
.mdaa-cart-item .mdaa-cart-item__line-total { font-size: var(--mdaa-fs-lg); }
.mdaa-cart-item .mdaa-cart-item__line-total .mdaa-money-hint,
.mdaa-cart-item .mdaa-cart-item__line-total small { font-weight: 500; }
.mdaa-cart-item .mdaa-cart-item__unit-price { font-family: var(--mdaa-font); font-weight: 500; }

/* Actions sous la liste */
.mdaa-cart-items > .mdaa-cart-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--mdaa-sp-3);
    margin-top: var(--mdaa-sp-3);
}
.mdaa-cart-actions .mdaa-confirm-form { display: inline-flex !important; margin: 0; }
.mdaa-cart-clear-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 18px;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-sm);
    font-weight: 700;
    color: var(--mdaa-danger);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-pill);
    cursor: pointer;
    transition: background var(--mdaa-transition), border-color var(--mdaa-transition);
}
.mdaa-cart-clear-btn:hover { background: var(--mdaa-danger-bg); border-color: var(--mdaa-danger); }
.mdaa-cart-clear-btn svg { width: 16px; height: 16px; }

/* Récapitulatif : garanties */
.mdaa-cart-summary .mdaa-cart-trust {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: var(--mdaa-sp-5) 0 0;
    padding: var(--mdaa-sp-4) 0 0;
    list-style: none;
    border-top: 1px solid var(--mdaa-line-soft);
}
.mdaa-cart-summary .mdaa-cart-trust li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: var(--mdaa-fs-sm);
    color: var(--mdaa-ink-soft);
}
.mdaa-cart-summary .mdaa-cart-trust svg {
    width: 30px; height: 30px;
    flex: none;
    padding: 7px;
    color: var(--mdaa-navy);
    background: var(--mdaa-navy-50);
    border-radius: 50%;
}

/* Tablette : quantité + prix + supprimer passent sous les infos */
@media (max-width: 1100px) {
    .mdaa-cart-items > .mdaa-cart-item {
        grid-template-columns: 96px minmax(0, 1fr) auto;
        grid-template-areas: "img info info" "img qty price" "img qty remove";
        row-gap: var(--mdaa-sp-3);
    }
    .mdaa-cart-item > .mdaa-cart-item__img-link { grid-area: img; align-self: start; }
    .mdaa-cart-item > .mdaa-cart-item__info { grid-area: info; }
    .mdaa-cart-item > .mdaa-cart-item__qty { grid-area: qty; align-items: flex-start; justify-self: start; }
    .mdaa-cart-item > .mdaa-cart-item__price { grid-area: price; }
    .mdaa-cart-item > .mdaa-cart-item__remove-form { grid-area: remove; justify-self: end; }
}
@media (max-width: 560px) {
    .mdaa-cart-items > .mdaa-cart-item {
        grid-template-columns: 72px minmax(0, 1fr);
        grid-template-areas: "img info" "qty price" "qty remove";
        padding: var(--mdaa-sp-4);
    }
    .mdaa-cart-item .mdaa-cart-item__img { width: 72px; height: 72px; }
    .mdaa-cart-items > .mdaa-cart-actions { flex-direction: column-reverse; align-items: stretch; }
    .mdaa-cart-actions .mdaa-btn, .mdaa-cart-actions .mdaa-cart-clear-btn { justify-content: center; width: 100%; }
}

/* Panier — quantité : la colonne n'est plus une pilule (héritée du style
   générique .mdaa-cart-item__qty), seul le sélecteur est encadré */
.mdaa-cart-item .mdaa-cart-item__qty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 0;
    overflow: visible;
    background: none;
    border: 0;
    border-radius: 0;
}
.mdaa-cart-item .mdaa-cart-item__qty-label {
    width: auto;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}
.mdaa-cart-item .mdaa-cart-qty-form { display: block; margin: 0; }
.mdaa-cart-item .mdaa-qty-control { height: 40px; border: 1.5px solid var(--mdaa-navy-200); }
.mdaa-cart-item .mdaa-qty-btn { width: 38px; height: 100%; }
.mdaa-cart-item .mdaa-qty-display { width: auto; min-width: 44px; height: 100%; }
/* Éléments étrangers glissés dans la colonne (pastilles, indicateurs) */
.mdaa-cart-item .mdaa-cart-item__qty > :not(.mdaa-cart-item__qty-label):not(.mdaa-cart-qty-form),
.mdaa-cart-item .mdaa-cart-qty-form > :not(.mdaa-qty-control):not(input) { display: none !important; }

/* Frises d'étapes : même présentation que l'Immersion sur toutes les pages
   — sous le bandeau (plus de chevauchement), séparateurs en trait fin */
.register-page .register-hero { padding-bottom: calc(var(--mdaa-sp-8) + 8px); }
.register-page .register-progress {
    margin: var(--mdaa-sp-6) auto 0;
    padding: 0 var(--mdaa-sp-5);
}
.register-page .register-steps {
    gap: 10px;
    padding: var(--mdaa-sp-3) var(--mdaa-sp-6);
    border: 1px solid var(--mdaa-line);
    box-shadow: var(--mdaa-sh-md);
}
.register-page .register-step__sep {
    width: 28px;
    height: 2px;
    background: var(--mdaa-line);
    border-radius: 2px;
}
.register-page .register-step__sep svg { display: none; }
.register-page .register-step.is-done + .register-step__sep { background: var(--mdaa-success); }
.register-page .register-form { margin-top: var(--mdaa-sp-6); }
.register-page .thanks-card { margin-top: var(--mdaa-sp-6); }
@media (max-width: 900px) {
    .register-page .register-step__sep { width: 14px; }
}

/* Bande « Ils nous ont fait confiance » : chaque logo dans une tuile blanche
   identique — les logos à fond blanc ou gris ne font plus de rectangles */
.nvbb-trust__track { gap: var(--mdaa-sp-4); }
.nvbb-trust__item {
    width: 176px;
    height: 88px;
    padding: 12px 18px;
    background: #fff;
    border: 1px solid var(--mdaa-sand);
    border-radius: var(--mdaa-r-lg);
    box-shadow: 0 2px 8px rgba(1, 32, 63, .06);
    transition: border-color var(--mdaa-transition), box-shadow var(--mdaa-transition), transform var(--mdaa-transition);
}
.nvbb-trust__item:hover {
    border-color: var(--mdaa-orange-300);
    box-shadow: var(--mdaa-sh-md);
    transform: translateY(-2px);
}
.nvbb-trust__logo {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    mix-blend-mode: multiply;
    filter: grayscale(1);
    opacity: .8;
}
.nvbb-trust__item:hover .nvbb-trust__logo { filter: none; opacity: 1; }
.nvbb-trust__name {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: var(--mdaa-fs-sm);
    color: var(--mdaa-navy-900);
}
@media (max-width: 560px) {
    .nvbb-trust__item { width: 140px; height: 72px; padding: 10px 14px; }
}

/* Logos confiance : centrage strict dans la tuile, taille bornée en px */
.nvbb-trust__track li { display: flex; flex: none; }
.nvbb-trust__item {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    overflow: hidden;
}
.nvbb-trust__item > * { flex: none; }
.nvbb-trust__logo {
    width: auto;
    height: auto;
    max-width: 138px;
    max-height: 60px;
    margin: auto;
}
@media (max-width: 560px) {
    .nvbb-trust__logo { max-width: 110px; max-height: 48px; }
}


/* =====================================================================
   99. BARRES FIXÉES EN HAUT + SOUS-MENUS ADMIN/ARTISAN LISIBLES
   Ajouté le 28 septembre 2026 (demande de Ganyo).
   - La topbar, l'en-tête et la barre admin (ou artisan) restent visibles
     au défilement, empilées dans cet ordre.
   - Les hauteurs réelles sont mesurées par public/assets/js/mdaa-megamenu.js
     (variables --nvbb-topbar-h, --nvbb-header-real-h, --nvbb-bars-h,
     --nvbb-sticky-top) ; les valeurs ci-dessous servent de repli sans JS.
   - La barre admin reçoit un z-index propre : ses sous-menus passent
     au-dessus du bandeau de page (avant, le bandeau brun les recouvrait).
   - Sélecteurs préfixés par « body » : mdaa_admin.css est chargé après
     ce fichier.
   ===================================================================== */
:root {
    --nvbb-topbar-h: 0px;
    --nvbb-header-real-h: var(--mdaa-header-h);
    --nvbb-bars-h: var(--mdaa-header-h);
    --nvbb-sticky-top: calc(var(--mdaa-header-h) + 16px);
}
html { scroll-padding-top: var(--nvbb-sticky-top); }

body .mdaa-topbar {
    position: sticky;
    top: 0;
    z-index: 720;
}
body .mdaa-header {
    top: var(--nvbb-topbar-h);
}
body .mdaa-admin-header {
    position: sticky;
    top: calc(var(--nvbb-topbar-h) + var(--nvbb-header-real-h));
    z-index: 690;
}

/* Sous-menus de la barre admin / artisan */
body .mdaa-admin-meganav__panel {
    z-index: 760;
    min-width: 230px;
    background: #fff;
    border: 1px solid var(--mdaa-line);
    box-shadow: 0 12px 32px rgba(1, 32, 63, .18);
}
body .mdaa-admin-meganav__panel-link {
    color: var(--mdaa-navy-900);
    font-weight: 600;
}
body .mdaa-admin-meganav__panel-link:hover,
body .mdaa-admin-meganav__panel-link:focus-visible {
    color: #013C80;
    background: #eef3f9;
}
body .mdaa-admin-meganav__panel-link.is-active {
    color: #013C80;
    box-shadow: inset 3px 0 0 #F79303;
}

/* Éléments collants des pages : sous les barres, plus sous l'en-tête seul */
.mdaa-catalogue__sidebar,
.mdaa-product__gallery, .mbae-item__gallery,
.siam-stands__side,
.mdaa-cart-summary, .mdaa-checkout-summary, .mdaa-payment-summary,
.mdaa-siam-tickets-summary, .mdaa-success-summary,
.mdaa-siam-tabs .mdaa-siam-tabs__nav {
    top: var(--nvbb-sticky-top);
}
.nvbb-it > .nvbb-it__subnav { top: var(--nvbb-bars-h); }

@media print {
    body .mdaa-admin-header { position: static; }
}


/* =====================================================================
   100. IMAGES DE FOND DE L'EXPO (29/09/2026)
   Photos de storage/events/expo derrière l'encart Expo de l'accueil
   (.mdaa-hp-siam) et le hero de la page Expo (.mdaa-siam-hero).
   Défilement : public/assets/js/nvbb-bgslides.js.
   ===================================================================== */
.nvbb-bgslides {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
}
.nvbb-bgslide {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transform: scale(1.04);
    transition: opacity 1.2s ease, transform 8s linear;
}
.nvbb-bgslide.is-active { opacity: 1; transform: scale(1); }
.nvbb-bgslides__veil {
    position: absolute;
    inset: 0;
    background: linear-gradient(100deg, rgba(1, 32, 63, .93) 0%, rgba(1, 32, 63, .8) 45%, rgba(1, 32, 63, .45) 100%);
}
/* Accueil : le texte et la date passent au-dessus des photos */
.mdaa-hp-siam--photo .mdaa-hp-siam__glow { z-index: 1; }
.mdaa-hp-siam--photo .mdaa-hp-siam__l,
.mdaa-hp-siam--photo .mdaa-hp-siam__r { z-index: 2; }
/* Page Expo : l'ancienne couche photo vide et son voile laissent place aux photos */
.mdaa-siam-hero--photo .mdaa-siam-hero__photo,
.mdaa-siam-hero--photo .mdaa-siam-hero__veil { display: none; }
.mdaa-siam-hero--photo .mdaa-siam-hero__decor { z-index: 1; }
/* Page des stands : carte événement de la colonne de gauche (29/09/2026) */
.siam-stands__side .stand-event > .nvbb-bgslides { position: absolute; inset: 0; z-index: 0; border-radius: inherit; }
.siam-stands__side .stand-event--photo::after { z-index: 0; }
.siam-stands__side .stand-event--photo::before { z-index: 2; }
.stand-event--photo .nvbb-bgslides__veil {
    background: linear-gradient(180deg, rgba(0, 64, 128, .88) 0%, rgba(1, 32, 63, .92) 100%);
}
@media (max-width: 720px) {
    .nvbb-bgslides__veil { background: rgba(1, 32, 63, .82); }
}
@media (prefers-reduced-motion: reduce) {
    .nvbb-bgslide { transition: none; transform: none; }
}


/* =====================================================================
   102. STANDS RÉSERVÉS AUX ARTISANS VÉRIFIÉS (29/09/2026)
   Encadré d'information (accueil et page des stands) + cartes de stand
   de l'accueil sans photo.
   ===================================================================== */
.nvbb-stand-audience {
    display: flex;
    gap: var(--mdaa-sp-4);
    align-items: flex-start;
    margin: 0 0 var(--mdaa-sp-5);
    padding: var(--mdaa-sp-4) var(--mdaa-sp-5);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-left: 4px solid #F79303;
    border-radius: var(--mdaa-r-md);
    box-shadow: var(--mdaa-sh-sm);
}
.nvbb-stand-audience__ico {
    flex: none;
    display: grid;
    place-items: center;
    width: 40px; height: 40px;
    border-radius: 50%;
    background: var(--mdaa-navy-50);
    color: #013C80;
}
.nvbb-stand-audience__ico svg { width: 22px; height: 22px; }
.nvbb-stand-audience__txt strong { display: block; color: #013C80; font-size: var(--mdaa-fs-md); }
.nvbb-stand-audience__txt p { margin: 4px 0 0; font-size: var(--mdaa-fs-sm); color: var(--mdaa-ink-soft); line-height: 1.55; }
.nvbb-stand-audience__links { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.nvbb-stand-audience__links a { color: #013C80; font-weight: 700; text-decoration: none; border-bottom: 2px solid #F79303; }
.nvbb-stand-audience__links a:hover { color: #F79303; }

@media (max-width: 640px) {
    .nvbb-stand-audience { flex-direction: column; }
}


/* =====================================================================
   103. CARTES DE STAND — SOURCE UNIQUE (29/09/2026)
   Gabarit : resources/views/siam/partials/_stand_card.php
   Appel   : siam_stand_cards_render() (config/siam/siam_stand_cards_helpers.php)
   Utilisé par la page des stands et la section Stands de l'accueil.
   Cartes sans photo : filet de couleur en haut, surface, titre, texte,
   places restantes, prix et bouton.
   ===================================================================== */
.nvbb-stand-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: var(--mdaa-sp-5);
    align-items: stretch;
}
.nvbb-stand-grid--home { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nvbb-stand-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-top: 4px solid #013C80;
    border-radius: var(--mdaa-r-lg);
    box-shadow: var(--mdaa-sh-sm);
    transition: transform var(--mdaa-transition), box-shadow var(--mdaa-transition);
}
.nvbb-stand-card:hover { transform: translateY(-3px); box-shadow: var(--mdaa-sh-md); }
.nvbb-stand-card--featured { border-top-color: #F79303; box-shadow: 0 10px 28px rgba(247, 147, 3, .16); }
.nvbb-stand-card--full { opacity: .75; border-top-color: var(--mdaa-ink-faint); }
.nvbb-stand-card__head { padding: var(--mdaa-sp-5) var(--mdaa-sp-5) 0; }
.nvbb-stand-card__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: var(--mdaa-sp-3); }
.nvbb-stand-card__size,
.nvbb-stand-card__flag {
    display: inline-block;
    padding: 3px 10px;
    border-radius: var(--mdaa-r-pill);
    font-size: var(--mdaa-fs-xs);
    font-weight: 700;
    white-space: nowrap;
}
.nvbb-stand-card__size { background: var(--mdaa-navy-50); color: #013C80; }
.nvbb-stand-card__flag { background: var(--mdaa-orange-50); color: #a05f00; }
.nvbb-stand-card__flag--full { background: var(--mdaa-danger-bg); color: var(--mdaa-danger); }
.nvbb-stand-card__title { margin: 0; font-size: var(--mdaa-fs-xl); color: var(--mdaa-navy-900); }
.nvbb-stand-card__code {
    display: block;
    margin-top: 2px;
    font-family: var(--mdaa-font-mono);
    font-size: var(--mdaa-fs-xs);
    color: var(--mdaa-ink-faint);
}
.nvbb-stand-card__desc {
    margin: var(--mdaa-sp-3) var(--mdaa-sp-5) 0;
    font-size: var(--mdaa-fs-sm);
    line-height: 1.6;
    color: var(--mdaa-ink-soft);
}
.nvbb-stand-card__avail {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    align-self: flex-start;
    margin: var(--mdaa-sp-4) var(--mdaa-sp-5) 0;
    padding: 4px 10px;
    border-radius: var(--mdaa-r-pill);
    background: var(--mdaa-success-bg);
    color: var(--mdaa-success);
    font-size: var(--mdaa-fs-xs);
    font-weight: 700;
}
.nvbb-stand-card__avail::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.nvbb-stand-card__avail--full { background: var(--mdaa-danger-bg); color: var(--mdaa-danger); }
.nvbb-stand-card__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--mdaa-sp-3);
    margin-top: auto;
    padding: var(--mdaa-sp-4) var(--mdaa-sp-5) var(--mdaa-sp-5);
    border-top: 1px solid var(--mdaa-line-soft);
}
.nvbb-stand-card__avail + .nvbb-stand-card__foot { margin-top: var(--mdaa-sp-4); }
.nvbb-stand-card__price {
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-xl);
    font-weight: 800;
    line-height: 1.15;
    color: var(--mdaa-navy-900);
    white-space: nowrap;
}
.nvbb-stand-card__price .mdaa-money-hint {
    display: block;
    margin-top: 2px;
    font-family: var(--mdaa-font);
    font-size: var(--mdaa-fs-xs);
    font-weight: 600;
    color: var(--mdaa-ink-faint);
}
.nvbb-stand-card__btn {
    flex: none;
    display: inline-flex;
    align-items: center;
    padding: 10px 18px;
    border-radius: var(--mdaa-r-pill);
    background: #013C80;
    color: #fff;
    font-weight: 700;
    font-size: var(--mdaa-fs-sm);
    text-decoration: none;
}
.nvbb-stand-card__btn:hover { background: #F79303; color: #01203f; }
.nvbb-stand-card__btn--off { background: var(--mdaa-line); color: var(--mdaa-ink-faint); cursor: default; }
.nvbb-stand-card__btn--off:hover { background: var(--mdaa-line); color: var(--mdaa-ink-faint); }
/* Correctif 29/09/2026 (3) : dans les colonnes étroites (page des stands avec
   barre latérale), le prix et le bouton débordaient de la carte. Le bas de
   carte est désormais empilé : prix, puis bouton pleine largeur. */
.nvbb-stand-card { min-width: 0; }
.nvbb-stand-card__title { font-size: var(--mdaa-fs-lg); overflow-wrap: anywhere; }
.nvbb-stand-card__avail { border-radius: 10px; line-height: 1.35; }
.nvbb-stand-card__foot {
    flex-direction: column;
    align-items: stretch;
    gap: var(--mdaa-sp-3);
}
.nvbb-stand-card__price { font-size: var(--mdaa-fs-lg); white-space: normal; }
.nvbb-stand-card__price .mdaa-money-hint { display: inline; margin: 0 0 0 4px; }
.nvbb-stand-card__btn { justify-content: center; width: 100%; box-sizing: border-box; }
@media (max-width: 980px) {
    .nvbb-stand-grid--home { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .nvbb-stand-grid, .nvbb-stand-grid--home { grid-template-columns: minmax(0, 1fr); }
}

/* =====================================================================
   104. ESPACE RESPONSABLE DE RÉGION (29/09/2026)
   Maakbrug, étape 2 : tableau de bord et fiche de repérage
   (resources/views/referent/). Couleurs de la charte : #013C80 / #F79303.
   ===================================================================== */
.nvbb-ref { background: var(--mdaa-cream, #faf7f1); padding: var(--mdaa-sp-6, 32px) 16px var(--mdaa-sp-8, 56px); }
.nvbb-ref__in { max-width: var(--mdaa-container, 1180px); margin: 0 auto; }
.nvbb-ref__in--narrow { max-width: 820px; }
.nvbb-ref svg { width: 18px; height: 18px; flex: 0 0 auto; }

.nvbb-ref-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.nvbb-ref-head__eyebrow { display: inline-block; font-size: var(--mdaa-fs-xs, 12px); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #F79303; }
.nvbb-ref-head__title { margin: 4px 0 8px; font-size: clamp(1.5rem, 3vw, 2rem); color: #013C80; line-height: 1.2; }
.nvbb-ref-head__sub { margin: 0; color: var(--mdaa-ink-soft, #4a5568); max-width: 60ch; }
.nvbb-ref-head__regions { display: flex; flex-wrap: wrap; gap: 8px; }
.nvbb-ref-head__actions { display: flex; flex-wrap: wrap; gap: 10px; }

.nvbb-ref-chip { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; background: #fff; border: 1px solid var(--mdaa-line, #dde3ec); color: #013C80; font-weight: 600; font-size: var(--mdaa-fs-sm, 14px); }
.nvbb-ref-chip svg { width: 15px; height: 15px; color: #F79303; }
.nvbb-ref-chip small { padding: 1px 7px; border-radius: 999px; background: #F79303; color: #01203f; font-size: 11px; font-weight: 700; }
.nvbb-ref-chip.is-pilot { border-color: #F79303; }

.nvbb-ref-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 20px; border-radius: 999px; border: 2px solid #013C80; font: inherit; font-weight: 700; font-size: var(--mdaa-fs-sm, 14px); text-decoration: none; cursor: pointer; line-height: 1.2; transition: background .15s, color .15s, border-color .15s; }
.nvbb-ref-btn--primary { background: #013C80; color: #fff; }
.nvbb-ref-btn--primary:hover, .nvbb-ref-btn--primary:focus-visible { background: #F79303; border-color: #F79303; color: #01203f; }
.nvbb-ref-btn--ghost { background: #fff; color: #013C80; }
.nvbb-ref-btn--ghost:hover, .nvbb-ref-btn--ghost:focus-visible { background: #eef3fa; }
.nvbb-ref-btn--sm { padding: 7px 14px; font-size: 13px; }

.nvbb-ref-alert { margin: 0 0 18px; padding: 12px 16px; border-radius: 10px; border-left: 4px solid currentColor; }
.nvbb-ref-alert.mdaa-alert--success { background: var(--mdaa-success-bg, #e8f6ee); color: #1c6b3d; }
.nvbb-ref-alert.mdaa-alert--danger { background: var(--mdaa-danger-bg, #fdecec); color: #9b1c1c; }

.nvbb-ref-stats { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.nvbb-ref-stat { background: #fff; border-radius: 12px; padding: 14px 16px; border-top: 3px solid #013C80; box-shadow: 0 1px 3px rgba(1, 60, 128, .08); }
.nvbb-ref-stat.is-accent { border-top-color: #F79303; }
.nvbb-ref-stat strong { display: block; font-size: 1.75rem; line-height: 1.1; color: #013C80; }
.nvbb-ref-stat span { display: block; margin-top: 4px; font-size: 13px; color: var(--mdaa-ink-soft, #4a5568); }
.nvbb-ref-note { margin: 8px 0 22px; font-size: 12px; color: var(--mdaa-ink-faint, #525f71); }

.nvbb-ref-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.nvbb-ref-filter { display: flex; align-items: center; gap: 8px; }
.nvbb-ref-filter label { font-weight: 600; color: #013C80; }
.nvbb-ref-filter select { padding: 8px 12px; border-radius: 8px; border: 1px solid var(--mdaa-line, #dde3ec); background: #fff; font: inherit; }
.nvbb-ref-link { display: inline-flex; align-items: center; gap: 6px; color: #013C80; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.nvbb-ref-link:hover { color: #F79303; }
.nvbb-ref-back { margin-bottom: 14px; text-decoration: none; }

.nvbb-ref-empty { text-align: center; background: #fff; border-radius: 14px; padding: 40px 20px; border: 2px dashed var(--mdaa-line, #dde3ec); }
.nvbb-ref-empty > svg { width: 40px; height: 40px; color: #F79303; }
.nvbb-ref-empty h2 { margin: 10px 0 6px; color: #013C80; font-size: 1.25rem; }
.nvbb-ref-empty p { max-width: 52ch; margin: 0 auto 18px; color: var(--mdaa-ink-soft, #4a5568); }

.nvbb-ref-leads { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.nvbb-ref-lead { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 14px; background: #fff; border-radius: 14px; padding: 16px; box-shadow: 0 1px 3px rgba(1, 60, 128, .08); border-left: 4px solid #013C80; min-width: 0; }
.nvbb-ref-lead.is-new { border-left-color: var(--mdaa-line, #dde3ec); }
.nvbb-ref-lead.is-invited, .nvbb-ref-lead.is-applied { border-left-color: #F79303; }
.nvbb-ref-lead.is-archived, .nvbb-ref-lead.is-not_retained { opacity: .72; border-left-color: var(--mdaa-ink-faint, #525f71); }
.nvbb-ref-lead__photo { width: 96px; height: 96px; border-radius: 10px; overflow: hidden; background: #eef3fa; display: flex; align-items: center; justify-content: center; color: #8aa4c8; }
.nvbb-ref-lead__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nvbb-ref-lead__photo svg { width: 34px; height: 34px; }
.nvbb-ref-lead__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px; }
.nvbb-ref-lead__top code { font-size: 11px; color: var(--mdaa-ink-faint, #525f71); }
.nvbb-ref-lead__name { margin: 6px 0 2px; font-size: 1.1rem; color: #013C80; overflow-wrap: anywhere; }
.nvbb-ref-lead__atelier { margin: 0 0 6px; font-weight: 600; color: var(--mdaa-ink, #1f2a3d); }
.nvbb-ref-lead__meta { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 4px; font-size: 14px; }
.nvbb-ref-lead__meta li { display: flex; align-items: center; gap: 7px; min-width: 0; overflow-wrap: anywhere; }
.nvbb-ref-lead__meta svg { width: 15px; height: 15px; color: #F79303; }
.nvbb-ref-lead__meta a { color: #013C80; }
.nvbb-ref-lead__private { font-size: 12px; color: var(--mdaa-ink-faint, #525f71); }
.nvbb-ref-lead__adh { margin: 8px 0 0; font-size: 14px; }
.nvbb-ref-lead__adh strong { color: #013C80; }
.nvbb-ref-lead__sub { margin: 6px 0 0; font-size: 12px; color: var(--mdaa-ink-faint, #525f71); }
.nvbb-ref-lead__notes { margin: 8px 0 0; padding: 8px 10px; border-radius: 8px; background: #faf7f1; font-size: 13px; color: var(--mdaa-ink-soft, #4a5568); }
.nvbb-ref-lead__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }
.nvbb-ref-lead__actions form { margin: 0; }

.nvbb-ref-stage { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; background: #eef3fa; color: #013C80; }
.nvbb-ref-stage.is-invited, .nvbb-ref-stage.is-applied { background: #fff1de; color: #8a4b00; }
.nvbb-ref-stage.is-approved, .nvbb-ref-stage.is-artisan_pending { background: #013C80; color: #fff; }
.nvbb-ref-stage.is-artisan { background: #F79303; color: #01203f; }
.nvbb-ref-stage.is-not_retained, .nvbb-ref-stage.is-archived { background: #eceff3; color: #5b6b82; }

.nvbb-ref-help { margin-top: 28px; background: #fff; border-radius: 14px; padding: 18px 22px; border-top: 3px solid #F79303; }
.nvbb-ref-help h2 { margin: 0 0 10px; font-size: 1.1rem; color: #013C80; }
.nvbb-ref-help ol { margin: 0 0 10px; padding-left: 20px; display: grid; gap: 4px; }
.nvbb-ref-help p { margin: 0; font-size: 13px; color: var(--mdaa-ink-soft, #4a5568); }

/* Formulaire */
.nvbb-ref-form { display: grid; gap: 18px; }
.nvbb-ref-fs { margin: 0; padding: 18px 20px 6px; border: 0; border-radius: 14px; background: #fff; box-shadow: 0 1px 3px rgba(1, 60, 128, .08); min-width: 0; }
.nvbb-ref-fs legend { float: left; width: 100%; margin: 0 0 12px; padding: 0; font-weight: 800; color: #013C80; font-size: 1.05rem; }
.nvbb-ref-fs legend + * { clear: both; }
.nvbb-ref-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.nvbb-ref-fg { display: flex; flex-direction: column; gap: 5px; margin-bottom: 14px; min-width: 0; }
.nvbb-ref-fg label, .nvbb-ref-label { font-weight: 600; font-size: 14px; color: var(--mdaa-ink, #1f2a3d); }
.nvbb-ref-fg input[type=text], .nvbb-ref-fg input[type=email], .nvbb-ref-fg input[type=tel], .nvbb-ref-fg select, .nvbb-ref-fg textarea {
    width: 100%; box-sizing: border-box; padding: 11px 13px; border: 1.5px solid var(--mdaa-line, #dde3ec); border-radius: 10px; background: #fff; font: inherit; font-size: 16px; color: var(--mdaa-ink, #1f2a3d);
}
.nvbb-ref-fg input:focus, .nvbb-ref-fg select:focus, .nvbb-ref-fg textarea:focus { outline: none; border-color: #013C80; box-shadow: 0 0 0 3px rgba(1, 60, 128, .15); }
.nvbb-ref-fg.is-invalid { background: none; }
.nvbb-ref-fg.is-invalid input, .nvbb-ref-fg.is-invalid select { border-color: #c53030; background-color: #fff; }
.nvbb-ref-hint { font-size: 12px; color: var(--mdaa-ink-faint, #525f71); }
.nvbb-ref-err { font-size: 13px; color: #c53030; font-weight: 600; }
.nvbb-ref-err--block { margin-bottom: 10px; }
.nvbb-ref-radios { display: flex; flex-wrap: wrap; gap: 8px; }
.nvbb-ref-radio { position: relative; }
.nvbb-ref-radio input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.nvbb-ref-radio span { display: inline-block; padding: 8px 14px; border: 1.5px solid var(--mdaa-line, #dde3ec); border-radius: 999px; font-size: 14px; background: #fff; }
.nvbb-ref-radio input:checked + span { border-color: #013C80; background: #013C80; color: #fff; }
.nvbb-ref-radio input:focus-visible + span { box-shadow: 0 0 0 3px rgba(247, 147, 3, .45); }
.nvbb-ref-file { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 2px 12px; padding: 14px 16px; border: 2px dashed #8aa4c8; border-radius: 12px; cursor: pointer; background: #f6f9fd; }
.nvbb-ref-file svg { grid-row: span 2; width: 28px; height: 28px; color: #013C80; }
.nvbb-ref-file span { font-weight: 700; color: #013C80; }
.nvbb-ref-file small { color: var(--mdaa-ink-faint, #525f71); overflow-wrap: anywhere; }
.nvbb-ref-file:hover { border-color: #F79303; }
.nvbb-ref-file__input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.nvbb-ref-file__input:focus-visible ~ * , .nvbb-ref-fg:focus-within .nvbb-ref-file { border-color: #F79303; }
.nvbb-ref-consent { background: #fff7ec; border-left: 4px solid #F79303; border-radius: 10px; padding: 14px 16px; display: grid; gap: 6px; }
.nvbb-ref-consent label { display: flex; gap: 10px; align-items: flex-start; font-weight: 600; cursor: pointer; }
.nvbb-ref-consent input { width: 20px; height: 20px; margin-top: 2px; accent-color: #013C80; flex: 0 0 auto; }
.nvbb-ref-consent.is-invalid { border-left-color: #c53030; }
.nvbb-ref-form__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.nvbb-ref-langs { display: inline-flex; gap: 10px; }
.nvbb-ref-langs .is-active { color: #F79303; text-decoration: none; }

@media (max-width: 1100px) { .nvbb-ref-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 820px) { .nvbb-ref-leads { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) {
    .nvbb-ref-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nvbb-ref-grid { grid-template-columns: minmax(0, 1fr); }
    .nvbb-ref-lead { grid-template-columns: 64px minmax(0, 1fr); }
    .nvbb-ref-lead__photo { width: 64px; height: 64px; }
    .nvbb-ref-head__actions, .nvbb-ref-form__actions { width: 100%; }
    .nvbb-ref-head__actions .nvbb-ref-btn, .nvbb-ref-form__actions .nvbb-ref-btn { flex: 1 1 100%; }
}

/* =====================================================================
   105. BACKOFFICE RÉGIONS (29/09/2026)
   Maakbrug, étape 3 : resources/views/admin/admin_regions_page.php et
   admin_region_detail_page.php. Réutilise les cartes .nvbb-ref-stat,
   les boutons .nvbb-ref-btn et les pastilles .nvbb-ref-stage (section 104).
   ===================================================================== */
.nvbb-areg-stats { grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 4px 0 16px; }
.nvbb-areg-stats--detail { grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.nvbb-ref-stat.is-alert { border-top-color: #c53030; }
.nvbb-ref-stat.is-alert strong { color: #c53030; }
.nvbb-areg-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 22px; padding: 12px 16px; border-radius: 10px; background: #fff7ec; border-left: 4px solid #F79303; font-weight: 600; color: #01203f; }
.nvbb-areg-cta svg { width: 18px; height: 18px; color: #F79303; }
.nvbb-areg-cta a { color: #013C80; text-decoration: underline; text-underline-offset: 3px; }

.nvbb-areg-group { margin: 0 0 26px; }
.nvbb-areg-group__title { margin: 0 0 10px; font-size: 1.15rem; color: #013C80; }
.nvbb-areg-group__title small { font-size: 12px; font-weight: 600; color: var(--mdaa-ink-faint, #525f71); margin-left: 6px; }

.nvbb-areg-table-wrap { background: #fff; border-radius: 12px; box-shadow: 0 1px 3px rgba(1, 60, 128, .08); overflow-x: auto; }
.nvbb-areg-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.nvbb-areg-table th { text-align: left; padding: 10px 12px; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: #5b6b82; background: #f4f7fb; border-bottom: 1px solid var(--mdaa-line, #dde3ec); white-space: nowrap; }
.nvbb-areg-table td { padding: 12px; border-bottom: 1px solid #eef1f5; vertical-align: top; }
.nvbb-areg-table tr:last-child td { border-bottom: 0; }
.nvbb-areg-table tr:hover td { background: #fafbfd; }
.nvbb-areg-table .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.nvbb-areg-table .act { text-align: right; white-space: nowrap; }
.nvbb-areg-table code { font-size: 11px; color: var(--mdaa-ink-faint, #525f71); margin-left: 4px; }
.nvbb-areg-table tr.is-off td { opacity: .6; }
.nvbb-areg-table a { color: #013C80; }
.nvbb-areg-table a.nvbb-ref-btn--primary { color: #fff; }
.nvbb-areg-table a.nvbb-ref-btn--primary:hover { color: #01203f; }
.nvbb-areg-name { font-weight: 700; text-decoration: none; }
.nvbb-areg-name:hover { color: #F79303; }
.nvbb-areg-pilot { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 999px; background: #F79303; color: #01203f; font-size: 11px; font-weight: 700; vertical-align: middle; }
.nvbb-areg-off { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 999px; background: #eceff3; color: #5b6b82; font-size: 11px; font-weight: 600; }
.nvbb-areg-none { color: #825112; font-weight: 600; }
.nvbb-areg-badge { display: inline-block; min-width: 22px; padding: 1px 7px; border-radius: 999px; background: #c53030; color: #fff; font-weight: 700; text-align: center; }
.nvbb-areg-muted { color: var(--mdaa-ink-faint, #525f71); font-size: 13px; }
.nvbb-areg-code { font-size: .55em; color: var(--mdaa-ink-faint, #525f71); font-weight: 600; vertical-align: middle; }

.nvbb-areg-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 16px; margin-bottom: 24px; align-items: start; }
.nvbb-areg-card { background: #fff; border-radius: 12px; padding: 16px 18px; box-shadow: 0 1px 3px rgba(1, 60, 128, .08); border-top: 3px solid #013C80; }
.nvbb-areg-card h2 { display: flex; align-items: center; gap: 6px; margin: 0 0 8px; font-size: 13px; text-transform: uppercase; letter-spacing: .05em; color: #5b6b82; }
.nvbb-areg-card h2 svg { width: 16px; height: 16px; }
.nvbb-areg-card__main { margin: 0; font-size: 1.1rem; font-weight: 700; color: #013C80; }
.nvbb-areg-card__sub { margin: 2px 0 0; font-size: 13px; color: var(--mdaa-ink-soft, #4a5568); overflow-wrap: anywhere; }
.nvbb-areg-form { display: grid; gap: 6px; margin-top: 14px; padding-top: 14px; border-top: 1px solid #eef1f5; }
.nvbb-areg-form label { font-weight: 600; font-size: 13px; }
.nvbb-areg-form__row { display: flex; gap: 8px; flex-wrap: wrap; }
.nvbb-areg-card, .nvbb-areg-form { min-width: 0; }
.nvbb-areg-form select { flex: 1 1 220px; min-width: 0; width: 100%; max-width: 100%; text-overflow: ellipsis; padding: 8px 10px; border: 1.5px solid var(--mdaa-line, #dde3ec); border-radius: 8px; font: inherit; font-size: 14px; background: #fff; }

.nvbb-areg-thumb { width: 64px; }
.nvbb-areg-thumb img { width: 56px; height: 56px; object-fit: cover; border-radius: 8px; display: block; }
.nvbb-areg-thumb span { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 8px; background: #eef3fa; color: #8aa4c8; }
.nvbb-areg-thumb svg { width: 22px; height: 22px; }
.nvbb-areg-notes { margin-top: 6px; font-size: 13px; color: var(--mdaa-ink-soft, #4a5568); }
.nvbb-areg-notes summary { cursor: pointer; color: #013C80; font-weight: 600; }
.nvbb-areg-empty { margin-top: 6px; }

@media (max-width: 980px) {
    .nvbb-areg-top { grid-template-columns: minmax(0, 1fr); }
    .nvbb-areg-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .nvbb-areg-stats, .nvbb-areg-stats--detail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    /* Tableaux en cartes sur téléphone */
    .nvbb-areg-table thead { display: none; }
    .nvbb-areg-table, .nvbb-areg-table tbody, .nvbb-areg-table tr, .nvbb-areg-table td { display: block; width: 100%; box-sizing: border-box; }
    .nvbb-areg-table tr { padding: 10px 14px; border-bottom: 1px solid var(--mdaa-line, #dde3ec); }
    .nvbb-areg-table td { padding: 4px 0; border: 0; }
    .nvbb-areg-table td[data-label]::before { content: attr(data-label); display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: #5b6b82; }
    .nvbb-areg-table .num, .nvbb-areg-table .act { text-align: left; }
    .nvbb-areg-table-wrap { overflow-x: visible; }
}

/* =====================================================================
   106. PAGES PUBLIQUES « NOS RÉGIONS » (29/09/2026)
   Maakbrug, étape 4 : resources/views/regions/. Charte #013C80 / #F79303.
   ===================================================================== */
.nvbb-rpub-hero { position: relative; background: #013C80; color: #fff; padding: 44px 0 46px; overflow: hidden; }
.nvbb-rpub-hero::after { content: ""; position: absolute; inset: auto -60px -80px auto; width: 260px; height: 260px; border-radius: 50%; border: 36px solid rgba(247, 147, 3, .18); pointer-events: none; }
.nvbb-rpub-hero .mdaa-container { position: relative; z-index: 1; }
/* Bande tissée en bas du bandeau : règle commune [class$="__kente"] (section « Éléments décoratifs »). */
.nvbb-rpub-hero__kente { z-index: 1; }
.nvbb-rpub-hero__eyebrow { display: block; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #F79303; }
.nvbb-rpub-hero__title { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 6px 0 10px; font-size: clamp(1.8rem, 4vw, 2.6rem); line-height: 1.15; color: #fff; }
.nvbb-rpub-hero__lead { max-width: 64ch; margin: 0; font-size: 1.05rem; line-height: 1.55; color: rgba(255, 255, 255, .88); }
.nvbb-rpub-hero__meta { margin: 14px 0 0; }
.nvbb-rpub-back { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 16px; color: #fff; font-weight: 600; text-decoration: none; }
.nvbb-rpub-back:hover { color: #F79303; }
.nvbb-rpub-back svg { width: 16px; height: 16px; }

.nvbb-rpub { padding: 28px 16px 48px; }
.nvbb-rpub svg { flex: 0 0 auto; }

.nvbb-rpub-pillars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 24px; }
.nvbb-rpub-pillar { background: #fff; border-radius: 14px; padding: 18px; box-shadow: 0 1px 3px rgba(1, 60, 128, .08); border-top: 3px solid #F79303; }
.nvbb-rpub-pillar svg { width: 26px; height: 26px; color: #013C80; }
.nvbb-rpub-pillar h2 { margin: 8px 0 4px; font-size: 1.05rem; color: #013C80; }
.nvbb-rpub-pillar p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--mdaa-ink-soft, #4a5568); }

.nvbb-rpub-badge { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; line-height: 1.3; vertical-align: middle; }
.nvbb-rpub-badge--pilot { background: #F79303; color: #01203f; }

.nvbb-rpub-pilot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0 0 28px; padding: 16px 20px; border-radius: 14px; background: #fff7ec; border-left: 5px solid #F79303; color: #01203f; text-decoration: none; }
.nvbb-rpub-pilot strong { font-size: 1.15rem; color: #013C80; }
.nvbb-rpub-pilot__go { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; font-weight: 700; color: #013C80; }
.nvbb-rpub-pilot__go svg { width: 16px; height: 16px; }
a.nvbb-rpub-pilot:hover .nvbb-rpub-pilot__go { color: #F79303; }
.nvbb-rpub-pilot--static { margin-bottom: 24px; }

.nvbb-rpub-group { margin: 0 0 30px; }
.nvbb-rpub-group__title { margin: 0 0 14px; font-size: 1.35rem; color: #013C80; }
.nvbb-rpub-group__title small { display: block; margin-top: 2px; font-size: 14px; font-weight: 500; color: var(--mdaa-ink-soft, #4a5568); }
.nvbb-rpub-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.nvbb-rpub-card { display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: 16px; border-radius: 14px; background: #fff; border: 1px solid var(--mdaa-line, #dde3ec); color: inherit; text-decoration: none; transition: border-color .15s, transform .15s, box-shadow .15s; }
.nvbb-rpub-card:hover, .nvbb-rpub-card:focus-visible { border-color: #013C80; box-shadow: 0 6px 16px rgba(1, 60, 128, .12); transform: translateY(-2px); }
.nvbb-rpub-card.is-pilot { border-color: #F79303; border-width: 2px; }
.nvbb-rpub-card__top { display: flex; align-items: center; justify-content: space-between; }
.nvbb-rpub-card__top svg { width: 20px; height: 20px; color: #F79303; }
.nvbb-rpub-card__name { font-size: 1.05rem; color: #013C80; overflow-wrap: anywhere; }
.nvbb-rpub-card__line { font-size: 13px; color: var(--mdaa-ink-soft, #4a5568); }
.nvbb-rpub-card__ref { display: inline-block; align-self: flex-start; margin-top: auto; padding: 2px 9px; border-radius: 999px; font-size: 12px; font-weight: 600; background: #eef3fa; color: #013C80; }
.nvbb-rpub-card__ref.is-on { background: #e8f6ee; color: #1c6b3d; }
.nvbb-rpub-hero .nvbb-rpub-card__ref { background: rgba(255, 255, 255, .14); color: #fff; }
.nvbb-rpub-hero .nvbb-rpub-card__ref.is-on { background: #e8f6ee; color: #1c6b3d; }

.nvbb-rpub-empty { display: flex; gap: 14px; align-items: flex-start; padding: 20px; border-radius: 14px; border: 2px dashed var(--mdaa-line, #dde3ec); background: #fff; }
.nvbb-rpub-empty svg { width: 28px; height: 28px; color: #F79303; }
.nvbb-rpub-empty p { margin: 0; line-height: 1.55; color: var(--mdaa-ink-soft, #4a5568); }

.nvbb-rpub-artisans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.nvbb-rpub-artisan { display: flex; gap: 14px; min-width: 0; padding: 16px; border-radius: 14px; background: #fff; border: 1px solid var(--mdaa-line, #dde3ec); color: inherit; text-decoration: none; }
.nvbb-rpub-artisan:hover, .nvbb-rpub-artisan:focus-visible { border-color: #013C80; box-shadow: 0 6px 16px rgba(1, 60, 128, .12); }
.nvbb-rpub-artisan__mono { flex: 0 0 56px; height: 56px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #013C80; color: #fff; font-weight: 800; font-size: 1.1rem; letter-spacing: .03em; box-shadow: inset 0 0 0 3px #F79303; }
.nvbb-rpub-artisan__body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.nvbb-rpub-artisan__body strong { color: #013C80; font-size: 1.05rem; overflow-wrap: anywhere; }
.nvbb-rpub-artisan__spec { font-size: 14px; color: var(--mdaa-ink, #1f2a3d); }
.nvbb-rpub-artisan__meta { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--mdaa-ink-soft, #4a5568); }
.nvbb-rpub-artisan__meta svg { width: 15px; height: 15px; color: #F79303; }

.nvbb-rpub-cta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 10px; }
.nvbb-rpub-cta__card { padding: 22px; border-radius: 16px; background: #013C80; color: #fff; }
.nvbb-rpub-cta__card--alt { background: #fff7ec; color: #01203f; border: 1px solid #f5d6a8; }
.nvbb-rpub-cta__card svg { width: 28px; height: 28px; color: #F79303; }
.nvbb-rpub-cta__card h2 { margin: 8px 0 6px; font-size: 1.25rem; color: inherit; }
.nvbb-rpub-cta__card--alt h2 { color: #013C80; }
.nvbb-rpub-cta__card p { margin: 0 0 16px; line-height: 1.55; opacity: .92; }
.nvbb-rpub-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 22px; border-radius: 999px; font-weight: 700; text-decoration: none; border: 2px solid transparent; }
.nvbb-rpub-btn--primary { background: #F79303; color: #01203f; }
.nvbb-rpub-btn--primary:hover, .nvbb-rpub-btn--primary:focus-visible { background: #fff; color: #013C80; }
.nvbb-rpub-btn--ghost { background: #fff; color: #013C80; border-color: #013C80; }
.nvbb-rpub-btn--ghost:hover, .nvbb-rpub-btn--ghost:focus-visible { background: #013C80; color: #fff; }

@media (max-width: 1024px) {
    .nvbb-rpub-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .nvbb-rpub-artisans { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .nvbb-rpub-pillars, .nvbb-rpub-cta, .nvbb-rpub-artisans { grid-template-columns: minmax(0, 1fr); }
    .nvbb-rpub-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nvbb-rpub-pilot__go { margin-left: 0; }
    .nvbb-rpub-btn { width: 100%; box-sizing: border-box; }
}

/* 106 (suite, 29/09/2026) : accueil, pied de page, compte de sélection -------- */
.nvbb-rpub-group { scroll-margin-top: calc(var(--mdaa-header-h, 72px) + 24px); }
.nvbb-rpub-home { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; } /* autant de tuiles que de pilotes + pays */
.nvbb-rpub-home__tile { display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: 20px; border-radius: 16px; background: #fff; border: 1px solid var(--mdaa-line, #dde3ec); color: inherit; text-decoration: none; transition: border-color .15s, box-shadow .15s, transform .15s; }
.nvbb-rpub-home__tile:hover, .nvbb-rpub-home__tile:focus-visible { border-color: #013C80; box-shadow: 0 6px 16px rgba(1, 60, 128, .12); transform: translateY(-2px); }
.nvbb-rpub-home__tile strong { font-size: 1.35rem; color: #013C80; }
.nvbb-rpub-home__tile > span:not(.nvbb-rpub-badge):not(.nvbb-rpub-home__go):not(.nvbb-rpub-home__country) { font-size: 14px; line-height: 1.5; color: var(--mdaa-ink-soft, #4a5568); }
.nvbb-rpub-home__tile--pilot { background: #fff7ec; border: 2px solid #F79303; }
.nvbb-rpub-home__tile--pilot .nvbb-rpub-badge { align-self: flex-start; }
.nvbb-rpub-home__country { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #825112; }
.nvbb-rpub-home__country svg { width: 16px; height: 16px; color: #F79303; }
.nvbb-rpub-home__go { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 6px; font-weight: 700; color: #013C80; }
.nvbb-rpub-home__go svg { width: 16px; height: 16px; }
.nvbb-rpub-home__tile:hover .nvbb-rpub-home__go { color: #F79303; }

.mdaa-footer__h-link { color: inherit; text-decoration: none; }
.mdaa-footer__h-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.nvbb-rpub-foot small { opacity: .75; font-size: .85em; }
.nvbb-rpub-foot__pilot { display: inline-block; margin-left: 4px; padding: 0 7px; border-radius: 999px; background: #F79303; color: #01203f; font-weight: 700; opacity: 1 !important; }
.nvbb-rpub-foot__all { font-weight: 700; }

.nvbb-rpub-artisan.is-house { background: #fff7ec; border-color: #f5d6a8; }
.nvbb-rpub-artisan.is-house .nvbb-rpub-artisan__mono { background: #F79303; color: #01203f; box-shadow: inset 0 0 0 3px #013C80; }
.nvbb-rpub-artisan.is-house .nvbb-rpub-artisan__mono svg { width: 26px; height: 26px; }

@media (max-width: 900px) { .nvbb-rpub-home { grid-template-columns: minmax(0, 1fr); } }

/* Compte de sélection (29/09/2026) : icône à la place de l'initiale dans les avatars existants
   (annuaire, profil, recherche, fiche produit, liste des maisons de l'accueil). */
.mdaa-maison__av svg, .mdaa-vcard__avatar svg, .mdaa-artisan-card__avatar svg,
.mdaa-hp-prow__av svg, .mdaa-artisan-block__avatar svg { display: block; margin: auto; width: 55%; height: 55%; max-width: 40px; max-height: 40px; }

/* =====================================================================
   107. RÉDUCTIONS VISITEURS ET CONSENTEMENTS (29/09/2026)
   Maakbrug, étape 5 : formulaire du billet (cases), page du billet
   (réductions, espace exposant, abonnements), espace artisan (réduction,
   scanner), désinscription. Charte #013C80 / #F79303.
   ===================================================================== */
.nvbb-mc-consents { margin: 18px 0 0; padding: 14px 16px; border: 1px solid var(--mdaa-line, #dde3ec); border-radius: 12px; background: #fff; }
.nvbb-mc-consents legend { padding: 0 6px; font-weight: 700; color: #013C80; }
.nvbb-mc-consents__box { display: flex; gap: 10px; align-items: flex-start; margin: 8px 0; cursor: pointer; line-height: 1.45; }
.nvbb-mc-consents__box input { width: 20px; height: 20px; margin-top: 1px; flex: 0 0 auto; accent-color: #013C80; }
.nvbb-mc-consents__note { margin: 8px 0 0; font-size: 12px; color: var(--mdaa-ink-faint, #525f71); }

.nvbb-vd-flash { display: flex; align-items: center; gap: 10px; max-width: 520px; margin: 18px auto 0; padding: 14px 18px; border-radius: 12px; font-weight: 700; }
.nvbb-vd-flash.is-ok { background: #e8f6ee; color: #1c6b3d; border-left: 5px solid #1c6b3d; }
.nvbb-vd-flash.is-ko { background: #fff1de; color: #8a4b00; border-left: 5px solid #F79303; }
.nvbb-vd-exhibitor, .nvbb-vd-list, .nvbb-mc-mine { max-width: 520px; margin: 18px auto 0; padding: 18px 20px; border-radius: 14px; background: #fff; box-shadow: 0 1px 3px rgba(1, 60, 128, .1); }
.nvbb-vd-exhibitor { border-top: 5px solid #013C80; }
.nvbb-vd-exhibitor.is-ready { border-top-color: #F79303; background: #fff7ec; }
.nvbb-vd-exhibitor h2, .nvbb-vd-list h2, .nvbb-mc-mine h2 { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font-size: 1.1rem; color: #013C80; }
.nvbb-vd-exhibitor__big { margin: 0 0 12px; font-size: 1.15rem; font-weight: 700; color: #01203f; line-height: 1.4; }
.nvbb-vd-exhibitor__note { margin: -6px 0 12px; font-size: 14px; color: var(--mdaa-ink-soft, #4a5568); }
.nvbb-vd-exhibitor__btn { width: 100%; justify-content: center; font-size: 1.05rem; padding: 14px 18px; }
.nvbb-vd-link { display: inline-block; margin-top: 12px; margin-right: 14px; color: #013C80; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.nvbb-vd-test { display: inline-block; padding: 1px 8px; border-radius: 999px; background: #eef3fa; color: #013C80; font-size: 12px; font-weight: 700; }
p.nvbb-vd-test { display: block; border-radius: 8px; padding: 6px 10px; margin: 0 0 10px; }
.nvbb-vd-list__intro { margin: 0 0 10px; font-size: 14px; color: var(--mdaa-ink-soft, #4a5568); }
.nvbb-vd-list ul, .nvbb-mc-mine ul, .nvbb-vd-uses { list-style: none; margin: 0; padding: 0; }
.nvbb-vd-list li { display: flex; align-items: center; gap: 12px; padding: 8px 0; border-top: 1px solid #eef1f5; }
.nvbb-vd-list__pct { flex: 0 0 auto; min-width: 64px; padding: 4px 8px; border-radius: 8px; background: #F79303; color: #01203f; font-weight: 800; text-align: center; }
.nvbb-vd-list__name { display: flex; flex-direction: column; font-weight: 600; color: #01203f; }
.nvbb-vd-list__name small { font-weight: 400; color: var(--mdaa-ink-faint, #525f71); }
.nvbb-mc-mine li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 12px; padding: 8px 0; border-top: 1px solid #eef1f5; font-size: 14px; }
.nvbb-mc-mine a { color: #013C80; font-weight: 700; }

.nvbb-vd-scanbtn svg { width: 18px; height: 18px; }
.nvbb-vd-event { margin: 0 0 20px; padding: 18px 20px; border-radius: 14px; background: #fff; box-shadow: 0 1px 3px rgba(1, 60, 128, .08); border-top: 3px solid #013C80; }
.nvbb-vd-event__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 10px; margin-bottom: 12px; }
.nvbb-vd-event__head h2 { margin: 0; font-size: 1.2rem; color: #013C80; }
.nvbb-vd-event__head p { margin: 2px 0 0; font-size: 14px; color: var(--mdaa-ink-soft, #4a5568); }
.nvbb-vd-event__pct { padding: 6px 14px; border-radius: 999px; background: #eceff3; color: #5b6b82; font-weight: 800; }
.nvbb-vd-event__pct.is-on { background: #F79303; color: #01203f; font-size: 1.1rem; }
.nvbb-vd-event h3 { margin: 18px 0 8px; font-size: 1rem; color: #013C80; }
.nvbb-vd-form { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 12px; align-items: end; }
.nvbb-vd-form label { display: flex; flex-direction: column; gap: 5px; font-weight: 600; font-size: 14px; }
.nvbb-vd-form input { padding: 10px 12px; border: 1.5px solid var(--mdaa-line, #dde3ec); border-radius: 10px; font: inherit; font-size: 16px; }
.nvbb-vd-form input:focus { outline: none; border-color: #013C80; box-shadow: 0 0 0 3px rgba(1, 60, 128, .15); }
.nvbb-vd-form__actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px; }
.nvbb-vd-uses li { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; padding: 7px 0; border-top: 1px solid #eef1f5; font-size: 14px; }
.nvbb-vd-uses code { font-size: 12px; color: var(--mdaa-ink-faint, #525f71); }
.nvbb-vd-uses strong { color: #013C80; }
.nvbb-vd-muted { color: var(--mdaa-ink-faint, #525f71); }
.nvbb-vd-empty { text-align: center; }

.nvbb-vd-scan { max-width: 560px; }
.nvbb-vd-scan__cam { position: relative; margin: 12px 0; border-radius: 16px; overflow: hidden; background: #01203f; aspect-ratio: 1 / 1; }
.nvbb-vd-scan__cam video { width: 100%; height: 100%; object-fit: cover; display: block; }
.nvbb-vd-scan__frame { position: absolute; inset: 18%; border: 4px solid #F79303; border-radius: 18px; box-shadow: 0 0 0 999px rgba(1, 32, 63, .35); }
.nvbb-vd-scan__status { font-weight: 700; color: #013C80; }
.nvbb-vd-scan__alt { margin-top: 20px; padding: 16px 18px; border-radius: 14px; background: #fff7ec; border-left: 4px solid #F79303; }
.nvbb-vd-scan__alt h2 { margin: 0 0 6px; font-size: 1.05rem; color: #013C80; }
.nvbb-vd-scan__code label { display: block; margin: 10px 0 6px; font-weight: 600; }
.nvbb-vd-scan__code div { display: flex; flex-wrap: wrap; gap: 8px; }
.nvbb-vd-scan__code input { flex: 1 1 220px; min-width: 0; padding: 10px 12px; border: 1.5px solid var(--mdaa-line, #dde3ec); border-radius: 10px; font: inherit; font-size: 16px; text-transform: uppercase; }

.nvbb-mc-unsub { padding: 48px 16px; }
.nvbb-mc-unsub__card { max-width: 560px; margin: 0 auto; padding: 28px; border-radius: 16px; background: #fff; box-shadow: 0 2px 8px rgba(1, 60, 128, .1); border-top: 5px solid #F79303; text-align: center; }
.nvbb-mc-unsub__card > svg { color: #1c6b3d; }
.nvbb-mc-unsub__card h1 { margin: 8px 0 10px; color: #013C80; font-size: 1.5rem; }
.nvbb-mc-unsub__card blockquote { margin: 10px 0; padding: 10px 14px; border-left: 4px solid #013C80; background: #f4f7fb; text-align: left; }
.nvbb-mc-unsub__small { font-size: 13px; color: var(--mdaa-ink-soft, #4a5568); }

@media (max-width: 560px) {
    .nvbb-vd-form { grid-template-columns: minmax(0, 1fr); }
    .nvbb-vd-form__actions .mdaa-btn { flex: 1 1 100%; justify-content: center; }
}

/* ============================================================================
   108. BILLETTERIE DE L'EXPO — compléments (29/09/2026)
   Titre du récapitulatif avec son icône, lignes du récapitulatif sans puces,
   « max N / commande » sous le bloc − / + (il débordait de la pastille).
   ========================================================================== */
.mdaa-siam-tickets-summary__title { display: flex; align-items: center; gap: var(--mdaa-sp-2); margin-bottom: var(--mdaa-sp-3); }
.mdaa-siam-tickets-summary__title svg { width: 22px; height: 22px; flex-shrink: 0; color: var(--mdaa-orange, #F79303); }
.mdaa-siam-tickets-summary__items { list-style: none; margin: 0; padding: 0; }
.mdaa-siam-tickets-summary__item-name strong { color: var(--mdaa-navy-900); }
.mdaa-siam-ticket__qty-controls { flex-wrap: nowrap; }
.mdaa-siam-ticket__qty-max { display: block; margin-top: 2px; white-space: nowrap; }

/* ============================================================================
   110. MENU PRINCIPAL AVEC PLUSIEURS ÉDITIONS DE L'EXPO (29/09/2026)
   Une entrée par édition à venir (ex. « Expo 2026 » + « Maakbrug 2027 ») :
   les méga-menus des deux dernières entrées s'ouvrent vers la gauche (ils
   sortaient de l'écran à droite) ; menu plus compact sur les écrans moyens
   pour laisser de la place à la recherche.
   ========================================================================== */
.mdaa-nav-wrap { min-width: 0; }
/* Ouverture vers la droite ; décalage calculé par mdaa-megamenu.js si le panneau dépasse de l'écran (29/09/2026). */
@media (max-width: 1280px) {
    .mdaa-nav__link { padding: 10px 10px; }
    .mdaa-search-form { flex: 0 1 200px; min-width: 120px; }
}
@media (max-width: 1100px) {
    .mdaa-header__inner { gap: var(--mdaa-sp-3); }
    .mdaa-nav__link { padding: 10px 7px; font-size: var(--mdaa-fs-sm); gap: 4px; }
    .mdaa-nav__caret { width: 13px; height: 13px; }
    .mdaa-search-form { flex: 0 1 150px; min-width: 110px; }
}

/* ============================================================================
   111. ACCUEIL — ENCART DES ÉDITIONS DE L'EXPO (29/09/2026)
   Une diapositive par édition (SIAM 2026, Maakbrug 2027…) qui alternent ;
   points de navigation sous l'encart. Une seule édition : pas de points.
   ========================================================================== */
.nvbb-hp-events { position: relative; }
.nvbb-hp-events .nvbb-hp-event { display: none; }
.nvbb-hp-events .nvbb-hp-event.is-active { display: grid; }
.nvbb-hp-events.is-rotating .nvbb-hp-event.is-active { animation: nvbb-hp-event-in .6s ease both; }
@keyframes nvbb-hp-event-in { from { opacity: 0; } to { opacity: 1; } }
.nvbb-hp-event__tagline { color: #fff; font-weight: 600; margin-bottom: var(--mdaa-sp-2); }
.nvbb-hp-events__dots { display: flex; justify-content: center; gap: 10px; margin-top: var(--mdaa-sp-4); }
.nvbb-hp-events__dot {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 6px 14px; border: 1.5px solid var(--mdaa-line); border-radius: var(--mdaa-r-pill);
    background: #fff; color: var(--mdaa-navy-900); font: 600 var(--mdaa-fs-sm)/1.2 var(--mdaa-font-display); cursor: pointer;
}
.nvbb-hp-events__dot::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--mdaa-line); }
.nvbb-hp-events__dot.is-active { border-color: var(--mdaa-navy); }
.nvbb-hp-events__dot.is-active::before { background: var(--mdaa-orange); }
.nvbb-hp-events__dot:focus-visible { outline: 3px solid var(--mdaa-orange); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .nvbb-hp-events.is-rotating .nvbb-hp-event.is-active { animation: none; } }
@media (max-width: 960px) {
    .nvbb-hp-events .nvbb-hp-event.is-active { grid-template-columns: minmax(0, 1fr); }
}

/* ============================================================================
   112. MÉGA-MENUS AVEC ENCART (SIAM, Maakbrug) — 29/09/2026
   Les colonnes de liens et l'encart tiennent sur une seule ligne : l'encart
   est à droite, sur toute la hauteur (il passait seul sur une 2e ligne et
   laissait un vide à côté).
   ========================================================================== */
.mdaa-mega:has(.mdaa-mega__inner--promo) { min-width: 760px; }
.mdaa-mega__inner--promo { align-items: stretch; }
.mdaa-mega__inner--promo.mdaa-mega__inner--c1 { grid-template-columns: minmax(180px, 1fr) minmax(230px, 270px); }
.mdaa-mega__inner--promo.mdaa-mega__inner--c2 { grid-template-columns: repeat(2, minmax(170px, 1fr)) minmax(230px, 270px); }
.mdaa-mega__inner--promo.mdaa-mega__inner--c3 { grid-template-columns: repeat(3, minmax(160px, 1fr)) minmax(230px, 270px); }
.mdaa-mega__inner--promo .mdaa-mega__col--promo { display: flex; flex-direction: column; align-self: stretch; }
.mdaa-mega__inner--promo .mdaa-mega__promo-cta { margin-top: auto; align-self: flex-start; }
.mdaa-mega__inner--promo .mdaa-mega__promo-text + .mdaa-mega__promo-cta { margin-top: auto; }
.mdaa-mega__inner--promo .mdaa-mega__promo-text:last-of-type { margin-bottom: var(--mdaa-sp-4); }

/* =====================================================================
   113. MÉGA-MENU « NOTRE RÉSEAU » À TROIS COLONNES — 29/09/2026
   Nous connaître · Collaborer · Services IT sur une seule ligne (la
   troisième colonne passait sous la première). Ordinateur seulement.
   ===================================================================== */
@media (min-width: 961px) {
    .mdaa-mega:has(> .mdaa-mega__inner:not(.mdaa-mega__inner--promo) > .mdaa-mega__col:nth-child(3):last-child) { min-width: 720px; }
    .mdaa-mega__inner:not(.mdaa-mega__inner--promo):has(> .mdaa-mega__col:nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(190px, 1fr)); }
}

/* =====================================================================
   114. PAGE « STANDS » : ONGLETS DES ÉVÉNEMENTS — 29/09/2026
   Un onglet par édition publique en cours ou à venir (lue en base).
   ===================================================================== */
.siam-stands__editions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--mdaa-sp-2);
    margin: 0 0 var(--mdaa-sp-5);
}
.siam-stands__edition {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 var(--mdaa-sp-4);
    border: 1px solid var(--mdaa-line);
    border-radius: 999px;
    background: #fff;
    color: #013C80;
    font-family: var(--mdaa-font-display);
    font-weight: 700;
    text-decoration: none;
}
.siam-stands__edition:hover,
.siam-stands__edition:focus-visible { border-color: #F79303; color: #013C80; }
.siam-stands__edition.is-active { background: #013C80; border-color: #013C80; color: #fff; }

/* =====================================================================
   115. ACCOMPAGNEMENT PRO : PRIX, RÉCAPITULATIF, PAIEMENT — 29/09/2026
   ===================================================================== */
.mdaa-b2b-pack__price {
    margin: 0;
    font-family: var(--mdaa-font-display);
    font-size: var(--mdaa-fs-lg);
    font-weight: 800;
    color: #013C80;
}
.mdaa-b2b-pack__target { margin: 0; font-size: var(--mdaa-fs-sm); font-weight: 600; color: var(--mdaa-navy-900); }
.mdaa-b2b-paysum {
    display: grid;
    gap: var(--mdaa-sp-2);
    padding: var(--mdaa-sp-4);
    border: 1px solid var(--mdaa-line);
    border-left: 4px solid #F79303;
    border-radius: var(--mdaa-r-md);
    background: #fff;
}
.mdaa-b2b-paysum__row { display: flex; justify-content: space-between; gap: var(--mdaa-sp-3); margin: 0; flex-wrap: wrap; }
.mdaa-b2b-paysum__row span { color: var(--mdaa-ink-soft); }
.mdaa-b2b-paysum__row strong { color: #013C80; text-align: right; }
.nvbb-accpay { display: grid; gap: var(--mdaa-sp-4); }
.nvbb-accpay .mdaa-b2b-success__details { margin: 0; list-style: none; display: grid; gap: var(--mdaa-sp-2); }
.nvbb-accpay .mdaa-b2b-success__details li { display: flex; justify-content: space-between; align-items: baseline; gap: var(--mdaa-sp-3); flex-wrap: wrap; padding-bottom: var(--mdaa-sp-2); border-bottom: 1px dashed var(--mdaa-line); }
.nvbb-accpay .mdaa-b2b-success__details li:last-child { border-bottom: 0; padding-bottom: 0; }
.nvbb-accpay .mdaa-b2b-success__details li span { text-align: right; overflow-wrap: anywhere; }
.nvbb-accpay__total strong, .nvbb-accpay__total span { font-weight: 800; color: #013C80; }
.nvbb-accpay__btn { justify-self: start; display: inline-flex; align-items: center; gap: var(--mdaa-sp-2); text-decoration: none; }
.nvbb-accpay__btn svg { width: 20px; height: 20px; }
.nvbb-accpay__msg { margin: 0; padding: var(--mdaa-sp-3) var(--mdaa-sp-4); border-radius: var(--mdaa-r-md); background: #eef3fa; color: var(--mdaa-navy-900); }
.nvbb-accpay__msg--ok { background: #e7f5ec; }
@media (max-width: 600px) { .nvbb-accpay__btn { justify-self: stretch; justify-content: center; } }

/* =====================================================================
   116. ANNÉE DE CRÉATION : SUGGESTIONS DÈS 3 CHIFFRES — 29/09/2026
   Remplace la longue liste déroulante, gênante sur téléphone.
   ===================================================================== */
.nvbb-yearpick { position: relative; }
.nvbb-yearpick__list {
    position: absolute;
    z-index: 30;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    margin: 0;
    padding: var(--mdaa-sp-1) 0;
    list-style: none;
    max-height: 240px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-md);
    box-shadow: var(--mdaa-sh-lg);
}
.nvbb-yearpick__list li {
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 0 var(--mdaa-sp-4);
    font-weight: 600;
    color: #013C80;
    cursor: pointer;
}
.nvbb-yearpick__list li:hover,
.nvbb-yearpick__list li:focus { background: #fff4e5; outline: none; }

/* =====================================================================
   117. LIENS DES CARTES PARTENAIRES (page d'une édition) — 29/09/2026
   Classe utilisée sans règle CSS jusqu'ici (audit des classes).
   ===================================================================== */
.mdaa-siam-partner__link {
    color: #013C80;
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: #F79303;
    text-underline-offset: 3px;
}
.mdaa-siam-partner__link:hover,
.mdaa-siam-partner__link:focus-visible { color: #F79303; }

/* =====================================================================
   118. ILLUSTRATIONS PAR DÉFAUT DES BANDEAUX — 29/09/2026
   storage/pages/{id}/default.webp : le sujet est dessiné à droite (la
   gauche est sous le voile bleu). Sur mobile, on cadre à droite pour
   garder le sujet visible.
   ===================================================================== */
.mdaa-static-hero .mdaa-static-hero__photo--illus { background-position: 70% center; }
@media (max-width: 768px) {
    .mdaa-static-hero .mdaa-static-hero__photo--illus { background-position: 76% center; }
}

/* =====================================================================
   119. IMAGE DE FOND DES BANDEAUX CENTRÉS ET DU SUIVI — 29/09/2026
   storage/pages/{accompagnement|partenaires|soutenir}/ → .mdaa-b2b-hero
   storage/pages/{suivi-commande|suivi-colis}/          → .tcp-head
   Calques écrits par nvbb_media_bg_html() : __photo (fond posé par le
   script, attribut data-nvbb-bg) puis __veil. Le texte est centré : le
   voile est plus foncé au milieu, les illustrations restent visibles
   sur les côtés.
   ===================================================================== */
.mdaa-b2b-hero .mdaa-b2b-hero__photo,
.mdaa-section > .tcp-wrap .tcp-head > .tcp-head__photo {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.mdaa-b2b-hero .mdaa-b2b-hero__veil,
.mdaa-section > .tcp-wrap .tcp-head > .tcp-head__veil {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg,
        rgba(0, 64, 128, .45) 0%,
        rgba(0, 64, 128, .86) 28%,
        rgba(0, 64, 128, .9) 50%,
        rgba(0, 64, 128, .86) 72%,
        rgba(0, 64, 128, .45) 100%);
}
.mdaa-b2b-hero--img::before { z-index: 1; }
.mdaa-b2b-hero--img::after { z-index: 3; }
.mdaa-section > .tcp-wrap .tcp-head--img { background: var(--mdaa-navy); }
.mdaa-section > .tcp-wrap .tcp-head--img::before { z-index: 1; }
.mdaa-section > .tcp-wrap .tcp-head--img::after { z-index: 3; }
.mdaa-section > .tcp-wrap .tcp-head--img > h1,
.mdaa-section > .tcp-wrap .tcp-head--img > p { z-index: 2; }
@media (max-width: 768px) {
    .mdaa-b2b-hero .mdaa-b2b-hero__veil,
    .mdaa-section > .tcp-wrap .tcp-head > .tcp-head__veil { background: rgba(0, 64, 128, .8); }
    .mdaa-b2b-hero .mdaa-b2b-hero__photo,
    .mdaa-section > .tcp-wrap .tcp-head > .tcp-head__photo { background-position: 86% center; }
}

/* =====================================================================
   120. IMAGE DE FOND DES BANDEAUX « NOS RÉGIONS » — 29/09/2026
   storage/pages/regions/ (liste) ; storage/regions/{id}/, sinon
   storage/regions/nl/ ou bj/ (page d'une région). Calques écrits par
   nvbb_media_bg_html() : __photo puis __veil. Texte à gauche : voile
   plus foncé à gauche, sujet de l'illustration à droite.
   ===================================================================== */
.nvbb-rpub-hero .nvbb-rpub-hero__photo {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-size: cover;
    background-position: 70% center;
    background-repeat: no-repeat;
}
.nvbb-rpub-hero .nvbb-rpub-hero__veil {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(100deg, rgba(1, 60, 128, .96) 0%, rgba(1, 60, 128, .84) 50%, rgba(1, 60, 128, .45) 100%);
}
.nvbb-rpub-hero--img::after { z-index: 1; }
.nvbb-rpub-hero--img .mdaa-container { z-index: 2; }
.nvbb-rpub-hero--img .nvbb-rpub-hero__kente { z-index: 3; }
@media (max-width: 768px) {
    .nvbb-rpub-hero .nvbb-rpub-hero__photo { background-position: 82% center; }
    .nvbb-rpub-hero .nvbb-rpub-hero__veil { background: rgba(1, 60, 128, .8); }
}

/* =====================================================================
   121. VIGNETTE DES CARTES DE RÉGION (« Nos régions ») — 29/09/2026
   storage/regions/{id}/card.* (choisie) ou card-default.webp. Même style
   que les bandeaux : image, voile en dégradé bleu, liseré kente en bas.
   ===================================================================== */
.nvbb-rpub-card--img { overflow: hidden; }
.nvbb-rpub-card .nvbb-rpub-card__media {
    position: relative;
    display: block;
    margin: -16px -16px 6px;
    overflow: hidden;
    background: #013C80;
}
.nvbb-rpub-card .nvbb-rpub-card__img {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 2 / 1;
    object-fit: cover;
    transition: transform .3s ease;
}
.nvbb-rpub-card .nvbb-rpub-card__veil {
    position: absolute;
    inset: 0;
    background: linear-gradient(100deg, rgba(1, 60, 128, .62) 0%, rgba(1, 60, 128, .28) 50%, rgba(1, 60, 128, .05) 100%);
}
.nvbb-rpub-card .nvbb-rpub-card__veil::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 5px;
    background-image: var(--wax-kente);
    background-size: 36px 100%;
}
.nvbb-rpub-card--img:hover .nvbb-rpub-card__img,
.nvbb-rpub-card--img:focus-visible .nvbb-rpub-card__img { transform: scale(1.04); }
@media (prefers-reduced-motion: reduce) {
    .nvbb-rpub-card .nvbb-rpub-card__img { transition: none; }
    .nvbb-rpub-card--img:hover .nvbb-rpub-card__img { transform: none; }
}

/* =====================================================================
   122. CARTES D'APPEL « NOS RÉGIONS » AVEC ILLUSTRATION — 29/09/2026
   storage/pages/regions-artisan/ et regions-responsable/ (hero.* ou
   default.webp). Style des bandeaux : image à droite, voile en dégradé
   depuis le texte (bleu pour « Vous êtes artisan ? », crème pour
   « Devenir responsable de région »), liseré kente en bas.
   ===================================================================== */
.nvbb-rpub-cta__card--img {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding-bottom: 30px;
}
.nvbb-rpub-cta__card--img .nvbb-rpub-cta__photo {
    position: absolute;
    inset: 0;
    z-index: -2;
    background-size: cover;
    background-position: right center;
    background-repeat: no-repeat;
}
.nvbb-rpub-cta__card--img .nvbb-rpub-cta__veil {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(100deg, rgba(1, 60, 128, .97) 0%, rgba(1, 60, 128, .88) 45%, rgba(1, 60, 128, .3) 100%);
}
.nvbb-rpub-cta__card--alt.nvbb-rpub-cta__card--img .nvbb-rpub-cta__veil {
    background: linear-gradient(100deg, rgba(255, 247, 236, .99) 0%, rgba(255, 247, 236, .93) 45%, rgba(255, 247, 236, .3) 100%);
}
.nvbb-rpub-cta__card--img::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 8px;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
}
.nvbb-rpub-cta__card--img p { max-width: 46ch; }
@media (max-width: 768px) {
    .nvbb-rpub-cta__card--img .nvbb-rpub-cta__veil { background: linear-gradient(180deg, rgba(1, 60, 128, .95) 0%, rgba(1, 60, 128, .88) 60%, rgba(1, 60, 128, .6) 100%); }
    .nvbb-rpub-cta__card--alt.nvbb-rpub-cta__card--img .nvbb-rpub-cta__veil { background: linear-gradient(180deg, rgba(255, 247, 236, .98) 0%, rgba(255, 247, 236, .92) 60%, rgba(255, 247, 236, .65) 100%); }
}

/* =====================================================================
   123. VIGNETTE DES CARTES DE PACK (Accompagnement pro) — 29/09/2026
   storage/packs/{id de siam_b2b_packs}/card.* ou card-default.webp.
   Style des bandeaux : image bord à bord sous le liseré wax, voile en
   dégradé bleu, liseré kente en bas. La coche du pack choisi reste
   au-dessus de l'image.
   ===================================================================== */
.mdaa-b2b-pack--img { overflow: hidden; }
.mdaa-b2b-pack .mdaa-b2b-pack__media {
    position: relative;
    display: block;
    margin: calc(-1 * var(--mdaa-sp-5)) calc(-1 * var(--mdaa-sp-5)) var(--mdaa-sp-1);
    overflow: hidden;
    background: #013C80;
}
.mdaa-b2b-pack .mdaa-b2b-pack__img {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 2 / 1;
    object-fit: cover;
    transition: transform .3s ease;
}
.mdaa-b2b-pack .mdaa-b2b-pack__veil {
    position: absolute;
    inset: 0;
    background: linear-gradient(100deg, rgba(1, 60, 128, .62) 0%, rgba(1, 60, 128, .28) 50%, rgba(1, 60, 128, .05) 100%);
}
.mdaa-b2b-pack .mdaa-b2b-pack__veil::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 5px;
    background-image: var(--wax-kente);
    background-size: 36px 100%;
}
.mdaa-b2b-pack--img::before,
.mdaa-b2b-pack--img:has(input:checked)::after { z-index: 2; }
.mdaa-b2b-pack--img:hover .mdaa-b2b-pack__img { transform: scale(1.04); }
/* Note des prix : décollée des cartes de pack (retour de Ganyo, 29/09/2026) */
.mdaa-b2b-packs ~ .mdaa-b2b-note { margin-top: var(--mdaa-sp-6); }
@media (prefers-reduced-motion: reduce) {
    .mdaa-b2b-pack .mdaa-b2b-pack__img { transition: none; }
    .mdaa-b2b-pack--img:hover .mdaa-b2b-pack__img { transform: none; }
}

/* =====================================================================
   124. ILLUSTRATIONS STYLE BANDEAU : ÉDITION, ACCUEIL, SERVICES IT — 29/09/2026
   Règle : image + voile en dégradé depuis le texte + liseré kente.
   - Cartes « Participer » (siam_home_page) : vignette en haut,
     storage/modes/{clé}/card.* ou card-default.webp.
   - Carte « Partenaire stratégique » (home) : storage/pages/home-controle/.
   - Bandeau Services IT (it_top) : storage/pages/services-it/.
   - Appel à l'action Services IT (it_bottom) : storage/pages/services-it-cta/.
   ===================================================================== */
/* Cartes « Participer » */
.mdaa-siam-mode--img { position: relative; overflow: hidden; }
.mdaa-siam-mode .mdaa-siam-mode__media {
    position: relative;
    display: block;
    margin: calc(-1 * var(--mdaa-sp-5)) calc(-1 * var(--mdaa-sp-5)) var(--mdaa-sp-1);
    overflow: hidden;
    background: #013C80;
}
.mdaa-siam-mode .mdaa-siam-mode__img {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 2 / 1;
    object-fit: cover;
    transition: transform .3s ease;
}
.mdaa-siam-mode .mdaa-siam-mode__veil {
    position: absolute;
    inset: 0;
    background: linear-gradient(100deg, rgba(1, 60, 128, .62) 0%, rgba(1, 60, 128, .28) 50%, rgba(1, 60, 128, .05) 100%);
}
.mdaa-siam-mode .mdaa-siam-mode__veil::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 5px;
    background-image: var(--wax-kente);
    background-size: 36px 100%;
}
.mdaa-siam-mode--img:hover .mdaa-siam-mode__img { transform: scale(1.04); }

/* Calques photo + voile (écrits par nvbb_media_bg_html) */
.mdaa-hp-quality--img .mdaa-hp-quality__photo,
.nvbb-it .nvbb-it__hero--img > .nvbb-it__hero__photo,
.nvbb-it .nvbb-it__cta--img > .nvbb-it__cta__photo {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-size: cover;
    background-position: right center;
    background-repeat: no-repeat;
}
.mdaa-hp-quality--img .mdaa-hp-quality__veil,
.nvbb-it .nvbb-it__hero--img > .nvbb-it__hero__veil,
.nvbb-it .nvbb-it__cta--img > .nvbb-it__cta__veil {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(100deg, rgba(1, 60, 128, .97) 0%, rgba(1, 60, 128, .86) 45%, rgba(1, 60, 128, .35) 100%);
}
/* Carte « Partenaire stratégique » : l'image est en bas à droite, le texte au-dessus */
.mdaa-hp-quality--img .mdaa-hp-quality__photo { background-position: right bottom; }
.mdaa-hp-quality--img .mdaa-hp-quality__veil {
    background: linear-gradient(170deg, rgba(0, 37, 79, .97) 0%, rgba(0, 37, 79, .9) 50%, rgba(0, 37, 79, .45) 100%);
}
.mdaa-hp-quality--img > *:not(.mdaa-hp-quality__photo):not(.mdaa-hp-quality__veil) { position: relative; z-index: 2; }
.mdaa-hp-quality--img::after { z-index: 1; }
.mdaa-hp-quality--img::before {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 8px;
    z-index: 3;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
}
/* Services IT : les enfants directs restent au-dessus des calques */
.nvbb-it .nvbb-it__hero--img > .nvbb-it__hero__photo,
.nvbb-it .nvbb-it__hero--img > .nvbb-it__hero__veil,
.nvbb-it .nvbb-it__cta--img > .nvbb-it__cta__photo,
.nvbb-it .nvbb-it__cta--img > .nvbb-it__cta__veil { position: absolute; }
.nvbb-it .nvbb-it__hero--img > .nvbb-it__hero__photo,
.nvbb-it .nvbb-it__cta--img > .nvbb-it__cta__photo { z-index: 0; }
.nvbb-it .nvbb-it__hero--img > .nvbb-it__hero__veil,
.nvbb-it .nvbb-it__cta--img > .nvbb-it__cta__veil { z-index: 1; }
.nvbb-it .nvbb-it__hero--img > .nvbb-it__wrap { z-index: 2; }
.nvbb-it .nvbb-it__hero--img::before { z-index: 3; }
.nvbb-it .nvbb-it__cta--img::before { z-index: 1; }
.nvbb-it .nvbb-it__cta--img > div,
.nvbb-it .nvbb-it__cta--img > .nvbb-it__btn { z-index: 2; }
.nvbb-it .nvbb-it__cta--img::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 8px;
    z-index: 3;
    background-image: var(--wax-kente);
    background-size: 48px 100%;
}
@media (max-width: 768px) {
    .mdaa-hp-quality--img .mdaa-hp-quality__veil,
    .nvbb-it .nvbb-it__hero--img > .nvbb-it__hero__veil,
    .nvbb-it .nvbb-it__cta--img > .nvbb-it__cta__veil { background: linear-gradient(180deg, rgba(1, 60, 128, .95) 0%, rgba(1, 60, 128, .88) 60%, rgba(1, 60, 128, .6) 100%); }
    .nvbb-it .nvbb-it__hero--img > .nvbb-it__hero__photo { background-position: 80% center; }
}
@media (prefers-reduced-motion: reduce) {
    .mdaa-siam-mode .mdaa-siam-mode__img { transition: none; }
    .mdaa-siam-mode--img:hover .mdaa-siam-mode__img { transform: none; }
}

/* =====================================================================
   125. CARTES « PARTICIPER » SUR 3 COLONNES — 29/09/2026
   Page d'une édition (/expo/{année}) : 6 cartes → 3 + 3 (demande de
   Ganyo), 2 colonnes sur tablette, 1 sur téléphone.
   ===================================================================== */
.mdaa-siam-section-participation .mdaa-siam-modes-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 960px) {
    .mdaa-siam-section-participation .mdaa-siam-modes-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .mdaa-siam-section-participation .mdaa-siam-modes-grid { grid-template-columns: minmax(0, 1fr); }
}

/* =====================================================================
   126. BLOC « LIEU » AVEC UNE SEULE IMAGE — 29/09/2026
   storage/events/{année}/lieu/default.webp (illustration livrée, ex.
   Theater Heerlen pour Maakbrug 2027) ou photo unique : elle occupe
   toute la colonne au lieu d'une demi-grille.
   ===================================================================== */
.mdaa-siam-location-card__gallery--single { grid-template-columns: minmax(0, 1fr); }
.mdaa-siam-location-card__gallery--single img { aspect-ratio: auto; min-height: 260px; object-position: center 60%; }

/* =====================================================================
   127. IMMERSION : PAYS FIGÉ ET INDICATIF TÉLÉPHONIQUE — 30/09/2026
   Pays de l'atelier imposé par l'édition (lecture seule) ; indicatif du
   pays (+229, +31…) affiché devant le champ téléphone et ajouté au
   numéro à l'enregistrement.
   ===================================================================== */
.mdaa-b2b-input.mdaa-b2b-input--fixed {
    background: #f1f5fa;
    color: #013C80;
    font-weight: 600;
    border-style: dashed;
    cursor: default;
}
.mdaa-b2b-input.mdaa-b2b-input--fixed:focus { box-shadow: none; border-color: var(--mdaa-line, #dde3ec); }
.mdaa-b2b-phone {
    display: flex;
    align-items: stretch;
    width: 100%;
}
.mdaa-b2b-phone .mdaa-b2b-input { flex: 1 1 auto; min-width: 0; }
.mdaa-b2b-phone__cc {
    display: inline-flex;
    align-items: center;
    flex: none;
    padding: 0 14px;
    font-weight: 700;
    color: #013C80;
    background: #eef3fa;
    border: 1px solid var(--mdaa-line, #dde3ec);
    border-right: 0;
    border-radius: 10px 0 0 10px;
}
.mdaa-b2b-phone__cc:not([hidden]) + .mdaa-b2b-input { border-top-left-radius: 0; border-bottom-left-radius: 0; }

/* =====================================================================
   128. FORMULAIRES : CAPTCHA, INDICATIF, KVK, E-MAIL — 30/09/2026
   config/forms/form_guard_helpers.php
   ===================================================================== */
/* Liste d'indicatifs devant le numéro (pays non figé) */
.mdaa-b2b-phone__select {
    flex: 0 0 auto;
    max-width: 46%;
    padding: 0 10px;
    font: inherit;
    font-weight: 600;
    color: #013C80;
    background: #eef3fa;
    border: 1px solid var(--mdaa-line, #dde3ec);
    border-right: 0;
    border-radius: 10px 0 0 10px;
    cursor: pointer;
}
.mdaa-b2b-phone__select + .mdaa-b2b-input { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.mdaa-b2b-phone__select:focus-visible { outline: 2px solid #F79303; outline-offset: 1px; }

/* Captcha « Je ne suis pas un robot » (preuve de travail, sans service tiers) */
.nvbb-captcha {
    margin: var(--mdaa-sp-4, 16px) 0;
    padding: 12px 14px;
    background: #f7f9fc;
    border: 1px solid var(--mdaa-line, #dde3ec);
    border-radius: 12px;
    max-width: 420px;
}
.nvbb-captcha__box { display: flex; align-items: center; gap: 12px; cursor: pointer; font-weight: 600; color: #013C80; }
.nvbb-captcha__check { width: 22px; height: 22px; flex: none; accent-color: #F79303; cursor: pointer; }
.nvbb-captcha__note { margin: 6px 0 0 34px; font-size: 12px; color: var(--mdaa-ink-soft, #4a5568); }
.nvbb-captcha.is-working .nvbb-captcha__label::after {
    content: "";
    display: inline-block;
    width: 12px; height: 12px;
    margin-left: 8px;
    vertical-align: -1px;
    border: 2px solid #F79303;
    border-right-color: transparent;
    border-radius: 50%;
    animation: nvbb-captcha-spin .8s linear infinite;
}
.nvbb-captcha.is-done { border-color: #1c6b3d; background: #e8f6ee; }
.nvbb-captcha.is-done .nvbb-captcha__box { color: #1c6b3d; }
.nvbb-captcha.is-missing { border-color: #c0392b; box-shadow: 0 0 0 3px rgba(192, 57, 43, .12); }
@keyframes nvbb-captcha-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .nvbb-captcha.is-working .nvbb-captcha__label::after { animation: none; } }

/* Suggestions d'entreprises actives du KVK */
.nvbb-suggest-wrap { position: relative; }
.nvbb-suggest {
    position: absolute;
    z-index: 30;
    left: 0; right: 0;
    margin: 4px 0 0;
    padding: 4px;
    list-style: none;
    max-height: 280px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid var(--mdaa-line, #dde3ec);
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(1, 60, 128, .14);
}
.nvbb-suggest li { display: flex; flex-direction: column; gap: 2px; padding: 8px 12px; border-radius: 8px; cursor: pointer; }
.nvbb-suggest li:hover, .nvbb-suggest li:focus { background: #fff4e5; outline: none; }
.nvbb-suggest li strong { color: #013C80; font-weight: 600; }
.nvbb-suggest li small { font-size: 12px; color: var(--mdaa-ink-soft, #4a5568); }
.nvbb-suggest .nvbb-suggest__empty { cursor: default; font-size: 13px; color: var(--mdaa-ink-soft, #4a5568); }
.nvbb-suggest .nvbb-suggest__empty:hover { background: transparent; }

/* Correction d'e-mail proposée (faute de frappe connue) */
.nvbb-email-tip {
    display: inline-block;
    margin-top: 6px;
    padding: 4px 10px;
    font: inherit;
    font-size: 13px;
    color: #013C80;
    background: #fff4e5;
    border: 1px solid #F79303;
    border-radius: 999px;
    cursor: pointer;
}
.nvbb-email-tip:hover, .nvbb-email-tip:focus-visible { background: #F79303; color: #12202e; }

/* ==========================================================================
   129. Services IT : cartes des références (30/09/2026)
   Grille régulière, cartes de même hauteur ; flèche de lien externe en icône
   SVG fixée en haut à droite (la flèche texte globale est coupée par
   .mdaa-ext-none) ; secteur en surtitre, adresse du site en pied de carte.
   ========================================================================== */
.nvbb-it .nvbb-it__refs {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: var(--mdaa-sp-4, 16px);
    align-items: stretch;
}
.nvbb-it .nvbb-it__ref {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    height: 100%;
    padding: 20px;
    color: inherit;
    text-decoration: none;
    background: #fff;
    border: 1px solid var(--mdaa-line, #dde3ec);
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(1, 60, 128, .05);
    overflow: hidden;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.nvbb-it .nvbb-it__ref::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background: linear-gradient(90deg, #013C80, #F79303);
    opacity: 0;
    transition: opacity .2s ease;
}
.nvbb-it a.nvbb-it__ref:hover,
.nvbb-it a.nvbb-it__ref:focus-visible {
    background: #fff;
    border-color: color-mix(in oklab, #F79303 55%, #fff);
    box-shadow: 0 12px 28px rgba(1, 60, 128, .12);
    transform: translateY(-3px);
}
.nvbb-it a.nvbb-it__ref:hover::before,
.nvbb-it a.nvbb-it__ref:focus-visible::before { opacity: 1; }
.nvbb-it a.nvbb-it__ref::after { content: none; }

.nvbb-it .nvbb-it__ref-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}
.nvbb-it .nvbb-it__ref-logo {
    display: grid;
    place-items: center;
    width: 72px;
    height: 72px;
    flex: none;
    padding: 8px;
    background: #fff;
    border: 1px solid var(--mdaa-line, #dde3ec);
    border-radius: 12px;
}
.nvbb-it .nvbb-it__ref-logo img {
    width: 100%;
    height: 100%;
    max-height: none;
    padding: 0;
    object-fit: contain;
    background: none;
    border-radius: 0;
    filter: none;
    opacity: 1;
}
.nvbb-it .nvbb-it__ref .nvbb-it__ref-mono { width: 72px; height: 72px; border-radius: 12px; font-size: 1.25rem; }
.nvbb-it .nvbb-it__ref-go {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    flex: none;
    color: #013C80;
    background: var(--mdaa-navy-50, #eef3fa);
    border-radius: 999px;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}
.nvbb-it a.nvbb-it__ref:hover .nvbb-it__ref-go,
.nvbb-it a.nvbb-it__ref:focus-visible .nvbb-it__ref-go {
    color: #12202e;
    background: #F79303;
    transform: translate(2px, -2px);
}

.nvbb-it .nvbb-it__ref > .nvbb-it__ref-body,
.nvbb-it .nvbb-it__ref-body { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1 1 auto; }
.nvbb-it .nvbb-it__ref .nvbb-it__ref-name {
    font-family: var(--mdaa-font-display, inherit);
    font-size: 1.05rem;
    line-height: 1.3;
    color: #013C80;
}
.nvbb-it .nvbb-it__ref-sector {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #8a4b00;
}
.nvbb-it .nvbb-it__ref-detail {
    font-size: 14px;
    line-height: 1.45;
    color: var(--mdaa-ink-soft, #4a5568);
}
.nvbb-it .nvbb-it__ref > .nvbb-it__ref-host,
.nvbb-it .nvbb-it__ref-host {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    margin-top: auto;
    padding-top: 12px;
    font-size: 13px;
    color: var(--mdaa-ink-faint, #6b7a90);
    border-top: 1px dashed var(--mdaa-line, #dde3ec);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.nvbb-it .nvbb-it__ref-host svg { flex: none; }

@media (max-width: 560px) {
    .nvbb-it .nvbb-it__refs { grid-template-columns: 1fr; }
    .nvbb-it .nvbb-it__ref { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .nvbb-it .nvbb-it__ref,
    .nvbb-it .nvbb-it__ref-go { transition: none; }
    .nvbb-it a.nvbb-it__ref:hover { transform: none; }
}

/* ==========================================================================
   130. Champs de recherche à la place des listes déroulantes (30/09/2026)
   public/assets/js/nvbb-combobox.js : suggestions à partir de 3 lettres ou
   dès le premier chiffre ; la <select> d'origine reste masquée et envoyée.
   ========================================================================== */
.nvbb-combo { position: relative; width: 100%; }
.nvbb-combo__native {
    position: absolute !important;
    left: 0; bottom: 0;
    width: 100% !important; height: 1px !important;
    margin: 0 !important; padding: 0 !important;
    border: 0 !important;
    opacity: 0;
    pointer-events: none;
}
input.nvbb-combo__input {
    width: 100%;
    padding-right: 44px;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23013C80' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") right 14px center / 18px no-repeat;
    cursor: text;
}
input.nvbb-combo__input::placeholder { color: var(--mdaa-ink-faint, #6b7a90); }
input.nvbb-combo__input:disabled { background-color: var(--mdaa-navy-50, #eef3fa); cursor: not-allowed; }

.nvbb-combo__list {
    position: absolute;
    z-index: 60;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    min-width: 240px;
    max-height: 300px;
    margin: 0;
    padding: 4px;
    overflow-y: auto;
    list-style: none;
    background: #fff;
    border: 1px solid var(--mdaa-line, #dde3ec);
    border-radius: 12px;
    box-shadow: 0 12px 28px rgba(1, 60, 128, .14);
}
.nvbb-combo__list[hidden] { display: none; }
.nvbb-combo__list [role="option"] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 0;
    padding: 10px 12px;
    color: var(--mdaa-ink, #12202e);
    border-radius: 8px;
    cursor: pointer;
}
.nvbb-combo__list [role="option"]:hover,
.nvbb-combo__list [role="option"].is-active { background: #fff4e5; }
.nvbb-combo__list [role="option"][aria-selected="true"] { font-weight: 700; color: #013C80; }
.nvbb-combo__list [role="option"] small { font-size: 12px; color: var(--mdaa-ink-soft, #4a5568); }
.nvbb-combo__msg { padding: 10px 12px; font-size: 14px; color: var(--mdaa-ink-soft, #4a5568); cursor: default; }

/* Indicatif téléphonique devant le numéro (section 128) */
.mdaa-b2b-phone > .nvbb-combo { flex: 0 0 auto; width: 170px; max-width: 46%; }
.mdaa-b2b-phone > .nvbb-combo + .mdaa-b2b-input { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.mdaa-b2b-phone > .nvbb-combo .nvbb-combo__input { width: 100%; max-width: none; height: 100%; padding: 0 10px; background-image: none; text-overflow: ellipsis; }
.mdaa-b2b-phone > .nvbb-combo .nvbb-combo__list { right: auto; width: 280px; }

/* Listes courtes (6 choix ou moins) : boutons à choix unique, style des cartes de choix voisines */
.nvbb-chips { position: relative; width: 100%; }
.nvbb-chips__list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
    gap: 10px;
}
.nvbb-chips__opt {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 52px;
    padding: 12px 16px;
    font: inherit;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    text-align: left;
    color: var(--mdaa-ink, #12202e);
    background: #fff;
    border: 1px solid var(--mdaa-line, #dde3ec);
    border-radius: 12px;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.nvbb-chips__opt:hover { border-color: #F79303; }
.nvbb-chips__opt:focus-visible { outline: 2px solid #F79303; outline-offset: 2px; }
.nvbb-chips__opt.is-on { background: #fff4e5; border-color: #F79303; box-shadow: 0 0 0 1px #F79303 inset; }
.nvbb-chips__opt:disabled { opacity: .5; cursor: not-allowed; }
.nvbb-chips__dot {
    flex: none;
    width: 20px;
    height: 20px;
    border: 2px solid var(--mdaa-navy-200, #b9c8dc);
    border-radius: 50%;
    background: #fff;
}
.nvbb-chips__opt.is-on .nvbb-chips__dot { border-color: #F79303; box-shadow: inset 0 0 0 4px #fff; background: #F79303; }
.nvbb-chips.is-invalid .nvbb-chips__opt { border-color: var(--mdaa-danger, #c0392b); }
.nvbb-chips__err { margin: 8px 0 0; font-size: 14px; font-weight: 600; color: var(--mdaa-danger, #c0392b); }
.nvbb-chips__err[hidden] { display: none; }

/* =====================================================================
   131. « NOS RÉGIONS » : UN BOUTON PAR PAYS — 30/09/2026
   Reprend les onglets de la page Stands (section 114) ; nombre de
   provinces ou de pôles sous le nom du pays.
   ===================================================================== */
.nvbb-rpub-tabs { margin: var(--mdaa-sp-6, 32px) 0 var(--mdaa-sp-4, 16px); scroll-margin-top: 160px; }
.nvbb-rpub-tabs[hidden] { display: none; }
.nvbb-rpub-tabs .siam-stands__edition { gap: 8px; min-height: 48px; padding: 0 22px; font-size: 1.05rem; }
.nvbb-rpub-tabs__n { font-family: var(--mdaa-font-body, inherit); font-size: 13px; font-weight: 500; opacity: .75; }
.nvbb-rpub-tabs .siam-stands__edition.is-active .nvbb-rpub-tabs__n { opacity: .9; }
.nvbb-rpub-group[hidden] { display: none; }
/* Boutons affichés : le titre du pays (déjà dans le bouton) reste pour les lecteurs d'écran seulement */
.nvbb-rpub-tabs:not([hidden]) ~ .nvbb-rpub-group .nvbb-rpub-group__title {
    position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
    overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
@media (max-width: 480px) {
    .nvbb-rpub-tabs .siam-stands__edition { flex: 1 1 100%; justify-content: center; }
}

/* =====================================================================
   132. ACCUEIL : TROIS LEVIERS D'IMPACT ET ODD — 30/09/2026
   Services IT + prochaine édition de chaque série de l'Expo (lues en base).
   Les ODD sont des pastilles de texte aux couleurs du site (pas de logo
   ni d'icône des Nations unies).
   ===================================================================== */
.mdaa-hp-models { margin-top: var(--mdaa-sp-6, 32px); }
.mdaa-hp-hero__title { font-size: clamp(2.1rem, 4.4vw, 3.4rem); line-height: 1.08; }
/* Bandeau sur toute la largeur du conteneur (il était limité à 720 px, centré) */
.mdaa-hp-ct.mdaa-hp-hero__in { max-width: var(--mdaa-container); }
.mdaa-hp-hero__in .mdaa-hp-hero__title { max-width: 24ch; }
.mdaa-hp-hero__in .mdaa-hp-hero__sub { max-width: 72ch; }
.mdaa-hp-models__label {
    margin: 0 0 var(--mdaa-sp-3, 12px);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--mdaa-orange-300, #FBC98A);
}
.mdaa-hp-models__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.mdaa-hp-models__list > li { display: flex; margin: 0; }
.mdaa-hp-model {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 100%;
    padding: 14px 16px;
    color: #fff;
    text-decoration: none;
    background: rgba(0, 37, 79, .55);
    border: 1px solid rgba(255, 255, 255, .18);
    border-top: 3px solid #F79303;
    border-radius: 14px;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.mdaa-hp-model:hover,
.mdaa-hp-model:focus-visible { color: #fff; background: rgba(0, 37, 79, .78); border-color: rgba(247, 147, 3, .7); transform: translateY(-2px); }
.mdaa-hp-model:focus-visible { outline: 2px solid #F79303; outline-offset: 2px; }
.mdaa-hp-model--it { border-top-color: #FBC98A; }
.mdaa-hp-model__name { font-family: var(--mdaa-font-display, inherit); font-size: 1.05rem; font-weight: 800; color: #fff; }
.mdaa-hp-model__text { font-size: 14px; line-height: 1.45; color: #d7e3f0; }
.mdaa-hp-model__sdg { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 6px; }
.mdaa-hp-sdg {
    display: inline-flex;
    align-items: center;
    padding: 2px 9px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .02em;
    color: #12202e;
    background: #FBC98A;
    border-radius: 999px;
    cursor: help;
}
.mdaa-hp-models__note { margin: 10px 0 0; font-size: 12px; color: #b9cadd; }
@media (max-width: 640px) {
    .mdaa-hp-models__list { grid-template-columns: 1fr; }
    .mdaa-hp-model { padding: 12px 14px; }
}
@media (prefers-reduced-motion: reduce) { .mdaa-hp-model { transition: none; } .mdaa-hp-model:hover { transform: none; } }

/* =====================================================================
   133. ACCUEIL : OBJECTIFS, DÉCOUVERTES RÉCENTES, RÔLE POUR LES ODD — 30/09/2026
   ===================================================================== */
/* Légende de la bande des objectifs (nom de l'édition lu en base) */
.mdaa-hp-targets__cap {
    margin: 0 0 var(--mdaa-sp-3, 12px);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #8a4b00;
}

/* Découvertes récentes dans la carte NVBB SARL */
.mdaa-hp-quality__disc {
    position: relative;
    z-index: 1;
    margin: var(--mdaa-sp-4, 16px) 0 0;
    padding-top: var(--mdaa-sp-4, 16px);
    border-top: 1px solid rgba(255, 255, 255, .18);
}
.mdaa-hp-quality__disc-t { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #FBC98A; }
.mdaa-hp-quality__disc-n { margin: 4px 0 10px; font-size: 13px; line-height: 1.45; color: #cddbe9; }
.mdaa-hp-quality__disc-ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.mdaa-hp-quality__disc-a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    color: #fff;
    text-decoration: none;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 12px;
    transition: background .2s ease, border-color .2s ease;
}
.mdaa-hp-quality__disc-a:hover, .mdaa-hp-quality__disc-a:focus-visible { color: #fff; background: rgba(247, 147, 3, .18); border-color: #F79303; }
.mdaa-hp-quality__disc-ic { display: grid; place-items: center; width: 30px; height: 30px; flex: none; color: #12202e; background: #F79303; border-radius: 50%; }
.mdaa-hp-quality__disc-ic svg { width: 16px; height: 16px; }
.mdaa-hp-quality__disc-name { flex: 1 1 auto; font-weight: 600; font-size: 14px; }
.mdaa-hp-quality__disc-count { flex: none; min-width: 24px; padding: 1px 8px; font-size: 12px; font-weight: 700; text-align: center; color: #12202e; background: #FBC98A; border-radius: 999px; }

/* Rôle de la plateforme pour les ODD */
.mdaa-hp-sdgs__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 330px), 1fr));
    gap: var(--mdaa-sp-4, 16px);
    margin: 0;
    padding: 0;
    list-style: none;
}
.mdaa-hp-sdgs__card {
    display: flex;
    gap: 16px;
    margin: 0;
    padding: 20px;
    background: #fff;
    border: 1px solid var(--mdaa-line, #dde3ec);
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(1, 60, 128, .05);
}
.mdaa-hp-sdgs__num {
    display: grid;
    place-items: center;
    flex: none;
    width: 52px;
    height: 52px;
    font-family: var(--mdaa-font-display, inherit);
    font-size: 1.35rem;
    font-weight: 800;
    color: #fff;
    background: #013C80;
    border-bottom: 4px solid #F79303;
    border-radius: 12px;
}
.mdaa-hp-sdgs__body { min-width: 0; }
.mdaa-hp-sdgs__goal { margin: 0 0 4px; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #8a4b00; }
.mdaa-hp-sdgs__h { margin: 0 0 6px; font-size: 1.05rem; line-height: 1.3; color: #013C80; }
.mdaa-hp-sdgs__txt { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--mdaa-ink-soft, #4a5568); }
.mdaa-hp-sdgs__target { margin: 10px 0 0; padding: 6px 10px; font-size: 13px; font-weight: 700; color: #013C80; background: #fff4e5; border-left: 3px solid #F79303; border-radius: 6px; }
.mdaa-hp-sdgs__note { margin: var(--mdaa-sp-4, 16px) 0 0; font-size: 13px; color: var(--mdaa-ink-faint, #6b7a90); }
.mdaa-hp-quality__cta + .mdaa-hp-quality__disc { margin-top: var(--mdaa-sp-5, 24px); }

/* =====================================================================
   134. PAGE CONTACT : FORMULAIRE D'ABORD, COORDONNÉES EN CARTES — 30/09/2026
   ===================================================================== */
.mdaa-contact__layout--stack {
    grid-template-columns: minmax(0, 1fr);
    max-width: 980px;
    margin-inline: auto;
    gap: var(--mdaa-sp-6, 32px);
}
.mdaa-contact__layout--stack .mdaa-contact__form-wrap {
    position: relative;
    padding: clamp(20px, 4vw, 40px);
    border-radius: 20px;
    overflow: hidden;
}
.mdaa-contact__layout--stack .mdaa-contact__form-wrap::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 6px;
    background: repeating-linear-gradient(90deg, #F79303 0 20px, #013C80 20px 40px, #FFF4E0 40px 60px, #C8551B 60px 80px);
}
.mdaa-contact__form-head { display: flex; align-items: flex-start; gap: 16px; margin-bottom: var(--mdaa-sp-5, 24px); }
.mdaa-contact__form-ic {
    display: grid; place-items: center; flex: none;
    width: 52px; height: 52px;
    color: #fff; background: #013C80; border-bottom: 4px solid #F79303; border-radius: 14px;
}
.mdaa-contact__form-ic svg { width: 26px; height: 26px; }
.mdaa-contact__layout--stack .mdaa-contact__form-title { margin: 0 0 4px; color: #013C80; }
.mdaa-contact__form-sub { margin: 0; font-size: 15px; color: var(--mdaa-ink-soft, #4a5568); }
.mdaa-contact__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--mdaa-sp-4, 16px); }
.mdaa-contact__layout--stack .mdaa-contact__submit { min-width: 220px; justify-content: center; }

/* Coordonnées : une carte par partie du contenu (base) */
.mdaa-contact__layout--stack .mdaa-contact__info {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
    gap: var(--mdaa-sp-4, 16px);
}
.mdaa-contact__card {
    display: flex;
    gap: 16px;
    margin: 0;
    padding: 24px;
    background: #fff;
    border: 1px solid var(--mdaa-line, #dde3ec);
    border-top: 4px solid #F79303;
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(1, 60, 128, .05);
}
.mdaa-contact__card:nth-child(2n) { border-top-color: #013C80; }
.mdaa-contact__card-ic {
    display: grid; place-items: center; flex: none;
    width: 44px; height: 44px;
    color: #013C80; background: #fff4e5; border-radius: 12px;
}
.mdaa-contact__card-ic svg { width: 22px; height: 22px; }
.mdaa-contact__card-body { min-width: 0; font-size: 15px; }
.mdaa-contact__card-body > :first-child { margin-top: 0; }
.mdaa-contact__card-body > :last-child { margin-bottom: 0; }
.mdaa-contact__card-body h2 { margin: 0 0 10px; font-size: 1.2rem; color: #013C80; }
.mdaa-contact__card-body h3 { margin: 0 0 6px; font-size: 1rem; color: var(--mdaa-ink, #12202e); }
.mdaa-contact__card-body p { margin: 0 0 8px; line-height: 1.6; }
.mdaa-contact__card-body ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.mdaa-contact__card-body li { position: relative; padding-left: 22px; line-height: 1.5; }
.mdaa-contact__card-body li::before {
    content: ""; position: absolute; left: 2px; top: .5em;
    width: 8px; height: 8px; background: #F79303; border-radius: 50%;
}
@media (max-width: 640px) {
    .mdaa-contact__row { grid-template-columns: minmax(0, 1fr); }
    .mdaa-contact__layout--stack .mdaa-contact__submit { width: 100%; }
    .mdaa-contact__card { padding: 18px; }
}

/* =====================================================================
   135. ACCUEIL : « NOS CATÉGORIES » PAR PAYS — 30/09/2026
   Boutons des pays : style des onglets de la page Stands (section 114/131).
   ===================================================================== */
.mdaa-hp-cattabs { margin: 0 0 var(--mdaa-sp-4, 16px); }
.mdaa-hp-catpanel[hidden] { display: none; }
.mdaa-hp-cat--empty .mdaa-hp-cat__count { opacity: .75; }

/* =====================================================================
   136. ACCUEIL : « EXPOSER À L'EXPO » PAR ÉDITION — 30/09/2026
   ===================================================================== */
.mdaa-hp-stands__more { margin: var(--mdaa-sp-4, 16px) 0 0; text-align: right; }
.mdaa-hp-stands__soon {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--mdaa-sp-4, 16px);
    padding: 24px;
    background: #fff;
    border: 1px dashed var(--mdaa-navy-200, #b9c8dc);
    border-left: 4px solid #F79303;
    border-radius: 16px;
}
.mdaa-hp-stands__soon p { margin: 0; font-size: 1.05rem; font-weight: 600; color: #013C80; }
/* Illustration d'une catégorie sans photo (storage/categories/{slug}/card-default.webp) */
.mdaa-hp-cat__mosaic--illus img { object-fit: cover; object-position: center 35%; }

/* =====================================================================
   137. ÉDITIONS DE L'EXPO : IMAGE LARGE EN ARRIÈRE-PLAN, TEXTE PAR-DESSUS — 30/09/2026
   Encart des éditions (accueil) et bandeau de la page d'une édition :
   l'image (photos de la série, sinon lieu de l'édition) occupe tout le fond,
   voile en dégradé depuis le côté du texte, liseré kente en bas (style des bandeaux).
   ===================================================================== */
.mdaa-hp-siam--photo,
.mdaa-siam-hero--photo { position: relative; overflow: hidden; }
.mdaa-hp-siam--photo .nvbb-bgslides,
.mdaa-siam-hero--photo .nvbb-bgslides { border-radius: inherit; }
.mdaa-hp-siam--photo .nvbb-bgslide,
.mdaa-siam-hero--photo .nvbb-bgslide { background-position: center 40%; }
.mdaa-hp-siam--photo .nvbb-bgslides__veil,
.mdaa-siam-hero--photo .nvbb-bgslides__veil {
    background: linear-gradient(100deg, rgba(1, 32, 63, .92) 0%, rgba(1, 32, 63, .74) 38%, rgba(1, 32, 63, .28) 68%, rgba(1, 32, 63, .06) 100%);
}
.mdaa-hp-siam--photo .nvbb-bgslides::after,
.mdaa-siam-hero--photo .nvbb-bgslides::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 8px;
    z-index: 1;
    background: repeating-linear-gradient(90deg, #F79303 0 20px, #013C80 20px 40px, #FFF4E0 40px 60px, #C8551B 60px 80px);
}
.mdaa-hp-siam--photo .mdaa-hp-siam__glow { opacity: .35; }
.mdaa-hp-siam--photo .mdaa-hp-siam__h,
.mdaa-hp-siam--photo .mdaa-hp-siam__p { text-shadow: 0 1px 3px rgba(0, 20, 45, .55); }
@media (max-width: 720px) {
    .mdaa-hp-siam--photo .nvbb-bgslides__veil,
    .mdaa-siam-hero--photo .nvbb-bgslides__veil {
        background: linear-gradient(180deg, rgba(1, 32, 63, .88) 0%, rgba(1, 32, 63, .7) 60%, rgba(1, 32, 63, .5) 100%);
    }
}

/* =====================================================================
   138. SACS SUR MESURE (/{lang}/sacs-sur-mesure) — 30/09/2026
   Aperçu du sac avec le tissu choisi, choix du modèle et du tissu,
   récapitulatif du prix et frise du délai de livraison.
   ===================================================================== */
.nvbb-bag { padding-block: var(--mdaa-sp-7, 40px); }
.nvbb-bag__layout { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--mdaa-sp-6, 32px); align-items: start; }
.nvbb-bag__preview {
    position: sticky; top: 150px;
    padding: 24px;
    text-align: center;
    background: #fff;
    border: 1px solid var(--mdaa-line, #dde3ec);
    border-radius: 20px;
    overflow: hidden;
}
.nvbb-bag__preview::before {
    content: ""; position: absolute; inset: 0 0 auto 0; height: 6px;
    background: repeating-linear-gradient(90deg, #F79303 0 20px, #013C80 20px 40px, #FFF4E0 40px 60px, #C8551B 60px 80px);
}
.nvbb-bag__stage {
    aspect-ratio: 1 / 1;
    display: grid; place-items: center;
    background: radial-gradient(circle at 50% 40%, #fff4e5 0, #f4f7fb 60%, #e8eef7 100%);
    border-radius: 16px;
}
.nvbb-bag__shape { width: 100%; }
.nvbb-bag__shape[hidden] { display: none; }
.nvbb-bag-svg { display: block; width: 100%; height: auto; }
.nvbb-bag__pv-model { margin: 16px 0 2px; font-family: var(--mdaa-font-display, inherit); font-size: 1.25rem; font-weight: 800; color: #013C80; }
.nvbb-bag__pv-fabric { margin: 0; font-weight: 600; color: var(--mdaa-ink, #12202e); }
.nvbb-bag__pv-note { margin: 10px 0 0; font-size: 13px; color: var(--mdaa-ink-faint, #6b7a90); }

.nvbb-bag__form { display: grid; gap: var(--mdaa-sp-5, 24px); }
.nvbb-bag__step { margin: 0; padding: 20px; background: #fff; border: 1px solid var(--mdaa-line, #dde3ec); border-radius: 16px; }
.nvbb-bag__step legend { display: flex; align-items: center; gap: 10px; padding: 0 6px; font-family: var(--mdaa-font-display, inherit); font-size: 1.05rem; font-weight: 800; color: #013C80; }
.nvbb-bag__n { display: inline-grid; place-items: center; width: 28px; height: 28px; font-size: 14px; color: #12202e; background: #F79303; border-radius: 50%; }

.nvbb-bag__models { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; }
.nvbb-bag__model { position: relative; display: block; cursor: pointer; }
.nvbb-bag__model input, .nvbb-bag__fabric input, .nvbb-bag__opt input { position: absolute; opacity: 0; pointer-events: none; }
.nvbb-bag__model-b { display: flex; flex-direction: column; gap: 3px; height: 100%; padding: 14px; border: 1px solid var(--mdaa-line, #dde3ec); border-radius: 12px; transition: border-color .15s ease, background .15s ease; }
.nvbb-bag__model-b strong { color: #013C80; }
.nvbb-bag__model-b small { font-size: 13px; color: var(--mdaa-ink-soft, #4a5568); }
.nvbb-bag__model-d { line-height: 1.4; }
.nvbb-bag__model input:checked + .nvbb-bag__model-b { background: #fff4e5; border-color: #F79303; box-shadow: 0 0 0 1px #F79303 inset; }
.nvbb-bag__model input:focus-visible + .nvbb-bag__model-b { outline: 2px solid #F79303; outline-offset: 2px; }
.nvbb-bag__model.is-off .nvbb-bag__model-b { opacity: .5; }

.nvbb-bag__fabrics { display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 10px; }
.nvbb-bag__fabric { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 6px; text-align: center; border: 2px solid transparent; border-radius: 14px; cursor: pointer; transition: border-color .15s ease, background .15s ease; }
.nvbb-bag__fabric img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 10px; }
.nvbb-bag__fabric-n { font-size: 13px; font-weight: 700; line-height: 1.25; color: var(--mdaa-ink, #12202e); }
.nvbb-bag__fabric small { font-size: 11.5px; color: var(--mdaa-ink-faint, #6b7a90); }
.nvbb-bag__fabric:hover { background: #f4f7fb; }
.nvbb-bag__fabric:has(input:checked) { background: #fff4e5; border-color: #F79303; }
.nvbb-bag__fabric:has(input:focus-visible) { outline: 2px solid #F79303; outline-offset: 2px; }
.nvbb-bag__warn { margin: 12px 0 0; padding: 10px 14px; font-weight: 600; color: #8a3b12; background: #fff4e5; border-left: 4px solid #C8551B; border-radius: 8px; }
.nvbb-bag__warn[hidden] { display: none; }

.nvbb-bag__opts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.nvbb-bag__opts + .nvbb-bag__opts { margin-top: 10px; }
.nvbb-bag__opt { position: relative; cursor: pointer; }
.nvbb-bag__opt span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; font-weight: 700; color: #013C80; background: #fff; border: 1px solid var(--mdaa-line, #dde3ec); border-radius: 999px; }
.nvbb-bag__opt input:checked + span { color: #fff; background: #013C80; border-color: #013C80; }
.nvbb-bag__opt input:focus-visible + span { outline: 2px solid #F79303; outline-offset: 2px; }

.nvbb-bag__sum { padding: 24px; color: #fff; background: #013C80; border-radius: 16px; }
.nvbb-bag__sum h2 { margin: 0 0 12px; font-size: 1.3rem; color: #fff; }
.nvbb-bag__sum h3 { margin: 22px 0 10px; font-size: 1.05rem; color: #FBC98A; }
.nvbb-bag__lines { display: grid; gap: 6px; margin: 0; }
.nvbb-bag__lines > div { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 6px; border-bottom: 1px dashed rgba(255, 255, 255, .22); }
.nvbb-bag__lines dt { color: #cddbe9; }
.nvbb-bag__lines dd { margin: 0; font-weight: 600; white-space: nowrap; }
.nvbb-bag__total { display: flex; justify-content: space-between; align-items: baseline; margin: 12px 0 4px; font-size: 1.1rem; }
.nvbb-bag__total strong { font-family: var(--mdaa-font-display, inherit); font-size: 1.8rem; color: #FBC98A; }
.nvbb-bag__yards { margin: 0; font-size: 13px; color: #cddbe9; }
.nvbb-bag__time { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; counter-reset: bagstep; }
.nvbb-bag__time li { display: flex; align-items: center; gap: 12px; padding: 10px 12px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .14); border-radius: 12px; }
.nvbb-bag__time-ic { display: grid; place-items: center; flex: none; width: 36px; height: 36px; color: #12202e; background: #F79303; border-radius: 10px; }
.nvbb-bag__time-ic svg { width: 20px; height: 20px; }
.nvbb-bag__time-b { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
.nvbb-bag__time-b small { font-size: 12.5px; color: #cddbe9; }
.nvbb-bag__time-d { flex: none; font-weight: 800; color: #FBC98A; white-space: nowrap; }
.nvbb-bag__eta { margin: 14px 0 18px; color: #cddbe9; }
.nvbb-bag__eta strong { color: #fff; }
.nvbb-bag__order { width: 100%; justify-content: center; }
.nvbb-bag__order.is-disabled { opacity: .5; cursor: not-allowed; }
.nvbb-bag__fine { margin: 12px 0 0; font-size: 12.5px; color: #cddbe9; }

@media (max-width: 900px) {
    .nvbb-bag__layout { grid-template-columns: minmax(0, 1fr); }
    .nvbb-bag__preview { position: static; }
    .nvbb-bag__stage { max-width: 380px; margin-inline: auto; }
}

/* =====================================================================
   139. SACS SUR MESURE : PANIER, COMMANDE, SUIVI — 30/09/2026
   /{lang}/sacs-sur-mesure/panier et /{lang}/sacs-sur-mesure/commande/{code}
   Bandeau d'information, ajout au panier avec quantité, lignes du panier
   avec aperçu du sac, formulaire de livraison, récapitulatif collant,
   étapes de fabrication et d'envoi.
   ===================================================================== */
.nvbb-bag-hero--slim { padding: 32px 0 36px; }
.nvbb-bag__bar {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px;
    margin: 0 0 20px; padding: 12px 16px;
    font-weight: 600; color: #013C80;
    background: #eef3fa; border-left: 4px solid #013C80; border-radius: 10px;
}
.nvbb-bag__bar a { font-weight: 800; color: #013C80; text-decoration: underline; text-underline-offset: 3px; }
.nvbb-bag__bar a:hover { color: #C8551B; }
.nvbb-bag__bar--err { color: #8a3b12; background: #fff4e5; border-left-color: #C8551B; }

/* Ajout au panier (page de choix) */
.nvbb-bag__buy { display: flex; align-items: stretch; gap: 10px; }
.nvbb-bag__qty { display: flex; flex-direction: column; gap: 2px; flex: none; width: 92px; }
.nvbb-bag__qty span { font-size: 12px; color: #cddbe9; }
.nvbb-bag__qty input {
    width: 100%; min-height: 44px; padding: 0 10px;
    font: inherit; font-weight: 700; text-align: center; color: #12202e;
    background: #fff; border: 1px solid #fff; border-radius: 10px;
}
.nvbb-bag__buy .nvbb-bag__order { flex: 1 1 auto; align-self: flex-end; min-height: 44px; }
button.nvbb-bag__order { border: 0; cursor: pointer; font: inherit; }
button.nvbb-bag__order:disabled { opacity: .5; cursor: not-allowed; }

/* Panier */
.nvbb-bagc__back { margin: 0 0 16px; }
.nvbb-bagc__back a { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: #013C80; text-decoration: none; }
.nvbb-bagc__back a:hover { color: #C8551B; }
.nvbb-bagc__empty { display: grid; justify-items: center; gap: 14px; padding: 48px 20px; text-align: center; background: #fff; border: 1px dashed var(--mdaa-line, #dde3ec); border-radius: 16px; }
.nvbb-bagc__empty p { margin: 0; font-size: 1.05rem; color: var(--mdaa-ink-soft, #4a5568); }
.nvbb-bagc__layout { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: var(--mdaa-sp-6, 32px); align-items: start; }
.nvbb-bagc__main { display: grid; gap: var(--mdaa-sp-5, 24px); min-width: 0; }
.nvbb-bagc__h { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; font-size: 1.1rem; font-weight: 800; color: #013C80; }
.nvbb-bagc__lines { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.nvbb-bagc__line {
    display: grid; grid-template-columns: 84px minmax(0, 1fr) auto auto; align-items: center; gap: 14px;
    padding: 10px 12px; background: #f8fafd; border: 1px solid var(--mdaa-line, #dde3ec); border-radius: 14px;
}
.nvbb-bagc__line.is-short { border-color: #C8551B; background: #fff4e5; }
.nvbb-bagc__pv { width: 84px; aspect-ratio: 1 / 1; display: grid; place-items: center; background: radial-gradient(circle at 50% 40%, #fff4e5 0, #eef3fa 75%); border-radius: 12px; }
.nvbb-bagc__pv .nvbb-bag-svg { width: 100%; }
.nvbb-bagc__info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.nvbb-bagc__info strong { color: #013C80; }
.nvbb-bagc__info span { font-size: 14px; color: var(--mdaa-ink, #12202e); overflow-wrap: anywhere; }
.nvbb-bagc__info small { font-size: 13px; color: var(--mdaa-ink-faint, #6b7a90); }
.nvbb-bagc__info .nvbb-bagc__short { font-weight: 700; color: #8a3b12; }
.nvbb-bagc__qty { display: flex; align-items: center; gap: 6px; margin: 0; }
.nvbb-bagc__qty input { width: 64px; min-height: 40px; padding: 0 6px; font: inherit; font-weight: 700; text-align: center; border: 1px solid var(--mdaa-line, #dde3ec); border-radius: 10px; }
.nvbb-bagc__upd { min-height: 40px; padding: 0 12px; font: inherit; font-size: 13px; font-weight: 700; color: #013C80; background: #fff; border: 1px solid var(--mdaa-line, #dde3ec); border-radius: 10px; cursor: pointer; }
.nvbb-bagc__rm { display: grid; place-items: center; width: 40px; height: 40px; color: #8a3b12; background: transparent; border: 1px solid transparent; border-radius: 10px; cursor: pointer; }
.nvbb-bagc__rm:hover, .nvbb-bagc__rm:focus-visible { background: #fff4e5; border-color: #C8551B; }
.nvbb-bagc__lt { min-width: 84px; text-align: right; font-size: 1.05rem; color: #013C80; white-space: nowrap; }

.nvbb-bagc__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.nvbb-bagc__f { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.nvbb-bagc__f--full { grid-column: 1 / -1; }
.nvbb-bagc__f > label, .nvbb-bagc__lbl { font-size: 14px; font-weight: 700; color: var(--mdaa-ink, #12202e); }
.nvbb-bagc__f > input:not([type="checkbox"]), .nvbb-bagc__f > select, .nvbb-bagc__f > textarea,
.nvbb-bagc__f > .nvbb-combo > input.nvbb-combo__input {
    width: 100%; min-height: 46px; padding: 10px 14px;
    font: inherit; color: var(--mdaa-ink, #12202e);
    background-color: #fff; border: 1px solid var(--mdaa-line, #dde3ec); border-radius: 10px;
}
.nvbb-bagc__f > .nvbb-combo > input.nvbb-combo__input { padding-right: 44px; }
.nvbb-bagc__f > textarea { min-height: 90px; resize: vertical; }
.nvbb-bagc__f > input + input { margin-top: 4px; }
.nvbb-bagc__f > input:focus, .nvbb-bagc__f > select:focus, .nvbb-bagc__f > textarea:focus,
.nvbb-bagc__f > .nvbb-combo > input.nvbb-combo__input:focus { outline: 2px solid #F79303; outline-offset: 1px; border-color: #F79303; }
.nvbb-bagc__f [aria-invalid="true"] { border-color: #C8551B; background-color: #fffaf3; }
.nvbb-bagc__err { font-size: 13px; font-weight: 700; color: #8a3b12; }
.nvbb-bagc__hint { font-size: 12.5px; color: var(--mdaa-ink-faint, #6b7a90); }
.nvbb-bagc__check { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; font-size: 14px; line-height: 1.5; background: #fff4e5; border-radius: 10px; cursor: pointer; }
.nvbb-bagc__check input { flex: none; width: 20px; height: 20px; margin-top: 2px; accent-color: #013C80; }
.nvbb-bagc__sum { position: sticky; top: 150px; }
.nvbb-bagc__sum .nvbb-bag__order { width: 100%; justify-content: center; }

/* Suivi de commande */
.nvbb-bago__nf { margin: 0; font-size: 1.5rem; color: #013C80; }
.nvbb-bago__msg { margin: 0 0 14px; line-height: 1.55; }
.nvbb-bago__state .mdaa-hp-btn { margin-top: 4px; }
.nvbb-bago__flow { display: grid; gap: 0; margin: 0 0 8px; padding: 0; list-style: none; }
.nvbb-bago__flow li { position: relative; display: grid; grid-template-columns: 28px minmax(0, 1fr); column-gap: 12px; padding: 0 0 18px; color: var(--mdaa-ink-faint, #6b7a90); }
.nvbb-bago__flow li::before { content: ""; position: absolute; left: 13px; top: 28px; bottom: 0; width: 2px; background: var(--mdaa-line, #dde3ec); }
.nvbb-bago__flow li:last-child { padding-bottom: 0; }
.nvbb-bago__flow li:last-child::before { display: none; }
.nvbb-bago__dot { grid-row: span 2; display: grid; place-items: center; width: 28px; height: 28px; color: #fff; background: #fff; border: 2px solid var(--mdaa-line, #dde3ec); border-radius: 50%; }
.nvbb-bago__flow strong { align-self: center; font-weight: 700; }
.nvbb-bago__flow small { font-size: 13px; }
.nvbb-bago__flow li.is-done { color: var(--mdaa-ink, #12202e); }
.nvbb-bago__flow li.is-done::before { background: #013C80; }
.nvbb-bago__flow li.is-done .nvbb-bago__dot { background: #013C80; border-color: #013C80; }
.nvbb-bago__flow li.is-now { color: #013C80; }
.nvbb-bago__flow li.is-now .nvbb-bago__dot { background: #F79303; border-color: #F79303; box-shadow: 0 0 0 5px rgba(247, 147, 3, .22); }
.nvbb-bago__flow li.is-now strong { font-weight: 800; }
.nvbb-bago__addr { margin: 0 0 18px; line-height: 1.55; color: #fff; }
.nvbb-bago__inv { --btn-fg: #fff; --btn-bd: rgba(255, 255, 255, .5); }
.nvbb-bago__inv:hover { --btn-bg: rgba(255, 255, 255, .12); --btn-bd: #fff; --btn-fg: #fff; }

@media (max-width: 900px) {
    .nvbb-bagc__layout { grid-template-columns: minmax(0, 1fr); }
    .nvbb-bagc__sum { position: static; }
}
@media (max-width: 600px) {
    .nvbb-bagc__grid { grid-template-columns: minmax(0, 1fr); }
    .nvbb-bagc__line { grid-template-columns: 64px minmax(0, 1fr) auto; }
    .nvbb-bagc__pv { width: 64px; }
    .nvbb-bagc__qty { grid-column: 2 / 3; }
    .nvbb-bagc__lt { grid-column: 3 / 4; grid-row: 1 / 2; min-width: 0; }
    .nvbb-bag__buy { flex-wrap: wrap; }
}

/* =====================================================================
   140. FICHE D'UN TISSU POUR SAC (sale_mode = 'bag_fabric') — 30/09/2026
   Prix « Sac sur mesure à partir de … » et bouton vers la page Sacs sur mesure
   à la place du stock et de l'ajout au panier.
   ===================================================================== */
.nvbb-pd-bag__price { display: flex; flex-direction: column; gap: 2px; }
.nvbb-pd-bag__from { font-size: 13px; font-weight: 700; letter-spacing: .02em; color: var(--mdaa-ink-soft, #4a5568); }
.nvbb-pd-bag { display: grid; gap: 14px; margin: 6px 0 4px; }
.nvbb-pd-bag__txt { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 12px 14px; font-size: 14px; line-height: 1.5; color: #013C80; background: #fff4e5; border-left: 4px solid #F79303; border-radius: 10px; }
.nvbb-pd-bag__txt svg { flex: none; margin-top: 1px; color: #C8551B; }
.nvbb-pd-bag__btn { width: 100%; justify-content: center; text-decoration: none; }

/* =====================================================================
   141. ADMIN « SACS SUR MESURE » (/{lang}/admin/sacs) — 30/09/2026
   Onglets, filtres des commandes, cartes de saisie (modèles, fournitures,
   tissus, réglages), fiche d'une commande (étapes, envoi, paiement).
   Reprend les tableaux et boutons des sections 104-105.
   ===================================================================== */
.nvbb-bagadm-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 18px; padding-bottom: 2px; border-bottom: 2px solid #e3e9f2; }
.nvbb-bagadm-tab { display: inline-flex; align-items: center; gap: 8px; margin-bottom: -4px; padding: 10px 16px; font-weight: 700; color: #4a5b73; text-decoration: none; border-bottom: 4px solid transparent; }
.nvbb-bagadm-tab svg { width: 18px; height: 18px; }
.nvbb-bagadm-tab:hover { color: #013C80; }
.nvbb-bagadm-tab.is-active { color: #013C80; border-bottom-color: #F79303; }
.nvbb-bagadm-ro { display: flex; align-items: center; gap: 8px; margin: 0 0 16px; padding: 10px 14px; font-size: 14px; color: #5b6b82; background: #f4f7fb; border-radius: 10px; }
.nvbb-bagadm-ro svg { width: 16px; height: 16px; }
.nvbb-bagadm-help { max-width: 90ch; margin: 0 0 16px; font-size: 14px; line-height: 1.55; color: var(--mdaa-ink-soft, #4a5568); }
.nvbb-bagadm-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.nvbb-bagadm-chip { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; font-size: 14px; font-weight: 700; color: #013C80; text-decoration: none; background: #fff; border: 1px solid #d5deea; border-radius: 999px; }
.nvbb-bagadm-chip span { min-width: 22px; padding: 0 6px; font-size: 12px; text-align: center; color: #013C80; background: #eef3fa; border-radius: 999px; }
.nvbb-bagadm-chip.is-active { color: #fff; background: #013C80; border-color: #013C80; }
.nvbb-bagadm-chip.is-active span { color: #01203f; background: #F79303; }
.nvbb-bagadm-empty { padding: 28px; text-align: center; color: #5b6b82; background: #fff; border: 1px dashed #d5deea; border-radius: 12px; }
.nvbb-bagadm-st { display: inline-block; padding: 2px 10px; font-size: 12px; font-weight: 700; color: #013C80; background: #eef3fa; border-radius: 999px; white-space: nowrap; vertical-align: middle; }
.nvbb-bagadm-st--paid { color: #01203f; background: #F79303; }
.nvbb-bagadm-st--in_production, .nvbb-bagadm-st--collecting, .nvbb-bagadm-st--packing { color: #7a3a00; background: #fff1dc; }
.nvbb-bagadm-st--shipped, .nvbb-bagadm-st--delivered { color: #1c6b3d; background: #e8f6ee; }
.nvbb-bagadm-st--cancelled, .nvbb-bagadm-st--refunded { color: #5b6b82; background: #eceff3; }
.mdaa-admin-orders-hero__title .nvbb-bagadm-st { font-size: 13px; }

.nvbb-bagadm-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 520px), 1fr)); gap: 16px; }
.nvbb-bagadm-cards--sm { grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); }
.nvbb-bagadm-card { display: grid; gap: 12px; align-content: start; margin: 0; padding: 16px 18px; background: #fff; border: 0; border-top: 3px solid #013C80; border-radius: 12px; box-shadow: 0 1px 3px rgba(1, 60, 128, .08); scroll-margin-top: 170px; }
.nvbb-bagadm-card h2, .nvbb-bagadm-card legend { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; padding: 0; font-size: 1rem; font-weight: 800; color: #013C80; }
.nvbb-bagadm-card legend { float: left; width: 100%; margin-bottom: 12px; }
.nvbb-bagadm-card legend + * { clear: both; }
.nvbb-bagadm-card h2 svg { width: 18px; height: 18px; }
.nvbb-bagadm-card code { font-size: 11px; font-weight: 600; color: #525f71; }
.nvbb-bagadm-card.is-new { border-top-color: #F79303; background: #fffaf3; }
.nvbb-bagadm-card.is-off { background: #f6f8fb; border-style: dashed; } /* 01/10/2026 : plus d'opacité (contraste des textes, WCAG 1.4.3) */
.nvbb-bagadm-card.is-bag { border-top-color: #F79303; }
.nvbb-bagadm-grid2, .nvbb-bagadm-grid3, .nvbb-bagadm-grid4, .nvbb-bagadm-stack { display: grid; gap: 10px 12px; }
.nvbb-bagadm-grid2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nvbb-bagadm-grid3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nvbb-bagadm-grid4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.nvbb-bagadm-f { display: flex; flex-direction: column; justify-content: space-between; gap: 4px; min-width: 0; }
.nvbb-bagadm-f > span { font-size: 12px; font-weight: 700; color: #4a5b73; }
.nvbb-bagadm-f input, .nvbb-bagadm-in, .nvbb-bagadm-ta {
    width: 100%; min-height: 40px; padding: 8px 10px;
    font: inherit; font-size: 14px; color: var(--mdaa-ink, #12202e);
    background: #fff; border: 1px solid #d5deea; border-radius: 8px;
}
.nvbb-bagadm-ta { min-height: 80px; resize: vertical; }
.nvbb-bagadm-f input:focus, .nvbb-bagadm-in:focus, .nvbb-bagadm-ta:focus { outline: 2px solid #F79303; outline-offset: 1px; border-color: #F79303; }
.nvbb-bagadm-f input:disabled, .nvbb-bagadm-ta:disabled { color: #5b6b82; background: #f4f7fb; }
.nvbb-bagadm-opts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.nvbb-bagadm-opts > label { position: relative; cursor: pointer; }
.nvbb-bagadm-opts > label > input[type="radio"] { position: absolute; opacity: 0; pointer-events: none; }
.nvbb-bagadm-opts > label > input[type="radio"] + span { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; font-size: 13px; font-weight: 700; color: #013C80; background: #fff; border: 1px solid #d5deea; border-radius: 999px; }
.nvbb-bagadm-opts > label > input[type="radio"]:checked + span { color: #fff; background: #013C80; border-color: #013C80; }
.nvbb-bagadm-opts > label > input[type="radio"]:focus-visible + span { outline: 2px solid #F79303; outline-offset: 2px; }
.nvbb-bagadm-opts > label > input[type="radio"]:disabled + span { cursor: default; opacity: .75; }
.nvbb-bagadm-qty { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; color: #4a5b73; }
.nvbb-bagadm-qty input { width: 64px; min-height: 36px; padding: 0 8px; font: inherit; border: 1px solid #d5deea; border-radius: 8px; }
.nvbb-bagadm-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding-top: 10px; border-top: 1px solid #eef1f5; }
.nvbb-bagadm-check { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; cursor: pointer; }
.nvbb-bagadm-check input { width: 18px; height: 18px; accent-color: #013C80; }
.nvbb-bagadm-fab__head { display: flex; align-items: center; gap: 12px; }
.nvbb-bagadm-fab__head img, .nvbb-bagadm-fab__noimg { flex: none; width: 64px; height: 64px; object-fit: cover; border-radius: 10px; }
.nvbb-bagadm-fab__noimg { display: grid; place-items: center; color: #525f71; background: #f4f7fb; }
.nvbb-bagadm-settings { display: grid; gap: 16px; max-width: 980px; }

.nvbb-bagadm-detail { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.nvbb-bagadm-detail__main, .nvbb-bagadm-detail__side { display: grid; gap: 16px; min-width: 0; }
.nvbb-bagadm-flow { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 14px; padding: 0; list-style: none; counter-reset: bagflow; }
.nvbb-bagadm-flow li { counter-increment: bagflow; display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px 6px 6px; font-size: 13px; font-weight: 700; color: #525f71; background: #f4f7fb; border-radius: 999px; }
.nvbb-bagadm-flow li::before { content: counter(bagflow); display: grid; place-items: center; width: 22px; height: 22px; font-size: 12px; color: #fff; background: #c5cfdc; border-radius: 50%; }
.nvbb-bagadm-flow li.is-done { color: #013C80; background: #eef3fa; }
.nvbb-bagadm-flow li.is-done::before { background: #013C80; }
.nvbb-bagadm-flow li.is-now { color: #01203f; background: #fff1dc; box-shadow: 0 0 0 2px #F79303 inset; }
.nvbb-bagadm-flow li.is-now::before { color: #01203f; background: #F79303; }
.nvbb-bagadm-h3 { margin: 16px 0 8px; font-size: 13px; text-transform: uppercase; letter-spacing: .05em; color: #5b6b82; }
.nvbb-bagadm-list { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; font-size: 14px; }
.nvbb-bagadm-list li { padding: 8px 12px; background: #fff8ee; border-left: 3px solid #F79303; border-radius: 6px; }
.nvbb-bagadm-list code { font-size: 11px; color: #525f71; }
.nvbb-bagadm-note { margin: 12px 0 0; padding: 10px 12px; font-size: 14px; background: #f4f7fb; border-radius: 8px; }
.nvbb-bagadm-addr { line-height: 1.55; }
.nvbb-bagadm-dl { display: grid; gap: 4px; margin: 0 0 10px; }
.nvbb-bagadm-dl > div { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; }
.nvbb-bagadm-dl dt { color: #5b6b82; }
.nvbb-bagadm-dl dd { margin: 0; font-weight: 700; white-space: nowrap; }
.nvbb-bagadm-dl .is-total { padding-top: 6px; border-top: 1px solid #eef1f5; font-size: 1.05rem; }
.nvbb-bagadm-dl .is-total dd { color: #013C80; }
.nvbb-bagadm-danger { border-top-color: #c53030; }

@media (max-width: 960px) {
    .nvbb-bagadm-detail { grid-template-columns: minmax(0, 1fr); }
    .nvbb-bagadm-grid4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nvbb-bagadm-grid3 { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
    .nvbb-bagadm-grid2, .nvbb-bagadm-grid4 { grid-template-columns: minmax(0, 1fr); }
    .nvbb-bagadm-tab { padding: 8px 10px; font-size: 14px; }
}

/* =====================================================================
   142. PAIEMENT SELON LE PAYS DE LIVRAISON — 30/09/2026
   Page de commande (ligne « Paiement »), page de paiement Mollie (montant en
   euros, bouton vers Mollie), admin « Paiements » (/{lang}/admin/paiements).
   ===================================================================== */
.nvbb-pay-method { display: flex; align-items: flex-start; gap: 8px; margin: 12px 0; padding: 10px 12px; font-size: 14px; line-height: 1.45; color: #013C80; background: #eef3fa; border-left: 4px solid #013C80; border-radius: 8px; }
.nvbb-pay-method[hidden] { display: none; }
.nvbb-pay-method svg { flex: none; margin-top: 2px; }
.nvbb-pay-eur { display: grid; gap: 2px; margin: 14px 0; padding: 12px 14px; text-align: center; background: #fff4e5; border: 1px solid #F79303; border-radius: 12px; }
.nvbb-pay-eur span { font-size: 13px; font-weight: 700; color: #4a5568; }
.nvbb-pay-eur strong { font-size: 1.6rem; color: #013C80; }
.nvbb-pay-eur small { font-size: 12px; color: #6b7a90; }
a.nvbb-pay-mollie-btn { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; text-decoration: none; }

.nvbb-payadm-status { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 16px; margin: 0 0 18px; }
.nvbb-payadm-prov.is-ready { border-top-color: #1c6b3d; }
.nvbb-payadm-prov.is-ready .nvbb-areg-card__main { color: #1c6b3d; }
.nvbb-payadm-prov.is-off { border-top-color: #c53030; }
.nvbb-payadm-prov.is-off .nvbb-areg-card__main { color: #c53030; }
.nvbb-payadm-zones { max-width: 980px; margin-bottom: 18px; }
.nvbb-payadm-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 12px 0; border-bottom: 1px solid #eef1f5; }
.nvbb-payadm-row:last-of-type { border-bottom: 0; }
.nvbb-payadm-row code { font-size: 11px; color: #525f71; }
.nvbb-payadm-row__end { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.nvbb-payadm-add { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; padding-top: 12px; border-top: 1px solid #eef1f5; }
.nvbb-payadm-add .nvbb-bagadm-f { flex: 1 1 240px; }
.nvbb-payadm-add select { width: 100%; min-height: 40px; padding: 8px 10px; font: inherit; border: 1px solid #d5deea; border-radius: 8px; }

/* =====================================================================
   143. BOUTIQUES MULTICULTURELLES PAR RÉGION — 30/09/2026
   /{lang}/boutiques (« Boutiques africaines près de chez vous »), section
   des boutiques sur la page d'une région, carte « Région NVBB » de la fiche
   admin d'une boutique.
   ===================================================================== */
.nvbb-rshop-stats { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; }
.nvbb-rshop-stats li { display: inline-flex; align-items: baseline; gap: 6px; padding: 8px 14px; color: #fff; background: rgba(1, 32, 63, .55); border: 1px solid rgba(255, 255, 255, .25); border-radius: 999px; }
.nvbb-rshop-stats strong { font-size: 1.2rem; color: #FBC98A; }
.nvbb-rshop { padding-block: var(--mdaa-sp-7, 40px); }
.nvbb-rshop-h2 { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0; font-size: 1.35rem; color: #013C80; }
.nvbb-rshop-why { margin-bottom: 36px; }
.nvbb-rshop-why .nvbb-rshop-h2 { margin-bottom: 16px; }
.nvbb-rshop-why__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 16px; }
.nvbb-rshop-why__card { display: flex; flex-direction: column; gap: 8px; padding: 20px; background: #fff; border: 1px solid var(--mdaa-line, #dde3ec); border-top: 4px solid #F79303; border-radius: 14px; }
.nvbb-rshop-why__card h3 { margin: 0; font-size: 1.05rem; color: #013C80; }
.nvbb-rshop-why__card p { margin: 0; line-height: 1.55; color: var(--mdaa-ink-soft, #4a5568); }
.nvbb-rshop-why__ic { display: grid; place-items: center; width: 42px; height: 42px; color: #fff; background: #013C80; border-radius: 12px; }
.nvbb-rshop-why__ic svg { width: 22px; height: 22px; }
.nvbb-rshop-sdg { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto !important; padding-top: 6px; }
.nvbb-rshop-sdg span { padding: 3px 10px; font-size: 12px; font-weight: 700; color: #013C80; background: #eef3fa; border-radius: 999px; }
.nvbb-rshop-group { margin: 0 0 36px; }
.nvbb-rshop-group__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px 20px; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 2px solid #e3e9f2; }
.nvbb-rshop-group__type { display: block; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #a3420f; }
.nvbb-rshop-group__note { max-width: 70ch; margin: 6px 0 0; font-size: 14px; line-height: 1.5; color: var(--mdaa-ink-soft, #4a5568); }
.nvbb-rshop-group__link { font-weight: 700; color: #013C80; text-decoration: underline; text-underline-offset: 3px; }
.nvbb-rshop-group__link:hover { color: #C8551B; }
.mbae-shop-card.is-pilot { box-shadow: 0 0 0 2px #F79303; }
.nvbb-rshop-badge { display: inline-flex; align-items: center; gap: 5px; align-self: flex-start; margin: 10px 16px 0; padding: 3px 10px; font-size: 12px; font-weight: 700; color: #013C80; background: #eef3fa; border-radius: 999px; text-decoration: none; }
.nvbb-rshop-badge.is-pilot { color: #01203f; background: #F79303; }
.nvbb-rpub-artisan__body .nvbb-rshop-badge { margin: 2px 0; }
.nvbb-rshop-join { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; padding: 24px; color: #fff; background: #013C80; border-radius: 16px; }
.nvbb-rshop-join .nvbb-rshop-h2 { color: #fff; }
.nvbb-rshop-join p { max-width: 70ch; margin: 8px 0 0; line-height: 1.55; color: #cddbe9; }
.nvbb-rshop-region { margin-top: 32px; }
.nvbb-rshop-region__lead { max-width: 75ch; margin: -6px 0 14px; color: var(--mdaa-ink-soft, #4a5568); }
.nvbb-rshop-item.is-pilot { border-color: #F79303; }
.nvbb-rshop-adm { display: grid; gap: 8px; }
.nvbb-rshop-adm label { font-size: 12px; font-weight: 700; }
.nvbb-rshop-adm select { width: 100%; padding: 8px 10px; font: inherit; border: 1px solid #d5deea; border-radius: 8px; }
.nvbb-rshop-adm__check { display: flex; align-items: center; gap: 8px; font-size: 13px !important; font-weight: 600 !important; }

/* =====================================================================
   144. RENDEZ-VOUS — 30/09/2026
   Page « Prendre rendez-vous » (visioconférence ou chez le client, jours et heures
   libres de Google Agenda), récapitulatif du visiteur, admin « Rendez-vous ».
   Puces à choix (.nvbb-rdv-chip) et étapes (.nvbb-rdv-step) reprises par
   l'inscription d'une boutique (section 145).
   ===================================================================== */
.nvbb-rdv-hero__facts { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 16px 0 0; padding: 0; list-style: none; font-size: 14px; font-weight: 600; color: #fff; }
.nvbb-rdv-hero__facts li { display: inline-flex; align-items: center; gap: 8px; }
.nvbb-rdv-hero__facts svg { width: 20px; height: 20px; color: #F79303; }
.nvbb-rdv { max-width: 980px; padding-top: 28px; padding-bottom: 48px; }
.nvbb-rdv-noreception { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 22px; padding: 12px 16px; font-size: 14px; line-height: 1.5; color: #01203f; background: #fff4e5; border-left: 4px solid #F79303; border-radius: 10px; }
.nvbb-rdv-noreception svg { flex: none; margin-top: 1px; color: #F79303; }
.nvbb-rdv-form { display: grid; gap: 18px; }
.nvbb-rdv-step { min-width: 0; margin: 0; padding: 18px 20px 20px; background: #fff; border: 1px solid #e3e9f2; border-radius: 14px; box-shadow: 0 1px 3px rgba(1, 60, 128, .06); }
.nvbb-rdv-step.is-invalid { border-color: var(--mdaa-danger, #c0392b); background: #fff; }
.nvbb-rdv-step__t { display: flex; align-items: center; gap: 10px; float: left; width: 100%; margin: 0 0 14px; padding: 0; font-size: 1.08rem; font-weight: 800; color: #013C80; }
.nvbb-rdv-step__t + * { clear: both; }
.nvbb-rdv-step__n { display: grid; place-items: center; flex: none; width: 28px; height: 28px; font-size: 14px; color: #01203f; background: #F79303; border-radius: 50%; }
.nvbb-rdv-err { margin: 6px 0 0; font-size: 14px; font-weight: 600; color: var(--mdaa-danger, #c0392b); }
.nvbb-rdv-hint { margin: 10px 0 0; font-size: 13px; line-height: 1.5; color: #5b6b82; }
.nvbb-rdv-muted { font-size: 14px; color: #5b6b82; }

/* Type de rendez-vous : deux grandes cartes */
.nvbb-rdv-modes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 12px; }
.nvbb-rdv-mode { position: relative; cursor: pointer; }
.nvbb-rdv-mode input { position: absolute; opacity: 0; pointer-events: none; }
.nvbb-rdv-mode__box { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 14px; align-items: center; height: 100%; padding: 16px 18px; background: #f7f9fc; border: 2px solid #d5deea; border-radius: 12px; transition: border-color .15s, background .15s; }
.nvbb-rdv-mode__ic { grid-row: span 2; display: grid; place-items: center; width: 52px; height: 52px; color: #013C80; background: #fff; border-radius: 12px; }
.nvbb-rdv-mode__box strong { font-size: 1.02rem; color: #013C80; }
.nvbb-rdv-mode__box > span:last-child { font-size: 13px; color: #5b6b82; }
.nvbb-rdv-mode:hover .nvbb-rdv-mode__box { border-color: #F79303; }
.nvbb-rdv-mode input:checked + .nvbb-rdv-mode__box { background: #fff4e5; border-color: #F79303; box-shadow: 0 0 0 1px #F79303 inset; }
.nvbb-rdv-mode input:checked + .nvbb-rdv-mode__box .nvbb-rdv-mode__ic { color: #01203f; background: #F79303; }
.nvbb-rdv-mode input:focus-visible + .nvbb-rdv-mode__box { outline: 2px solid #013C80; outline-offset: 2px; }

/* Puces à choix (radio ou case à cocher natives) */
.nvbb-rdv-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.nvbb-rdv-chip { position: relative; cursor: pointer; }
.nvbb-rdv-chip[hidden] { display: none; }
.nvbb-rdv-chip input { position: absolute; opacity: 0; pointer-events: none; }
.nvbb-rdv-chip > span { display: inline-flex; flex-direction: column; justify-content: center; min-height: 40px; padding: 6px 16px; font-size: 14px; font-weight: 700; line-height: 1.25; color: #013C80; background: #fff; border: 1px solid #c9d6e8; border-radius: 999px; transition: border-color .15s, background .15s; }
.nvbb-rdv-chip > span small { font-size: 11px; font-weight: 700; color: #8a4b00; }
.nvbb-rdv-chip:hover > span { border-color: #F79303; }
.nvbb-rdv-chip input:checked + span { color: #01203f; background: #fff4e5; border-color: #F79303; box-shadow: 0 0 0 1px #F79303 inset; }
.nvbb-rdv-chip input:focus-visible + span { outline: 2px solid #013C80; outline-offset: 2px; }
.nvbb-rdv-chip--time > span { min-width: 78px; align-items: center; border-radius: 10px; font-variant-numeric: tabular-nums; }
.nvbb-rdv-chip--time > span small { font-weight: 600; color: #5b6b82; }
.nvbb-rdv-chip--time input:checked + span { color: #fff; background: #013C80; border-color: #013C80; box-shadow: none; }
.nvbb-rdv-chip--time input:checked + span small { color: #ffd9a3; }

/* Jours et heures */
.nvbb-rdv-tz { display: flex; align-items: center; gap: 6px; margin: 0 0 12px; font-size: 13px; color: #5b6b82; }
.nvbb-rdv-tz svg { flex: none; color: #F79303; }
.nvbb-rdv-slots[hidden], .nvbb-rdv-days[hidden], .nvbb-rdv-daygroup[hidden], .nvbb-rdv-daygroup__t[hidden] { display: none; }
.nvbb-rdv-days { display: flex; gap: 8px; margin: 0 0 14px; padding: 2px 2px 8px; overflow-x: auto; scroll-snap-type: x proximity; }
.nvbb-rdv-day { flex: none; display: grid; gap: 2px; min-width: 96px; padding: 10px 12px; font: inherit; text-align: center; color: #013C80; background: #f7f9fc; border: 1px solid #d5deea; border-radius: 12px; cursor: pointer; scroll-snap-align: start; }
.nvbb-rdv-day:hover { border-color: #F79303; }
.nvbb-rdv-day.is-on { color: #01203f; background: #fff4e5; border-color: #F79303; box-shadow: 0 0 0 1px #F79303 inset; }
.nvbb-rdv-day:focus-visible { outline: 2px solid #013C80; outline-offset: 2px; }
.nvbb-rdv-day__w { display: block; font-size: 14px; font-weight: 800; }
.nvbb-rdv-day__w::first-letter, .nvbb-rdv-daygroup__t::first-letter { text-transform: uppercase; }
.nvbb-rdv-day__n { font-size: 12px; color: #5b6b82; }
.nvbb-rdv-daygroup + .nvbb-rdv-daygroup { margin-top: 14px; }
.nvbb-rdv-daygroup__t { margin: 0 0 8px; font-weight: 800; color: #013C80; }
.nvbb-rdv-daygroup__t svg { margin-right: 6px; vertical-align: -3px; color: #F79303; }
.nvbb-rdv-empty { margin: 0; padding: 14px 16px; color: #5b6b82; background: #f7f9fc; border: 1px dashed #c9d6e8; border-radius: 10px; }

/* Coordonnées */
.nvbb-rdv-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.nvbb-rdv-grid__full { grid-column: 1 / -1; }
.nvbb-rdv-onsite { margin: 6px 0 16px; padding: 14px 16px 4px; background: #f7f9fc; border-left: 4px solid #013C80; border-radius: 10px; }
.nvbb-rdv-onsite[hidden] { display: none; }
.nvbb-rdv-onsite__t { display: flex; align-items: center; gap: 6px; margin: 0 0 10px; font-weight: 800; color: #013C80; }
.nvbb-rdv-onsite .nvbb-rdv-hint { margin: 0 0 12px; }
.nvbb-rdv-fixed { margin: 0; padding: 9px 12px; font-weight: 700; color: #013C80; background: #fff; border: 1px solid #d5deea; border-radius: 8px; }
.nvbb-rdv-send { display: grid; gap: 12px; }
.nvbb-rdv-summary { margin: 0; padding: 10px 14px; font-weight: 700; color: #01203f; background: #fff4e5; border-radius: 10px; }
.nvbb-rdv-summary[hidden] { display: none; }
.nvbb-rdv-submit { display: inline-flex; align-items: center; justify-content: center; gap: 8px; justify-self: start; }
[data-rdv-onsite-only][hidden] { display: none; }

/* Récapitulatif du visiteur */
.nvbb-rdv--detail { max-width: 720px; padding-top: 40px; }
.nvbb-rdv-card { position: relative; padding: 26px 24px 22px; background: #fff; border-top: 4px solid #013C80; border-radius: 14px; box-shadow: 0 2px 10px rgba(1, 60, 128, .08); }
.nvbb-rdv-card.is-confirmed { border-top-color: #1c6b3d; }
.nvbb-rdv-card.is-requested { border-top-color: #F79303; }
.nvbb-rdv-card.is-cancelled { border-top-color: #525f71; }
.nvbb-rdv-card__ic { display: grid; place-items: center; width: 46px; height: 46px; margin: 0 0 10px; color: #fff; background: #1c6b3d; border-radius: 50%; }
.nvbb-rdv-card.is-requested .nvbb-rdv-card__ic { color: #01203f; background: #F79303; }
.nvbb-rdv-card.is-cancelled .nvbb-rdv-card__ic { background: #525f71; }
.nvbb-rdv-card__t { margin: 0 0 8px; font-size: clamp(1.3rem, 3vw, 1.7rem); color: #013C80; }
.nvbb-rdv-card__lead { margin: 0 0 16px; line-height: 1.55; }
.nvbb-rdv-dl { display: grid; grid-template-columns: max-content 1fr; gap: 8px 16px; margin: 0 0 18px; padding: 14px 16px; background: #f7f9fc; border-radius: 10px; }
.nvbb-rdv-dl dt { font-size: 13px; font-weight: 700; color: #5b6b82; }
.nvbb-rdv-dl dd { margin: 0; }
.nvbb-rdv-dl dd::first-letter { text-transform: uppercase; }
.nvbb-rdv-st { display: inline-block; padding: 2px 10px; font-size: 12px; font-weight: 700; border-radius: 999px; }
.nvbb-rdv-st.is-confirmed { color: #1c6b3d; background: #e8f6ee; }
.nvbb-rdv-st.is-requested { color: #7a3a00; background: #fff1dc; }
.nvbb-rdv-st.is-cancelled { color: #5b6b82; background: #eceff3; }
.nvbb-rdv-meet { display: inline-flex; align-items: center; gap: 8px; }
.nvbb-rdv-cancel { margin-top: 20px; padding-top: 16px; border-top: 1px solid #e3e9f2; }

/* Admin « Rendez-vous » */
.nvbb-rdvadm-err { display: flex; align-items: flex-start; gap: 6px; margin: 8px 0 0; font-size: 13px; color: #9b1c1c; }
.nvbb-rdvadm-err svg { flex: none; width: 16px; height: 16px; }
.nvbb-rdvadm-gbtns { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }
.nvbb-rdvadm-help { margin: 0 0 18px; padding: 12px 16px; font-size: 14px; background: #fff; border-radius: 10px; box-shadow: 0 1px 3px rgba(1, 60, 128, .08); }
.nvbb-rdvadm-help summary { display: flex; align-items: center; gap: 6px; font-weight: 700; color: #013C80; cursor: pointer; }
.nvbb-rdvadm-help summary svg { width: 16px; height: 16px; }
.nvbb-rdvadm-help ol { margin: 10px 0 0; padding-left: 20px; line-height: 1.6; }
.nvbb-rdvadm-help code { font-size: 12px; word-break: break-all; color: #01203f; background: #fff4e5; padding: 1px 5px; border-radius: 4px; }
.nvbb-rdvadm-block { margin-bottom: 18px; }
.nvbb-rdvadm-tablewrap { overflow-x: auto; }
.nvbb-rdvadm-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.nvbb-rdvadm-table th { padding: 8px 10px; font-size: 12px; text-align: left; text-transform: uppercase; letter-spacing: .04em; color: #5b6b82; border-bottom: 2px solid #e3e9f2; }
.nvbb-rdvadm-table td { padding: 10px; vertical-align: top; border-bottom: 1px solid #eef1f5; }
.nvbb-rdvadm-table td svg { width: 14px; height: 14px; vertical-align: -2px; }
.nvbb-rdvadm-table tr.is-requested td:first-child { box-shadow: 3px 0 0 #F79303 inset; }
.nvbb-rdvadm-table tr.is-cancelled td { color: #525f71; }
.nvbb-rdvadm-table code { font-size: 11px; color: #525f71; }
.nvbb-rdvadm-msg summary { margin-top: 6px; font-weight: 700; color: #013C80; cursor: pointer; }
.nvbb-rdvadm-msg p { margin: 6px 0 0; max-width: 40ch; }
.nvbb-rdvadm-st { display: inline-block; padding: 2px 10px; font-size: 12px; font-weight: 700; white-space: nowrap; border-radius: 999px; }
.nvbb-rdvadm-st.is-confirmed { color: #1c6b3d; background: #e8f6ee; }
.nvbb-rdvadm-st.is-requested { color: #01203f; background: #F79303; }
.nvbb-rdvadm-st.is-cancelled { color: #5b6b82; background: #eceff3; }
.nvbb-rdvadm-actions { white-space: nowrap; }
.nvbb-rdvadm-actions form { display: inline-block; margin: 0 4px 4px 0; }
.nvbb-rdvadm-days { display: flex; flex-wrap: wrap; gap: 6px; }
.nvbb-rdvadm-days label { position: relative; cursor: pointer; }
.nvbb-rdvadm-days input { position: absolute; opacity: 0; pointer-events: none; }
.nvbb-rdvadm-days span { display: inline-flex; align-items: center; justify-content: center; min-width: 52px; min-height: 36px; padding: 0 10px; font-size: 13px; font-weight: 700; color: #013C80; background: #f4f7fb; border: 1px solid #d5deea; border-radius: 999px; }
.nvbb-rdvadm-days input:checked + span { color: #fff; background: #013C80; border-color: #013C80; }
.nvbb-rdvadm-days input:focus-visible + span { outline: 2px solid #F79303; outline-offset: 2px; }
.nvbb-rdvadm-days input:disabled + span { cursor: default; opacity: .75; }

@media (max-width: 640px) {
    .nvbb-rdv-grid { grid-template-columns: 1fr; }
    .nvbb-rdv-step { padding: 16px 14px; }
    .nvbb-rdv-dl { grid-template-columns: 1fr; gap: 2px; }
    .nvbb-rdv-dl dd { margin-bottom: 8px; }
    .nvbb-rdv-submit { justify-self: stretch; }
    .nvbb-rdvadm-table thead { display: none; }
    .nvbb-rdvadm-table tr { display: block; padding: 8px 0; border-bottom: 1px solid #e3e9f2; }
    .nvbb-rdvadm-table td { display: block; padding: 4px 0; border: 0; }
}

/* =====================================================================
   145. INSCRIPTION D'UNE BOUTIQUE — 30/09/2026
   Formulaire /boutiques/inscription : pays puis province (Pays-Bas) ou pôle (Bénin),
   encadré « Pourquoi rejoindre le réseau », confirmation. Étapes et puces : section 144.
   ===================================================================== */
.nvbb-shopreg { max-width: 1120px; }
.nvbb-shopreg-layout { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 24px; align-items: start; }
.nvbb-shopreg-why { position: sticky; top: 170px; padding: 20px; color: #fff; background: linear-gradient(160deg, #013C80 0%, #01285a 100%); border-radius: 14px; border-bottom: 5px solid #F79303; }
.nvbb-shopreg-why__t { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: 1.05rem; color: #fff; }
.nvbb-shopreg-why__t svg { color: #F79303; }
.nvbb-shopreg-why ul { display: grid; gap: 10px; margin: 0 0 14px; padding: 0; list-style: none; font-size: 14px; line-height: 1.5; }
.nvbb-shopreg-why li { position: relative; padding-left: 18px; }
.nvbb-shopreg-why li::before { content: ""; position: absolute; left: 0; top: .55em; width: 8px; height: 8px; background: #F79303; border-radius: 50%; }
.nvbb-shopreg-why .nvbb-rdv-muted { color: rgba(255, 255, 255, .78); }
.nvbb-shopreg-rdv { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: #F79303; text-decoration: none; }
.nvbb-shopreg-rdv:hover, .nvbb-shopreg-rdv:focus-visible { color: #fff; text-decoration: underline; }
.nvbb-shopreg-regions { margin: 14px 0 0; }
.nvbb-shopreg-regions[hidden] { display: none; }
.nvbb-shopreg-regions__t { display: flex; align-items: center; gap: 6px; margin: 0 0 8px; font-weight: 800; color: #013C80; }
.nvbb-shopreg-regions__t svg { color: #F79303; }
.nvbb-rdv-chip.is-pilot > span { border-color: #F79303; }
.nvbb-shopreg .nvbb-rdv-step > .nvbb-rdv-grid { margin-top: 16px; }
.nvbb-shopreg [data-shopreg-nl][hidden] { display: none; }
.nvbb-shopreg-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0 0; }
.nvbb-shopreg-actions .mdaa-btn { display: inline-flex; align-items: center; gap: 8px; }
.nvbb-rshop-region__join { margin: 14px 0 0; font-weight: 700; }
.nvbb-rshop-region__join a { color: #013C80; }
@media (max-width: 900px) {
    .nvbb-shopreg-layout { grid-template-columns: 1fr; }
    .nvbb-shopreg-why { position: static; }
}

/* =====================================================================
   146. PANIER CENTRAL, COMMANDE GROUPÉE, PAGE CONTACT — 30/09/2026
   Un seul panier (/panier) : artisans, boutiques africaines, sacs sur mesure ;
   commande groupée (/panier/commander) et paiement unique (/panier/paiement/…) ;
   bouton « Panier » de l'en-tête en lien simple ; coordonnées de la page contact
   en deux cartes puis un bloc large.
   ===================================================================== */
a.mdaa-cart-btn { text-decoration: none; }
a.mdaa-cart-btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

.nvbb-cc { padding-top: 24px; padding-bottom: 56px; }
.nvbb-cc .mdaa-alert { margin-bottom: 14px; }
.nvbb-cc-parts { display: grid; gap: 22px; min-width: 0; align-content: start; }
.nvbb-cc-part { padding: 18px 18px 8px; background: #fff; border: 1px solid #e3e9f2; border-top: 4px solid #013C80; border-radius: 14px; scroll-margin-top: 170px; }
.nvbb-cc-part:nth-child(2) { border-top-color: #F79303; }
.nvbb-cc-part__head { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 8px; }
.nvbb-cc-part__head h2 { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 1.1rem; color: #013C80; }
.nvbb-cc-part__head p { margin: 4px 0 0; font-size: 13px; color: #5b6b82; }
.nvbb-cc-part__ic { display: grid; place-items: center; flex: none; width: 40px; height: 40px; color: #013C80; background: #fff4e5; border-radius: 12px; }
.nvbb-cc-part__n { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; font-size: 12px; color: #01203f; background: #F79303; border-radius: 999px; }
.nvbb-cc-part .mdaa-cart-items { gap: 0; }
.nvbb-cc-part .mdaa-cart-item { border-radius: 0; border-width: 1px 0 0; box-shadow: none; }
.nvbb-cc-bagpv svg { display: block; width: 100%; height: 100%; }
.nvbb-cc-continue { margin: 0; }
.nvbb-cc-summary { align-self: start; }
.nvbb-cc-empty__links { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 12px; margin-top: 18px; text-align: left; }
.nvbb-cc-empty__link { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; color: #013C80; text-decoration: none; background: #fff; border: 1px solid #d5deea; border-radius: 12px; }
.nvbb-cc-empty__link:hover, .nvbb-cc-empty__link:focus-visible { border-color: #F79303; box-shadow: 0 0 0 1px #F79303 inset; }
.nvbb-cc-empty__link svg { flex: none; color: #F79303; }
.nvbb-cc-empty__link span { display: grid; gap: 2px; }
.nvbb-cc-empty__link small { font-size: 13px; color: #5b6b82; }

/* Commande groupée */
.nvbb-cc--checkout { max-width: 1180px; }
.nvbb-cc-crumb { padding: 0 0 8px; }
.nvbb-cc-h1 { margin: 0 0 6px; font-size: clamp(1.5rem, 3vw, 2rem); color: #013C80; }
.nvbb-cc-lead { max-width: 70ch; margin: 0 0 18px; color: #4a5b73; }
.nvbb-cc-cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 340px); gap: 24px; align-items: start; }
.nvbb-cc-hint-top { margin: 0 0 10px; }
.nvbb-cc-pickup { display: grid; gap: 8px; margin-top: 14px; padding: 14px 16px; background: #f7f9fc; border-left: 4px solid #F79303; border-radius: 10px; }
.nvbb-cc-pickup[hidden] { display: none; }
.nvbb-cc-pickup .mdaa-form-group { margin: 0; }
.nvbb-cc-check { display: flex; align-items: flex-start; gap: 10px; margin-top: 14px; font-size: 14px; line-height: 1.5; cursor: pointer; }
.nvbb-cc-check input { flex: none; width: 18px; height: 18px; margin-top: 2px; accent-color: #013C80; }
.nvbb-cc-check.is-invalid { color: var(--mdaa-danger, #c0392b); }
.nvbb-rdv-chip > span small[hidden] { display: none; }
.nvbb-cc-rec { display: grid; gap: 10px; margin: 0 0 12px; padding: 0; list-style: none; }
.nvbb-cc-rec li { display: grid; gap: 2px; padding: 10px 12px; background: #f7f9fc; border-left: 3px solid #013C80; border-radius: 8px; }
.nvbb-cc-rec li span { font-weight: 700; color: #013C80; }
.nvbb-cc-rec li small { font-size: 12px; color: #5b6b82; }
.nvbb-cc-back { font-weight: 700; color: #013C80; }

/* Paiement du groupe */
.nvbb-cc--pay { max-width: 760px; }
.nvbb-cc-orders { display: grid; gap: 8px; margin: 0 0 12px; padding: 0; list-style: none; }
.nvbb-cc-order { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 12px 14px; background: #f7f9fc; border-radius: 10px; }
.nvbb-cc-order.is-paid { background: #eef8f2; }
.nvbb-cc-order strong { display: block; color: #013C80; }
.nvbb-cc-order code { font-size: 12px; color: #5b6b82; }
.nvbb-cc-order__amt { font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }
.nvbb-cc-order__amt small { display: block; font-size: 12px; font-weight: 600; color: #5b6b82; }
.nvbb-cc-total { display: flex; justify-content: space-between; align-items: baseline; margin: 0 0 16px; padding: 12px 14px; font-size: 1.1rem; border-top: 2px solid #013C80; }
.nvbb-cc-total strong { font-size: 1.35rem; color: #013C80; }
.nvbb-cc-paybtn { display: inline-flex; align-items: center; gap: 8px; }
.nvbb-cc-seplinks { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.nvbb-cc-ref { margin-top: 18px; }

/* Page contact : deux cartes, puis un bloc large */
.mdaa-contact__layout--stack .mdaa-contact__info { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mdaa-contact__card-body a[href*="/rendez-vous"] {
    display: flex; width: fit-content; align-items: center; gap: 6px; margin-top: 10px; padding: 9px 18px;
    font-weight: 700; color: #01203f; text-decoration: none; background: #F79303; border-radius: 999px;
}
.mdaa-contact__card-body a[href*="/rendez-vous"]:hover, .mdaa-contact__card-body a[href*="/rendez-vous"]:focus-visible { color: #fff; background: #013C80; }
.mdaa-contact__info > .mdaa-contact__card { max-width: none; }
.mdaa-contact__card--wide {
    position: relative; grid-column: 1 / -1; overflow: hidden;
    padding: 30px 28px 28px; color: #fff;
    background: linear-gradient(135deg, #013C80 0%, #01285a 100%);
    border: 0; border-top: 0;
}
.mdaa-contact__card-kente { position: absolute; inset: 0 0 auto 0; height: 6px; background-image: var(--wax-kente); background-size: 48px 100%; }
.mdaa-contact__card--wide .mdaa-contact__card-ic { color: #01203f; background: #F79303; }
.mdaa-contact__card--wide .mdaa-contact__card-body { flex: 1; }
.mdaa-contact__card--wide .mdaa-contact__card-body h2 { color: #fff; font-size: 1.35rem; }
.mdaa-contact__card--wide .mdaa-contact__card-body ul { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.mdaa-contact__card--wide .mdaa-contact__card-body li {
    padding: 14px 14px 14px 36px; font-size: 14px; line-height: 1.5; color: #e4ecf6;
    background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14); border-radius: 12px;
}
.mdaa-contact__card--wide .mdaa-contact__card-body li::before { left: 14px; top: 1.25em; }
.mdaa-contact__card--wide .mdaa-contact__card-body strong { display: block; color: #fff; }
.mdaa-contact__card--wide a { color: #F79303; }

@media (max-width: 980px) {
    .nvbb-cc-cols { grid-template-columns: minmax(0, 1fr); }
    .mdaa-contact__card--wide .mdaa-contact__card-body ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .mdaa-contact__layout--stack .mdaa-contact__info { grid-template-columns: minmax(0, 1fr); }
    .mdaa-contact__card--wide { flex-direction: column; padding: 24px 18px 18px; }
    .mdaa-contact__card--wide .mdaa-contact__card-body ul { grid-template-columns: minmax(0, 1fr); }
    .nvbb-cc-order { grid-template-columns: minmax(0, 1fr) auto; }
    .nvbb-cc-order .nvbb-rdv-st { grid-column: 1 / -1; justify-self: start; }
}

/* =====================================================================
   147. ASSISTANT PAS À PAS, BOUTIQUES MULTICULTURELLES, LIVRAISON NVBB,
        DOUBLE AUTHENTIFICATION — 30/09/2026
   Assistant commun (public/assets/js/nvbb-wizard.js) : rendez-vous, inscription d'une
   boutique, commande du panier central ; à reprendre pour les prochains formulaires
   (form[data-nvbb-wizard] > [data-wiz-step data-wiz-title]). Sans JavaScript : toutes
   les étapes restent affichées l'une sous l'autre.
   ===================================================================== */
/* Frise des étapes */
.nvbb-wiz-progress { display: flex; gap: 6px; margin: 0 0 4px; padding: 0; list-style: none; counter-reset: none; overflow-x: auto; scrollbar-width: thin; }
.nvbb-wiz-progress__item { flex: 1 1 0; min-width: 88px; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 10px 6px 12px; font-size: 13px; font-weight: 700; line-height: 1.2; text-align: center; color: #5f6d7e; background: #fff; border: 1px solid #e3e9f2; border-radius: 12px; position: relative; }
.nvbb-wiz-progress__item::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 0; height: 4px; border-radius: 4px 4px 0 0; background: transparent; }
.nvbb-wiz-progress__n { display: grid; place-items: center; width: 30px; height: 30px; font-size: 14px; font-weight: 800; color: #013C80; background: #eaf0f8; border-radius: 50%; }
.nvbb-wiz-progress__item.is-current { color: #01203f; border-color: #F79303; box-shadow: 0 0 0 1px #F79303 inset; }
.nvbb-wiz-progress__item.is-current::after { background: #F79303; }
.nvbb-wiz-progress__item.is-current .nvbb-wiz-progress__n { color: #01203f; background: #F79303; }
.nvbb-wiz-progress__item.is-done { color: #013C80; }
.nvbb-wiz-progress__item.is-done .nvbb-wiz-progress__n { color: #fff; background: #013C80; }
.nvbb-wiz-progress__n::before, .nvbb-wiz-progress__n::after, .nvbb-wiz-progress__item::before { content: none !important; display: none !important; }
.nvbb-wiz-progress__n svg { display: block; width: 16px; height: 16px; }
.is-wizard [data-wiz-step][hidden] { display: none; }
.is-wizard [data-wiz-step].is-current { animation: nvbb-wiz-in .22s ease-out; }
@keyframes nvbb-wiz-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .is-wizard [data-wiz-step].is-current { animation: none; } }
.nvbb-wiz-nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; clear: both; margin: 20px 0 0; padding-top: 16px; border-top: 1px solid #e3e9f2; }
.nvbb-wiz-nav .nvbb-wiz-next { margin-left: auto; }
.nvbb-wiz-nav .mdaa-btn, .nvbb-wiz-actions .mdaa-btn { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; }
.nvbb-wiz-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 16px; }
.nvbb-wiz-actions .nvbb-rdv-submit { margin-left: auto; }
.nvbb-rdv-submit.is-busy { opacity: .7; cursor: progress; }
.nvbb-wiz-sum-title { clear: both; margin: 0 0 10px; font-size: 1rem; font-weight: 800; color: #013C80; }
.nvbb-wiz-summary { display: grid; gap: 10px; margin: 0 0 18px; }
.nvbb-wiz-summary:empty { display: none; }
.nvbb-wiz-sum { padding: 12px 14px; background: #f7f9fc; border: 1px solid #e3e9f2; border-radius: 12px; }
.nvbb-wiz-sum__h { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 6px; color: #013C80; }
.nvbb-wiz-sum__edit { padding: 4px 10px; font: inherit; font-size: 13px; font-weight: 700; color: #013C80; background: #fff; border: 1px solid #c9d6e8; border-radius: 999px; cursor: pointer; }
.nvbb-wiz-sum__edit:hover { border-color: #F79303; }
.nvbb-wiz-sum__edit:focus-visible { outline: 2px solid #013C80; outline-offset: 2px; }
.nvbb-wiz-sum dl { display: grid; grid-template-columns: minmax(120px, 34%) 1fr; gap: 4px 12px; margin: 0; font-size: 14px; }
.nvbb-wiz-sum dt { color: #5f6d7e; }
.nvbb-wiz-sum dd { margin: 0; font-weight: 600; color: #1f2a3c; overflow-wrap: anywhere; }
@media (max-width: 560px) {
    .nvbb-wiz-progress__t { font-size: 11px; }
    .nvbb-wiz-progress__item { min-width: 64px; padding: 8px 4px 10px; }
    .nvbb-wiz-sum dl { grid-template-columns: 1fr; }
    .nvbb-wiz-sum dd { margin-bottom: 6px; }
}

/* Boutiques multiculturelles : pays d'origine */
.nvbb-origin { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px 3px 4px; font-size: 13px; font-weight: 700; line-height: 1.3; color: #01203f; background: #fff4e5; border: 1px solid #f7c67a; border-radius: 999px; }
.nvbb-origin__flag { display: block; width: 22px; height: 16px; object-fit: cover; border-radius: 3px; box-shadow: 0 0 0 1px rgba(1, 32, 63, .12); }
.nvbb-origin--sm { padding: 1px 8px 1px 3px; font-size: 12px; }
.nvbb-origin--sm .nvbb-origin__flag { width: 18px; height: 13px; }
.nvbb-origin--hero { margin-top: 10px; padding: 5px 14px 5px 6px; font-size: 14px; color: #01203f; background: #fff; border-color: #F79303; }
.nvbb-origin--hero .nvbb-origin__flag { width: 28px; height: 20px; }
.mbae-shop-card .nvbb-origin { align-self: flex-start; margin: 4px var(--mdaa-sp-5) 8px; }
/* 30/09/2026 (27) : pastilles « Boutique pilote » et « Origine » alignées sur le nom, l'adresse et le bouton de la carte (marge gauche de 24 px). */
.mbae-shop-card .nvbb-rshop-badge { margin: var(--mdaa-sp-3) var(--mdaa-sp-5) 0; }
/* 30/09/2026 (27) : page d'une boutique, lien de retour détaché du bandeau. */
.mbae-shop-back { margin: var(--mdaa-sp-5) 0 var(--mdaa-sp-4); }
.nvbb-rpub-artisan__body .nvbb-origin { align-self: flex-start; }
.mdaa-cart-item__artisan .nvbb-origin { margin-left: 4px; vertical-align: middle; }
.nvbb-rshop-principle { max-width: 62ch; margin: 12px 0 0; padding: 10px 14px; font-size: 15px; font-weight: 600; color: #fff; background: rgba(1, 32, 63, .55); border-left: 4px solid #F79303; border-radius: 0 10px 10px 0; }

/* Inscription d'une boutique : principe, question, lien reconnu */
.nvbb-shopreg-principle { display: flex; align-items: flex-start; gap: 14px; margin: 0 0 22px; padding: 16px 18px; background: #fff; border: 1px solid #e3e9f2; border-left: 5px solid #F79303; border-radius: 14px; box-shadow: 0 1px 3px rgba(1, 60, 128, .06); }
.nvbb-shopreg-principle__ic { flex: none; display: grid; place-items: center; width: 44px; height: 44px; color: #01203f; background: #fff4e5; border-radius: 12px; }
.nvbb-shopreg-principle__t { margin: 0 0 4px; font-size: 1.05rem; font-weight: 800; color: #013C80; }
.nvbb-shopreg-principle p { margin: 0; font-size: 14px; line-height: 1.6; color: #1f2a3c; }
.nvbb-shopreg-q { flex-basis: 100%; margin-bottom: 2px; font-size: 14px; font-weight: 700; color: #1f2a3c; }
.nvbb-shopreg-pickup { display: flex; align-items: flex-start; gap: 8px; margin: 14px 0 0; padding: 10px 14px; font-size: 13px; line-height: 1.5; color: #01203f; background: #eaf0f8; border-radius: 10px; }
.nvbb-shopreg-pickup svg { flex: none; margin-top: 1px; color: #013C80; }
.nvbb-shopreg-secure { display: flex; align-items: flex-start; gap: 8px; margin: 14px 0 0; font-size: 13px; line-height: 1.5; color: #5f6d7e; }
.nvbb-shopreg-secure svg { flex: none; margin-top: 2px; color: #013C80; }
.nvbb-weblink { display: inline-flex; align-items: center; gap: 6px; margin: 8px 0 0; padding: 4px 12px 4px 8px; font-size: 13px; font-weight: 700; border-radius: 999px; }
.nvbb-weblink[hidden] { display: none; }
.nvbb-weblink--site { color: #013C80; background: #eaf0f8; }
.nvbb-weblink--facebook { color: #fff; background: #1a56c4; }
.nvbb-weblink--instagram { color: #fff; background: linear-gradient(90deg, #8a2fb3, #c1356b 60%, #a8591f); }
.nvbb-weblink svg { flex: none; }

/* Panier central : livraison des articles des boutiques par NVBB Nederland */
.nvbb-cc-mbship { margin-top: 14px; padding: 14px 16px; background: #f7f9fc; border: 1px solid #e3e9f2; border-radius: 12px; }
.nvbb-cc-mbship[hidden], [data-cc-zone][hidden] { display: none; }
.nvbb-cc-mbship .nvbb-rdv-hint { margin: 0 0 10px; }
.nvbb-cc-shipline { margin: 0 0 14px; padding: 10px 14px; font-size: 14px; color: #01203f; background: #fff4e5; border-radius: 10px; }
.nvbb-cc-shipline[hidden], .nvbb-cc-rec__ship[hidden] { display: none; }
.nvbb-cc-rec__ship { display: block; font-weight: 700; color: #8a4b00; }
.nvbb-cc-pickup > .nvbb-rdv-hint:first-child { margin: 0 0 10px; }

/* Commande d'une boutique : transporteur */
.mbae-co-carriers { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 10px; }
.mbae-co-carrier { position: relative; cursor: pointer; }
.mbae-co-carrier input { position: absolute; opacity: 0; pointer-events: none; }
.mbae-co-carrier > span { display: grid; gap: 2px; padding: 12px 14px; font-size: 14px; color: #1f2a3c; background: #fff; border: 2px solid #d5deea; border-radius: 12px; }
.mbae-co-carrier > span strong { color: #013C80; }
.mbae-co-carrier > span small { color: #5f6d7e; }
.mbae-co-carrier input:checked + span, .mbae-co-carrier.is-selected > span { background: #fff4e5; border-color: #F79303; }
.mbae-co-carrier input:focus-visible + span { outline: 2px solid #013C80; outline-offset: 2px; }

/* Admin : envoi des boutiques, sécurité du compte */
.nvbb-shipadm__wrap { overflow-x: auto; margin: 12px 0 16px; }
.nvbb-shipadm__table { width: 100%; border-collapse: collapse; font-size: 14px; }
.nvbb-shipadm__table th, .nvbb-shipadm__table td { padding: 10px 12px; text-align: left; vertical-align: middle; border-bottom: 1px solid #e3e9f2; }
.nvbb-shipadm__table thead th { font-size: 12px; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; color: #5f6d7e; background: #f7f9fc; }
.nvbb-shipadm__num { max-width: 110px; }
.nvbb-shipadm__check input { width: 20px; height: 20px; accent-color: #013C80; }
.nvbb-shipadm__api { display: flex; align-items: flex-start; gap: 6px; margin-top: 12px; }
.nvbb-tfa-st { display: inline-block; padding: 3px 10px; font-size: 12px; font-weight: 800; border-radius: 999px; }
.nvbb-tfa-st.is-on { color: #0b5a2b; background: #e3f5ea; }
.nvbb-tfa-st.is-off { color: #8a4b00; background: #fff4e5; }
.nvbb-tfa-inline { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; margin-top: 14px; }
.nvbb-tfa-inline .mdaa-form-label { flex-basis: 100%; margin: 0; }
.nvbb-tfa-inline .mdaa-form-input { max-width: 160px; letter-spacing: .12em; }

/* Double authentification : écran de connexion */
.nvbb-tfa-panel { position: relative; background: #012a5a; }
.nvbb-tfa-alert { margin-bottom: 18px; }
.nvbb-tfa-steps { margin: 0 0 18px; padding-left: 20px; font-size: 14px; line-height: 1.6; color: #1f2a3c; }
.nvbb-tfa-steps li + li { margin-top: 10px; }
.nvbb-tfa-qr { width: 220px; max-width: 100%; margin: 10px 0; padding: 10px; background: #fff; border: 1px solid #e3e9f2; border-radius: 12px; }
.nvbb-tfa-qr svg { display: block; width: 100%; height: auto; }
.nvbb-tfa-manual summary { cursor: pointer; font-weight: 700; color: #013C80; }
.nvbb-tfa-secret { display: inline-block; padding: 6px 10px; font-size: 15px; letter-spacing: .08em; word-break: break-all; color: #01203f; background: #eaf0f8; border-radius: 8px; user-select: all; }
.nvbb-tfa-codes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; margin: 14px 0; padding: 14px 14px 14px 36px; font-size: 15px; background: #f7f9fc; border: 1px dashed #c9d6e8; border-radius: 12px; }
.nvbb-tfa-codes code { font-size: 15px; letter-spacing: .08em; color: #01203f; background: none; }
.nvbb-tfa-note { display: flex; align-items: flex-start; gap: 8px; margin: 12px 0; font-size: 13px; line-height: 1.5; color: #5f6d7e; }
.nvbb-tfa-note svg { flex: none; width: 18px; height: 18px; margin-top: 1px; color: #8a4b00; }
.nvbb-tfa-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.nvbb-tfa-cancel { margin-top: 18px; }
.nvbb-tfa-cancel button { padding: 0; font: inherit; background: none; border: 0; cursor: pointer; }


/* Drapeaux hébergés sur notre serveur (<img>, 30/09/2026) : taille propre à chaque emplacement */
img.mbae-flag { display: inline-block; width: 22px; height: auto; aspect-ratio: 3 / 2; }
.mbae-shop-card__band .mbae-shop-card__flag img.mbae-flag { width: 100%; height: 100%; aspect-ratio: auto; }
img.mbae-flag--hero { width: 30px; }
/* Note de sécurité sur fond bleu (inscription d'une boutique) */
.nvbb-shopreg-why .nvbb-shopreg-secure { color: #dbe6f3; }
.nvbb-shopreg-why .nvbb-shopreg-secure svg { color: #F79303; }
.nvbb-tfa .mdaa-admin-auth-eyebrow { color: #8a4b00; }

/* =====================================================================
   148. LOGO ROND, ASSISTANT, JOURS / HEURES, MVP — 30/09/2026 (24)
   ===================================================================== */
/* Logo de l'en-tête : bordure en cercle */
.mdaa-brand__logo { width: 52px; height: 52px; object-fit: cover; border-radius: 50%; border: 2px solid #F79303; background: #013C80; box-shadow: 0 0 0 2px #fff; }
@media (max-width: 1080px) { .mdaa-brand__logo { width: 42px; height: 42px; } }

/* Assistant : titre de l'étape qui reçoit le focus (lecteurs d'écran) sans surlignage ni cadre */
.is-wizard [data-wiz-step] legend:focus, .is-wizard [data-wiz-step] h2:focus, .is-wizard [data-wiz-step] h3:focus,
.is-wizard [data-wiz-step]:focus, .is-wizard [tabindex="-1"]:focus { outline: none; background: none; box-shadow: none; }

/* Rendez-vous : deux grilles, jours à gauche, heures à droite */
.nvbb-rdv-slots.is-split { display: grid; grid-template-columns: minmax(230px, 38%) 1fr; gap: 0 20px; align-items: start; }
.nvbb-rdv-slots.is-split > .nvbb-rdv-days { grid-column: 1; grid-row: 1 / span 60; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; max-height: 420px; margin: 0; padding: 2px 6px 2px 2px; overflow-x: hidden; overflow-y: auto; scroll-snap-type: none; }
.nvbb-rdv-slots.is-split .nvbb-rdv-day { min-width: 0; width: 100%; }
.nvbb-rdv-slots.is-split > .nvbb-rdv-daygroup { grid-column: 2; margin: 0; padding: 14px 16px; background: #f7f9fc; border: 1px solid #e3e9f2; border-radius: 12px; }
.nvbb-rdv-slots.is-split .nvbb-rdv-daygroup + .nvbb-rdv-daygroup { margin-top: 0; }
.nvbb-rdv-slots.is-split .nvbb-rdv-chips--times { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: 8px; }
.nvbb-rdv-slots.is-split .nvbb-rdv-chip--time > span { width: 100%; min-width: 0; }
.nvbb-rdv-slots__h { grid-column: 1; margin: 0 0 8px; font-size: 13px; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; color: #5f6d7e; }
.nvbb-rdv-slots.is-split > .nvbb-rdv-slots__h { display: none; }
@media (max-width: 720px) {
    .nvbb-rdv-slots.is-split { grid-template-columns: 1fr; gap: 14px; }
    .nvbb-rdv-slots.is-split > .nvbb-rdv-days { grid-row: auto; grid-template-columns: repeat(3, minmax(0, 1fr)); max-height: 240px; }
    .nvbb-rdv-slots.is-split > .nvbb-rdv-daygroup { grid-column: 1; }
}
@media (max-width: 420px) { .nvbb-rdv-slots.is-split > .nvbb-rdv-days { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Services IT : notre MVP */
.nvbb-it__mvp-intro { max-width: 70ch; margin: 0 0 var(--mdaa-sp-6); font-size: var(--mdaa-fs-lg); line-height: 1.6; color: #1f2a3c; }
.nvbb-it__mvp-intro strong { color: #013C80; }
.nvbb-it__mvp-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 16px; }
.nvbb-it__mvp-card { display: flex; flex-direction: column; gap: 8px; padding: 20px; background: #fff; border: 1px solid #e3e9f2; border-top: 4px solid #F79303; border-radius: 14px; box-shadow: 0 1px 3px rgba(1, 60, 128, .06); }
.nvbb-it__mvp-card h3 { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 1.05rem; color: #013C80; }
.nvbb-it__mvp-ic { flex: none; display: grid; place-items: center; width: 40px; height: 40px; color: #01203f; background: #fff4e5; border-radius: 10px; }
.nvbb-it__mvp-ic svg { width: 22px; height: 22px; max-width: none; max-height: none; }
@media (min-width: 1000px) {
    .nvbb-it__mvp-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
    .nvbb-it__mvp-card { grid-column: span 2; }
    .nvbb-it__mvp-card:nth-child(n+4) { grid-column: span 3; }
}
.nvbb-it__mvp-card p { margin: 0; font-size: 15px; line-height: 1.6; color: #1f2a3c; }
.nvbb-it__mvp-card ul { margin: 4px 0 0; padding-left: 18px; font-size: 14px; line-height: 1.55; color: #3d4b5c; }
.nvbb-it__mvp-foot { margin: var(--mdaa-sp-5) 0 0; font-size: 14px; color: #5f6d7e; }

/* Admin « Paiements » : dernières erreurs Mollie */
.nvbb-payadm-errors table { width: 100%; border-collapse: collapse; font-size: 13px; }
.nvbb-payadm-errors th, .nvbb-payadm-errors td { padding: 8px 10px; text-align: left; vertical-align: top; border-bottom: 1px solid #e3e9f2; }
.nvbb-payadm-errors td:last-child { overflow-wrap: anywhere; color: #8a1c12; }

.nvbb-it .nvbb-it__ref-sector { color: #8a4b00; }
.nvbb-it .nvbb-it__event-date { color: #8a4b00; }

/* =====================================================================
   149. OUTILS ADMIN — 30/09/2026
   Pages de config/admin/routesadmin_tools.php, affichées dans la carte
   .nvbb-bagadm-card.nvbb-tool de la présentation admin (styles repris
   de l'ancien bloc <style> intégré, limités à .nvbb-tool).
   ===================================================================== */
.nvbb-tool * { box-sizing: border-box; }
.nvbb-tool .card, .nvbb-tool.card { background: #fff; border-radius: 12px; padding: 32px; box-shadow: 0 2px 16px rgba(1,60,128,0.08); }
.nvbb-tool h1, .nvbb-tool > h2:first-child { color: #013c80; margin: 0 0 8px; font-size: 1.25rem; font-weight: 800; }
.nvbb-tool .subtitle { color: #5b6b82; margin: 0 0 28px; font-size: 14px; }
.nvbb-tool .meta { background: #eaf0f8; padding: 18px; border-radius: 8px; margin-bottom: 20px; }
.nvbb-tool .meta dl { margin: 0; display: grid; grid-template-columns: 140px 1fr; gap: 8px 16px; }
.nvbb-tool .meta dt { font-weight: 600; color: #5b6b82; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px; }
.nvbb-tool .meta dd { margin: 0; font-family: ui-monospace, "Courier New", monospace; font-size: 13px; word-break: break-all; }
.nvbb-tool .result-row { display: flex; align-items: center; gap: 16px; padding: 16px; border-radius: 8px; margin-bottom: 10px; font-size: 14px; }
.nvbb-tool .result-row.ok { background: #e8f5e9; color: #1b5e20; border-left: 4px solid #2e7d32; }
.nvbb-tool .result-row.fail { background: #ffebee; color: #b12424; border-left: 4px solid #b12424; }
.nvbb-tool .icon { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; flex: 0 0 28px; }
.nvbb-tool .mdaa-ico { display: inline-block; width: 1.15em; height: 1.15em; vertical-align: -.16em; }
.nvbb-tool .icon .mdaa-ico { width: 26px; height: 26px; }
.nvbb-tool .badge .mdaa-ico { width: 12px; height: 12px; vertical-align: -2px; }
.nvbb-tool .label { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.nvbb-tool .label strong { display: block; margin-bottom: 2px; }
.nvbb-tool .label small { color: inherit; font-family: ui-monospace, monospace; }
.nvbb-tool .next { background: #fff3e0; border-left: 4px solid #f79303; padding: 16px 20px; border-radius: 6px; margin-top: 24px; font-size: 14px; line-height: 1.6; }
.nvbb-tool .next.success { background: #e8f5e9; border-left-color: #2e7d32; }
.nvbb-tool .next.error { background: #ffebee; border-left-color: #b12424; color: #5a2020; }
.nvbb-tool .next strong { color: #013c80; display: block; margin-bottom: 6px; }
.nvbb-tool .next ul { margin: 6px 0 0; padding-left: 20px; }
.nvbb-tool code { background: #eaf0f8; padding: 2px 6px; border-radius: 4px; font-size: 12px; font-family: ui-monospace, monospace; }
.nvbb-tool .form-group { margin-bottom: 16px; }
.nvbb-tool .form-group label { display: block; font-weight: 600; color: #5b6b82; margin-bottom: 6px; font-size: 13px; }
.nvbb-tool .form-group input { width: 100%; padding: 10px 14px; border: 2px solid #c9d6e8; border-radius: 6px; font-family: ui-monospace, monospace; font-size: 14px; }
.nvbb-tool .form-group input:focus { outline: none; border-color: #013c80; }
.nvbb-tool .btn { background: #013c80; color: #fff; padding: 12px 24px; border: none; border-radius: 6px; cursor: pointer; font-weight: 600; font-size: 14px; text-decoration: none; display: inline-block; }
.nvbb-tool .btn:hover { background: #012a5c; }
.nvbb-tool .btn-sm { padding: 6px 12px; font-size: 12px; }
.nvbb-tool .btn-ghost { background: transparent; color: #013c80; border: 2px solid #013c80; }
.nvbb-tool .btn-ghost:hover { background: #013c80; color: #fff; }
.nvbb-tool .timing { margin-top: 16px; font-size: 12px; color: #525f71; text-align: right; }
.nvbb-tool .logs-controls { display: flex; gap: 8px; align-items: center; margin-bottom: 16px; flex-wrap: wrap; }
.nvbb-tool .logs-stats { font-size: 12px; color: #5b6b82; margin-left: auto; }
.nvbb-tool .log-container { background: #012a5c; color: #c9d6e8; padding: 16px; border-radius: 8px; font-family: ui-monospace, monospace; font-size: 12px; line-height: 1.7; max-height: 600px; overflow-y: auto; }
.nvbb-tool .log-line { padding: 2px 8px; border-radius: 3px; margin: 1px 0; white-space: pre-wrap; word-break: break-all; }
.nvbb-tool .log-line.OK { color: #81c784; background: rgba(76,175,80,0.08); }
.nvbb-tool .log-line.FAIL { color: #ef9a9a; background: rgba(244,67,54,0.12); font-weight: 600; }
.nvbb-tool .log-line.EXCEPTION { color: #ffb74d; background: rgba(255,152,0,0.15); font-weight: 600; }
.nvbb-tool .log-line.WARN { color: #fff176; background: rgba(255,193,7,0.10); }
.nvbb-tool .log-line.INFO { color: #b0bec5; }
.nvbb-tool .log-empty { color: #525f71; text-align: center; padding: 32px; font-style: italic; }
.nvbb-tool .badge { display: inline-block; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600; }
.nvbb-tool .badge-ok { background: #c8e6c9; color: #1b5e20; }
.nvbb-tool .badge-fail { background: #ffcdd2; color: #b12424; }
.nvbb-tool .user-info { background: #eaf0f8; padding: 8px 14px; border-radius: 6px; font-size: 12px; color: #013c80; margin-bottom: 16px; border-left: 3px solid #013c80; }

/* =====================================================================
   150. ENVOYER DE L'ARGENT (prestataires agréés) — 30/09/2026
   Page publique /envoyer-argent (.nvbb-rem-*) et admin « Envoi d'argent » (.nvbb-remadm-*).
   ===================================================================== */
.nvbb-rem-hero .nvbb-rpub-hero__lead { max-width: 640px; }
.nvbb-rem { padding-top: var(--mdaa-sp-6, 32px); padding-bottom: var(--mdaa-sp-7, 48px); }
.nvbb-remadm__more { margin: 0; }
.nvbb-remadm__more > summary { cursor: pointer; padding: 12px 16px; font-weight: 800; color: #013C80; background: #fff; border-radius: 12px; box-shadow: 0 1px 3px rgba(1, 60, 128, .08); }
.nvbb-remadm__more[open] > summary { margin-bottom: 12px; }
.nvbb-remadm__more > .nvbb-bagadm-card + .nvbb-bagadm-card { margin-top: 16px; }
.nvbb-rem__h2 { margin: 0 0 14px; font-size: 1.35rem; color: #01203f; }
.nvbb-rem__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0 0 32px; padding: 0; list-style: none; }
.nvbb-rem__step { display: grid; gap: 6px; align-content: start; padding: 18px; background: #fff; border-top: 3px solid #F79303; border-radius: 12px; box-shadow: 0 1px 3px rgba(1, 60, 128, .08); }
.nvbb-rem__step strong { color: #013C80; font-size: 1.02rem; }
.nvbb-rem__step span:last-child { color: var(--mdaa-ink-soft, #44536a); font-size: 14px; line-height: 1.5; }
.nvbb-rem__step-ico { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; color: #013C80; background: #eef3fa; border-radius: 10px; }
.nvbb-rem__step-ico svg { width: 22px; height: 22px; }
.nvbb-rem__pick { margin: 0 0 28px; }
.nvbb-rem__tabs { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.nvbb-rem__tab { display: inline-flex; align-items: center; gap: 10px; padding: 10px 18px 10px 12px; font-weight: 700; color: #013C80; text-decoration: none; background: #fff; border: 2px solid #d6e0ee; border-radius: 999px; transition: border-color .15s, background .15s; }
.nvbb-rem__tab small { font-weight: 600; font-size: 12px; color: var(--mdaa-ink-faint, #5f6d7e); }
.nvbb-rem__tab:hover, .nvbb-rem__tab:focus-visible { border-color: #F79303; }
.nvbb-rem__tab.is-on { background: #013C80; border-color: #013C80; color: #fff; }
.nvbb-rem__tab.is-on small { color: #cfe0f5; }
.nvbb-rem__flag { display: block; width: 28px; height: 20px; object-fit: cover; border-radius: 3px; box-shadow: 0 0 0 1px rgba(1, 32, 63, .12); }
.nvbb-rem__offers { margin: 0 0 32px; scroll-margin-top: 170px; }
.nvbb-rem__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
.nvbb-rem__card { display: grid; gap: 12px; align-content: start; padding: 20px; background: #fff; border: 1px solid #e3e9f2; border-top: 4px solid #013C80; border-radius: 14px; box-shadow: 0 2px 8px rgba(1, 60, 128, .06); }
.nvbb-rem__card-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.nvbb-rem__name { margin: 0; font-size: 1.25rem; color: #01203f; }
.nvbb-rem__tag { padding: 3px 10px; font-size: 12px; font-weight: 700; color: #8a4b00; background: #fff4e5; border: 1px solid #f7c67a; border-radius: 999px; }
.nvbb-rem__licence { display: flex; align-items: flex-start; gap: 8px; margin: 0; font-size: 14px; color: #1c6b3d; }
.nvbb-rem__licence svg { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; }
.nvbb-rem__licence a { color: #013C80; }
.nvbb-rem__methods { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.nvbb-rem__methods li { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; font-size: 13px; font-weight: 600; color: #013C80; background: #eef3fa; border-radius: 999px; }
.nvbb-rem__methods svg { width: 16px; height: 16px; }
.nvbb-rem__go { margin: 4px 0 0; }
.nvbb-rem__btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; }
.nvbb-rem__btn svg { width: 18px; height: 18px; }
.nvbb-rem__fine { margin: 0; font-size: 12.5px; color: var(--mdaa-ink-faint, #5f6d7e); }
.nvbb-rem__empty { margin: 0 0 24px; padding: 18px 20px; color: #01203f; background: #f2f6fb; border: 1px dashed #c7d3e3; border-radius: 12px; }
.nvbb-rem__clear { padding: 22px 24px; background: #01203f; color: #e8eef7; border-radius: 16px; }
.nvbb-rem__clear .nvbb-rem__h2 { color: #fff; }
.nvbb-rem__clear ul { margin: 0 0 12px; padding-left: 20px; line-height: 1.6; }
.nvbb-rem__clear a { color: #F79303; font-weight: 700; }
@media (max-width: 760px) {
    .nvbb-rem__steps { grid-template-columns: 1fr; }
    .nvbb-rem__tab { flex: 1 1 calc(50% - 10px); justify-content: flex-start; }
}

.nvbb-remadm { scroll-margin-top: 170px; }
.nvbb-remadm__badge { padding: 2px 10px; font-size: 12px; font-weight: 700; color: #5f6d7e; background: #eef1f5; border-radius: 999px; }
.nvbb-remadm__badge.is-on { color: #1c6b3d; background: #e8f6ee; }
.nvbb-remadm__form { display: grid; gap: 14px; }
.nvbb-remadm__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 16px; }
.nvbb-remadm__field { display: grid; gap: 4px; min-width: 0; margin: 0; padding: 0; border: 0; font-size: 13px; font-weight: 700; color: #01203f; }
.nvbb-remadm__field legend { margin-bottom: 4px; padding: 0; }
.nvbb-remadm__field--wide { grid-column: 1 / -1; }
.nvbb-remadm__field small { font-weight: 400; }
.nvbb-remadm__radios { display: flex; flex-wrap: wrap; gap: 8px 16px; font-weight: 600; }
.nvbb-remadm__radios label { display: inline-flex; align-items: center; gap: 6px; }
.nvbb-remadm__radios input { width: 18px; height: 18px; accent-color: #013C80; }
.nvbb-remadm__check { grid-column: 1 / -1; display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: #013C80; }
.nvbb-remadm__check input { width: 20px; height: 20px; accent-color: #013C80; }
.nvbb-remadm__inline { display: inline-block; margin-left: 8px; }
@media (max-width: 760px) {
    .nvbb-remadm__grid { grid-template-columns: 1fr; }
}

/* =====================================================================
   151. TOPBAR : LIENS « ENVOYER DE L'ARGENT » / « SE CONNECTER »
   Ajouté le 30 septembre 2026 (29) ; tailles réduites le 30 septembre 2026 (30).
   ===================================================================== */
.mdaa-topbar__acct-link { font-weight: 600; color: #e4edf6; }
.mdaa-topbar__acct-link--remit { color: #fff; }
.mdaa-topbar__acct-link--remit svg, .mdaa-topbar__acct-link--login svg { color: var(--mdaa-orange-300); }
.mdaa-topbar__acct-link:hover, .mdaa-topbar__acct-link:focus-visible { color: var(--mdaa-orange-300); }
@media (max-width: 720px) {
    .mdaa-topbar__acct-link svg { width: 18px; height: 18px; }
}

/* =====================================================================
   152. ESPACEMENTS DES PAGES DE SUIVI ET DE BILLETTERIE,
        BANDEAU « POURQUOI REJOINDRE LE RÉSEAU » — 30/09/2026 (31)
   ===================================================================== */
/* Suivi de commande, suivi de colis, retrait en boutique : carte près du fil d'Ariane */
.mdaa-track-breadcrumb-pad + .mdaa-section,
.tcp-breadcrumb-pad + .mdaa-section,
.mdaa-section:has(> .mbae-pickup),
.mdaa-section:has(> .mdaa-container > .mbae-pickup) { padding-top: var(--mdaa-sp-5); }
.mdaa-section > .tcp-wrap { margin-top: 0; }
.mdaa-section > .mbae-pickup,
.mdaa-section > .mdaa-container > .mbae-pickup { margin-top: 0; }

/* Billetterie : étapes sous le bandeau, puis le contenu sans grand vide */
.mdaa-section--flush-top:has(.mdaa-siam-checkout-steps) { padding: var(--mdaa-sp-5) 0 var(--mdaa-sp-4); }
.mdaa-siam-section-poles:has(.mdaa-siam-tickets-layout) { padding-top: var(--mdaa-sp-5); overflow: clip; }  /* clip : le récapitulatif collant se cale sur la fenêtre, plus sur la section */
.mdaa-siam-section-poles .mdaa-siam-tickets-layout { padding-block: 0 var(--mdaa-sp-4); }
.mdaa-siam-tickets-layout > div:first-child {
    padding: var(--mdaa-sp-5) var(--mdaa-sp-6);
    background: #fff;
    border: 1px solid #e3e9f2;
    border-radius: 16px;
    box-shadow: 0 1px 3px rgba(1, 60, 128, .08);
}
.mdaa-siam-tickets-layout > div:first-child > .mdaa-siam-customer-form__title { margin: 0 0 var(--mdaa-sp-4); }
.mdaa-siam-tickets-layout > .mdaa-siam-tickets-summary { margin-top: 0; }
.mdaa-siam-payment-client-card { display: flex; align-items: center; gap: var(--mdaa-sp-4); }
.mdaa-siam-payment-client-card__icon { flex: none; margin: 0; }
.mdaa-siam-payment-client-card strong { display: block; color: var(--mdaa-navy-900); }
.mdaa-siam-payment-tickets-block__title { display: flex; align-items: center; gap: 10px; font-size: var(--mdaa-fs-lg); color: var(--mdaa-navy-900); }
.mdaa-siam-payment-tickets-block__title svg { width: 24px; height: 24px; color: var(--mdaa-orange); }
.mdaa-siam-payment-table { width: 100%; }
.mdaa-siam-payment-table td:last-child { text-align: right; white-space: nowrap; }
.mdaa-siam-payment-table td strong { margin-right: 6px; }
.mdaa-siam-payment-action { margin-top: var(--mdaa-sp-5); }
.mdaa-siam-payment-providers { justify-content: center; text-align: center; }
.mdaa-siam-payment-cancel-link { margin-top: var(--mdaa-sp-4); }
.mdaa-siam-payment-cancel-link a { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.mdaa-siam-payment-cancel-link a svg { width: 18px; height: 18px; flex: none; }
@media (max-width: 720px) {
    .mdaa-siam-tickets-layout > div:first-child { padding: var(--mdaa-sp-4); }
    .mdaa-siam-payment-cancel-link a { white-space: normal; }
}

/* Inscription d'une boutique : « Pourquoi rejoindre le réseau » en bandeau pleine largeur */
.nvbb-shopreg-layout--full { grid-template-columns: minmax(0, 1fr); }
.nvbb-shopreg .nvbb-shopreg-why {
    position: relative;
    top: auto;
    overflow: hidden;
    margin: 0 0 24px;
    padding: 0;
    border-bottom: 0;
    border-radius: 16px;
    background: #013C80;
}
.nvbb-shopreg-why__photo { position: absolute; inset: 0; background-size: cover; background-position: right center; }
.nvbb-shopreg-why__veil { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(1, 24, 48, .97) 0%, rgba(1, 32, 63, .94) 55%, rgba(1, 40, 84, .78) 80%, rgba(1, 45, 96, .6) 100%); }
.nvbb-shopreg-why__body { position: relative; z-index: 2; max-width: none; padding: 26px 28px 30px; }
.nvbb-shopreg .nvbb-shopreg-why__t { margin: 0 0 14px; font-size: 1.35rem; font-weight: 800; }
.nvbb-shopreg .nvbb-shopreg-why ul { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 20px; margin: 0 0 12px; font-size: 14px; }
.nvbb-shopreg .nvbb-shopreg-why li { padding: 14px 16px 14px 32px; background: rgba(1, 24, 48, .55); border: 1px solid rgba(255, 255, 255, .16); border-radius: 12px; }
.nvbb-shopreg .nvbb-shopreg-why li::before { left: 12px; top: 1.25em; }
.nvbb-shopreg .nvbb-shopreg-why .nvbb-rdv-muted { margin: 0 0 12px; }
.nvbb-shopreg-why__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 24px; }
.nvbb-shopreg-why__foot .nvbb-shopreg-secure { margin: 0; }
.nvbb-shopreg-why__kente { position: absolute; inset: auto 0 0 0; z-index: 3; height: 6px; background-image: var(--wax-kente); background-size: 48px 100%; }
@media (max-width: 900px) {
    .nvbb-shopreg .nvbb-shopreg-why ul { grid-template-columns: minmax(0, 1fr); }
    .nvbb-shopreg-why__veil { background: rgba(1, 45, 96, .9); }
    .nvbb-shopreg-why__photo { background-position: 80% center; }
}
@media (max-width: 720px) {
    .nvbb-shopreg-why__body { padding: 20px 18px 24px; }
}

/* =====================================================================
   153. ADMIN « ENVOI D'ARGENT » : ACTIONS IMPACT — 30/09/2026 (33)
   ===================================================================== */
.nvbb-remadm__status { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0 0 12px; font-size: 14px; color: #1f2a3c; }
.nvbb-remadm__status .nvbb-remadm__badge { display: inline-flex; align-items: center; gap: 6px; }
.nvbb-remadm__status .nvbb-remadm__badge svg { width: 14px; height: 14px; }
.nvbb-remadm__badge.is-off { color: #8a2520; background: #fdeceb; }
#impact > .nvbb-remadm__inline { margin: 0 0 16px; }
.nvbb-remadm__h3 { margin: 18px 0 8px; font-size: 1rem; color: #013C80; }
#impact .nvbb-remadm__more { margin-top: 16px; }
#impact .nvbb-shipadm__table td .nvbb-ref-btn { white-space: nowrap; }
#impact .nvbb-shipadm__table code { font-size: 12px; }
#impact .nvbb-shipadm__table td svg { width: 14px; height: 14px; color: #1c6b3d; vertical-align: -2px; }
/* Tableaux défilants de l'admin : les libellés réservés aux lecteurs d'écran (.sr-only) restent dans le cadre */
.nvbb-shipadm__wrap { position: relative; }
/* Cartes de l'admin « Envoi d'argent » en grille : une colonne qui ne s'élargit pas à la taille des tableaux (mobile) */
.nvbb-bagadm-card.nvbb-remadm { grid-template-columns: minmax(0, 1fr); }
.nvbb-bagadm-card.nvbb-remadm > * { min-width: 0; }

/* =====================================================================
   154. ADMIN BOUTIQUE : COMMISSION DE LA PLATEFORME — 30/09/2026 (34)
   ===================================================================== */
.nvbb-shopcomm__rate { margin: 0 0 12px; font-size: 14px; line-height: 1.5; color: #1f2a3c; }
.nvbb-shopcomm__rate strong { font-size: 1.25rem; color: #013C80; }
.nvbb-shopcomm__form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 8px; align-items: end; margin: 0 0 6px; }
.nvbb-shopcomm__form label { grid-column: 1 / -1; font-size: 13px; font-weight: 700; color: #01203f; }
.nvbb-shopcomm__form .mdaa-form-input { width: 100%; }
.nvbb-shopcomm__form .mbae-act-btn { margin: 0; }
.nvbb-shopcomm__note, .nvbb-shopcomm__muted { margin: 0 0 10px; font-size: 12.5px; line-height: 1.5; color: #5f6d7e; }
.nvbb-shopcomm__table { width: 100%; border-collapse: collapse; font-size: 13px; }
.nvbb-shopcomm__table th { padding: 6px 4px; text-align: left; font-size: 11.5px; text-transform: uppercase; letter-spacing: .03em; color: #5f6d7e; border-bottom: 1px solid #e3e9f2; }
.nvbb-shopcomm__table td { padding: 8px 4px; vertical-align: top; border-bottom: 1px solid #eef2f7; }

/* =====================================================================
   155. PAYS DE COMMANDE FIGÉ, PAGE DE PAIEMENT, PANIER VIDE — 30/09/2026 (35)
   ===================================================================== */
/* Pays de livraison figé sur le pays de connexion */
.nvbb-geo-note { display: flex; align-items: flex-start; gap: 8px; margin: 8px 0 0; padding: 10px 12px; font-size: 13.5px; line-height: 1.5; color: #01203f; background: #eaf0f8; border-left: 3px solid #013C80; border-radius: 8px; }
.nvbb-geo-note svg { flex: none; width: 18px; height: 18px; margin-top: 1px; color: #013C80; }
.nvbb-geo-note--admin { background: #fff4e5; border-left-color: #F79303; }
.nvbb-geo-note--admin svg { color: #b86e00; }
select.nvbb-geo-locked, .nvbb-geo-locked { pointer-events: none; color: #01203f; background-color: #f2f5f9; background-image: none; }
.nvbb-geo-refusal { display: flex; align-items: flex-start; gap: 16px; max-width: 760px; margin: 0 auto 24px; padding: 24px; background: #fff; border: 1px solid #f1c7c4; border-top: 5px solid #c4302b; border-radius: 16px; box-shadow: 0 1px 3px rgba(1, 60, 128, .08); }
.nvbb-geo-refusal__ic { flex: none; display: grid; place-items: center; width: 48px; height: 48px; color: #c4302b; background: #fdeceb; border-radius: 12px; }
.nvbb-geo-refusal__ic svg { width: 26px; height: 26px; }
.nvbb-geo-refusal__t { margin: 0 0 6px; font-size: 1.2rem; color: #01203f; }
.nvbb-geo-refusal p { margin: 0 0 10px; font-size: 15px; line-height: 1.6; color: #1f2a3c; }
.nvbb-geo-refusal__acts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px !important; }
@media (max-width: 720px) { .nvbb-geo-refusal { flex-direction: column; padding: 18px; } }

/* Page de paiement des créations : icônes à leur taille */
.mdaa-payment-section__title, .mdaa-payment-summary__title, .mdaa-payment-methods__title { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; }
.mdaa-payment-section__title svg, .mdaa-payment-summary__title svg, .mdaa-payment-methods__title svg { flex: none; width: 22px; height: 22px; color: #F79303; }
.mdaa-payment-section + .mdaa-payment-section { margin-top: 20px; }
.mdaa-payment-details { padding: 0; background: none; border: 0; box-shadow: none; }
.mdaa-payment-section { padding: 20px 22px; }
.mdaa-payment-address { margin-bottom: 10px; line-height: 1.6; }
.mdaa-payment-contact { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.mdaa-payment-contact span { display: inline-flex; align-items: center; gap: 8px; }
.mdaa-payment-contact svg { flex: none; width: 18px; height: 18px; color: #013C80; }
.mdaa-payment-item__no-img svg { width: 28px; height: 28px; }
.mdaa-payment-security__icon svg, .mdaa-payment-hero__icon svg { width: 24px; height: 24px; }
.mdaa-payment-method svg { flex: none; width: 20px; height: 20px; }
.mdaa-payment-summary .mdaa-btn svg { width: 18px; height: 18px; }

/* Panier vide : pleine largeur, trois cartes */
.nvbb-cc .mdaa-cart-empty.nvbb-cc-empty { max-width: none; padding: 36px 28px 30px; }
.nvbb-cc-empty .nvbb-cc-empty__links { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 22px; }
.nvbb-cc-empty .nvbb-cc-empty__link { position: relative; flex-direction: column; gap: 10px; padding: 20px 18px 18px; border-radius: 14px; transition: border-color .15s, box-shadow .15s, transform .15s; }
.nvbb-cc-empty .nvbb-cc-empty__link::after { content: ""; position: absolute; right: 16px; top: 22px; width: 8px; height: 8px; border-top: 2px solid #013C80; border-right: 2px solid #013C80; transform: rotate(45deg); }
.nvbb-cc-empty .nvbb-cc-empty__link:hover { transform: translateY(-2px); }
.nvbb-cc-empty .nvbb-cc-empty__link svg { width: 24px; height: 24px; padding: 10px; box-sizing: content-box; color: #F79303; background: #fff4e5; border-radius: 12px; }
.nvbb-cc-empty .nvbb-cc-empty__link strong { font-size: 1.02rem; color: #01203f; }
.nvbb-cc-empty .nvbb-cc-empty__link small { font-size: 13.5px; line-height: 1.5; }
@media (max-width: 860px) { .nvbb-cc-empty .nvbb-cc-empty__links { grid-template-columns: minmax(0, 1fr); } }
/* Commande des boutiques : blocs « Retrait » et « Livraison » sur une colonne (la règle de mise en page 10.2 les coupait en deux colonnes) ; récapitulatif : nom lisible, prix sur deux lignes */
.mdaa-checkout-summary-item { grid-template-columns: 56px minmax(0, 1fr); column-gap: 12px; row-gap: 2px; }
.mdaa-checkout-summary-item__img { grid-row: span 2; position: relative; width: 56px; height: 56px; }
.mdaa-checkout-summary-item__img img { width: 56px; height: 56px; color: transparent; overflow: hidden; }
.mdaa-checkout-summary-item__qty { position: absolute; top: -6px; right: -6px; min-width: 20px; height: 20px; padding: 0 5px; box-sizing: border-box; display: grid; place-items: center; border-radius: 999px; background: #013C80; color: #fff; font-size: 11px; font-weight: 700; line-height: 1; }
.mdaa-checkout-summary-item__price { grid-column: 2; text-align: left; white-space: normal; line-height: 1.35; }
.mbae-co-pickup { margin-bottom: var(--mdaa-sp-4); }
.mdaa-payment-item__img img { color: transparent; overflow: hidden; }
.mdaa-payment-summary .mdaa-payment-methods, .mdaa-payment-methods { margin-top: 18px; }
/* =====================================================================
   156. Taxes du panier (30/09/2026) : mention du régime de taxe (page de paiement, récapitulatifs)
   ===================================================================== */
.nvbb-tax-note { display: flex; gap: 8px; align-items: flex-start; margin: 12px 0 14px; padding: 10px 12px; border-radius: 10px; background: #eef4fb; color: #01203f; font-size: 13px; line-height: 1.5; }
.nvbb-tax-note svg { flex: 0 0 16px; width: 16px; height: 16px; margin-top: 2px; color: #013C80; }
.nvbb-tax-note[data-regime="ioss"], .nvbb-tax-note[data-regime="collected"], .nvbb-tax-note[data-regime="origin"] { background: #eaf6ef; }
.nvbb-tax-note[data-regime="ioss"] svg, .nvbb-tax-note[data-regime="collected"] svg, .nvbb-tax-note[data-regime="origin"] svg { color: #1f7a45; }
.mdaa-checkout-summary .mdaa-checkout-dap { display: flex; gap: 8px; align-items: flex-start; margin: 12px 0; padding: 10px 12px; border-radius: 10px; background: #eef4fb; color: #01203f; font-size: 13px; line-height: 1.5; }
.mdaa-checkout-summary .mdaa-checkout-dap[hidden] { display: none; }
.mdaa-checkout-summary .mdaa-checkout-dap svg { flex: 0 0 16px; margin-top: 2px; color: #013C80; }
.mdaa-checkout-summary .mdaa-checkout-dap[data-regime="ioss"], .mdaa-checkout-summary .mdaa-checkout-dap[data-regime="collected"], .mdaa-checkout-summary .mdaa-checkout-dap[data-regime="origin"] { background: #eaf6ef; color: #14532d; }
.mdaa-checkout-summary .mdaa-checkout-dap[data-regime="ioss"] svg, .mdaa-checkout-summary .mdaa-checkout-dap[data-regime="collected"] svg, .mdaa-checkout-summary .mdaa-checkout-dap[data-regime="origin"] svg { color: #1f7a45; }
.nvbb-cc-rec__tax { display: block; margin-top: 6px; padding: 6px 10px; border-radius: 8px; background: #eef4fb; color: #01203f; line-height: 1.45; }
/* =====================================================================
   157. Espace livreur (30/09/2026) : téléphone d'abord, grandes zones à toucher
   ===================================================================== */
.nvbb-cour { max-width: 640px; margin: 0 auto; padding: 18px 16px 48px; color: #01203f; }
.nvbb-cour--login { display: grid; place-items: start center; min-height: 60vh; padding-top: 32px; }
.nvbb-cour__card { width: 100%; max-width: 440px; background: #fff; border: 1px solid #dde5f0; border-top: 4px solid #F79303; border-radius: 16px; padding: 26px 22px; box-shadow: 0 10px 30px rgba(1, 32, 63, .08); }
.nvbb-cour__badge { display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 16px; background: #013C80; color: #fff; margin-bottom: 12px; }
.nvbb-cour__badge svg { width: 30px; height: 30px; }
.nvbb-cour__title { font-size: 1.45rem; line-height: 1.2; margin: 0 0 6px; color: #01203f; }
.nvbb-cour__lead, .nvbb-cour__who { margin: 0 0 16px; color: #4a5a70; font-size: 14.5px; line-height: 1.55; }
.nvbb-cour__steps { display: flex; gap: 10px; list-style: none; margin: 8px 0 18px; padding: 0; font-size: 13px; color: #6b7a90; }
.nvbb-cour__steps li { display: inline-flex; align-items: center; gap: 6px; }
.nvbb-cour__steps span { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #e8eef6; font-weight: 700; font-size: 12px; }
.nvbb-cour__steps .is-current { color: #013C80; font-weight: 700; }
.nvbb-cour__steps .is-current span { background: #013C80; color: #fff; }
.nvbb-cour__steps .is-done span { background: #1f7a45; color: #fff; }
.nvbb-cour__form { display: grid; gap: 10px; }
.nvbb-cour__label { font-weight: 700; font-size: 13px; letter-spacing: .02em; text-transform: uppercase; color: #01203f; }
.nvbb-cour__req { color: #c2410c; }
.nvbb-cour__input { width: 100%; box-sizing: border-box; min-height: 52px; padding: 12px 14px; border: 1.5px solid #c9d5e5; border-radius: 12px; font-size: 17px; background: #fff; color: #01203f; }
.nvbb-cour__input:focus { outline: none; border-color: #013C80; box-shadow: 0 0 0 3px rgba(1, 60, 128, .15); }
.nvbb-cour__input--code { font-family: ui-monospace, Menlo, Consolas, monospace; letter-spacing: .12em; text-transform: uppercase; }
.nvbb-cour__btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 12px 20px; border: 0; border-radius: 12px; background: #F79303; color: #01203f; font-weight: 800; font-size: 16px; text-decoration: none; cursor: pointer; width: 100%; box-sizing: border-box; }
.nvbb-cour__btn:hover { background: #e58600; }
.nvbb-cour__btn svg { width: 20px; height: 20px; flex: 0 0 20px; }
.nvbb-cour__btn--ghost { background: #fff; color: #013C80; border: 1.5px solid #013C80; }
.nvbb-cour__btn--ghost:hover { background: #eef4fb; }
.nvbb-cour__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.nvbb-cour__alt { margin: 14px 0 0; font-size: 14px; }
.nvbb-cour__alt a { color: #013C80; }
.nvbb-cour__flash { margin: 0 0 14px; padding: 12px 14px; border-radius: 12px; font-size: 14px; line-height: 1.5; }
.nvbb-cour__flash--ok { background: #eaf6ef; color: #14532d; }
.nvbb-cour__flash--err { background: #fdecea; color: #8a1c12; }
.nvbb-cour__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 8px; }
.nvbb-cour__icon-btn { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; border: 1.5px solid #c9d5e5; background: #fff; color: #013C80; cursor: pointer; }
.nvbb-cour__h2 { display: flex; align-items: center; gap: 8px; font-size: 1.08rem; margin: 22px 0 10px; color: #01203f; }
.nvbb-cour__count { display: inline-grid; place-items: center; min-width: 26px; height: 26px; padding: 0 7px; border-radius: 999px; background: #013C80; color: #fff; font-size: 13px; }
.nvbb-cour__empty { margin: 0; padding: 16px; border-radius: 12px; background: #f4f7fb; color: #4a5a70; font-size: 14px; }
.nvbb-cour__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.nvbb-cour__item { display: flex; align-items: center; gap: 12px; padding: 14px; background: #fff; border: 1px solid #dde5f0; border-left: 4px solid #F79303; border-radius: 14px; text-decoration: none; color: inherit; }
.nvbb-cour__item.is-waiting { border-left-color: #c9d5e5; opacity: .8; }
.nvbb-cour__item-ic { display: inline-grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; border-radius: 12px; background: #eef4fb; color: #013C80; }
.nvbb-cour__item-body { display: grid; gap: 3px; min-width: 0; flex: 1; font-size: 13.5px; color: #4a5a70; }
.nvbb-cour__item-body strong { font-size: 15px; color: #01203f; word-break: break-all; }
.nvbb-cour__chev { color: #525f71; flex: 0 0 18px; }
.nvbb-cour__tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 0; }
.nvbb-cour__tag { display: inline-block; padding: 3px 9px; border-radius: 999px; background: #eef4fb; color: #013C80; font-size: 12px; font-weight: 700; }
.nvbb-cour__tag--laposte_bj { background: #fff4e5; color: #9a4b00; }
.nvbb-cour__tag--postnl { background: #fff1e0; color: #b45309; }
.nvbb-cour__tag--dhl { background: #fff8d6; color: #8a6200; }
.nvbb-cour__tag--st { background: #f1f3f6; color: #4a5a70; }
.nvbb-cour__done { display: grid; gap: 2px; padding: 12px 14px; border-radius: 12px; background: #f7f9fc; font-size: 13.5px; color: #4a5a70; }
.nvbb-cour__done strong { color: #01203f; }
.nvbb-cour__back { display: inline-flex; align-items: center; gap: 4px; margin-bottom: 10px; color: #013C80; font-weight: 700; text-decoration: none; min-height: 44px; }
.nvbb-cour__phead { margin-bottom: 12px; }
.nvbb-cour__phead .nvbb-cour__title { word-break: break-all; }
.nvbb-cour__box { background: #fff; border: 1px solid #dde5f0; border-radius: 14px; padding: 16px; margin-bottom: 12px; font-size: 14.5px; line-height: 1.55; }
.nvbb-cour__box--ok { border-color: #b9e0c8; background: #f2faf5; }
.nvbb-cour__h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font-size: 1rem; color: #01203f; }
.nvbb-cour__h3 svg { color: #F79303; flex: 0 0 20px; }
.nvbb-cour__addr { margin: 0 0 8px; }
.nvbb-cour__tel { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: #013C80; font-weight: 700; text-decoration: none; }
.nvbb-cour__note { margin: 6px 0 0; padding: 8px 10px; border-radius: 10px; background: #fff8ec; }
.nvbb-cour__muted { margin: 6px 0 0; color: #5b6b80; font-size: 13.5px; line-height: 1.5; }
.nvbb-cour__items { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.nvbb-cour__items li { display: flex; justify-content: space-between; gap: 10px; }
.nvbb-cour__flow { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 12px; }
.nvbb-cour__step { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 12px; background: #fff; border: 1px solid #dde5f0; border-radius: 14px; padding: 16px 14px; }
.nvbb-cour__step h3 { margin: 4px 0 10px; font-size: 1rem; color: #01203f; }
.nvbb-cour__step.is-done { background: #f2faf5; border-color: #b9e0c8; }
.nvbb-cour__num { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #013C80; color: #fff; font-weight: 800; }
.nvbb-cour__step.is-done .nvbb-cour__num { background: #1f7a45; }
.nvbb-cour__num svg { width: 18px; height: 18px; }
.nvbb-cour__check { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; line-height: 1.45; padding: 6px 0; }
.nvbb-cour__check input { width: 22px; height: 22px; flex: 0 0 22px; accent-color: #013C80; margin: 0; }
@media (min-width: 700px) { .nvbb-cour__btn { width: auto; } .nvbb-cour__form .nvbb-cour__btn, .nvbb-cour__card .nvbb-cour__btn { width: 100%; } }
/* =====================================================================
   158. Envoi depuis les Pays-Bas (30/09/2026) : transporteur imposé, récapitulatif du panier selon le pays
   ===================================================================== */
.nvbb-ship-fixed { display: grid; gap: 4px; margin: 6px 0 0; padding: 10px 12px; border-radius: 10px; background: #eef4fb; color: #01203f; font-size: 13.5px; line-height: 1.5; }
.nvbb-ship-fixed strong { font-size: 15px; color: #013C80; }
.nvbb-cc-summary .nvbb-cc-qrow dt { display: grid; gap: 2px; }
.nvbb-cc-summary .nvbb-cc-qrow dt small { font-size: 12.5px; color: #5b6b80; font-weight: 400; }
.nvbb-cc-summary .nvbb-cc-qrow dd em { font-style: normal; color: #8a1c12; font-size: 13px; }
.nvbb-cc-summary .nvbb-cc-vat { font-size: 13px; color: #5b6b80; }
.nvbb-cc-summary .nvbb-cc-vat dt, .nvbb-cc-summary .nvbb-cc-vat dd { font-weight: 400; }
.nvbb-cc-where { display: flex; gap: 8px; align-items: flex-start; margin: 12px 0 0; padding: 10px 12px; border-radius: 10px; background: #eef4fb; color: #01203f; font-size: 13px; line-height: 1.5; }
.nvbb-cc-where svg { flex: 0 0 16px; margin-top: 2px; color: #013C80; }
.nvbb-shipadm__weights { display: grid; gap: 8px; max-width: 420px; }
.nvbb-shipadm__rates td, .nvbb-shipadm__rates th { white-space: nowrap; }
/* =====================================================================
   159. Admin « Livreurs » (30/09/2026)
   ===================================================================== */
.nvbb-couradm__form { display: grid; gap: 12px; max-width: 520px; }
.nvbb-couradm__chips { display: grid; gap: 8px; border: 0; margin: 0; padding: 0; }
.nvbb-couradm__chip { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1.5px solid #c9d5e5; border-radius: 10px; cursor: pointer; background: #fff; }
.nvbb-couradm__chip:has(input:checked) { border-color: #013C80; background: #eef4fb; }
.nvbb-couradm__chip input { width: 18px; height: 18px; accent-color: #013C80; }
.nvbb-couradm__inline { display: inline-flex; gap: 6px; }
.nvbb-couradm__pill { min-width: 44px; min-height: 36px; padding: 4px 10px; border: 1.5px solid #c9d5e5; border-radius: 999px; background: #fff; color: #01203f; font-weight: 700; cursor: pointer; }
.nvbb-couradm__pill.is-on { background: #013C80; border-color: #013C80; color: #fff; }
.nvbb-couradm__state { min-height: 36px; padding: 4px 12px; border-radius: 999px; border: 1.5px solid #c9d5e5; background: #f4f6fa; color: #5b6b80; font-weight: 700; cursor: pointer; }
.nvbb-couradm__state.is-on { background: #eaf6ef; border-color: #b9e0c8; color: #14532d; }
/* Tableau de bord admin : envois, livreurs et taxes (30/09/2026) */
.nvbb-dash-logi { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px; }
.nvbb-dash-logi__card { display: grid; align-content: start; gap: 6px; padding: 16px; border: 1px solid #dde5f0; border-left: 4px solid #013C80; border-radius: 12px; background: #fff; color: #01203f; text-decoration: none; }
a.nvbb-dash-logi__card:hover { box-shadow: 0 6px 18px rgba(1, 32, 63, .08); }
.nvbb-dash-logi__card.is-alert { border-left-color: #c2410c; background: #fff7f0; }
.nvbb-dash-logi__num { font-size: 2rem; font-weight: 800; line-height: 1; color: #013C80; }
.nvbb-dash-logi__card.is-alert .nvbb-dash-logi__num { color: #c2410c; }
.nvbb-dash-logi__lbl { font-weight: 700; font-size: 14px; line-height: 1.4; }
.nvbb-dash-logi__card small { color: #5b6b80; font-size: 12.5px; line-height: 1.45; }
.nvbb-dash-logi__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; font-size: 13.5px; }
.nvbb-dash-logi__list li { display: flex; justify-content: space-between; gap: 8px; }
.nvbb-dash-logi__list b.is-on { color: #1f7a45; }

/* =====================================================================
   160. Page « merci » : paiement non confirmé (30/09/2026)
   Carte affichée à la place de « Merci… paiement confirmé » tant que la
   commande n'est pas payée en base (non reçu, refusé, en attente).
   ===================================================================== */
.nvbb-paystate { max-width: 640px; margin: 0 auto; background: #fff; border: 1px solid #dfe5ee; border-top: 4px solid #F79303; border-radius: 14px; padding: 28px 24px; text-align: center; box-shadow: 0 6px 22px rgba(1, 60, 128, .07); }
.nvbb-paystate--failed { border-top-color: #b42318; }
.nvbb-paystate--waiting { border-top-color: #013C80; }
.nvbb-paystate__icon { width: 56px; height: 56px; margin: 0 auto 12px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #fff4e6; color: #b45f00; }
.nvbb-paystate--failed .nvbb-paystate__icon { background: #fdecea; color: #b42318; }
.nvbb-paystate--waiting .nvbb-paystate__icon { background: #e8eff8; color: #013C80; }
.nvbb-paystate__icon svg { width: 30px; height: 30px; }
.nvbb-paystate__title { font-size: 24px; line-height: 1.25; color: #013C80; margin: 0 0 8px; }
.nvbb-paystate__text { font-size: 15px; line-height: 1.55; color: #33425a; margin: 0 auto 18px; max-width: 520px; }
.nvbb-paystate__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 0 20px; padding: 0; text-align: left; }
.nvbb-paystate__facts > div { background: #f5f7fb; border-radius: 10px; padding: 10px 12px; min-width: 0; }
.nvbb-paystate__facts dt { font-size: 12px; color: #5f6d7e; margin: 0 0 2px; }
.nvbb-paystate__facts dd { margin: 0; font-weight: 700; font-size: 14px; color: #0f1f36; overflow-wrap: anywhere; }
.nvbb-paystate__actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin: 0 0 16px; }
.nvbb-paystate__btn { display: inline-flex; align-items: center; gap: 8px; }
.nvbb-paystate__btn svg { width: 18px; height: 18px; flex: 0 0 18px; }
.nvbb-paystate__note { font-size: 13px; line-height: 1.5; color: #5f6d7e; margin: 0 0 6px; }
.nvbb-paystate__help { font-size: 13px; margin: 0; color: #5f6d7e; }
.nvbb-paystate__help a { color: #013C80; font-weight: 600; }
@media (max-width: 560px) {
  .nvbb-paystate { padding: 22px 16px; }
  .nvbb-paystate__title { font-size: 20px; }
  .nvbb-paystate__facts { grid-template-columns: 1fr; }
  .nvbb-paystate__btn { width: 100%; justify-content: center; }
}

/* =====================================================================
   161. Références de commande copiables (30/09/2026)
   Script public/assets/js/nvbb-copy-ref.js : bouton « Copier » après
   chaque référence (NVBB-ORD-…, NVBB-MBAE-…, SIAM-TKT-…, NVBB-FACT-…).
   ===================================================================== */
.nvbb-copyref { display: inline; }
.nvbb-copyref__code { -webkit-user-select: all; user-select: all; cursor: text; white-space: nowrap; }
.nvbb-copyref__btn { display: inline-flex; align-items: center; gap: 4px; flex: 0 0 auto; margin: 0 0 0 8px; padding: 2px 0; border: 0; background: none; color: #013C80; font: inherit; font-size: 13px; font-weight: 600; line-height: 1.3; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; vertical-align: baseline; white-space: nowrap; letter-spacing: 0; text-transform: none; }
.nvbb-copyref__btn svg { width: 14px; height: 14px; display: block; flex: 0 0 14px; }
.nvbb-copyref__btn:hover { color: #F79303; }
.nvbb-copyref__btn:focus-visible { outline: 2px solid #F79303; outline-offset: 2px; border-radius: 4px; }
.nvbb-copyref__btn.is-copied { color: #1f7a45; text-decoration: none; }
/* Lien sous le cadre d'une grande référence (suivi, remerciement, billets) */
.nvbb-copyref__btn--out { display: flex; width: fit-content; margin: 10px 0 0; font-size: 14px; }
.nvbb-copyref__btn--light { color: #ffd08a; }
.nvbb-copyref__btn--light:hover { color: #fff; }
.nvbb-copyref__btn--light.is-copied { color: #9fe0b6; }
[style*="text-align:center"] > .nvbb-copyref__btn--out, .mdaa-success-hero .nvbb-copyref__btn--out { margin-left: auto; margin-right: auto; }
.nvbb-copyref-host { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }
@media (max-width: 360px) { .nvbb-copyref__code { white-space: normal; overflow-wrap: anywhere; } }
/* Grandes références (bandeaux de confirmation, suivi, billets) : retour à la ligne permis aux tirets */
.mdaa-b2b-success__ref-code .nvbb-copyref__code, .mdaa-success-hero__ref-code .nvbb-copyref__code, .mbae-pickup__order-code .nvbb-copyref__code,
.mdaa-ticket-card__code .nvbb-copyref__code, .mdaa-success-ticket-card__code .nvbb-copyref__code, .mdaa-track-hero__code .nvbb-copyref__code,
.mdaa-track-notfound__code .nvbb-copyref__code { white-space: normal; overflow-wrap: anywhere; }
/* Listes admin : référence sur une ligne, bouton à côté */
.mdaa-admin-order-code-link { white-space: nowrap; }
@media (max-width: 720px) {
  td .nvbb-copyref__code, .mdaa-admin-order-code-link { white-space: normal; overflow-wrap: anywhere; }
}
.nvbb-copyref__live { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
@media print { .nvbb-copyref__btn { display: none !important; } }

/* =====================================================================
   162. Correctifs de styles relevés par le contrôle du 30/09/2026
   (export 56) : icônes géantes et puces de la page « merci », tableaux
   admin qui débordaient sur téléphone, cartes admin trop larges.
   ===================================================================== */
/* Listes d'articles des récapitulatifs : sans puce ni retrait */
.mdaa-checkout-summary-items, .mdaa-payment-items, .mdaa-success-items, .mdaa-siam-timeline { list-style: none; margin-top: 0; padding-left: 0; }
.mdaa-siam-timeline { padding-left: var(--mdaa-sp-5); }
/* Page « merci » : icônes des titres et des coordonnées à leur taille */
.mdaa-success-block__title, .mdaa-success-summary__title { display: flex; align-items: center; gap: 10px; }
.mdaa-success-block__title svg, .mdaa-success-summary__title svg { width: 22px; height: 22px; flex: 0 0 22px; color: #F79303; }
.mdaa-success-contact { display: grid; gap: 6px; }
.mdaa-success-contact span { display: inline-flex; align-items: center; gap: 8px; overflow-wrap: anywhere; }
.mdaa-success-contact svg { width: 16px; height: 16px; flex: 0 0 16px; color: #013C80; }
.mdaa-success-item__img { width: 56px; height: 56px; overflow: hidden; }
.mdaa-success-item__img img { display: block; width: 100%; height: 100%; object-fit: cover; font-size: 0; }
.mdaa-success-item__no-img svg, .mdaa-payment-item__no-img svg, .mdaa-checkout-summary-item__no-img svg { width: 24px; height: 24px; }
.mdaa-success-payment-info { display: grid; gap: 6px; margin: 14px 0; }
.mdaa-success-payment-info__row { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; }
/* Cartes admin (grille) : le contenu ne peut plus élargir la carte */
.nvbb-bagadm-card { grid-template-columns: minmax(0, 1fr); min-width: 0; }
.nvbb-tool pre, .nvbb-tool table { max-width: 100%; }
.nvbb-tool pre { overflow-x: auto; white-space: pre-wrap; word-break: break-word; }
/* Tableaux larges : défilement horizontal dans leur cadre, jamais la page */
.nvbb-table-scroll { width: 100%; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: 10px; }
.nvbb-table-scroll > table { min-width: 760px; margin: 0; }
.nvbb-table-scroll td .nvbb-copyref__code, .nvbb-table-scroll td .mdaa-admin-order-code-link { white-space: nowrap; overflow-wrap: normal; }
.nvbb-table-scroll:focus-visible { outline: 2px solid #F79303; outline-offset: 2px; }
@media (max-width: 480px) {
  .mdaa-success-item, .mdaa-payment-item { grid-template-columns: 56px minmax(0, 1fr); }
  .mdaa-success-item__price, .mdaa-payment-item__price { grid-column: 2; }
}
@media (max-width: 720px) {
  .nvbb-table-scroll { box-shadow: inset -10px 0 8px -8px rgba(1, 60, 128, .18); }
}

/* =====================================================================
   163. Tableau de bord admin : commandes au délai de paiement dépassé (30/09/2026)
   ===================================================================== */
.mdaa-admin-alert-card.mdaa-admin-alert-card--danger { border-color: #f1c4bf; border-left: 4px solid #b42318; background: #fff6f5; }
.mdaa-admin-alert-card.mdaa-admin-alert-card--danger .mdaa-admin-alert-card__num { color: #b42318; }

/* =====================================================================
   164. Admin « Envoi des boutiques » : tarifs par transporteur (1er octobre 2026)
   Un bloc PostNL et un bloc DHL, dates et sources lues dans la base.
   ===================================================================== */
.nvbb-shipadm__meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; margin-top: 12px; }
.nvbb-shipadm__meta-card { min-width: 0; padding: 14px 16px; border: 1px solid #dfe5ee; border-left: 4px solid #013C80; border-radius: 10px; background: #f7f9fc; }
.nvbb-shipadm__meta-card:nth-child(2) { border-left-color: #F79303; }
.nvbb-shipadm__meta-card h3 { margin: 0 0 8px; font-size: 15px; font-weight: 800; color: #013C80; }
.nvbb-shipadm__meta-card dl { display: grid; gap: 6px; margin: 0 0 8px; }
.nvbb-shipadm__meta-card dl > div { display: grid; grid-template-columns: minmax(0, 190px) minmax(0, 1fr); gap: 8px; font-size: 13px; }
.nvbb-shipadm__meta-card dt { color: #5f6d7e; }
.nvbb-shipadm__meta-card dd { margin: 0; font-weight: 700; color: #0f1f36; overflow-wrap: anywhere; }
.nvbb-shipadm__meta-card p { margin: 0; font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
@media (max-width: 480px) { .nvbb-shipadm__meta-card dl > div { grid-template-columns: 1fr; gap: 2px; } }
/* 164 (suite) : bloc « Mise à jour automatique (API) » */
.nvbb-shipadm__sync { display: grid; gap: 8px; padding: 12px 14px; margin: 4px 0 8px; border: 1px dashed #c9d6e8; border-radius: 10px; background: #fff; }
.nvbb-shipadm__sync p { margin: 0; font-size: 13px; }
.nvbb-shipadm__sync-state { color: #8a4b00; }
.nvbb-shipadm__sync-state.is-on { color: #1f7a45; }
.nvbb-shipadm__sync form { margin: 0; }
.nvbb-shipadm__sync button[disabled] { opacity: .55; cursor: not-allowed; }

/* =====================================================================
   165. Page Livraison : tableau des frais d'envoi lu dans la base (1er octobre 2026)
   Marqueur {{TARIFS_LIVRAISON}} (config/shipping/ship_rates_helpers.php).
   ===================================================================== */
.nvbb-shiprates__meta { list-style: none; margin: 8px 0 12px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 14px; color: #33425a; }
.nvbb-shiprates__meta li { padding: 6px 10px; background: #f3f6fb; border-radius: 8px; }
.nvbb-shiprates { margin: 0 0 8px; border: 1px solid #dfe5ee; }
.nvbb-shiprates table { width: 100%; border-collapse: collapse; font-size: 14px; background: #fff; }
.nvbb-shiprates th, .nvbb-shiprates td { padding: 8px 10px; text-align: left; border-bottom: 1px solid #eef2f7; white-space: nowrap; }
.nvbb-shiprates thead th { background: #013C80; color: #fff; font-weight: 700; font-size: 13px; position: sticky; top: 0; }
.nvbb-shiprates tbody th { font-weight: 700; color: #0f1f36; }
.nvbb-shiprates tbody tr:nth-child(even) { background: #f8fafc; }
.nvbb-shiprates td:nth-child(n+3) { text-align: right; font-variant-numeric: tabular-nums; }
.nvbb-shiprates__note { font-size: 13px; color: #5f6d7e; margin: 0 0 16px; }
.nvbb-shiprates.nvbb-table-scroll { max-height: 520px; overflow: auto; }

/* =====================================================================
   166. Focus clavier visible partout (1er octobre 2026)
   Contrôle clavier des espaces admin, artisan et livreur : certains champs
   (recherche, heures, dates, onglets de langue) retiraient le contour au
   focus. Anneau commun aux couleurs NVBB : bord bleu #013C80 collé à
   l'élément, contour orange #F79303 autour (lisible sur fond clair et
   sur fond bleu, WCAG 2.4.7 et 1.4.11). Seulement au clavier (:focus-visible).
   ===================================================================== */
:where(a[href], button, input:not([type="hidden"]), select, textarea, summary, [tabindex]:not([tabindex="-1"]), [contenteditable="true"]):focus-visible {
    outline: 3px solid #F79303 !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 2px #013C80 !important;
}
/* Champs date et heure : le focus est sur les segments internes, :focus-visible
   n'est pas toujours appliqué au champ lui-même → :focus. */
:where(input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"]):focus {
    outline: 3px solid #F79303 !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 2px #013C80 !important;
}

/* =====================================================================
   167. Page Livraison : calculateur des frais d'envoi (1er octobre 2026)
   Pays + poids, puis deux cartes : départ du Bénin (La Poste du Bénin)
   et départ des Pays-Bas (PostNL / DHL). Lien vers la politique de livraison.
   ===================================================================== */
.nvbb-shipcalc { background: #fff; border: 1px solid #dfe5ee; border-top: 4px solid #013C80; border-radius: 14px; padding: 22px 24px; box-shadow: 0 6px 18px rgba(1, 60, 128, .06); }
.nvbb-shipcalc__title { margin: 0 0 14px; font-size: 18px; color: #013C80; }
.nvbb-shipcalc__row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.nvbb-shipcalc__field label { display: block; font-size: 13px; font-weight: 700; color: #0f1f36; margin: 0 0 6px; }
.nvbb-shipcalc__box { position: relative; }
.nvbb-shipcalc__ico { position: absolute; left: 12px; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); color: #5f6d7e; pointer-events: none; }
.nvbb-shipcalc__box input, .nvbb-shipcalc__field select { width: 100%; height: 46px; border: 1px solid #c9d3e0; border-radius: 10px; font: inherit; font-size: 15px; color: #0f1f36; background: #fff; }
.nvbb-shipcalc__box input { padding: 0 12px 0 38px; }
.nvbb-shipcalc__field select { padding: 0 10px; }
.nvbb-shipcalc__box input:focus, .nvbb-shipcalc__field select:focus { border-color: #013C80; }
.nvbb-shipcalc__hint { display: block; margin-top: 6px; font-size: 12px; color: #5f6d7e; }
.nvbb-shipcalc__list { position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 4px); margin: 0; padding: 4px; list-style: none; background: #fff; border: 1px solid #c9d3e0; border-radius: 10px; box-shadow: 0 10px 24px rgba(15, 31, 54, .14); max-height: 280px; overflow: auto; scrollbar-color: #013C80 #fdebd0; scrollbar-width: thin; }
.nvbb-shipcalc__opt { padding: 9px 12px; border-radius: 7px; cursor: pointer; font-size: 14px; color: #0f1f36; }
.nvbb-shipcalc__opt:hover, .nvbb-shipcalc__opt[aria-selected="true"] { background: #eef3fa; color: #013C80; }
.nvbb-shipcalc__opt--none { color: #5f6d7e; cursor: default; }
.nvbb-shipcalc__out { margin-top: 18px; }
.nvbb-shipcalc__prompt { margin: 0; padding: 16px 18px; background: #f6f8fb; border: 1px dashed #c9d3e0; border-radius: 12px; color: #33425a; font-size: 14px; }
.nvbb-shipcalc__dest { font-size: 16px; margin: 0 0 12px; color: #0f1f36; }
.nvbb-shipcalc__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.nvbb-shipcalc__card { background: #fff; border: 1px solid #dfe5ee; border-radius: 14px; padding: 18px 18px 14px; display: flex; flex-direction: column; }
.nvbb-shipcalc__card--bj { border-top: 4px solid #F79303; }
.nvbb-shipcalc__card--nl { border-top: 4px solid #013C80; }
.nvbb-shipcalc__card header { display: flex; gap: 12px; align-items: center; margin-bottom: 12px; }
.nvbb-shipcalc__card h3 { margin: 0; font-size: 16px; color: #0f1f36; }
.nvbb-shipcalc__card header p { margin: 2px 0 0; font-size: 13px; color: #5f6d7e; }
.nvbb-shipcalc__badge { flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
.nvbb-shipcalc__badge svg { width: 22px; height: 22px; }
.nvbb-shipcalc__card--bj .nvbb-shipcalc__badge { background: #fff3e0; color: #7a4300; }
.nvbb-shipcalc__card--nl .nvbb-shipcalc__badge { background: #e8eef7; color: #013C80; }
.nvbb-shipcalc__dl { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 0 12px; }
.nvbb-shipcalc__dl div { background: #f6f8fb; border-radius: 10px; padding: 8px 10px; }
.nvbb-shipcalc__dl dt { font-size: 12px; color: #5f6d7e; }
.nvbb-shipcalc__dl dd { margin: 2px 0 0; font-weight: 700; font-size: 14px; color: #0f1f36; }
.nvbb-shipcalc__price { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: 0 0 8px; padding-top: 10px; border-top: 1px solid #eef2f7; }
.nvbb-shipcalc__price span { font-size: 13px; color: #33425a; }
.nvbb-shipcalc__price strong { font-size: 22px; color: #013C80; font-variant-numeric: tabular-nums; text-align: right; }
.nvbb-shipcalc__note { margin: 0; font-size: 12px; color: #5f6d7e; line-height: 1.5; }
.nvbb-shipcalc__none { margin: 0; font-size: 14px; color: #33425a; line-height: 1.55; }
.nvbb-shipcalc__none a { color: #013C80; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.nvbb-shipcalc__checked { margin: 14px 0 0; font-size: 12px; color: #5f6d7e; }
.nvbb-shipcalc__policy { margin-top: 18px; display: flex; align-items: center; gap: 14px; padding: 14px 18px; border: 1px solid #dfe5ee; border-left: 4px solid #F79303; border-radius: 12px; background: #fff; color: #0f1f36; text-decoration: none; }
.nvbb-shipcalc__policy:hover { border-color: #013C80; background: #f6f8fb; }
.nvbb-shipcalc__policy > svg { width: 26px; height: 26px; color: #013C80; flex: 0 0 26px; }
.nvbb-shipcalc__policy span { flex: 1; display: flex; flex-direction: column; }
.nvbb-shipcalc__policy strong { color: #013C80; font-size: 15px; text-decoration: underline; text-underline-offset: 2px; }
.nvbb-shipcalc__policy small { font-size: 13px; color: #5f6d7e; }
.nvbb-shipcalc__arrow { width: 20px; height: 20px; color: #F79303; flex: 0 0 20px; }
@media (max-width: 720px) {
    .nvbb-shipcalc { padding: 16px; }
    .nvbb-shipcalc__row, .nvbb-shipcalc__cards { grid-template-columns: minmax(0, 1fr); }
    .nvbb-shipcalc__price strong { font-size: 20px; }
}

/* Tableau des frais d'envoi (politique de livraison, {{TARIFS_LIVRAISON}}) revu :
   textes plus petits, transporteur en pastille, barre de défilement aux couleurs du logo. */
.nvbb-shiprates__meta { font-size: 13px; }
.nvbb-shiprates { border: 1px solid #dfe5ee; border-radius: 12px; box-shadow: 0 4px 14px rgba(1, 60, 128, .06); max-height: 440px; scrollbar-color: #013C80 #fdebd0; scrollbar-width: thin; }
.nvbb-shiprates.nvbb-table-scroll { max-height: 440px; }
.nvbb-shiprates::-webkit-scrollbar { width: 10px; height: 10px; }
.nvbb-shiprates::-webkit-scrollbar-track { background: #fdebd0; border-radius: 10px; }
.nvbb-shiprates::-webkit-scrollbar-thumb { background: #013C80; border-radius: 10px; border: 2px solid #fdebd0; }
.nvbb-shiprates::-webkit-scrollbar-thumb:hover { background: #F79303; }
.nvbb-shiprates table { font-size: 13px; }
.nvbb-shiprates th, .nvbb-shiprates td { padding: 7px 12px; }
.nvbb-shiprates thead th { font-size: 12px; letter-spacing: .02em; text-transform: none; z-index: 2; box-shadow: inset 0 -3px 0 #F79303; }
.nvbb-shiprates tbody th { font-weight: 600; position: sticky; left: 0; background: inherit; z-index: 1; }
.nvbb-shiprates tbody tr { background: #fff; }
.nvbb-shiprates tbody tr:nth-child(even) { background: #f8fafc; }
.nvbb-shiprates tbody tr:hover { background: #fff7ea; }
.nvbb-shiprates td:last-child { text-align: center; color: #33425a; }
.nvbb-shiprates__carrier { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.nvbb-shiprates__carrier--postnl { background: #fff3e0; color: #7a4300; }
.nvbb-shiprates__carrier--dhl { background: #e8eef7; color: #013C80; }
.nvbb-shiprates__note { font-size: 12px; }
.mdaa-static-prose ul.nvbb-shiprates__meta > li { padding: 6px 12px 6px 12px; }
.mdaa-static-prose ul.nvbb-shiprates__meta > li::before { content: none; display: none; }
.mdaa-static-prose ul.nvbb-shiprates__meta > li strong { color: #013C80; }

/* =====================================================================
   168. Adresses et lieux (nvbb-address.js, 1er octobre 2026)
   Pays-Bas : code postal + numéro -> rue et ville en lecture seule ;
   Bénin : suggestions Google Maps ; lieux de nos tables à partir de 3 lettres.
   ===================================================================== */
.nvbb-addr-sug { position: relative; width: 100%; }
.nvbb-addr-sug > input { width: 100%; }
.nvbb-addr-sug__list { position: absolute; z-index: 40; left: 0; right: 0; top: calc(100% + 4px); margin: 0; padding: 4px; list-style: none; background: #fff; border: 1px solid #c9d3e0; border-radius: 10px; box-shadow: 0 10px 24px rgba(15, 31, 54, .14); max-height: 280px; overflow: auto; scrollbar-color: #013C80 #fdebd0; scrollbar-width: thin; }
.nvbb-addr-sug__list li { padding: 8px 12px; border-radius: 7px; cursor: pointer; font-size: 14px; color: #0f1f36; line-height: 1.35; }
.nvbb-addr-sug__list li small { display: block; font-size: 12px; color: #5f6d7e; }
.nvbb-addr-sug__list li:hover, .nvbb-addr-sug__list li[aria-selected="true"] { background: #eef3fa; color: #013C80; }
.nvbb-addr-sug__list .nvbb-addr-sug__none { color: #5f6d7e; cursor: default; }
.nvbb-addr-nr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.nvbb-addr-nr[hidden] { display: none; }
.nvbb-addr-nr__f { min-width: 0; }
.nvbb-addr-nr__f label:not([class]), .nvbb-addr-nr__f label[class=""] { display: block; font-size: 13px; font-weight: 700; color: #0f1f36; margin: 0 0 6px; }
.nvbb-addr-nr__f input { width: 100%; }
.nvbb-addr-nr__f input:not([class]), .nvbb-addr-nr__f input[class=""] { height: 44px; border: 1px solid #c9d3e0; border-radius: 8px; padding: 0 12px; font: inherit; font-size: 15px; background: #fff; color: #0f1f36; }
.nvbb-addr-nr { margin-bottom: 4px; }
input.nvbb-addr-locked, input.nvbb-addr-locked:focus { background: #f3f6fb; color: #13202f; border-style: dashed; cursor: default; }
.nvbb-addr-status { margin: 6px 0 0; font-size: 13px; color: #33425a; }
.nvbb-addr-status--ok { color: #1c6b3d; }
.nvbb-addr-status--ok::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #1c6b3d; margin-right: 6px; vertical-align: middle; }
.nvbb-addr-status--err { color: #b12424; font-weight: 600; }
.nvbb-addr-status--warn { color: #7a4300; }
.nvbb-addr-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.nvbb-addr-chips[hidden] { display: none; }
.nvbb-addr-chip { border: 1px solid #013C80; background: #fff; color: #013C80; border-radius: 999px; padding: 6px 14px; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.nvbb-addr-chip:hover { background: #013C80; color: #fff; }
.nvbb-addr-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 16px; align-items: start; grid-column: 1 / -1; }
.nvbb-addr-row > .nvbb-addr-nr { align-self: start; }
@media (max-width: 640px) { .nvbb-addr-row { grid-template-columns: minmax(0, 1fr); } }

/* =====================================================================
   169. Page Livraison : présentation des pages de suivi (1er octobre 2026)
   Carte centrée (.tcp-wrap), bandeau bleu illustré, pastille orange,
   liseré kente multicolore ; formulaire en pilule pays + poids + bouton ;
   résultats en cartes à liseré kente.
   ===================================================================== */
.mdaa-section > .tcp-wrap.nvbb-shipcalc2 { max-width: 880px; overflow: visible; }
.mdaa-section > .tcp-wrap.nvbb-shipcalc2 .tcp-head { border-radius: var(--mdaa-r-xl) var(--mdaa-r-xl) 0 0; overflow: hidden; }
.mdaa-section > .tcp-wrap.nvbb-shipcalc2 .tcp-head h1::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312202e' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7h11v9H3zM14 10h4l3 3v3h-7z'/%3E%3Ccircle cx='7' cy='17.5' r='1.6'/%3E%3Ccircle cx='17' cy='17.5' r='1.6'/%3E%3C/svg%3E");
}
.mdaa-section > .tcp-wrap .nvbb-shipcalc2__form { flex-wrap: nowrap; align-items: stretch; gap: 0; }
.nvbb-shipcalc2__country { position: relative; flex: 1 1 auto; min-width: 0; display: flex; align-items: center; }
.nvbb-shipcalc2__country .nvbb-shipcalc__ico { left: 18px; width: 20px; height: 20px; color: #013C80; }
.mdaa-section > .tcp-wrap .nvbb-shipcalc2__form .nvbb-shipcalc2__country input {
    width: 100%; min-width: 0; padding: 0 12px 0 48px; font-family: var(--mdaa-font); font-size: 16px; letter-spacing: 0; text-transform: none;
}
.nvbb-shipcalc2__weight { position: relative; display: flex; align-items: center; flex: 0 0 auto; border-left: 2px solid var(--mdaa-line); padding-left: 10px; margin-right: 6px; }
.nvbb-shipcalc2__weight > svg { width: 18px; height: 18px; color: #F79303; flex: none; }
.nvbb-shipcalc2__weight select { min-height: 52px; padding: 0 28px 0 8px; border: 0; background-color: transparent; font: inherit; font-size: 15px; font-weight: 700; color: #013C80; cursor: pointer; }
.nvbb-shipcalc2__weight select:focus { outline: none; }
.nvbb-shipcalc2 .nvbb-shipcalc__list { top: calc(100% + 10px); }
.mdaa-section > .tcp-wrap.nvbb-shipcalc2 .tcp-hint { padding-bottom: 18px; }
.nvbb-shipcalc2__out { padding: 0 var(--mdaa-sp-6); }
.nvbb-shipcalc2__out:empty { display: none; }
.nvbb-shipcalc2__out .nvbb-shipcalc__dest { display: flex; align-items: center; gap: 10px; font-size: 17px; margin: 4px 0 14px; color: #013C80; }
.nvbb-shipcalc2__pin { width: 12px; height: 12px; border-radius: 50%; background: #F79303; box-shadow: 0 0 0 4px #fde7c5; flex: none; }
.nvbb-shipcalc2 .nvbb-shipcalc__card { position: relative; overflow: hidden; border-radius: 16px; border: 1px solid #e3e9f2; border-top: 0; padding-top: 24px; box-shadow: 0 6px 18px rgba(1, 60, 128, .07); }
.nvbb-shipcalc2 .nvbb-shipcalc__card::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 7px; background-image: var(--wax-kente); background-size: 48px 100%; }
.nvbb-shipcalc2 .nvbb-shipcalc__card--nl::before { background-position: 24px 0; }
.nvbb-shipcalc2 .nvbb-shipcalc__prompt { margin: 0 0 8px; }
.nvbb-shipcalc2__policy { display: flex; align-items: center; gap: 14px; margin: 22px var(--mdaa-sp-6) 0; padding: 16px 0 24px; border-top: 1px solid #eef2f7; color: #0f1f36; text-decoration: none; }
.nvbb-shipcalc2__policy > svg { width: 26px; height: 26px; color: #013C80; flex: 0 0 26px; }
.nvbb-shipcalc2__policy span { flex: 1; display: flex; flex-direction: column; }
.nvbb-shipcalc2__policy strong { color: #013C80; font-size: 15px; text-decoration: underline; text-underline-offset: 2px; }
.nvbb-shipcalc2__policy small { font-size: 13px; color: #5f6d7e; }
.nvbb-shipcalc2__policy:hover strong { color: #8a4b00; }
@media (max-width: 720px) {
    .mdaa-section > .tcp-wrap .nvbb-shipcalc2__form { flex-wrap: wrap; border-radius: 22px; }
    .nvbb-shipcalc2__country { flex-basis: 100%; }
    .nvbb-shipcalc2__weight { flex: 1 1 auto; border-left: 0; border-top: 2px solid var(--mdaa-line); padding: 4px 0 4px 12px; margin: 0 0 6px; }
    .nvbb-shipcalc2__weight select { flex: 1; }
    .mdaa-section > .tcp-wrap .nvbb-shipcalc2__form button { width: 100%; }
    .nvbb-shipcalc2__out { padding: 0 var(--mdaa-sp-4); }
    .nvbb-shipcalc2__policy { margin-inline: var(--mdaa-sp-4); }
}

/* =====================================================================
   170. Rendez-vous, jour et heure : présentation en deux panneaux
   (1er octobre 2026). À gauche, les jours en liste verticale (onglets,
   le jour choisi en orange avec un trait) ; à droite, un grand panneau
   gris clair avec les heures du jour, sur toute la largeur restante.
   ===================================================================== */
.nvbb-rdv-slots.is-split { grid-template-columns: minmax(220px, 280px) minmax(0, 1fr); gap: 0; border: 1px solid #e3e9f2; border-radius: 14px; overflow: hidden; background: #f3f5f8; position: relative; }
.nvbb-rdv-slots.is-split::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 6px; background-image: var(--wax-kente); background-size: 48px 100%; z-index: 1; }
.nvbb-rdv-slots.is-split > .nvbb-rdv-days { display: flex; flex-direction: column; gap: 0; max-height: 440px; padding: 6px 0 0; margin: 0; background: #fff; border-right: 1px solid #e3e9f2; scrollbar-color: #013C80 #fdebd0; scrollbar-width: thin; }
.nvbb-rdv-slots.is-split .nvbb-rdv-day { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; width: 100%; min-width: 0; padding: 13px 18px; text-align: left; color: #0f1f36; background: #fff; border: 0; border-bottom: 1px solid #e3e9f2; border-left: 4px solid transparent; border-radius: 0; box-shadow: none; }
.nvbb-rdv-slots.is-split .nvbb-rdv-day:hover { background: #f7f9fc; color: #013C80; border-left-color: #c9d3e0; }
.nvbb-rdv-slots.is-split .nvbb-rdv-day.is-on { background: #f3f5f8; color: #8a4b00; border-left-color: #F79303; box-shadow: none; }
.nvbb-rdv-slots.is-split .nvbb-rdv-day__w { font-weight: 700; font-size: 14px; }
.nvbb-rdv-slots.is-split .nvbb-rdv-day__n { font-size: 12px; color: #5f6d7e; }
.nvbb-rdv-slots.is-split > .nvbb-rdv-daygroup { grid-column: 2; align-self: stretch; padding: 26px 26px 22px; background: transparent; border: 0; border-radius: 0; }
.nvbb-rdv-slots.is-split .nvbb-rdv-daygroup__t { font-size: 17px; margin: 0 0 16px; color: #013C80; }
.nvbb-rdv-slots.is-split .nvbb-rdv-chips--times { grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 10px; }
.nvbb-rdv-slots.is-split .nvbb-rdv-chip--time > span { background: #fff; }
@media (max-width: 760px) {
    .nvbb-rdv-slots.is-split { grid-template-columns: minmax(0, 1fr); }
    .nvbb-rdv-slots.is-split > .nvbb-rdv-days { flex-direction: row; max-height: none; overflow-x: auto; overflow-y: hidden; border-right: 0; border-bottom: 1px solid #e3e9f2; padding-top: 6px; }
    .nvbb-rdv-slots.is-split .nvbb-rdv-day { flex: 0 0 auto; width: auto; flex-direction: column; align-items: flex-start; gap: 2px; border-bottom: 0; border-left: 0; border-right: 1px solid #e3e9f2; border-top: 4px solid transparent; }
    .nvbb-rdv-slots.is-split .nvbb-rdv-day.is-on { border-left: 0; border-top-color: #F79303; }
    .nvbb-rdv-slots.is-split > .nvbb-rdv-daygroup { grid-column: 1; padding: 18px; }
}

/* 171. Admin « Envoi des boutiques » : méthodes du compte Sendcloud (1er octobre 2026) */
.nvbb-shipadm__methods { margin: 12px 0; border: 1px solid #dfe5ee; border-radius: 10px; background: #fff; padding: 0 14px; }
.nvbb-shipadm__methods > summary { cursor: pointer; padding: 12px 0; font-weight: 700; color: #013C80; }
.nvbb-shipadm__methods tr.is-on td { background: #fff7ea; }
.nvbb-shipadm__envbox { margin: 8px 0 12px; padding: 12px 14px; background: #f3f6fb; border-left: 4px solid #F79303; border-radius: 8px; }
.nvbb-shipadm__envbox p { margin: 0 0 6px; }
.nvbb-shipadm__envbox pre { margin: 0; padding: 8px 10px; background: #fff; border: 1px dashed #c9d3e0; border-radius: 6px; font-size: 13px; white-space: pre-wrap; word-break: break-all; }
/* 171 (suite) : nom du pays + code, dernier passage par transporteur */
.nvbb-shipadm__cc { margin-left: 6px; font-size: 11px; font-weight: 600; color: #5f6d7e; letter-spacing: .04em; }
.nvbb-shipadm__last { margin: 2px 0; }
.nvbb-shipadm__last--ok strong { color: #1c6b3d; }
.nvbb-shipadm__last--db_error strong, .nvbb-shipadm__last--empty strong, .nvbb-shipadm__last--api_error strong { color: #b12424; }

/* 172. Admin « Envoi des boutiques » : recherche d'un pays, prochain passage automatique (1er octobre 2026) */
.nvbb-shipadm__search { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 14px 0 10px; padding: 12px 14px; background: #f3f6fb; border: 1px solid #dfe5ee; border-left: 4px solid #013C80; border-radius: 10px; }
.nvbb-shipadm__search label { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: #013C80; }
.nvbb-shipadm__search label svg { width: 18px; height: 18px; }
.nvbb-shipadm__search input[type="search"] { flex: 1 1 260px; min-width: 0; max-width: 420px; padding: 10px 12px; font-size: 15px; color: #0f1f36; background: #fff; border: 1px solid #b8c4d4; border-radius: 8px; }
.nvbb-shipadm__search input[type="search"]:focus { outline: 3px solid #F79303; outline-offset: 1px; border-color: #013C80; }
.nvbb-shipadm__search p { flex-basis: 100%; margin: 0; font-size: 13px; }
.nvbb-shipadm__search p:empty { display: none; }
.nvbb-shipadm__rates tbody tr[hidden] { display: none; }
.nvbb-shipadm__next { display: flex; align-items: center; gap: 6px; margin: 6px 0 2px; }
.nvbb-shipadm__next svg { width: 16px; height: 16px; flex: 0 0 auto; }

/* 173. Admin « Envoi des boutiques » : trois boutons (tarifs, poids, commandes) et grille enregistrée (1er octobre 2026) */
.nvbb-shipadm-tabs { margin: 8px 0 18px; }
.nvbb-shipadm-tabs .siam-stands__edition { font-size: 15px; padding: 0 18px; }
.nvbb-shipadm-tabs .siam-stands__edition svg { width: 18px; height: 18px; flex: 0 0 auto; }
.nvbb-shipadm-tabs .nvbb-rpub-tabs__n { opacity: 1; color: #525f71; }
.nvbb-shipadm-tabs .siam-stands__edition.is-active .nvbb-rpub-tabs__n { color: #fff; }
.nvbb-shipadm-tabs .siam-stands__edition:focus-visible { outline: 3px solid #F79303; outline-offset: 2px; }
.nvbb-shipadm[data-ship-panel][hidden] { display: none; }
.nvbb-shipadm h2[tabindex="-1"]:focus { outline: none; }
.nvbb-shipadm__saved { display: flex; align-items: flex-start; gap: 6px; margin: 10px 0 4px; }
.nvbb-shipadm__saved svg { width: 16px; height: 16px; flex: 0 0 auto; margin-top: 2px; }
@media (max-width: 640px) {
    .nvbb-shipadm-tabs .siam-stands__edition { flex: 1 1 100%; justify-content: flex-start; min-height: 48px; padding: 8px 16px; border-radius: 14px; }
}

/* 174. Admin « Envoi des boutiques » : en-tête du tableau des tarifs fixe pendant le défilement (1er octobre 2026)
   Le tableau défile dans son propre cadre (hauteur limitée) : la ligne Destination / Transporteur / tranches / Délai
   reste visible ; sur mobile la colonne Destination reste aussi visible pendant le défilement horizontal. */
.nvbb-shipadm__wrap[role="region"], .nvbb-shipadm__wrap:has(> .nvbb-shipadm__rates) {
    max-height: min(70vh, 640px); overflow: auto; overscroll-behavior: contain;
    border: 1px solid #dfe5ee; border-radius: 10px; background: #fff;
    scrollbar-color: #013C80 #fdebd0; scrollbar-width: thin;
}
.nvbb-shipadm__rates { border-collapse: separate; border-spacing: 0; }
.nvbb-shipadm__rates thead th {
    position: sticky; top: 0; z-index: 2;
    background: #eef2f8; color: #013C80;
    border-bottom: 3px solid #F79303;
    box-shadow: 0 2px 4px rgba(1, 60, 128, .08);
}
.nvbb-shipadm__rates tbody tr:hover th, .nvbb-shipadm__rates tbody tr:hover td { background: #fff7ea; }
@media (max-width: 760px) {
    .nvbb-shipadm__rates tbody th[scope="row"] { position: sticky; left: 0; z-index: 1; background: #fff; box-shadow: 2px 0 0 #e3e9f2; }
    .nvbb-shipadm__rates thead th:first-child { left: 0; z-index: 3; }
}

/* 175. Admin « Envoi des boutiques » : fréquence de la vérification automatique des tarifs (1er octobre 2026) */
.nvbb-shipadm__every { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-top: 12px; padding-top: 12px; border-top: 1px dashed #c9d3e0; }
.nvbb-shipadm__every label { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: #013C80; }
.nvbb-shipadm__every label svg { width: 16px; height: 16px; }
.nvbb-shipadm__every-select { flex: 0 0 auto; width: auto; min-width: 150px; min-height: 44px; padding: 8px 12px; font: inherit; font-size: 15px; color: #0f1f36; background: #fff; border: 1px solid #b8c4d4; border-radius: 8px; }
.nvbb-shipadm__every-select:focus { outline: 3px solid #F79303; outline-offset: 1px; border-color: #013C80; }

/* 176. Suivi des colis : titre d'un avertissement lisible (contraste 4,5:1 minimum) (1er octobre 2026) */
.tcp-alert--warn > h3, .tcp-alert--warn h3, .mdaa-section > .tcp-wrap .tcp-alert--warn h3 { color: #6b4a0c; }

/* 177. Fiches des transporteurs : page « Combien coûte votre envoi ? » et admin « Envoi des boutiques » (1er octobre 2026) */
.nvbb-carriers-sec { padding-top: 0; }
.nvbb-carriers-sec__in { max-width: 1120px; margin: 0 auto; padding: 0 var(--mdaa-sp-4, 16px); }
.nvbb-carriers-sec__head { text-align: center; max-width: 720px; margin: 0 auto 26px; }
.nvbb-carriers-sec__head h2 { position: relative; margin: 0 0 10px; padding-bottom: 14px; font-family: var(--mdaa-font-display); font-size: clamp(22px, 2.6vw, 28px); color: #013C80; }
.nvbb-carriers-sec__head h2::after { content: ""; position: absolute; left: 50%; bottom: 0; width: 84px; height: 6px; margin-left: -42px; border-radius: 3px; background-image: var(--wax-kente); background-size: 48px 100%; }
.nvbb-carriers-sec__head p { margin: 0; color: #3d4b5c; font-size: 15px; line-height: 1.6; }

.nvbb-carriers { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; align-items: start; }
.nvbb-carriers--admin { margin-top: 18px; }
.nvbb-carrier { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 16px; padding: 26px 22px 20px; background: #fff; border: 1px solid #e3e9f2; border-radius: 18px; box-shadow: 0 8px 22px rgba(1, 60, 128, .08); }
.nvbb-carrier::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 7px; background-image: var(--wax-kente); background-size: 48px 100%; }
.nvbb-carrier--dhl::before { background-position: 16px 0; }
.nvbb-carrier--laposte_bj::before { background-position: 32px 0; }
.nvbb-carrier__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.nvbb-carrier__brand { display: flex; align-items: center; gap: 12px; min-width: 0; }
.nvbb-carrier__logo { display: block; height: 44px; width: auto; max-width: 140px; object-fit: contain; }
.nvbb-carrier__mark { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 46px; height: 46px; border-radius: 12px; background: #013C80; color: #fff; font-family: var(--mdaa-font-display); font-size: 22px; font-weight: 800; box-shadow: inset 0 -4px 0 #F79303; }
.nvbb-carrier--postnl .nvbb-carrier__mark { background: #F79303; color: #0f1f36; box-shadow: inset 0 -4px 0 #013C80; }
.nvbb-carrier__name { margin: 0; font-family: var(--mdaa-font-display); font-size: 21px; line-height: 1.2; color: #013C80; }
.nvbb-carrier__from { margin: 2px 0 0; font-size: 13px; color: #525f71; }
.nvbb-carrier__live { display: inline-flex; align-items: center; gap: 6px; margin: 0; padding: 5px 11px; border-radius: 999px; background: #e7f4ec; color: #1c5b33; font-size: 12.5px; font-weight: 700; }
.nvbb-carrier__live svg { width: 14px; height: 14px; }
.nvbb-carrier__stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; }
.nvbb-carrier__stats > div { padding: 12px 12px 10px; border-radius: 12px; background: #f3f6fb; border: 1px solid #e6ecf4; }
.nvbb-carrier__stats dt { display: flex; align-items: center; gap: 6px; margin: 0 0 4px; font-size: 12.5px; font-weight: 600; color: #525f71; }
.nvbb-carrier__stats dt svg { width: 15px; height: 15px; flex: 0 0 auto; color: #F79303; }
.nvbb-carrier__stats dd { margin: 0; font-size: 16px; font-weight: 800; color: #0f1f36; font-variant-numeric: tabular-nums; }
.nvbb-carrier__stats dd small { font-size: 12px; font-weight: 600; color: #525f71; }
.nvbb-carrier__label { margin: 0 0 8px; font-size: 13px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; color: #013C80; }
.nvbb-carrier__nl ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.nvbb-carrier__nl li { display: inline-flex; align-items: baseline; gap: 8px; padding: 7px 12px; border-radius: 999px; background: #fff7ea; border: 1px solid #f6d7a7; font-size: 13.5px; color: #3d4b5c; }
.nvbb-carrier__nl li strong { color: #0f1f36; font-size: 15px; font-variant-numeric: tabular-nums; }
.nvbb-carrier__note { margin: 0; font-size: 14px; color: #3d4b5c; line-height: 1.55; }
.nvbb-carrier__src { border-top: 1px dashed #c9d3e0; padding-top: 12px; }
.nvbb-carrier__src > summary { cursor: pointer; font-weight: 700; color: #013C80; font-size: 14px; list-style-position: inside; }
.nvbb-carrier__src > summary:focus-visible { outline: 3px solid #F79303; outline-offset: 3px; border-radius: 4px; }
.nvbb-carrier__src ul { margin: 12px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.nvbb-carrier__src li { display: flex; flex-wrap: wrap; gap: 4px 10px; padding: 9px 12px; border-radius: 10px; background: #f7f9fc; border-left: 3px solid #F79303; font-size: 13px; color: #3d4b5c; line-height: 1.45; }
.nvbb-carrier--dhl .nvbb-carrier__src li { border-left-color: #013C80; }
.nvbb-carrier__src li strong { flex-basis: 100%; color: #0f1f36; font-size: 13.5px; }
.nvbb-carrier__src li span + span::before { content: "·"; margin-right: 10px; color: #525f71; }
.nvbb-carrier__method { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; color: #013C80; }
.nvbb-carrier__via { margin: 10px 0 0; font-size: 12.5px; color: #525f71; }
@media (max-width: 480px) {
    .nvbb-carrier { padding: 24px 16px 18px; }
    .nvbb-carrier__stats dd { font-size: 15px; }
}
/* 177 (suite) : deux colonnes (PostNL, DHL), La Poste du Bénin sur toute la largeur, repères sur une ligne */
@media (min-width: 900px) {
    .nvbb-carriers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nvbb-carrier--laposte_bj { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(240px, 1fr) 2fr; align-items: center; column-gap: 24px; }
    .nvbb-carrier--laposte_bj .nvbb-carrier__head { grid-row: 1; }
    .nvbb-carrier--laposte_bj .nvbb-carrier__stats { grid-row: 1 / span 2; grid-column: 2; grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .nvbb-carrier--laposte_bj .nvbb-carrier__note { grid-column: 1; }
    .nvbb-carriers--admin .nvbb-carrier--laposte_bj { grid-template-columns: 1fr; }
    .nvbb-carriers--admin .nvbb-carrier--laposte_bj .nvbb-carrier__stats { grid-column: 1; grid-row: auto; }
}

/* 178. Correctifs du 1er octobre 2026 (2)
   a) Calculateur « Combien coûte votre envoi ? » : l'anneau de focus du champ pays débordait de la pilule
      et passait sur le séparateur ; l'anneau est porté par la pilule entière (bord orange + halo), le champ
      actif est repéré par un fond clair dans la pilule. */
.mdaa-section > .tcp-wrap .tcp-form input:focus-visible,
.mdaa-section > .tcp-wrap .tcp-form select:focus-visible,
.mdaa-section > .tcp-wrap .tcp-form input:focus,
.mdaa-section > .tcp-wrap .tcp-form select:focus { outline: none !important; box-shadow: none !important; }
.mdaa-section > .tcp-wrap .tcp-form:focus-within { border-color: #F79303; box-shadow: 0 0 0 3px #fde7c5, 0 0 0 5px #013C80; }
.nvbb-shipcalc2__country:focus-within, .nvbb-shipcalc2__weight:focus-within { background: #fff7ea; border-radius: 999px; }
.mdaa-section > .tcp-wrap .nvbb-shipcalc2__form .nvbb-shipcalc2__country input { background: transparent; border: 0; }
/* b) Tableau des frais d'envoi (admin et page publique) : transporteur le moins cher par tranche */
.nvbb-ratestable__carrier { display: inline-block; margin: 1px 4px 1px 0; padding: 2px 9px; border-radius: 999px; font-size: 12px; font-weight: 700; background: #fff1dc; color: #6b4a0c; }
.nvbb-ratestable__carrier--dhl { background: #e6eef8; color: #013C80; }
.nvbb-ratestable__via { display: block; font-size: 11px; font-weight: 700; color: #6b4a0c; }
.nvbb-ratestable__via--dhl { color: #013C80; }
.nvbb-ratestable--public { margin: 18px 0 8px; }
.nvbb-ratestable--public .nvbb-shipadm__rates td { font-variant-numeric: tabular-nums; white-space: nowrap; }
/* c) Contact, « Quand nous écrire ? » : deux tuiles par ligne, chacune avec son illustration */
.mdaa-contact__card--wide .mdaa-contact__card-body ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.mdaa-contact__card--wide .mdaa-contact__card-body li.mdaa-contact__when { display: flex; align-items: center; gap: 16px; padding: 16px 18px; min-height: 0; overflow: visible; }
.mdaa-contact__card--wide .mdaa-contact__card-body li.mdaa-contact__when::before { content: none; }
.mdaa-contact__when-img { display: block; flex: 0 0 auto; width: 84px; height: 84px; border-radius: 18px; overflow: hidden; box-shadow: 0 4px 12px rgba(0, 0, 0, .18); }
.mdaa-contact__when-img svg, .mdaa-contact__when-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mdaa-contact__when-txt { flex: 1 1 auto; min-width: 0; font-size: 15px; line-height: 1.55; color: #e4ecf6; overflow-wrap: anywhere; }
.mdaa-contact__when-txt strong { margin-bottom: 2px; font-size: 16px; }
@media (max-width: 760px) {
    .mdaa-contact__card--wide .mdaa-contact__card-body ul { grid-template-columns: minmax(0, 1fr); }
    .mdaa-contact__when-img { width: 68px; height: 68px; border-radius: 14px; }
}
/* d) Sacs sur mesure : assistant en trois étapes, pays de livraison, calcul HT / TVA / envoi / TTC */
.nvbb-bag__wiz { display: flex; gap: 8px; margin: 0 0 14px; padding: 0; list-style: none; counter-reset: none; }
.nvbb-bag__wiz[hidden] { display: none; }
.nvbb-bag__wiz li { flex: 1 1 0; display: flex; align-items: center; gap: 8px; min-width: 0; padding: 9px 12px; border-radius: 12px; background: #f3f6fb; border: 1px solid #e3e9f2; color: #525f71; font-size: 13.5px; font-weight: 700; }
.nvbb-bag__wiz li span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nvbb-bag__wiz li.is-on { background: #013C80; border-color: #013C80; color: #fff; }
.nvbb-bag__wiz li.is-on .nvbb-bag__n { background: #F79303; color: #0f1f36; }
.nvbb-bag__wiz li.is-done { background: #fff7ea; border-color: #f6d7a7; color: #6b4a0c; }
.nvbb-bag__step[hidden] { display: none; }
.nvbb-bag__step legend[tabindex="-1"]:focus { outline: none; }
.nvbb-bag__wiznav { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 6px 0 18px; }
.nvbb-bag__wiznav[hidden], .nvbb-bag__wiznav [hidden] { display: none; }
.nvbb-bag__wizpos { margin: 0 auto; font-size: 13px; font-weight: 700; color: #525f71; }
.nvbb-bag__dest { margin-top: 12px; }
.nvbb-bag__dest[hidden] { display: none; }
.nvbb-bag__dest > label { display: block; margin: 0 0 6px; font-size: 13px; font-weight: 700; color: #0f1f36; }
.nvbb-bag__dest-box { position: relative; display: flex; align-items: center; }
.nvbb-bag__dest-box > svg { position: absolute; left: 14px; width: 18px; height: 18px; color: #013C80; pointer-events: none; }
.nvbb-bag__dest-box input { width: 100%; height: 48px; padding: 0 14px 0 42px; border: 2px solid #c9d3e0; border-radius: 999px; font: inherit; font-size: 15px; color: #0f1f36; background: #fff; }
.nvbb-bag__dest-box input:focus { border-color: #F79303; }
.nvbb-bag__offer { margin: 12px 0 0; padding: 10px 14px; border-radius: 12px; background: #f3f6fb; border-left: 4px solid #F79303; font-size: 14px; color: #0f1f36; }
.nvbb-bag__offer:empty { display: none; }
.nvbb-bag__cheap { display: inline-block; margin-left: 4px; padding: 1px 8px; border-radius: 999px; background: #e7f4ec; color: #1c5b33; font-size: 12px; font-weight: 700; }
.nvbb-bag__calc { margin-top: 4px; padding-top: 8px; border-top: 1px dashed rgba(255, 255, 255, .35); }
.nvbb-bag__calc .is-sub dt, .nvbb-bag__calc .is-sub dd { font-weight: 800; }
.nvbb-bag__buy[hidden] { display: none; }
@media (max-width: 560px) {
    .nvbb-bag__wiz li span:last-child { display: none; }
    .nvbb-bag__wiz li { justify-content: center; }
}
.nvbb-bag__lines > div.is-sub dt, .nvbb-bag__lines > div.is-sub dd { font-weight: 800; color: #fff; }
.mdaa-contact__card--wide .mdaa-contact__card-body li .mdaa-contact__when-img > svg,
.mdaa-contact__card--wide .mdaa-contact__card-body li .mdaa-contact__when-img > img { width: 100%; height: 100%; max-width: none; max-height: none; }

/* 179. Correctifs du 1er octobre 2026 (3)
   a) Politique de livraison : le tableau des frais d'envoi sort de la colonne de texte et prend la largeur de l'écran (1200 px au plus) */
.mdaa-prose .nvbb-ratestable--public .nvbb-shipadm__wrap,
.nvbb-ratestable--public .nvbb-shipadm__wrap {
    position: relative; left: 50%; width: min(1200px, calc(100vw - 32px)); max-width: none; transform: translateX(-50%);
}
.nvbb-ratestable--public .nvbb-shipadm__rates { min-width: 860px; }
.nvbb-ratestable--public .nvbb-shipadm__rates th[scope="row"] { white-space: nowrap; }
/* b) Sacs sur mesure : 4e étape (récapitulatif), total rappelé dans la barre de l'assistant, note hors UE */
.nvbb-bag__sum[hidden] { display: none; }
.nvbb-bag__wizpos { display: flex; flex-direction: column; align-items: center; gap: 2px; text-align: center; }
.nvbb-bag__wiztotal { font-size: 15px; color: #013C80; }
.nvbb-bag__wiztotal:empty, .nvbb-bag__wiztotal[hidden] { display: none; }
.nvbb-bag__duty { display: block; margin-top: 6px; font-size: 12.5px; color: #6b4a0c; }
.nvbb-bag__wiz li { flex-basis: 0; }
@media (max-width: 720px) { .nvbb-bag__wiz li span:last-child { display: none; } .nvbb-bag__wiz li { justify-content: center; } }
/* c) Pied de page : nos transporteurs (logos officiels sur cartes blanches) */
.mdaa-footer__carriers { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px 22px; margin: 8px 0 0; padding: 22px 0; border-top: 1px solid rgba(255, 255, 255, .14); }
.mdaa-footer__carriers-t { margin: 0; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #F79303; }
.mdaa-footer__carriers ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 0; padding: 0; list-style: none; }
.mdaa-footer__carrier { display: flex; align-items: center; justify-content: center; height: 58px; min-width: 120px; padding: 8px 16px; background: #fff; border-radius: 12px; box-shadow: 0 4px 14px rgba(0, 0, 0, .25); transition: transform .15s ease; }
.mdaa-footer__carrier:hover { transform: translateY(-2px); }
.mdaa-footer__carrier img { display: block; height: 40px; width: auto; max-width: 150px; object-fit: contain; }
.mdaa-footer__carrier--txt { font-weight: 800; font-size: 15px; color: #013C80; text-decoration: none; }
.mdaa-footer__carriers-link { font-size: 13.5px; font-weight: 700; color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.mdaa-footer__carriers-link:hover { color: #F79303; }
@media (max-width: 560px) { .mdaa-footer__carrier { min-width: 96px; height: 52px; padding: 6px 12px; } .mdaa-footer__carrier img { height: 34px; } }
.nvbb-bag__wiz li span:last-child { white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.25; }

/* 180. Sacs sur mesure : barre de l'assistant (1er octobre 2026 (2))
   Chaque étape est un bouton : numéro, nom de l'étape et choix fait (modèle, tissu, pays, total TTC),
   alignés au centre, sans espace vide ; navigation Précédent | Étape n sur 4 | Suivant. */
.nvbb-bag__wiz { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.nvbb-bag__wiz li { display: block; padding: 0; border: 0; background: none; }
.nvbb-bag__wizbtn { display: flex; align-items: center; gap: 10px; width: 100%; height: 100%; min-height: 60px; padding: 9px 12px; text-align: left; cursor: pointer;
    font: inherit; color: #3d4b5c; background: #f3f6fb; border: 1px solid #e3e9f2; border-radius: 12px; }
.nvbb-bag__wizbtn:hover { border-color: #F79303; }
.nvbb-bag__wizbtn .nvbb-bag__n { flex: 0 0 auto; align-self: center; }
.nvbb-bag__wizlab { display: flex; flex-direction: column; justify-content: center; gap: 2px; min-width: 0; }
.nvbb-bag__wizlab > span { font-size: 13px; font-weight: 800; line-height: 1.2; color: inherit; }
.nvbb-bag__wizlab > small { font-size: 12px; font-weight: 600; line-height: 1.25; color: #525f71; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nvbb-bag__wizlab > small:empty { display: none; }
.nvbb-bag__wiz li.is-on .nvbb-bag__wizbtn { background: #013C80; border-color: #013C80; color: #fff; }
.nvbb-bag__wiz li.is-on .nvbb-bag__wizlab > small { color: #fde7c5; }
.nvbb-bag__wiz li.is-done .nvbb-bag__wizbtn { background: #fff7ea; border-color: #f6d7a7; color: #6b4a0c; }
.nvbb-bag__wiz li[data-wiz-dot="4"] .nvbb-bag__wizlab > small { font-size: 14px; font-weight: 800; color: #013C80; }
.nvbb-bag__wiz li[data-wiz-dot="4"].is-on .nvbb-bag__wizlab > small { color: #F79303; }
.nvbb-bag__wiz li span:last-child { display: initial; }
.nvbb-bag__wiznav { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; }
.nvbb-bag__wiznav [data-wiz-prev] { justify-self: start; }
.nvbb-bag__wiznav [data-wiz-next] { justify-self: end; grid-column: 3; }
.nvbb-bag__wizpos { grid-column: 2; margin: 0; font-size: 13px; font-weight: 700; color: #525f71; }
.nvbb-bag__shipnote { display: block; margin-top: 2px; font-size: 11.5px; font-weight: 600; color: #cddbe9; }
.nvbb-bagc__sum .nvbb-bag__shipnote { color: inherit; opacity: 1; }
@media (max-width: 720px) {
    .nvbb-bag__wiz { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nvbb-bag__wizlab > span { font-size: 12.5px; }
}
.nvbb-bag__wiz li, .nvbb-bag__wiz li.is-on, .nvbb-bag__wiz li.is-done { background: none; border: 0; padding: 0; min-width: 0; }
.nvbb-bag__wiz li .nvbb-bag__wizlab { display: flex !important; }
.nvbb-bag__wiz li .nvbb-bag__wizlab > span { white-space: normal; overflow: visible; }
.nvbb-bag__lines > div > dt { display: flex; flex-direction: column; }
.nvbb-bag__wiznav:has([data-wiz-prev][hidden]) .nvbb-bag__wizpos { grid-column: 1; justify-self: start; }

/* 181. Admin › Outils › Géolocalisation (1er octobre 2026) */
.nvbb-geo__table th { width: 40%; color: #013C80; text-align: left; }
.nvbb-geo__table td code { word-break: break-all; }
.nvbb-geo__msg { margin: 10px 0; padding: 12px 14px; border-radius: 10px; background: #f3f6fb; border-left: 4px solid #013C80; line-height: 1.55; }
.nvbb-geo__msg--warn { background: #fff7ea; border-left-color: #F79303; }
.nvbb-geo__msg--ok { background: #e7f4ec; border-left-color: #1c6b3d; }
.nvbb-geo ul { margin: 6px 0 10px 18px; line-height: 1.6; }
.nvbb-geo h2 { margin: 20px 0 8px; }

/* 182. Admin › Outils › Géolocalisation : messages selon l'état (.env, base), règle du pays de commande, journal (1er octobre 2026 (20)) */
.nvbb-geo + .nvbb-geo { margin-top: 18px; }
.nvbb-geo__msg--danger { background: #fdecec; border-left-color: #a61b1b; color: #5e0f0f; }
.nvbb-geo__msg--info { background: #f3f6fb; border-left-color: #013C80; }
.nvbb-geo__mode { margin: 12px 0 0; }
.nvbb-geo__stats { list-style: none; margin: 10px 0 14px; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.nvbb-geo__stat { margin: 0; padding: 12px; border-radius: 10px; background: #f3f6fb; border-top: 4px solid #013C80; display: flex; flex-direction: column; gap: 2px; }
.nvbb-geo__stat strong { font-size: 1.5rem; color: #013C80; line-height: 1.1; }
.nvbb-geo__stat span { font-size: .85rem; color: #33404f; }
.nvbb-geo__stat--match { border-top-color: #1c6b3d; }
.nvbb-geo__stat--mismatch { border-top-color: #F79303; }
.nvbb-geo__stat--unknown { border-top-color: #8a4b00; }
.nvbb-geo__stat--admin { border-top-color: #5f6d7e; }
.nvbb-geo__scroll { overflow-x: auto; border-radius: 10px; border: 1px solid #dfe5ee; }
.nvbb-geo__scroll:focus-visible { outline: 3px solid #F79303; outline-offset: 2px; }
.nvbb-geo__log { width: 100%; min-width: 640px; border-collapse: collapse; }
.nvbb-geo__log th, .nvbb-geo__log td { padding: 8px 10px; text-align: left; border-bottom: 1px solid #e8edf4; font-size: .9rem; vertical-align: top; }
.nvbb-geo__log thead th { background: #013C80; color: #fff; position: sticky; top: 0; }
.nvbb-geo__res { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: .8rem; font-weight: 600; background: #eef2f8; color: #013C80; }
.nvbb-geo__res--match { background: #e7f4ec; color: #145a31; }
.nvbb-geo__res--mismatch { background: #fff1dc; color: #7a4100; }
.nvbb-geo__res--unknown { background: #fbe9d7; color: #7a3a00; }
@media (max-width: 640px) {
    .nvbb-geo__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nvbb-geo__table th { width: auto; display: block; }
    .nvbb-geo__table td { display: block; }
}

/* 183. Pied de page : bande « Livraison assurée par » avant le pied de page, boutiques-relais en lignes
   (drapeau | ville | boutique | région pilote), espace du bas réduit ; page « Demander un nouvel envoi »
   (.nvbb-rsh-*) et admin « Nouveaux envois » (.nvbb-rshadm-*) (1er octobre 2026 (2)) */
.nvbb-carband { position: relative; padding: 22px 0; background: #fff; border-top: 1px solid var(--mdaa-sand, #eadfcb); }
.nvbb-carband::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 5px; background-image: var(--wax-kente); background-size: 48px 100%; opacity: .9; }
.nvbb-carband__in { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px 24px; }
.nvbb-carband__t { margin: 0; font-size: 12.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #8a4b00; }
.nvbb-carband__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 0; padding: 0; list-style: none; }
.nvbb-carband__list li { margin: 0; }
.nvbb-carband__item { display: flex; align-items: center; justify-content: center; height: 58px; min-width: 120px; padding: 8px 16px; background: #fff; border: 1px solid #dfe5ee; border-radius: 12px; box-shadow: 0 3px 10px rgba(1, 60, 128, .08); transition: transform .15s ease, border-color .15s ease; }
.nvbb-carband__item:hover { transform: translateY(-2px); border-color: #F79303; }
.nvbb-carband__item img { display: block; height: 40px; width: auto; max-width: 150px; object-fit: contain; }
.nvbb-carband__item--txt { font-weight: 800; font-size: 15px; color: #013C80; text-decoration: none; }
.nvbb-carband__link { font-size: 14px; font-weight: 700; color: #013C80; text-decoration: underline; text-underline-offset: 3px; }
.nvbb-carband__link:hover { color: #8a4b00; }
@media (max-width: 560px) { .nvbb-carband__item { min-width: 96px; height: 52px; padding: 6px 12px; } .nvbb-carband__item img { height: 34px; } }
.mdaa-footer { padding-bottom: var(--mdaa-sp-4); }
.mdaa-footer__bottom { margin-top: var(--mdaa-sp-5); }
.mdaa-footer__relays { margin-top: var(--mdaa-sp-5); padding-top: var(--mdaa-sp-4); border-top: 1px solid rgba(255, 255, 255, .12); }
.mdaa-footer__relays h3 { margin: 0 0 var(--mdaa-sp-3); font-size: var(--mdaa-fs-md); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #fff; }
.mdaa-footer__relays .mdaa-footer__shops { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.mdaa-footer__shoprow { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 0; margin: 0; }
.mdaa-footer__shoprow > * { display: inline-flex; align-items: center; padding: 0 14px; line-height: 1.3; }
.mdaa-footer__shoprow > * + * { border-left: 1px solid rgba(255, 255, 255, .28); }
.mdaa-footer__shoprow > :first-child { padding-left: 0; }
.mdaa-footer__shoprow .mdaa-footer__shop-city { font-size: var(--mdaa-fs-sm); }
.mdaa-footer a.mdaa-footer__shop-name { font-weight: 600; color: #e3ecf5; }
.mdaa-footer a.mdaa-footer__shop-name:hover { color: var(--mdaa-orange-300); }
.mdaa-footer a.mdaa-footer__shop-region { font-size: var(--mdaa-fs-sm); color: #ffcf8a; }
.mdaa-footer a.mdaa-footer__shop-region:hover { color: #fff; }
@media (max-width: 560px) { .mdaa-footer__shoprow > * { padding: 0 10px; } }

/* Demander un nouvel envoi */
.mdaa-section > .tcp-wrap.nvbb-rsh { max-width: 780px; }
.mdaa-section > .tcp-wrap .nvbb-rsh__head h1::before {
    background: var(--mdaa-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312202e' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 14 4 9l5-5'/%3E%3Cpath d='M4 9h11a5 5 0 0 1 0 10h-1'/%3E%3C/svg%3E") center / 30px no-repeat;
}
.nvbb-rsh__steps { list-style: none; margin: 22px 24px 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; counter-reset: none; }
.nvbb-rsh__steps li { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 14px 10px; text-align: center; background: #f6f8fc; border-radius: 14px; border-top: 4px solid #013C80; font-size: 13.5px; font-weight: 600; color: #1f2a3c; }
.nvbb-rsh__steps li:nth-child(2) { border-top-color: #F79303; }
.nvbb-rsh__steps li:nth-child(3) { border-top-color: #1c6b3d; }
.nvbb-rsh__steps li:nth-child(4) { border-top-color: #a61b1b; }
.nvbb-rsh__steps small { display: block; font-size: 11px; font-weight: 800; letter-spacing: .1em; color: #5f6d7e; }
.nvbb-rsh__stepic { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: #fff; color: #013C80; box-shadow: 0 2px 8px rgba(1, 60, 128, .12); }
.nvbb-rsh__price { margin: 16px 24px 0; padding: 12px 14px; font-size: 14px; line-height: 1.55; background: #fff7ea; border-left: 4px solid #F79303; border-radius: 0 10px 10px 0; color: #3b2a12; }
.nvbb-rsh__alert { margin: 16px 24px 0 !important; }
.nvbb-rsh__find { display: grid; gap: 4px; margin: 20px 24px 0; }
.nvbb-rsh__code { font-family: var(--mdaa-font-mono); letter-spacing: .06em; text-transform: uppercase; }
.nvbb-rsh__go { justify-self: start; margin-top: 8px; display: inline-flex; align-items: center; gap: 8px; }
.mdaa-section > .tcp-wrap .nvbb-rsh__hint { margin: 14px 0 0; padding-bottom: 24px; text-align: left; }
.nvbb-rsh__body .nvbb-rsh__hint { margin: 18px 0 0; }
.nvbb-rsh__ok { display: flex; gap: 10px; align-items: center; margin: 16px 24px 0; padding: 12px 14px; color: #145a31; background: #e7f4ec; border-left: 4px solid #1c6b3d; border-radius: 0 10px 10px 0; }
.nvbb-rsh__track { list-style: none; margin: 22px 24px 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.nvbb-rsh__track li { margin: 0; position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; font-size: 13px; color: #5f6d7e; }
.nvbb-rsh__track li::before { content: ""; position: absolute; top: 18px; left: calc(-50% + 22px); width: calc(100% - 44px); height: 3px; background: #dfe5ee; }
.nvbb-rsh__track li:first-child::before { display: none; }
.nvbb-rsh__track li.is-done::before, .nvbb-rsh__track li.is-cur::before { background: #1c6b3d; }
.nvbb-rsh__track strong { display: block; color: #1f2a3c; font-size: 13px; }
.nvbb-rsh__track small { display: block; color: #5f6d7e; }
.nvbb-rsh__dot { position: relative; z-index: 1; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; font-weight: 800; background: #fff; color: #5f6d7e; border: 3px solid #dfe5ee; }
.nvbb-rsh__dot svg { width: 18px; height: 18px; }
.is-done .nvbb-rsh__dot { background: #1c6b3d; border-color: #1c6b3d; color: #fff; }
.is-cur .nvbb-rsh__dot { background: #F79303; border-color: #F79303; color: #12202e; }
.nvbb-rsh__body { margin: 20px 24px 0; }
.nvbb-rsh__msg { margin: 0 0 14px; font-size: 15px; line-height: 1.55; }
.nvbb-rsh__pay { display: inline-flex; align-items: center; gap: 8px; }
.nvbb-rsh__hint3 { margin: 8px 0 0; font-size: 13px; color: #5f6d7e; }
.nvbb-rsh__trk { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.nvbb-rsh__trk code { font-size: 15px; padding: 4px 10px; background: #f3f6fb; border-radius: 8px; }
.nvbb-rsh__cols { display: grid; grid-template-columns: 1fr 1.3fr; gap: 20px; margin-top: 18px; }
.nvbb-rsh__cols h2 { margin: 0 0 8px; font-size: 15px; color: #013C80; }
.nvbb-rsh__addr { margin: 0; line-height: 1.6; }
.nvbb-rsh__table { width: 100%; border-collapse: collapse; margin: 6px 0 12px; font-size: 14.5px; }
.nvbb-rsh__table th, .nvbb-rsh__table td { padding: 9px 10px; border-bottom: 1px solid #e8edf4; text-align: left; font-weight: 500; }
.nvbb-rsh__table td { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.nvbb-rsh__table--sm { font-size: 13.5px; }
.nvbb-rsh__muted th, .nvbb-rsh__muted td { color: #5f6d7e; }
.nvbb-rsh__sub th, .nvbb-rsh__sub td { font-weight: 700; border-top: 2px solid #dfe5ee; }
.nvbb-rsh__total th, .nvbb-rsh__total td { font-weight: 800; color: #013C80; font-size: 1.05em; background: #fff7ea; border-bottom: 0; }
.nvbb-rsh__note { display: flex; gap: 8px; align-items: flex-start; margin: 0 0 12px; font-size: 13.5px; color: #33404f; }
.nvbb-rsh__note svg { flex: none; color: #013C80; }
.nvbb-rsh__fixed { display: inline-flex; align-items: center; gap: 6px; margin: 0; padding: 10px 14px; background: #f3f6fb; border-radius: 10px; font-weight: 600; color: #013C80; }
.nvbb-rsh__inv { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: #013C80; }
@media (max-width: 640px) {
    .nvbb-rsh__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 18px 16px 0; }
    .nvbb-rsh__price, .nvbb-rsh__find, .nvbb-rsh__body, .nvbb-rsh__ok { margin-left: 16px; margin-right: 16px; }
    .nvbb-rsh__alert { margin: 16px 16px 0 !important; }
    .nvbb-rsh__track { margin: 18px 12px 0; }
    .nvbb-rsh__track strong { font-size: 12px; }
    .nvbb-rsh__cols { grid-template-columns: 1fr; }
}
/* Admin « Nouveaux envois » */
.nvbb-rshadm__tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.nvbb-rshadm__tabs a { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px; background: #fff; border: 1px solid #dfe5ee; color: #013C80; font-weight: 700; font-size: 13.5px; text-decoration: none; }
.nvbb-rshadm__tabs a span { min-width: 22px; padding: 1px 6px; border-radius: 999px; background: #eef2f8; text-align: center; font-size: 12px; }
.nvbb-rshadm__tabs a.is-active { background: #013C80; color: #fff; border-color: #013C80; }
.nvbb-rshadm__tabs a.is-active span { background: #F79303; color: #12202e; }
.nvbb-rshadm__card { border-left: 5px solid #013C80; }
.nvbb-rshadm__card--paid { border-left-color: #F79303; }
.nvbb-rshadm__card--shipped { border-left-color: #1c6b3d; }
.nvbb-rshadm__card--cancelled { border-left-color: #8a96a6; }
.nvbb-rshadm__top h2 { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 4px; font-size: 16px; }
.nvbb-rshadm__top p { margin: 0 0 12px; color: #33404f; font-size: 13.5px; }
.nvbb-rshadm__badge { padding: 2px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; background: #eef2f8; color: #013C80; }
.nvbb-rshadm__badge--awaiting_payment { background: #fff1dc; color: #7a4100; }
.nvbb-rshadm__badge--paid { background: #F79303; color: #12202e; }
.nvbb-rshadm__badge--shipped { background: #e7f4ec; color: #145a31; }
.nvbb-rshadm__badge--cancelled { background: #eceff3; color: #44505e; }
.nvbb-rshadm__dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px 16px; margin: 0; }
.nvbb-rshadm__dl div { margin: 0; }
.nvbb-rshadm__dl dt { font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #5f6d7e; }
.nvbb-rshadm__dl dd { margin: 2px 0 0; font-size: 14px; }
.nvbb-rshadm__acts { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 12px; margin-top: 14px; padding-top: 12px; border-top: 1px dashed #dfe5ee; }
.nvbb-rshadm__ship { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; }
.nvbb-rshadm__ship label, .nvbb-rshadm__cancel label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; font-weight: 600; }
.nvbb-rshadm__cancel summary { cursor: pointer; font-weight: 700; color: #a61b1b; padding: 8px 0; }
.nvbb-rshadm__cancel form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; }
.mdaa-section > .tcp-wrap .nvbb-rsh__h1code { display: block; margin-top: 6px; font-family: var(--mdaa-font-mono); font-size: clamp(17px, 4.6vw, 26px); letter-spacing: .04em; color: #ffcf8a; overflow-wrap: anywhere; }

/* 184. Polices : titres en Fraunces (serif douce, chaleureuse), textes, libellés et boutons en Nunito
   (humaniste, arrondie, très lisible à l'écran) ; textes des contenus à 16 px, sous-titres 18 px,
   titres de 26 à 40 px (1er octobre 2026 (2)) */
:is(h1, h2, h3, h4) { font-family: var(--mdaa-font-title) !important; font-optical-sizing: auto; letter-spacing: -.01em; }
:is(h1, h2) { font-weight: 600 !important; }
/* petits titres en capitales (pied de page, bandeaux, menus, outils) : restent en Nunito */
.mdaa-footer h3, .mdaa-footer__relays h3, .nvbb-carband__t, .nvbb-trust__title, .mdaa-mega__col-title,
.mdaa-drawer__title, .nvbb-rshadm__top h2, .mdaa-admin-main .nvbb-bagadm-card > h2 { font-family: var(--mdaa-font-display) !important; letter-spacing: .1em; }
.mdaa-admin-main .nvbb-bagadm-card > h2, .nvbb-rshadm__top h2 { letter-spacing: 0; }
body { font-family: var(--mdaa-font); }
p, li, dd, td { line-height: 1.6; }
/* Admin › Outils › Pays de commande : deux boutons (règle, journal) */
.nvbb-geo[data-ship-panel][hidden] { display: none; }
.nvbb-geo h2[tabindex="-1"]:focus { outline: none; }
/* Demander un nouvel envoi : numéro de l'étape en pastille sur l'icône (1er octobre 2026 (2)) */
.nvbb-rsh__steps li { gap: 10px; padding: 16px 10px 14px; font-size: 14px; line-height: 1.35; }
.nvbb-rsh__stepic { position: relative; width: 48px; height: 48px; }
.nvbb-rsh__stepn { position: absolute; top: -6px; right: -12px; display: grid; place-items: center; min-width: 24px; height: 24px; padding: 0 6px; border-radius: 999px; font-family: var(--mdaa-font-display); font-size: 13px; font-weight: 800; line-height: 1; color: #fff; background: #013C80; border: 2px solid #fff; box-shadow: 0 2px 6px rgba(1, 60, 128, .25); }
.nvbb-rsh__steps li:nth-child(2) .nvbb-rsh__stepn { background: #F79303; color: #12202e; }
.nvbb-rsh__steps li:nth-child(3) .nvbb-rsh__stepn { background: #1c6b3d; }
.nvbb-rsh__steps li:nth-child(4) .nvbb-rsh__stepn { background: #a61b1b; }
.nvbb-rsh__steps li:nth-child(2) .nvbb-rsh__stepic { color: #8a4b00; }
.nvbb-rsh__steps li:nth-child(3) .nvbb-rsh__stepic { color: #1c6b3d; }
.nvbb-rsh__steps li:nth-child(4) .nvbb-rsh__stepic { color: #a61b1b; }
.nvbb-geo ul.nvbb-geo__stats { margin: 10px 0 14px; }

/* 185. Logos des transporteurs : carte à la couleur du bord d'un logo opaque (jaune DHL), logo de taille fixe
   dans les fiches, pastille « Vérifiés en continu » juste après le nom (1er octobre 2026 (3)) */
.nvbb-carband__item[style] { background: var(--nvbb-logo-bg); border-color: var(--nvbb-logo-bg); padding: 4px 10px; }
.nvbb-carband__item[style] img { height: 48px; max-width: 160px; }
.nvbb-carrier__head { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 14px; justify-content: stretch; }
.nvbb-carrier__logobox { display: flex; align-items: center; justify-content: center; width: 112px; height: 56px; padding: 6px 10px; border-radius: 12px; background: #fff; border: 1px solid #e3e9f2; flex: none; }
.nvbb-carrier__logobox.is-filled { background: var(--nvbb-logo-bg); border-color: var(--nvbb-logo-bg); padding: 2px 6px; }
.nvbb-carrier__logobox .nvbb-carrier__logo { width: 100%; height: 100%; max-width: none; object-fit: contain; }
.nvbb-carrier__titles { min-width: 0; }
.nvbb-carrier__titlerow { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.nvbb-carrier__titlerow .nvbb-carrier__live { flex: none; }
@media (max-width: 420px) { .nvbb-carrier__head { gap: 10px; } .nvbb-carrier__logobox { width: 76px; height: 44px; padding: 4px 6px; } .nvbb-carrier__titlerow .nvbb-carrier__live { padding: 4px 9px; font-size: 12px; } .nvbb-carrier__titlerow { column-gap: 8px; } }

/* 186. Services IT : chiffres clés dans l'écran du bandeau (à la place des lignes de l'illustration), schéma
   « Notre MVP » à droite du texte (1er octobre 2026 (4)) */
.nvbb-it .nvbb-it__hero > .nvbb-it__wrap:has(> .nvbb-it__screen) { padding-right: calc(400px + var(--mdaa-sp-7)); min-height: 320px; }
.nvbb-it__screen { position: absolute; top: 50%; right: var(--mdaa-sp-5); z-index: 2; width: 400px; transform: translateY(-50%); padding: 12px 14px 16px; background: rgba(1, 32, 63, .92); border: 2px solid rgba(205, 219, 233, .35); border-radius: 18px; box-shadow: 0 24px 60px rgba(0, 0, 0, .35); backdrop-filter: blur(4px); }
.nvbb-it__screen-bar { display: flex; align-items: center; gap: 6px; margin: 0 0 10px; }
.nvbb-it__screen-bar span { width: 9px; height: 9px; border-radius: 50%; background: #F79303; }
.nvbb-it__screen-bar span:nth-child(2) { background: #ffcf8a; }
.nvbb-it__screen-bar span:nth-child(3) { background: #8fb3dc; }
.nvbb-it__screen-bar code { margin-left: auto; font-size: 12px; color: #9db4cb; background: none; }
.nvbb-it__screen-kpis { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; }
.nvbb-it__screen-kpis > div { display: flex; flex-direction: column-reverse; gap: 4px; margin: 0; padding: 12px 14px; border-radius: 12px; background: rgba(255, 255, 255, .07); border-left: 4px solid #F79303; }
.nvbb-it__screen-kpis > div:nth-child(2) { border-left-color: #8fb3dc; }
.nvbb-it__screen-kpis > div:nth-child(3) { border-left-color: #ffcf8a; }
.nvbb-it__screen-kpis > div:nth-child(4) { border-left-color: #6fcf97; }
.nvbb-it__screen-kpis dt { font-size: 13px; line-height: 1.35; color: #cddbe9; font-weight: 600; }
.nvbb-it__screen-kpis dd { margin: 0; font-family: var(--mdaa-font-title); font-size: 2rem; font-weight: 600; line-height: 1; color: #fff; }
.nvbb-it__screen-kpis > div:nth-child(1) dd { color: #ffcf8a; }
.nvbb-it__screen-base { position: absolute; left: 50%; bottom: -14px; width: 46%; height: 10px; transform: translateX(-50%); border-radius: 0 0 12px 12px; background: rgba(205, 219, 233, .45); }
@media (max-width: 1100px) {
    .nvbb-it .nvbb-it__hero > .nvbb-it__wrap:has(> .nvbb-it__screen) { padding-right: var(--mdaa-sp-5); min-height: 0; display: flex; flex-direction: column; }
    .nvbb-it__screen { position: relative; top: auto; right: auto; order: 10; width: 100%; max-width: 560px; margin-top: var(--mdaa-sp-6); transform: none; }
}
@media (max-width: 420px) { .nvbb-it__screen-kpis dd { font-size: 1.6rem; } .nvbb-it__screen-kpis > div { padding: 10px; } }

.nvbb-it__mvp-top { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: center; gap: var(--mdaa-sp-7); margin-bottom: var(--mdaa-sp-6); }
.nvbb-it__mvp-top .nvbb-it__mvp-intro { margin-bottom: 0; }
.nvbb-it__mvp-fig { margin: 0; }
.nvbb-it .nvbb-it__mvp-fig svg { display: block; width: 100%; height: auto; max-width: 480px; max-height: none; margin-inline: auto; }
.nvbb-mvpfig__h { font-family: var(--mdaa-font-display); font-size: 16px; font-weight: 800; }
.nvbb-mvpfig__s { font-family: var(--mdaa-font); font-size: 13px; font-weight: 600; }
.nvbb-mvpfig__hub { font-family: var(--mdaa-font-title); font-size: 30px; font-weight: 700; fill: #013C80; }
.nvbb-mvpfig__hub2 { font-family: var(--mdaa-font-display); font-size: 15px; font-weight: 700; fill: #8a4b00; }
.nvbb-mvpfig__p { font-family: var(--mdaa-font-display); font-size: 13px; font-weight: 700; fill: #1f2a3c; }
.nvbb-mvpfig__b { font-family: var(--mdaa-font-display); font-size: 13.5px; font-weight: 700; fill: #fff; letter-spacing: .02em; }
.nvbb-mvpfig__line, .nvbb-mvpfig__arc { fill: none; stroke: #c9d6e8; stroke-width: 4; stroke-linecap: round; }
.nvbb-mvpfig__arc { stroke-width: 3; }
.nvbb-mvpfig__spoke { fill: none; stroke: #c9d6e8; stroke-width: 2; stroke-dasharray: 3 5; }
.nvbb-mvpfig__flow { fill: none; stroke: #F79303; stroke-width: 4; stroke-linecap: round; stroke-dasharray: 10 22; animation: nvbb-mvpfig-flow 1.6s linear infinite; }
.nvbb-mvpfig__flow--rev { stroke: #013C80; animation-direction: reverse; }
.nvbb-mvpfig__flow--arc { stroke-width: 3; stroke: #1c6b3d; animation-duration: 2.4s; }
.nvbb-mvpfig__ring { transform-origin: 240px 200px; animation: nvbb-mvpfig-spin 30s linear infinite; }
@keyframes nvbb-mvpfig-flow { to { stroke-dashoffset: -32; } }
@keyframes nvbb-mvpfig-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .nvbb-mvpfig__flow, .nvbb-mvpfig__ring { animation: none; } }
@media (max-width: 900px) { .nvbb-it__mvp-top { grid-template-columns: 1fr; gap: var(--mdaa-sp-5); } .nvbb-it .nvbb-it__mvp-fig svg { max-width: 420px; } }

/* 187. Section unique avant le pied de page : trois boutons « Ils nous ont fait confiance », « Livraison assurée par »,
   « Paiement assuré par » (logos Mollie et Kkiapay), sur toutes les pages, admin compris (1er octobre 2026 (5)) */
.nvbb-trust__tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 0 var(--mdaa-sp-5); }
.nvbb-trust__tabs[hidden] { display: none; }
.nvbb-trust__tab { min-height: 44px; padding: 0 18px; border-radius: 999px; border: 2px solid #013C80; background: #fff; color: #013C80; font-family: var(--mdaa-font-display); font-size: 14.5px; font-weight: 800; cursor: pointer; transition: background .15s ease, color .15s ease; }
.nvbb-trust__tab:hover { background: #eef3fb; }
.nvbb-trust__tab[aria-selected="true"] { background: #013C80; color: #fff; box-shadow: inset 0 -3px 0 #F79303; }
.nvbb-trust__tab:focus-visible { outline: 3px solid #F79303; outline-offset: 2px; }
.nvbb-trust--tabs.is-tabbed .nvbb-trust__panel .nvbb-trust__title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.nvbb-trust__panel[hidden] { display: none; }
.nvbb-trust__panel + .nvbb-trust__panel { margin-top: var(--mdaa-sp-5); }
.nvbb-trust--tabs.is-tabbed .nvbb-trust__panel + .nvbb-trust__panel { margin-top: 0; }
.nvbb-trust__panel .nvbb-carband__in { min-height: 96px; }
.nvbb-trust__panel .nvbb-carband__list li { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.nvbb-carband__note { font-size: 13px; color: #33404f; text-align: center; max-width: 220px; }
.nvbb-trust__panel span.nvbb-carband__item { cursor: default; }
.nvbb-trust__panel span.nvbb-carband__item:hover { transform: none; border-color: #dfe5ee; }
@media (max-width: 560px) { .nvbb-trust__tab { flex: 1 1 100%; } }
/* Indice des boutons : Services IT (références) ou Marketplace (livraison, paiement) (1er octobre 2026 (6)) */
.nvbb-trust__tab { display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.nvbb-trust__tag { position: relative; top: -.55em; padding: 2px 7px; border-radius: 999px; font-family: var(--mdaa-font); font-size: 10.5px; font-weight: 800; line-height: 1.2; letter-spacing: .02em; text-transform: uppercase; vertical-align: baseline; }
.nvbb-trust__tag--it { background: #fff1dc; color: #7a4100; }
.nvbb-trust__tag--mkt { background: #e7f4ec; color: #145a31; }
.nvbb-trust__tab[aria-selected="true"] .nvbb-trust__tag--it { background: #F79303; color: #12202e; }
.nvbb-trust__tab[aria-selected="true"] .nvbb-trust__tag--mkt { background: #6fcf97; color: #0b2a17; }

/* 188. Mode du site : bandeau de l'administrateur quand le site est fermé, admin « Mode du site » (1er octobre 2026 (7)) */
.nvbb-sitemode-bar { position: relative; z-index: 1001; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 12px; padding: 8px 16px; background: #F79303; color: #12202e; font-size: 14px; font-weight: 700; text-align: center; }
.nvbb-sitemode-bar a { color: #01203f; text-decoration: underline; text-underline-offset: 3px; }
.nvbb-sm__form { display: grid; gap: 14px; max-width: 760px; }
.nvbb-sm__modes { display: block; margin: 0; padding: 0; border: 0; min-width: 0; }
.nvbb-sm__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.nvbb-sm__modes legend { margin-bottom: 8px; font-weight: 700; color: #013C80; }
.nvbb-sm__mode { position: relative; display: flex; align-items: flex-start; gap: 10px; padding: 14px; border: 2px solid #dfe5ee; border-radius: 14px; background: #fff; cursor: pointer; }
.nvbb-sm__mode input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.nvbb-sm__mode:has(input:checked) { border-color: #013C80; box-shadow: inset 0 -4px 0 #F79303; background: #f6f8fc; }
.nvbb-sm__mode:has(input:focus-visible) { outline: 3px solid #F79303; outline-offset: 2px; }
.nvbb-sm__mode strong { display: block; color: #013C80; }
.nvbb-sm__mode small { display: block; margin-top: 2px; font-size: 13px; color: #33404f; line-height: 1.4; }
.nvbb-sm__ic { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; background: #e7f4ec; color: #1c6b3d; }
.nvbb-sm__mode--coming_soon .nvbb-sm__ic { background: #fff1dc; color: #8a4b00; }
.nvbb-sm__mode--maintenance .nvbb-sm__ic { background: #fdecec; color: #a61b1b; }
.nvbb-sm__closed { display: grid; gap: 8px; padding: 14px; border-radius: 12px; background: #fff7ea; border-left: 4px solid #F79303; }
.nvbb-sm__closed[hidden] { display: none; }
.nvbb-sm__prev { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 760px) { .nvbb-sm__grid { grid-template-columns: 1fr; } }

/* 189. Contact : catégories en cartes (Services IT, commande et devenir artisan mènent à leur page) ;
   page « Une question sur votre commande ? » (/aide-commande) et son dessin animé ;
   encadré « Pas la réponse attendue ? » des pages de suivi (1er octobre 2026). */
.nvbb-cf-topics { border: 0; padding: 0; margin: 0 0 18px; min-width: 0; }
.nvbb-cf-topics legend { padding: 0; margin-bottom: 8px; }
.nvbb-cf-topics__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.nvbb-cf-topic { position: relative; display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 12px 14px; border: 1.5px solid #dfe5ee; border-radius: 12px; background: #fff; cursor: pointer; font-weight: 600; color: var(--mdaa-ink, #1f2a3c); transition: border-color .15s, background .15s; }
.nvbb-cf-topic:hover { border-color: #8fb3dc; }
.nvbb-cf-topic input { flex: none; width: 20px; height: 20px; margin: 0; accent-color: #F79303; }
.nvbb-cf-topic__txt { display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 0; line-height: 1.3; }
.nvbb-cf-topic__txt small { font-weight: 500; font-size: 13px; color: #5b6b82; }
.nvbb-cf-topic__arrow { flex: none; color: #013C80; }
.nvbb-cf-topic:has(input:checked) { border-color: #F79303; background: #fff4e5; }
.nvbb-cf-topic:has(input:focus-visible) { outline: 3px solid #013C80; outline-offset: 2px; }
.nvbb-cf-topics__go:empty { display: none; }
.nvbb-cf-topics__go { margin: 8px 0 0; font-weight: 700; color: #013C80; }
@media (max-width: 900px) { .nvbb-cf-topics__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .nvbb-cf-topics__grid { grid-template-columns: 1fr; } }

.nvbb-oh__head { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 28px; align-items: center; margin-bottom: 26px; }
.nvbb-oh .nvbb-oh__kente { position: static; inset: auto; display: block; width: 84px; height: 6px; border-radius: 3px; margin-bottom: 14px; background: linear-gradient(90deg, #013C80 0 34%, #b84a1a 34% 56%, #F79303 56%); }
.nvbb-oh__intro h1 { margin: 0 0 10px; font-family: 'Fraunces', Georgia, serif; font-size: clamp(28px, 4vw, 40px); line-height: 1.15; color: #012a5a; }
.nvbb-oh__intro p { margin: 0; font-size: 17px; line-height: 1.6; color: #44546a; max-width: 560px; }
.nvbb-ohfig { display: block; width: 100%; max-width: 460px; height: auto; margin-left: auto; }
.nvbb-ohfig__flow { animation: nvbbOhFlow 1.6s linear infinite; }
@keyframes nvbbOhFlow { to { stroke-dashoffset: -32; } }
.nvbb-ohfig__ping { transform-box: fill-box; transform-origin: center; animation: nvbbOhPing 2s ease-out infinite; }
@keyframes nvbbOhPing { from { transform: scale(.6); opacity: .9; } to { transform: scale(2.6); opacity: 0; } }
.nvbb-ohfig__lens { animation: nvbbOhLens 5s ease-in-out infinite; }
@keyframes nvbbOhLens { 50% { transform: translate(18px, 6px); } }
.nvbb-ohfig__dot { animation: nvbbOhDot 3s ease-in-out infinite; }
.nvbb-ohfig__dot--2 { animation-delay: 1s; } .nvbb-ohfig__dot--3 { animation-delay: 2s; }
@keyframes nvbbOhDot { 0%, 30% { fill: #F79303; } 34%, 100% { fill: #013C80; } }
@media (prefers-reduced-motion: reduce) { .nvbb-ohfig * { animation: none !important; } }

.nvbb-oh__tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 0; }
.nvbb-oh__tab { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border: 2px solid #dfe5ee; border-bottom-width: 4px; border-radius: 16px 16px 0 0; background: #fff; color: #012a5a; text-align: left; font: inherit; cursor: pointer; transition: border-color .15s, background .15s; }
.nvbb-oh__tab:hover { border-color: #8fb3dc; }
.nvbb-oh__tab.is-active { border-color: #013C80; border-bottom-color: #F79303; background: #013C80; color: #fff; }
.nvbb-oh__tab:focus-visible { outline: 3px solid #F79303; outline-offset: 3px; }
.nvbb-oh__tabic { display: grid; place-items: center; flex: none; width: 48px; height: 48px; border-radius: 12px; background: #fff4e5; color: #013C80; }
.nvbb-oh__tab.is-active .nvbb-oh__tabic { background: #F79303; color: #12202e; }
.nvbb-oh__tabtx { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.nvbb-oh__tabtx strong { font-size: 17px; line-height: 1.25; }
.nvbb-oh__tabtx small { font-size: 14px; line-height: 1.35; opacity: .85; }
.nvbb-oh__panels { border: 2px solid #013C80; border-top: 0; border-radius: 0 0 18px 18px; background: #fff; padding: clamp(18px, 3vw, 30px); }
.nvbb-oh__panel h2 { margin: 0 0 6px; font-family: 'Fraunces', Georgia, serif; font-size: 26px; color: #012a5a; }
.nvbb-oh__panel > p { margin: 0 0 18px; color: #44546a; line-height: 1.6; }
.nvbb-oh__form { max-width: 640px; }
.nvbb-oh__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.nvbb-oh__code { font-family: ui-monospace, Menlo, Consolas, monospace; letter-spacing: .04em; text-transform: uppercase; }
.nvbb-oh__form .mdaa-btn { display: inline-flex; align-items: center; gap: 8px; }
.nvbb-oh__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 860px) {
  .nvbb-oh__head { grid-template-columns: 1fr; }
  .nvbb-ohfig { margin: 0 auto; max-width: 380px; }
  .nvbb-oh__tabs { grid-template-columns: 1fr; gap: 8px; }
  .nvbb-oh__tab { border-radius: 14px; border-bottom-width: 2px; }
  .nvbb-oh__tab.is-active { border-bottom-width: 4px; }
  .nvbb-oh__panels { border-top: 2px solid #013C80; border-radius: 18px; margin-top: 10px; }
  .nvbb-oh__row { grid-template-columns: 1fr; gap: 0; }
}

.nvbb-ohm { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin: 28px 0 8px; padding: 18px 20px; border-radius: 16px; background: #fff4e5; border: 1px solid #f6c98a; border-left: 6px solid #F79303; }
.nvbb-ohm__ic { flex: none; color: #013C80; }
.nvbb-ohm__txt { flex: 1 1 260px; min-width: 0; }
.nvbb-ohm__txt h2 { margin: 0 0 4px; font-family: 'Fraunces', Georgia, serif; font-size: 22px; color: #012a5a; }
.nvbb-ohm__txt p { margin: 0; color: #44546a; line-height: 1.55; }
.nvbb-ohm__acts { display: flex; flex-wrap: wrap; gap: 10px; }

/* 190. Dessins animés des pages publiques (partials/_page_figure.php, 1er octobre 2026) :
   livraison, nouvel envoi, sacs sur mesure, envoyer de l'argent, rendez-vous, suivi de commande,
   suivi de colis, retrait en boutique. Décoratifs ; arrêtés si le visiteur réduit les animations. */
.nvbb-pfig { display: block; width: 100%; max-width: 400px; height: auto; }
.nvbb-pfig__t { font-family: 'Nunito', system-ui, sans-serif; font-weight: 800; font-size: 20px; }
.nvbb-pfig__t--s { font-size: 12px; letter-spacing: .04em; }
.nvbb-pfig__flow { animation: nvbbPfFlow 1.6s linear infinite; }
@keyframes nvbbPfFlow { to { stroke-dashoffset: -32; } }
.nvbb-pfig__ping, .nvbb-pfig__ring { transform-box: fill-box; transform-origin: center; }
.nvbb-pfig__ping { animation: nvbbPfPing 2.2s ease-out infinite; }
@keyframes nvbbPfPing { from { transform: scale(.7); opacity: .9; } to { transform: scale(2.2); opacity: 0; } }
.nvbb-pfig__d2 { animation-delay: 1.1s; }
.nvbb-pfig__bob { animation: nvbbPfBob 2.4s ease-in-out infinite; }
@keyframes nvbbPfBob { 50% { translate: 0 -8px; } }
.nvbb-pfig__float { animation: nvbbPfFloat 5s ease-in-out infinite; }
.nvbb-pfig__float.nvbb-pfig__d2 { animation-delay: -2.5s; }
@keyframes nvbbPfFloat { 50% { translate: 0 -10px; } }
.nvbb-pfig__pulse { animation: nvbbPfPulse 2.4s ease-in-out infinite; }
@keyframes nvbbPfPulse { 50% { opacity: .55; } }
.nvbb-pfig__blink { animation: nvbbPfBlink 1.4s steps(2, start) infinite; }
@keyframes nvbbPfBlink { to { visibility: hidden; } }
.nvbb-pfig__lens { animation: nvbbPfLens 5s ease-in-out infinite; }
@keyframes nvbbPfLens { 50% { translate: 16px 8px; } }
.nvbb-pfig__spin { animation: nvbbPfSpin 6s linear infinite; }
.nvbb-pfig__spin--slow { animation-duration: 36s; }
@keyframes nvbbPfSpin { to { transform: rotate(360deg); } }
.nvbb-pfig__sew { animation: nvbbPfSew 3s linear infinite; }
@keyframes nvbbPfSew { to { stroke-dashoffset: -52; } }
.nvbb-pfig__needle { animation: nvbbPfNeedle .9s ease-in-out infinite; }
@keyframes nvbbPfNeedle { 50% { translate: 0 14px; } }
.nvbb-pfig__slide { animation: nvbbPfSlide 4s ease-in-out infinite alternate; }
@keyframes nvbbPfSlide { to { translate: 200px 0; } }
.nvbb-pfig__fill { stroke-dasharray: 124; stroke-dashoffset: 124; animation: nvbbPfFill 4s ease-in-out infinite; }
@keyframes nvbbPfFill { 0% { stroke-dashoffset: 124; } 85%, 100% { stroke-dashoffset: 0; } }
.nvbb-pfig__step, .nvbb-pfig__code { animation: nvbbPfStep 4s linear infinite; }
.nvbb-pfig__ring.nvbb-pfig__step--1, .nvbb-pfig__ring.nvbb-pfig__step--2, .nvbb-pfig__ring.nvbb-pfig__step--3, .nvbb-pfig__ring.nvbb-pfig__step--4 { animation: nvbbPfRing 4s linear infinite; opacity: 0; }
.nvbb-pfig__step--2 { animation-delay: 1s !important; } .nvbb-pfig__step--3 { animation-delay: 2s !important; } .nvbb-pfig__step--4 { animation-delay: 3s !important; }
@keyframes nvbbPfStep { 0%, 24% { fill: #F79303; } 25%, 100% { fill: #cddbe9; } }
@keyframes nvbbPfRing { 0%, 24% { opacity: 1; } 25%, 100% { opacity: 0; } }
/* lot 2 (déplacements en « translate » : ils s'ajoutent au transform des dessins au lieu de le remplacer) */
.nvbb-pfig__b2 { animation-delay: -.6s; } .nvbb-pfig__b3 { animation-delay: -1.2s; } .nvbb-pfig__b4 { animation-delay: -1.8s; }
.nvbb-pfig__spin--mill { animation-duration: 5s; }
.nvbb-pfig__sway { animation: nvbbPfSway 3.2s ease-in-out infinite; }
@keyframes nvbbPfSway { 50% { transform: rotate(-7deg); } }
.nvbb-pfig__sign { animation: nvbbPfSign 2.6s ease-in-out infinite; }
@keyframes nvbbPfSign { 0%, 100% { transform: rotate(-8deg); } 50% { transform: rotate(8deg); } }
.nvbb-pfig__rise { animation: nvbbPfRise 3.6s ease-in infinite; }
@keyframes nvbbPfRise { 0% { translate: 0 10px; opacity: 0; } 25% { opacity: 1; } 100% { translate: 0 -40px; opacity: 0; } }
.nvbb-pfig__p1 { animation-delay: .7s; } .nvbb-pfig__p2 { animation-delay: 1.4s; }
.nvbb-pfig__grow { transform-box: fill-box; transform-origin: 50% 100%; animation: nvbbPfGrow 4s ease-out infinite; }
@keyframes nvbbPfGrow { 0% { transform: scaleY(.15); } 45%, 100% { transform: scaleY(1); } }
.nvbb-pfig__draw { stroke-dasharray: 260; animation: nvbbPfDraw 4s ease-out infinite; }
@keyframes nvbbPfDraw { 0% { stroke-dashoffset: 260; } 55%, 100% { stroke-dashoffset: 0; } }
.nvbb-pfig__glow { animation: nvbbPfGlow 2s ease-in-out infinite; }
@keyframes nvbbPfGlow { 50% { fill: #F79303; } }
.nvbb-pfig__dart { animation: nvbbPfDart 2.4s ease-in-out infinite; }
@keyframes nvbbPfDart { 0%, 15% { translate: 24px -24px; opacity: 0; } 40%, 100% { translate: 0 0; opacity: 1; } }
.nvbb-pfig__join { animation: nvbbPfJoin 4s ease-in-out infinite; }
@keyframes nvbbPfJoin { 0%, 15% { translate: 34px -10px; } 45%, 85% { translate: 0 0; } 100% { translate: 34px -10px; } }
/* lot 3 */
.nvbb-pfig__ring.nvbb-pfig__c1, .nvbb-pfig__ring.nvbb-pfig__c2, .nvbb-pfig__ring.nvbb-pfig__c3, .nvbb-pfig__ring.nvbb-pfig__c4, .nvbb-pfig__ring.nvbb-pfig__c5, .nvbb-pfig__ring.nvbb-pfig__c6 { opacity: 0; animation: nvbbPfCat 6s linear infinite; }
.nvbb-pfig__c2 { animation-delay: 1s !important; } .nvbb-pfig__c3 { animation-delay: 2s !important; } .nvbb-pfig__c4 { animation-delay: 3s !important; } .nvbb-pfig__c5 { animation-delay: 4s !important; } .nvbb-pfig__c6 { animation-delay: 5s !important; }
@keyframes nvbbPfCat { 0%, 15% { opacity: 1; } 18%, 100% { opacity: 0; } }
.nvbb-pfig__drop { opacity: 0; animation: nvbbPfDrop 4.5s ease-in infinite; }
.nvbb-pfig__drop.nvbb-pfig__c2 { animation-delay: .8s !important; } .nvbb-pfig__drop.nvbb-pfig__c3 { animation-delay: 1.6s !important; }
@keyframes nvbbPfDrop { 0% { translate: 0 -120px; opacity: 0; } 10% { opacity: 1; } 35%, 80% { translate: 0 0; opacity: 1; } 95%, 100% { translate: 0 0; opacity: 0; } }
.nvbb-pfig__card { animation: nvbbPfCard 4s ease-in-out infinite; }
@keyframes nvbbPfCard { 0%, 10% { translate: -20px 30px; } 40%, 60% { translate: 70px -20px; } 90%, 100% { translate: -20px 30px; } }
.nvbb-pfig__ticket { transform-box: fill-box; transform-origin: 50% 100%; animation: nvbbPfTicket 4s ease-out infinite; }
@keyframes nvbbPfTicket { 0%, 50% { transform: scaleY(0); } 75%, 100% { transform: scaleY(1); } }
.nvbb-pfig__beam { transform-box: fill-box; transform-origin: 50% 0; animation: nvbbPfBeam 4s ease-in-out infinite alternate; }
@keyframes nvbbPfBeam { from { transform: rotate(-12deg); } to { transform: rotate(12deg); } }
.nvbb-pfig__flag { transform-box: fill-box; transform-origin: 50% 0; animation: nvbbPfFlag 1.8s ease-in-out infinite alternate; }
@keyframes nvbbPfFlag { from { transform: rotate(-10deg); } to { transform: rotate(10deg); } }
.nvbb-pfig__beat { animation: nvbbPfBeat .8s ease-in-out infinite; }
@keyframes nvbbPfBeat { 50% { scale: 1.08; } }
@media (prefers-reduced-motion: reduce) { .nvbb-pfig * { animation: none !important; } .nvbb-pfig__ring { opacity: 0; } .nvbb-pfig__drop { opacity: 1; } .nvbb-pfig__ticket { transform: none; } }

/* Place du dessin : bandeau bleu (deux colonnes), en-tête centré des pages de suivi, page de retrait */
@media (min-width: 900px) {
  .nvbb-rpub-hero:has(.nvbb-pfig) .mdaa-container { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 400px); column-gap: 40px; align-items: center; }
  .nvbb-rpub-hero:has(.nvbb-pfig) .mdaa-container > * { grid-column: 1; }
  .nvbb-rpub-hero:has(.nvbb-pfig) .mdaa-container > .nvbb-pfig { grid-column: 2; grid-row: 1 / span 6; }
}
@media (max-width: 899px) { .nvbb-rpub-hero .nvbb-pfig { max-width: 340px; margin: 14px 0; } }
.nvbb-rpub-hero .nvbb-pfig { position: relative; z-index: 2; filter: drop-shadow(0 10px 24px rgba(1, 32, 63, .35)); }
.tcp-wrap .tcp-head > svg.nvbb-pfig, .mbae-pickup > svg.nvbb-pfig { position: relative; z-index: 2; width: 100%; max-width: 360px; max-height: none; margin: 0 auto 16px; }
.mbae-pickup:has(> .nvbb-pfig) .mbae-pickup__icon { display: none; }
.mdaa-section > .tcp-wrap .tcp-head:has(> svg.nvbb-pfig) h1::before { content: none; }   /* le dessin remplace la pastille d'icône */

@media (min-width: 900px) {
  .mdaa-static-hero:has(.nvbb-pfig) .mdaa-static-hero__in > .mdaa-container { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 400px); column-gap: 40px; align-items: center; }
  .mdaa-static-hero:has(.nvbb-pfig) .mdaa-static-hero__in > .mdaa-container > * { grid-column: 1; }
  .mdaa-static-hero:has(.nvbb-pfig) .mdaa-static-hero__in > .mdaa-container > .nvbb-pfig { grid-column: 2; grid-row: 1 / span 5; }
}
.mdaa-static-hero .nvbb-pfig { max-width: 380px; margin: 14px 0 0; filter: drop-shadow(0 10px 24px rgba(1, 32, 63, .35)); }
.mdaa-b2b-hero__in > .nvbb-pfig, .register-hero__inner > .nvbb-pfig { max-width: 340px; margin: 0 auto 6px; filter: drop-shadow(0 10px 24px rgba(1, 32, 63, .35)); }

/* lot 3 : place du dessin (produits, catégories, Expo, stands, commande) */
.mdaa-cdw-hero:has(.nvbb-pfig) .mdaa-cdw-hero__pat, .mdaa-cwow-hero:has(.nvbb-pfig) .mdaa-cwow-hero__pat { display: none; }
.mdaa-cdw-hero__in > .nvbb-pfig, .mdaa-cwow-hero__in > .nvbb-pfig { position: relative; z-index: 2; max-width: 340px; filter: drop-shadow(0 10px 24px rgba(1, 32, 63, .35)); }
@media (min-width: 900px) {
  .mdaa-cdw-hero__in:has(> .nvbb-pfig) { display: grid; grid-template-columns: minmax(0, 1fr) 360px; column-gap: 40px; align-items: center; }
  .mdaa-cdw-hero__in > .nvbb-pfig { grid-column: 2; grid-row: 1 / span 2; }
  .mdaa-cwow-hero__in > .nvbb-pfig { order: 2; flex: 0 1 320px; } .mdaa-cwow-hero__in > .mdaa-cwow-hero__meta { order: 3; }
}
.mdaa-siam-hero__inner > .nvbb-pfig { max-width: 360px; margin: 0 0 18px; filter: drop-shadow(0 10px 24px rgba(1, 32, 63, .35)); }
.stand-event > .nvbb-pfig { position: relative; z-index: 2; max-width: 100%; }
.nvbb-cc--checkout > .nvbb-pfig { max-width: 280px; margin: 0 auto 12px; }
@media (min-width: 900px) { .nvbb-cc--checkout > .nvbb-pfig { float: right; width: 300px; max-width: 300px; margin: 0 0 12px 24px; } .nvbb-cc--checkout > .nvbb-cc-lead ~ * { clear: both; } }
/* Montant converti dans un bouton orange (billets de l'Expo) : texte foncé lisible (contraste 1er octobre 2026) */
.mdaa-btn .mdaa-money-hint, [class*="btn"] .mdaa-money-hint { color: inherit; opacity: .85; }
.mdaa-checkout-hero:has(> .nvbb-pfig) { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; align-items: center; }
.mdaa-checkout-hero:has(> .nvbb-pfig) .mdaa-checkout-hero__icon { display: none; }
.mdaa-checkout-hero > .nvbb-pfig { max-width: 300px; }
@media (min-width: 900px) { .mdaa-checkout-hero:has(> .nvbb-pfig) { grid-template-columns: minmax(0, 1fr) 300px; } }

/* Dessin en fond de bandeau (1er octobre 2026) : pages à deux colonnes (à propos, régions, boutiques, inscription
   boutique, panier, envoyer de l'argent, rendez-vous, sacs, produits, catégories, commande). Le dessin couvre toute la
   hauteur du bandeau, à droite, derrière le texte et par-dessus la photo (les chemins des photos ne changent pas). */
:is(.nvbb-rpub-hero, .mdaa-static-hero, .mdaa-cdw-hero, .mdaa-cwow-hero, .mdaa-checkout-hero):has(> .nvbb-pfig-bg) { position: relative; overflow: hidden; }
.nvbb-pfig-bg { position: absolute; inset: 0; z-index: 1; pointer-events: none; overflow: hidden; }
.nvbb-pfig-bg > svg.nvbb-pfig { position: absolute; top: 0; right: 0; width: min(54%, 720px); height: 100%; max-width: none; margin: 0; filter: none; }
.nvbb-pfig-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(1, 32, 63, .88) 0%, rgba(1, 32, 63, .55) 36%, rgba(1, 32, 63, 0) 58%); }
.nvbb-rpub-hero:has(> .nvbb-pfig-bg) > .mdaa-container,
.mdaa-static-hero:has(> .nvbb-pfig-bg) > .mdaa-static-hero__in,
.mdaa-cdw-hero:has(> .nvbb-pfig-bg) > .mdaa-cdw-hero__in,
.mdaa-cwow-hero:has(> .nvbb-pfig-bg) > .mdaa-cwow-hero__in { position: relative; z-index: 3; }
.mdaa-checkout-hero:has(> .nvbb-pfig-bg) > :not(.nvbb-pfig-bg) { position: relative; z-index: 3; }
.mdaa-checkout-hero:has(> .nvbb-pfig-bg) .mdaa-checkout-hero__icon { display: none; }
.nvbb-rpub-hero:has(> .nvbb-pfig-bg) .nvbb-rpub-hero__kente { z-index: 4; }
:is(.mdaa-cdw-hero, .mdaa-cwow-hero):has(> .nvbb-pfig-bg) :is(.mdaa-cdw-hero__kente, .mdaa-cwow-hero__kente) { z-index: 4; }
.mdaa-cdw-hero:has(> .nvbb-pfig-bg) .mdaa-cdw-hero__pat, .mdaa-cwow-hero:has(> .nvbb-pfig-bg) .mdaa-cwow-hero__pat { display: none; }
@media (min-width: 900px) {
  .nvbb-rpub-hero:has(> .nvbb-pfig-bg) > .mdaa-container > *, .mdaa-static-hero:has(> .nvbb-pfig-bg) .mdaa-static-hero__in > .mdaa-container > * { max-width: 620px; }
  .mdaa-cwow-hero:has(> .nvbb-pfig-bg) .mdaa-cwow-hero__meta { margin-right: 40%; }
}
@media (max-width: 899px) {
  .nvbb-pfig-bg > svg.nvbb-pfig { width: 100%; opacity: .3; }
  .nvbb-pfig-bg::after { background: rgba(1, 32, 63, .35); }
}
/* Indices des onglets « Ils nous ont fait confiance / Livraison / Paiement » posés sur le bord haut du bouton (1er octobre 2026) */
.nvbb-trust__tabs { row-gap: 18px; padding-top: 10px; }
.nvbb-trust__tab { position: relative; }
.nvbb-trust__tab .nvbb-trust__tag { position: absolute; top: 0; right: 18px; transform: translateY(-55%); border: 2px solid #fff; box-shadow: 0 2px 6px rgba(1, 32, 63, .15); white-space: nowrap; pointer-events: none; }

/* Dessin en fond des en-têtes à titre centré (1er octobre 2026) : suivi de commande, suivi de colis, confirmer un retrait.
   Le dessin occupe le haut du cadre bleu, derrière le texte, par-dessus la photo ; le titre reste en bas, lisible. */
.mdaa-section > .tcp-wrap .tcp-head:has(> .nvbb-pfig-bg) { display: flex; flex-direction: column; justify-content: flex-end; min-height: 330px; }
.mdaa-section > .tcp-wrap .tcp-head > .nvbb-pfig-bg { position: absolute; inset: 0 0 8px; z-index: 1; }
.mdaa-section > .tcp-wrap .tcp-head:has(> .nvbb-pfig-bg) > :is(h1, p) { position: relative; z-index: 3; }
.mdaa-section > .tcp-wrap .tcp-head:has(> .nvbb-pfig-bg) h1::before { content: none; }
.nvbb-pfig-bg > svg.nvbb-pfig--bgc { left: 0; right: 0; width: 100%; height: 60%; top: 5%; max-width: none; max-height: none; }
.nvbb-pfig-bg:has(> .nvbb-pfig--bgc)::after { background: linear-gradient(180deg, rgba(1, 32, 63, 0) 40%, rgba(1, 32, 63, .7) 72%, rgba(1, 32, 63, .9) 100%); }
.mbae-pickup > .mbae-pickup__head { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; min-height: 330px; background: radial-gradient(70% 120% at 50% 0%, rgba(248, 144, 0, .25), transparent 65%), var(--mdaa-navy); }
.mbae-pickup__head > .nvbb-pfig-bg { z-index: 1; bottom: 8px; }
.mbae-pickup__head > .mbae-pickup__title { position: relative; z-index: 3; margin: 0; padding: 0 var(--mdaa-sp-6) var(--mdaa-sp-3); font-size: var(--mdaa-fs-3xl); text-align: center; color: #fff; }
.mbae-pickup__head > .mbae-pickup__lead { position: relative; z-index: 3; margin: 0; padding: 0 var(--mdaa-sp-6) calc(var(--mdaa-sp-6) + 8px); font-size: var(--mdaa-fs-md); text-align: center; color: #cddbe9; }
.mbae-pickup > .mbae-pickup__head::after { content: ""; position: absolute; inset: auto 0 0 0; z-index: 4; height: 8px; background-image: var(--wax-kente); background-size: 48px 8px; }
@media (max-width: 899px) {
  .nvbb-pfig-bg > svg.nvbb-pfig--bgc { opacity: .9; }
  .mdaa-section > .tcp-wrap .tcp-head:has(> .nvbb-pfig-bg), .mbae-pickup > .mbae-pickup__head { min-height: 340px; }
  .nvbb-pfig-bg > svg.nvbb-pfig--bgc { height: 46%; }
  .mbae-pickup__head > .mbae-pickup__title, .mbae-pickup__head > .mbae-pickup__lead { padding-inline: var(--mdaa-sp-4); }
  .mbae-pickup__head > .mbae-pickup__title { font-size: var(--mdaa-fs-2xl); }
}
/* « Pas la réponse attendue ? » dans les cartes étroites (suivi de colis, retrait) : aligné sur le formulaire,
   icône à gauche, texte et boutons dans la même colonne (1er octobre 2026) */
.mdaa-section > .tcp-wrap > .nvbb-ohm { margin: var(--mdaa-sp-2) var(--mdaa-sp-6) var(--mdaa-sp-6); }
.tcp-wrap > .nvbb-ohm, .mdaa-container > .nvbb-ohm { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 14px; row-gap: 12px; align-items: start; }
.tcp-wrap > .nvbb-ohm .nvbb-ohm__ic, .mdaa-container > .nvbb-ohm .nvbb-ohm__ic { grid-row: 1; margin-top: 2px; max-width: none; max-height: none; }
.tcp-wrap > .nvbb-ohm .nvbb-ohm__acts, .mdaa-container > .nvbb-ohm .nvbb-ohm__acts { grid-column: 2; }
@media (min-width: 900px) { .mdaa-container > .nvbb-ohm { grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; } .mdaa-container > .nvbb-ohm .nvbb-ohm__acts { grid-column: 3; } }
@media (max-width: 560px) { .mdaa-section > .tcp-wrap > .nvbb-ohm { margin-inline: var(--mdaa-sp-4); } .tcp-wrap > .nvbb-ohm, .mdaa-container > .nvbb-ohm { grid-template-columns: minmax(0, 1fr); } .tcp-wrap > .nvbb-ohm .nvbb-ohm__ic, .mdaa-container > .nvbb-ohm .nvbb-ohm__ic { display: none; } .tcp-wrap > .nvbb-ohm .nvbb-ohm__acts, .mdaa-container > .nvbb-ohm .nvbb-ohm__acts { grid-column: 1; } }
.nvbb-ohm-narrow { max-width: 620px; margin-bottom: var(--mdaa-sp-7); }
@media (min-width: 900px) { .nvbb-ohm-narrow > .nvbb-ohm { grid-template-columns: auto minmax(0, 1fr); } .nvbb-ohm-narrow > .nvbb-ohm .nvbb-ohm__acts { grid-column: 2; } }

/* Dessin en fond : pages « Collaborer » (accompagnement, partenaires, soutenir), en-tête centré ; le dessin occupe le haut du cadre */
.mdaa-b2b-hero:has(> .nvbb-pfig-bg) { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; min-height: 460px; }
.mdaa-b2b-hero > .nvbb-pfig-bg { z-index: 1; }
.mdaa-b2b-hero:has(> .nvbb-pfig-bg) > .mdaa-b2b-hero__in { z-index: 3; }
.mdaa-b2b-hero > .nvbb-pfig-bg > svg.nvbb-pfig--bgc { height: 46%; top: 4%; }
@media (max-width: 899px) { .mdaa-b2b-hero:has(> .nvbb-pfig-bg) { min-height: 480px; } .mdaa-b2b-hero > .nvbb-pfig-bg > svg.nvbb-pfig--bgc { height: 40%; } }

/* Scènes contact, accessibilité, politique de livraison, conditions, confidentialité */
.nvbb-pfig__pop { opacity: 0; animation: nvbbPfPop 5s ease-out infinite; }
.nvbb-pfig__pop.nvbb-pfig__c2 { animation-delay: 1.2s !important; }
@keyframes nvbbPfPop { 0%, 20% { opacity: 0; translate: 0 10px; } 30%, 85% { opacity: 1; translate: 0 0; } 100% { opacity: 0; } }
.nvbb-pfig__wave { animation: nvbbPfPulse 1.6s ease-in-out infinite; }
.nvbb-pfig__stamp { opacity: 0; animation: nvbbPfStamp 4s ease-out infinite; }
@keyframes nvbbPfStamp { 0%, 55% { opacity: 0; scale: 1.8; } 65%, 100% { opacity: 1; scale: 1; } }
.nvbb-pfig__pen { animation: nvbbPfPen 3s ease-in-out infinite; }
@keyframes nvbbPfPen { 0% { translate: -100px 0; } 55%, 70% { translate: 0 0; } 100% { translate: -100px 0; } }
.nvbb-pfig__shackle { animation: nvbbPfShackle 3.6s ease-in-out infinite; }
@keyframes nvbbPfShackle { 0%, 20% { translate: 0 -10px; } 40%, 100% { translate: 0 0; } }
@media (prefers-reduced-motion: reduce) { .nvbb-pfig__pop, .nvbb-pfig__stamp { opacity: 1; } }
@media (max-width: 899px) {
  .mdaa-section > .tcp-wrap .tcp-head:has(> .nvbb-pfig-bg) { min-height: 380px; }
  .mdaa-section > .tcp-wrap .tcp-head > .nvbb-pfig-bg > svg.nvbb-pfig--bgc { height: 38%; }
}

/* Page d'une région : boutique avec sa photo dans le cercle (logo, sinon première photo), badge « Boutique pilote »
   posé sur le bord haut de la carte (1er octobre 2026) */
.nvbb-rshop-item { position: relative; overflow: visible; }
.nvbb-rshop-item.is-pilot { margin-top: 12px; }
.nvbb-rpub-artisan__mono.nvbb-rshop-item__img { overflow: hidden; background: #fff; padding: 0; }
.nvbb-rpub-artisan__mono.nvbb-rshop-item__img img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; border: 3px solid #F79303; display: block; }
.nvbb-rshop-item .nvbb-rshop-badge.is-pilot { position: absolute; top: 0; right: 18px; margin: 0; transform: translateY(-50%); border: 2px solid #fff; box-shadow: 0 2px 6px rgba(1, 32, 63, .15); white-space: nowrap; }

/* 191. Rétractation en ligne (Annexe I des conditions générales, 1er octobre 2026) : module de la page Conditions,
   formulaire prérempli et figé, suivi du client, admin « Rétractations » (.nvbb-wd-*). */
.nvbb-wd-module { display: flex; gap: 16px; align-items: flex-start; margin: 32px 0; padding: 20px 22px; border-radius: 16px; background: #eef3fb; border: 1px solid #c9d6e8; border-left: 6px solid #F79303; }
.nvbb-wd-module > svg { flex: none; color: #013C80; margin-top: 4px; }
.mdaa-static-prose .nvbb-wd-module h2 { margin: 0 0 6px; font-size: 1.35rem; color: #012a5a; }
.mdaa-static-prose .nvbb-wd-module p { margin: 0 0 14px; }
.mdaa-static-prose .nvbb-wd-module .mdaa-btn { color: #12202e; text-decoration: none; }
.nvbb-wd-fixed .nvbb-rsh__fixed { display: flex; gap: 8px; align-items: flex-start; }
.nvbb-wd-fixed .nvbb-rsh__fixed svg { flex: none; margin-top: 3px; color: #5b6b82; }
.nvbb-wd-choices { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 8px; }
.nvbb-wd-choice { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border: 1.5px solid #dfe5ee; border-radius: 12px; background: #fff; cursor: pointer; line-height: 1.35; }
.nvbb-wd-choice input { flex: none; width: 18px; height: 18px; margin: 1px 0 0; accent-color: #F79303; }
.nvbb-wd-choice:has(input:checked) { border-color: #F79303; background: #fff4e5; }
.nvbb-wd-choice:has(input:focus-visible) { outline: 3px solid #013C80; outline-offset: 2px; }
.nvbb-wd-choices.is-invalid .nvbb-wd-choice, .nvbb-wd-items.is-invalid { border-color: #c0392b; }
.nvbb-wd-items { display: grid; gap: 8px; border-radius: 12px; }
.nvbb-wd-item { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; justify-content: space-between; padding: 12px 14px; border: 1px solid #dfe5ee; border-radius: 12px; background: #fff; }
.nvbb-wd-item__name { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1 1 260px; }
.nvbb-wd-form .nvbb-wd-item .nvbb-wd-item__name small { color: #44546a; }
.nvbb-wd-item__qty { display: flex; flex-direction: column; gap: 4px; font-size: 14px; font-weight: 700; color: #013C80; }
.nvbb-wd-item__qty select { min-width: 210px; }
.nvbb-wd-frozen, .nvbb-wd-actions, .nvbb-wd-thread, .nvbb-wd-instr { margin: 22px 0 0; }
.nvbb-wd-frozen h2, .nvbb-wd-actions h2, .nvbb-wd-thread h2, .nvbb-wd-instr h2 { font-family: 'Fraunces', Georgia, serif; font-size: 22px; color: #012a5a; margin: 0 0 10px; }
.nvbb-wd-instr { padding: 14px 16px; border-radius: 12px; background: #fff4e5; border-left: 5px solid #F79303; }
.nvbb-wd-seal { display: flex; gap: 8px; align-items: center; margin: 0 0 12px; padding: 8px 12px; border-radius: 10px; background: #e7f4ec; color: #145a31; font-weight: 700; font-size: 14px; }
.nvbb-wd-seal.is-bad { background: #fdeceb; color: #8a2520; }
.nvbb-wd-stmt { margin: 0 0 10px; line-height: 1.55; }
.nvbb-wd-table { width: 100%; margin: 0 0 12px; }
.nvbb-wd-dl { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 8px 16px; margin: 0 0 14px; }
.nvbb-wd-dl > div { padding: 8px 10px; border-radius: 10px; background: #f6f8fb; }
.nvbb-wd-dl dt { font-size: 12.5px; font-weight: 800; color: #013C80; text-transform: uppercase; letter-spacing: .03em; }
.nvbb-wd-dl dd { margin: 2px 0 0; }
.nvbb-wd-act { margin: 0 0 14px; padding: 14px 16px; border: 1px solid #dfe5ee; border-radius: 12px; background: #fff; }
.nvbb-wd-act h3 { margin: 0 0 10px; font-size: 17px; color: #012a5a; }
.nvbb-wd-act textarea { width: 100%; }
.nvbb-wd-cancel { margin-top: 6px; }
.nvbb-wd-okmsg { background: #e7f4ec; border: 1px solid #a8d5b9; color: #145a31; }
.nvbb-wd-thread ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.nvbb-wd-thread li { padding: 10px 12px; border-radius: 12px; background: #f6f8fb; border-left: 4px solid #8fb3dc; }
.nvbb-wd-thread li.is-client { border-left-color: #F79303; background: #fff8ee; }
.nvbb-wd-thread li.is-admin { border-left-color: #013C80; }
.nvbb-wd-thread li p { margin: 4px 0 0; }
.nvbb-wd-thread__who { display: block; font-size: 12.5px; color: #5b6b82; }
.nvbb-wd-adm { margin-bottom: 18px; }
.nvbb-wd-admacts { display: grid; gap: 4px; margin-top: 10px; }
.nvbb-wd-badge--received, .nvbb-wd-badge--goods_received { background: #F79303; color: #12202e; }
.nvbb-wd-badge--accepted, .nvbb-wd-badge--return_sent { background: #013C80; color: #fff; }
.nvbb-wd-badge--refunded { background: #1c6b3d; color: #fff; }
.nvbb-wd-badge--refused, .nvbb-wd-badge--late { background: #a61b1b; color: #fff; }
.nvbb-wd-badge--cancelled { background: #dfe5ee; color: #44546a; }
.nvbb-wd-overdue { color: #a61b1b; font-weight: 800; }
.nvbb-wd-list { display: grid; gap: 8px; }
.nvbb-wd-row { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; padding: 12px 14px; border: 1px solid #dfe5ee; border-radius: 12px; background: #fff; color: inherit; text-decoration: none; }
.nvbb-wd-row:hover, .nvbb-wd-row.is-current { border-color: #013C80; background: #eef3fb; }
@media (max-width: 560px) { .nvbb-wd-module { flex-direction: column; } .nvbb-wd-item__qty select { min-width: 0; width: 100%; } .nvbb-wd-item__qty { width: 100%; } }
.nvbb-wd-table td:first-child, .nvbb-wd-table th:first-child { text-align: left; white-space: normal; }
.nvbb-wd .nvbb-rsh__track { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 560px) { .nvbb-wd .nvbb-rsh__track { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 14px; } }

/* Dessin en fond (2 octobre 2026) : inscription artisan, Expo, stands, nos artisans, immersion, infos pratiques,
   billetterie, encart du méga-menu de l'Expo. Le dessin est derrière le texte, par-dessus la photo. */
.register-hero:has(> .nvbb-pfig-bg) { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; min-height: 440px; }
.register-hero > .nvbb-pfig-bg { z-index: 2; }
.register-hero:has(> .nvbb-pfig-bg) > .register-hero__inner { position: relative; z-index: 3; }
.register-hero > .nvbb-pfig-bg > svg.nvbb-pfig--bgc { height: 52%; top: 5%; }
.mdaa-siam-hero > .nvbb-pfig-bg { z-index: 1; }
.mdaa-siam-hero:has(> .nvbb-pfig-bg) > .mdaa-siam-hero__inner { z-index: 3; }
.stand-event:has(> .nvbb-pfig-bg) { position: relative; overflow: hidden; padding-top: 190px; }
.stand-event > .nvbb-pfig-bg > svg.nvbb-pfig--bgc { height: 170px; top: 18px; }
.stand-event > .nvbb-pfig-bg::after { background: linear-gradient(180deg, rgba(1, 32, 63, 0) 120px, rgba(1, 32, 63, .75) 220px, rgba(1, 32, 63, .9)); }
.stand-event:has(> .nvbb-pfig-bg) > :not(.nvbb-pfig-bg):not(.nvbb-bgslides) { position: relative; z-index: 3; }
.mdaa-siam-section-practical .mdaa-siam-section-head:has(> .nvbb-pfig-bg) { position: relative; overflow: hidden; }
.mdaa-siam-section-head:has(> .nvbb-pfig-bg) > :not(.nvbb-pfig-bg) { position: relative; z-index: 3; }
.mdaa-siam-tickets-hero:has(> .nvbb-pfig-bg) { position: relative; overflow: hidden; }
.mdaa-siam-tickets-hero:has(> .nvbb-pfig-bg) > .mdaa-container { position: relative; z-index: 3; }
.mdaa-siam-tickets-hero:has(> .nvbb-pfig-bg) .mdaa-siam-tickets-hero__icon { display: none; }
.mdaa-mega__col--promo:has(> .nvbb-pfig-bg) { position: relative; overflow: hidden; }
.mdaa-mega__col--promo > .nvbb-pfig-bg > svg.nvbb-pfig { width: 100%; height: 62%; opacity: .55; }
.mdaa-mega__col--promo > .nvbb-pfig-bg::after { background: linear-gradient(180deg, rgba(1, 32, 63, .25), rgba(1, 32, 63, .85) 70%); }
.mdaa-mega__col--promo:has(> .nvbb-pfig-bg) > :not(.nvbb-pfig-bg) { position: relative; z-index: 3; }
@media (max-width: 899px) {
  .register-hero:has(> .nvbb-pfig-bg) { min-height: 420px; }
  .register-hero > .nvbb-pfig-bg > svg.nvbb-pfig--bgc { height: 42%; }
  .stand-event > .nvbb-pfig-bg > svg.nvbb-pfig--bgc { opacity: 1; }
  .mdaa-mega__col--promo > .nvbb-pfig-bg > svg.nvbb-pfig { opacity: .4; }
}
.stand-event > .nvbb-pfig-bg, .mdaa-siam-section-head > .nvbb-pfig-bg, .mdaa-siam-tickets-hero > .nvbb-pfig-bg, .mdaa-mega__col--promo > .nvbb-pfig-bg { position: absolute; inset: 0; margin: 0; z-index: 1; }
.mdaa-siam-section-head > .nvbb-pfig-bg > svg.nvbb-pfig, .stand-event > .nvbb-pfig-bg > svg.nvbb-pfig, .mdaa-siam-tickets-hero > .nvbb-pfig-bg > svg.nvbb-pfig { max-height: none; max-width: none; }
.mdaa-siam-hero > .nvbb-pfig-bg > svg.nvbb-pfig { width: min(38%, 520px); opacity: .75; }
.mdaa-siam-tickets-hero:has(> .nvbb-pfig-bg) { min-height: 200px; display: flex; align-items: center; }
.mdaa-siam-tickets-hero:has(> .nvbb-pfig-bg) > .mdaa-container { width: 100%; }
.mdaa-siam-tickets-hero > .nvbb-pfig-bg > svg.nvbb-pfig { width: min(40%, 460px); }
@media (min-width: 900px) { .mdaa-siam-tickets-hero:has(> .nvbb-pfig-bg) .mdaa-siam-tickets-hero__back { margin-right: 38%; } }

/* Conditions générales : Annexe I (formulaire type) repliée sous le formulaire en ligne, 2 octobre 2026 */
.nvbb-wd-annex { margin: 8px 0 32px; border: 1px solid #c9d6e8; border-radius: 14px; background: #fff; }
.nvbb-wd-annex > summary { display: flex; flex-direction: column; gap: 4px; padding: 14px 44px 14px 18px; cursor: pointer; list-style: none; position: relative; }
.nvbb-wd-annex > summary::-webkit-details-marker { display: none; }
.nvbb-wd-annex > summary::after { content: ""; position: absolute; right: 18px; top: 50%; width: 10px; height: 10px; border-right: 2.5px solid #013C80; border-bottom: 2.5px solid #013C80; transform: translateY(-70%) rotate(45deg); transition: transform .2s; }
.nvbb-wd-annex[open] > summary::after { transform: translateY(-30%) rotate(-135deg); }
.mdaa-static-prose .nvbb-wd-annex .nvbb-wd-annex__t { margin: 0; font-size: 1.15rem; }
.mdaa-static-prose .nvbb-wd-annex .nvbb-wd-annex__t::before { display: none; }
.nvbb-wd-annex__hint { font-size: 14px; color: #44546a; }
.nvbb-wd-annex > summary:focus-visible { outline: 3px solid #F79303; outline-offset: 2px; border-radius: 14px; }
.nvbb-wd-annex__body { padding: 0 18px 12px; border-top: 1px solid #e3e9f2; }

/* 2 oct. 2026 : contraste du numéro de la cellule (blanc sur orange 2,7:1 -> bleu nuit) */
.mdaa-org-box--cellule > .mdaa-org-box__num{color:#0b1f3a}

/* 2 oct. 2026 : nom de la série écrit sur les billets du dessin de la billetterie */
.nvbb-pfig__t--tk{font-size:17px}

/* 2 oct. 2026 : bandeau de direction de l'organigramme et grille des partenaires : les cartes prennent toute la largeur (auto-fit) */
.mdaa-org .mdaa-org__structures { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.mdaa-siam-partners-grid { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
/* 2 oct. 2026 : mention « Appuyé par … » (resources/views/siam/_siam_supported_by.php) */
.nvbb-supby { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 14px 0 0; font-size: var(--mdaa-fs-sm, 14px); color: #44546a; }
.nvbb-supby__ic { color: #F79303; flex: none; }
.nvbb-supby__lbl { font-weight: 600; }
.nvbb-supby__a { display: inline-flex; align-items: center; gap: 4px; font-weight: 700; color: #013C80; text-decoration: underline; text-underline-offset: 3px; }
.nvbb-supby__a:hover, .nvbb-supby__a:focus-visible { color: #F79303; }
.nvbb-supby--center { justify-content: center; margin-top: var(--mdaa-sp-5, 24px); }
.nvbb-supby--dark { color: rgba(255,255,255,.9); }
.nvbb-supby--dark .nvbb-supby__a { color: #fff; }
.nvbb-supby--dark .nvbb-supby__a:hover, .nvbb-supby--dark .nvbb-supby__a:focus-visible { color: #F7B65A; }
.mdaa-b2b-hero__in .nvbb-supby { justify-content: center; position: relative; }
.mdaa-org > .nvbb-supby { margin: 4px 0 20px; }
/* 2 oct. 2026 : mention de la cellule digitale et d'intégration (même partiel) ; au-dessus du dessin de fond des en-têtes */
.nvbb-supby--cell { margin-top: 8px; }
.nvbb-supby--rel { position: relative; z-index: 2; }
.nvbb-supby--rel + .nvbb-supby--rel { margin-top: 6px; }
.mdaa-org-box { scroll-margin-top: 120px; }
/* 2 oct. 2026 : légende des types de pôles de l'organigramme (Thématique, Transversal, Sous-pôle, Cellule) */
.mdaa-org-legend { margin: 18px 0 24px; padding: 16px 20px; background: #fff; border: 1px solid var(--mdaa-line, #dbe3ee); border-left: 4px solid #F79303; border-radius: var(--mdaa-r-md, 12px); }
.mdaa-org-legend__t { margin: 0 0 10px; font-size: 1rem; color: #013C80; }
.mdaa-org-legend__list { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px 20px; }
.mdaa-org-legend__item { display: flex; flex-direction: column; gap: 6px; }
.mdaa-org-legend__item dt { margin: 0; }
.mdaa-org-legend__item dd { margin: 0; font-size: var(--mdaa-fs-sm, 14px); line-height: 1.5; color: #44546a; }
.mdaa-org-legend .mdaa-org-box__group { display: inline-block; }
.mdaa-org .mdaa-org__direction + .nvbb-supby { margin: 14px 0 0; }
.mdaa-org .mdaa-org__direction + .nvbb-supby + .nvbb-supby { margin: 6px 0 0; }
/* 2 oct. 2026 : responsable de pôle (nom, e-mail, téléphone) visible par l'administration connectée seulement */
.mdaa-siam-pole__admin-only { display: inline-flex; align-items: center; gap: 4px; margin-top: 4px; padding: 2px 8px; font-size: 11px; font-weight: 700; color: #7a3d00; background: #fff1de; border-radius: 999px; }
.mdaa-siam-section-poles .mdaa-siam-pole__desc + ul.mdaa-siam-pole__contact { margin-top: auto; }   /* public : sans le bloc « Piloté par », le bandeau bleu reste en bas de la carte */

/* 192. Réclamations colis (2 octobre 2026) : « Signaler un problème de colis » (/reclamation), suivi par lien personnel, admin Ventes › Réclamations colis.
   Reprend les blocs de la section 191 (.nvbb-wd-*) ; ajoute la grille des photos, le champ fichier et les étiquettes d'étape. */
.nvbb-cl-file { padding: 10px; background: #f7f9fc; border-style: dashed; cursor: pointer; }
.nvbb-cl-file::file-selector-button { margin-right: 12px; padding: 8px 14px; border: 0; border-radius: 999px; background: #013C80; color: #fff; font-weight: 700; cursor: pointer; }
.nvbb-cl-file:focus-visible { outline: 3px solid #F79303; outline-offset: 2px; }
.nvbb-cl-photos { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; margin: 16px 0 0; padding: 0; list-style: none; }
.nvbb-cl-photos li { display: flex; flex-direction: column; gap: 4px; }
.nvbb-cl-photos a { display: block; border-radius: 12px; overflow: hidden; border: 2px solid #dfe5ee; background: #f7f9fc; aspect-ratio: 4 / 3; }
.nvbb-cl-photos a:hover, .nvbb-cl-photos a:focus-visible { border-color: #F79303; outline: none; }
.nvbb-cl-photos img { display: block; width: 100%; height: 100%; object-fit: cover; }
.nvbb-cl-photos small { color: #44546a; font-size: 12px; }
.nvbb-cl-attn { border-left: 4px solid #F79303; padding-left: 12px; font-weight: 600; }
.nvbb-cl-badge--received, .nvbb-cl-badge--info_requested { background: #F79303; color: #12202e; }
.nvbb-cl-badge--in_review, .nvbb-cl-badge--carrier_claim { background: #013C80; color: #fff; }
.nvbb-cl-badge--resolved { background: #1c6b3d; color: #fff; }
.nvbb-cl-badge--refused { background: #a61b1b; color: #fff; }
.nvbb-cl-adm [data-cl-refund][hidden] { display: none; }
@media (max-width: 560px) { .nvbb-cl-photos { grid-template-columns: repeat(2, 1fr); } }

/* 193. Pied de page : logos des moyens de paiement (2 octobre 2026), à droite de la ligne des boutiques-relais.
   Liste lue dans les règles de l'admin « Paiements » ; logos dans storage/payments/{code}/logo.*, sinon le nom. */
.mdaa-footer__band { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--mdaa-sp-3) var(--mdaa-sp-5); margin-top: var(--mdaa-sp-5); padding-top: var(--mdaa-sp-4); border-top: 1px solid rgba(255, 255, 255, .12); }
.mdaa-footer__band > .mdaa-footer__relays { margin-top: 0; padding-top: 0; border-top: 0; flex: 1 1 420px; }
.mdaa-footer__band--solo { justify-content: flex-end; }
.mdaa-footer__pays { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.mdaa-footer__pay { display: inline-flex; align-items: center; justify-content: center; min-width: 72px; height: 38px; padding: 4px 10px; border-radius: 10px; background: var(--nvbb-logo-bg, #fff); }
.mdaa-footer__pay img { display: block; max-width: 88px; max-height: 26px; width: auto; height: auto; }
.mdaa-footer__pay--txt { background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .25); color: #fff; font-size: 13px; font-weight: 800; letter-spacing: .02em; }
@media (max-width: 560px) { .mdaa-footer__band { align-items: flex-start; } .mdaa-footer__band--solo { justify-content: flex-start; } }

/* 194. Logos de paiement plus lisibles (2 octobre 2026) : logos recadrés automatiquement (marges vides retirées),
   logos compacts (Kkiapay : rapport largeur/hauteur < 2,2, classe .is-compact) affichés plus haut, et liseré à la couleur
   de la marque lue dans le logo lui-même (--nvbb-logo-accent). Pied de page, section « Paiement assuré par ». */
.nvbb-carband__item--pay, .nvbb-carband__item--pay[style] { background: var(--nvbb-logo-bg, #fff); border-color: #dfe5ee; border-bottom: 4px solid var(--nvbb-logo-accent, #dfe5ee); height: 64px; padding: 6px 16px; }
.nvbb-carband__item--pay img, .nvbb-carband__item--pay[style] img { height: 40px; max-width: 160px; }
.nvbb-carband__item--pay.is-compact img { height: 46px; max-width: 110px; }
.nvbb-trust__panel span.nvbb-carband__item--pay:hover { border-color: #dfe5ee; border-bottom-color: var(--nvbb-logo-accent, #dfe5ee); }
.mdaa-footer__pay { height: 46px; min-width: 84px; padding: 5px 12px; border-bottom: 3px solid var(--nvbb-logo-accent, transparent); }
.mdaa-footer__pay img { max-width: 104px; max-height: 30px; }
.mdaa-footer__pay.is-compact img { max-width: 72px; max-height: 33px; }
@media (max-width: 560px) { .nvbb-carband__item--pay { height: 58px; } .nvbb-carband__item--pay.is-compact img { height: 40px; } }

/* 195. Pied de page : légende sous chaque logo de paiement (2 octobre 2026) : « Carte bancaire » sous Mollie,
   « Mobile Money » sous Kkiapay (clés footer.pay_cap_*), détail complet dans l'infobulle. */
.mdaa-footer__pays { align-items: flex-start; gap: 10px; }
.mdaa-footer__payitem { display: flex; flex-direction: column; align-items: center; gap: 5px; }
.mdaa-footer__paycap { font-size: 12px; font-weight: 700; color: #cddbe9; letter-spacing: .02em; white-space: nowrap; }

/* 196. Pied de page : logos des transporteurs (PostNL, DHL, La Poste du Bénin) avant ceux des moyens de paiement (2 octobre 2026),
   chacun avec sa légende (footer.ship_cap_*, footer.pay_cap_*) ; deux groupes séparés par un filet. */
.mdaa-footer__partners { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: flex-end; gap: 12px 22px; }
.mdaa-footer__partners .mdaa-footer__pays + .mdaa-footer__pays { padding-left: 22px; border-left: 1px solid rgba(255, 255, 255, .18); }
@media (max-width: 560px) { .mdaa-footer__partners { justify-content: flex-start; } .mdaa-footer__partners .mdaa-footer__pays + .mdaa-footer__pays { padding-left: 0; border-left: 0; } }
/* 196 (suite) : cinq logos : la ligne des boutiques-relais garde toute la largeur, les logos passent dessous, centrés. */
.mdaa-footer__band > .mdaa-footer__relays { flex-basis: 100%; }
.mdaa-footer__band .mdaa-footer__partners { flex: 1 1 100%; justify-content: center; }
.mdaa-footer__band .mdaa-footer__pays { justify-content: center; }
/* 196 (suite, 2) : logos alignés à gauche, sous les boutiques-relais (demande du 02/10/2026). */
.mdaa-footer__band .mdaa-footer__partners, .mdaa-footer__band .mdaa-footer__pays { justify-content: flex-start; }

/* 197. Pied de page : boutiques-relais remontées dans la grille, sous les colonnes « Nos régions » et « Événements »
   (2 octobre 2026) ; la ligne du bas ne garde que les logos des transporteurs et des paiements, alignés à gauche. */
.mdaa-footer__grid > .mdaa-footer__relays--grid { grid-column: 1 / -1; margin: 0; padding: 0; border-top: 0; }
@media (min-width: 1100px) { .mdaa-footer__grid > .mdaa-footer__relays--grid { grid-column: 3 / -1; } }
.mdaa-footer__relays--grid .mdaa-footer__shops { gap: 8px; }

/* 198. Pied de page : boutiques-relais à droite des logos des transporteurs et des paiements, en plus petit (2 octobre 2026).
   Sur un écran étroit, le bloc passe sous les logos. Remplace la place dans la grille (section 197, classe --grid plus utilisée). */
.mdaa-footer__band { flex-wrap: wrap; align-items: center; justify-content: flex-start; }
.mdaa-footer__band .mdaa-footer__partners { flex: 0 1 auto; }
.mdaa-footer__band > .mdaa-footer__relays--side { flex: 1 1 300px; min-width: 0; margin: 0; padding: 0 0 0 22px; border-top: 0; border-left: 1px solid rgba(255, 255, 255, .18); }
.mdaa-footer__relays--side h3 { margin: 0 0 6px; font-size: 12px; letter-spacing: .12em; }
.mdaa-footer__relays--side .mdaa-footer__shops { gap: 4px; }
.mdaa-footer__relays--side .mdaa-footer__shoprow { font-size: 13px; gap: 4px 0; }
.mdaa-footer__relays--side .mdaa-footer__shoprow > * { padding: 0 8px; }
.mdaa-footer__relays--side .mdaa-footer__shoprow > :first-child { padding-left: 0; }
.mdaa-footer__relays--side .mdaa-footer__shop-city, .mdaa-footer__relays--side a.mdaa-footer__shop-region { font-size: 11.5px; }
.mdaa-footer__relays--side .mbae-flag--footer { width: 18px; height: auto; }
@media (max-width: 900px) { .mdaa-footer__band > .mdaa-footer__relays--side { flex-basis: 100%; padding: 12px 0 0; border-left: 0; border-top: 1px solid rgba(255, 255, 255, .12); } }
.mdaa-footer__relays--side a.mdaa-footer__shop-name { font-size: 13.5px; }

/* 199. Demandes sur les données personnelles (2 octobre 2026) et bouton « Afficher l'adresse e-mail ».
   Le formulaire et le suivi reprennent les blocs des sections 183 et 191 ; les adresses e-mail des pages publiques
   ne sont plus écrites dans le HTML : un bouton les révèle au clic (config/seo/mail_protect_helpers.php). */
button.nvbb-m { display: inline; padding: 0; margin: 0; border: 0; background: none; font: inherit; color: #013C80; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
button.nvbb-m:hover { color: #b35f00; }
button.nvbb-m:focus-visible, a.nvbb-m-open:focus-visible { outline: 3px solid #F79303; outline-offset: 2px; border-radius: 4px; }
.mdaa-footer button.nvbb-m, .nvbb-siam-dark button.nvbb-m { color: #cddbe9; }
.nvbb-pr-attn { border-left: 4px solid #F79303; padding-left: 12px; font-weight: 600; }
.nvbb-pr-badge--unverified { background: #dfe5ee; color: #44546a; }
.nvbb-pr-badge--received, .nvbb-pr-badge--info_requested { background: #F79303; color: #12202e; }
.nvbb-pr-badge--in_progress { background: #013C80; color: #fff; }
.nvbb-pr-badge--answered { background: #1c6b3d; color: #fff; }
.nvbb-pr-badge--refused { background: #a61b1b; color: #fff; }
/* 199 (suite) : contrôle d'identité et preuves du mandataire (demandes sur les données personnelles). */
.nvbb-pr-proxy { margin: 4px 0 14px; padding: 14px 16px; border: 1.5px solid #dfe5ee; border-left: 4px solid #F79303; border-radius: 12px; background: #fffaf2; }
.nvbb-pr-proxy[hidden] { display: none; }
.nvbb-pr-idhint { padding: 10px 12px; background: #f2f6fb; border-radius: 10px; }
.nvbb-pr-idcheck { grid-column: 1 / -1; }
.nvbb-pr-idcheck .is-ok { color: #1c6b3d; font-weight: 600; }
.nvbb-pr-idcheck .is-ko { color: #a61b1b; font-weight: 600; }
.nvbb-pr-badge--proxy { background: #fff1de; color: #7a3d00; }

/* 200. Méga-menus publics plus compacts (2 octobre 2026) : Marketplace (Acheter, Catégories, Vendre, Suivre) sur une seule
   ligne de 4 colonnes au lieu de 2 × 2 (il fallait faire défiler ou dézoomer) ; liens un peu moins hauts ; hauteur limitée à
   l'écran avec défilement si besoin. Le panneau ouvert est gardé dans la fenêtre par mdaa-megamenu.js. Ordinateur seulement. */
@media (min-width: 961px) {
    .mdaa-mega { max-height: calc(100vh - var(--nvbb-topbar-h, 40px) - var(--mdaa-header-h, 76px) - 24px); overflow-y: auto; overscroll-behavior: contain; }
    .mdaa-mega:has(> .mdaa-mega__inner:not(.mdaa-mega__inner--promo) > .mdaa-mega__col:nth-child(4):last-child) { min-width: min(940px, calc(100vw - 32px)); }
    .mdaa-mega__inner:not(.mdaa-mega__inner--promo):has(> .mdaa-mega__col:nth-child(4):last-child) { grid-template-columns: minmax(210px, 1.3fr) repeat(3, minmax(160px, 1fr)); gap: var(--mdaa-sp-4); }
    .mdaa-mega__link { padding: 6px 10px; line-height: 1.3; }
    .mdaa-mega__col-title { margin-bottom: var(--mdaa-sp-2); }
}

/* --- 201 Frises d'étapes au style de l'assistant Immersion (SIAM) -----
   Une seule pilule blanche : cercle numéroté, intitulé court, trait entre les étapes.
   - .nvbb-steps-pill : pages « Retrouvez votre commande » (réclamation, rétractation, nouvel envoi)
   - .nvbb-wiz-progress : frise créée par nvbb-wizard.js (réclamation, rétractation, nouvel envoi,
     données personnelles, rendez-vous, boutique, panier central)
   Remplace les cartes à bordure colorée (texte en haut, vide en bas). */
.nvbb-rsh__steps.nvbb-steps-pill,
.nvbb-wiz-progress {
    display: flex; flex-wrap: nowrap; align-items: center; justify-content: center;
    gap: var(--mdaa-sp-2);
    width: calc(100% - 2 * var(--mdaa-sp-5)); max-width: 860px;
    margin: var(--mdaa-sp-6) auto 0;
    padding: var(--mdaa-sp-4);
    list-style: none; counter-reset: none; overflow: visible;
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-pill);
    box-shadow: var(--mdaa-sh-sm);
}
.nvbb-wiz-progress { width: 100%; margin: 0 0 var(--mdaa-sp-5); }
.nvbb-rsh__steps.nvbb-steps-pill { width: calc(100% - 2 * var(--mdaa-sp-4)); padding: var(--mdaa-sp-3) var(--mdaa-sp-4); gap: 6px; }
@media (min-width: 721px) {
    .nvbb-rsh__steps.nvbb-steps-pill { flex-wrap: wrap; row-gap: var(--mdaa-sp-2); }
    .nvbb-steps-pill .nvbb-steps-pill__item { flex: 0 0 auto; }
    .nvbb-rsh__steps.nvbb-steps-pill { padding-inline: var(--mdaa-sp-3); }
    .nvbb-steps-pill__n { width: 32px; height: 32px; }
    .nvbb-steps-pill__t { white-space: nowrap; }
    .nvbb-steps-pill .nvbb-steps-pill__item:not(:last-child)::after { width: 14px; margin-left: 2px; }
}
.nvbb-steps-pill .nvbb-steps-pill__item,
.nvbb-wiz-progress .nvbb-wiz-progress__item {
    flex: 0 1 auto; min-width: 0; position: static;
    display: inline-flex; flex-direction: row; align-items: center; gap: var(--mdaa-sp-2);
    margin: 0; padding: 0;
    font-family: var(--mdaa-font-display); font-size: var(--mdaa-fs-sm); font-weight: 600; line-height: 1.25;
    text-align: left; color: #5f6d7e;
    background: none; border: 0; border-radius: 0; box-shadow: none;
}
.nvbb-steps-pill .nvbb-steps-pill__item:not(:last-child)::after,
.nvbb-wiz-progress .nvbb-wiz-progress__item:not(:last-child)::after {
    content: ""; position: static; display: block; flex: none;
    width: 20px; height: 2px; margin-left: var(--mdaa-sp-1);
    background: var(--mdaa-line); border-radius: 2px;
}
.nvbb-wiz-progress .nvbb-wiz-progress__item:last-child::after { content: none; }
.nvbb-steps-pill__n,
.nvbb-wiz-progress .nvbb-wiz-progress__n {
    display: grid; place-items: center; flex: none;
    width: 34px; height: 34px;
    font-family: var(--mdaa-font-display); font-size: var(--mdaa-fs-md); font-weight: 700;
    color: var(--mdaa-navy-800); background: var(--mdaa-navy-100);
    border-radius: var(--mdaa-r-pill);
}
.nvbb-steps-pill__item.is-active,
.nvbb-wiz-progress .nvbb-wiz-progress__item.is-current { color: var(--mdaa-navy-900); box-shadow: none; border: 0; }
.nvbb-steps-pill__item.is-active .nvbb-steps-pill__n,
.nvbb-wiz-progress .nvbb-wiz-progress__item.is-current .nvbb-wiz-progress__n { color: #12202e; background: var(--mdaa-orange); }
.nvbb-steps-pill__t, .nvbb-wiz-progress .nvbb-wiz-progress__t { min-width: 0; }
.nvbb-wiz-progress .nvbb-wiz-progress__item.is-done { color: var(--mdaa-success); }
.nvbb-wiz-progress .nvbb-wiz-progress__item.is-done .nvbb-wiz-progress__n { color: #fff; background: var(--mdaa-success); }
.nvbb-wiz-progress .nvbb-wiz-progress__item.is-done:not(:last-child)::after { background: var(--mdaa-success); }
@media (max-width: 720px) {
    .nvbb-rsh__steps.nvbb-steps-pill, .nvbb-wiz-progress { border-radius: var(--mdaa-r-lg); gap: 6px; padding: var(--mdaa-sp-3); }
    .nvbb-rsh__steps.nvbb-steps-pill { width: calc(100% - 2 * var(--mdaa-sp-4)); margin-top: var(--mdaa-sp-5); }
    .nvbb-steps-pill__item:not(.is-active) .nvbb-steps-pill__t,
    .nvbb-wiz-progress .nvbb-wiz-progress__item:not(.is-current) .nvbb-wiz-progress__t {
        position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
    }
    .nvbb-wiz-progress .nvbb-wiz-progress__t { font-size: inherit; }
    .nvbb-steps-pill .nvbb-steps-pill__item:not(:last-child)::after,
    .nvbb-wiz-progress .nvbb-wiz-progress__item:not(:last-child)::after { width: 10px; }
}
@media (max-width: 400px) {
    .nvbb-steps-pill__n, .nvbb-wiz-progress .nvbb-wiz-progress__n { width: 30px; height: 30px; font-size: var(--mdaa-fs-sm); }
    .nvbb-rsh__steps.nvbb-steps-pill, .nvbb-wiz-progress { gap: 4px; padding: var(--mdaa-sp-3) var(--mdaa-sp-2); }
    .nvbb-steps-pill .nvbb-steps-pill__item, .nvbb-wiz-progress .nvbb-wiz-progress__item { gap: 4px; }
    .nvbb-steps-pill .nvbb-steps-pill__item:not(:last-child)::after,
    .nvbb-wiz-progress .nvbb-wiz-progress__item:not(:last-child)::after { width: 8px; margin-left: 0; }
}

/* --- 202 Formulaire de contact en assistant (pages/page_contact.php) ----- */
.nvbb-cf-step { min-width: 0; margin: 0; padding: 0; border: 0; }
.nvbb-cf-wizard .nvbb-wiz-progress { margin-bottom: var(--mdaa-sp-5); }
.nvbb-cf-wizard .nvbb-wiz-actions .mdaa-contact__submit { margin-left: auto; }
.nvbb-cf-wizard .nvbb-wiz-actions .mdaa-contact__submit { width: auto; flex: 0 1 auto; }

/* --- 203 Billets SIAM : frise en pilule comme l'assistant Immersion ------ */
.mdaa-siam-checkout-steps {
    width: calc(100% - 2 * var(--mdaa-sp-5)); max-width: 860px;
    margin-inline: auto;
    padding: var(--mdaa-sp-4);
    background: #fff;
    border: 1px solid var(--mdaa-line);
    border-radius: var(--mdaa-r-pill);
    box-shadow: var(--mdaa-sh-sm);
}
.mdaa-siam-checkout-steps .mdaa-siam-checkout-step { font-size: var(--mdaa-fs-sm); }
.mdaa-siam-checkout-steps .mdaa-siam-checkout-step__num svg { width: 16px; height: 16px; }
.mdaa-siam-checkout-steps .mdaa-siam-checkout-step__sep { width: 24px; height: 2px; }
@media (max-width: 720px) {
    .mdaa-siam-checkout-steps { border-radius: var(--mdaa-r-lg); gap: 6px; padding: var(--mdaa-sp-3); }
    .mdaa-siam-checkout-step:not(.mdaa-siam-checkout-step--current) .mdaa-siam-checkout-step__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    .mdaa-siam-checkout-steps .mdaa-siam-checkout-step__sep { width: 12px; }
}

/* --- 204 Caisses (commande principale, boutiques) en assistant ----------- */
.nvbb-co-wizard .mdaa-checkout-form-col > .nvbb-wiz-progress { margin: 0 0 var(--mdaa-sp-4); }
.nvbb-co-step { display: block; }
.nvbb-co-step[hidden] { display: none; }
.nvbb-co-wizard__hint { margin: var(--mdaa-sp-3) 0 0; font-size: var(--mdaa-fs-sm); color: #5f6d7e; }
.nvbb-co-wizard .nvbb-wiz-summary { margin-bottom: var(--mdaa-sp-4); }
.nvbb-co-wizard [data-wiz-actions]:empty { display: none; }

/* --- 205 Date de dernière mise à jour (page d'une boutique) ------------ */
.nvbb-updated { display: flex; align-items: center; justify-content: flex-start; gap: 6px; margin: var(--mdaa-sp-4) 0 0; font-size: var(--mdaa-fs-sm); color: #5f6d7e; }
.nvbb-updated svg { flex: none; color: var(--mdaa-navy-800); }
.nvbb-dash-logi__upd { display: block; margin-top: 8px; padding-top: 6px; border-top: 1px dashed #dfe5ee; }

/* --- 206 Pôles de l'Expo (fond bleu) : bouton « Afficher l'adresse e-mail » en blanc --- */
.mdaa-siam-section-poles ul.mdaa-siam-pole__contact button.nvbb-m { font-weight: 600; color: #fff; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .55); }
.mdaa-siam-section-poles ul.mdaa-siam-pole__contact button.nvbb-m:hover { color: var(--mdaa-orange-300); text-decoration-color: currentColor; }

/* --- 207 Les pôles de l'Expo : trois cartes par ligne (deux sur tablette, une sur téléphone) --- */
.mdaa-siam-section-poles .mdaa-siam-poles-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1024px) { .mdaa-siam-section-poles .mdaa-siam-poles-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px)  { .mdaa-siam-section-poles .mdaa-siam-poles-grid { grid-template-columns: 1fr; } }
.nvbb-poles-pager { margin-top: var(--mdaa-sp-6); }
.nvbb-poles-pager button {
    display: inline-grid; place-items: center; min-width: 42px; height: 42px; padding: 0 12px;
    font-family: var(--mdaa-font-display); font-size: var(--mdaa-fs-md); font-weight: 600; color: var(--mdaa-navy-800);
    background: #fff; border: 1px solid var(--mdaa-line); border-radius: var(--mdaa-r-sm); cursor: pointer;
}
.nvbb-poles-pager button:hover:not(:disabled) { border-color: var(--mdaa-navy); background: var(--mdaa-navy-50); }
.nvbb-poles-pager button.is-active { color: #12202e; background: var(--mdaa-orange); border-color: var(--mdaa-orange); }
.nvbb-poles-pager button:disabled { opacity: .45; cursor: default; }
.nvbb-poles-pager button:focus-visible { outline: 3px solid var(--mdaa-orange); outline-offset: 2px; }
.mdaa-siam-poles-grid > .mdaa-siam-pole[hidden] { display: none; }
.nvbb-poles-search { max-width: 520px; margin: 0 auto var(--mdaa-sp-5); }
.nvbb-poles-search__label { display: block; margin-bottom: 6px; font-family: var(--mdaa-font-display); font-size: var(--mdaa-fs-sm); font-weight: 700; color: var(--mdaa-navy-800); }
.nvbb-poles-search__field { position: relative; }
.nvbb-poles-search__field svg { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: #5f6d7e; pointer-events: none; }
.nvbb-poles-search__field .mdaa-form-input { padding-left: 42px; border-radius: var(--mdaa-r-pill); }
.nvbb-poles-search__empty { margin: var(--mdaa-sp-3) 0 0; text-align: center; color: #5f6d7e; }

/* --- 208 Admin : modules des contenus (pôles, programme, infos pratiques, FAQ) --- */
.nvbb-xc-hero { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 12px; }
.nvbb-xc-hero > div { flex: 1 1 420px; min-width: 0; }
.nvbb-xc-public { flex: none; }
.nvbb-xc-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 14px; }
.nvbb-xc-bar .mdaa-form-label { margin: 0; }
.nvbb-xc-bar .mdaa-form-input { width: auto; min-width: 260px; max-width: 100%; }
.nvbb-xc-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 16px; }
.nvbb-xc-tabs a { padding: 8px 16px; font-family: var(--mdaa-font-display); font-weight: 700; font-size: 14px; color: #013C80; text-decoration: none; background: #fff; border: 1px solid #dde4ec; border-radius: 999px; }
.nvbb-xc-tabs a:hover { border-color: #013C80; }
.nvbb-xc-tabs a.is-active { color: #12202e; background: #F79303; border-color: #F79303; }
.nvbb-xc-card { margin-bottom: 18px; }
.nvbb-xc-card__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.nvbb-xc-card__head h2 { margin: 0; font-size: 1.15rem; color: #01203f; }
.nvbb-xc-count { display: inline-grid; place-items: center; min-width: 26px; height: 26px; padding: 0 8px; margin-left: 6px; font-size: 13px; color: #013C80; background: #e3edf6; border-radius: 999px; vertical-align: 2px; }
.nvbb-xc-muted { color: #5f6d7e; }
.nvbb-xc-hint { margin: 4px 0 0; font-size: 13px; color: #5f6d7e; }
.nvbb-xc-table td { vertical-align: top; }
.nvbb-xc-table tr.is-current td { background: #fff6e8; }
.nvbb-xc-table tr.is-off td { color: #5f6d7e; background: #f7f9fc; }
.nvbb-xc-table td.act { white-space: nowrap; }
.nvbb-xc-inline { display: inline; margin: 0; }
.nvbb-xc-yes { color: #1d6b52; font-weight: 700; }
.nvbb-xc-no { color: #5f6d7e; }
.nvbb-xc-danger { color: #a61b1b !important; border-color: #f0c9c9 !important; }
.nvbb-xc-form:focus { outline: none; }
.nvbb-xc-section { margin: 0 0 18px; padding: 14px 16px 6px; border: 1px solid #e3e9f2; border-radius: 12px; }
.nvbb-xc-section > legend { padding: 0 6px; font-family: var(--mdaa-font-display); font-weight: 800; color: #013C80; }
.nvbb-xc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px 16px; margin-bottom: 12px; }
.nvbb-xc-field { min-width: 0; }
.nvbb-xc-field .mdaa-form-input { width: 100%; }
.nvbb-xc-field--textarea, .nvbb-xc-field--path { grid-column: 1 / -1; }
.nvbb-xc-tri { min-width: 0; margin: 0 0 14px; padding: 0; border: 0; }
.nvbb-xc-tri > legend { margin-bottom: 6px; }
.nvbb-xc-tri__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.nvbb-xc-tri__cols .mdaa-form-label { font-size: 12px; font-weight: 700; color: #5f6d7e; text-transform: uppercase; letter-spacing: .04em; }
.nvbb-xc-check { display: flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 600; cursor: pointer; }
.nvbb-xc-check input { width: 18px; height: 18px; accent-color: #013C80; }
.nvbb-xc-color { display: flex; gap: 8px; align-items: center; }
.nvbb-xc-color input[type=color] { width: 44px; height: 40px; padding: 2px; border: 1px solid #dde4ec; border-radius: 8px; background: #fff; }
.nvbb-xc-actions { display: flex; justify-content: flex-end; gap: 10px; padding-top: 12px; border-top: 1px solid #e3e9f2; }
@media (max-width: 900px) { .nvbb-xc-tri__cols { grid-template-columns: 1fr; } }

/* --- 209 FAQ – mode d'emploi (/{lang}/faq) ------------------------------ */
.nvbb-faq__head { max-width: 780px; margin: 0 auto var(--mdaa-sp-5); text-align: center; }
.nvbb-faq__head .nvbb-oh__kente { margin-inline: auto; }
.nvbb-faq__head h1 { margin: 10px 0 8px; }
.nvbb-faq__head p { margin: 0; color: #4b5a6c; }
.nvbb-faq__cats { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; max-width: 980px; margin: 0 auto var(--mdaa-sp-5); }
.nvbb-faq__cats a { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 6px 14px; font-family: var(--mdaa-font-display); font-weight: 700; font-size: 14px; color: #013C80; text-decoration: none; background: #fff; border: 1px solid #dde4ec; border-radius: 999px; }
.nvbb-faq__cats a span { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; font-size: 12px; background: #e3edf6; border-radius: 999px; }
.nvbb-faq__cats a:hover { border-color: #013C80; }
.nvbb-faq__cats a.is-active { color: #12202e; background: #F79303; border-color: #F79303; }
.nvbb-faq__cats a.is-active span { background: rgba(255, 255, 255, .6); }
.nvbb-faq__list { max-width: 860px; margin: 0 auto; }
.nvbb-faq__group { margin-bottom: var(--mdaa-sp-5); }
.nvbb-faq__group[hidden], .nvbb-faq__item[hidden] { display: none; }
.nvbb-faq__group h2 { margin: 0 0 10px; font-size: 1.2rem; color: #01203f; }
.nvbb-faq__item { margin-bottom: 10px; background: #fff; border: 1px solid #dde4ec; border-left: 4px solid #013C80; border-radius: 12px; }
.nvbb-faq__item[open] { border-left-color: #F79303; box-shadow: var(--mdaa-sh-sm); }
.nvbb-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; font-weight: 700; color: #01203f; cursor: pointer; list-style: none; }
.nvbb-faq__item summary::-webkit-details-marker { display: none; }
.nvbb-faq__item summary svg { flex: none; color: #013C80; transition: transform .2s; }
.nvbb-faq__item[open] summary svg { transform: rotate(180deg); }
.nvbb-faq__item summary:focus-visible { outline: 3px solid #F79303; outline-offset: 2px; border-radius: 10px; }
.nvbb-faq__answer { padding: 0 16px 16px; color: #2b3a4c; }
.nvbb-faq__answer p { margin: 0 0 12px; line-height: 1.6; }
.nvbb-faq__go { display: inline-flex; align-items: center; gap: 6px; }
.nvbb-faq__empty { text-align: center; color: #5f6d7e; }
.nvbb-faq + .nvbb-updated, .nvbb-faq .nvbb-updated { max-width: 860px; margin-inline: auto; }
@media (prefers-reduced-motion: reduce) { .nvbb-faq__item summary svg { transition: none; } }
.nvbb-updated-wrap { padding-bottom: var(--mdaa-sp-5); }
.mdaa-siam-section-poles .nvbb-updated { justify-content: center; margin-top: var(--mdaa-sp-5); }
.nvbb-xc-table tr.is-off td { opacity: 1; }
.nvbb-xc-table th { white-space: nowrap; }
.nvbb-xc-ai { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 8px; }
.nvbb-xc-ai--all { margin: 0 0 14px; }
.nvbb-xc-ai__st { font-size: 13px; color: #1d6b52; }
.nvbb-xc-field .mdaa-form-input.is-ai { border-color: #1d6b52; background: #f2faf6; }
.nvbb-xc-ai-off { margin-bottom: 12px; }
.nvbb-xc-ai__st.is-err { color: #a61b1b; }

/* --- 210 Admin : Pages et textes (/admin/contenus/pages) --------------- */
.nvbb-pg-langs { white-space: nowrap; }
.nvbb-pg-lang { display: inline-flex; flex-direction: column; align-items: center; min-width: 56px; margin: 0 4px 4px 0; padding: 4px 8px; font-weight: 800; font-size: 13px; color: #013C80; text-decoration: none; background: #e3edf6; border-radius: 8px; }
.nvbb-pg-lang small { font-weight: 600; font-size: 11px; color: #4b5a6c; }
.nvbb-pg-lang.is-missing { color: #a61b1b; background: #fbe9e9; }
.nvbb-pg-slug { margin: 6px 0 0; }
.nvbb-pg-slug a { margin-right: 8px; font-weight: 700; }
.nvbb-pg-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 14px; border-bottom: 2px solid #e3e9f2; }
.nvbb-pg-tabs [role=tab] { margin-bottom: -2px; padding: 10px 18px; font-family: var(--mdaa-font-display); font-weight: 800; color: #4b5a6c; background: none; border: 0; border-bottom: 3px solid transparent; cursor: pointer; }
.nvbb-pg-tabs [role=tab].is-active { color: #013C80; border-bottom-color: #F79303; }
.nvbb-pg-tabs [role=tab].has-err { color: #a61b1b; }
.nvbb-pg-tabs [role=tab]:focus-visible { outline: 3px solid #F79303; outline-offset: 2px; }
.nvbb-pg-panel[hidden] { display: none; }
.nvbb-pg-content { margin-bottom: 14px; }
.nvbb-pg-toolbar { display: flex; flex-wrap: wrap; gap: 4px; padding: 6px; background: #f7f9fc; border: 1px solid #dde4ec; border-bottom: 0; border-radius: 10px 10px 0 0; }
.nvbb-pg-toolbar button { padding: 6px 10px; font: 600 13px/1 var(--mdaa-font-display); color: #013C80; background: #fff; border: 1px solid #dde4ec; border-radius: 6px; cursor: pointer; }
.nvbb-pg-toolbar button:hover { border-color: #013C80; }
.nvbb-pg-toolbar .nvbb-pg-prevbtn { margin-left: auto; color: #12202e; background: #F79303; border-color: #F79303; }
.nvbb-pg-code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; line-height: 1.5; border-top-left-radius: 0; border-top-right-radius: 0; }
.nvbb-pg-preview { display: block; width: 100%; height: 520px; margin-top: 10px; border: 1px solid #dde4ec; border-radius: 10px; background: #fff; }
.nvbb-pg-delete { margin-top: 12px; text-align: right; }

/* --- 211 Admin : Dictionnaire (/admin/contenus/dictionnaire, table nvbb_i18n) --- */
.nvbb-dict-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin: 0 0 16px; }
.nvbb-dict-tile { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; color: #12202e; text-decoration: none; background: #fff; border: 1px solid #dde4ec; border-top: 3px solid #013C80; border-radius: 12px; }
.nvbb-dict-tile strong { font: 800 22px/1.1 var(--mdaa-font-display); color: #013C80; }
.nvbb-dict-tile span { font-size: 13px; font-weight: 600; color: #4b5a6c; }
.nvbb-dict-tile:hover, .nvbb-dict-tile:focus-visible { border-color: #013C80; }
.nvbb-dict-tile:focus-visible { outline: 3px solid #F79303; outline-offset: 2px; }
.nvbb-dict-tile.is-on { background: #eef4fb; border-top-color: #F79303; }
.nvbb-dict-tile.is-warn strong { color: #a64b00; }
.nvbb-dict-filter { display: grid; grid-template-columns: minmax(220px, 2fr) minmax(150px, 1fr) minmax(150px, 1fr) auto; gap: 12px; align-items: end; margin: 0 0 18px; padding: 14px 16px; background: #fff; border: 1px solid #dde4ec; border-radius: 12px; }
.nvbb-dict-filter .nvbb-xc-field { margin: 0; }
.nvbb-dict-filter__btns { display: flex; gap: 8px; flex-wrap: wrap; }
@media (max-width: 860px) { .nvbb-dict-filter { grid-template-columns: 1fr 1fr; } .nvbb-dict-filter__q, .nvbb-dict-filter__btns { grid-column: 1 / -1; } }
@media (max-width: 520px) { .nvbb-dict-filter { grid-template-columns: 1fr; } }
.nvbb-dict-key, .nvbb-dict-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12.5px; }
.nvbb-dict-key { color: #013C80; word-break: break-all; }
.nvbb-dict-table td { vertical-align: top; }
.nvbb-dict-txt { min-width: 150px; max-width: 260px; font-size: 13.5px; line-height: 1.4; color: #12202e; }
.nvbb-dict-date { white-space: nowrap; font-size: 13px; }
.nvbb-dict-state { white-space: nowrap; }
.nvbb-dict-badge { display: inline-block; margin: 0 4px 4px 0; padding: 2px 8px; font-size: 12px; font-weight: 700; color: #013C80; background: #e3edf6; border-radius: 999px; }
.nvbb-dict-badge.is-mod { color: #7a3d00; background: #fdebd3; }
.nvbb-dict-badge.is-off { color: #5f6d7e; background: #eceff3; }
.nvbb-dict-badge.is-add { color: #1d6b52; background: #ddf2ea; }
.nvbb-dict-badge.is-miss { color: #a61b1b; background: #fde4e4; }
.nvbb-dict-meta { margin: -4px 0 12px; }
.nvbb-dict-marks code { padding: 1px 6px; color: #013C80; background: #e3edf6; border-radius: 6px; }
.nvbb-dict-lang { margin-bottom: 14px; }
.nvbb-dict-code { display: inline-grid; place-items: center; min-width: 30px; height: 22px; margin-right: 4px; font-size: 12px; color: #fff; background: #013C80; border-radius: 6px; }
.nvbb-dict-lang textarea { font-size: 15px; line-height: 1.5; }
.nvbb-dict-orig { margin-top: 6px; font-size: 13px; }
.nvbb-dict-orig summary { cursor: pointer; font-weight: 700; color: #013C80; }
.nvbb-dict-orig p { margin: 6px 0 0; padding: 8px 10px; color: #4b5a6c; background: #f7f9fc; border-left: 3px solid #F79303; border-radius: 6px; }
.nvbb-dict-pager { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 14px; font-weight: 600; color: #4b5a6c; }
.nvbb-dict-fill { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0 0 18px; padding: 14px 16px; background: #fff7ec; border: 1px solid #f6d3a3; border-left: 4px solid #F79303; border-radius: 12px; }

/* --- 212 FAQ : bandeau au modèle des pages de contenu (.mdaa-static-hero) --- */
.nvbb-faq-hero + .nvbb-faq { padding-top: 40px; }

/* --- 213 Espace des responsables de pôle (/pole) et admin « Espace des pôles » --- */
.nvbb-pole-trace { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 18px; padding: 10px 14px; font-size: 13px; color: #344256; background: #fff; border: 1px solid #dde4ec; border-left: 4px solid #013C80; border-radius: 10px; }
.nvbb-pole-trace svg { width: 18px; height: 18px; color: #013C80; }
.nvbb-pole-grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 16px; }
@media (max-width: 860px) { .nvbb-pole-grid { grid-template-columns: 1fr; } }
.nvbb-pole-card { margin: 0 0 16px; padding: 18px 20px; background: #fff; border-radius: 14px; border-top: 3px solid #013C80; box-shadow: 0 1px 3px rgba(1, 60, 128, .08); }
.nvbb-pole-card h2 { margin: 0 0 10px; font-size: 1.2rem; color: #013C80; }
.nvbb-pole-card h3, .nvbb-pole-h3 { margin: 18px 0 8px; font-size: 1rem; color: #013C80; }
.nvbb-pole-mission { border-top-color: #F79303; }
.nvbb-pole-muted { margin: 0 0 10px; font-size: 13.5px; color: #4a5568; }
.nvbb-pole-upd { margin: 10px 0 0; font-size: 12.5px; font-style: italic; color: #525f71; }
.nvbb-pole-sdgs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.nvbb-pole-sdg { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px 6px 6px; font-size: 13px; color: #12202e; background: #f4f7fb; border: 1px solid #dde4ec; border-radius: 999px; }
.nvbb-pole-sdg strong { padding: 3px 9px; font-size: 12px; color: #fff; background: #013C80; border-radius: 999px; white-space: nowrap; }
.nvbb-pole-sdg--3 strong { background: #2f6b22; } .nvbb-pole-sdg--4 strong { background: #a3142a; } .nvbb-pole-sdg--5 strong { background: #a52f1f; }
.nvbb-pole-sdg--8 strong { background: #a21942; } .nvbb-pole-sdg--9 strong { background: #a8441a; } .nvbb-pole-sdg--10 strong { background: #b8135f; }
.nvbb-pole-sdg--11 strong { background: #8a520a; } .nvbb-pole-sdg--12 strong { background: #6e5110; } .nvbb-pole-sdg--16 strong { background: #00689d; } .nvbb-pole-sdg--17 strong { background: #19486a; }
.nvbb-pole-sdgs--sm .nvbb-pole-sdg { font-size: 12px; padding: 3px 10px 3px 3px; }
.nvbb-pole-ms { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.nvbb-pole-ms li { display: grid; grid-template-columns: minmax(110px, auto) 1fr; gap: 10px; padding: 8px 10px; background: #f7f9fc; border-left: 3px solid #F79303; border-radius: 6px; font-size: 14px; }
.nvbb-pole-ms li.is-past { border-left-color: #9aa8b8; color: #525f71; }
.nvbb-pole-ms time { font-weight: 700; color: #013C80; }
.nvbb-pole-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.nvbb-pole-table th, .nvbb-pole-table td { padding: 9px 10px; text-align: left; vertical-align: top; border-bottom: 1px solid #e6ebf2; }
.nvbb-pole-table thead th { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: #4b5a6c; background: #f4f7fb; }
.nvbb-pole-table tbody th { font-weight: 700; color: #12202e; }
.nvbb-pole-widget__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.nvbb-pole-widget__head h2 { margin: 0; }
.nvbb-pole-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin: 0 0 12px; }
.nvbb-pole-stats .nvbb-ref-stat strong { font-size: 1.4rem; }
.nvbb-pole-badge { display: inline-block; padding: 2px 9px; font-size: 12px; font-weight: 700; color: #013C80; background: #e3edf6; border-radius: 999px; }
.nvbb-pole-badge.is-warn { color: #7a3d00; background: #fdebd3; }
.nvbb-pole-badge.is-corr { color: #7a3d00; background: #fdebd3; }
.nvbb-pole-badge.is-topic { color: #344256; background: #eceff3; }
.nvbb-pole-badge.is-st-open { color: #a61b1b; background: #fde4e4; }
.nvbb-pole-badge.is-st-done { color: #1d6b52; background: #ddf2ea; }
.nvbb-pole-badge.is-st-rejected { color: #5f6d7e; background: #eceff3; }
.nvbb-pole-badge.is-acc-pending { color: #7a3d00; background: #fdebd3; }
.nvbb-pole-badge.is-acc-approved { color: #1d6b52; background: #ddf2ea; }
.nvbb-pole-badge.is-acc-rejected, .nvbb-pole-badge.is-acc-revoked { color: #a61b1b; background: #fde4e4; }
.nvbb-pole-badge.is-acc-none { color: #5f6d7e; background: #eceff3; }
.nvbb-pole-switch { display: flex; align-items: center; gap: 8px; }
.nvbb-pole-switch__l { font-weight: 700; color: #013C80; font-size: 14px; }
.nvbb-pole-switch select { min-width: 220px; }
.nvbb-pole-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; margin-top: 6px; }
.nvbb-pole-choice { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; background: #fff; border: 2px solid #dde4ec; border-radius: 12px; cursor: pointer; }
.nvbb-pole-choice:has(input:checked) { border-color: #013C80; background: #eef4fb; }
.nvbb-pole-choice input { margin-top: 3px; accent-color: #013C80; }
.nvbb-pole-choice span { display: grid; gap: 2px; }
.nvbb-pole-choice small { font-size: 12.5px; color: #4a5568; }
.nvbb-pole-lab { font-weight: 700; color: #12202e; }
.nvbb-pole-form select, .nvbb-pole-form textarea { width: 100%; }
.nvbb-pole-notes { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.nvbb-pole-note { padding: 12px 14px; background: #f7f9fc; border-left: 4px solid #013C80; border-radius: 8px; }
.nvbb-pole-note.is-correction { border-left-color: #F79303; }
.nvbb-pole-note__top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 6px; }
.nvbb-pole-note__top code { font-size: 11.5px; color: #525f71; }
.nvbb-pole-note__body { margin: 0 0 6px; white-space: normal; overflow-wrap: anywhere; }
.nvbb-pole-note__meta { margin: 0; font-size: 12.5px; color: #525f71; }
.nvbb-pole-note__reply { margin-top: 8px; padding: 8px 10px; font-size: 13.5px; background: #fff; border: 1px solid #ddf2ea; border-left: 3px solid #1d6b52; border-radius: 6px; }
.nvbb-pole-note__reply p { margin: 4px 0 0; }
.nvbb-pole-gdpr { margin-top: 14px; font-size: 12px; }
.nvbb-pole-mt { margin-top: 18px; }
.nvbb-pole-inline { display: inline; margin: 0; }
.nvbb-pole-linkbtn { padding: 0; font: inherit; background: none; border: 0; cursor: pointer; }
/* Page publique d'une région : structures engagées dans l'Expo */
.nvbb-pole-orgs__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.nvbb-pole-org { display: flex; gap: 12px; padding: 16px; background: #fff; border-radius: 14px; border-top: 3px solid #F79303; box-shadow: 0 1px 3px rgba(1, 60, 128, .08); }
.nvbb-pole-org__ico { flex: 0 0 44px; display: grid; place-items: center; width: 44px; height: 44px; color: #013C80; background: #eef3fa; border-radius: 50%; }
.nvbb-pole-org__ico svg { width: 22px; height: 22px; }
.nvbb-pole-org__name { display: block; font-size: 1.05rem; color: #013C80; }
.nvbb-pole-org__role { display: block; margin: 2px 0 8px; font-size: 13px; color: #4a5568; }
/* Admin « Espace des pôles » */
.nvbb-polesp-ev { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 14px; }
.nvbb-polesp-ev select { min-width: 220px; width: auto; }
.nvbb-polesp-tabs, .nvbb-polesp-sub { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 16px; border-bottom: 2px solid #e3e9f2; }
.nvbb-polesp-tabs a, .nvbb-polesp-sub a { margin-bottom: -2px; padding: 10px 16px; font-weight: 800; color: #4b5a6c; text-decoration: none; border-bottom: 3px solid transparent; }
.nvbb-polesp-tabs a.is-on, .nvbb-polesp-sub a.is-on { color: #013C80; border-bottom-color: #F79303; }
.nvbb-polesp-tabs a:focus-visible, .nvbb-polesp-sub a:focus-visible { outline: 3px solid #F79303; outline-offset: 2px; }
.nvbb-polesp-inline, .nvbb-polesp-dec { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; }
.nvbb-polesp-inline select { min-width: 190px; width: auto; }
.nvbb-polesp-dec input[type=text] { width: 170px; }
.nvbb-polesp-mail { font-size: 13px; color: #013C80; word-break: break-all; }
.nvbb-polesp-body { margin: 8px 0 12px; padding: 10px 14px; background: #f7f9fc; border-left: 3px solid #013C80; border-radius: 6px; }
.nvbb-polesp-reply { display: grid; grid-template-columns: minmax(0, 3fr) minmax(140px, 1fr) auto; gap: 10px; align-items: end; }
@media (max-width: 720px) { .nvbb-polesp-reply { grid-template-columns: 1fr; } }
.nvbb-polesp-h { margin: 0 0 12px; font-size: 1.1rem; color: #013C80; }
.nvbb-polesp-wl { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px 14px; margin: 10px 0 14px; padding: 0; border: 0; }
.nvbb-polesp-wl legend { margin-bottom: 6px; }
.nvbb-polesp-wl label { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 14px; }
.nvbb-polesp-wl select { width: auto; min-width: 120px; }
.nvbb-pole .nvbb-ref-head__eyebrow { color: #8a4b00; }
.nvbb-pole-grid > * { min-width: 0; }
.nvbb-pole .nvbb-areg-table-wrap { max-width: 100%; overflow-x: auto; }
.nvbb-pole-ms li { grid-template-columns: 1fr; gap: 2px; }
@media (min-width: 521px) { .nvbb-pole-ms li { grid-template-columns: minmax(110px, auto) 1fr; gap: 10px; } }

/* --- 214 Admin « IA – veille et analyse » (/admin/ia) --- */
.nvbb-ai-run { margin: 0 0 16px; padding: 14px 18px; background: #fff; border: 1px solid #dde4ec; border-left: 4px solid #F79303; border-radius: 12px; }
.nvbb-ai-run__last { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 0 0 10px; padding: 0; list-style: none; font-size: 13.5px; color: #344256; }
.nvbb-ai-run__btns { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 8px; }
.nvbb-ai-head { display: flex; align-items: center; gap: 20px; }
.nvbb-ai-score { position: relative; flex: 0 0 96px; width: 96px; height: 96px; display: grid; place-items: center; text-align: center; }
.nvbb-ai-score svg { position: absolute; inset: 0; width: 96px; height: 96px; }
.nvbb-ai-score strong { position: relative; display: block; font: 800 28px/1 var(--mdaa-font-display); color: #013C80; }
.nvbb-ai-score span { position: relative; display: block; margin-top: -26px; padding-top: 34px; font-size: 12px; color: #4a5568; }
.nvbb-ai-headline { margin: 0; font-size: 1.25rem; color: #013C80; }
.nvbb-ai-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; }
.nvbb-ai-grid > * { min-width: 0; }
.nvbb-ai-list h2 { margin: 0 0 8px; font-size: 1.05rem; color: #013C80; }
.nvbb-ai-list ul, .nvbb-ai-asks, .nvbb-ai-actions { margin: 0; padding-left: 18px; display: grid; gap: 6px; }
.nvbb-ai-list.is-ok { border-top-color: #1d6b52; } .nvbb-ai-list.is-risk { border-top-color: #a61b1b; } .nvbb-ai-list.is-id { border-top-color: #F79303; }
.nvbb-ai-snap summary { cursor: pointer; font-weight: 700; color: #013C80; }
.nvbb-ai-snap dl { display: grid; grid-template-columns: minmax(160px, 260px) 1fr; gap: 6px 14px; margin: 12px 0 0; font-size: 13px; }
.nvbb-ai-snap dt { font-family: ui-monospace, Menlo, Consolas, monospace; color: #344256; }
.nvbb-ai-snap dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 640px) { .nvbb-ai-snap dl { grid-template-columns: 1fr; } .nvbb-ai-head { flex-direction: column; align-items: flex-start; } }
.nvbb-ai-table td { vertical-align: top; font-size: 13.5px; }
.nvbb-ai-old { color: #6b2a2a; } .nvbb-ai-new { color: #14513d; }
td.nvbb-ai-old { background: #fdf3f3; } td.nvbb-ai-new { background: #eef8f3; }
.nvbb-ai-prop__head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 8px; }
.nvbb-ai-prop__head h2 { margin: 0; }
.nvbb-ai-prop.is-approved, .nvbb-ai-prop.is-rejected, .nvbb-ai-prop.is-stale { opacity: .82; }
.nvbb-ai-src a { margin-right: 10px; }
.nvbb-ai-diff { display: grid; grid-template-columns: 40px 1fr 1fr; gap: 10px; align-items: start; margin: 10px 0; }
.nvbb-ai-diff > div { padding: 8px 12px; border-radius: 8px; font-size: 13.5px; }
.nvbb-ai-diff .nvbb-ai-old { background: #fdf3f3; border-left: 3px solid #a61b1b; }
.nvbb-ai-diff .nvbb-ai-new { background: #eef8f3; border-left: 3px solid #1d6b52; }
.nvbb-ai-diff small { display: block; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; font-size: 11px; color: #4a5568; }
.nvbb-ai-diff p { margin: 4px 0 0; }
@media (max-width: 760px) { .nvbb-ai-diff { grid-template-columns: 1fr; } }
.nvbb-pole-badge.is-ai-applied, .nvbb-pole-badge.is-ai-approved { color: #1d6b52; background: #ddf2ea; }
.nvbb-pole-badge.is-ai-pending { color: #7a3d00; background: #fdebd3; }
.nvbb-pole-badge.is-ai-reverted, .nvbb-pole-badge.is-ai-rejected, .nvbb-pole-badge.is-ai-stale { color: #5f6d7e; background: #eceff3; }
.nvbb-ai-settings textarea { width: 100%; }

/* --- 215 État du projet MVP (/etat-du-projet) et carte des espaces --- */
.nvbb-mvp-bar { position: relative; height: 12px; overflow: hidden; background: #e3edf6; border-radius: 999px; }
.nvbb-mvp-bar span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #013C80, #F79303); border-radius: 999px; }
.nvbb-mvp-bar--sm { height: 8px; }
.nvbb-mvp-bar span.p-0 { width: 0%; }
.nvbb-mvp-bar span.p-5 { width: 5%; }
.nvbb-mvp-bar span.p-10 { width: 10%; }
.nvbb-mvp-bar span.p-15 { width: 15%; }
.nvbb-mvp-bar span.p-20 { width: 20%; }
.nvbb-mvp-bar span.p-25 { width: 25%; }
.nvbb-mvp-bar span.p-30 { width: 30%; }
.nvbb-mvp-bar span.p-35 { width: 35%; }
.nvbb-mvp-bar span.p-40 { width: 40%; }
.nvbb-mvp-bar span.p-45 { width: 45%; }
.nvbb-mvp-bar span.p-50 { width: 50%; }
.nvbb-mvp-bar span.p-55 { width: 55%; }
.nvbb-mvp-bar span.p-60 { width: 60%; }
.nvbb-mvp-bar span.p-65 { width: 65%; }
.nvbb-mvp-bar span.p-70 { width: 70%; }
.nvbb-mvp-bar span.p-75 { width: 75%; }
.nvbb-mvp-bar span.p-80 { width: 80%; }
.nvbb-mvp-bar span.p-85 { width: 85%; }
.nvbb-mvp-bar span.p-90 { width: 90%; }
.nvbb-mvp-bar span.p-95 { width: 95%; }
.nvbb-mvp-bar span.p-100 { width: 100%; }
.nvbb-mvp-hero .mdaa-static-hero__sub { max-width: 60ch; }
.nvbb-mvp { padding-top: 40px; }
.nvbb-mvp-empty { text-align: center; color: #4a5568; }
.nvbb-mvp-top { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(0, 2fr); gap: 18px; margin-bottom: 30px; }
@media (max-width: 860px) { .nvbb-mvp-top { grid-template-columns: 1fr; } }
.nvbb-mvp-overall { padding: 20px 22px; background: #013C80; color: #fff; border-radius: 16px; }
.nvbb-mvp-overall__l { margin: 0; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #ffd8a6; }
.nvbb-mvp-overall__v { margin: 4px 0 10px; }
.nvbb-mvp-overall__v strong { font: 800 2.6rem/1 var(--mdaa-font-display); }
.nvbb-mvp-overall .nvbb-mvp-bar { background: rgba(255, 255, 255, .22); }
.nvbb-mvp-overall .nvbb-mvp-bar span { background: #F79303; }
.nvbb-mvp-overall__n { margin: 10px 0 0; font-size: 14px; color: #e3edf6; }
.nvbb-mvp-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.nvbb-mvp-kpis li { padding: 14px 16px; background: #fff; border-radius: 12px; border-top: 3px solid #F79303; box-shadow: 0 1px 3px rgba(1, 60, 128, .08); }
.nvbb-mvp-kpis strong { display: block; font: 800 1.8rem/1.1 var(--mdaa-font-display); color: #013C80; }
.nvbb-mvp-kpis span { font-size: 13.5px; color: #4a5568; }
.nvbb-mvp-h2 { display: flex; align-items: center; gap: 10px; margin: 30px 0 14px; font-size: 1.4rem; color: #013C80; }
.nvbb-mvp-h2 span { display: inline-grid; place-items: center; min-width: 28px; height: 28px; padding: 0 8px; font-size: 14px; color: #013C80; background: #e3edf6; border-radius: 999px; }
.nvbb-mvp-items { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.nvbb-mvp-item { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px; background: #fff; border-radius: 14px; border-top: 3px solid #013C80; box-shadow: 0 1px 3px rgba(1, 60, 128, .08); }
.nvbb-mvp-item.is-in_progress { border-top-color: #F79303; }
.nvbb-mvp-item.is-planned { border-top-color: #8aa4c8; }
.nvbb-mvp-item.is-done { border-top-color: #1d6b52; }
.nvbb-mvp-item h3 { margin: 0; font-size: 1.05rem; color: #013C80; }
.nvbb-mvp-item p { margin: 0; font-size: 14.5px; color: #344256; }
.nvbb-mvp-item__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: auto !important; font-weight: 700; }
.nvbb-mvp-need { padding: 3px 10px; font-size: 12.5px; font-weight: 700; color: #7a3d00; text-decoration: none; background: #fdebd3; border-radius: 999px; }
.nvbb-mvp-need:hover, .nvbb-mvp-need:focus-visible { background: #F79303; color: #12202e; }
.nvbb-mvp-link { margin-left: auto; font-size: 13.5px; color: #013C80; }
.nvbb-mvp-ways { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin: 0 0 20px; padding: 0; list-style: none; }
.nvbb-mvp-way { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 20px; background: #fff; border-radius: 14px; border: 1px solid #dde4ec; }
.nvbb-mvp-way__ico { display: grid; place-items: center; width: 48px; height: 48px; color: #013C80; background: #eef3fa; border-radius: 50%; }
.nvbb-mvp-way__ico svg { width: 24px; height: 24px; }
.nvbb-mvp-way h3 { margin: 0; font-size: 1.1rem; color: #013C80; }
.nvbb-mvp-way p { margin: 0 0 6px; font-size: 14.5px; color: #344256; }
.nvbb-mvp-way .mdaa-btn { margin-top: auto; }
.nvbb-mvp-card { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; margin: 0 0 20px; padding: 16px 20px; background: #fff; border: 1px solid #dde4ec; border-left: 4px solid #F79303; border-radius: 12px; }
.nvbb-mvp-card__txt { flex: 1 1 320px; min-width: 0; }
.nvbb-mvp-card h2 { display: flex; align-items: baseline; gap: 10px; margin: 0 0 8px; font-size: 1.05rem; color: #013C80; }
.nvbb-mvp-card h2 strong { font-size: 1.2rem; color: #8a4b00; }
.nvbb-mvp-card p { margin: 8px 0 0; font-size: 13.5px; color: #344256; }
.nvbb-mvp-card__btns { display: flex; flex-wrap: wrap; gap: 8px; }

/* =====================================================================
 * 216. FORMATIONS DES PÔLES ET ODD (02/10/2026)
 *   Pastilles ODD (17 couleurs foncées, contraste AA avec le blanc), cibles,
 *   catalogue, page d'une formation, paiement, espace de la personne inscrite,
 *   certificat, espace pôle (création, modules, vidéos, examen), admin.
 * ===================================================================== */
.nvbb-pole-sdg--1 strong { background: #b81c2f; } .nvbb-pole-sdg--2 strong { background: #8a6418; } .nvbb-pole-sdg--6 strong { background: #13708a; }
.nvbb-pole-sdg--7 strong { background: #7d6100; } .nvbb-pole-sdg--13 strong { background: #2f6033; } .nvbb-pole-sdg--14 strong { background: #076a99; } .nvbb-pole-sdg--15 strong { background: #33751a; }
.nvbb-pole-sdg { max-width: 100%; }
.nvbb-pole-sdg span { min-width: 0; overflow-wrap: anywhere; }
.nvbb-sdg-tg { padding: 1px 7px; font-size: 11px; font-weight: 700; color: #344256; background: #fff; border: 1px solid #dde4ec; border-radius: 999px; white-space: nowrap; }
.nvbb-pole-sdgs--xs { gap: 6px; }
.nvbb-pole-sdgs--xs .nvbb-pole-sdg { gap: 6px; padding: 2px 8px 2px 2px; font-size: 11.5px; }
.nvbb-pole-sdgs--xs .nvbb-pole-sdg strong { padding: 2px 7px; font-size: 11px; }
.nvbb-pole-sdgs--xs .nvbb-sdg-tg { font-size: 10.5px; padding: 0 6px; }
.nvbb-pfig--formations .nvbb-pfig__grow { transform-origin: 0 50%; animation-name: nvbbPfGrowX; }
@keyframes nvbbPfGrowX { 0% { transform: scaleX(.1); } 70%, 100% { transform: scaleX(1); } }

/* --- Public : catalogue --- */
.nvbb-frm-hero--sm .mdaa-static-hero__in { padding-block: 34px 30px; }
.nvbb-frm { background: #f6f8fb; }
.nvbb-frm-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 0 0 28px; padding: 0; list-style: none; counter-reset: none; }
.nvbb-frm-steps li { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 18px 16px 16px; background: #fff; border: 1px solid #dde4ec; border-top: 4px solid #F79303; border-radius: 14px; }
.nvbb-frm-steps__n { position: absolute; top: 12px; right: 14px; font-size: 26px; font-weight: 800; color: #e3edf6; line-height: 1; }
.nvbb-frm-steps__ico { display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center; color: #013C80; background: #eef3fb; border-radius: 12px; }
.nvbb-frm-steps__ico svg { width: 22px; height: 22px; }
.nvbb-frm-steps strong { color: #013C80; font-size: 15px; }
.nvbb-frm-steps small { color: #4a5568; font-size: 13px; line-height: 1.45; }
.nvbb-frm-empty { padding: 26px; text-align: center; color: #344256; background: #fff; border: 1px dashed #c4d3e6; border-radius: 14px; }
.nvbb-frm-filters { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 18px; margin: 0 0 14px; }
.nvbb-frm-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.nvbb-frm-chips a { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 14px; font-size: 13.5px; font-weight: 600; color: #013C80; text-decoration: none; background: #fff; border: 1px solid #c4d3e6; border-radius: 999px; }
.nvbb-frm-chips a:hover, .nvbb-frm-chips a:focus-visible { border-color: #013C80; }
.nvbb-frm-chips a.is-on { color: #fff; background: #013C80; border-color: #013C80; }
.nvbb-frm-chips--country a.is-on { color: #12202e; background: #F79303; border-color: #F79303; }
.nvbb-frm-catdesc { margin: 0 0 16px; color: #344256; }
.nvbb-frm-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
.nvbb-frm-card { display: flex; flex-direction: column; gap: 10px; min-width: 0; padding: 18px; background: #fff; border: 1px solid #dde4ec; border-radius: 16px; box-shadow: 0 6px 20px rgba(1, 60, 128, .06); }
.nvbb-frm-card__top { display: flex; flex-wrap: wrap; gap: 6px; }
.nvbb-frm-pill { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; font-size: 12px; font-weight: 700; color: #013C80; background: #eef3fb; border-radius: 999px; }
.nvbb-frm-pill svg { width: 14px; height: 14px; }
.nvbb-frm-pill.is-free { color: #1d6b52; background: #ddf2ea; }
.nvbb-frm-card__t { margin: 0; font-size: 1.12rem; line-height: 1.3; }
.nvbb-frm-card__t a { color: #013C80; text-decoration: none; }
.nvbb-frm-card__t a:hover, .nvbb-frm-card__t a:focus-visible { text-decoration: underline; }
.nvbb-frm-card__by { margin: 0; font-size: 13px; font-weight: 600; color: #8a4b00; }
.nvbb-frm-card__s { margin: 0; font-size: 14px; color: #344256; line-height: 1.5; }
.nvbb-frm-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0; padding: 0; list-style: none; font-size: 13px; color: #4a5568; }
.nvbb-frm-meta li { display: inline-flex; align-items: center; gap: 5px; }
.nvbb-frm-meta svg { width: 16px; height: 16px; color: #013C80; }
.nvbb-frm-card__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 12px; border-top: 1px solid #eef1f5; }
.nvbb-frm-price { display: flex; flex-direction: column; margin: 0; }
.nvbb-frm-price strong { font-size: 1.2rem; color: #013C80; }
.nvbb-frm-price span { font-size: 12.5px; color: #4a5568; }
.nvbb-frm-help { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 28px; padding: 16px 18px; background: #fff; border: 1px solid #dde4ec; border-radius: 14px; }
.nvbb-frm-help a { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: #013C80; }
.nvbb-frm-help svg { width: 18px; height: 18px; color: #8a4b00; }

/* --- Public : page d'une formation --- */
.nvbb-frm-detail__grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 24px; align-items: start; }
.nvbb-frm-detail__main { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.nvbb-frm-detail__side { position: sticky; top: 90px; min-width: 0; }
.nvbb-frm-box { min-width: 0; padding: 20px; background: #fff; border: 1px solid #dde4ec; border-radius: 16px; }
.nvbb-frm-box h2 { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: 1.1rem; color: #013C80; }
.nvbb-frm-box h2 svg { width: 22px; height: 22px; color: #8a4b00; flex: none; }
.nvbb-frm-video { position: relative; overflow: hidden; margin: 0 0 14px; background: #0b1a2e; border-radius: 12px; aspect-ratio: 16 / 9; }
.nvbb-frm-video video { display: block; width: 100%; height: 100%; object-fit: contain; background: #0b1a2e; }
.nvbb-frm-video--sm { max-width: 520px; }
.nvbb-frm-muted { color: #4a5568; font-size: 13.5px; }
.nvbb-frm-lead { margin: 0 0 10px; font-size: 1.02rem; font-weight: 600; color: #12202e; }
.nvbb-frm-text { color: #263445; font-size: 14.5px; line-height: 1.65; overflow-wrap: anywhere; }
.nvbb-frm-eyebrow { margin: 0 0 4px; font-size: 12.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #8a4b00; }
.nvbb-frm-mods { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
.nvbb-frm-mods li { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 10px 12px; background: #f6f8fb; border: 1px solid #e3e9f1; border-radius: 12px; }
.nvbb-frm-mods__n { display: inline-flex; flex: none; width: 30px; height: 30px; align-items: center; justify-content: center; font-weight: 800; font-size: 13px; color: #fff; background: #013C80; border-radius: 50%; }
.nvbb-frm-mods__n svg { width: 16px; height: 16px; }
.nvbb-frm-mods__t { flex: 1 1 auto; min-width: 0; font-weight: 600; color: #12202e; overflow-wrap: anywhere; }
.nvbb-frm-mods__d { flex: none; font-size: 12.5px; color: #4a5568; }
.nvbb-frm-mods__lock { display: inline-flex; color: #5f6d7e; } .nvbb-frm-mods__lock svg { width: 18px; height: 18px; }
.nvbb-frm-mods li.is-exam { background: #fff7ec; border-color: #f6d3a2; } .nvbb-frm-mods li.is-exam .nvbb-frm-mods__n { background: #F79303; color: #12202e; }
.nvbb-frm-mods--nav li { padding: 0; }
.nvbb-frm-mods--nav a { display: flex; align-items: center; gap: 10px; width: 100%; min-width: 0; padding: 9px 10px; color: inherit; text-decoration: none; border-radius: 12px; }
.nvbb-frm-mods--nav a:hover, .nvbb-frm-mods--nav a:focus-visible { background: #eef3fb; }
.nvbb-frm-mods--nav li.is-on { border-color: #013C80; box-shadow: inset 3px 0 0 #F79303; background: #fff; }
.nvbb-frm-mods li.is-done .nvbb-frm-mods__n { background: #1d6b52; }
.nvbb-frm-targets { margin: 12px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: #344256; }
.nvbb-frm-targets strong { color: #013C80; margin-right: 4px; }
.nvbb-frm-enroll { padding: 20px; background: #fff; border: 1px solid #dde4ec; border-top: 4px solid #013C80; border-radius: 16px; scroll-margin-top: 90px; }
.nvbb-frm-enroll__t { margin: 0 0 12px; font-size: 1.15rem; color: #013C80; }
.nvbb-frm-pricebox { padding: 20px; background: #fff; border: 1px solid #dde4ec; border-top: 4px solid #F79303; border-radius: 16px; box-shadow: 0 8px 24px rgba(1, 60, 128, .08); }
.nvbb-frm-pricebox__l { margin: 0; font-size: 12.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #4a5568; }
.nvbb-frm-pricebox__eur { margin: 4px 0 0; font-size: 2rem; font-weight: 800; color: #013C80; }
.nvbb-frm-pricebox__xof { margin: 0 0 14px; font-size: 13.5px; color: #344256; }
.nvbb-frm-pricebox__btn { width: 100%; justify-content: center; }
.nvbb-frm-facts { display: flex; flex-direction: column; gap: 8px; margin: 16px 0; padding: 0; list-style: none; font-size: 13.5px; color: #263445; }
.nvbb-frm-facts li { display: flex; align-items: flex-start; gap: 8px; }
.nvbb-frm-facts svg { flex: none; width: 18px; height: 18px; color: #013C80; }
.nvbb-frm-payee { margin: 0; padding: 10px 12px; font-size: 12.5px; color: #344256; background: #f6f8fb; border-radius: 10px; line-height: 1.5; }

/* --- Public : paiement, espace de la personne inscrite, certificat --- */
.nvbb-frm-narrow { max-width: 720px; }
.nvbb-frm-recap { margin: 0 0 18px; padding: 0; list-style: none; background: #fff; border: 1px solid #dde4ec; border-radius: 14px; overflow: hidden; }
.nvbb-frm-recap li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 16px; padding: 11px 16px; border-bottom: 1px solid #eef1f5; font-size: 14px; }
.nvbb-frm-recap li:last-child { border-bottom: 0; }
.nvbb-frm-recap span { color: #4a5568; }
.nvbb-frm-recap strong { color: #12202e; text-align: right; overflow-wrap: anywhere; }
.nvbb-frm-recap li.is-total { background: #eef3fb; } .nvbb-frm-recap li.is-total strong { font-size: 1.15rem; color: #013C80; }
.nvbb-frm-msg { padding: 14px 16px; color: #1d4d34; background: #e6f4ec; border-radius: 12px; }
.nvbb-frm-msg.is-err { color: #7a1b1b; background: #fde4e4; }
.nvbb-frm-paybtn { display: inline-flex; align-items: center; gap: 8px; }
.nvbb-frm-learn__grid { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 22px; align-items: start; }
.nvbb-frm-learn__nav { position: sticky; top: 90px; display: flex; flex-direction: column; gap: 12px; min-width: 0; padding: 16px; background: #fff; border: 1px solid #dde4ec; border-radius: 16px; }
.nvbb-frm-learn__main { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.nvbb-frm-learn__keep { display: flex; gap: 8px; margin: 0; font-size: 12.5px; }
.nvbb-frm-learn__keep svg { flex: none; width: 16px; height: 16px; color: #8a4b00; }
.nvbb-frm-progress p { margin: 0 0 6px; font-size: 13px; color: #344256; }
.nvbb-frm-progress strong { font-size: 1.2rem; color: #013C80; margin-right: 6px; }
.nvbb-frm-done { margin-top: 16px; }
.nvbb-frm-done button svg { width: 18px; height: 18px; }
.nvbb-frm-exam { display: flex; flex-direction: column; gap: 14px; }
.nvbb-frm-q { margin: 0; padding: 14px; background: #f6f8fb; border: 1px solid #e3e9f1; border-radius: 12px; }
.nvbb-frm-q legend { display: flex; gap: 8px; padding: 0 4px; font-weight: 700; color: #12202e; }
.nvbb-frm-q legend span { display: inline-flex; flex: none; width: 24px; height: 24px; align-items: center; justify-content: center; font-size: 12px; color: #fff; background: #013C80; border-radius: 50%; }
.nvbb-frm-q .nvbb-wd-choice { margin-top: 8px; }
.nvbb-frm-cert { display: flex; gap: 16px; align-items: flex-start; padding: 16px; background: #fff7ec; border: 1px solid #f6d3a2; border-radius: 14px; }
.nvbb-frm-cert__ico { display: inline-flex; flex: none; width: 52px; height: 52px; align-items: center; justify-content: center; color: #12202e; background: #F79303; border-radius: 50%; }
.nvbb-frm-cert__ico svg { width: 30px; height: 30px; }
.nvbb-frm-cert p { margin: 0 0 6px; }
.nvbb-frm-cert__btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px !important; }
.nvbb-frm-search { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 18px; }
.nvbb-frm-search input { flex: 1 1 240px; min-width: 0; font-family: ui-monospace, monospace; letter-spacing: .03em; }
.nvbb-frm-verdict { display: flex; gap: 14px; align-items: flex-start; padding: 16px; border-radius: 14px; }
.nvbb-frm-verdict > svg { flex: none; width: 30px; height: 30px; }
.nvbb-frm-verdict.is-ok { background: #e6f4ec; border: 1px solid #b7dfc8; } .nvbb-frm-verdict.is-ok > svg { color: #1d6b52; }
.nvbb-frm-verdict.is-ko { color: #7a1b1b; background: #fde4e4; border: 1px solid #f3b9b9; }
.nvbb-frm-verdict > div { flex: 1 1 auto; min-width: 0; }
.nvbb-frm-verdict .nvbb-frm-recap { margin: 10px 0; }

/* --- Espace pôle : formations --- */
.nvbb-pole-frmlink { display: flex; align-items: center; gap: 14px; margin: 0 0 18px; padding: 16px 18px; color: inherit; text-decoration: none; background: #fff; border: 1px solid #dde4ec; border-left: 5px solid #F79303; border-radius: 14px; }
.nvbb-pole-frmlink:hover, .nvbb-pole-frmlink:focus-visible { border-color: #013C80; }
.nvbb-pole-frmlink > svg { flex: none; width: 34px; height: 34px; color: #013C80; }
.nvbb-pole-frmlink span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.nvbb-pole-frmlink strong { color: #013C80; } .nvbb-pole-frmlink small { color: #4a5568; font-size: 13px; }
.nvbb-pole-badge.is-frm-draft { color: #344256; background: #eceff3; }
.nvbb-pole-badge.is-frm-submitted { color: #7a3d00; background: #fdebd3; }
.nvbb-pole-badge.is-frm-published { color: #1d6b52; background: #ddf2ea; }
.nvbb-pole-badge.is-frm-rejected { color: #a61b1b; background: #fde4e4; }
.nvbb-pole-badge.is-frm-archived { color: #5f6d7e; background: #eceff3; }
.nvbb-frm-tri { margin: 0 0 12px; padding: 12px; background: #f6f8fb; border: 1px solid #e3e9f1; border-radius: 12px; }
.nvbb-frm-tri > .nvbb-pole-lab { margin: 0 0 6px; }
.nvbb-frm-tri__l { margin-bottom: 8px; }
.nvbb-frm-tri__l small { font-weight: 400; color: #4a5568; }
.nvbb-frm-lang { display: inline-block; margin: 0 4px 0 0; padding: 1px 6px; font-size: 11px; font-weight: 800; color: #fff; background: #013C80; border-radius: 6px; }
.nvbb-frm-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.nvbb-frm-cats { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 8px; }
.nvbb-frm-status { margin: 0 0 16px; padding: 14px 16px; background: #fff; border: 1px solid #dde4ec; border-left: 5px solid #5f6d7e; border-radius: 14px; }
.nvbb-frm-status.is-published { border-left-color: #1d6b52; } .nvbb-frm-status.is-submitted { border-left-color: #F79303; } .nvbb-frm-status.is-rejected { border-left-color: #a61b1b; }
.nvbb-frm-status p { margin: 0 0 6px; }
.nvbb-frm-check { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 6px 0 0; padding: 0; list-style: none; font-size: 13.5px; }
.nvbb-frm-check li { display: inline-flex; align-items: center; gap: 6px; }
.nvbb-frm-check svg { width: 18px; height: 18px; }
.nvbb-frm-check .is-ok { color: #1d6b52; } .nvbb-frm-check .is-ko { color: #7a3d00; }
.nvbb-frm-up { display: flex; flex-direction: column; gap: 8px; }
.nvbb-frm-up__cur { display: flex; flex-direction: column; gap: 4px; max-width: 520px; }
.nvbb-frm-up__cur video { width: 100%; border-radius: 10px; background: #0b1a2e; aspect-ratio: 16 / 9; }
.nvbb-frm-up__cur small { color: #4a5568; overflow-wrap: anywhere; }
.nvbb-frm-up__btn { align-self: flex-start; cursor: pointer; }
.nvbb-frm-up__btn svg { width: 18px; height: 18px; }
.nvbb-frm-up input[type=file]:focus-visible + .nvbb-frm-up__bar, .nvbb-frm-up:focus-within .nvbb-frm-up__btn { outline: 3px solid #F79303; outline-offset: 2px; }
.nvbb-frm-up__bar { width: 100%; max-width: 520px; height: 10px; accent-color: #013C80; }
.nvbb-frm-up__msg { margin: 0; font-size: 13px; color: #1d6b52; }
.nvbb-frm-up__msg.is-err { color: #a61b1b; }
.nvbb-frm-mod { margin: 0 0 10px; background: #fff; border: 1px solid #dde4ec; border-radius: 12px; }
.nvbb-frm-mod > summary { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 10px 12px; cursor: pointer; list-style: none; }
.nvbb-frm-mod > summary::-webkit-details-marker { display: none; }
.nvbb-frm-mod > summary > span:not(.nvbb-frm-mods__n) { flex: 1 1 auto; min-width: 0; font-weight: 600; overflow-wrap: anywhere; }
.nvbb-frm-mod > summary small { flex: none; color: #4a5568; font-size: 12.5px; }
.nvbb-frm-mod[open] > summary { border-bottom: 1px solid #eef1f5; }
.nvbb-frm-mod.is-new { border-style: dashed; border-color: #9fb6d3; }
.nvbb-frm-mod.is-new .nvbb-frm-mods__n { background: #F79303; color: #12202e; }
.nvbb-frm-mod.is-off { opacity: .7; }
.nvbb-frm-mod__body { display: flex; flex-direction: column; gap: 12px; padding: 12px; }
.nvbb-frm-modact { display: flex; flex-wrap: wrap; gap: 8px; }
.nvbb-ref-btn.is-danger { color: #a61b1b; border-color: #e7b3b3; }
.nvbb-frm-qlist { display: flex; flex-direction: column; gap: 10px; margin: 0 0 14px; padding-left: 22px; }
.nvbb-frm-qlist p { margin: 0 0 4px; }
.nvbb-frm-qlist ul { margin: 0 0 6px; padding-left: 18px; font-size: 13.5px; }
.nvbb-frm-qlist li.is-good { color: #1d6b52; font-weight: 700; }
.nvbb-frm-qlist li.is-good svg { width: 14px; height: 14px; vertical-align: -2px; margin-right: 4px; }
.nvbb-frm-opts { margin: 0; padding: 0; border: 0; }
.nvbb-frm-opt { display: grid; grid-template-columns: 150px repeat(3, minmax(0, 1fr)); gap: 8px; align-items: center; margin: 0 0 8px; }
.nvbb-frm-opt__good { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: #344256; }

/* --- Admin : formations et ODD --- */
.nvbb-frmadm-tri { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 14px 0; }
.nvbb-frmadm-tri > div { min-width: 0; padding: 12px; background: #f6f8fb; border-radius: 10px; font-size: 13.5px; overflow-wrap: anywhere; }
.nvbb-frmadm-dec { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px; margin-top: 18px; padding-top: 14px; border-top: 1px solid #eef1f5; }
.nvbb-frmadm-rej { display: flex; flex-direction: column; gap: 6px; flex: 1 1 320px; }
.nvbb-frmadm-set { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; align-items: end; }
.nvbb-odd-chip { padding: 0 !important; background: none !important; border: 0 !important; }
.nvbb-odd-form .nvbb-xc-field { margin: 0; }

@media (max-width: 960px) {
    .nvbb-frm-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nvbb-frm-detail__grid, .nvbb-frm-learn__grid { grid-template-columns: minmax(0, 1fr); }
    .nvbb-frm-detail__side, .nvbb-frm-learn__nav { position: static; }
    .nvbb-frm-detail__side { order: -1; }
    .nvbb-frmadm-tri { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
    .nvbb-frm-steps, .nvbb-frm-row { grid-template-columns: minmax(0, 1fr); }
    .nvbb-frm-cards { grid-template-columns: minmax(0, 1fr); }
    .nvbb-frm-opt { grid-template-columns: minmax(0, 1fr); }
    .nvbb-frm-mods__d { display: none; }
    .nvbb-frm-box, .nvbb-frm-enroll, .nvbb-frm-pricebox { padding: 16px; }
}
/* 216 : tableaux de l'espace pôle : défilement horizontal dans leur carte, jamais de la page */
.nvbb-pole .nvbb-ref__in > *, .nvbb-pole .nvbb-pole-card { min-width: 0; max-width: 100%; }
.nvbb-pole .nvbb-areg-table-wrap { display: block; width: 100%; max-width: 100%; overflow-x: auto; }
.nvbb-frm-mod > summary { flex-wrap: wrap; }
.nvbb-frm-mod > summary small { flex: 0 1 auto; min-width: 0; overflow-wrap: anywhere; }
/* Propositions de l'IA déjà traitées : fond gris au lieu de la transparence (contraste AA du texte) */
.nvbb-ai-prop.is-approved, .nvbb-ai-prop.is-rejected, .nvbb-ai-prop.is-stale { opacity: 1; background: #f4f6f9; }
fieldset.nvbb-ref-fs, .nvbb-frm-opts, .nvbb-frm-q { position: relative; min-width: 0; }

/* =====================================================================
 * 217. ESPACEMENTS, IA DES CANDIDATURES, IA SEO, VUE ADMIN DES PÔLES (02/10/2026)
 * ===================================================================== */
/* Contenu trop collé au bandeau (« trop collé ») : la règle .mdaa-static-hero + .mdaa-section retirait l'espace du haut */
.mdaa-static-hero + .mdaa-section.nvbb-mvp, .mdaa-static-hero + .mdaa-section.nvbb-frm { padding-top: 40px; }
@media (max-width: 600px) { .mdaa-static-hero + .mdaa-section.nvbb-mvp, .mdaa-static-hero + .mdaa-section.nvbb-frm { padding-top: 26px; } }
/* --- Articles (IA SEO NVBB) --- */
.nvbb-art { background: #f6f8fb; }
.mdaa-static-hero + .mdaa-section.nvbb-art { padding-top: 40px; }
.nvbb-art-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
.nvbb-art-list--sm { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.nvbb-art-card { display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 18px; background: #fff; border: 1px solid #dde4ec; border-top: 4px solid #F79303; border-radius: 16px; }
.nvbb-art-card__date { margin: 0; font-size: 12.5px; color: #4a5568; }
.nvbb-art-card__t { margin: 0; font-size: 1.1rem; line-height: 1.3; }
.nvbb-art-card__t a { color: #013C80; text-decoration: none; } .nvbb-art-card__t a:hover, .nvbb-art-card__t a:focus-visible { text-decoration: underline; }
.nvbb-art-card__m { margin: 0; color: #344256; font-size: 14px; line-height: 1.5; }
.nvbb-art-card__more { margin-top: auto; font-weight: 700; color: #013C80; }
.nvbb-art-body { max-width: 780px; }
.nvbb-art-lead { font-size: 1.12rem; font-weight: 600; color: #12202e; line-height: 1.55; }
.nvbb-art-text { color: #1f2a3d; font-size: 16px; line-height: 1.75; overflow-wrap: anywhere; }
.nvbb-art-text h2 { margin: 30px 0 10px; font-size: 1.35rem; color: #013C80; }
.nvbb-art-text h3 { margin: 22px 0 8px; font-size: 1.1rem; color: #013C80; }
.nvbb-art-text a { color: #013C80; text-decoration: underline; }
.nvbb-art-h2 { margin: 32px 0 12px; font-size: 1.2rem; color: #013C80; }
.nvbb-art-faq details { margin: 0 0 8px; padding: 12px 14px; background: #fff; border: 1px solid #dde4ec; border-radius: 12px; }
.nvbb-art-faq summary { cursor: pointer; font-weight: 700; color: #12202e; }
.nvbb-art-faq p { margin: 8px 0 0; color: #344256; }
.nvbb-art-src { padding-left: 18px; font-size: 14px; }
.nvbb-art-ai { margin-top: 24px; padding: 10px 14px; font-size: 13px; color: #344256; background: #eef3fb; border-radius: 10px; }
.nvbb-art-preview { position: sticky; top: 0; z-index: 50; padding: 10px 0; background: #fff7ec; border-bottom: 2px solid #F79303; }
.nvbb-art-preview p { margin: 0 0 6px; }
.nvbb-art-preview__act { display: flex; flex-wrap: wrap; gap: 8px; }
.nvbb-art-edit { margin-top: 8px; } .nvbb-art-edit form { display: flex; flex-direction: column; gap: 6px; max-width: 860px; }
/* --- Admin IA SEO --- */
.nvbb-seo-period { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; }
.nvbb-seo-period a { padding: 6px 12px; font-size: 13.5px; font-weight: 600; color: #013C80; text-decoration: none; background: #fff; border: 1px solid #c4d3e6; border-radius: 999px; }
.nvbb-seo-period a.is-on { color: #fff; background: #013C80; border-color: #013C80; }
.nvbb-seo-kpis { margin-bottom: 14px; }
.nvbb-seo-kpis small { display: block; font-size: 11.5px; color: #4a5568; }
.nvbb-seo-chart { display: block; width: 100%; height: auto; }
.nvbb-seo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; }
.nvbb-seo-grid > * { min-width: 0; }
.nvbb-seo-bars { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; }
.nvbb-seo-bars li { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(60px, 1fr) auto; gap: 8px; align-items: center; font-size: 13px; }
.nvbb-seo-bars__l { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #12202e; }
.nvbb-seo-bars__b { height: 8px; background: #e3edf6; border-radius: 999px; overflow: hidden; }
.nvbb-seo-bars__b span { display: block; height: 100%; width: 0; background: #013C80; border-radius: 999px; }
.nvbb-seo-bars__v { font-weight: 700; color: #013C80; }
.nvbb-seo-reco { padding-left: 18px; font-size: 14px; }
.nvbb-seo-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
.nvbb-seo-row label { display: flex; flex-direction: column; flex: 1 1 140px; min-width: 0; }
.nvbb-pole-badge.is-kw-approved, .nvbb-pole-badge.is-art-published { color: #1d6b52; background: #ddf2ea; }
.nvbb-pole-badge.is-kw-proposed, .nvbb-pole-badge.is-art-draft { color: #7a3d00; background: #fdebd3; }
.nvbb-pole-badge.is-kw-used { color: #013C80; background: #e3edf6; }
.nvbb-pole-badge.is-kw-rejected, .nvbb-pole-badge.is-art-rejected, .nvbb-pole-badge.is-art-archived { color: #5f6d7e; background: #eceff3; }
/* --- Admin IA des candidatures --- */
.nvbb-rev-filters { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; align-items: center; }
.nvbb-rev-filters select { width: auto; min-width: 220px; }
.nvbb-rev-checks { margin: 8px 0 12px; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 4px; font-size: 13.5px; }
.nvbb-rev-checks li { display: flex; gap: 6px; align-items: flex-start; }
.nvbb-rev-checks li.is-ok { color: #1d6b52; } .nvbb-rev-checks li.is-ko { color: #8a3d00; }
.nvbb-rev-checks li > span[aria-hidden] { display: inline-flex; width: 18px; justify-content: center; font-weight: 800; }
.nvbb-rev-checks svg { width: 16px; height: 16px; flex: none; }
.nvbb-rev-form textarea { font-family: inherit; }
.nvbb-pole-badge.is-dec-approve, .nvbb-pole-badge.is-dec-contact { color: #1d6b52; background: #ddf2ea; }
.nvbb-pole-badge.is-dec-reject { color: #a61b1b; background: #fde4e4; }
.nvbb-pole-badge.is-dec-ask_info { color: #7a3d00; background: #fdebd3; }
.nvbb-pole-badge.is-dec-reply, .nvbb-pole-badge.is-dec-wait { color: #013C80; background: #e3edf6; }
.nvbb-pole-badge.is-ai-sent, .nvbb-pole-badge.is-ai-saved { color: #1d6b52; background: #ddf2ea; }
.nvbb-ai-prop.is-sent, .nvbb-ai-prop.is-saved { background: #f4f6f9; }
/* --- Admin : tous les pôles --- */
.nvbb-polesp-all { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.nvbb-polesp-all__i { display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: 14px; background: #fff; border: 1px solid #dde4ec; border-left: 4px solid #013C80; border-radius: 12px; }
.nvbb-polesp-all__i.is-off { border-left-color: #8a96a8; background: #f6f8fb; }
.nvbb-polesp-all__i h2 { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 1rem; color: #013C80; }
.nvbb-polesp-all__i p { margin: 0; font-size: 13px; }
.nvbb-polesp-all__n { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 0 0 6px; padding: 0; list-style: none; font-size: 13px; color: #344256; }
.nvbb-polesp-all__i .nvbb-ref-btn { align-self: flex-start; margin-top: auto; }
.nvbb-polesp-view .nvbb-ref { padding-top: 0; }
@media (max-width: 600px) { .nvbb-seo-bars li { grid-template-columns: minmax(0, 1fr) 60px auto; } }
.nvbb-seo-bars__b span.p-0 { width: 0%; }
.nvbb-seo-bars__b span.p-5 { width: 5%; }
.nvbb-seo-bars__b span.p-10 { width: 10%; }
.nvbb-seo-bars__b span.p-15 { width: 15%; }
.nvbb-seo-bars__b span.p-20 { width: 20%; }
.nvbb-seo-bars__b span.p-25 { width: 25%; }
.nvbb-seo-bars__b span.p-30 { width: 30%; }
.nvbb-seo-bars__b span.p-35 { width: 35%; }
.nvbb-seo-bars__b span.p-40 { width: 40%; }
.nvbb-seo-bars__b span.p-45 { width: 45%; }
.nvbb-seo-bars__b span.p-50 { width: 50%; }
.nvbb-seo-bars__b span.p-55 { width: 55%; }
.nvbb-seo-bars__b span.p-60 { width: 60%; }
.nvbb-seo-bars__b span.p-65 { width: 65%; }
.nvbb-seo-bars__b span.p-70 { width: 70%; }
.nvbb-seo-bars__b span.p-75 { width: 75%; }
.nvbb-seo-bars__b span.p-80 { width: 80%; }
.nvbb-seo-bars__b span.p-85 { width: 85%; }
.nvbb-seo-bars__b span.p-90 { width: 90%; }
.nvbb-seo-bars__b span.p-95 { width: 95%; }
.nvbb-seo-bars__b span.p-100 { width: 100%; }

/* =====================================================================
 * 218. ADMIN LIVRAISON : SUIVI UNIQUE DES ENVOIS (02/10/2026)
 * ===================================================================== */
.mdaa-ship-updated { margin: 6px 0 0; font-size: .86rem; color: #4a5568; }
.mdaa-ship-grid2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 18px; margin-top: 18px; }
.mdaa-ship-grid2 > .mdaa-admin-livraison-section { margin-top: 0; }
.mdaa-ship-mini caption { caption-side: top; text-align: left; padding: 12px 14px 4px; font-weight: 700; color: #013C80; }
.mdaa-ship-mini th, .mdaa-ship-mini td { padding: 8px 14px; }
.mdaa-ship-mini td { text-align: center; font-variant-numeric: tabular-nums; }
.mdaa-ship-mini th a { color: #013C80; }
.mdaa-admin-livraison-kpi.is-active { outline: 3px solid #F79303; outline-offset: 2px; }
.mdaa-ship-alerts { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 6px; }
.mdaa-ship-alerts li { display: flex; gap: 8px; align-items: center; background: #fff7ea; border: 1px solid #f3c98a; border-radius: 10px; padding: 8px 12px; color: #6b3d00; font-size: .92rem; }
.mdaa-ship-alerts svg { width: 18px; height: 18px; flex: 0 0 auto; }
.mdaa-ship-list { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 8px; }
.mdaa-ship-list li { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; background: #fff; border: 1px solid #e3e8ef; border-radius: 10px; padding: 10px 12px; font-size: .92rem; }
.mdaa-ship-list a { color: #013C80; }
.mdaa-ship-date, .mdaa-ship-sub { color: #4a5568; font-size: .84rem; }
.mdaa-ship-sub, .mdaa-ship-block { display: block; }
.mdaa-ship-empty, .mdaa-ship-note { color: #4a5568; font-size: .9rem; margin: 10px 0 0; }
.mdaa-ship-more { margin: 12px 0 0; font-weight: 600; }
.mdaa-ship-more a { color: #013C80; }
.mdaa-ship-warn { color: #8f3a00; font-weight: 600; }
.mdaa-admin-table-card.mdaa-ship-scroll { overflow-x: auto; max-width: 100%; }
.mdaa-ship-scroll:focus-visible { outline: 3px solid #F79303; outline-offset: 2px; }
.mdaa-ship-table { min-width: 900px; width: 100%; }
.mdaa-ship-grid2 .mdaa-admin-table-card { overflow-x: auto; }
.mdaa-ship-mini, .mdaa-admin-table-card .mdaa-admin-table.mdaa-ship-mini { width: 100%; min-width: 0; table-layout: auto; }
.mdaa-ship-mini tbody th { text-align: left; font-weight: 600; }
.mdaa-ship-mini th { white-space: normal; }
.mdaa-ship-table td { vertical-align: top; font-size: .9rem; }
.mdaa-ship-table a { color: #013C80; }
.mdaa-ship-table svg { width: 15px; height: 15px; vertical-align: -2px; }
.mdaa-ship-code { font-weight: 700; white-space: nowrap; }
.mdaa-ship-type { display: inline-block; margin-top: 4px; padding: 1px 8px; border-radius: 999px; font-size: .76rem; font-weight: 600; background: #e8eef7; color: #013C80; }
.mdaa-ship-type--mdaa { background: #fff1dc; color: #6b3d00; }
.mdaa-ship-dates span { display: block; font-size: .84rem; }
.mdaa-ship-table th, .mdaa-ship-table td { padding-left: 10px; padding-right: 10px; }
.mdaa-ship-badge { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: .8rem; font-weight: 700; white-space: nowrap; margin: 0 4px 4px 0; }
.mdaa-ship-badge--to_ship { background: #fdebcf; color: #6b3d00; }
.mdaa-ship-badge--shipped { background: #e1ebf7; color: #013C80; }
.mdaa-ship-badge--delivered { background: #e6efe6; color: #24492f; }
.mdaa-ship-badge--pending { background: #eef0f3; color: #3b4452; }
.mdaa-ship-badge--cancelled { background: #f9dad5; color: #7f2418; }
a.mdaa-ship-badge--claim { background: #7f2418; color: #fff; text-decoration: none; }
@media (max-width: 600px) {
  .mdaa-ship-grid2 { grid-template-columns: 1fr; }
  .mdaa-ship-mini th, .mdaa-ship-mini td { padding: 7px 6px; font-size: .8rem; }
}

/* =====================================================================
 * 219. ADMIN RESPONSABLES : ANNUAIRE DES PÔLES, ÉLÉMENTS MANQUANTS (02/10/2026)
 * ===================================================================== */
.nvbb-dir-top { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 6px; }
.nvbb-dir-top .nvbb-polesp-ev { margin: 0; }
.nvbb-dir-top__act { display: flex; flex-wrap: wrap; gap: 10px; }
.nvbb-dir-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 18px; margin: 14px 0 18px; }
.nvbb-dir-grid > .nvbb-xc-card { margin: 0; }
.nvbb-dir-h2 { font-size: 1.1rem; margin: 0 0 12px; color: #013C80; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.nvbb-dir-h2 small { font-size: .85rem; font-weight: 500; color: #4a5568; }
.nvbb-dir-sum { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.nvbb-dir-sum a { display: flex; align-items: baseline; gap: 8px; padding: 9px 12px; border: 1px solid #e3e8ef; border-radius: 10px; background: #fff; color: #1f2a37; text-decoration: none; font-size: .9rem; line-height: 1.3; }
.nvbb-dir-sum a strong { font-size: 1.2rem; color: #4a5568; font-variant-numeric: tabular-nums; }
.nvbb-dir-sum a.has strong { color: #8f3a00; }
.nvbb-dir-sum a.is-good strong { color: #24492f; }
.nvbb-dir-sum a:hover, .nvbb-dir-sum a:focus-visible { border-color: #013C80; }
.nvbb-dir-sum a.is-on { border: 2px solid #F79303; background: #fff7ea; }
.nvbb-dir-nolead { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.nvbb-dir-nolead li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding: 9px 12px; border: 1px solid #f3c98a; border-radius: 10px; background: #fff7ea; }
.nvbb-dir-chip { display: inline-block; margin: 0 2px 4px 0; padding: 1px 8px; border-radius: 999px; background: #fdebcf; color: #6b3d00; font-size: .76rem; font-weight: 600; white-space: nowrap; }
.nvbb-dir-ok { display: inline-block; padding: 1px 8px; border-radius: 999px; background: #e6efe6; color: #24492f; font-size: .76rem; font-weight: 700; }
.nvbb-dir-missline { margin: 6px 0 12px; }
.nvbb-dir-miss .mdaa-form-input { border-color: #e0a24a; background: #fffaf2; }
.nvbb-dir-filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; margin: 0 0 14px; }
.nvbb-dir-filters > div { min-width: 170px; flex: 0 1 220px; }
.nvbb-dir-filters > div.grow { flex: 1 1 220px; }
.nvbb-dir-filters > div.act { display: flex; gap: 8px; min-width: 0; flex: 0 0 auto; }
.nvbb-dir-table td { vertical-align: top; }
.nvbb-dir-table .act { white-space: nowrap; }
.nvbb-dir-contact span { overflow-wrap: anywhere; }
.nvbb-areg-table-wrap[tabindex]:focus-visible { outline: 3px solid #F79303; outline-offset: 2px; }
.mdaa-admin-meganav__panel-link .mdaa-admin-header__badge--soft { background: #e8eef7; color: #013C80; }
@media (max-width: 600px) {
  .nvbb-dir-grid { grid-template-columns: 1fr; }
  .nvbb-dir-filters > div { flex: 1 1 100%; }
  .nvbb-dir-top__act .nvbb-ref-btn { width: 100%; justify-content: center; }
  .nvbb-dir-top__act, .nvbb-dir-top__act form { width: 100%; }
}

/* =====================================================================
 * 220. LIVRAISON : COMPTEURS SÉPARÉS (LIVRÉ, RETIRÉ ; ANNULÉ, REMBOURSÉ) ; ACCOMPAGNEMENT PUM (02/10/2026)
 * ===================================================================== */
.mdaa-ship-kpi2 .mdaa-admin-livraison-kpi__body { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }
.mdaa-ship-kpi2__a { display: inline-flex; align-items: baseline; gap: 5px; color: inherit; text-decoration: none; border-radius: 6px; padding: 0 2px; }
.mdaa-ship-kpi2__a .mdaa-admin-livraison-kpi__num { font-size: 1.5rem; }
.mdaa-ship-kpi2__l { font-size: .9rem; color: #1f2a37; }
.mdaa-ship-kpi2__a:hover .mdaa-ship-kpi2__l, .mdaa-ship-kpi2__a.is-on .mdaa-ship-kpi2__l { text-decoration: underline; }
.mdaa-ship-kpi2__a:focus-visible, .mdaa-ship-kpi2__all:focus-visible { outline: 3px solid #F79303; outline-offset: 2px; }
.mdaa-ship-kpi2__sep { color: #4a5568; }
.mdaa-ship-kpi2__all { flex-basis: 100%; font-size: .8rem; color: #013C80; }
.mdaa-ship-kpi2__all.is-on { font-weight: 700; }
.mdaa-ship-kpi2.is-active { outline: 3px solid #F79303; outline-offset: 2px; }
/* Accompagnement des organisations par PUM : mention publique (organigramme, accueil de l'édition) */
.nvbb-supby__scope { display: block; flex-basis: 100%; font-size: .85em; opacity: .9; margin-top: 2px; }
.nvbb-supby--center .nvbb-supby__scope { text-align: center; }
/* Admin Responsables : carte « Appui extérieur, hors pôles » */
.nvbb-dir-ext { margin: 0 0 18px; }
.nvbb-dir-ext dl { display: grid; grid-template-columns: max-content 1fr; gap: 6px 14px; margin: 10px 0; }
.nvbb-dir-ext dt { font-weight: 600; color: #4a5568; }
.nvbb-dir-ext dd { margin: 0; overflow-wrap: anywhere; }
.nvbb-dir-ext .nvbb-dir-checks { display: flex; flex-wrap: wrap; gap: 6px 18px; }
@media (max-width: 600px) { .nvbb-dir-ext dl { grid-template-columns: 1fr; } .nvbb-dir-ext dd { margin-bottom: 6px; } }

/* =====================================================================
 * 221. PAGE D'UNE RÉGION : STRUCTURES ENGAGÉES DANS L'EXPO EN ONGLETS, DEUX PÔLES PAR LIGNE (02/10/2026)
 * ===================================================================== */
.nvbb-pole-tabs__list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.nvbb-pole-tabs__tab { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 16px; border: 2px solid #013C80; border-radius: 999px; background: #fff; color: #013C80; font: inherit; font-weight: 700; cursor: pointer; }
.nvbb-pole-tabs__tab:hover { background: #eef3fa; }
.nvbb-pole-tabs__tab[aria-selected="true"] { background: #013C80; color: #fff; }
.nvbb-pole-tabs__tab:focus-visible { outline: 3px solid #F79303; outline-offset: 2px; }
.nvbb-pole-tabs__n { display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding: 0 6px; border-radius: 999px; background: #F79303; color: #1f1405; font-size: .8rem; }
.nvbb-pole-tabs__tab[aria-selected="true"] .nvbb-pole-tabs__n { background: #fff; color: #013C80; }
.nvbb-pole-tabs__panel { margin: 0 0 18px; }
.nvbb-pole-tabs__panel[hidden] { display: none; }
.nvbb-pole-tabs__panel:focus-visible { outline: 3px solid #F79303; outline-offset: 4px; border-radius: 12px; }
.nvbb-pole-tabs__h { margin: 0 0 10px; font-size: 1.1rem; color: #013C80; }
.nvbb-pole-tabs.is-js .nvbb-pole-tabs__h { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.nvbb-pole-orgs__list--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 700px) { .nvbb-pole-orgs__list--two { grid-template-columns: 1fr; } .nvbb-pole-tabs__tab { flex: 1 1 auto; justify-content: space-between; } }

/* 222. Message d'accueil de nenthol.nl (partials/_welcome_dialog.php, Admin › Outils › Message d'accueil) — 3 octobre 2026
   Large, trois points côte à côte, sans défilement sur ordinateur ; une colonne compacte sur mobile. */
.nvbb-welcome { width: min(1040px, calc(100vw - 32px)); max-height: calc(100dvh - 16px); overflow-y: auto; padding: 0; border: 0; border-radius: 22px; background: #fff; color: var(--mdaa-ink); box-shadow: 0 40px 90px -30px rgba(1, 32, 63, .7); }
.nvbb-welcome::backdrop { background: rgba(1, 32, 63, .6); backdrop-filter: blur(3px); }
.nvbb-welcome__in { position: relative; padding: 30px 34px 22px; text-align: center; }
.nvbb-welcome__in::before { content: ""; position: absolute; inset: 0 0 auto; height: 8px; background: var(--wax-kente); background-size: 48px 100%; }
.nvbb-welcome__x { position: absolute; top: 16px; right: 14px; width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 50%; background: transparent; color: var(--mdaa-ink-soft); cursor: pointer; }
.nvbb-welcome__x:hover { background: var(--mdaa-navy-50); color: var(--mdaa-navy); }
.nvbb-welcome__head { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 6px 40px 20px; }
.nvbb-welcome__logo { display: inline-flex; width: 56px; height: 56px; flex: none; }
.nvbb-welcome__logo img { width: 100%; height: 100%; object-fit: contain; }
.nvbb-welcome__title { margin: 0; font-family: var(--mdaa-font-title); font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: 1.15; color: var(--mdaa-navy-900); text-align: left; }
.nvbb-welcome__list { list-style: none; margin: 0 0 20px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; text-align: left; }
.nvbb-welcome__list li { display: flex; flex-direction: column; gap: 10px; padding: 18px 18px 16px; border-radius: 14px; background: var(--mdaa-navy-50); border: 1px solid var(--mdaa-line); line-height: 1.45; font-size: .98rem; }
.nvbb-welcome__list li:nth-child(1) { border-top: 4px solid var(--mdaa-navy); }
.nvbb-welcome__list li:nth-child(2) { border-top: 4px solid var(--mdaa-orange); }
.nvbb-welcome__list li:nth-child(3) { border-top: 4px solid var(--mdaa-terracotta); }
.nvbb-welcome__list strong { display: block; color: var(--mdaa-navy-900); font-size: 1.05rem; margin-bottom: 2px; }
.nvbb-welcome__ic { width: 42px; height: 42px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--mdaa-orange-100); color: var(--mdaa-orange-700); }
.nvbb-welcome__actions { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; justify-content: center; }
.nvbb-welcome__go-btn { display: inline-flex; align-items: center; padding: 11px 22px; border: 0; border-radius: 999px; background: var(--mdaa-navy); color: #fff; font: 700 1rem/1 var(--mdaa-font-display); cursor: pointer; }
.nvbb-welcome__go-btn:hover { background: var(--mdaa-navy-800); }
.nvbb-welcome__sell { display: inline-flex; align-items: center; gap: 6px; padding: 9px 18px; border-radius: 999px; border: 2px solid var(--mdaa-orange); color: var(--mdaa-orange-700); font-weight: 700; text-decoration: none; }
.nvbb-welcome__sell:hover { background: var(--mdaa-orange-50); }
.nvbb-welcome__space { margin: 14px 0 0; display: flex; justify-content: center; flex-wrap: wrap; gap: 4px 10px; font-size: .92rem; color: var(--mdaa-ink-soft); }
.nvbb-welcome__space a { color: var(--mdaa-ink-soft); }
.nvbb-welcome a:focus-visible, .nvbb-welcome button:focus-visible { outline: 3px solid var(--mdaa-orange); outline-offset: 2px; }
@media (max-width: 860px) {
    .nvbb-welcome__list { grid-template-columns: 1fr; gap: 8px; }
    .nvbb-welcome__list li { flex-direction: row; align-items: flex-start; padding: 10px 12px; font-size: .92rem; }
    .nvbb-welcome__ic { width: 34px; height: 34px; flex: none; }
}
@media (max-width: 520px) {
    .nvbb-welcome__in { padding: 26px 14px 16px; }
    .nvbb-welcome__head { margin: 4px 30px 14px 0; gap: 10px; }
    .nvbb-welcome__logo { width: 42px; height: 42px; }
    .nvbb-welcome__title { font-size: 1.2rem; }
    .nvbb-welcome__list li { font-size: .86rem; line-height: 1.35; }
    .nvbb-welcome__ic { display: none; }
    .nvbb-welcome__actions > * { width: 100%; justify-content: center; }
}
/* Admin › Outils › Message d'accueil : champs sur deux colonnes, une langue par volet */
.nvbb-wlc__form { display: grid; gap: 12px; }
.nvbb-wlc__lang { border: 1px solid var(--mdaa-line); border-radius: 12px; background: #fff; }
.nvbb-wlc__lang > summary { cursor: pointer; padding: 12px 16px; font-weight: 700; color: var(--mdaa-navy-900); }
.nvbb-wlc__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; padding: 4px 16px 14px; }
.nvbb-wlc__wide { grid-column: 1 / -1; }
.nvbb-wlc__form > .mdaa-btn { justify-self: start; }
@media (max-width: 700px) { .nvbb-wlc__grid { grid-template-columns: 1fr; } }

/* 223. Onglets en boutons des pages longues de l'administration (config/admin/admin_tabs_helpers.php) — 3 octobre 2026 */
.nvbb-atabs { display: grid; gap: 14px; }
.nvbb-atabs__nav { display: flex; flex-wrap: wrap; gap: 8px; padding: 6px; border-radius: 14px; background: var(--mdaa-navy-50); border: 1px solid var(--mdaa-line); }
.nvbb-atabs__btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border: 0; border-radius: 10px; background: transparent; color: var(--mdaa-navy-900); font: 700 .95rem/1.2 var(--mdaa-font-display); cursor: pointer; }
.nvbb-atabs__btn:hover { background: #fff; }
.nvbb-atabs__btn[aria-selected="true"] { background: var(--mdaa-navy); color: #fff; box-shadow: var(--mdaa-sh-sm); }
.nvbb-atabs__btn:focus-visible { outline: 3px solid var(--mdaa-orange); outline-offset: 2px; }
.nvbb-atabs > [hidden] { display: none !important; }
@media (max-width: 600px) { .nvbb-atabs__btn { flex: 1 1 auto; justify-content: center; } }

/* 224. Page Programme de l'Expo : critères d'éligibilité et pièces requises, deux cartes par ligne (une sur mobile) — 3 octobre 2026 */
.mdaa-siam-elig-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
@media (max-width: 720px) { .mdaa-siam-elig-grid { grid-template-columns: 1fr; } }
