/* ============================================================================
   Maison Deya — theme.css (refonte : largeurs en %, texte bleu, boutons corrects)
   Container global unique (max 1512), sections 100%, colonnes en fr/%, padding fluide.
   Texte éditorial BLEU #054490 sur fond clair ; BLANC sur photo/bandeau bleu.
   ========================================================================== */

/* ---- Fonts self-hostées -------------------------------------------------- */
@font-face { font-family:"Blinker"; font-style:normal; font-weight:400; font-display:swap; src:url("../fonts/blinker-400.woff2") format("woff2"); }
@font-face { font-family:"Blinker"; font-style:normal; font-weight:600; font-display:swap; src:url("../fonts/blinker-600.woff2") format("woff2"); }
@font-face { font-family:"Blinker"; font-style:normal; font-weight:700; font-display:swap; src:url("../fonts/blinker-700.woff2") format("woff2"); }
@font-face { font-family:"DM Sans"; font-style:normal; font-weight:100 1000; font-display:swap; src:url("../fonts/dmsans.woff2") format("woff2"); }

/* ---- Variables ----------------------------------------------------------- */
:root{
  --blue:#054490; --green:#008634; --green-dark:#00702b; --ink:#141313;
  --white:#fff; --surface:#FBFBFA; --slate:#222D35; --border:#EBEBEB; --muted:#A7A7A7;
  --txt:#054490;                                  /* texte éditorial = bleu */
  /* FULL-WIDTH : aucun max-width. Marges latérales en PX ajustées aux breakpoints
     (bonne pratique). Le site remplit le viewport (100vw) ; 1512 = proportions. */
  --pad:40px;          /* marge latérale de base (about/stats à grande image + header) */
  --pad-srv:120px;     /* services : marge modérée (< maquette 222, mais présente) */
  --pad-narrow:300px;  /* sections étroites centrées (intro/rachat/CTA) */
  --gap:96px;          /* gap inter-section */
  --col-gap:60px;      /* gap colonnes */
  --inset:40px;        /* inset des cartes (bandeaux photo) : plus de marge sur les grandes images */
  --ff-head:"Blinker",sans-serif; --ff-body:"DM Sans",sans-serif;
  --radius:6px; --radius-card:18px;
  --header-h:174px;
}
/* Marges latérales en px, ajustées aux breakpoints (le contenu reste pleine largeur) */
@media (max-width:1280px){ :root{ --pad-srv:80px; --pad-narrow:200px; --gap:80px; --col-gap:48px; } }
@media (max-width:1100px){ :root{ --pad-srv:40px; --pad-narrow:120px; --inset:32px; } }
@media (max-width:1024px){ :root{ --pad:28px; --pad-srv:32px; --pad-narrow:80px; --gap:72px; --col-gap:40px; --inset:28px; } }
@media (max-width:768px){  :root{ --pad:20px; --pad-srv:24px; --pad-narrow:24px; --gap:56px; --col-gap:28px; --inset:16px; } }
@media (max-width:480px){  :root{ --pad:16px; --pad-srv:16px; --pad-narrow:16px; --gap:48px; --inset:12px; } }

