/* ==========================================================
   Doussou Formation : ajouts.css
   Petits compléments nécessaires à la version WordPress
   (contenus venant de l'éditeur, erreurs renvoyées par le serveur, panier PayPal).
   Chargé en dernier, sur toutes les pages du nouveau design.
   ========================================================== */

/* Contenu de l'éditeur dans le bloc « Programme » (fond bleu marine) */
.programme-contenu{color:var(--beige);padding:0 39px 15px;font-size:13.5px;line-height:1.6}
.programme-contenu h2,.programme-contenu h3,.programme-contenu h4{color:var(--blue-light);font-weight:500;font-size:20px;margin:18px 0 8px}
.programme-contenu h4{font-size:16px}
.programme-contenu p{margin:0 0 10px}
.programme-contenu ul,.programme-contenu ol{padding-left:22px;margin:0 0 12px}
.programme-contenu li{margin:0 0 4px}
.programme-contenu a{color:#fff;text-decoration:underline}
.programme-contenu strong,.programme-contenu b{color:#fff}
.programme-contenu img{height:auto;margin:10px 0}
.programme-contenu table{border-collapse:collapse;width:100%;margin:10px 0}
.programme-contenu td,.programme-contenu th{border:1px solid rgba(177,217,255,.3);padding:6px 8px}
@media (max-width:640px){.programme-contenu{padding:0 0 15px}}

/* Résumé d'introduction (champ « En bref ») */
.hero-lead p{font-size:15px;line-height:1.65;margin-bottom:8px}
.hero-lead a{text-decoration:underline}

/* Faits venant du champ « Faits » quand ce n'est pas une liste */
.faits{max-width:1000px;margin:0 auto;font-size:14px;line-height:1.6}
.faits p{margin-bottom:8px;text-align:center}

/* Texte « Pourquoi » */
.pourquoi{margin:0 auto}
.pourquoi ul{padding-left:22px;font-size:15px;line-height:1.7;margin-bottom:12px}

/* Erreurs renvoyées par le serveur */
.field.invalide input,.field.invalide select,.field.invalide textarea{border-color:var(--orange);background:#fff8f5}
.check.invalide span{color:#c43d00}
.field-help{font-size:12px;color:#51606f;font-weight:400}

/* Paiement : blocs par mode */
.pay-page .pay-bloc{margin-top:14px;display:flex;flex-direction:column;gap:12px}
.pay-page .pay-bloc[hidden]{display:none}
.panier-doussou{display:flex;flex-direction:column;gap:14px;font-size:13px}
.panier-doussou input[type=submit],.panier-doussou button{font:500 15px "Poppins",sans-serif;background:var(--navy-2);color:#fff;border:2px solid var(--navy-2);border-radius:5px;padding:10px 15px;cursor:pointer}
.panier-doussou input[type=image]{max-width:220px;height:auto}
.panier-doussou table{width:100%;border-collapse:collapse}
.panier-doussou td,.panier-doussou th{padding:6px 4px;border-bottom:1px solid #e6f3ff;text-align:left}

/* Page contact : message après l'envoi */
.form-card.envoye form{display:none}
.alerte-envoi{background:#fff1ec;border-left:6px solid var(--actif);padding:12px 16px;border-radius:8px;font-size:13px;margin-bottom:18px}

/* Recherche sans JavaScript */
.recherche-sans-js{padding:20px 0}
.recherche-sans-js li{margin-bottom:10px}
.recherche-sans-js a{color:var(--primaire-2);text-decoration:underline}

/* Accessibilité : réduit les animations si demandé */
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Description de la fiche : repliée à 4 lignes environ. */
.hero-lead.replie{max-height:10.5em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent)}
.lire-suite{background:none;border:0;padding:0;margin:2px 0 10px;font:inherit;font-size:14px;font-weight:600;color:var(--blue,#0c5ea8);text-decoration:underline;cursor:pointer}

/* Fil d'Ariane compact. */
.sitemap ol{gap:6px 10px;font-size:15px;font-weight:500;letter-spacing:0}
.sitemap li+li::before{margin-right:10px;opacity:.45}
.sitemap a{text-decoration:none}
.sitemap a:hover{text-decoration:underline}
.sitemap li[aria-current]{font-weight:600}
@media (max-width:600px){.sitemap ol{font-size:13px}}

/* Programme découpé en modules. */
.details .programme-intro{color:var(--beige,#f3eee4);font-size:14px;line-height:1.6;padding:0 39px 10px;max-width:900px}
@media (max-width:900px){.details .programme-intro{padding:0 0 10px}}
.trainer-card .trainer-role{margin-bottom:6px}

/* Soumission : champ adresse sur toute la largeur, bouton PDF de la page merci. */
.grid .field-large{grid-column:1/-1}
.thanks-pdf{margin-top:18px}

/* Participants (inscription et soumission). */
.participants-bloc .field-label{font-size:13px;font-weight:600;margin-bottom:8px}
.liste-participants{margin-top:14px}
.participants-lignes{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-direction:column;gap:10px}
.participant-ligne{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.participant-ligne[hidden],.liste-participants[hidden]{display:none}
@media (max-width:600px){.participant-ligne{grid-template-columns:1fr;padding-bottom:10px;border-bottom:1px solid rgba(39,146,250,.2)}}
.ajouter-participant{margin-top:12px}
.liste-participants .field-help+.field-help{margin-top:6px}

/* Panier PayPal aux couleurs du site. */
.panier-doussou .shopping_cart{border:1px solid rgba(39,146,250,.35);border-radius:12px;padding:14px 16px;background:#fff}
.panier-doussou .shopping_cart > img:first-child,.panier-doussou img[src*="cart_icon"],.panier-doussou img[src*="shopping_cart"],.panier-doussou img[src*="shopping-cart"]{display:none}
.panier-doussou .shopping_cart h2,.panier-doussou .shopping_cart h3{font:600 16px "Poppins",sans-serif;color:var(--navy,#0f3d6b);margin:0 0 8px}
.panier-doussou th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#6b7280}
.panier-doussou td{vertical-align:middle;font-size:13px}
.panier-doussou tr.ligne-actuelle td{background:rgba(177,217,255,.18)}
.panier-doussou .qte-fixe{border:0!important;background:transparent!important;width:2.5em!important;text-align:center;pointer-events:none;-moz-appearance:textfield;padding:0!important;font:inherit}
.panier-doussou .qte-fixe::-webkit-inner-spin-button,.panier-doussou .qte-fixe::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.panier-doussou input[type=image][src*="delete"],.panier-doussou input[type=image][src*="remove"]{width:18px;height:auto}
.panier-doussou .panier-ok{background:#e8f6ee;border:1px solid #9fd8b6;color:#155c34;border-radius:8px;padding:10px 12px;font-weight:500}
.bio aside > p{margin-bottom:10px}

/* Texte de l'éditeur (page par défaut, article du blogue) : typographie du nouveau design. */
.prose-doussou{max-width:820px;margin:0 auto;padding:10px 0 20px;font-size:15px;line-height:1.7;color:#1d2330;font-weight:400}
.prose-doussou > *+*{margin-top:1em}
.prose-doussou h2{font-size:24px;line-height:1.3;font-weight:500;color:var(--bleu,#2792fa);margin-top:1.6em}
.prose-doussou h3{font-size:19px;line-height:1.35;font-weight:600;color:var(--primaire,#0f3c66);margin-top:1.4em}
.prose-doussou h4,.prose-doussou h5{font-size:16px;font-weight:600;color:var(--primaire,#0f3c66);margin-top:1.2em}
.prose-doussou a{color:var(--primaire-2,#155692);text-decoration:underline}
.prose-doussou a:hover{color:var(--actif,#ff5400)}
.prose-doussou strong,.prose-doussou b{font-weight:600}
.prose-doussou ul,.prose-doussou ol{padding-left:1.4em}
.prose-doussou ul{list-style:disc}.prose-doussou ol{list-style:decimal}
.prose-doussou li+li{margin-top:.35em}
.prose-doussou img{max-width:100%;height:auto;border-radius:10px}
.prose-doussou figure{margin:1.4em 0}
.prose-doussou figcaption{font-size:13px;color:#6b7280;margin-top:6px}
.prose-doussou .image-une img{width:100%;max-height:460px;object-fit:cover}
.prose-doussou blockquote{border-left:4px solid var(--bleu-clair,#b1d9ff);background:var(--bleu-clair-01,#f6fbff);padding:14px 18px;border-radius:0 10px 10px 0;font-style:italic}
.prose-doussou table{width:100%;border-collapse:collapse;font-size:14px;display:block;overflow-x:auto}
.prose-doussou th,.prose-doussou td{border:1px solid #d6e2f0;padding:8px 10px;text-align:left;vertical-align:top}
.prose-doussou th{background:#eaf2fb;color:var(--primaire,#0f3c66);font-weight:600}
.prose-doussou hr{border:0;border-top:1px solid #e1e8f1;margin:2em 0}
.prose-doussou iframe,.prose-doussou video{max-width:100%;border-radius:10px}
.prose-doussou .alignleft{float:left;margin:0 1.2em .8em 0}.prose-doussou .alignright{float:right;margin:0 0 .8em 1.2em}.prose-doussou .aligncenter{margin-left:auto;margin-right:auto;display:block}
.prose-doussou::after{content:"";display:table;clear:both}
/* Anciennes grilles Bootstrap dans le texte des pages. */
.prose-doussou .row{display:flex;flex-wrap:wrap;gap:24px;margin:1em 0}
.prose-doussou .row > [class*="col-"]{flex:1 1 260px;min-width:0}
.prose-doussou .container,.prose-doussou .container-fluid{max-width:100%;padding:0}
.prose-doussou .btn,.prose-doussou .wp-block-button__link{display:inline-block;background:var(--bouton,#103f6b);color:#fff;border-radius:5px;padding:9px 16px;text-decoration:none;font-weight:500}
.prose-doussou .btn:hover,.prose-doussou .wp-block-button__link:hover{background:var(--primaire-2,#155692);color:#fff}
/* Formulaires Contact Form 7 / WPForms dans une page. */
.prose-doussou input[type=text],.prose-doussou input[type=email],.prose-doussou input[type=tel],.prose-doussou input[type=number],.prose-doussou select,.prose-doussou textarea{width:100%;max-width:560px;border:1px solid #b9d3ee;border-radius:8px;padding:9px 11px;font:inherit;background:#fbfdff}
.prose-doussou input[type=submit],.prose-doussou button[type=submit]{background:var(--bouton,#103f6b);color:#fff;border:0;border-radius:5px;padding:10px 18px;font:inherit;font-weight:500;cursor:pointer}
.page-defaut .hero.simple h1,.article-blogue .hero.simple h1{max-width:900px}
@media (max-width:600px){.prose-doussou{font-size:14.5px}.prose-doussou h2{font-size:21px}.prose-doussou .alignleft,.prose-doussou .alignright{float:none;margin:1em 0}}
.prose-doussou p,.prose-doussou li,.prose-doussou td,.prose-doussou th,.prose-doussou dd,.prose-doussou dt{font-size:inherit;line-height:inherit;font-weight:inherit}
.prose-doussou td,.prose-doussou th{font-size:14px;line-height:1.5}
.prose-doussou table{display:table}
@media (max-width:700px){.prose-doussou table{display:block}}

/* Page panier (/renseignement-de-paiement/). */
.panier-grille{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start;padding-top:30px;padding-bottom:40px}
.panier-page{background:#fff}
.panier-page .shopping_cart,.panier-page .df-cart-content > table{border:1px solid rgba(39,146,250,.35);border-radius:12px;padding:16px 18px;background:#fff}
.panier-page td,.panier-page th{padding:10px 6px;border-bottom:1px solid #e6f3ff;text-align:left;font-size:14px}
.panier-page input[type=number],.panier-page input[name=quantity]{width:4em;border:1px solid #b9d3ee;border-radius:6px;padding:4px 6px;font:inherit}
.panier-page input[type=image][src*="paypal"],.panier-page input[type=image][src*="checkout"]{max-width:230px;height:auto;margin-top:12px}
.panier-page p,.panier-page .df-cart-content{font-size:14px;line-height:1.6}
.panier-aide{border:1px solid rgba(39,146,250,.35);border-radius:12px;padding:18px;background:var(--bleu-clair-01,#f6fbff);font-size:13.5px;line-height:1.55}
.panier-aide h2{font-size:17px;color:var(--primaire,#0f3c66);margin-bottom:10px}
.panier-aide ul{padding-left:1.2em;list-style:disc;margin-bottom:12px}
.panier-aide li+li{margin-top:6px}
.panier-aide .small{font-size:12.5px;color:#4b5563}
.panier-aide a:not(.btn){text-decoration:underline}
@media (max-width:860px){.panier-grille{grid-template-columns:1fr}}

/* Bande des villes au-dessus du pied de page. */
.villes-bande{background:var(--primaire-2,#155692);padding:14px 0}
.villes-bande .container{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 16px;font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.villes-bande a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.villes-bande a:hover{color:var(--jaune,#ffc614)}
.villes-bande span{color:#b1d9ff}

/* Protection contre les styles d'autres extensions (Bootstrap, formulaires…). */
.menu a,.nav-under a{white-space:nowrap}
.hero .badges,.hero ul.badges{padding-left:0;margin-left:0}
.hero .btn-secondary{background:transparent!important;color:#fff!important;border:2px solid #fff!important;box-shadow:none!important}
.hero .btn-secondary:hover,.hero .btn-secondary:focus-visible{background:#fff!important;color:var(--bouton,#103f6b)!important}
.hero .btn-light{background:#fff;color:var(--bouton,#103f6b)}

/* Bouton de paiement PayPal remplacé. */
.paypal-image-cachee{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden}
.paiement-bouton{margin-top:16px}
.btn-payer{display:inline-flex;align-items:center;gap:10px;background:var(--bouton,#103f6b);color:#fff;border:0;border-radius:8px;padding:14px 26px;font:600 16px "Poppins",sans-serif;cursor:pointer;box-shadow:0 4px 12px rgba(16,63,107,.25);transition:background .2s,transform .1s}
.btn-payer:hover{background:var(--primaire-2,#155692)}
.btn-payer:active{transform:translateY(1px)}
.btn-payer:focus-visible{outline:3px solid var(--actif,#ff5400);outline-offset:2px}
.paiement-note{margin-top:8px;font-size:12.5px;color:#4b5563}
@media (max-width:600px){.btn-payer{width:100%;justify-content:center}}

/* Lieu de formation (fiche formation, page de ville). */
.schedule-row .lieu-classe{font-size:12px;line-height:1.4;margin:-2px 0 8px;color:#374151}
.schedule-row .lieu-classe a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.lieu-ville{border:1px solid rgba(39,146,250,.35);border-radius:12px;padding:20px 22px;background:var(--bleu-clair-01,#f6fbff);font-size:14px;line-height:1.6}
.lieu-ville address{font-style:normal;margin:10px 0 14px}
