/* ==========================================================================
   Disting Conseils — couche d'adaptation Elementor (sections / colonnes classiques)
   À charger APRÈS disting.css. Les classes « dst-* » se posent dans
   Elementor > Avancé > Classes CSS.
   ========================================================================== */

/* --- Remise à zéro des espacements Elementor ------------------------------ */
body .elementor-widget:not(:last-child){margin-block-end:0;margin-bottom:0}
body .elementor-widget-wrap>.elementor-element{margin-block-end:0}
body .elementor-column-gap-no>.elementor-column>.elementor-element-populated{padding:0}
body .elementor-section.elementor-section-boxed>.elementor-container{max-width:var(--wrap);padding:0 24px}
.elementor-widget-text-editor p:last-child{margin-bottom:0}
.elementor-widget-container>section{display:block}

/* Sections « brutes » : un widget HTML qui contient le bloc complet de la maquette */
body .elementor-section.dst-raw{padding:0}
body .elementor-section.dst-raw>.elementor-container{max-width:none;padding:0;display:block}
body .elementor-section.dst-raw .elementor-column{width:100%}
body .elementor-section.dst-raw .elementor-widget-wrap{padding:0;display:block}

/* Espacements utilitaires */
body .elementor-section.dst-pt0{padding-top:0}
body .elementor-section.dst-pb0{padding-bottom:0}
body .elementor-section.dst-pb120{padding-bottom:120px}
body .elementor-section.dst-p110{padding-top:110px;padding-bottom:110px}
body .elementor-section.dst-pb60{padding-bottom:60px}
body .elementor-section.dst-pt20{padding-top:20px}
.dst-mb50{margin-bottom:50px!important}
.dst-mb30{margin-bottom:30px!important}
.dst-mt30{margin-top:30px!important}
.dst-mt40{margin-top:40px!important}

/* Écarts entre colonnes (sections à 2 colonnes) */
body .dst-g60>.elementor-container{gap:60px}
body .dst-g70>.elementor-container{gap:70px}
body .dst-g80>.elementor-container{gap:80px}

/* --- Widgets natifs stylés comme la maquette ------------------------------ */
/* Étiquette « ● À propos » : widget Titre, balise span, classe dst-tag */
body .dst-tag .elementor-heading-title{display:inline-flex;align-items:center;gap:8px;padding:5px 14px;border-radius:999px;background:var(--fond);border:1px solid var(--ligne);color:var(--titre);font-family:var(--s);font-size:13px;font-weight:500;line-height:1.75;margin:0 0 18px;letter-spacing:0}
body .dst-tag .elementor-heading-title::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--rouge)}
body .dark .dst-tag .elementor-heading-title{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);color:#fff}