/* ---- Reset / overrides parent -------------------------------------------- */
html,body{ overflow-x:clip !important; overflow-y:visible !important; }
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; scroll-behavior:smooth; }
body{ font-family:var(--ff-body); font-size:16px; line-height:1.3; color:var(--txt); background:#fff; margin:0; }
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--blue); text-decoration:none; }
a:hover{ color:var(--green); }
:focus-visible{ outline:2px solid var(--green); outline-offset:2px; }
.mdeya-skip-link{ position:absolute; left:-9999px; top:0; background:var(--blue); color:#fff; padding:10px 16px; z-index:1000; }
.mdeya-skip-link:focus{ left:0; }

/* ---- Container global unique --------------------------------------------- */
#page-content{ width:100%; overflow:clip; }
#page-content > *{ width:100%; }
#page-content > * + *{ margin-top:var(--gap); }
.mdeya-hero{ margin-top:0 !important; }

/* ---- Typographie (bleu par défaut) --------------------------------------- */
h1,h2,h3,h4,h5,h6{ font-family:var(--ff-head); color:var(--txt); margin:0; font-weight:400; line-height:1.2; }
h1{ font-size:56px; font-weight:600; text-transform:uppercase; }
h2{ font-size:44px; font-weight:400; }
h3{ font-size:32px; font-weight:700; }
h4{ font-family:var(--ff-body); font-size:20px; font-weight:900; line-height:1.3; }
p{ margin:0 0 1em; color:var(--txt); }
p:last-child{ margin-bottom:0; }
ul,ol{ color:var(--txt); }
.mdeya-lead,.mdeya-intro__text{ font-family:var(--ff-head); font-weight:400; font-size:24px; line-height:1.25; color:var(--txt); }
.mdeya-eyebrow{ font-family:var(--ff-head); font-weight:600; font-size:20px; line-height:1.2; }

/* Texte BLANC sur photo (cover) et bandeaux bleus */
.wp-block-cover :where(h1,h2,h3,h4,p,li,a),
.mdeya-cta-card :where(h1,h2,h3,h4,p,li),
.mdeya-footer :where(h2,p,li,a,span){ color:#fff; }

/* ---- Boutons : primaire (vert+pastille bleue) / outline (bord blanc+pastille verte) */
.mdeya-btn{
  position:relative; display:inline-flex; align-items:center; gap:6px; padding:8px; padding-right:12px;
  min-height:46px; flex:0 0 auto; background:var(--green); border-radius:var(--radius); color:#fff;
  font-family:var(--ff-head); font-weight:600; font-size:16px; line-height:1.2; text-decoration:none; border:0; cursor:pointer;
}
.mdeya-btn__icon{
  display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; flex:0 0 30px;
  background:var(--blue); border-radius:var(--radius); color:#fff; transition:transform .35s cubic-bezier(.5,0,.2,1);
}
.mdeya-btn__icon svg{ width:16px; height:16px; }
.mdeya-btn__label{ padding-inline:6px 8px; white-space:nowrap; transition:transform .35s cubic-bezier(.5,0,.2,1); }
/* hover : la pastille glisse de l'autre côté du label + flèche pivotée 180° (pas de changement de couleur) */
.mdeya-btn:hover .mdeya-btn__icon{ transform:translateX(var(--mdeya-shift,120px)) rotate(180deg); }
.mdeya-btn:hover .mdeya-btn__label{ transform:translateX(-36px); }
.mdeya-btn:hover,.btn:hover{ color:#fff; }
/* variante outline : transparent, bord blanc, pastille verte */
.mdeya-btn--outline{ background:transparent; border:2px solid #fff; }
.mdeya-btn--outline .mdeya-btn__icon{ background:var(--green); }
/* variante outline foncée (sur fond clair) : bord bleu, pastille verte */
.mdeya-btn--ghost{ background:transparent; border:2px solid var(--blue); color:var(--blue); }
.mdeya-btn--ghost .mdeya-btn__icon{ background:var(--green); }
.mdeya-btn--ghost .mdeya-btn__label{ color:var(--blue); }

/* ---- Header -------------------------------------------------------------- */
.mdeya-header{ position:sticky; top:0; z-index:100; width:100%; }
.mdeya-topbar{ background:var(--blue); color:#fff; }
.mdeya-topbar__inner{ display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:56px; padding:8px var(--pad); }
.mdeya-topbar__slogan{ margin:0; font-family:var(--ff-head); font-weight:400; font-size:16px; color:#fff; }
.mdeya-nav{ background:var(--white); border-bottom:1px solid var(--border); }
.mdeya-nav__inner{ display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:118px; padding-inline:var(--pad); }
.mdeya-logo{ display:inline-flex; align-items:center; }
.mdeya-logo__svg{ width:auto; height:80px; display:block; }
.mdeya-nav__actions{ display:flex; align-items:center; gap:20px; }
/* burger VISIBLE sur desktop, à droite du bouton Tarif */
.mdeya-burger{ display:inline-flex; flex-direction:column; gap:5px; width:46px; height:46px; align-items:center; justify-content:center; background:#fff; border:1px solid var(--border); border-radius:var(--radius); cursor:pointer; }
.mdeya-burger__bar{ width:28px; height:3px; background:var(--blue); border-radius:2px; transition:.2s; }

/* ---- Menu burger (overlay bleu, items alignés à droite) ------------------ */
.mdeya-mobile-menu{ position:fixed; inset:0; z-index:200; background:var(--blue); color:#fff;
  visibility:hidden; opacity:0; transform:translateX(6%);
  transition:opacity .35s ease, transform .45s cubic-bezier(.22,1,.36,1), visibility 0s linear .45s; }
.mdeya-mobile-menu.is-open{ visibility:visible; opacity:1; transform:translateX(0);
  transition:opacity .35s ease, transform .45s cubic-bezier(.22,1,.36,1), visibility 0s; }
/* items qui apparaissent en cascade à l'ouverture */
.mdeya-mobile-menu__list li,.mdeya-mobile-menu .mdeya-btn{ opacity:0; transform:translateY(14px); transition:opacity .4s ease, transform .45s cubic-bezier(.22,1,.36,1); }
.mdeya-mobile-menu.is-open .mdeya-mobile-menu__list li,.mdeya-mobile-menu.is-open .mdeya-btn{ opacity:1; transform:none; }
.mdeya-mobile-menu.is-open .mdeya-mobile-menu__list li:nth-child(1){ transition-delay:.12s }
.mdeya-mobile-menu.is-open .mdeya-mobile-menu__list li:nth-child(2){ transition-delay:.17s }
.mdeya-mobile-menu.is-open .mdeya-mobile-menu__list li:nth-child(3){ transition-delay:.22s }
.mdeya-mobile-menu.is-open .mdeya-mobile-menu__list li:nth-child(4){ transition-delay:.27s }
.mdeya-mobile-menu.is-open .mdeya-mobile-menu__list li:nth-child(5){ transition-delay:.32s }
.mdeya-mobile-menu.is-open .mdeya-mobile-menu__list li:nth-child(6){ transition-delay:.37s }
.mdeya-mobile-menu.is-open .mdeya-mobile-menu__list li:nth-child(7){ transition-delay:.42s }
.mdeya-mobile-menu.is-open .mdeya-mobile-menu__list li:nth-child(8){ transition-delay:.47s }
.mdeya-mobile-menu.is-open .mdeya-btn{ transition-delay:.54s }
@media (prefers-reduced-motion:reduce){ .mdeya-mobile-menu,.mdeya-mobile-menu *{ transition:none!important; } }
.mdeya-mobile-menu__inner{ display:flex; flex-direction:column; align-items:flex-end; justify-content:center; gap:40px; padding:64px clamp(24px,6vw,80px); height:100%; overflow:auto; text-align:right; }
.mdeya-mobile-menu__close{ position:absolute; top:24px; right:clamp(24px,6vw,80px); font-size:44px; line-height:1; color:#fff; background:transparent; border:0; cursor:pointer; }
.mdeya-mobile-menu__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; align-items:flex-end; gap:18px; }
.mdeya-mobile-menu__list a{ font-family:var(--ff-head); font-weight:700; font-size:28px; color:#fff; }
.mdeya-mobile-menu__list a:hover{ color:#cfe0ff; }

/* ---- Hero (cover, carte photo insérée 1472, radius 18) ------------------- */
.mdeya-hero.wp-block-cover{ max-width:none!important; width:auto!important; margin-inline:var(--inset)!important; border-radius:var(--radius-card); overflow:hidden; min-height:746px; align-items:flex-end; padding:0; }
.mdeya-hero .wp-block-cover__inner-container{ width:100%; padding:0 clamp(20px,4vw,60px) 56px; }
.mdeya-hero h1{ color:#fff; max-width:72%; }
.mdeya-hero .wp-block-cover__background{ background:linear-gradient(to top, rgba(5,10,20,.6) 0%, rgba(5,10,20,0) 42%)!important; opacity:1!important; }

/* ---- Sections texte / colonnes (en %) ------------------------------------ */
/* Intro (section 2) : colonne étroite centrée (~60%), texte BLEU aligné à gauche */
/* Colonne centrée, TEXTE aligné à gauche, BOUTON centré (align-items:center + width:100% sur les paragraphes). */
.mdeya-intro{ padding-inline:var(--pad-narrow); display:flex; flex-direction:column; align-items:center; text-align:left; gap:20px; min-height:380px; justify-content:center; }
.mdeya-intro__text{ width:100%; color:var(--txt); }

/* Bloc texte plein (déchetterie/rachat intros...) */
.mdeya-textblock{ padding-inline:var(--pad); }
.mdeya-textblock > *{ max-width:none; }
.mdeya-textblock h2{ margin-bottom:18px; }

/* Split image+texte (about/stats) : colonnes proportionnelles 58.6 / 35.2 */
.mdeya-about,.mdeya-stats{ padding-inline:var(--pad); }
.mdeya-split{ display:grid; grid-template-columns:58.6fr 35.2fr; gap:var(--col-gap); align-items:center; }
.mdeya-split--reverse{ grid-template-columns:35.2fr 58.6fr; }
.mdeya-split--reverse .mdeya-split__media{ order:2; }
.mdeya-about__split .mdeya-split__media{ aspect-ratio:839 / 474; }
.mdeya-stats__split .mdeya-split__media{ aspect-ratio:839 / 527; }
.mdeya-split .wp-block-image,.mdeya-split__media{ margin:0; }
.mdeya-split .wp-block-image img,.mdeya-split__media img{ width:100%; height:100%; object-fit:cover; border-radius:var(--radius-card); display:block; }
.mdeya-split__body{ display:flex; flex-direction:column; gap:16px; align-items:flex-start; }

.mdeya-stats__figures{ list-style:disc; margin:8px 0; padding-left:1.2em; display:flex; flex-direction:column; gap:6px; }
.mdeya-stats__figures li{ font-family:var(--ff-body); font-weight:400; font-size:16px; line-height:1.3; color:var(--txt); }

/* Bandeaux photo (materials, engagements) : carte insérée radius 18, texte blanc */
.mdeya-materials.wp-block-cover,.mdeya-engagements.wp-block-cover{
  max-width:none!important; width:auto!important; margin-inline:var(--inset)!important; border-radius:var(--radius-card); overflow:hidden;
  align-items:center; padding:0;
}
.mdeya-materials.wp-block-cover{ min-height:612px; }
.mdeya-engagements.wp-block-cover{ min-height:648px; }
.mdeya-materials .wp-block-cover__inner-container,
.mdeya-engagements .wp-block-cover__inner-container{ width:100%; padding-inline:clamp(24px,4vw,60px); display:flex; flex-direction:column; align-items:flex-start; gap:18px; }
.mdeya-materials .wp-block-cover__inner-container > *,
.mdeya-engagements .wp-block-cover__inner-container > *{ max-width:54%; }
.mdeya-materials .wp-block-cover__background,
.mdeya-engagements .wp-block-cover__background{ background:rgba(20,19,19,.5)!important; opacity:1!important; }
/* Bandeau photo « documents » (liste à puces sur fond sombre) */
.mdeya-docband.wp-block-cover{ max-width:none!important; width:auto!important; margin-inline:var(--inset)!important; border-radius:var(--radius-card); overflow:hidden; align-items:center; }
.mdeya-docband .wp-block-cover__inner-container{ width:100%; padding-inline:clamp(24px,4vw,60px); display:flex; flex-direction:column; align-items:flex-start; gap:16px; }
.mdeya-docband .wp-block-cover__inner-container > *{ max-width:60%; }
.mdeya-docband .wp-block-cover__background{ background:rgba(20,19,19,.55)!important; opacity:1!important; }
/* Carte intégrée dans un bloc (bandeau bleu / gris) */
.mdeya-cta-card .mdeya-map--inset{ width:100%; max-width:100%; margin-top:14px; }
.mdeya-cta-card .mdeya-map--inset iframe{ height:320px; }
/* Bandeau « documents » / « certifications » en 2 colonnes : contenu à gauche, CTA/logos à droite */
.mdeya-docband--split .wp-block-cover__inner-container{ flex-direction:row!important; align-items:flex-end!important; justify-content:space-between!important; gap:clamp(24px,4vw,64px); }
.mdeya-docband--split .wp-block-cover__inner-container > *{ max-width:none!important; }
.mdeya-docband__main{ flex:1 1 0; min-width:0; display:flex; flex-direction:column; gap:14px; }
.mdeya-docband__main > *{ margin-block:0; }
.mdeya-docband__aside{ flex:0 0 auto; max-width:42%; display:flex; flex-direction:column; align-items:flex-end; gap:12px; text-align:right; }
.mdeya-docband__aside > *{ margin-block:0; }
@media(max-width:900px){
  .mdeya-docband--split .wp-block-cover__inner-container{ flex-direction:column!important; align-items:flex-start!important; gap:18px; }
  .mdeya-docband__aside{ max-width:100%; align-items:flex-start; text-align:left; }
}
@media(max-width:768px){
  .mdeya-docband.wp-block-cover,.mdeya-cta-photo.wp-block-cover{ min-height:auto!important; }
  .mdeya-docband .wp-block-cover__inner-container,.mdeya-cta-photo .wp-block-cover__inner-container{ padding-block:40px!important; }
  .mdeya-docband__aside > p{ font-size:18px!important; }
  .mdeya-docband h2{ font-size:30px; }
}

/* ---- Services (cartes alternées, colonnes 50/50) ------------------------- */
.mdeya-services-section{ width:100%; }
.mdeya-services{ display:flex; flex-direction:column; gap:var(--gap); padding-inline:var(--pad-srv); }
.mdeya-service{ display:grid; grid-template-columns:1fr 1fr; gap:var(--col-gap); align-items:center; }
.mdeya-service--reverse .mdeya-service__media{ order:2; }
.mdeya-service--solo{ grid-template-columns:1fr; padding-inline:var(--pad-narrow); text-align:center; }
.mdeya-service--solo .mdeya-service__body{ align-items:center; }
.mdeya-service__media,.mdeya-service__media.wp-block-image{ margin:0; }
.mdeya-service__media img,.mdeya-service__img{ width:100%; height:100%; object-fit:cover; border-radius:var(--radius-card); display:block; }
.mdeya-service__body{ display:flex; flex-direction:column; gap:16px; align-items:flex-start; }
.mdeya-service__title{ font-size:44px; font-weight:400; }
.mdeya-service__badge{ font-family:var(--ff-head); font-weight:700; color:var(--blue); }
.mdeya-services-main .mdeya-service:nth-child(1) .mdeya-service__media{ aspect-ratio:504 / 443; }
.mdeya-services-main .mdeya-service:nth-child(2) .mdeya-service__media{ aspect-ratio:504 / 422; }
.mdeya-services-main .mdeya-service:nth-child(3) .mdeya-service__media{ aspect-ratio:504 / 496; }
.mdeya-services-main .mdeya-service:nth-child(4) .mdeya-service__media{ aspect-ratio:504 / 348; }

/* ---- Galerie (5 colonnes égales) ----------------------------------------- */
.mdeya-gallery-section{ padding-inline:var(--inset); }
.mdeya-gallery{ width:100%; }
.mdeya-gallery .swiper-wrapper{ align-items:stretch; }
.mdeya-gallery .swiper-slide{ height:auto; }
.mdeya-gallery__slide{ aspect-ratio:278 / 370; }
.mdeya-gallery__img{ width:100%; height:100%; object-fit:cover; border-radius:var(--radius-card); display:block; }

/* ---- Bandeau CTA : encart bleu centré (~60%), texte blanc aligné gauche --- */
.mdeya-cta-band{ padding-inline:var(--pad-narrow); }
.mdeya-cta-card{ background:var(--blue); border-radius:var(--radius-card); padding:clamp(28px,4vw,60px); display:flex; flex-direction:column; align-items:flex-start; gap:24px; }
.mdeya-cta-card :where(h2,h3,p,li){ color:#fff; }   /* puces incluses (sections cta-band à liste) */
.mdeya-cta-card__actions{ display:flex; flex-wrap:wrap; align-items:center; gap:20px; }
/* WP (is-layout-flow) ajoute un margin-block « block-gap » sur les enfants ; nos conteneurs
   flex/grid espacent via gap/grid-gap → neutralisé pour éviter double-espacement, décalage
   d'alignement et hauteur fantôme (bouton CTA étiré à 74px). */
.mdeya-cta-card > *,.mdeya-cta-card__actions > *,.mdeya-intro > *,
.mdeya-split > *,.mdeya-split--reverse > *,.mdeya-srv > *,.mdeya-service > *,
.mdeya-duo > *,.mdeya-procards > *,.mdeya-pagehero .wp-block-cover__inner-container > *{ margin-block:0; }

/* ---- Pages secondaires --------------------------------------------------- */
.mdeya-pagehero.wp-block-cover{ max-width:none!important; width:auto!important; margin-inline:var(--inset)!important; border-radius:var(--radius-card); overflow:hidden; min-height:746px; align-items:flex-end; }
/* Hero pages secondaires : 2 colonnes — H1 à gauche, texte (+ bouton) à droite, collées en bas */
.mdeya-pagehero .wp-block-cover__inner-container{ width:100%; padding:0 clamp(24px,4vw,60px) 56px; display:flex; flex-direction:row; align-items:flex-end; justify-content:space-between; gap:clamp(40px,8vw,160px); }
.mdeya-pagehero__h{ flex:1 1 0; min-width:0; }
.mdeya-pagehero__b{ flex:1 1 0; min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:24px; }
.mdeya-pagehero h1{ color:#fff; max-width:none; }
.mdeya-pagehero__b > *{ margin-block:0; }
.mdeya-pagehero p{ color:#fff; max-width:none; font-family:var(--ff-head); font-size:20px; line-height:1.35; }
.mdeya-pagehero .wp-block-cover__background{ background:rgba(5,18,38,.5)!important; opacity:1!important; }
@media(max-width:900px){ .mdeya-pagehero .wp-block-cover__inner-container{ flex-direction:column; align-items:flex-start; gap:24px; } }

/* ===== Patterns réutilisables pages secondaires ===== */
/* Listes à puces : points (par défaut) + texte en gras */
.mdeya-bullets{ list-style:disc; margin:0; padding-left:1.25em; display:flex; flex-direction:column; gap:10px; }
.mdeya-bullets li{ font-family:var(--ff-body); font-weight:600; font-size:16px; line-height:1.45; color:var(--txt); }
.mdeya-bullets li::marker{ color:var(--green); }
/* variante flèche (uniquement contact « Nos activités ») */
.mdeya-bullets--arrow{ list-style:none; padding-left:0; }
.mdeya-bullets--arrow li{ position:relative; padding-left:1.6em; }
.mdeya-bullets--arrow li::marker{ content:""; }
.mdeya-bullets--arrow li::before{ content:"›"; position:absolute; left:.35em; top:-.04em; color:var(--blue); font-weight:700; font-size:1.35em; line-height:1; }
.mdeya-bullets__sub{ display:block; font-weight:400; color:var(--blue); opacity:.82; margin-top:1px; }
/* sur carte bleue / bandeau photo : texte + puce blancs */
.mdeya-cta-card .mdeya-bullets li,.wp-block-cover .mdeya-bullets li{ color:#fff; }
.mdeya-cta-card .mdeya-bullets li::marker,.wp-block-cover .mdeya-bullets li::marker{ color:#fff; }
.mdeya-cta-card .mdeya-bullets--arrow li::before,.wp-block-cover .mdeya-bullets--arrow li::before{ color:#fff; }
/* carte gris clair : texte foncé, puce verte */
.mdeya-cta-card--gray .mdeya-bullets li{ color:var(--txt); }
.mdeya-cta-card--gray .mdeya-bullets li::marker{ color:var(--green); }

/* Paragraphe en gras (intro de liste, horaires…) */
.mdeya-strong{ font-weight:700; }
/* Logos de certification sur le bandeau sombre (chips blancs) */
.mdeya-certlogos{ display:flex; gap:20px; align-items:center; margin-top:8px; }
.mdeya-certlogo{ height:84px; width:auto; background:#fff; border-radius:10px; padding:10px; box-sizing:border-box; }
/* Bloc CTA du bandeau « documents » (texte + bouton) */
.mdeya-docband__cta{ display:flex; flex-direction:column; align-items:flex-start; gap:10px; margin-top:6px; }
.mdeya-docband__cta > *{ margin-block:0; }
/* Carte sombre ardoise (ex. « Dépôt » VHU) */
.mdeya-cta-card--dark{ background:#222d35; }
/* Bandeau documents : le texte d'accroche de l'aside (« Effectuez votre démarche… ») à 24px */
.mdeya-docband__aside > p{ font-size:24px; line-height:1.3; }
/* Hero contact : liste avec badges-icônes ronds (pin, tél, mail, horaires) */
.mdeya-hero-contact{ list-style:none; padding-left:0; margin:0; display:flex; flex-direction:column; gap:14px; }
.mdeya-hero-contact li{ display:flex; align-items:center; gap:14px; font-family:var(--ff-head); color:#fff; }
.mdeya-hc-ico{ flex:0 0 auto; width:38px; height:38px; color:#fff; border:1.5px solid rgba(255,255,255,.55); border-radius:50%; display:flex; align-items:center; justify-content:center; }
.mdeya-hc-ico svg{ width:17px; height:17px; }
.mdeya-pagehero__b .mdeya-hero-contact a{ color:#fff; text-decoration:none; }

/* Deux blocs côte à côte avec fond (matériaux à déposer / à NE PAS déposer) */
.mdeya-duo{ display:grid; grid-template-columns:1fr 1fr; gap:24px; padding-inline:var(--pad); align-items:stretch; }
.mdeya-duo__card{ border-radius:var(--radius-card); padding:clamp(28px,3vw,48px); display:flex; flex-direction:column; gap:16px; }
.mdeya-duo__card > *{ margin-block:0; }
.mdeya-duo__card--blue{ background:var(--blue); }
.mdeya-duo__card--blue :where(h2,h3,p,li){ color:#fff; }
.mdeya-duo__card--gray{ background:#ebebeb; }
.mdeya-duo__card--gray :where(h2,h3){ color:var(--blue); text-transform:uppercase; }   /* « MATÉRIAUX À NE PAS DÉPOSER » */
.mdeya-duo__card--gray :where(p,li){ color:var(--txt); }

/* Cartes prestations : image en haut, texte en bas, 2 côte à côte */
.mdeya-procards{ display:grid; grid-template-columns:1fr 1fr; gap:var(--col-gap); padding-inline:var(--pad); align-items:start; }
.mdeya-procards__card{ display:flex; flex-direction:column; gap:20px; }
.mdeya-procards__card > *{ margin-block:0; }
.mdeya-procards__media{ margin:0; }
.mdeya-procards__media img{ width:100%; aspect-ratio:666/444; object-fit:cover; border-radius:var(--radius-card); display:block; }
.mdeya-procards__card h2,.mdeya-procards__card h3{ font-size:26px; font-weight:700; color:var(--blue); }

/* Titre de section centré */
.mdeya-section-title{ text-align:center; padding-inline:var(--pad); }

/* Section formulaire : titre + sous-titre centrés, formulaire en colonne étroite */
/* Section formulaire : colonne centrée 760px, contenu aligné à GAUCHE */
.mdeya-formsection{ padding-inline:var(--pad); display:flex; flex-direction:column; align-items:center; gap:6px; }
.mdeya-formsection > *{ width:100%; max-width:760px; margin-block:0; text-align:left; }
.mdeya-formsection h2{ color:var(--txt); }
.mdeya-formsection .mdeya-form-subtitle{ color:#141313; font-weight:700; }   /* sous-titre noir, gras */
.mdeya-formsection .mdeya-form-host{ margin-top:20px; }
/* Champs WPForms : pleine largeur + radius + labels fins + bouton vert */
.mdeya-form-host .wpforms-field{ padding:0 0 16px; max-width:100%; }
.mdeya-form-host input[type=text],.mdeya-form-host input[type=email],.mdeya-form-host input[type=tel],.mdeya-form-host input[type=url],.mdeya-form-host input[type=number],.mdeya-form-host input[type=date],.mdeya-form-host textarea,.mdeya-form-host select{ width:100%!important; max-width:100%!important; box-sizing:border-box!important; border:1px solid #c9d2de!important; border-radius:var(--radius)!important; padding:12px 14px!important; font-family:var(--ff-body)!important; font-size:16px!important; background:#fff!important; color:var(--txt)!important; }
.mdeya-form-host textarea{ min-height:120px; }
.mdeya-form-host .wpforms-container,.mdeya-form-host .wpforms-form{ --wpforms-field-border-radius:6px; }
body .mdeya-form-host .wpforms-field :is(input,textarea,select){ border-radius:var(--radius)!important; }
.mdeya-form-host .wpforms-field-label{ font-family:var(--ff-body); font-weight:500; color:var(--txt); font-size:15px; margin-bottom:6px; }
.mdeya-form-host .wpforms-one-half,.mdeya-form-host .wpforms-field-medium,.mdeya-form-host .wpforms-field-row{ width:100%!important; max-width:100%!important; float:none!important; margin:0!important; }
.mdeya-form-host .wpforms-submit{ background:var(--green)!important; color:#fff!important; border:0!important; border-radius:var(--radius)!important; padding:14px 28px!important; font-family:var(--ff-head)!important; font-weight:600!important; font-size:16px!important; cursor:pointer; }

/* ---- Popup de confirmation de formulaire ---- */
.mdeya-modal-overlay{ position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(5,18,38,.6); opacity:0; transition:opacity .3s ease; }
.mdeya-modal-overlay.is-open{ opacity:1; }
.mdeya-modal-overlay[hidden]{ display:none; }
.mdeya-modal{ background:var(--blue); color:#fff; border-radius:var(--radius-card); padding:clamp(32px,5vw,56px); width:100%; max-width:500px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:18px; box-shadow:0 24px 60px rgba(5,18,38,.4); transform:translateY(14px) scale(.97); transition:transform .3s cubic-bezier(.22,1,.36,1); }
.mdeya-modal-overlay.is-open .mdeya-modal{ transform:none; }
.mdeya-modal__title{ font-family:var(--ff-head); font-weight:400; font-size:24px; line-height:1.25; color:#fff; margin:0; }
.mdeya-modal__text{ font-family:var(--ff-body); font-size:16px; line-height:1.4; color:#fff; margin:0; }
.mdeya-modal__close{ margin-top:8px; }
@media (prefers-reduced-motion:reduce){ .mdeya-modal-overlay,.mdeya-modal{ transition:none!important; } .mdeya-modal{ transform:none; } }

/* Section texte étroite centrée (titre + paragraphes, texte aligné à gauche) */
.mdeya-narrow{ padding-inline:var(--pad-narrow); display:flex; flex-direction:column; gap:16px; }
.mdeya-narrow > *{ margin-block:0; }
.mdeya-narrow--center{ text-align:center; align-items:center; }   /* titre + paragraphes centrés */
/* Carte gris clair (bandeau info) — surcharge le texte blanc de .mdeya-cta-card */
.mdeya-cta-card--gray{ background:#ebebeb; }
.mdeya-cta-card--gray :where(h2,h3){ color:var(--blue); }
.mdeya-cta-card--gray :where(p,li){ color:var(--txt); }

/* Deux colonnes de texte côte à côte (sans fond ni image) */
.mdeya-twocol{ display:grid; grid-template-columns:1fr 1fr; gap:var(--col-gap); padding-inline:var(--pad); align-items:start; }
.mdeya-twocol__col{ display:flex; flex-direction:column; gap:14px; }
.mdeya-twocol > *,.mdeya-twocol__col > *{ margin-block:0; }

/* Rangée d'images (galerie compacte) */
.mdeya-imgrow{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; padding-inline:var(--pad); }
.mdeya-imgrow img{ width:100%; aspect-ratio:278/370; object-fit:cover; border-radius:var(--radius-card); display:block; }

@media(max-width:768px){ .mdeya-twocol,.mdeya-imgrow{ grid-template-columns:1fr 1fr; } }
@media(max-width:480px){ .mdeya-imgrow{ grid-template-columns:1fr; } }

@media(max-width:900px){ .mdeya-duo,.mdeya-procards{ grid-template-columns:1fr; } }

.mdeya-srv-wrap{ padding-inline:var(--pad-srv); }
.mdeya-srv{ display:grid; grid-template-columns:1fr 1fr; gap:var(--col-gap); align-items:center; }
.mdeya-srv--reverse .mdeya-split__media{ order:2; }
.mdeya-srv .mdeya-split__media{ aspect-ratio:504/400; margin:0; }
.mdeya-srv .mdeya-split__media img{ width:100%; height:100%; object-fit:cover; border-radius:var(--radius-card); display:block; }
.mdeya-srv .mdeya-split__body{ display:flex; flex-direction:column; gap:16px; align-items:flex-start; }

.mdeya-cta-photo.wp-block-cover{ max-width:none!important; width:auto!important; margin-inline:var(--inset)!important; border-radius:var(--radius-card); overflow:hidden; align-items:center; }
.mdeya-cta-photo .wp-block-cover__inner-container{ width:100%; padding-inline:clamp(24px,4vw,60px); display:flex; flex-direction:column; align-items:flex-start; gap:18px; }
.mdeya-cta-photo h2,.mdeya-cta-photo p{ color:#fff; max-width:56%; }
.mdeya-cta-photo .wp-block-cover__background{ background:rgba(5,18,38,.5)!important; opacity:1!important; }

/* (.mdeya-formsection : voir le bloc patterns plus haut) */
.mdeya-form-host{ margin-top:24px; }
.mdeya-form-host .wpforms-field-label{ color:var(--slate); font-family:var(--ff-body); }
.mdeya-form-host input:not([type=submit]),.mdeya-form-host textarea,.mdeya-form-host select{ border-radius:0!important; border:1px solid var(--ink)!important; }
.mdeya-form-host .wpforms-submit{ border-radius:360px!important; background:var(--green)!important; border:0!important; color:#fff!important; font-family:var(--ff-head); }

.mdeya-certs-band{ padding-inline:var(--pad); text-align:center; }
.mdeya-certs-row{ display:flex; gap:40px; justify-content:center; align-items:center; flex-wrap:wrap; margin-top:24px; }
.mdeya-cert{ height:130px; width:auto; }

.mdeya-mapsection{ padding-inline:var(--pad); }
.mdeya-map{ margin-top:20px; border-radius:var(--radius-card); overflow:hidden; }
.mdeya-map iframe{ display:block; width:100%; border:0; }

/* ---- Footer : carte bleue insérée, coins hauts arrondis, 3 colonnes % ----- */
.mdeya-footer{ width:100%; margin-top:var(--gap); padding-inline:var(--inset); }
.mdeya-footer__inner{ background:var(--blue); border-radius:var(--radius-card) var(--radius-card) 0 0; display:grid; grid-template-columns:18.8% 25.5% 1fr; column-gap:clamp(40px,9%,122px); padding:clamp(32px,4vw,60px); align-items:start; }
.mdeya-footer__logo-svg{ width:auto; height:120px; }
.mdeya-footer__tagline{ font-family:var(--ff-head); font-weight:400; font-size:18px; margin-top:16px; color:#fff; }
.mdeya-footer__title{ font-size:20px; font-weight:600; margin-bottom:16px; color:#fff; }
.mdeya-footer__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; }
.mdeya-footer__item{ display:flex; align-items:flex-start; gap:12px; }
.mdeya-footer__item a{ color:#fff; }
.mdeya-footer__item a:hover{ color:#cfe0ff; }
.mdeya-footer__icon{ flex:0 0 auto; width:24px; height:24px; }
.mdeya-footer__icon path{ fill:#fff; }
.mdeya-footer__badges{ display:flex; gap:20px; align-items:center; flex-wrap:wrap; }
.mdeya-footer__badge{ height:90px; width:auto; background:#fff; border-radius:8px; padding:6px; }
.mdeya-footer__agrement{ margin-top:16px; font-family:var(--ff-head); font-weight:700; color:#fff; }

/* Bandeau plugin netdev-footer : fond VERT marque (option …_background=#008634) + texte blanc,
   inséré comme la maquette = marges latérales + bas et coins arrondis. */
.netdev-footer{ margin:0 var(--inset) var(--inset); border-radius:0 0 var(--radius-card) var(--radius-card); overflow:hidden; }
.netdev-footer.netdev-footer{ padding:18px clamp(20px,4vw,40px)!important; }   /* surcharge le 100px du plugin */
/* Le plugin met le lien à opacity:.5 au repos (contraste < 4.5) → on le force opaque (WCAG AA) + souligné. */
.netdev-footer .netdev-footer-content a:not(.logo){ opacity:1 !important; }
.netdev-footer a{ text-decoration:underline; }

/* ---- Reveal -------------------------------------------------------------- */
[data-reveal]{ opacity:1; }
.mdeya-armed[data-reveal]{ opacity:0; transform:translateY(-24px); }
[data-reveal].is-visible{ opacity:1; transform:none; transition:opacity .6s ease, transform .6s ease; }

/* ---- Responsive ---------------------------------------------------------- */
/* Empilage image-texte dès 1100 : image ET texte en 100% (même taille), image paysage */
@media (max-width:1100px){
  .mdeya-split,.mdeya-split--reverse,.mdeya-service,.mdeya-srv{ grid-template-columns:1fr; gap:32px; }
  .mdeya-split--reverse .mdeya-split__media,.mdeya-service--reverse .mdeya-service__media,.mdeya-srv--reverse .mdeya-split__media{ order:0; }
  .mdeya-about__split .mdeya-split__media,.mdeya-stats__split .mdeya-split__media,
  .mdeya-service__media,.mdeya-srv .mdeya-split__media{ aspect-ratio:688 / 350 !important; }
}
@media (max-width:1024px){
  h1{ font-size:48px; } h2,.mdeya-service__title{ font-size:36px; }
  .mdeya-footer__inner{ grid-template-columns:1fr 1fr; row-gap:32px; }
}
@media (max-width:768px){
  h1{ font-size:36px; } h2,.mdeya-service__title{ font-size:32px; } .mdeya-lead,.mdeya-intro__text{ font-size:20px; }
  .mdeya-nav__cta{ display:none; }
  .mdeya-topbar__inner{ flex-wrap:wrap; row-gap:10px; }      /* point 6 : barre haute wrap en mobile */
  .mdeya-topbar__slogan{ flex:1 1 100%; }
  .mdeya-cta-card__actions{ flex-direction:column; align-items:stretch; }   /* boutons CTA pleine largeur, pas d'overflow */
  .mdeya-materials .wp-block-cover__inner-container > *,.mdeya-engagements .wp-block-cover__inner-container > *,
  .mdeya-docband .wp-block-cover__inner-container > *,
  .mdeya-pagehero p,.mdeya-cta-photo h2,.mdeya-cta-photo p,.mdeya-pagehero h1,.mdeya-hero h1{ max-width:100%; }
  .mdeya-hero.wp-block-cover,.mdeya-pagehero.wp-block-cover{ min-height:520px!important; }
  .mdeya-footer__inner{ grid-template-columns:1fr; gap:32px; }
  .mdeya-certs-row{ gap:24px; } .mdeya-cert{ height:90px; }
  .mdeya-intro,.mdeya-service--solo,.mdeya-cta-band,.mdeya-formsection{ padding-inline:var(--pad); }
}
