/* ==========================================================================
   pages-locales.css  —  samba-child-theme/assets/pages-locales.css
   Palette calquée sur la maquette : bleu nuit · ambre · sarcelle
   Tout est préfixé #contenu-local : rien ne fuit vers le thème.
   ========================================================================== */

#contenu-local{
  --nuit:#0B2233; --nuit2:#16334A; --nuit3:#1D3F58;
  --ambre:#E8A33D; --ambre-clair:#f2bb6a;
  --sarcelle:#1A6B68; --rouille:#E0521C; --jaune:#F2B01E; --ardoise:#2C3A45;
  --encre:#243039; --gris:#69737c; --trait:#e3e6e9; --fond:#F4F5F6;
  font-family:'PT Sans',system-ui,-apple-system,sans-serif;
  color:var(--encre); font-size:17px;
}
#contenu-local *{box-sizing:border-box}
#contenu-local h1,#contenu-local h2,#contenu-local h3,#contenu-local h4{
  font-family:Cabin,sans-serif;padding:0;text-transform:none;letter-spacing:0}
#contenu-local p{line-height:1.7;margin:0 0 1em}
#contenu-local img{max-width:100%;height:auto;display:block}
#contenu-local .or{color:var(--ambre)}

/* --- Neutralisation du CSS du thème --- */
#contenu-local,#contenu-local section,#contenu-local div,#contenu-local ul,
#contenu-local ol,#contenu-local li,#contenu-local a,#contenu-local blockquote,
#contenu-local aside,#contenu-local footer{
  float:none!important;clear:none!important;column-count:initial!important;min-height:0}
#contenu-local ul,#contenu-local ol{list-style:none;margin:0;padding:0}
#contenu-local section::before,#contenu-local section::after,
#contenu-local .dedans::before,#contenu-local .dedans::after,
#contenu-local ul::before,#contenu-local ul::after,
#contenu-local blockquote::before,#contenu-local blockquote::after{
  content:none!important;display:none!important}
#contenu-local blockquote{border:0;background:none;padding:0;margin:0}
#contenu-local a{background:none;box-shadow:none;text-decoration:none}

/* --- Pleine largeur : on sort de la colonne étroite du thème --- */
#contenu-local > section,#contenu-local > footer{
  width:100vw;max-width:100vw;position:relative;
  margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
#contenu-local .dedans{max-width:1240px;margin:0 auto;padding:0 44px}

/* --- Boutons --- */
#contenu-local a.btn{display:inline-flex;align-items:center;gap:9px;
  padding:15px 30px;border-radius:3px;font-family:Cabin,sans-serif;font-weight:700;
  font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;transition:.18s;border:1px solid transparent}
#contenu-local a.btn-ambre{background:var(--ambre);color:#1a2733}
#contenu-local a.btn-ambre:hover{background:var(--ambre-clair);transform:translateY(-2px)}
#contenu-local a.btn-clair{border-color:rgba(255,255,255,.5);color:#fff}
#contenu-local a.btn-clair:hover{background:rgba(255,255,255,.1);border-color:#fff}
#contenu-local a.btn-sombre{border-color:#c3c8cd;color:var(--encre)}
#contenu-local a.btn-sombre:hover{border-color:var(--sarcelle);color:var(--sarcelle)}
#contenu-local a.btn-blanc{background:#fff;border-color:var(--trait);color:var(--encre)}
#contenu-local a.btn-blanc:hover{border-color:var(--encre)}

/* ========== 1. HERO ========== */
#contenu-local .pl-hero{position:relative;background:var(--nuit);color:#fff;overflow:hidden}
#contenu-local .pl-hero .fond{position:absolute;inset:0;z-index:0}
#contenu-local .pl-hero .fond img{width:100%;height:100%;object-fit:cover}
#contenu-local .pl-hero .voile{position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(100deg,rgba(8,22,35,.95) 0%,rgba(9,26,41,.82) 30%,rgba(12,34,52,.42) 62%,rgba(12,34,52,.14) 100%),
    linear-gradient(to bottom,rgba(9,24,38,.35) 0%,transparent 30%,transparent 70%,rgba(9,24,38,.4) 100%)}
