/* ============================================================
   ATELIER METALYS — main.css
   Feuille de style consolidee a partir des 5 gabarits HTML
   valides par le client (Accueil, A propos, Services,
   Realisations, Contact). Les blocs communs (reset, variables,
   header, footer, boutons generiques) ont ete dedupliques ici ;
   chaque page n'apporte plus que ses styles propres.
   ============================================================ */

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
:root{
  --bleu:#223c77;--bleu-clair:#2e50a0;--bleu-fonce:#16285a;
  --jaune:#f0b334;--jaune-pale:#f7cc72;
  --gris:#686c6d;--gris-clair:#9ba3b0;--gris-bg:#f2f4f7;
  --blanc:#fff;--texte:#1a1f2e;--texte-2:#4a5568;
}
body{font-family:'Raleway',sans-serif;color:var(--texte);background:#fff;overflow-x:hidden;}

/* ══════════════════════════════════════
   HEADER
   Par defaut (page interne : A propos, Services, Realisations,
   Contact, single, archive...) le header est opaque sur fond clair.
   Sur l'accueil (body.home), il démarre transparent par-dessus le
   hero plein écran puis devient opaque au scroll (classe .scrolled
   ajoutee par assets/js/main.js).
   ══════════════════════════════════════ */
header{
  position:fixed;top:0;left:0;right:0;z-index:300;
  height:80px;display:flex;align-items:center;
  padding:0 4rem;gap:3rem;
  background:rgba(255,255,255,.97);backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(34,60,119,.08);
  box-shadow:0 4px 24px rgba(34,60,119,.05);
  transition:background .4s,box-shadow .4s,border-color .4s;
}
.logo-wrap img{height:64px;width:auto;display:block;}
nav{display:flex;align-items:center;gap:0;margin-left:auto;}
nav a{
  font-size:0.78rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--texte-2);text-decoration:none;
  padding:0.5rem 1rem;position:relative;transition:color .2s;
}
nav a:hover{color:var(--bleu);}
nav a.active,
nav a[aria-current="page"]{color:var(--bleu);}
nav a.active::after,
nav a[aria-current="page"]::after{
  content:'';position:absolute;bottom:-2px;left:1rem;right:1rem;
  height:2px;background:var(--jaune);
}
.btn-header-devis{
  display:flex;align-items:center;gap:0.6rem;
  font-size:0.78rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--bleu);background:var(--jaune);
  padding:0.75rem 1.6rem;text-decoration:none;margin-left:1.5rem;
  transition:all .25s;white-space:nowrap;
}
.btn-header-devis:hover{background:var(--jaune-pale);transform:translateY(-1px);}

/* Variante accueil : transparent par-dessus le hero, jusqu'au scroll */
body.home header{
  background:rgba(255,255,255,0);
  border-bottom-color:transparent;
  box-shadow:none;
}
body.home .logo-wrap img{filter:brightness(0) invert(1);transition:filter .4s;}
body.home nav a{color:rgba(255,255,255,.85);}
body.home nav a.active,
body.home nav a[aria-current="page"]{color:#fff;}

body.home header.scrolled{
  background:rgba(255,255,255,.97);backdrop-filter:blur(12px);
  border-bottom-color:rgba(34,60,119,.08);
  box-shadow:0 4px 24px rgba(34,60,119,.06);
}
body.home header.scrolled .logo-wrap img{filter:none;}
body.home header.scrolled nav a{color:var(--texte-2);}
body.home header.scrolled nav a:hover{color:var(--bleu);}
body.home header.scrolled nav a.active,
body.home header.scrolled nav a[aria-current="page"]{color:var(--bleu);}

/* ══════════════════════════════════════
   HERO (page d'accueil uniquement)
   ══════════════════════════════════════ */
.hero{position:relative;height:100vh;min-height:640px;overflow:hidden;display:flex;align-items:flex-end;}
.hero-slides{position:absolute;inset:0;z-index:0;}
.hero-slide{
  position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease;
  background-size:cover;background-position:center;background-repeat:no-repeat;
}
.hero-slide.active{opacity:1;}
.hero-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(to bottom,
    rgba(10,16,36,.55) 0%,
    rgba(10,16,36,.2) 18%,
    rgba(10,16,36,.12) 40%,
    rgba(10,16,36,.55) 72%,
    rgba(10,16,36,.92) 100%);
}
.hero-indicators{position:absolute;bottom:2.5rem;right:4rem;z-index:3;display:flex;gap:0.5rem;align-items:center;}
.hi{width:28px;height:2px;background:rgba(255,255,255,.3);cursor:pointer;transition:all .3s;}
.hi.active{width:48px;background:var(--jaune);}
.hero-content{position:relative;z-index:2;padding:0 4rem 5rem;width:100%;}
.hero-eyebrow{
  display:flex;align-items:center;gap:0.8rem;
  font-size:0.68rem;font-weight:700;letter-spacing:0.28em;text-transform:uppercase;
  color:rgba(255,255,255,.55);margin-bottom:1.4rem;
}
.hero-eyebrow::before{content:'';width:2rem;height:1px;background:var(--jaune);flex-shrink:0;}
.hero-h1{
  font-family:'Raleway',sans-serif;
  font-size:clamp(2.6rem,5vw,4.2rem);font-weight:800;
  color:#fff;line-height:1.0;letter-spacing:-0.02em;margin-bottom:0.2rem;
}
.hero-script{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(3.2rem,6vw,5.8rem);font-weight:300;font-style:italic;
  color:#fff;line-height:0.9;margin-bottom:1.8rem;
  position:relative;display:inline-block;
}
.hero-script::after{
  content:'';position:absolute;bottom:-4px;left:0;width:70%;height:3px;
  background:linear-gradient(90deg,var(--jaune),transparent);
}
.hero-services{display:flex;align-items:center;gap:0;flex-wrap:wrap;margin-bottom:2.8rem;}
.hero-svc{font-size:0.88rem;font-weight:400;color:rgba(255,255,255,.65);}
.hero-svc+.hero-svc::before{content:'·';color:var(--jaune);margin:0 0.6rem;}
.hero-ctas{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;}

/* ══════════════════════════════════════
   BOUTONS GENERIQUES (reutilises sur toutes les pages)
   ══════════════════════════════════════ */
