/* Page générique : colonne de lecture sous le header, contenu Flatsome/UX Builder habillé */
.xd-page-generic{padding-top:calc(var(--xd-hdr) + 28px)}
.xd-page-generic.has-hero{padding-top:0}
.xd-page-generic .xd-gen-head{display:flex;flex-direction:column;gap:12px;margin-bottom:28px}
.xd-page-generic .xd-gen-body{padding-bottom:40px}
.xd-page-generic .xd-prose{font-size:17px;line-height:1.75;color:var(--xd-t2)}
.xd-page-generic .xd-prose h1{font-size:clamp(30px,4vw,44px);font-weight:600;color:#fff;margin:0 0 18px}
.xd-page-generic .xd-prose h2{font-size:clamp(24px,3vw,32px);font-weight:500;color:#fff;margin:36px 0 14px}
.xd-page-generic .xd-prose h3{font-size:22px;font-weight:500;color:#fff;margin:28px 0 10px}
.xd-page-generic .xd-prose h4{font-size:18px;font-weight:600;color:#fff;margin:22px 0 8px}
.xd-page-generic .xd-prose p{margin:0 0 1.1em}
.xd-page-generic .xd-prose a{color:var(--xd-v3)}
.xd-page-generic .xd-prose ul,.xd-page-generic .xd-prose ol{margin:0 0 1.2em 1.3em;padding:0}
.xd-page-generic .xd-prose li{margin:0 0 .5em}
.xd-page-generic .xd-prose img{border-radius:18px}
.xd-page-generic .xd-prose blockquote{margin:24px 0;padding:0 0 0 20px;border-left:3px solid var(--xd-v1);font-weight:300;font-size:1.15em;color:var(--xd-t1)}
.xd-page-generic .xd-prose table{width:100%;border-collapse:collapse;margin:0 0 1.5em}
.xd-page-generic .xd-prose th,.xd-page-generic .xd-prose td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.1);text-align:left}
/* Mise en page Flatsome (UX Builder) : conteneurs neutres, colonnes latérales masquées */
.xd-page-generic .xd-prose .row{margin:0}
.xd-page-generic .xd-prose .col{padding:0 0 20px}
.xd-page-generic .xd-prose .section{padding:0!important;background:transparent!important}
.xd-page-generic .xd-prose .section-bg{display:none}
.xd-page-generic .xd-prose .gap-element{display:none}
/* Accordéons Flatsome (FAQ) */
.xd-page-generic .xd-prose .accordion{border:0;margin:8px 0 24px}
.xd-page-generic .xd-prose .accordion-item{border:0;border-bottom:1px solid rgba(255,255,255,.1)}
.xd-page-generic .xd-prose .accordion-title{border:0!important;padding:18px 0 18px 36px;font-size:18px;font-weight:500;color:#fff;text-transform:none;letter-spacing:normal;background:transparent}
.xd-page-generic .xd-prose .accordion-title:hover,.xd-page-generic .xd-prose .accordion-title.active{color:var(--xd-v3);background:transparent}
.xd-page-generic .xd-prose .accordion-title .toggle{color:var(--xd-v3);left:0;top:50%;transform:translateY(-50%);width:24px;height:24px;margin:0;border:0;opacity:1}
.xd-page-generic .xd-prose .accordion-inner{padding:0 0 20px 36px;color:var(--xd-t2)}
.xd-page-generic .xd-prose .accordion-inner p:last-child{margin-bottom:0}
/* Boutons Flatsome dans le contenu */
.xd-page-generic .xd-prose a.button{display:inline-flex;align-items:center;gap:8px;border-radius:12px;padding:12px 22px;font-size:15px;font-weight:600;background:var(--xd-grad);color:#fff;border:0;text-transform:none;letter-spacing:normal;margin:4px 8px 4px 0;line-height:1.2;min-height:0}
.xd-page-generic .xd-prose a.button.is-outline{background:transparent;border:1px solid rgba(255,255,255,.35)}
@media (min-width:760px){.xd-page-generic{padding-top:calc(var(--xd-hdr) + 44px)}}

.xd-page-generic .xd-prose > p,.xd-page-generic .xd-prose > h2,.xd-page-generic .xd-prose > h3,.xd-page-generic .xd-prose > ul,.xd-page-generic .xd-prose > ol,.xd-page-generic .xd-prose > .accordion{max-width:860px}
.xd-page-generic .xd-prose .col{padding:0 15px 20px}
.xd-page-generic .xd-prose .row{margin:0 -15px}
.xd-page-generic .xd-prose .banner{border-radius:18px;overflow:hidden}
/* Pleine largeur : les colonnes UX Builder du contenu s'empilent (texte d'abord, bannières ensuite) */
.xd-page-generic .xd-prose .row{display:flex;flex-wrap:wrap;margin:0}
.xd-page-generic .xd-prose .row>.col{flex:0 0 100%!important;max-width:100%!important;width:100%!important;padding:0 0 24px}
.xd-page-generic .xd-prose .col .col-inner{padding:0!important;margin:0!important}
.xd-page-generic .xd-prose .col:has(.banner){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px}
.xd-page-generic .xd-prose .col:has(.banner) .col-inner{display:contents}
.xd-page-generic .xd-prose .banner{min-height:260px!important;height:auto!important}
.xd-page-generic .xd-prose .accordion-title{font-size:19px}