#contenu-local .pl-hero .dedans{position:relative;z-index:2;
  padding-top:96px;padding-bottom:92px;min-height:460px;display:flex;align-items:center}
#contenu-local .pl-hero .col{max-width:600px;width:100%}
#contenu-local .etiquette{display:inline-block;font-family:Cabin,sans-serif;font-size:.66rem;
  letter-spacing:.19em;text-transform:uppercase;font-weight:700;color:var(--ambre);
  border:1px solid rgba(232,163,61,.55);padding:8px 15px;border-radius:2px;margin-bottom:26px}
#contenu-local .pl-hero h1{font-size:3.3rem;line-height:1.1;margin:0 0 22px;font-weight:700;color:#fff;
  text-shadow:0 2px 18px rgba(6,18,30,.45)}
#contenu-local .pl-hero .accroche{font-size:1.05rem;line-height:1.72;color:#d3dce4;max-width:46ch;margin:0 0 30px;
  text-shadow:0 1px 12px rgba(6,18,30,.5)}
#contenu-local .atouts{display:flex;flex-wrap:wrap;gap:12px 26px;margin:0 0 34px}
#contenu-local .atouts li{display:flex;align-items:center;gap:9px;font-size:.85rem;color:#dbe2e8}
#contenu-local .atouts .pastille{flex:none;width:18px;height:18px;border-radius:50%;
  background:var(--ambre);display:flex;align-items:center;justify-content:center}
#contenu-local .atouts svg{width:11px;height:11px;color:#14212c}
#contenu-local .actions{display:flex;flex-wrap:wrap;gap:13px}

/* ========== 2. BANDE SOMBRE ========== */
#contenu-local .pl-bande{background:#081A29}
#contenu-local .pl-bande ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
#contenu-local .pl-bande li{display:flex;align-items:center;gap:15px;padding:28px 24px}
#contenu-local .pl-bande svg{flex:none;width:26px;height:26px;color:var(--ambre)}
#contenu-local .pl-bande b{display:block;font-family:Cabin,sans-serif;font-size:.79rem;
  letter-spacing:.09em;text-transform:uppercase;color:#fff;line-height:1.35}
#contenu-local .pl-bande span{font-size:.79rem;color:#8794a1}

/* ========== Titres centrés ========== */
#contenu-local .titre-c{text-align:center;margin-bottom:56px}
#contenu-local .titre-c h2{font-size:2.35rem;line-height:1.26;margin:0 auto 18px;
  max-width:30ch;font-weight:700;color:var(--encre);text-wrap:balance}
#contenu-local .titre-c p{max-width:60ch;margin:0 auto;color:var(--gris);font-size:1rem;line-height:1.72}

/* ========== 3. SERVICES ========== */
#contenu-local .pl-services{padding:76px 0 94px;background:#fff}
#contenu-local .grille-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;
  align-items:start;max-width:1060px;margin:0 auto}
#contenu-local .service{text-align:center}
#contenu-local .service .rond{width:76px;height:76px;border-radius:50%;margin:0 auto 22px;
  display:flex;align-items:center;justify-content:center;color:#fff;transition:transform .22s}
#contenu-local .service:hover .rond{transform:translateY(-5px)}
#contenu-local .service .rond svg{width:31px;height:31px}
#contenu-local .r1{background:var(--sarcelle)}
#contenu-local .r2{background:var(--rouille)}
#contenu-local .r3{background:var(--jaune)}
#contenu-local .r4{background:var(--ardoise)}
#contenu-local .service h3{font-size:1.1rem;margin:0 0 12px}
#contenu-local .service p{font-size:.9rem;color:var(--gris);line-height:1.7;margin:0;
  max-width:26ch;margin-left:auto;margin-right:auto}