.btn-primary{
  display:flex;align-items:center;gap:0.8rem;
  font-size:0.8rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--bleu);background:var(--jaune);
  padding:1rem 2.2rem;text-decoration:none;transition:all .25s;
}
.btn-primary:hover{background:var(--jaune-pale);transform:translateY(-2px);box-shadow:0 8px 24px rgba(240,179,52,.4);}
.btn-ghost-white{
  display:flex;align-items:center;gap:0.6rem;
  font-size:0.8rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;
  color:#fff;border:2px solid rgba(255,255,255,.45);
  padding:.95rem 1.8rem;text-decoration:none;transition:all .25s;background:transparent;
}
.btn-ghost-white:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.btn-jaune{
  display:flex;align-items:center;gap:0.8rem;
  font-size:0.82rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--bleu);background:var(--jaune);padding:1.1rem 2.4rem;text-decoration:none;transition:all .25s;
}
.btn-jaune:hover{background:var(--jaune-pale);transform:translateY(-2px);}
.btn-blanc-outline{
  display:flex;align-items:center;gap:0.7rem;
  font-size:0.82rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;
  color:#fff;border:2px solid rgba(255,255,255,.4);
  padding:1.05rem 2rem;text-decoration:none;transition:all .25s;
}
.btn-blanc-outline:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.btn-blanc{
  display:flex;align-items:center;gap:0.7rem;font-size:0.8rem;font-weight:600;
  letter-spacing:0.1em;text-transform:uppercase;color:#fff;
  border:2px solid rgba(255,255,255,.35);padding:.95rem 1.8rem;
  text-decoration:none;transition:all .25s;
}
.btn-blanc:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.btn-outline-bleu{
  display:flex;align-items:center;gap:0.6rem;
  font-size:0.78rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--bleu);border:2px solid var(--bleu);
  padding:.9rem 1.8rem;text-decoration:none;transition:all .25s;background:transparent;
}
.btn-outline-bleu:hover{background:var(--bleu);color:#fff;}

/* ══════════════════════════════════════
   PAGE HERO (bandeau bleu en tete des pages internes :
   A propos, Services, Realisations, Contact, archives, single)
   ══════════════════════════════════════ */
.page-hero{padding-top:80px;background:var(--bleu);position:relative;overflow:hidden;}
.page-hero::before{
  content:'';position:absolute;top:50%;transform:translateY(-50%);right:-40px;
  width:320px;height:410px;
  background-image:url('../img/deco-forme-1-white-mirror.svg');
  background-size:contain;background-repeat:no-repeat;
  opacity:0.28;pointer-events:none;
}
.page-hero-inner{
  padding:4rem 3.5rem 3.5rem;
  display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap;
  position:relative;z-index:1;
}
.page-hero-eyebrow{
  font-size:0.65rem;font-weight:700;letter-spacing:0.3em;text-transform:uppercase;
  color:var(--jaune);display:flex;align-items:center;gap:0.7rem;margin-bottom:1rem;
}
.page-hero-eyebrow::before{content:'';width:1.5rem;height:1px;background:var(--jaune);}
.page-hero h1{font-family:'Raleway',sans-serif;font-size:clamp(2.2rem,4vw,3.5rem);font-weight:700;color:#fff;line-height:1.1;margin-bottom:0.8rem;}
.page-hero h1 span{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;color:var(--jaune);}
.page-hero-desc{font-size:0.88rem;color:rgba(255,255,255,.65);font-weight:300;max-width:500px;line-height:1.7;}
.page-hero-stats{display:flex;gap:1.5rem;flex-shrink:0;align-items:center;flex-wrap:wrap;}
.ph-stat{text-align:center;padding:1rem 1.5rem;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05);}
.ph-stat-num{font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:600;color:var(--jaune);line-height:1;margin-bottom:0.3rem;}
.ph-stat-label{font-size:0.62rem;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:rgba(255,255,255,.5);}
.page-hero-wave{display:block;width:100%;height:48px;fill:#fff;vertical-align:bottom;position:relative;z-index:1;}

/* ══════════════════════════════════════
   CTA DEVIS (bandeau bleu de conversion, reutilise sur
   plusieurs pages : accueil, realisations...)
   ══════════════════════════════════════ */
.cta-devis{background:var(--bleu);padding:7rem 4rem;text-align:center;position:relative;overflow:hidden;}
.cta-devis::before{content:'';position:absolute;right:-40px;top:50%;transform:translateY(-50%);width:280px;height:360px;background-image:url('../img/deco-forme-1-white-mirror.svg');background-size:contain;background-repeat:no-repeat;opacity:0.28;pointer-events:none;}
.cta-devis::after{content:'';position:absolute;left:-40px;top:50%;transform:translateY(-50%);width:280px;height:360px;background-image:url('../img/deco-forme-1-white.svg');background-size:contain;background-repeat:no-repeat;opacity:0.28;pointer-events:none;}
.cta-devis .section-eyebrow{color:rgba(255,255,255,.45);}
.cta-devis .section-eyebrow::before,.cta-devis .section-eyebrow::after{background:rgba(255,255,255,.2);}
.cta-devis h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.4rem,5vw,4.2rem);font-weight:400;font-style:italic;
  color:#fff;line-height:1.05;max-width:680px;margin:0 auto 1rem;position:relative;z-index:1;
}
.cta-devis .sub{font-size:0.9rem;color:rgba(255,255,255,.58);margin-bottom:3rem;position:relative;z-index:1;}
.cta-btns{display:flex;align-items:center;justify-content:center;gap:1.2rem;flex-wrap:wrap;margin-bottom:3.5rem;position:relative;z-index:1;}
.contact-strip{
  display:flex;align-items:center;justify-content:center;gap:3rem;flex-wrap:wrap;
  padding-top:2.5rem;border-top:1px solid rgba(255,255,255,.12);position:relative;z-index:1;
}
.c-item{display:flex;align-items:center;gap:0.7rem;font-size:0.8rem;color:rgba(255,255,255,.52);}
.c-item svg{width:16px;height:16px;stroke:var(--jaune);fill:none;stroke-width:2;flex-shrink:0;}
.c-item strong{color:#fff;font-weight:600;}

/* ══════════════════════════════════════
   FOOTER
   ══════════════════════════════════════ */
footer{background:#0f1525;padding:2.5rem 4rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;}
.footer-logo img{height:64px;opacity:.75;filter:brightness(0) invert(1);}
footer nav{display:flex;gap:2rem;}
footer nav a{font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,.35);text-decoration:none;font-weight:500;transition:color .2s;}
footer nav a:hover{color:rgba(255,255,255,.75);}
.footer-copy{font-size:0.68rem;letter-spacing:0.08em;color:rgba(255,255,255,.22);text-transform:uppercase;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;}
.footer-legal-links{display:flex;gap:1rem;}
.footer-legal-links a{color:rgba(255,255,255,.22);text-decoration:none;font-size:0.68rem;letter-spacing:0.08em;text-transform:uppercase;transition:color .2s;}
.footer-legal-links a:hover{color:rgba(255,255,255,.55);}

.footer-agency{
  background:#080e1c;padding:0.7rem 4rem;
  display:flex;align-items:center;justify-content:center;gap:0.6rem;
}
.footer-agency span{font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,.25);}
.footer-agency img{height:18px;width:auto;opacity:.4;filter:brightness(0) invert(1);transition:opacity .2s;}
.footer-agency a:hover img{opacity:.7;}

/* ════════════════════════════════════════════════════
   PAGES LEGALES — page.php
   ════════════════════════════════════════════════════ */
.page-legal{background:#fff;padding:5rem 4rem 7rem;}
.page-legal-inner{max-width:860px;margin:0 auto;}
.page-legal-inner h2{font-family:'Raleway',sans-serif;font-size:1.1rem;font-weight:700;color:var(--bleu);margin:2.5rem 0 0.8rem;text-transform:uppercase;letter-spacing:0.05em;}
.page-legal-inner h3{font-size:0.95rem;font-weight:600;color:var(--bleu);margin:1.8rem 0 0.6rem;}
.page-legal-inner p{font-size:0.88rem;color:var(--texte-2);line-height:1.85;margin-bottom:1rem;font-weight:300;}
.page-legal-inner ul{margin:0.5rem 0 1rem 1.2rem;}
.page-legal-inner li{font-size:0.88rem;color:var(--texte-2);line-height:1.8;font-weight:300;}
.page-legal-inner a{color:var(--bleu);text-decoration:underline;}
.page-legal-inner strong{font-weight:600;color:var(--texte);}

/* ════════════════════════════════════════════════════
   ACCUEIL — front-page.php
   ════════════════════════════════════════════════════ */
/* BLOC 1 — AUDIENCES */
.audiences{display:grid;grid-template-columns:1fr 1fr;position:relative;}
.audiences::after{
  content:'';position:absolute;top:0;bottom:0;left:50%;
  width:1px;background:rgba(255,255,255,.12);pointer-events:none;z-index:2;
}
.audience{
  position:relative;overflow:hidden;cursor:pointer;
  padding:4rem;display:flex;flex-direction:column;justify-content:space-between;
  min-height:400px;
}
.audience-particulier{background:var(--bleu);}
.audience-professionnel{background:var(--bleu-fonce);}
.audience::before{
  content:'';position:absolute;pointer-events:none;
  width:220px;height:220px;
  background-image:radial-gradient(circle,rgba(255,255,255,.07) 1.5px,transparent 1.5px);
  background-size:18px 18px;
}
.audience-particulier::before{bottom:-40px;right:-40px;}
.audience-professionnel::before{top:-40px;left:-40px;}
.audience-tag{
  display:inline-flex;align-items:center;gap:0.6rem;
  font-size:0.62rem;font-weight:700;letter-spacing:0.28em;text-transform:uppercase;
  color:var(--jaune);margin-bottom:1.2rem;
}
.audience-tag::before{content:'';width:1.2rem;height:1px;background:var(--jaune);}
.audience-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.8rem,2.8vw,2.8rem);font-weight:400;font-style:italic;
  color:#fff;line-height:1.15;margin-bottom:0.8rem;
}
.audience-subtitle{font-size:0.78rem;font-weight:400;color:rgba(255,255,255,.45);letter-spacing:0.06em;margin-bottom:1.5rem;}
.audience-services{display:flex;flex-wrap:wrap;gap:0.4rem;margin-bottom:2rem;}
.aud-tag{
  font-size:0.6rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);
  color:rgba(255,255,255,.78);padding:0.22rem 0.55rem;
}
.audience-cta{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.15);
  cursor:pointer;
}
.audience-cta-label{font-size:0.78rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:#fff;}
.audience-cta-icon{
  width:36px;height:36px;background:var(--jaune);
  display:flex;align-items:center;justify-content:center;
  transition:transform .35s;flex-shrink:0;
}
.audience-cta-icon svg{width:16px;height:16px;stroke:var(--bleu);fill:none;stroke-width:2.5;}
.audience.open .audience-cta-icon{transform:rotate(45deg);}
.audience-drawer{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.4,0,.2,1),opacity .3s;opacity:0;}
.audience.open .audience-drawer{max-height:600px;opacity:1;}
.audience-drawer-inner{padding-top:1.8rem;border-top:1px solid rgba(255,255,255,.1);margin-top:1.5rem;}
.drawer-intro{font-size:0.85rem;font-weight:300;color:rgba(255,255,255,.68);line-height:1.8;margin-bottom:1.4rem;}
.drawer-list{display:flex;flex-direction:column;gap:0.55rem;margin-bottom:1.6rem;}
.drawer-item{display:flex;align-items:flex-start;gap:0.8rem;font-size:0.82rem;font-weight:400;color:rgba(255,255,255,.72);line-height:1.5;}
.drawer-item::before{content:'→';color:var(--jaune);font-size:0.75rem;flex-shrink:0;margin-top:2px;}
.drawer-btn{
  display:inline-flex;align-items:center;gap:0.6rem;
  font-size:0.75rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--bleu);background:var(--jaune);
  padding:0.85rem 1.6rem;text-decoration:none;transition:all .25s;
}
.drawer-btn:hover{background:var(--jaune-pale);}