/* Grand titre de section : widget Titre H2, classe dst-h2 */
body .dst-h2 .elementor-heading-title{font-family:var(--t);font-weight:500;font-size:clamp(30px,3.4vw,48px);line-height:1.2;letter-spacing:-.01em;color:var(--titre)}
body .dark .dst-h2 .elementor-heading-title{color:#fff}
body .dst-h2.dst-sm .elementor-heading-title{font-size:clamp(26px,2.6vw,36px)}
body .dst-h2.dst-form .elementor-heading-title{font-size:clamp(28px,2.6vw,38px)}

/* Centrage */
body .dst-c,body .dst-c .elementor-heading-title{text-align:center}

/* Chapeau : widget Éditeur de texte, classe dst-lead */
body .dst-lead{margin-top:20px;max-width:560px;color:inherit}
body .dst-c.dst-lead{margin-left:auto;margin-right:auto}
body .dst-lead p{margin:0}
body .dark .dst-lead{color:rgba(255,255,255,.66)}

/* Liste cochée : widget Éditeur de texte contenant <ul class="chk"> */
.elementor-widget-text-editor .chk{margin:28px 0 0;padding:20px 22px}

/* Boutons : widget Bouton, classes dst-btn + dst-btn-r | dst-btn-l | dst-btn-d */
body .dst-btn .elementor-button{display:inline-flex;align-items:center;height:54px;padding:0 26px 0 6px;border-radius:999px;border:0;background:var(--rouge);color:#fff;fill:#fff;font-family:var(--s);font-size:15px;font-weight:600;line-height:1;white-space:nowrap;transition:background .3s,color .3s,box-shadow .3s}
body .dst-btn .elementor-button:hover,body .dst-btn .elementor-button:focus{background:var(--rouge-2);color:#fff}
body .dst-btn .elementor-button-content-wrapper{display:flex;align-items:center;gap:12px;flex-direction:row}
body .dst-btn .elementor-button-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--rouge);fill:var(--rouge);font-size:15px;margin:0}
body .dst-btn .elementor-button-icon i,body .dst-btn .elementor-button-icon svg{width:16px;height:16px;font-size:15px;transform:rotate(-45deg);transition:transform .35s}
body .dst-btn .elementor-button:hover .elementor-button-icon i,body .dst-btn .elementor-button:hover .elementor-button-icon svg{transform:none}
body .dst-btn-l .elementor-button{background:#fff;color:var(--titre);box-shadow:inset 0 0 0 1px var(--ligne)}
body .dst-btn-l .elementor-button:hover,body .dst-btn-l .elementor-button:focus{background:#fff;color:var(--titre);box-shadow:inset 0 0 0 1px var(--titre)}
body .dst-btn-l .elementor-button-icon{background:var(--rouge);color:#fff;fill:#fff}
body .dst-btn-d .elementor-button{background:var(--noir)}
body .dst-btn-d .elementor-button-icon{background:var(--rouge);color:#fff;fill:#fff}
body .dst-c .elementor-button-wrapper,body .dst-btn.dst-c{text-align:center}

/* Rangée « bouton + signature » : largeur « En ligne (auto) » dans Avancé */
body .dst-inline{margin-right:28px}
body .elementor-widget.dst-mt32{margin-top:32px}

/* --- Bloc « Demander une proposition » (2 colonnes) ----------------------- */
body .elementor-section.dst-appt{padding:0;margin:0 var(--m) 120px}
body .elementor-section.dst-appt>.elementor-container{max-width:none;padding:0;min-height:640px;align-items:stretch}
body .dst-appt .dst-phcol{position:relative;min-height:320px}
body .dst-appt .dst-phcol .elementor-widget-wrap,body .dst-appt .dst-phcol .elementor-widget,body .dst-appt .dst-phcol .elementor-widget-container{position:static}
body .dst-appt .dst-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
body .dst-appt .fm{background:var(--noir)}
body .dst-appt .fm>.elementor-widget-wrap{padding:70px 60px;align-content:center}
body .dst-appt .fm .dst-lead{margin:12px auto 30px;max-width:460px;font-size:15px}

/* --- Contact Form 7 aux couleurs de la maquette --------------------------- */
.wpcf7 .fg .wpcf7-form-control-wrap{display:block}
.wpcf7 .fg .full{grid-column:1/-1}
.wpcf7 .fg .wpcf7-list-item{margin:0}
.wpcf7 .consent .wpcf7-list-item label{display:flex;gap:10px;align-items:flex-start}
.wpcf7 textarea{height:120px}
.wpcf7 input.dst-submit{width:100%;height:54px;margin-top:18px;border:0;border-radius:999px;background:var(--rouge) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 42'%3E%3Ccircle cx='21' cy='21' r='21' fill='white'/%3E%3Cg transform='rotate(-45 21 21)' fill='none' stroke='%23D91925' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 21h14M22 15l6 6-6 6'/%3E%3C/g%3E%3C/svg%3E") no-repeat calc(50% - 88px) center/42px 42px;padding-left:40px;color:#fff;font-family:var(--s);font-weight:600;font-size:15px;cursor:pointer;transition:background .3s}
.wpcf7 input.dst-submit:hover{background-color:var(--rouge-2)}
.wpcf7 .wpcf7-spinner{display:block;margin:12px auto 0}
.wpcf7 .wpcf7-not-valid-tip{font-size:12.5px;margin-top:4px;color:#FF8A8A}
.wpcf7 form .wpcf7-response-output{margin:16px 0 0;padding:12px 16px;border-radius:12px;font-size:14px}
.dark .wpcf7 form .wpcf7-response-output{color:#fff}
.wpcf7 form.sent .wpcf7-response-output{background:#E7F7EE;border-color:#E7F7EE;color:#11643A}

/* --- En-tête et pied de page rendus depuis des modèles Elementor --------- */
.dst-hdr-tpl .top{z-index:60}
body.admin-bar .top{top:calc(var(--m) + 32px)}
body.admin-bar .top.solid{top:32px}
@media (max-width:782px){body.admin-bar .top{top:calc(var(--m) + 46px)}body.admin-bar .top.solid{top:46px}}

/* --- Responsive (colonnes Elementor) -------------------------------------- */
@media (max-width:1024px){
  body .dst-g70>.elementor-container,body .dst-g80>.elementor-container,body .dst-g60>.elementor-container{gap:46px}
}
@media (max-width:767px){
  body .elementor-section.dst-pb120,body .elementor-section.dst-appt{margin-bottom:84px}
  body .dst-appt .fm>.elementor-widget-wrap{padding:50px 24px}
  body .elementor-section.dst-p110{padding-top:84px;padding-bottom:84px}
}