/* ========== 4. À PROPOS ========== */
#contenu-local .pl-apropos{background:var(--fond);padding:94px 0}
#contenu-local .apropos{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center}
#contenu-local .sur{display:block;font-family:Cabin,sans-serif;font-size:.68rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--sarcelle);font-weight:700;margin-bottom:14px}
#contenu-local .apropos h2{font-size:2.1rem;line-height:1.26;margin:0 0 20px}
#contenu-local .apropos p{font-size:.96rem;color:#4a545d}
#contenu-local .coches{margin:24px 0 30px}
#contenu-local .coches li{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;font-size:.93rem}
#contenu-local .coches svg{flex:none;width:18px;height:18px;color:var(--sarcelle);margin-top:3px}
#contenu-local .visuel-local{position:relative}
#contenu-local .visuel-local .photo{border-radius:6px;overflow:hidden;aspect-ratio:4/3;
  background:#dfe3e6;box-shadow:0 22px 50px rgba(15,36,52,.16)}
#contenu-local .visuel-local .photo img{width:100%;height:100%;object-fit:cover}
#contenu-local .carte-zone{position:absolute;left:auto;top:auto;
  right:-30px;bottom:34px;background:#fff;border-radius:6px;
  padding:22px 26px;box-shadow:0 18px 44px rgba(15,36,52,.26);
  width:auto;min-width:212px;max-width:54%;z-index:2}
#contenu-local .carte-zone .tete{display:flex;align-items:center;gap:11px;margin-bottom:15px}
#contenu-local .carte-zone .pin{width:34px;height:34px;border-radius:50%;background:var(--sarcelle);
  flex:none;display:flex;align-items:center;justify-content:center;color:#fff}
#contenu-local .carte-zone .pin svg{width:17px;height:17px}
#contenu-local .carte-zone strong{font-family:Cabin,sans-serif;font-size:1rem;display:block;line-height:1.2}
#contenu-local .carte-zone .tete span{font-size:.76rem;color:var(--gris)}
#contenu-local .carte-zone ul{font-size:.84rem;color:#59636c;line-height:1.85}

/* ========== 5. RÉALISATIONS ========== */
#contenu-local .pl-real{padding:94px 0;background:#fff}
#contenu-local .grille-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;align-items:start}
#contenu-local .vignette{border:1px solid var(--trait);border-radius:6px;overflow:hidden;background:#fff;
  display:flex;flex-direction:column;color:inherit;width:100%;transition:.2s}
#contenu-local .vignette:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(15,36,52,.13);
  border-color:#d3d8dd}
#contenu-local .vignette .barre{background:#eceef0;padding:9px 12px;display:flex;gap:5px}
#contenu-local .vignette .barre i{width:9px;height:9px;border-radius:50%;background:#c6cbd0}
#contenu-local .vignette .cliche{aspect-ratio:16/11;background:#fafbfb;overflow:hidden;flex:none;width:100%}
#contenu-local .vignette .cliche img{width:100%;height:100%;object-fit:cover;object-position:top}
#contenu-local .slot{width:100%;height:100%;border:2px dashed #d5d9dd;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:6px;text-align:center;padding:18px;
  color:#a3aab1;font-size:.77rem;line-height:1.45}
#contenu-local .slot b{font-family:Cabin,sans-serif;color:#848d95;font-size:.7rem;
  letter-spacing:.11em;text-transform:uppercase}
#contenu-local .vignette .lg{padding:20px 22px;border-top:1px solid var(--trait)}
#contenu-local .vignette .lg strong{display:block;font-family:Cabin,sans-serif;font-size:1.04rem;
  margin-bottom:4px;color:var(--encre)}
#contenu-local .vignette .lg span{font-size:.81rem;color:var(--gris)}

/* ========== 6. AVIS ========== */
#contenu-local .pl-avis{background:var(--nuit);padding:94px 0;color:#fff}
#contenu-local .pl-avis .titre-c h2{color:#fff}
#contenu-local .pl-avis .titre-c p{color:#8d9aa6}
#contenu-local .grille-avis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;align-items:stretch}
#contenu-local .avis{background:var(--nuit2);border-radius:6px;padding:30px 28px;
  display:flex;flex-direction:column;transition:.2s;font-style:normal;
  border:0;border-left:0}