/* BLOC 2 — EXPERTISES */
.expertises{padding:7rem 4rem;background:var(--gris-bg);}
.section-header{text-align:center;margin-bottom:4rem;}
.section-eyebrow{
  font-size:0.63rem;font-weight:700;letter-spacing:0.3em;text-transform:uppercase;
  color:var(--jaune);display:flex;align-items:center;justify-content:center;
  gap:0.7rem;margin-bottom:0.8rem;
}
.section-eyebrow::before,.section-eyebrow::after{content:'';width:1.5rem;height:1px;background:var(--jaune);}
.section-title{font-family:'Raleway',sans-serif;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;color:var(--bleu);}
.section-sub{font-size:0.88rem;color:var(--texte-2);font-weight:300;margin-top:0.6rem;}
.exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.exp-card{
  background:#fff;padding:2.2rem 2rem;
  border-top:3px solid transparent;
  transition:border-color .25s,transform .25s,box-shadow .25s;
}
.exp-card:hover{border-top-color:var(--jaune);transform:translateY(-4px);box-shadow:0 16px 40px rgba(34,60,119,.1);}
.exp-icon{width:46px;height:46px;background:rgba(34,60,119,.06);display:flex;align-items:center;justify-content:center;margin-bottom:1.3rem;transition:background .25s;}
.exp-card:hover .exp-icon{background:rgba(240,179,52,.14);}
.exp-icon svg{width:26px;height:26px;stroke:var(--bleu);fill:none;stroke-width:1.8;}
.exp-name{font-size:0.9rem;font-weight:700;color:var(--bleu);margin-bottom:0.5rem;}
.exp-desc{font-size:0.8rem;font-weight:300;color:var(--texte-2);line-height:1.7;margin-bottom:0;}

