/* ═══════════════════════════════════════════════════════
   SG BÂTIMENT — STYLES PAGES INTERNES (complément)
   Réutilise les variables de sg-batiment-style.css
   ═══════════════════════════════════════════════════════ */

/* Active state nav */
.nav-links a.active{color:var(--orange);}
.nav-links a.active::after{width:100%;}

/* ── PAGE HERO (compact) ──────────────────────────────── */
.page-hero{
  background:var(--white);padding:calc(var(--nav-h) + 56px) 80px 56px;
  border-bottom:1px solid var(--border);position:relative;overflow:hidden;
}
.page-hero::after{
  content:'';position:absolute;top:0;right:0;width:38%;height:100%;
  background-image:
    linear-gradient(rgba(232,101,26,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(232,101,26,.05) 1px,transparent 1px);
  background-size:44px 44px;pointer-events:none;
  -webkit-mask-image:linear-gradient(270deg,#000,transparent);
          mask-image:linear-gradient(270deg,#000,transparent);
}
.page-hero-inner{max-width:1280px;margin:0 auto;position:relative;z-index:2;}
.page-hero h1{
  font-family:'Oswald',sans-serif;font-weight:700;text-transform:uppercase;
  font-size:clamp(2.4rem,4vw,4rem);line-height:.96;letter-spacing:-.01em;
  color:var(--ink);margin:18px 0 18px;max-width:16ch;
}
.page-hero h1 em{font-style:normal;color:var(--orange);}
.page-hero-sub{
  font-family:'DM Sans',sans-serif;font-size:1.05rem;line-height:1.78;
  color:var(--ink-m);max-width:600px;margin-bottom:28px;
}
.page-hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}

/* ── BREADCRUMB ───────────────────────────────────────── */
.breadcrumb{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  font-family:'Oswald',sans-serif;font-size:.72rem;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;
}
.breadcrumb a{color:var(--ink-l);transition:color .2s;}
.breadcrumb a:hover{color:var(--orange);}
.breadcrumb .bc-sep{color:var(--stone-d);}
.breadcrumb .bc-current{color:var(--orange);}

/* ── CONTENT SECTION ──────────────────────────────────── */
.page-section{padding:80px;}
.page-section.alt{background:var(--white);}
.page-section.cream{background:var(--cream);}
.page-wrap{max-width:1280px;margin:0 auto;}
.page-wrap-narrow{max-width:820px;margin:0 auto;}

.prose{font-family:'DM Sans',sans-serif;font-size:1rem;line-height:1.85;color:var(--ink-s);}
.prose p{margin-bottom:20px;}
.prose h2{
  font-family:'Oswald',sans-serif;font-weight:700;text-transform:uppercase;
  font-size:clamp(1.6rem,2.4vw,2.2rem);line-height:1.05;letter-spacing:-.01em;
  color:var(--ink);margin:44px 0 18px;
}
.prose h2 em{font-style:normal;color:var(--orange);}
.prose h3{
  font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;
  font-size:1.15rem;letter-spacing:.02em;color:var(--ink);margin:28px 0 12px;
}
.prose strong{color:var(--ink);font-weight:500;}
.prose a{color:var(--orange-d);text-decoration:underline;text-underline-offset:2px;}

/* ── PRESTATIONS GRID (sur page service) ──────────────── */
.prest-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:3px;margin-top:8px;}
.prest-card{
  background:var(--white);padding:32px 30px;border-top:2px solid var(--border);
  transition:border-color .3s;
}
.prest-card:hover{border-color:var(--orange);}
.prest-card h3{
  font-family:'Oswald',sans-serif;font-weight:600;font-size:1.1rem;
  text-transform:uppercase;letter-spacing:.02em;color:var(--ink);margin-bottom:10px;
}
.prest-card p{font-family:'DM Sans',sans-serif;font-size:.9rem;line-height:1.7;color:var(--ink-m);}

/* ── LINK GRID (maillage villes / services) ───────────── */
.section-head{margin-bottom:44px;}
.link-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--border);border:1px solid var(--border);}
.link-card{
  background:var(--white);padding:22px 24px;display:flex;align-items:center;
  justify-content:space-between;gap:12px;transition:background .22s;
}
.link-card:hover{background:var(--orange-pale);}
.link-card .lc-name{
  font-family:'Oswald',sans-serif;font-weight:500;font-size:.95rem;
  text-transform:uppercase;letter-spacing:.04em;color:var(--ink);
}
.link-card .lc-sub{font-family:'DM Sans',sans-serif;font-size:.78rem;color:var(--ink-l);margin-top:2px;}
.link-card .lc-arrow{color:var(--orange);font-size:1.1rem;flex-shrink:0;transition:transform .2s;}
.link-card:hover .lc-arrow{transform:translateX(4px);}