#contenu-local .avis:hover{background:var(--nuit3);transform:translateY(-3px)}
#contenu-local .avis .guill{font-family:Georgia,serif;font-size:2.7rem;line-height:.68;
  color:var(--ambre);margin-bottom:16px}
#contenu-local .avis p{font-size:.9rem;line-height:1.72;color:#d5dde4;flex:1;margin:0 0 22px;
  font-style:normal}
#contenu-local .avis cite{font-style:normal;font-family:Cabin,sans-serif;font-weight:700;
  font-size:.93rem;color:#fff;display:block}
#contenu-local .avis .role{font-size:.79rem;color:#8d9aa6;display:block;margin-top:2px}
#contenu-local .avis .bas{display:flex;justify-content:space-between;align-items:center;margin-top:16px}
#contenu-local .avis .etoiles{color:var(--jaune);font-size:.85rem;letter-spacing:1px}
#contenu-local .avis .goog{width:20px;height:20px;flex:none}
#contenu-local .centre{text-align:center;margin-top:46px}

/* ========== 7. FAQ + DEVIS ========== */
#contenu-local .pl-faq{background:#fff;padding:94px 0}
#contenu-local .faq-grille{display:grid;grid-template-columns:1.2fr 1fr;gap:54px;align-items:start}
#contenu-local .pl-faq h2{font-size:2.1rem;margin:0 0 32px}
#contenu-local .faq details{background:#fff;border:1px solid #dfe3e6;border-radius:5px;margin-bottom:12px}
#contenu-local .faq summary{cursor:pointer;list-style:none;padding:19px 52px 19px 24px;
  position:relative;font-family:Cabin,sans-serif;font-weight:700;font-size:.95rem}
#contenu-local .faq summary::-webkit-details-marker{display:none}
#contenu-local .faq summary::after{content:"+";position:absolute;right:22px;top:50%;
  transform:translateY(-50%);font-size:1.3rem;font-weight:400;color:var(--ambre)}
#contenu-local .faq details[open] summary::after{content:"–"}
#contenu-local .faq details[open]{border-color:#d7dbdf}
#contenu-local .faq .rep{padding:0 24px 22px}
#contenu-local .faq .rep p{font-size:.9rem;color:#525c65;margin:0;line-height:1.72}
#contenu-local .carte-devis{background:var(--fond);border-radius:6px;padding:40px 36px;
  position:relative;overflow:hidden;border:1px solid #e8eaec}
#contenu-local .carte-devis h3{font-size:1.5rem;margin:0 0 14px}
#contenu-local .carte-devis p{font-size:.94rem;color:var(--gris);max-width:32ch}
#contenu-local .carte-devis .actions{margin-top:26px;gap:11px}
#contenu-local .carte-devis .actions a.btn{width:auto;padding:14px 22px;font-size:.74rem}
#contenu-local .carte-devis .coord{border-top:1px solid #e0e3e6;margin-top:28px;padding-top:22px;
  font-size:.89rem;max-width:62%;position:relative;z-index:2}
#contenu-local .carte-devis .coord a{display:flex;align-items:center;gap:10px;color:var(--encre);padding:6px 0}
#contenu-local .carte-devis .coord a:hover{color:var(--sarcelle)}
#contenu-local .carte-devis .coord svg{width:17px;height:17px;color:var(--sarcelle);flex:none}
#contenu-local .carte-devis .illus{position:absolute;right:14px;bottom:14px;width:132px;
  opacity:.95;pointer-events:none}