/* BLOC 3 — REALISATIONS */
.realisations-teaser{padding:7rem 4rem;background:#fff;}
.teaser-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;gap:12px;margin:3rem 0 2.5rem;}
.teaser-card.span-v{grid-row:span 2;}
.teaser-card{
  position:relative;overflow:hidden;cursor:pointer;border-radius:2px;text-decoration:none;
  transition:transform .3s,box-shadow .3s;
}
.teaser-card:hover{transform:translateY(-4px);box-shadow:0 20px 48px rgba(34,60,119,.16);}
.teaser-card::before{
  content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(to top,rgba(10,18,45,.9) 0%,rgba(10,18,45,.05) 55%,transparent 100%);
  transition:background .3s;
}
.teaser-card:hover::before{background:linear-gradient(to top,rgba(10,18,45,.96) 0%,rgba(10,18,45,.25) 100%);}
.tc-1{background:linear-gradient(145deg,#1c2e4a,#2a4a6e 50%,#1a3050);}
.tc-2{background:linear-gradient(145deg,#1e2e1a,#2e4a20 50%,#1a3010);}
.tc-3{background:linear-gradient(145deg,#1a1e30,#2a2e50 50%,#14182a);}
.tc-4{background:linear-gradient(145deg,#2e2010,#4a3414 50%,#3a2810);}
.tc-svg{position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;opacity:0.12;}
.tc-svg svg{width:52%;height:52%;}
.teaser-card-inner{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:1.4rem;}
.tc-cat{font-size:0.6rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--jaune);margin-bottom:0.3rem;}
.tc-title{font-size:0.98rem;font-weight:700;color:#fff;line-height:1.25;}
.tc-arrow{
  display:inline-flex;width:28px;height:28px;background:var(--jaune);
  align-items:center;justify-content:center;color:var(--bleu);font-size:.85rem;font-weight:700;
  margin-top:0.6rem;opacity:0;transform:translateY(4px);transition:all .3s;
}
.teaser-card:hover .tc-arrow{opacity:1;transform:translateY(0);}
.teaser-cta{text-align:center;}

/* ════════════════════════════════════════════════════
   A PROPOS — page-apropos.php
   ════════════════════════════════════════════════════ */
/* Histoire */
.histoire{padding:6rem 4rem;background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.histoire-text p{font-size:0.9rem;font-weight:300;color:var(--texte-2);line-height:1.9;margin-bottom:1.4rem;}
.histoire-text p strong{color:var(--bleu);font-weight:700;}

.histoire-visual{
  position:relative;background-color:var(--bleu);min-height:380px;
  background-size:cover;background-position:center;background-repeat:no-repeat;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.histoire-visual::before{
  content:'';position:absolute;inset:0;z-index:0;
  background-image:radial-gradient(circle,rgba(255,255,255,.1) 1.5px,transparent 1.5px);
  background-size:20px 20px;
}
.histoire-visual svg{width:55%;height:55%;opacity:.16;position:relative;z-index:1;}
.histoire-badge{
  position:absolute;bottom:1.5rem;left:1.5rem;z-index:2;
  font-size:0.62rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--jaune);background:rgba(10,18,45,.5);padding:0.4rem 0.9rem;
}

/* Fusion timeline */
.fusion-timeline{padding:6rem 4rem;background:var(--gris-bg);}
.timeline-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;align-items:center;margin-top:3rem;}
.timeline-card{background:#fff;padding:2.5rem;text-align:center;box-shadow:0 8px 32px rgba(34,60,119,.06);}
.timeline-card-name{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-style:italic;color:var(--bleu);margin-bottom:0.8rem;}
.timeline-card-desc{font-size:0.82rem;color:var(--texte-2);font-weight:300;line-height:1.7;}
.timeline-plus{
  width:56px;height:56px;background:var(--jaune);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1.6rem;font-weight:300;color:var(--bleu);flex-shrink:0;
}
.timeline-result{
  margin-top:2.5rem;text-align:center;padding:2rem;
  background:var(--bleu);position:relative;overflow:hidden;
}
.timeline-result-text{
  font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-style:italic;font-weight:400;
  color:#fff;position:relative;z-index:1;
}
.timeline-result-text strong{color:var(--jaune);font-style:normal;}

/* Valeurs */
.valeurs{padding:6rem 4rem;background:#fff;}
.valeurs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3rem;}
.valeur-card{text-align:center;padding:2rem 1.5rem;}
.valeur-icon{
  width:64px;height:64px;border-radius:50%;
  background:rgba(34,60,119,.06);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 1.3rem;transition:background .25s,transform .25s;
}
.valeur-card:hover .valeur-icon{background:rgba(240,179,52,.16);transform:scale(1.06);}
.valeur-icon svg{width:30px;height:30px;stroke:var(--bleu);fill:none;stroke-width:1.6;}
.valeur-name{font-size:0.92rem;font-weight:700;color:var(--bleu);margin-bottom:0.6rem;}
.valeur-desc{font-size:0.78rem;font-weight:300;color:var(--texte-2);line-height:1.6;}

/* Atelier / Equipe */
.atelier-equipe{padding:6rem 4rem;background:var(--bleu);position:relative;overflow:hidden;}
.atelier-equipe::before{content:'';position:absolute;right:-60px;top:50%;transform:translateY(-50%);width:300px;height:385px;background-image:url('../img/deco-forme-1-white-mirror.svg');background-size:contain;background-repeat:no-repeat;opacity:0.28;pointer-events:none;}
.ae-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:5rem;align-items:center;position:relative;z-index:1;}
.ae-left .section-eyebrow{justify-content:flex-start;}
.ae-left .section-eyebrow::after{display:none;}
.ae-left h2{
  font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.4vw,3rem);
  font-weight:400;font-style:italic;color:#fff;line-height:1.15;margin-bottom:1.4rem;
}
.ae-left p{font-size:0.88rem;font-weight:300;color:rgba(255,255,255,.65);line-height:1.85;margin-bottom:1.2rem;}
.ae-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.1);margin-top:2rem;}
.ae-stat{background:var(--bleu);padding:1.4rem 1rem;text-align:center;}
.ae-stat-num{font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:600;color:var(--jaune);line-height:1;}
.ae-stat-label{font-size:0.6rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:0.3rem;}

.ae-right{
  background-color:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);
  background-size:cover;background-position:center;background-repeat:no-repeat;
  min-height:380px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;
}
.ae-right::before{content:'';position:absolute;inset:0;z-index:0;background-image:radial-gradient(circle,rgba(240,179,52,.15) 1.5px,transparent 1.5px);background-size:18px 18px;}

/* Zone intervention */
.zone{padding:6rem 4rem;background:var(--gris-bg);}
.zone-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;margin-top:3rem;}
.zone-map{
  background:#fff;min-height:340px;position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 32px rgba(34,60,119,.08);
}
.zone-map svg{width:75%;height:75%;}
.zone-list{display:flex;flex-direction:column;gap:1.2rem;}
.zone-item{display:flex;align-items:flex-start;gap:1rem;padding:1.2rem 1.5rem;background:#fff;border-left:3px solid var(--jaune);}
.zone-item-icon{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.zone-item-icon svg{width:22px;height:22px;stroke:var(--bleu);fill:none;stroke-width:1.8;}
.zone-item-title{font-size:0.85rem;font-weight:700;color:var(--bleu);margin-bottom:0.3rem;}
.zone-item-desc{font-size:0.78rem;font-weight:300;color:var(--texte-2);line-height:1.6;}


/* ════════════════════════════════════════════════════
   SERVICES — page-services.php
   ════════════════════════════════════════════════════ */
.services-intro{padding:5rem 4rem 2rem;background:#fff;text-align:center;}
.services-intro p{max-width:700px;margin:0 auto;font-size:0.9rem;color:var(--texte-2);font-weight:300;line-height:1.85;}
/* Liste services en accordeon simple (non-tiroir, juste alterne) */
.services-list{padding:3rem 4rem 6rem;background:#fff;}

.svc-block{
  display:grid;grid-template-columns:1fr 1fr;
  gap:4rem;align-items:center;
  padding:4rem 0;
  border-bottom:1px solid rgba(34,60,119,.08);
}
.svc-block:first-child{padding-top:1rem;}
.svc-block:last-child{border-bottom:none;}
.svc-block.reverse{direction:rtl;}
.svc-block.reverse > *{direction:ltr;}

.svc-visual{
  position:relative;min-height:320px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.svc-visual svg{width:62%;height:62%;opacity:.9;position:relative;z-index:1;}
.sv-1{background:linear-gradient(150deg,#1c2e4a,#2a4a6e 50%,#1a3050);}
.sv-2{background:linear-gradient(150deg,#0f2030,#1e3a50 60%,#152840);}
.sv-3{background:linear-gradient(150deg,#1a1e30,#2a2e50 50%,#14182a);}
.sv-4{background:linear-gradient(150deg,#2e2010,#4a3414 50%,#3a2810);}
.sv-5{background:linear-gradient(150deg,#1e2018,#303218 50%,#181a10);}
.sv-6{background:linear-gradient(150deg,#201820,#382030 50%,#181018);}
.sv-7{background:linear-gradient(150deg,#1e1a10,#342c0a 50%,#181408);}
.svc-visual-badge{
  position:absolute;top:1.3rem;left:1.3rem;z-index:2;
  font-size:0.6rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--bleu);background:var(--jaune);padding:0.3rem 0.8rem;
}

.svc-content-num{
  font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:400;
  color:var(--jaune);letter-spacing:0.1em;margin-bottom:0.6rem;
}
.svc-content h3{
  font-family:'Cormorant Garamond',serif;font-size:clamp(1.7rem,2.6vw,2.4rem);
  font-weight:400;font-style:italic;color:var(--bleu);margin-bottom:1.1rem;line-height:1.2;
}
.svc-content p{font-size:0.86rem;color:var(--texte-2);font-weight:300;line-height:1.85;margin-bottom:1.3rem;}
.svc-list{display:flex;flex-direction:column;gap:0.55rem;margin-bottom:1.5rem;}
.svc-list-item{display:flex;align-items:flex-start;gap:0.7rem;font-size:0.82rem;color:var(--texte-2);font-weight:400;line-height:1.5;}
.svc-list-item::before{content:'';width:6px;height:6px;background:var(--jaune);border-radius:50%;flex-shrink:0;margin-top:6px;}

/* Process recap */
.process-recap{padding:6rem 4rem;background:var(--bleu);position:relative;overflow:hidden;}
.process-recap::before{content:'';position:absolute;right:-60px;top:50%;transform:translateY(-50%);width:140px;height:428px;background-image:url('../img/deco-forme-2-white-mirror.svg');background-size:contain;background-repeat:no-repeat;opacity:0.28;pointer-events:none;}
.process-recap .section-eyebrow{color:rgba(255,255,255,.45);}
.process-recap .section-eyebrow::before,.process-recap .section-eyebrow::after{background:rgba(255,255,255,.2);}
.process-recap .section-title{color:#fff;}
.process-recap .section-sub{color:rgba(255,255,255,.5);}
.process-steps{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  margin-top:3.5rem;position:relative;
}
.process-steps::before{content:'';position:absolute;top:24px;left:24px;right:24px;height:1px;background:rgba(255,255,255,.12);z-index:0;}
.p-step{position:relative;z-index:1;padding-right:1.5rem;}
.p-dot{
  width:48px;height:48px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.05);
  display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;transition:all .3s;
}
.p-step:hover .p-dot{border-color:var(--jaune);background:rgba(240,179,52,.12);}
.p-dot-num{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:400;color:var(--jaune);}
.p-title{font-size:0.82rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:#fff;margin-bottom:0.5rem;}
.p-text{font-size:0.78rem;font-weight:300;color:rgba(255,255,255,.5);line-height:1.65;}


/* ════════════════════════════════════════════════════
   REALISATIONS — page-realisations.php / archive-realisation.php
   template-parts/familles-accordeon.php
   ════════════════════════════════════════════════════ */
/* ══════════════════════════════════════
   ACCORDÉON / TIROIRS
══════════════════════════════════════ */
.familles{padding:4rem 0 6rem;}

/* ── En-tête de famille (le tiroir) ── */
.famille{
  border-bottom:1px solid rgba(34,60,119,.1);
}
.famille:first-child{border-top:1px solid rgba(34,60,119,.1);}

.famille-header{
  display:flex;align-items:center;
  padding:0 3.5rem;
  height:88px;
  cursor:pointer;
  background:#fff;
  transition:background .2s;
  user-select:none;
  gap:2rem;
  position:relative;
}
.famille-header:hover{background:rgba(34,60,119,.02);}
.famille.open .famille-header{background:var(--bleu);}

/* Numéro */
.famille-num{
  font-family:'Cormorant Garamond',serif;
  font-size:2.2rem;font-weight:400;
  color:rgba(34,60,119,.15);
  line-height:1;flex-shrink:0;
  width:3rem;
  transition:color .3s;
}
.famille.open .famille-num{color:rgba(255,255,255,.25);}

/* Icone SVG catégorie */
.famille-icon{
  width:40px;height:40px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}
.famille-icon svg{width:28px;height:28px;stroke:var(--bleu);fill:none;stroke-width:1.8;transition:stroke .3s;}
.famille.open .famille-icon svg{stroke:rgba(255,255,255,.8);}

/* Texte */
.famille-info{flex:1;}
.famille-name{
  font-family:'Raleway',sans-serif;
  font-size:1.05rem;font-weight:700;letter-spacing:0.04em;
  color:var(--bleu);transition:color .3s;
  margin-bottom:0.15rem;
}
.famille.open .famille-name{color:#fff;}
.famille-desc-short{
  font-size:0.78rem;font-weight:300;
  color:var(--gris-clair);transition:color .3s;
}
.famille.open .famille-desc-short{color:rgba(255,255,255,.55);}

/* Compteur projets */
.famille-count{
  font-family:'Cormorant Garamond',serif;
  font-size:1.1rem;font-weight:400;
  color:var(--gris-clair);
  flex-shrink:0;
  transition:color .3s;
}
.famille-count em{font-style:normal;font-size:1.6rem;color:var(--bleu);transition:color .3s;}
.famille.open .famille-count{color:rgba(255,255,255,.5);}
.famille.open .famille-count em{color:var(--jaune);}

/* Flèche */
.famille-arrow{
  width:36px;height:36px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(34,60,119,.2);
  transition:all .35s;
}
.famille.open .famille-arrow{background:var(--jaune);border-color:var(--jaune);transform:rotate(180deg);}
.famille-arrow svg{width:16px;height:16px;stroke:var(--bleu);fill:none;stroke-width:2;transition:stroke .3s;}
.famille.open .famille-arrow svg{stroke:var(--bleu);}

/* ── Contenu du tiroir ── */
.famille-body{
  max-height:0;
  overflow:hidden;
  transition:max-height .55s cubic-bezier(0.4,0,0.2,1);
  background:var(--gris-bg);
}
.famille.open .famille-body{max-height:1200px;}

.famille-body-inner{
  padding:2.5rem 3.5rem 3rem;
}

/* Description complète */
.famille-full-desc{
  font-size:0.85rem;font-weight:300;color:var(--texte-2);
  line-height:1.8;max-width:680px;
  margin-bottom:2rem;
  padding-bottom:2rem;
  border-bottom:1px solid rgba(34,60,119,.08);
}

/* Grille projets dans le tiroir
   3 colonnes par defaut (1 favorite "tall" + 4 succinctes = 5 cartes
   sur une disposition 3 x 2). Si la famille contient moins de
   projets, on reduit le nombre de colonnes pour eviter les trous. */
.famille-grid{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:flex-start;
}
.famille-grid .proj-card{
  width:400px;
  height:300px;
  flex-shrink:0;
  flex-grow:0;
}

/* Bouton "voir d'autres projets similaires" -> archive de la famille */
.famille-voir-plus{
  display:flex;align-items:center;justify-content:center;gap:0.6rem;
  margin-top:1.4rem;
  font-size:0.78rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--bleu);text-decoration:none;
  padding:0.9rem 1.6rem;border:2px solid var(--bleu);
  transition:all .25s;
}
.famille-voir-plus:hover{background:var(--bleu);color:#fff;}

/* Grille complete (taxonomy-famille_realisation.php) */
.famille-grid-archive{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  padding:0 3.5rem 5rem;
}

/* Carte projet — hauteur identique pour toutes */
.proj-card{
  position:relative;overflow:hidden;
  cursor:pointer;border-radius:3px;
  height:260px;
  background:var(--bleu);
}

.proj-card-bg{
  position:absolute;inset:0;
  transition:transform .5s ease;
  filter:saturate(0.35) contrast(1.05);
}
.proj-card:hover .proj-card-bg{transform:scale(1.07);filter:saturate(0.55) contrast(1.05);}

/* bg colors same as before */
.gc-serrurerie  {background:linear-gradient(150deg,#1c2e4a,#2a4a6e 50%,#1a3050);}
.gc-serrurerie-2{background:linear-gradient(150deg,#0f2030,#1e3a50 60%,#152840);}
.gc-chassis     {background:linear-gradient(150deg,#1e2e1a,#2e4a20 50%,#1a3010);}
.gc-chassis-2   {background:linear-gradient(150deg,#1a2818,#243c1a 60%,#182410);}
.gc-escalier    {background:linear-gradient(150deg,#1a1e30,#2a2e50 50%,#14182a);}
.gc-escalier-2  {background:linear-gradient(150deg,#0e1228,#1a1e3e 60%,#0c1020);}
.gc-charpente   {background:linear-gradient(150deg,#2e2010,#4a3414 50%,#3a2810);}
.gc-charpente-2 {background:linear-gradient(150deg,#281808,#402810 60%,#301808);}
.gc-mobilier    {background:linear-gradient(150deg,#1e2018,#303218 50%,#181a10);}
.gc-rideau      {background:linear-gradient(150deg,#201820,#382030 50%,#181018);}
.gc-mh          {background:linear-gradient(150deg,#1e1a10,#342c0a 50%,#181408);}

.proj-drawing{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  opacity:0.14;pointer-events:none;
}
.proj-drawing svg{width:55%;height:55%;}

.proj-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(10,18,45,.95) 0%,rgba(10,18,45,.5) 40%,rgba(10,18,45,.0) 70%,transparent 100%);
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:1.2rem;transition:background .3s;
}
.proj-card:hover .proj-overlay{
  background:linear-gradient(to top,rgba(10,18,45,.98) 0%,rgba(10,18,45,.4) 100%);
}
.proj-cat{font-size:0.6rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--jaune);margin-bottom:0.25rem;}
.proj-title{font-size:0.92rem;font-weight:700;color:#fff;line-height:1.25;margin-bottom:0.4rem;}
.proj-meta{font-size:0.72rem;color:rgba(255,255,255,.5);max-height:0;overflow:hidden;transition:max-height .3s;}
.proj-card:hover .proj-meta{max-height:40px;}
.proj-footer{display:flex;align-items:center;justify-content:space-between;margin-top:0.5rem;}
.proj-tags{display:flex;gap:0.35rem;flex-wrap:wrap;}
.proj-tag{
  font-size:0.56rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.75);padding:0.16rem 0.44rem;
}
.proj-cta{
  width:28px;height:28px;background:var(--jaune);
  display:flex;align-items:center;justify-content:center;
  color:var(--bleu);font-size:.85rem;font-weight:700;
  opacity:0;transform:translateY(5px);transition:all .3s;flex-shrink:0;
}
.proj-card:hover .proj-cta{opacity:1;transform:translateY(0);}


/* ════════════════════════════════════════════════════
   SINGLE REALISATION — single-realisation.php
   Repris du panneau lightbox du gabarit Realisations
   (specs-grid, matieres...), adapte en page complete plutot
   qu'en modale.
   ════════════════════════════════════════════════════ */
.single-real-main{
  padding:4rem 3.5rem 6rem;
  display:grid;grid-template-columns:1.4fr 1fr;gap:3.5rem;
  align-items:start;
}
.single-real-gallery{display:flex;flex-direction:column;gap:0.8rem;}
.single-real-photo-main{
  position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--gris-bg);
}
.single-real-photo-main img{width:100%;height:100%;object-fit:cover;display:block;}
.single-real-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:0.6rem;}
.single-real-thumb{aspect-ratio:1;overflow:hidden;cursor:pointer;opacity:.7;transition:opacity .2s;background:var(--gris-bg);}
.single-real-thumb:hover,.single-real-thumb.active{opacity:1;}
.single-real-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.single-real-content{position:sticky;top:6.5rem;}
.lb-eyebrow{
  font-size:0.65rem;font-weight:700;letter-spacing:0.25em;text-transform:uppercase;
  color:var(--jaune);margin-bottom:0.6rem;display:flex;align-items:center;gap:0.6rem;
}
.lb-eyebrow::before{content:'';width:1.5rem;height:1px;background:var(--jaune);}
.lb-title{font-family:'Raleway',sans-serif;font-size:1.9rem;font-weight:700;color:var(--bleu);line-height:1.2;margin-bottom:0.9rem;}
.lb-desc{font-size:0.9rem;color:var(--texte-2);line-height:1.8;margin-bottom:1.6rem;}
.lb-specs{border-top:1px solid rgba(34,60,119,.1);padding-top:1.3rem;margin-bottom:1.3rem;}
.lb-specs-ttl{font-size:0.62rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--gris);margin-bottom:0.7rem;}
.specs-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;}
.spec-item{display:flex;flex-direction:column;gap:0.12rem;}
.spec-label{font-size:0.58rem;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:var(--gris-clair);}
.spec-value{font-size:0.85rem;font-weight:600;color:var(--texte);}
.lb-matieres{display:flex;gap:0.45rem;flex-wrap:wrap;margin-bottom:1.6rem;}
.lb-mat-tag{
  font-size:0.65rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;
  background:rgba(34,60,119,.07);border:1px solid rgba(34,60,119,.15);
  color:var(--bleu);padding:0.26rem 0.62rem;
}
.lb-actions{display:flex;gap:0.8rem;flex-wrap:wrap;}
.btn-lb{
  display:flex;align-items:center;gap:0.6rem;font-size:0.75rem;font-weight:700;
  letter-spacing:0.12em;text-transform:uppercase;color:#fff;background:var(--bleu);
  padding:0.85rem 1.6rem;text-decoration:none;transition:background .25s;
}
.btn-lb:hover{background:var(--bleu-clair);}
@media (max-width:900px){
  .single-real-main{grid-template-columns:1fr;}
  .single-real-content{position:static;}
}

/* ════════════════════════════════════════════════════
   CONTACT — page-contact.php
   ════════════════════════════════════════════════════ */
.contact-main{
  padding:5rem 4rem 6rem;
  background:#fff;
  display:grid;grid-template-columns:1.3fr 1fr;
  gap:4rem;
  align-items:start;
}

/* ── FORMULAIRE ── */
.form-card{
  background:#fff;
}
.form-eyebrow{
  font-size:0.63rem;font-weight:700;letter-spacing:0.3em;text-transform:uppercase;
  color:var(--jaune);display:flex;align-items:center;gap:0.7rem;margin-bottom:0.8rem;
}
.form-eyebrow::before{content:'';width:1.5rem;height:1px;background:var(--jaune);}
.form-title{
  font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3vw,2.6rem);
  font-weight:400;font-style:italic;color:var(--bleu);margin-bottom:0.8rem;line-height:1.15;
}
.form-sub{font-size:0.86rem;color:var(--texte-2);font-weight:300;margin-bottom:2.5rem;line-height:1.7;}

.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-bottom:1.2rem;}
.form-group{display:flex;flex-direction:column;gap:0.5rem;}
.form-group.full{grid-column:1/-1;}
.form-label{
  font-size:0.68rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--bleu);
}
.form-label .opt{color:var(--gris-clair);font-weight:400;text-transform:none;letter-spacing:0;margin-left:0.3rem;}
.form-input,.form-select,.form-textarea{
  font-family:'Raleway',sans-serif;font-size:0.88rem;font-weight:400;color:var(--texte);
  background:var(--gris-bg);border:1px solid transparent;
  padding:0.85rem 1rem;outline:none;transition:border-color .2s,background .2s;
  width:100%;
}
.form-input:focus,.form-select:focus,.form-textarea:focus{
  border-color:var(--bleu);background:#fff;
}
.form-textarea{resize:vertical;min-height:120px;font-family:'Raleway',sans-serif;}
.form-select{cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpolyline points='3,5 8,11 13,5' fill='none' stroke='%23223c77' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1rem center;background-size:12px;
}

/* Upload zone */
.upload-zone{
  display:block;
  border:2px dashed rgba(34,60,119,.2);background:var(--gris-bg);
  padding:1.8rem;text-align:center;cursor:pointer;
  transition:border-color .2s,background .2s;
}
.upload-zone:hover{border-color:var(--jaune);background:rgba(240,179,52,.05);}
.upload-icon{
  width:40px;height:40px;margin:0 auto 0.8rem;
  display:flex;align-items:center;justify-content:center;
}
.upload-icon svg{width:26px;height:26px;stroke:var(--bleu);fill:none;stroke-width:1.6;}
.upload-text{font-size:0.8rem;font-weight:600;color:var(--bleu);margin-bottom:0.3rem;}
.upload-sub{font-size:0.72rem;color:var(--gris-clair);font-weight:300;}

/* Masque l'input file natif de Contact Form 7 affiche par le champ [file]
   (visuellement remplace par .upload-zone ci-dessus, declenche au clic via
   assets/js/main.js : initCf7UploadZone). On ne fait pas display:none pour
   rester accessible au clavier/lecteurs d'ecran. */
.wpcf7-form-control.wpcf7-file,
.wpcf7-form input[type="file"]{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* RGPD */
.form-rgpd{
  display:flex;align-items:flex-start;gap:0.7rem;
  margin-top:1.6rem;margin-bottom:1.8rem;
}
.form-rgpd input{margin-top:3px;accent-color:var(--bleu);flex-shrink:0;cursor:pointer;}
.form-rgpd label{font-size:0.74rem;color:var(--gris);font-weight:300;line-height:1.6;cursor:pointer;}

.form-submit{
  display:flex;align-items:center;gap:0.8rem;
  font-size:0.82rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--bleu);background:var(--jaune);
  padding:1.05rem 2.4rem;border:none;cursor:pointer;
  transition:all .25s;width:100%;justify-content:center;
}
.form-submit:hover{background:var(--jaune-pale);transform:translateY(-2px);box-shadow:0 8px 24px rgba(240,179,52,.35);}

.form-reassure{
  display:flex;align-items:center;gap:0.6rem;
  margin-top:1.2rem;justify-content:center;
  font-size:0.74rem;color:var(--gris-clair);font-weight:300;
}
.form-reassure svg{width:14px;height:14px;stroke:var(--jaune);fill:none;stroke-width:2;flex-shrink:0;}

/* ── SIDEBAR COORDONNEES ── */
.sidebar{display:flex;flex-direction:column;gap:1.2rem;}

.coord-card{
  background:var(--bleu);padding:2.4rem 2rem;
  position:relative;overflow:hidden;
}
.coord-card::before{
  content:'';position:absolute;right:-30px;top:50%;transform:translateY(-50%);
  width:120px;height:154px;
  background-image:url('../img/deco-forme-1-white-mirror.svg');
  background-size:contain;background-repeat:no-repeat;
  opacity:0.28;pointer-events:none;
}
.coord-eyebrow{
  font-size:0.6rem;font-weight:700;letter-spacing:0.25em;text-transform:uppercase;
  color:var(--jaune);margin-bottom:1.4rem;position:relative;z-index:1;
}
.coord-item{
  display:flex;align-items:flex-start;gap:1rem;
  margin-bottom:1.4rem;position:relative;z-index:1;
}
.coord-item:last-child{margin-bottom:0;}
.coord-icon{
  width:38px;height:38px;background:rgba(255,255,255,.1);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}
.coord-icon svg{width:18px;height:18px;stroke:var(--jaune);fill:none;stroke-width:1.8;}
.coord-label{font-size:0.62rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:0.25rem;}
.coord-value{font-size:0.9rem;font-weight:600;color:#fff;}
.coord-value a{color:#fff;text-decoration:none;}
.coord-value a:hover{color:var(--jaune);}
.coord-sub{font-size:0.74rem;color:rgba(255,255,255,.5);font-weight:300;margin-top:0.2rem;}

/* Horaires */
.horaires-card{background:var(--gris-bg);padding:2.2rem 2rem;}
.horaires-title{font-size:0.85rem;font-weight:700;color:var(--bleu);margin-bottom:1.2rem;}
.horaire-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:0.55rem 0;border-bottom:1px solid rgba(34,60,119,.07);
  font-size:0.8rem;
}
.horaire-row:last-child{border-bottom:none;}
.horaire-day{color:var(--texte-2);font-weight:500;}
.horaire-time{color:var(--bleu);font-weight:600;}
.horaire-closed{color:var(--gris-clair);font-style:italic;}

/* Carte / Plan */
.map-card{
  position:relative;min-height:280px;overflow:hidden;
  background:var(--gris-bg);
  display:flex;align-items:center;justify-content:center;
}
.map-card svg{width:85%;height:85%;}
.map-pin-label{
  position:absolute;bottom:1rem;left:1rem;z-index:2;
  font-size:0.62rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;
  color:var(--bleu);background:#fff;padding:0.4rem 0.8rem;
  box-shadow:0 4px 16px rgba(34,60,119,.12);
}

/* ── BLOC FINAL REASSURANCE ── */
.reassure-final{
  padding:6rem 4rem;background:var(--gris-bg);
}
.reassure-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3rem;}
.reassure-card{
  background:#fff;text-align:center;padding:2.2rem 1.6rem;
  transition:transform .25s,box-shadow .25s;
}
.reassure-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(34,60,119,.1);}
.reassure-icon{
  width:54px;height:54px;border-radius:50%;background:rgba(34,60,119,.06);
  display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem;
  transition:background .25s;
}
.reassure-card:hover .reassure-icon{background:rgba(240,179,52,.16);}
.reassure-icon svg{width:26px;height:26px;stroke:var(--bleu);fill:none;stroke-width:1.6;}
.reassure-title{font-size:0.86rem;font-weight:700;color:var(--bleu);margin-bottom:0.5rem;}
.reassure-desc{font-size:0.78rem;color:var(--texte-2);font-weight:300;line-height:1.6;}

/* ════════════════════════════════════════════════════
   FICHE REALISATION — single-realisation.php
   Page n'existant pas dans le gabarit HTML d'origine
   (elle remplace le lightbox JS de la maquette statique) ;
   construite dans le meme langage visuel que le reste du
   site (page-hero, cartes, tags matieres).
   ════════════════════════════════════════════════════ */
.real-single{padding:4rem 4rem 6rem;background:#fff;}
.real-fil-ariane{
  font-size:0.72rem;color:var(--gris-clair);margin-bottom:2rem;
}
.real-fil-ariane a{color:var(--bleu);text-decoration:none;}
.real-fil-ariane a:hover{text-decoration:underline;}
.real-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:3.5rem;align-items:start;}

/* Galerie principale + miniatures */
.real-gallery-main{
  width:100%;height:480px;background:var(--bleu);
  background-size:cover;background-position:center;
  margin-bottom:0.8rem;border-radius:2px;overflow:hidden;
}
.real-gallery-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:0.6rem;}
.real-gallery-thumb{
  height:72px;border-radius:2px;cursor:pointer;
  background-size:cover;background-position:center;
  border:2px solid transparent;transition:border-color .2s;
}
.real-gallery-thumb.active,
.real-gallery-thumb:hover{border-color:var(--jaune);}

/* En-tete projet */
.real-cat{
  font-size:0.65rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--jaune);background:var(--bleu);display:inline-block;
  padding:0.3rem 0.7rem;margin-bottom:1rem;
}
.real-title{
  font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;
  font-size:clamp(1.8rem,3vw,2.6rem);color:var(--bleu);line-height:1.15;margin-bottom:1rem;
}
.real-desc{font-size:0.9rem;color:var(--texte-2);font-weight:300;line-height:1.8;margin-bottom:2rem;}

/* Panneau lateral : specs + matieres */
.real-side-card{background:var(--gris-bg);padding:2rem;margin-bottom:1.5rem;}
.real-side-title{
  font-size:0.7rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--bleu);margin-bottom:1.2rem;
}
.real-specs-grid{display:flex;flex-direction:column;gap:0.9rem;}
.real-spec-item{
  display:flex;justify-content:space-between;gap:1rem;
  font-size:0.8rem;padding-bottom:0.7rem;border-bottom:1px solid rgba(34,60,119,.08);
}
.real-spec-label{color:var(--gris);font-weight:500;}
.real-spec-value{color:var(--bleu);font-weight:700;text-align:right;}
.real-matieres{display:flex;flex-wrap:wrap;gap:0.5rem;}
.real-mat-tag{
  font-size:0.65rem;font-weight:600;letter-spacing:0.06em;
  background:#fff;border:1px solid rgba(34,60,119,.15);color:var(--texte-2);
  padding:0.35rem 0.8rem;
}
.real-side-cta{display:flex;flex-direction:column;gap:0.8rem;}
.real-side-cta .btn-jaune,
.real-side-cta .btn-outline-bleu{justify-content:center;width:100%;}

@media (max-width:1000px){
  .real-layout{grid-template-columns:1fr;}
  .real-gallery-main{height:320px;}
}

@media (max-width:1000px){
  .contact-main{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
}


/* ════════════════════════════════════════════════════
   BANDEAU COOKIES
   ════════════════════════════════════════════════════ */
#am-cookie-banner{
  position:fixed;bottom:0;left:0;right:0;z-index:9999;
  background:#0f1525;border-top:2px solid rgba(240,179,52,.3);
  transform:translateY(100%);transition:transform .4s ease;
}
#am-cookie-banner.am-cookie-visible{transform:translateY(0);}
.am-cookie-inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:2rem;flex-wrap:wrap;
  padding:1.2rem 4rem;
  max-width:1600px;margin:0 auto;
}
.am-cookie-text{
  font-size:0.82rem;color:rgba(255,255,255,.65);font-weight:300;line-height:1.6;
  flex:1;min-width:260px;
}
.am-cookie-text strong{color:#fff;font-weight:600;}
.am-cookie-text a{color:var(--jaune);text-decoration:none;}
.am-cookie-text a:hover{text-decoration:underline;}
.am-cookie-actions{display:flex;gap:0.8rem;flex-shrink:0;}
.am-cookie-btn{
  font-size:0.72rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;
  padding:0.7rem 1.6rem;border:none;cursor:pointer;transition:all .2s;
}
.am-cookie-btn--accept{background:var(--jaune);color:var(--bleu);}
.am-cookie-btn--accept:hover{background:var(--jaune-pale);}
.am-cookie-btn--refuse{background:transparent;color:rgba(255,255,255,.45);border:1px solid rgba(255,255,255,.2);}
.am-cookie-btn--refuse:hover{color:#fff;border-color:rgba(255,255,255,.5);}

/* ════════════════════════════════════════════════════
   RESPONSIVE — Mobile & Tablette
   Breakpoints : 1024px (tablette large), 768px (tablette portrait), 480px (mobile)
   ════════════════════════════════════════════════════ */

/* ── 1024px — Tablette large ── */
@media (max-width:1024px){

  /* Header */
  header{padding:0 2rem;gap:1.5rem;}
  .btn-header-devis{display:none;}

  /* Hero */
  .hero-content{padding:0 2rem 4rem;}
  .hero-indicators{right:2rem;}

  /* Page hero */
  .page-hero-inner{padding:3rem 2rem 2.5rem;flex-direction:column;align-items:flex-start;}
  .page-hero-stats{width:100%;justify-content:flex-start;}

  /* Audiences */
  .audiences{grid-template-columns:1fr;}

  /* Expertises */
  .expertises{padding:5rem 2rem;}
  .exp-grid{grid-template-columns:repeat(2,1fr);}

  /* Teaser realisations */
  .realisations-teaser{padding:5rem 2rem;}
  .teaser-grid{grid-template-columns:repeat(2,1fr);}

  /* CTA devis */
  .cta-devis{padding:5rem 2rem;}

  /* Footer */
  footer{padding:2rem;}
  .footer-agency{padding:0.7rem 2rem;}
  .footer-copy{flex-direction:column;align-items:flex-start;gap:0.5rem;}

  /* Histoire */
  .histoire{padding:4rem 2rem;grid-template-columns:1fr;gap:2.5rem;}
  .histoire-visual{min-height:280px;}

  /* Fusion timeline */
  .fusion-timeline{padding:4rem 2rem;}
  .timeline-grid{grid-template-columns:1fr;gap:1.5rem;}
  .timeline-plus{display:none;}

  /* Valeurs */
  .valeurs{padding:4rem 2rem;}
  .valeurs-grid{grid-template-columns:repeat(2,1fr);}

  /* Atelier equipe */
  .atelier-equipe{padding:4rem 2rem;}
  .ae-grid{grid-template-columns:1fr;gap:2.5rem;}
  .ae-right{min-height:280px;}

  /* Zone intervention */
  .zone{padding:4rem 2rem;}
  .zone-grid{grid-template-columns:1fr;gap:2rem;}
  .zone-map{display:none;}

  /* Services */
  .services-list{padding:0;}
  .svc-block{grid-template-columns:1fr;padding:0;}
  .svc-block.reverse .svc-visual{order:0;}
  .svc-visual{min-height:240px;}
  .svc-content{padding:2.5rem 2rem;}
  .process-recap{padding:4rem 2rem;}
  .process-steps{grid-template-columns:repeat(2,1fr);}

  /* Realisations */
  .familles{padding:0;}
  .famille-header{padding:1.5rem 2rem;}
  .famille-body-inner{padding:1.5rem 2rem 2rem;}

  /* Contact */
  .contact-main{padding:3rem 2rem 4rem;gap:2.5rem;}

  /* Reassurance */
  .reassure-final{padding:4rem 2rem;}
  .reassure-grid{grid-template-columns:repeat(2,1fr);}

  /* Single realisation */
  .real-single{padding:3rem 2rem 4rem;}
  .real-layout{grid-template-columns:1fr;}
  .real-gallery-main{height:320px;}

  /* Famille grid archive */
  .famille-grid-archive{padding:0 2rem 4rem;grid-template-columns:repeat(2,1fr);}

  /* Page legal */
  .page-legal{padding:4rem 2rem 5rem;}
}

/* ── 768px — Tablette portrait ── */
@media (max-width:768px){

  /* Header : hamburger basique (nav masquée) */
  header{padding:0 1.5rem;}
  nav{display:none;}

  /* Hero */
  .hero{min-height:500px;}
  .hero-content{padding:0 1.5rem 3rem;}
  .hero-h1{font-size:clamp(1.8rem,6vw,2.8rem);}
  .hero-script{font-size:clamp(2.2rem,7vw,3.5rem);}
  .hero-ctas{flex-direction:column;align-items:flex-start;gap:0.8rem;}
  .hero-ctas a{width:100%;justify-content:center;}

  /* Page hero */
  .page-hero-stats{gap:0.8rem;}
  .ph-stat{padding:0.7rem 1rem;}

  /* Expertises */
  .exp-grid{grid-template-columns:1fr;}

  /* Teaser */
  .teaser-grid{grid-template-columns:1fr;}

  /* CTA devis */
  .cta-btns{flex-direction:column;align-items:stretch;}
  .cta-btns a{justify-content:center;text-align:center;}
  .contact-strip{gap:1.2rem;}

  /* Valeurs */
  .valeurs-grid{grid-template-columns:1fr;}

  /* Process steps */
  .process-steps{grid-template-columns:1fr;}

  /* Reassurance */
  .reassure-grid{grid-template-columns:1fr;}

  /* Footer */
  footer{flex-direction:column;align-items:flex-start;gap:1.5rem;}
  footer nav{flex-wrap:wrap;gap:1rem;}

  /* Bandeau cookies */
  .am-cookie-inner{padding:1rem 1.5rem;flex-direction:column;align-items:flex-start;gap:1rem;}
  .am-cookie-actions{width:100%;justify-content:flex-end;}

  /* Formulaire */
  .form-card{padding:2rem 1.5rem;}

  /* Famille grid */
  .famille-grid .proj-card{width:100%;}
  .famille-grid{flex-direction:column;}
}

/* ── 480px — Mobile ── */
@media (max-width:480px){

  /* Header */
  header{height:64px;padding:0 1rem;}
  .logo-wrap img{height:48px;}
  body{padding-top:0;}

  /* Hero */
  .hero-eyebrow{font-size:0.6rem;}
  .hero-services{display:none;}
  .hero-indicators{bottom:1.5rem;right:1.5rem;}

  /* Page hero */
  .page-hero-inner{padding:2rem 1.2rem 2rem;}
  .page-hero h1{font-size:clamp(1.6rem,7vw,2.2rem);}
  .page-hero-stats{flex-wrap:wrap;gap:0.6rem;}
  .ph-stat{flex:1;min-width:80px;}

  /* Audiences */
  .audience{padding:2rem 1.2rem;}

  /* Expertises */
  .expertises{padding:3.5rem 1.2rem;}

  /* Realisations teaser */
  .realisations-teaser{padding:3.5rem 1.2rem;}

  /* CTA devis */
  .cta-devis{padding:3.5rem 1.2rem;}
  .cta-devis h2{font-size:clamp(1.6rem,6vw,2.4rem);}

  /* Footer */
  footer{padding:1.5rem 1.2rem;}
  footer nav{display:none;}
  .footer-agency{padding:0.6rem 1.2rem;}
  .footer-legal-links{flex-wrap:wrap;gap:0.6rem;}

  /* Histoire */
  .histoire{padding:3rem 1.2rem;gap:2rem;}

  /* Fusion */
  .fusion-timeline{padding:3rem 1.2rem;}

  /* Valeurs */
  .valeurs{padding:3rem 1.2rem;}

  /* Atelier */
  .atelier-equipe{padding:3rem 1.2rem;}
  .ae-stats{grid-template-columns:1fr;}

  /* Zone */
  .zone{padding:3rem 1.2rem;}

  /* Services */
  .svc-content{padding:2rem 1.2rem;}
  .process-recap{padding:3rem 1.2rem;}

  /* Realisations */
  .famille-header{padding:1.2rem 1.2rem;gap:0.8rem;}
  .famille-desc-short{display:none;}
  .famille-body-inner{padding:1.2rem 1.2rem 1.5rem;}
  .famille-grid-archive{padding:0 1.2rem 3rem;grid-template-columns:1fr;}

  /* Contact */
  .contact-main{padding:2.5rem 1.2rem 3rem;}
  .coord-card{padding:1.5rem 1.2rem;}
  .horaires-card{padding:1.5rem 1.2rem;}

  /* Single realisation */
  .real-single{padding:2rem 1.2rem 3rem;}
  .real-gallery-main{height:240px;}
  .real-gallery-thumbs{grid-template-columns:repeat(4,1fr);}

  /* Page legal */
  .page-legal{padding:3rem 1.2rem 4rem;}

  /* Bandeau cookies */
  .am-cookie-inner{padding:1rem 1.2rem;}
  .am-cookie-actions{flex-direction:column;width:100%;}
  .am-cookie-btn{width:100%;text-align:center;}
}

/* ════════════════════════════════════════════════════
   BURGER MENU MOBILE
   ════════════════════════════════════════════════════ */

/* Bouton burger — masqué en desktop */
.burger-btn{
  display:none;
  flex-direction:column;justify-content:center;align-items:center;
  gap:5px;width:40px;height:40px;
  background:transparent;border:none;cursor:pointer;
  margin-left:auto;padding:4px;flex-shrink:0;
}
.burger-btn span{
  display:block;width:24px;height:2px;
  background:#fff;border-radius:2px;
  transition:transform .3s ease, opacity .3s ease, width .3s ease;
  transform-origin:center;
}
/* Etat ouvert : croix */
.burger-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger-btn.open span:nth-child(2){opacity:0;width:0;}
.burger-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* Sur pages internes : burger sombre */
body:not(.home) .burger-btn span{background:var(--bleu);}
body:not(.home) header.scrolled .burger-btn span,
body.home header.scrolled .burger-btn span{background:var(--bleu);}

/* Menu overlay */
.mobile-menu{
  position:fixed;inset:0;z-index:290;
  background:var(--bleu);
  display:flex;flex-direction:column;
  transform:translateX(100%);
  transition:transform .4s cubic-bezier(.4,0,.2,1);
  overflow-y:auto;
}
.mobile-menu.open{transform:translateX(0);}

.mobile-menu-inner{
  display:flex;flex-direction:column;
  justify-content:center;
  padding:6rem 2rem 3rem;
  min-height:100%;gap:2.5rem;
}

/* Nav mobile */
.mobile-nav{display:flex;flex-direction:column;gap:0;}
.mobile-nav a{
  font-family:'Raleway',sans-serif;
  font-size:clamp(1.6rem,5vw,2.2rem);font-weight:700;
  color:rgba(255,255,255,.75);text-decoration:none;
  letter-spacing:-0.01em;line-height:1;
  padding:0.7rem 0;
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:color .2s,padding-left .2s;
}
.mobile-nav a:first-child{border-top:1px solid rgba(255,255,255,.08);}
.mobile-nav a:hover,
.mobile-nav a.active,
.mobile-nav a[aria-current="page"]{color:#fff;padding-left:0.5rem;}

/* CTA devis mobile */
.mobile-menu-cta{
  display:flex;align-items:center;justify-content:center;
  font-size:0.82rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;
  text-decoration:none;
}

/* Coordonnées */
.mobile-menu-contact{
  display:flex;flex-direction:column;gap:0.5rem;
  padding-top:1rem;border-top:1px solid rgba(255,255,255,.12);
}
.mobile-menu-contact a{
  font-size:0.85rem;color:rgba(255,255,255,.5);
  text-decoration:none;transition:color .2s;
}
.mobile-menu-contact a:hover{color:#fff;}

/* Affichage burger selon breakpoint */
@media (max-width:768px){
  .burger-btn{display:flex;}
  /* Bloquer le scroll quand menu ouvert */
  body.menu-open{overflow:hidden;}
}

/* ════════════════════════════════════════════════════
   CORRECTIFS SCROLL HORIZONTAL + MENU BURGER CENTRÉ
   ════════════════════════════════════════════════════ */

/* Empêche le scroll horizontal global */
html, body{overflow-x:hidden;}

/* Inputs/textarea CF7 ne débordent jamais de leur conteneur */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form select,
.wpcf7-form textarea{
  max-width:100%;
  box-sizing:border-box;
}

/* Contact main : pas de débordement sur mobile */
.contact-main{box-sizing:border-box;max-width:100%;}
.form-card{max-width:100%;overflow:hidden;}
.sidebar{max-width:100%;}

/* Menu mobile centré verticalement et horizontalement */
.mobile-menu-inner{
  justify-content:center;
  align-items:center;
  text-align:center;
}
.mobile-nav{align-items:center;}
.mobile-nav a{text-align:center;width:100%;}
.mobile-nav a:hover,
.mobile-nav a.active,
.mobile-nav a[aria-current="page"]{padding-left:0;letter-spacing:0.02em;}
.mobile-menu-cta{width:100%;justify-content:center;text-align:center;}
.mobile-menu-contact{align-items:center;text-align:center;width:100%;}
.mobile-menu-contact a{text-align:center;}


/* Fix centrage menu burger */
#mobile-menu{
  display:block;
  flex-direction:column;
  align-items:center;
}
#mobile-menu .mobile-menu-inner{
  width:100%;
  max-width:400px;
  padding:6rem 2rem 3rem;
  margin:0 auto;
  align-items:center !important;
}
#mobile-menu .mobile-nav{
  width:100%;
}
#mobile-menu .mobile-nav a{
  text-align:center;
  padding-left:0 !important;
}
#mobile-menu .mobile-menu-cta{
  width:100%;
  justify-content:center;
}
#mobile-menu .mobile-menu-contact{
  width:100%;
  align-items:center;
}