/* compact pill links */
.pill-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;}
.pill-link{
  background:var(--orange-alpha);border:1px solid rgba(232,101,26,.22);
  font-family:'Oswald',sans-serif;font-size:.78rem;font-weight:500;
  letter-spacing:.06em;text-transform:uppercase;color:var(--ink-s);
  padding:9px 16px;transition:all .2s;
}
.pill-link:hover{background:var(--orange);color:#fff;transform:translateY(-2px);}

/* ── INFO BAND ────────────────────────────────────────── */
.info-band{background:var(--ink);padding:64px 80px;}
.info-band-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:rgba(255,255,255,.06);}
.ib-item{background:var(--ink);padding:28px 26px;}
.ib-num{font-family:'Oswald',sans-serif;font-weight:700;font-size:2.4rem;color:var(--orange-l);line-height:1;}
.ib-lbl{font-family:'DM Sans',sans-serif;font-size:.85rem;color:rgba(255,255,255,.55);margin-top:6px;}

/* ── CTA INLINE ───────────────────────────────────────── */
.cta-inline{
  background:var(--orange);padding:52px 56px;display:flex;align-items:center;
  justify-content:space-between;gap:32px;flex-wrap:wrap;margin-top:8px;
}
.cta-inline-txt h2{font-family:'Oswald',sans-serif;font-weight:700;font-size:1.8rem;text-transform:uppercase;color:#fff;line-height:1;margin-bottom:8px;}
.cta-inline-txt p{font-family:'DM Sans',sans-serif;font-size:.95rem;color:rgba(255,255,255,.85);}
.cta-inline .btn-white{flex-shrink:0;}

/* ── FAQ ──────────────────────────────────────────────── */
.faq-list{display:flex;flex-direction:column;gap:2px;background:var(--border);border:1px solid var(--border);margin-top:8px;}
.faq-item{background:var(--white);padding:26px 30px;}
.faq-q{font-family:'Oswald',sans-serif;font-weight:600;font-size:1.02rem;text-transform:uppercase;letter-spacing:.01em;color:var(--ink);margin-bottom:8px;}
.faq-a{font-family:'DM Sans',sans-serif;font-size:.92rem;line-height:1.7;color:var(--ink-m);}

/* ── MINI AVIS ────────────────────────────────────────── */
.mini-avis{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:8px;}
.mini-avis-card{background:var(--white);padding:30px 28px;border-top:3px solid transparent;transition:border-color .3s;}
.mini-avis-card:hover{border-color:var(--orange);}
.mini-avis-stars{color:var(--orange);font-size:.95rem;margin-bottom:12px;}
.mini-avis-text{font-family:'DM Sans',sans-serif;font-size:.9rem;line-height:1.7;color:var(--ink-m);font-style:italic;margin-bottom:16px;}
.mini-avis-author{font-family:'Oswald',sans-serif;font-weight:600;font-size:.85rem;text-transform:uppercase;color:var(--ink);}
.mini-avis-loc{font-family:'DM Sans',sans-serif;font-size:.75rem;color:var(--ink-l);}

/* ── FOOTER MULTI-COL ─────────────────────────────────── */
footer{flex-direction:column;align-items:stretch;padding:64px 80px 32px;}
.footer-cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px;margin-bottom:40px;}
.footer-about{font-family:'DM Sans',sans-serif;font-size:.85rem;line-height:1.7;color:rgba(255,255,255,.4);margin-top:14px;max-width:32ch;}
.footer-h{font-family:'Oswald',sans-serif;font-weight:600;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.85);margin-bottom:16px;}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:9px;}
.footer-links a{font-family:'DM Sans',sans-serif;font-size:.85rem;color:rgba(255,255,255,.45);transition:color .2s;}
.footer-links a:hover{color:var(--orange-l);}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding-top:28px;border-top:1px solid rgba(255,255,255,.08);}
.footer-bottom span{font-family:'DM Sans',sans-serif;font-size:.78rem;color:rgba(255,255,255,.3);}
.footer-bottom a{color:rgba(255,255,255,.5);text-decoration:underline;text-underline-offset:2px;}
.footer-bottom .siteby a,.footer-bottom .siteby{color:rgba(255,255,255,.5);text-decoration:none;}