@media(max-width:1180px){#contenu-local .carte-devis .illus{display:none}}

/* ========== 8. BANDE FINALE ========== */
#contenu-local .pl-final{padding:0 0 84px;}
#contenu-local .bande{background:#16575d;border-radius:6px;padding:54px 58px;
  display:grid;grid-template-columns:1fr auto;gap:44px;align-items:center;color:#fff}
#contenu-local .bande .sur{color:var(--ambre)}
#contenu-local .bande h2{font-size:2.1rem;margin:0 0 14px;color:#fff;line-height:1.22}
#contenu-local .bande p{margin:0;color:#cbe2e0;font-size:.96rem;max-width:50ch}

/* ========== 9. PIED DE PAGE ========== */
#contenu-local .pl-pied{background:var(--nuit);color:#93a2b0;padding:64px 0 34px}
#contenu-local .pied{display:grid;grid-template-columns:1.1fr .8fr .9fr .95fr 1.25fr;gap:40px}
#contenu-local .pied .marque p{font-size:.85rem;color:#8593a0;margin:0;line-height:1.75}
#contenu-local .pied h4{font-family:Cabin,sans-serif;color:#fff;font-size:.82rem;letter-spacing:.09em;
  text-transform:uppercase;margin:0 0 18px}
#contenu-local .pied li{margin-bottom:9px}
#contenu-local .pied a{color:#9aa7b3;font-size:.86rem}
#contenu-local .pied a:hover{color:var(--ambre)}
#contenu-local .pied .contact li{display:flex;align-items:flex-start;gap:9px;font-size:.86rem;
  line-height:1.5;overflow-wrap:anywhere}
#contenu-local .pied .contact svg{width:15px;height:15px;color:var(--ambre);flex:none;margin-top:3px}
#contenu-local .pied-bas{border-top:1px solid rgba(255,255,255,.09);margin-top:44px;padding-top:24px;
  font-size:.79rem;color:#6f7d89;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
#contenu-local .pied-bas a{color:white;}
  
/* ========== Fil d'Ariane ========== */
#contenu-local .fil{background:#fff;border-bottom:1px solid var(--trait)}
#contenu-local .fil .dedans{padding-top:13px;padding-bottom:13px;font-size:.76rem;color:#8b949c}
#contenu-local .fil a{color:var(--gris)}
#contenu-local .fil a:hover{color:var(--sarcelle)}

/* ========== RESPONSIVE ========== */
@media(max-width:1200px){
  #contenu-local .dedans{padding:0 30px}
  #contenu-local .pl-hero h1{font-size:2.7rem}
  #contenu-local .pied{grid-template-columns:1fr 1fr 1fr;gap:34px}
}
@media(max-width:1024px){
  #contenu-local .grille-4,#contenu-local .grille-avis{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}
  #contenu-local .grille-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  #contenu-local .pl-bande ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  #contenu-local .apropos,#contenu-local .faq-grille{grid-template-columns:1fr;gap:44px}
  #contenu-local .visuel-local{order:-1}
}
@media(max-width:820px){
  #contenu-local .dedans{padding:0 20px}
  #contenu-local .pl-hero .dedans{padding-top:56px;padding-bottom:52px;min-height:0}
  #contenu-local .pl-hero h1{font-size:2.05rem}
  #contenu-local a.btn{width:100%;justify-content:center}
  #contenu-local .titre-c h2,#contenu-local .apropos h2,#contenu-local .bande h2,
  #contenu-local .pl-faq h2{font-size:1.65rem}
  #contenu-local .titre-c{margin-bottom:38px}
  #contenu-local .pl-services,#contenu-local .pl-apropos,#contenu-local .pl-real,
  #contenu-local .pl-avis,#contenu-local .pl-faq{padding:58px 0}
  #contenu-local .bande{grid-template-columns:1fr;padding:36px 26px;gap:26px}
  #contenu-local .carte-zone{position:static;margin-top:18px;max-width:none;box-shadow:none;
    border:1px solid var(--trait)}
  #contenu-local .pied{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  #contenu-local .grille-4,#contenu-local .grille-avis,#contenu-local .grille-3,
  #contenu-local .pl-bande ul,#contenu-local .pied{grid-template-columns:1fr}
}

/* ========== Correctifs de gabarit ========== */
.page-template-page-locale #main{margin-top:-16px}
.page-template-page-locale #main_block{margin:0;padding:0}
.page-template-page-locale #centered_block,
.page-template-page-locale #content,
.page-template-page-locale .unsidebarized,
.page-template-page-locale .prk_no_composer{max-width:none;width:100%;padding:0;margin:0}