/* ── DEVIS FORM PAGE ──────────────────────────────────── */
.devis-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:start;}

/* ── PLAN DU SITE ─────────────────────────────────────── */
.sitemap-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;}
.sitemap-col h2{font-family:'Oswald',sans-serif;font-weight:600;font-size:1.05rem;text-transform:uppercase;letter-spacing:.04em;color:var(--orange);margin-bottom:14px;}
.sitemap-col ul{list-style:none;display:flex;flex-direction:column;gap:7px;}
.sitemap-col a{font-family:'DM Sans',sans-serif;font-size:.9rem;color:var(--ink-s);transition:color .2s;}
.sitemap-col a:hover{color:var(--orange);}

/* ── RESPONSIVE ───────────────────────────────────────── */
@media(max-width:1100px){
  .page-hero{padding:calc(var(--nav-h) + 32px) 24px 40px;}
  .page-section,.info-band{padding:48px 24px;}
  .prest-grid{grid-template-columns:1fr;}
  .link-grid{grid-template-columns:repeat(2,1fr);}
  .info-band-inner{grid-template-columns:1fr 1fr;}
  .mini-avis{grid-template-columns:1fr;}
  .devis-layout{grid-template-columns:1fr;gap:40px;}
  .footer-cols{grid-template-columns:1fr 1fr;gap:32px;}
  footer{padding:48px 24px 28px;}
  .sitemap-cols{grid-template-columns:1fr;}
  .cta-inline{padding:36px 28px;}
}
@media(max-width:600px){
  .link-grid{grid-template-columns:1fr;}
  .info-band-inner{grid-template-columns:1fr;}
  .footer-cols{grid-template-columns:1fr;}
  .page-hero h1{font-size:2.2rem;}
}

/* FAQ-SEO accordion */
#faq .faq-list{max-width:820px;margin:0 auto}
#faq .faq-item{border:1px solid #e6ebf0;border-radius:12px;margin:10px 0;background:#fff;overflow:hidden}
#faq .faq-item summary{cursor:pointer;padding:16px 20px;font-family:'Oswald',sans-serif;font-weight:600;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
#faq .faq-item summary::-webkit-details-marker{display:none}
#faq .faq-item summary::after{content:'+';font-size:1.5rem;line-height:1;color:#E8651A;transition:transform .2s;flex:0 0 auto}
#faq .faq-item[open] summary::after{transform:rotate(45deg)}
#faq .faq-a{padding:0 20px 18px;font-family:'DM Sans',sans-serif;line-height:1.7;color:#4a5661}
#faq .faq-a p{margin:0}

/* footer-legal */
.footer-legal{max-width:1200px;margin:0 auto 10px;padding:0 24px;font-family:'DM Sans',sans-serif;font-size:.78rem;color:rgba(255,255,255,.5);line-height:1.5}
