
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
:root {
  --bronze:    #CC2200;
  --bronze-dk: #8C1400;
  --bronze-lt: #E03A1E;
  --ink:    #111111;
  --ink-2:  #444444;
  --ink-3:  #888888;
  --line:   #E8E8E8;
  --bg:     #F7F7F7;
  --white:  #ffffff;
  --f:      'Inter', sans-serif;
}
html { scroll-behavior:smooth; font-size:17px; }
 { font-family:var(--f); background:var(--white); color:var(--ink); overflow-x:hidden; -webkit-font-smoothing:antialiased; }
img { display:block; width:100%; object-fit:cover; }
a { text-decoration:none; color:inherit; }
::-webkit-scrollbar { width:3px; }
::-webkit-scrollbar-thumb { background:var(--bronze); }
.w, .container { max-width:1140px; margin:0 auto; padding:0 2rem; }

/* ──────────────────────────────────────────────────────────────────
   2. REVEAL
   ────────────────────────────────────────────────────────────────── */
.rv { opacity:0; transform:translateY(20px); transition:opacity .6s ease, transform .6s ease; }
.rv.on { opacity:1; transform:none; }
.d1{transition-delay:.07s}.d2{transition-delay:.14s}.d3{transition-delay:.21s}
.d4{transition-delay:.28s}.d5{transition-delay:.35s}.d6{transition-delay:.42s}

#ticker { background:var(--bronze); overflow:hidden; padding:.48rem 0; white-space:nowrap; }
.tk { display:inline-flex; gap:3rem; animation:tk 30s linear infinite; }
.tk span { font-size:.7rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.9); flex-shrink:0; }
.tk span.sep { color:rgba(255,255,255,.4); font-weight:300; }
@keyframes tk { to { transform:translateX(-50%); } }

#hdr { position:sticky; top:0; z-index:200; background:var(--white); border-bottom:1px solid var(--line); transition:box-shadow .25s; }
#hdr.up { box-shadow:0 2px 20px rgba(0,0,0,.08); }
.hdr-in { display:flex; align-items:center; justify-content:space-between; height:64px; gap:1rem; max-width:1140px; margin:0 auto; padding:0 2rem; }
.logo { display:flex; align-items:center; }
.logo img { width:190px; }
.nav { display:flex; align-items:center; gap:.05rem; }
.nav > a, .nav > .nav-drop > .nav-drop-btn {
  font-size:.78rem; font-weight:500; color:var(--ink-2);
  padding:.38rem .75rem; border-radius:5px;
  transition:color .15s, background .15s;
  cursor:pointer; background:none; border:none;
  display:flex; align-items:center; gap:.3rem; white-space:nowrap;
  font-family:var(--f);
}
.nav > a:hover, .nav > .nav-drop > .nav-drop-btn:hover { color:var(--ink); background:var(--bg); }
.nav > a.active, .nav > .nav-drop.active > .nav-drop-btn { color:var(--bronze); font-weight:600; background:var(--bg); }
.nav-drop-btn svg { transition:transform .2s; }
.nav-drop:hover .nav-drop-btn svg { transform:rotate(180deg); }
.nav-drop { position:relative; }
.nav-drop-menu {
  display:none; position:absolute; top:calc(100% + 6px); left:0;
  background:var(--white); border:1px solid var(--line);
  box-shadow:0 8px 32px rgba(0,0,0,.10); border-radius:7px;
  min-width:220px; padding:.4rem 0; z-index:300;
}
.nav-drop:hover .nav-drop-menu,
.nav-drop:focus-within .nav-drop-menu { display:block; }
.nav-drop-menu a {
  display:flex; align-items:center; gap:.65rem;
  padding:.55rem 1.1rem; font-size:.78rem; font-weight:500;
  color:var(--ink-2); transition:color .12s, background .12s;
}
.nav-drop-menu a:hover { color:var(--bronze); background:#fdf8f2; }
.nav-drop-menu a.active { color:var(--bronze); font-weight:600; }
.nav-drop-menu .dm-icon {
  width:28px; height:28px; background:var(--bronze); border-radius:4px;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.nav-drop-menu .dm-icon svg { color:#fff; }
.nav-drop-menu hr { border:none; border-top:1px solid var(--line); margin:.35rem 0; }
.nav-drop-menu::before { content:''; position:absolute; top:-6px; left:0; right:0; height:6px; }
.hdr-r { display:flex; align-items:center; gap:.75rem; }
.hdr-tel { display:flex; align-items:center; gap:.38rem; font-size:.82rem; font-weight:600; color:var(--ink); transition:color .15s; }
.hdr-tel:hover { color:var(--bronze); }
.hdr-tel svg { color:var(--bronze); }
#btn-header-devis{
	 font-size:.84rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; background:var(--bronze); color:var(--white); padding:.54rem 1.15rem !important; border:none !important; cursor:pointer !important; transition:background .15s !important; display:inline-block !important;
}#btn-header-devis:hover { background:var(--bronze-dk); }
.btn-cta { font-size:.74rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; background:var(--bronze); color:var(--white); padding:.54rem 1.15rem; border:none; cursor:pointer; transition:background .15s; display:inline-block; }
.btn-cta:hover { background:var(--bronze-dk); }
.brgr { display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; }
.brgr span { display:block; width:22px; height:1.5px; background:var(--ink); transition:.25s; }
.brgr.o span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
.brgr.o span:nth-child(2){ opacity:0; }
.brgr.o span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }
/* Mobile overlay */
.mob { display:none; position:fixed; inset:0; background:var(--white); z-index:190; flex-direction:column; align-items:center; justify-content:center; gap:0; overflow-y:auto; padding:2rem; }
.mob.o { display:flex; }
.mob-section { width:100%; max-width:300px; }
.mob-section-title { font-size:.65rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3); padding:.5rem 0 .4rem; border-bottom:1px solid var(--line); margin-bottom:.5rem; }
.mob a { font-size:1.1rem; font-weight:600; color:var(--ink); display:block; padding:.55rem 0; width:100%; }
.mob a:hover { color:var(--bronze); }
.mob-tel { color:var(--bronze) !important; font-size:1.3rem !important; margin-top:1.5rem; text-align:center; }
@media(max-width:860px){
  .nav,.hdr-tel { display:none; }
  .brgr { display:flex; }
}

/* ──────────────────────────────────────────────────────────────────
   5. BREADCRUMB (pages intérieures uniquement)
   ────────────────────────────────────────────────────────────────── */
.breadcrumb { background:var(--bg); border-bottom:1px solid var(--line); padding:.6rem 0; }
.bc-inner { display:flex; align-items:center; gap:.5rem; }
.bc-inner a, .bc-inner span { font-size:.68rem; font-weight:500; color:var(--ink-3); letter-spacing:.05em; }
.bc-inner a:hover { color:var(--bronze); }
.bc-inner .bc-sep { color:var(--line); }
.bc-inner .bc-cur { color:var(--bronze); font-weight:600; }

/* ──────────────────────────────────────────────────────────────────
   6. AVBAR (barre de réassurance sombre)
   ────────────────────────────────────────────────────────────────── */
#avbar { background:#252320; }
/* Index : 3 colonnes */
.p-index .av-grid { display:grid; grid-template-columns:repeat(4,1fr); max-width:1140px; margin:0 auto; }
/* Pages intérieures : 4 colonnes */
.av-grid { display:grid; grid-template-columns:repeat(4,1fr); max-width:1140px; margin:0 auto; }
.av-item { padding:1.5rem 1.25rem; border-right:1px solid rgba(255,255,255,.06); display:flex; align-items:center; gap:.75rem; transition:background .2s; }
.av-item:last-child { border-right:none; }
.av-item:hover { background:rgba(255,255,255,.03); }
.av-ico svg { color:var(--bronze); flex-shrink:0; }
.av-t { font-size:.86rem; font-weight:600; color:#fff; margin-bottom:.12rem; }
.av-d { font-size:.72rem; font-weight:300; color:rgba(255,255,255,.35); }
/* Index avbar override */
.p-index .av-item { padding:1.75rem; gap:.85rem; }
.p-index .av-t { font-size:.92rem; }
.p-index .av-d { color:rgba(255,255,255,.38); }

/* ──────────────────────────────────────────────────────────────────
   7. SECTION-HD (en-têtes de sections)
   ────────────────────────────────────────────────────────────────── */
.section-hd { max-width:560px; margin:0 auto 3.5rem; text-align:center; }
.section-hd .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.75rem; }
.section-hd h2 { font-size:clamp(1.6rem,2.8vw,2.4rem); font-weight:700; color:var(--ink); letter-spacing:-.02em; line-height:1.2; margin-bottom:.9rem; }
.section-hd p { font-size:.94rem; font-weight:300; color:var(--ink-2); line-height:1.8; }
.section-hd.left { text-align:left; margin:0 0 3rem; }

/* ──────────────────────────────────────────────────────────────────
   8. HERO — PAGE INDEX (620px, fond image + dégradé)
   ────────────────────────────────────────────────────────────────── */
.p-index #hero {
  position:relative;
  height:75vh;
  overflow:hidden;
}
.p-index #hero .hero-bg { position:absolute; inset:0; z-index:0; }
.p-index #hero .hero-bg img { width:100%; height:100%; object-fit:cover; object-position:center center; display:block; }
.p-index #hero .hero-ov {
  position:absolute; inset:0; z-index:1;
background: linear-gradient(
  100deg,
  rgba(8,6,4,.92) 0%,
  rgba(8,6,4,.70) 40%,
  rgba(8,6,4,.35) 65%,
  rgba(8,6,4,.10) 85%,
  rgba(8,6,4,0)   100%
);}
.p-index .hero-content {
  position:relative; z-index:2; height:100%; display:flex; align-items:center;
}
.p-index .hero-box { padding:0 2rem 0 0; }
.p-index .hero-pill {
  display:inline-flex; align-items:center; gap:.5rem;
  background:rgba(196,114,26,.18); border:1px solid rgba(196,114,26,.5);
  padding:.32rem .85rem; margin-bottom:1.3rem;
}
.p-index .hero-pill svg { color:var(--bronze-lt); }
.p-index .hero-pill span { font-size:.68rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--bronze-lt); }
.p-index #hero h1 { font-size:clamp(1.9rem,4vw,3rem); font-weight:700; color:#fff; line-height:1.15; letter-spacing:-.02em; margin-bottom:1rem; }
.p-index .hero-sub { font-size:1.05rem; font-weight:normal; color:rgba(255,255,255,.75); line-height:1.7; margin-bottom:2rem; max-width:420px; }
.p-index .hero-ctas { display:flex; align-items:center; gap:2rem; flex-wrap:wrap; }
.p-index .btn-red {
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.8rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  background:var(--bronze); color:var(--white);
  padding:.78rem 1.5rem; border:none; cursor:pointer;
  transition:background .15s, transform .15s;
  position:relative; z-index:3;
}
.p-index .btn-red:hover { background:var(--bronze-dk); transform:translateY(-1px); }
.p-index .btn-ghost-w {
  display:inline-flex; align-items:center; gap:.4rem;
  font-size:1.3rem; font-weight:500; color:rgba(255,255,255,.9);
  border-bottom:1px solid rgba(255,255,255,.5); padding-bottom:.1rem;
  transition:color .15s, border-color .15s;
  position:relative; z-index:3;
}
.p-index .btn-ghost-w:hover { color:#fff; border-color:#fff; }
.p-index .hero-badge {
  position:absolute; bottom:2rem; right:2rem; z-index:3;
  background:var(--white); padding:1rem 1.2rem; text-align:center;
  box-shadow:0 4px 24px rgba(0,0,0,.18);
}

/* ──────────────────────────────────────────────────────────────────
   9. HERO — PAGES INTÉRIEURES AVEC IMAGE (560px)
      carrosserie, debosselage, peinture, pare-brise,
      remorquage, sinistres, loa, optiques
   ────────────────────────────────────────────────────────────────── */
.p-carrosserie #hero,
.p-debosselage #hero,
.p-peinture #hero,
.p-parebrise #hero,
.p-remorquage #hero,
.p-sinistres #hero,
.p-loa #hero,
.p-optiques #hero {
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
}
/* Carrosserie — height fixe 560px */
/* Pages avec formulaire dans le hero */
.p-debosselage #hero,
.p-peinture #hero,
.p-parebrise #hero,
.p-remorquage #hero,
.p-sinistres #hero,
.p-loa #hero,
.p-optiques #hero { min-height:580px; }
/* Remorquage : 600px min */
.p-remorquage #hero { min-height:600px; }
/* Peinture : 600px min */
.p-peinture #hero { min-height:600px; }

/* Hero background image layer */
#hero .hero-bg { position:absolute; inset:0; z-index:0; }
#hero .hero-bg img { width:100%; height:100%; object-fit:cover; display:block; }

/* Hero overlay par défaut (pages intérieures) */
.p-carrosserie #hero .hero-bg img { object-position:center 40%; }
.p-carrosserie #hero .hero-ov {
  position:absolute; inset:0; z-index:1;
  background:linear-gradient( 100deg, rgba(8,6,4,.92) 0%, rgba(8,6,4,.70) 40%, rgba(8,6,4,.35) 65%, rgba(8,6,4,.10) 85%, rgba(8,6,4,0) 100% );
}
.p-debosselage #hero .hero-bg img { object-position:center 50%; }
.p-debosselage #hero .hero-ov {
  position:absolute; inset:0; z-index:1;
  background:linear-gradient( 100deg, rgba(8,6,4,.92) 0%, rgba(8,6,4,.70) 40%, rgba(8,6,4,.35) 65%, rgba(8,6,4,.10) 85%, rgba(8,6,4,0) 100% );
}
.p-peinture #hero .hero-bg img { object-position:center 55%; }
.p-peinture #hero .hero-ov {
  position:absolute; inset:0; z-index:1;
  background:linear-gradient( 100deg, rgba(8,6,4,.92) 0%, rgba(8,6,4,.70) 40%, rgba(8,6,4,.35) 65%, rgba(8,6,4,.10) 85%, rgba(8,6,4,0) 100% );
}
.p-parebrise #hero .hero-bg img { object-position:center 45%; }
.p-parebrise #hero .hero-ov {
  position:absolute; inset:0; z-index:1;
  background:linear-gradient( 100deg, rgba(8,6,4,.92) 0%, rgba(8,6,4,.70) 40%, rgba(8,6,4,.35) 65%, rgba(8,6,4,.10) 85%, rgba(8,6,4,0) 100% );
}
.p-remorquage #hero .hero-bg img { object-position:center 45%; }
.p-remorquage #hero .hero-ov {
  position:absolute; inset:0; z-index:1;
  background:linear-gradient( 100deg, rgba(8,6,4,.92) 0%, rgba(8,6,4,.70) 40%, rgba(8,6,4,.35) 65%, rgba(8,6,4,.10) 85%, rgba(8,6,4,0) 100% );
}
.p-sinistres #hero .hero-bg img { object-position:center 40%; }
.p-sinistres #hero .hero-ov {
  position:absolute; inset:0; z-index:1;
  background:linear-gradient( 100deg, rgba(8,6,4,.92) 0%, rgba(8,6,4,.70) 40%, rgba(8,6,4,.35) 65%, rgba(8,6,4,.10) 85%, rgba(8,6,4,0) 100% );
}
.p-loa #hero .hero-bg img { object-position:center 35%; }
.p-loa #hero .hero-ov {
  position:absolute; inset:0; z-index:1;
  background:linear-gradient( 100deg, rgba(8,6,4,.92) 0%, rgba(8,6,4,.70) 40%, rgba(8,6,4,.35) 65%, rgba(8,6,4,.10) 85%, rgba(8,6,4,0) 100% );
}
.p-optiques #hero .hero-bg img { object-position:center 40%; }
.p-optiques #hero .hero-ov {
  position:absolute; inset:0; z-index:1;
  background:linear-gradient( 100deg, rgba(8,6,4,.92) 0%, rgba(8,6,4,.70) 40%, rgba(8,6,4,.35) 65%, rgba(8,6,4,.10) 85%, rgba(8,6,4,0) 100% );
}

/* Hero content — pages intérieures (page carrosserie : layout simple) */
.p-carrosserie .hero-content {
  position:relative; z-index:2; height:100%; display:flex; align-items:center;
}
.p-carrosserie .hero-box { max-width:600px; }
.p-carrosserie #hero h1 { font-size:clamp(2rem,4vw,3rem); font-weight:700; color:#fff; line-height:1.15; letter-spacing:-.02em; margin-bottom:1rem; }
.p-carrosserie .hero-sub { font-size:1.02rem; font-weight:300; color:rgba(255,255,255,.75); line-height:1.7; margin-bottom:2rem; max-width:460px; }

/* Bullets réassurance hero (page carrosserie) */
.hero-bullets { display:flex; flex-direction:column; gap:.65rem; margin-bottom:2rem; }
.hb-item { display:flex; align-items:center; gap:.65rem; }
.hb-item svg { color:var(--bronze-lt); flex-shrink:0; }
.hb-item span { font-size:.88rem; font-weight:500; color:rgba(255,255,255,.88); }

/* Hero content — pages avec formulaire */
.p-debosselage .hero-content,
.p-peinture .hero-content,
.p-parebrise .hero-content,
.p-remorquage .hero-content,
.p-sinistres .hero-content,
.p-loa .hero-content,
.p-optiques .hero-content {
  position:relative; z-index:2; width:100%; padding:4rem 0;
}
.hero-inner { display:grid; grid-template-columns:1fr 400px; gap:4rem; align-items:center; }
.p-remorquage .hero-inner { grid-template-columns:1fr 420px; }

/* Hero pill commun pages intérieures */
.hero-pill {
  display:inline-flex; align-items:center; gap:.5rem;
  background:rgba(196,114,26,.18); border:1px solid rgba(196,114,26,.5);
  padding:.32rem .85rem; margin-bottom:1.3rem;
}
.hero-pill svg { color:var(--bronze-lt); }
.hero-pill span { font-size:.68rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--bronze-lt); }
#hero h1 { font-size:clamp(1.75rem,3.2vw,2.65rem); font-weight:700; color:#fff; line-height:1.15; letter-spacing:-.02em; margin-bottom:.9rem; }
.hero-sub { font-size:.97rem; font-weight:300; color:rgba(255,255,255,.72); line-height:1.75; margin-bottom:1.8rem; max-width:460px; }

/* Badge Google (partagé index + carrosserie) */
.hero-badge {
  position:absolute; bottom:2rem; right:2rem; z-index:3;
  background:var(--white); padding:1rem 1.2rem; text-align:center;
  box-shadow:0 4px 24px rgba(0,0,0,.18);
}
.hb-n { font-size:2.2rem; font-weight:700; color:var(--ink); line-height:1; }
.hb-s { display:flex; justify-content:center; gap:2px; margin:.25rem 0; }
.hb-s svg { color:var(--bronze); }
.hb-l { font-size:.62rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3); }

/* Boutons communs */
.btn-red {
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.8rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  background:var(--bronze); color:var(--white);
  padding:.78rem 1.5rem; border:none; cursor:pointer;
  transition:background .15s, transform .15s;
}
.btn-red:hover { background:var(--bronze-dk); transform:translateY(-1px); }
.btn-ghost-w {
  display:inline-flex; align-items:center; gap:.4rem;
  font-size:1.2rem; font-weight:500; color:rgba(255,255,255,.9);
  border-bottom:1px solid rgba(255,255,255,.5); padding-bottom:.1rem;
  transition:color .15s, border-color .15s;
}
.btn-ghost-w:hover { color:#fff; border-color:#fff; }
.hero-ctas { display:flex; align-items:center; gap:2rem; flex-wrap:wrap; }

/* ──────────────────────────────────────────────────────────────────
   10. HERO — PAGE CONTACT (fond sombre uni)
   ────────────────────────────────────────────────────────────────── */
.p-contact #hero {
  background:var(--ink);
  padding:4.5rem 0;
}
.p-contact .hero-inner {
  display:grid;
  grid-template-columns:1fr 480px;
  gap:4rem;
  align-items:start;
}
.p-contact .hero-txt .tag {
  font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase;
  color:var(--bronze); display:block; margin-bottom:.75rem;
}
.p-contact #hero h1 {
  font-size:clamp(1.75rem,3.2vw,2.6rem); font-weight:700; color:#fff;
  line-height:1.15; letter-spacing:-.02em; margin-bottom:.9rem;
}
.p-contact .hero-sub {
  font-size:.97rem; font-weight:300; color:rgba(255,255,255,.6);
  line-height:1.75; margin-bottom:2rem; max-width:440px;
}
.hero-coords { display:flex; flex-direction:column; gap:.75rem; }
.hcoord {
  display:flex; align-items:center; gap:.9rem;
  padding:.9rem 1.1rem;
  background:rgba(255,255,255,.05);
  border-left:3px solid var(--bronze);
  transition:background .2s;
}
.hcoord:hover { background:rgba(255,255,255,.08); }
.hcoord svg { color:var(--bronze); flex-shrink:0; }
.hcoord-lbl { font-size:.6rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.3); display:block; margin-bottom:.15rem; }
.hcoord-val { font-size:.9rem; font-weight:500; color:#fff; }
.hcoord-val a { color:#fff; transition:color .15s; }
.hcoord-val a:hover { color:var(--bronze); }
.hero-google {
  display:inline-flex; align-items:center; gap:.75rem;
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1);
  padding:.75rem 1.1rem; margin-top:1.8rem;
}
.hg-stars { display:flex; gap:2px; }
.hg-stars svg { color:var(--bronze); }
.hg-info strong { font-size:.9rem; font-weight:700; color:#fff; display:block; line-height:1; }
.hg-info span { font-size:.65rem; font-weight:400; color:rgba(255,255,255,.4); letter-spacing:.08em; }

/* ──────────────────────────────────────────────────────────────────
   11. HERO FORM PANEL (formulaire bronze dans les heroes)
   ────────────────────────────────────────────────────────────────── */
.hero-form-panel { background:var(--bronze); padding:2.2rem 2rem; }
.hfp-title { font-size:.88rem; font-weight:700; color:#fff; margin-bottom:.3rem; }
.hfp-sub { font-size:.72rem; font-weight:300; color:rgba(255,255,255,.72); margin-bottom:1.5rem; line-height:1.55; }
.hfp-fg { display:flex; flex-direction:column; gap:.3rem; margin-bottom:.7rem; }
.hfp-fg label { font-size:.6rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.65); }
.hfp-fg input, .hfp-fg select, .hfp-fg textarea {
  background:rgba(0,0,0,.22); border:1px solid rgba(255,255,255,.2);
  color:#fff; padding:.65rem .85rem; font-family:var(--f); font-size:.84rem;
  outline:none; border-radius:0; -webkit-appearance:none; transition:border-color .18s;
}
.hfp-fg input::placeholder, .hfp-fg textarea::placeholder { color:rgba(255,255,255,.38); }
.hfp-fg input:focus, .hfp-fg select:focus, .hfp-fg textarea:focus { border-color:rgba(255,255,255,.6); background:rgba(0,0,0,.32); }
.hfp-fg select option { background:var(--bronze-dk); color:#fff; }
.hfp-fg textarea { resize:none; min-height:64px; }
.hfp-row { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; }
.hfp-btn {
  width:100%; margin-top:.4rem;
  font-size:.74rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  background:#fff; color:var(--bronze); padding:.82rem; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center; gap:.5rem;
  transition:background .15s, color .15s;
}
.hfp-btn:hover { background:var(--ink); color:#fff; }
.hfp-note { font-size:.6rem; color:rgba(255,255,255,.38); margin-top:.75rem; text-align:center; line-height:1.5; }
/* Variantes remorquage */
.hfp-btn-urgence {
  width:100%; margin-top:.4rem;
  font-size:.8rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  background:#fff; color:var(--bronze); padding:.88rem; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center; gap:.5rem;
  transition:background .15s, color .15s;
}
.hfp-btn-urgence:hover { background:var(--ink); color:#fff; }
.hfp-call-direct {
  display:flex; align-items:center; justify-content:center; gap:.6rem;
  width:100%; padding:.75rem; margin-top:.5rem;
  background:rgba(0,0,0,.2); border:1px solid rgba(255,255,255,.25);
  font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:#fff; transition:background .15s;
}
.hfp-call-direct:hover { background:rgba(0,0,0,.35); }
.hfp-call-direct svg { color:rgba(255,255,255,.8); }
/* Contact form panel */
.contact-form-panel { background:var(--bronze); padding:2.4rem 2.2rem; }
.cfp-title { font-size:.92rem; font-weight:700; color:#fff; margin-bottom:.3rem; }
.cfp-sub { font-size:.72rem; font-weight:300; color:rgba(255,255,255,.72); margin-bottom:1.6rem; line-height:1.55; }
.cfp-fg { display:flex; flex-direction:column; gap:.3rem; margin-bottom:.75rem; }
.cfp-fg label { font-size:.6rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.65); }
.cfp-fg input, .cfp-fg select, .cfp-fg textarea {
  background:rgba(0,0,0,.22); border:1px solid rgba(255,255,255,.2);
  color:#fff; padding:.68rem .9rem; font-family:var(--f); font-size:.85rem;
  outline:none; border-radius:0; -webkit-appearance:none; transition:border-color .18s;
}
.cfp-fg input::placeholder, .cfp-fg textarea::placeholder { color:rgba(255,255,255,.38); }
.cfp-fg input:focus, .cfp-fg select:focus, .cfp-fg textarea:focus { border-color:rgba(255,255,255,.6); background:rgba(0,0,0,.32); }
.cfp-fg select option { background:var(--bronze-dk); color:#fff; }
.cfp-fg textarea { resize:vertical; min-height:80px; }
.cfp-row { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }
.cfp-photo {
  background:rgba(0,0,0,.22); border:1px dashed rgba(255,255,255,.3);
  padding:1rem 1.1rem; display:flex; align-items:center; gap:.8rem; cursor:pointer;
  transition:border-color .18s;
}
.cfp-photo:hover { border-color:rgba(255,255,255,.6); }
.cfp-photo svg { color:rgba(255,255,255,.5); flex-shrink:0; }
.cfp-photo-txt { font-size:.72rem; color:rgba(255,255,255,.55); line-height:1.5; }
.cfp-photo-txt strong { color:rgba(255,255,255,.8); display:block; }
.cfp-btn {
  width:100%; margin-top:.5rem;
  font-size:.76rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  background:#fff; color:var(--bronze); padding:.9rem; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center; gap:.5rem;
  transition:background .15s, color .15s;
}
.cfp-btn:hover { background:var(--ink); color:#fff; }
.cfp-note { font-size:.6rem; color:rgba(255,255,255,.38); margin-top:.75rem; text-align:center; line-height:1.5; }

/* ──────────────────────────────────────────────────────────────────
   12. BARRE D'URGENCE (page remorquage)
   ────────────────────────────────────────────────────────────────── */
#urgence-bar {
  background:var(--urgence);
  padding:.55rem 0;
  text-align:center;
  position:relative; z-index:200;
}
.urgence-inner { display:flex; align-items:center; justify-content:center; gap:1.5rem; flex-wrap:wrap; }
.urgence-txt { font-size:.72rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#fff; }
.urgence-txt span { opacity:.75; font-weight:400; }
.btn-urgence {
  display:inline-flex; align-items:center; gap:.5rem;
  background:#fff; color:var(--urgence);
  font-size:.74rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  padding:.42rem 1.1rem;
  transition:background .15s, transform .15s;
  animation:pulse 2s ease-in-out infinite;
}
.btn-urgence:hover { background:var(--bronze); color:#fff; transform:scale(1.04); }
@keyframes pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255,255,255,.5); }
  50% { box-shadow: 0 0 0 6px rgba(255,255,255,0); }
}
@keyframes pulse-bronze {
  0%, 100% { box-shadow: 0 0 0 0 rgba(196,114,26,.4); }
  50% { box-shadow: 0 0 0 8px rgba(196,114,26,0); }
}
/* Bouton appel urgence hero */
.btn-appel-hero {
  display:inline-flex; align-items:center; gap:.75rem;
  background:var(--bronze); color:#fff;
  font-size:1rem; font-weight:700; letter-spacing:.04em;
  padding:1rem 2rem;
  transition:background .15s, transform .15s;
  animation:pulse-bronze 2.5s ease-in-out infinite;
  margin-bottom:1rem;
}
.btn-appel-hero:hover { background:var(--bronze-dk); transform:scale(1.02); }
.btn-appel-hero svg { width:22px; height:22px; }
.hero-urgence-pill {
  display:inline-flex; align-items:center; gap:.55rem;
  background:rgba(214,69,69,.22); border:1px solid rgba(214,69,69,.6);
  padding:.35rem .9rem; margin-bottom:1.3rem;
}
.hero-urgence-pill svg { color:#f87171; }
.hero-urgence-pill span { font-size:.68rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#f87171; }

/* ──────────────────────────────────────────────────────────────────
   13. FAQ
   ────────────────────────────────────────────────────────────────── */
#faq { padding:6rem 0; background:var(--bg); }
.faq-inner { display:grid; grid-template-columns:1fr 1.6fr; gap:4rem; align-items:start; }
.faq-intro .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.75rem; }
.faq-intro h2 { font-size:clamp(1.5rem,2.4vw,2rem); font-weight:700; color:var(--ink); letter-spacing:-.02em; line-height:1.25; margin-bottom:1rem; }
.faq-intro p { font-size:.9rem; font-weight:300; color:var(--ink-2); line-height:1.8; margin-bottom:1.8rem; }
.faq-cta { display:inline-flex; align-items:center; gap:.5rem; font-size:.8rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; background:var(--bronze); color:#fff; padding:.78rem 1.5rem; transition:background .15s; }
.faq-cta:hover { background:var(--bronze-dk); }
.faq-list { display:flex; flex-direction:column; gap:2px; }
/* FAQ grille 2 col (pare-brise, sinistres) */
.faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; }
.fq { background:var(--white); }
.fq-btn { width:100%; display:flex; align-items:center; justify-content:space-between; padding:1.15rem 1.35rem; background:none; border:none; cursor:pointer; text-align:left; gap:1rem; }
.fq-q { font-size:.9rem; font-weight:600; color:var(--ink); line-height:1.45; }
.fq-ico { width:22px; height:22px; flex-shrink:0; border:1.5px solid var(--line); display:flex; align-items:center; justify-content:center; transition:background .2s, border-color .2s; }
.fq-ico svg { color:var(--ink-3); transition:transform .3s; }
.fq.o .fq-ico { background:var(--bronze); border-color:var(--bronze); }
.fq.o .fq-ico svg { color:#fff; transform:rotate(45deg); }
.fq-ans { display:none; padding:0 1.35rem 1.2rem; }
.fq.o .fq-ans { display:block; }
.fq-ans p { font-size:.86rem; font-weight:300; color:var(--ink-2); line-height:1.85; }

/* FAQ zone + faq (page index) */
#zone-faq { background:var(--bg); padding:6rem 0; }
.zf-grid { display:grid; grid-template-columns:1fr 1.3fr; gap:5rem; align-items:start; }
.zone-side .tag, .faq-side .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.75rem; }
.zone-side h2, .faq-side h2 { font-size:clamp(1.3rem,2vw,1.75rem); font-weight:700; color:var(--ink); letter-spacing:-.02em; margin-bottom:.85rem; }
.zone-side p { font-size:.85rem; font-weight:300; color:var(--ink-2); line-height:1.75; margin-bottom:1.5rem; }
.ztags { display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:1.5rem; }
.ztag { font-size:.72rem; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-2); border:1px solid var(--line); padding:.38rem 1rem; transition:all .18s; cursor:default; }
.ztag.m, .ztag:hover { background:var(--ink); color:#fff; border-color:var(--ink); }
.zmap { filter:grayscale(15%); transition:filter .3s; }
.zmap:hover { filter:none; }
.faq-side h2 { margin-bottom:1.75rem; }
/* Dans le zone-faq index, les .fq ont leur propre style */
#zone-faq .fq { border-bottom:1px solid var(--line); background:transparent; }
#zone-faq .fq-btn { padding:1.2rem 0; }
#zone-faq .fq-txt { font-size:.96rem; font-weight:500; color:var(--ink); transition:color .15s; }
#zone-faq .fq-btn:hover .fq-txt { color:#fff; }
#zone-faq .fq-ico { width:24px; height:24px; border:1px solid var(--line); border-radius:50%; }
#zone-faq .fq-ans { max-height:0; overflow:hidden; transition:max-height .35s ease, padding .25s; padding:0; }
#zone-faq .fq.o .fq-ans { max-height:200px; padding-bottom:1.25rem; }
#zone-faq .fq-ans p { font-size:.92rem; font-weight:300; color:var(--ink-2); line-height:1.8; }

/* ──────────────────────────────────────────────────────────────────
   14. ZONES GÉOGRAPHIQUES
   ────────────────────────────────────────────────────────────────── */
#zones { padding:5rem 0; background:var(--white); }
.zones-grid { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:2rem; }
.zone-tag { font-size:.72rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--bronze); background:rgba(196,114,26,.08); border:1px solid rgba(196,114,26,.2); padding:.35rem .85rem; }

/* ──────────────────────────────────────────────────────────────────
   15. CONTACT CTA (section fond noir + formulaire)
   ────────────────────────────────────────────────────────────────── */
#contact-cta { padding:6rem 0; background:#111; }
.cc-inner { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }
.cc-left .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.75rem; }
.cc-left h2 { font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:700; color:#fff; letter-spacing:-.02em; line-height:1.2; margin-bottom:1.2rem; }
.cc-left p { font-size:.94rem; font-weight:300; color:rgba(255,255,255,.55); line-height:1.85; margin-bottom:1.8rem; }
.cc-infos { display:flex; flex-direction:column; gap:.85rem; }
.cc-info { display:flex; align-items:center; gap:.75rem; }
.cc-info svg { color:var(--bronze); flex-shrink:0; }
.cc-info span { font-size:.9rem; font-weight:500; color:rgba(255,255,255,.75); }

/* ──────────────────────────────────────────────────────────────────
   16. FORMULAIRE STANDARD & FORM-CARD
   ────────────────────────────────────────────────────────────────── */
.form-card { background:var(--white); padding:2.5rem; }
.form-title { font-size:1rem; font-weight:700; color:var(--ink); margin-bottom:1.5rem; padding-bottom:1rem; border-bottom:1px solid var(--line); }
.fg { display:flex; flex-direction:column; gap:.35rem; margin-bottom:.85rem; }
.fg label { font-size:.64rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-2); }
.fg input, .fg select, .fg textarea {
  background:var(--bg); border:1px solid var(--line);
  color:var(--ink); padding:.72rem .9rem;
  font-family:var(--f); font-size:.87rem;
  outline:none; transition:border-color .18s;
  border-radius:0; -webkit-appearance:none;
}
.fg input:focus, .fg select:focus, .fg textarea:focus { border-color:var(--bronze); background:var(--white); }
.fg textarea { resize:vertical; min-height:80px; }
.frow { display:grid; grid-template-columns:1fr 1fr; gap:.9rem; }
.btn-send {
  width:100%; font-size:.76rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  background:var(--bronze); color:#fff; padding:.9rem; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center; gap:.5rem; transition:background .15s;
}
.btn-send:hover { background:var(--bronze-dk); }

#foot { background:#111; padding:4rem 0 0;   text-align: left;}
.p-contact #foot { border-top:1px solid rgba(255,255,255,.06); }
.fg-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:2.5rem; padding-bottom:3rem; border-bottom:1px solid rgba(255,255,255,.06); }
.fn { font-size:1rem; font-weight:700; color:#fff; margin-bottom:.2rem; }
.fn span { color:var(--bronze); }
.fs { font-size:.58rem; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.3); margin-bottom:.9rem; }
.fd { font-size:.78rem; font-weight:300; color:rgba(255,255,255,.28); line-height:1.8; margin-bottom:1.1rem; max-width:260px; }
.fr { display:flex; align-items:center; gap:.35rem; }
.fr svg { color:var(--bronze); }
.fr span { font-size:.68rem; color:rgba(255,255,255,.25); letter-spacing:.1em; }
.fc h5 { font-size:.66rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.28); margin-bottom:1.1rem; padding-bottom:.5rem; border-bottom:1px solid rgba(255,255,255,.05); }
.fc ul { list-style:none; display:flex; flex-direction:column; gap:.5rem;  margin: 0;  color: rgba(255,255,255,.3);  font-size: .78rem;}
.fc ul a { font-size:.78rem; color:rgba(255,255,255,.3); transition:color .15s; display:inline-flex; align-items:center; gap:.3rem; }
.fc ul a:hover { color:var(--bronze); }
.fc ul a::before { content:'–'; color:rgba(196,114,26,.5); font-size:.65rem; }
.fbtm { padding:1.1rem 0; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.75rem; }
.fbtm p { font-size:.68rem; color:rgba(255,255,255,.18); font-weight:300; }
.fbtm-lnk { display:flex; gap:1.25rem; }
.fbtm-lnk a { font-size:.68rem; color:rgba(255,255,255,.18); transition:color .15s; }
.fbtm-lnk a:hover { color:var(--bronze); }

/* ──────────────────────────────────────────────────────────────────
   17. FLOAT CTA (bouton téléphone flottant)
   ────────────────────────────────────────────────────────────────── */
.fcta { position:fixed; bottom:1.5rem; right:1.5rem; z-index:80; display:flex; flex-direction:column; align-items:flex-end; gap:.4rem; }
.fcta-lbl { font-size:.6rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; background:var(--white); color:var(--bronze); padding:.25rem .65rem; border:1px solid var(--line); box-shadow:0 2px 10px rgba(0,0,0,.07); opacity:0; transform:translateX(4px); transition:all .2s; }
.fcta:hover .fcta-lbl { opacity:1; transform:translateX(0); }
.fcta-btn { width:48px; height:48px; border-radius:50%; background:var(--bronze); display:flex; align-items:center; justify-content:center; box-shadow:0 4px 18px rgba(196,114,26,.4); transition:background .15s, transform .15s; }
.fcta-btn:hover { background:var(--bronze-dk); transform:scale(1.06); }
.fcta-btn svg { color:#fff; }
/* Version pulsante pour remorquage */
.p-remorquage .fcta-btn { width:56px; height:56px; box-shadow:0 4px 18px rgba(196,114,26,.5); animation:pulse-bronze 2s ease-in-out infinite; }
.p-remorquage .fcta-btn:hover { transform:scale(1.08); }

/* ──────────────────────────────────────────────────────────────────
   18. BOUTONS PARTAGÉS
   ────────────────────────────────────────────────────────────────── */
.btn-bronze {
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.8rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  background:var(--bronze); color:#fff;
  padding:.85rem 1.75rem; white-space:nowrap;
  transition:background .15s, transform .15s;
}
.btn-bronze:hover { background:var(--bronze-dk); transform:translateY(-1px); }
.btn-outline { display:inline-flex; align-items:center; gap:.4rem; font-size:.74rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--ink); border:1px solid var(--line); padding:.6rem 1.3rem; transition:all .18s; }
.btn-outline:hover { border-color:var(--bronze); color:var(--bronze); }
.btn-ghost {
  font-size:.76rem; font-weight:600; color:var(--bronze);
  border-bottom:1px solid rgba(196,114,26,.4); padding-bottom:.1rem;
  transition:border-color .15s; white-space:nowrap;
}
.btn-ghost:hover { border-color:var(--bronze); }
.cta-btns { display:flex; flex-direction:column; gap:.75rem; align-items:center; }
/* CTA inner (maillage pages) */
.cta-inner {
  display:grid; grid-template-columns:1fr auto; gap:3rem; align-items:center;
  padding:3rem 3.5rem; background:var(--white); border-left:4px solid var(--bronze);
}
.cta-inner .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.6rem; }
.cta-inner h3 { font-size:1.45rem; font-weight:700; color:var(--ink); letter-spacing:-.02em; margin-bottom:.6rem; }
.cta-inner p { font-size:.9rem; font-weight:300; color:var(--ink-2); line-height:1.7; }

/* ──────────────────────────────────────────────────────────────────
   19. SECTION ASSURANCE + FRANCHISE PANEL (partagé)
   ────────────────────────────────────────────────────────────────── */
.ass-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:5rem; align-items:center; }
.ass-txt .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.75rem; }
.ass-txt h2 { font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:700; letter-spacing:-.02em; line-height:1.2; margin-bottom:1.2rem; }
.ass-txt p { font-size:.94rem; font-weight:300; line-height:1.85; margin-bottom:1.5rem; }
.ass-checks { display:flex; flex-direction:column; gap:.7rem; margin-bottom:2rem; }
.ass-check { display:flex; align-items:center; gap:.7rem; }
.ass-check svg { color:var(--bronze); flex-shrink:0; }
/* Franchise panel (simple centré, pages intérieures) */
.franchise-panel { background:var(--bronze); padding:2.5rem; text-align:center; }
.fp-ico { margin:0 auto .9rem; }
.fp-ico svg { color:#fff; }
.fp-val { font-size:3.5rem; font-weight:700; color:#fff; line-height:1; }
.fp-unit { font-size:1rem; font-weight:400; color:rgba(255,255,255,.7); }
.fp-label { font-size:.72rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.75); margin:.5rem 0 1.2rem; }
.fp-divider { height:1px; background:rgba(255,255,255,.2); margin:1.2rem 0; }
.fp-benefits { display:flex; flex-direction:column; gap:.65rem; text-align:left; }
.fp-b { display:flex; align-items:flex-start; gap:.65rem; }
.fp-b svg { color:rgba(255,255,255,.75); flex-shrink:0; margin-top:.1rem; }
.fp-b span { font-size:.82rem; font-weight:400; color:rgba(255,255,255,.85); line-height:1.55; }
.fp-note { font-size:.62rem; color:rgba(255,255,255,.4); margin-top:1.2rem; text-align:center; }

/* ──────────────────────────────────────────────────────────────────
   20. AVIS CLIENTS (page index)
   ────────────────────────────────────────────────────────────────── */
#avis { background:var(--white); padding:6rem 0; }
.avis-top { display:flex; align-items:center; gap:2rem; margin-bottom:3rem; flex-wrap:wrap; }
.avis-score { font-size:4rem; font-weight:700; color:var(--ink); line-height:1; }
.avis-stars { display:flex; gap:3px; margin-bottom:.3rem; }
.avis-stars svg { color:var(--bronze); }
.avis-lbl { font-size:.68rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3); }
.avis-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); margin-bottom:2rem; }
.acard { background:var(--bg); padding:1.6rem; display:none; flex-direction:column; gap:.75rem; }
.acard.on { display:flex; }
.acard-top { display:flex; align-items:center; gap:.65rem; }
.acard-av { width:38px; height:38px; border-radius:50%; flex-shrink:0; background:var(--bronze); display:flex; align-items:center; justify-content:center; font-size:.82rem; font-weight:700; color:#fff; }
.acard-name { font-size:.83rem; font-weight:600; color:var(--ink); }
.acard-date { font-size:.65rem; color:var(--ink-3); margin-top:.08rem; }
.acard-stars { display:flex; gap:2px; }
.acard-stars svg { color:var(--bronze); }
.acard-txt { font-size:.82rem; font-weight:300; color:var(--ink-2); line-height:1.75; font-style:italic; }
.avis-nav { display:flex; align-items:center; justify-content:center; gap:.75rem; }
.avis-btn { width:36px; height:36px; border:1px solid var(--line); background:var(--white); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all .18s; }
.avis-btn:hover { background:var(--bronze); border-color:var(--bronze); }
.avis-btn:hover svg { color:#fff; }
.avis-btn svg { color:var(--ink-2); transition:color .18s; }
.adots { display:flex; gap:.38rem; }
.adot { width:6px; height:6px; border-radius:50%; background:var(--line); cursor:pointer; transition:all .2s; border:none; }
.adot.on { background:var(--bronze); transform:scale(1.35); }
.avis-gmap { text-align:center; margin-top:1.75rem; }

/* ──────────────────────────────────────────────────────────────────
   21. SEO LOCAL (page index)
   ────────────────────────────────────────────────────────────────── */
#seo-local { background:var(--white); padding:6rem 0; border-top:1px solid var(--line); }
.seo-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }
.seo-text .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.75rem; }
.seo-text h2 { font-size:clamp(1.4rem,2.2vw,1.9rem); font-weight:700; color:var(--ink); letter-spacing:-.02em; line-height:1.2; margin-bottom:1.25rem; }
.seo-text p { font-size:.87rem; font-weight:300; color:var(--ink-2); line-height:1.85; margin-bottom:1rem; }
.seo-text p:last-of-type { margin-bottom:1.5rem; }
.seo-text strong { font-weight:600; color:var(--ink); }
.seo-kw { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:1.5rem; }
.seo-kw span { font-size:.68rem; font-weight:500; letter-spacing:.07em; text-transform:uppercase; color:var(--ink-2); border:1px solid var(--line); padding:.3rem .85rem; }
.seo-photos { display:flex; flex-direction:column; gap:1px; }
.seo-photo { position:relative; overflow:hidden; }
.seo-photo:first-child { height:280px; }
.seo-photo:last-child  { height:200px; }
.seo-photo img { width:100%; height:100%; object-fit:cover; transition:transform .55s ease; display:block; }
.seo-photo:hover img { transform:scale(1.03); }
.seo-photo-cap { position:absolute; bottom:0; left:0; right:0; padding:.65rem 1rem; background:linear-gradient(to top, rgba(0,0,0,.65) 0%, transparent 100%); font-size:.62rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.7); }

/* ──────────────────────────────────────────────────────────────────
   22. CONTACT (page index)
   ────────────────────────────────────────────────────────────────── */
.p-index #contact { background:var(--white); padding:6rem 0; }
.contact-hd { margin-bottom:3rem; }
.contact-hd .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.75rem; }
.contact-hd h2 { font-size:clamp(1.8rem,2.8vw,2.5rem); font-weight:700; color:var(--ink); letter-spacing:-.02em; }
.cg { display:grid; grid-template-columns:1.15fr .85fr; gap:4rem; align-items:start; }
.ci { display:flex; align-items:flex-start; gap:.85rem; padding:1rem 1.1rem; border-left:2px solid transparent; transition:border-color .18s, background .18s; margin-bottom:2px; }
.ci:hover { border-left-color:var(--bronze); background:var(--bg); }
.ci svg { color:var(--bronze); flex-shrink:0; margin-top:.1rem; }
.ci-l { font-size:.6rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:var(--ink-3); margin-bottom:.2rem; }
.ci-v { font-size:.94rem; color:var(--ink); line-height:1.55; }
.ci-v a { color:var(--ink); transition:color .15s; }
.ci-v a:hover { color:var(--bronze); }
.cmap { margin-top:1.25rem; filter:grayscale(15%); }

/* ──────────────────────────────────────────────────────────────────
   23. PAGE INDEX — SECTIONS SPÉCIFIQUES
   ────────────────────────────────────────────────────────────────── */

/* ESMA */
#esma { background:var(--white); padding-top:5rem; }
.esma-grid { display:grid; grid-template-columns:310px 1fr; gap:40px; min-height:460px; }
.esma-photo { position:relative; align-self:stretch; display:flex; align-items:flex-end; justify-content:center; min-height:400px; }
.esma-img { width:100%; height:100%; object-fit:cover; object-position:top center; mask-image:linear-gradient(to top, transparent 0%, black 12%); -webkit-mask-image:linear-gradient(to top, transparent 0%, black 12%); }
.esma-txt { padding:0 4rem 0 4.5rem; display:flex; flex-direction:column; justify-content:center; }
.esma-txt .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); margin-bottom:.9rem; }
.esma-txt h2 { font-size:clamp(1.8rem,2.8vw,2.5rem); font-weight:700; color:var(--ink); letter-spacing:-.02em; line-height:1.2; margin-bottom:1.25rem; }
.esma-quote { padding:1rem 1.25rem 1rem 1.4rem; border-left:3px solid var(--bronze); background:var(--bg); margin-bottom:2rem; }
.esma-quote p { font-size:.96rem; font-style:italic; font-weight:300; color:var(--ink-2); line-height:1.7; }
.esma-quote cite { display:block; margin-top:.4rem; font-style:normal; font-size:.65rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--bronze); }
.esma-stats { display:flex; gap:3rem; }
.es-v { font-size:1.9rem; font-weight:700; color:var(--ink); line-height:1; }
.es-l { font-size:.68rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); margin-top:.2rem; }

/* FRANCHISE (index) */
#franchise { background:var(--bg); padding:6rem 0; }
.p-index .section-hd { text-align:center; max-width:560px; margin:0 auto 3.5rem; }
.p-index .section-hd h2 { font-size:clamp(1.5rem,2.5vw,2.1rem); }
.p-index .section-hd p { font-size:.88rem; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); }
.step { background:var(--white); padding:2.5rem 2.25rem; transition:box-shadow .25s, transform .25s; }
.step:hover { box-shadow:0 10px 40px rgba(0,0,0,.07); transform:translateY(-4px); z-index:1; }
.step-n { font-size:2.8rem; font-weight:700; color:var(--bronze); opacity:.25; line-height:1; margin-bottom:1.1rem; }
.step h3 { font-size:.95rem; font-weight:600; color:var(--ink); margin-bottom:.65rem; letter-spacing:-.01em; }
.step p { font-size:.83rem; font-weight:300; color:var(--ink-2); line-height:1.75; }
.franchise-cta {
  margin-top:2rem; background:#1A2332;
  padding:2.25rem 2.75rem;
  display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap;
}
.franchise-cta blockquote { font-size:.9rem; font-style:italic; font-weight:300; color:rgba(255,255,255,.65); line-height:1.75; max-width:520px; }
.franchise-cta cite { display:block; font-style:normal; margin-top:.5rem; font-size:.62rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.3); }
/* Layout 2 colonnes franchise index */
.franchise-layout { display:grid; grid-template-columns:1fr 380px; gap:3px; background:var(--line); align-items:stretch; }
/* Panneau droite bronze (index) */
.p-index .franchise-panel {
  background:var(--bronze); padding:2.5rem 2.25rem;
  display:flex; flex-direction:column; justify-content:space-between; gap:2rem;
  text-align:left;
}
.fp-title { font-size:.68rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.55); margin-bottom:1.25rem; }
.fp-avantages { display:flex; flex-direction:column; gap:1.1rem; flex:1; }
.fp-av { display:flex; align-items:flex-start; gap:.85rem; }
.fp-av-ico { width:36px; height:36px; background:rgba(255,255,255,.15); flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.fp-av-ico svg { color:#fff; }
.fp-av-t { font-size:.9rem; font-weight:700; color:#fff; line-height:1.2; margin-bottom:.2rem; }
.fp-av-d { font-size:.78rem; font-weight:300; color:rgba(255,255,255,.72); line-height:1.55; }
.fp-quote { border-top:1px solid rgba(255,255,255,.2); padding-top:1.4rem; }
.fp-quote p { font-size:.84rem; font-style:italic; font-weight:300; color:rgba(255,255,255,.8); line-height:1.7; margin-bottom:.5rem; }
.fp-quote cite { font-style:normal; font-size:.6rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.45); }
.fp-cta {
  display:inline-flex; align-items:center; gap:.5rem;
  background:#fff; color:var(--bronze-dk);
  font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  padding:.9rem 1.5rem; transition:background .15s; text-decoration:none;
  margin-top:1.5rem; align-self:flex-start;
}
.fp-cta:hover { background:#f5e8d8; }

/* INTRO ATELIER */
#intro-atelier { background:#111; padding:5.5rem 0; position:relative; overflow:hidden; }
#intro-atelier::before { content:'CDV'; position:absolute; right:-1rem; top:50%; transform:translateY(-50%); font-size:18rem; font-weight:900; color:rgba(255,255,255,.025); letter-spacing:-.05em; line-height:1; pointer-events:none; user-select:none; }
.intro-inner { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.intro-left .tag { font-size:.65rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--bronze-lt); display:block; margin-bottom:1rem; }
.intro-left h2 { font-size:clamp(1.9rem,3.2vw,2.9rem); font-weight:800; color:#fff; letter-spacing:-.03em; line-height:1.1; margin-bottom:1.5rem; }
.intro-left h2 em { font-style:normal; color:var(--bronze-lt); position:relative; }
.intro-subline { font-size:.9rem; font-weight:300; color:rgba(255,255,255,.5); line-height:1.75; margin-bottom:2rem; max-width:400px; }
.intro-bullets { display:flex; flex-direction:column; gap:.65rem; margin-bottom:2.5rem; }
.ib { display:flex; align-items:center; gap:.75rem; font-size:.86rem; font-weight:500; color:rgba(255,255,255,.82); }
.ib-dot { width:6px; height:6px; background:var(--bronze); flex-shrink:0; }
.ib strong { color:#fff; font-weight:700; }
.intro-cta { display:inline-flex; align-items:center; gap:.5rem; font-size:.76rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--bronze-lt); border-bottom:1px solid rgba(224,128,48,.4); padding-bottom:.1rem; transition:color .15s, border-color .15s; }
.intro-cta:hover { color:#fff; border-color:rgba(255,255,255,.5); }
.intro-stats { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(255,255,255,.06); margin-bottom:1.5rem; }
.istat { background:rgba(255,255,255,.03); padding:1.5rem 1.6rem; transition:background .2s; }
.istat:hover { background:rgba(196,114,26,.1); }
.istat-v { font-size:2.2rem; font-weight:800; color:#fff; line-height:1; letter-spacing:-.04em; }
.istat-v span { color:var(--bronze-lt); }
.istat-l { font-size:.62rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.3); margin-top:.35rem; }
.intro-quote { padding:1.2rem 1.4rem 1.2rem 1.6rem; border-left:3px solid var(--bronze); background:rgba(255,255,255,.04); }
.intro-quote p { font-size:.86rem; font-style:italic; font-weight:300; color:rgba(255,255,255,.6); line-height:1.75; }
.intro-quote cite { display:block; margin-top:.45rem; font-style:normal; font-size:.6rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--bronze); }
/* PRESTATIONS */
#prestations { background:#252320; padding:5rem 0 4rem; }
#prestations .section-hd .tag { color:var(--bronze-lt); }
#prestations .section-hd h2 { color:#fff; font-size:clamp(2rem,3.2vw,2.8rem); }
#prestations .section-hd p { color:rgba(255,255,255,.45); font-size:1rem; }

/* Grille principale — gap:0 pour virer la barre noire entre colonnes */
.prest-cols { display:grid; grid-template-columns:1.2fr 0.8fr; gap:0; background:#111; }
.prest-col-label { padding:.85rem 1.6rem; font-size:.65rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:#fff; background:var(--bronze); }

/* Colonne gauche */
.prest-main { display:flex; flex-direction:column; gap:3px; background:#111; }
.svc { display:flex; align-items:center; gap:1.25rem; padding:1.5rem 1.8rem; background:#f5f0ea; transition:background .2s; cursor:pointer; text-decoration:none; color:inherit; flex:1; }
.svc:hover { background:#fff; }
.svc-ico { width:52px; height:52px; flex-shrink:0; background:var(--bronze); display:flex; align-items:center; justify-content:center; transition:background .2s; }
.svc:hover .svc-ico { background:var(--bronze-dk); }
.svc-ico svg { color:#fff; }
.svc-body { flex:1; min-width:0; }
.svc-name { font-size:.95rem; font-weight:800; color:#1a1208; letter-spacing:.07em; text-transform:uppercase; margin-bottom:.25rem; line-height:1.2; }
.svc-desc { font-size:.85rem; font-weight:300; color:#5a4e42; line-height:1.6; }
.svc-arr { flex-shrink:0; color:var(--bronze); opacity:.45; transition:opacity .2s, transform .2s; }
.svc:hover .svc-arr { opacity:1; transform:translateX(3px); }

/* Colonne droite */
.prest-side { display:flex; flex-direction:column; gap:0; background:#111; }
.svc2-grid { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr auto; gap:3px; background:#111; flex:1; }

/* Cards 2×2 */
.svc2 { background:#f5f0ea; padding:1.5rem 1.3rem; display:flex; flex-direction:column; gap:.65rem; transition:background .2s; cursor:pointer; text-decoration:none; color:inherit; }
.svc2:hover { background:#fff; }
.svc2-ico { width:44px; height:44px; background:var(--bronze); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:background .18s; }
.svc2:hover .svc2-ico { background:var(--bronze-dk); }
.svc2-ico svg { color:#fff; }
.svc2-name { font-size:.82rem; font-weight:800; color:#1a1208; line-height:1.2; letter-spacing:.07em; text-transform:uppercase; }
.svc2-desc { font-size:.8rem; font-weight:300; color:#5a4e42; line-height:1.55; }

/* Card devis — pleine largeur en bas */
.svc2-full { grid-column:1 / -1; flex-direction:row !important; align-items:center; justify-content:space-between; padding:1.4rem 1.6rem; gap:1rem; }
.svc2-full-left { display:flex; align-items:center; gap:1rem; }
.svc2-full .svc2-ico { flex-shrink:0; }
.svc2-full .svc2-arr { flex-shrink:0; color:var(--bronze); opacity:.45; transition:opacity .2s, transform .2s; }.prest-main { border-right: none !important; }
.svc2-full:hover .svc2-arr { opacity:1; transform:translateX(3px); }
.prest-cols { display:grid; grid-template-columns:1.2fr 0.8fr; gap:3px; background:#111; }
/* PAREBRISE section index */
#parebrise { position:relative; overflow:hidden; }
.pb-bg { position:absolute; inset:0; background:url('https://carrosserieduval.fr/wp-content/uploads/2026/04/reparation-pare-brise.webp') center/cover; }
.pb-ov { position:absolute; inset:0; background:linear-gradient(105deg, rgba(8,6,4,.88) 0%, rgba(8,6,4,.75) 50%, rgba(8,6,4,.55) 100%); }
.pb-cols { position:relative; z-index:2; display:grid; grid-template-columns:1fr 380px; gap:4rem; align-items:center; padding:6rem 0; }
.pb-inner .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.45); display:block; margin-bottom:.75rem; }
.pb-inner h2 { font-size:clamp(1.8rem,3vw,2.8rem); font-weight:700; color:#fff; letter-spacing:-.02em; line-height:1.15; margin-bottom:1rem; }
.pb-inner p { font-size:.96rem; font-weight:300; color:rgba(255,255,255,.6); line-height:1.8; margin-bottom:1.5rem; max-width:480px; }
.pb-list { display:flex; flex-direction:column; gap:.6rem; margin-bottom:2rem; }
.pb-li { display:flex; align-items:center; gap:.65rem; font-size:.9rem; font-weight:400; color:rgba(255,255,255,.8); }
.pb-li svg { color:var(--bronze); flex-shrink:0; }
.pb-franchise { background:var(--bronze); padding:2.5rem 2.25rem; display:flex; flex-direction:column; gap:1.5rem; }
.pbf-label { font-size:.62rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:rgba(255,255,255,.55); }
.pbf-title { font-size:clamp(1.5rem,2.2vw,2rem); font-weight:800; color:#fff; line-height:1.15; letter-spacing:-.02em; }
.pbf-title span { display:block; font-size:.75em; font-weight:400; opacity:.75; margin-top:.2rem; }
.pbf-items { display:flex; flex-direction:column; gap:1rem; }
.pbf-item { display:flex; align-items:flex-start; gap:.85rem; }
.pbf-ico { width:34px; height:34px; background:rgba(255,255,255,.18); flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.pbf-ico svg { color:#fff; }
.pbf-t { font-size:.88rem; font-weight:700; color:#fff; margin-bottom:.15rem; line-height:1.2; }
.pbf-d { font-size:.78rem; font-weight:300; color:rgba(255,255,255,.72); line-height:1.5; }
.pbf-divider { height:1px; background:rgba(255,255,255,.2); }
.pbf-quote { font-size:.82rem; font-style:italic; font-weight:300; color:rgba(255,255,255,.75); line-height:1.65; }
.pbf-quote cite { display:block; margin-top:.4rem; font-style:normal; font-size:.6rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.4); }
.pbf-cta { display:inline-flex; align-items:center; gap:.5rem; background:#fff; color:var(--bronze-dk); font-size:.74rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; padding:.9rem 1.4rem; text-decoration:none; transition:background .15s; align-self:flex-start; }
.pbf-cta:hover { background:#f5e8d8; }

/* ──────────────────────────────────────────────────────────────────
   24. PAGE CARROSSERIE — SECTIONS SPÉCIFIQUES
   ────────────────────────────────────────────────────────────────── */
#problematique { padding:6rem 0; background:var(--white); }
.prob-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.prob-img-wrap { position:relative; }
.prob-img-wrap img { width:100%; height:420px; object-fit:cover; }
.prob-badge { position:absolute; bottom:-1.5rem; right:-1.5rem; background:var(--bronze); color:#fff; padding:1.2rem 1.5rem; text-align:center; }
.prob-badge strong { font-size:1.6rem; font-weight:700; display:block; line-height:1; }
.prob-badge span { font-size:.62rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; opacity:.85; }
.prob-txt .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.75rem; }
.prob-txt h2 { font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:700; color:var(--ink); letter-spacing:-.02em; line-height:1.2; margin-bottom:1.2rem; }
.prob-txt p { font-size:.94rem; font-weight:300; color:var(--ink-2); line-height:1.85; margin-bottom:1.1rem; }
.danger-list { margin:1.5rem 0; display:flex; flex-direction:column; gap:.85rem; }
.danger-item { display:flex; align-items:flex-start; gap:.75rem; padding:.9rem 1rem; background:var(--bg); border-left:3px solid var(--bronze); }
.danger-item svg { color:var(--bronze); flex-shrink:0; margin-top:.1rem; }
.danger-item strong { font-size:.85rem; font-weight:600; color:var(--ink); display:block; margin-bottom:.2rem; }
.danger-item span { font-size:.8rem; font-weight:300; color:var(--ink-2); line-height:1.6; }

#processus { padding:6rem 0; background:var(--bg); }
.steps-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; position:relative; }
.steps-grid::before { content:''; position:absolute; top:2.2rem; left:calc(12.5% + 1rem); right:calc(12.5% + 1rem); height:2px; background:linear-gradient(90deg, var(--bronze) 0%, rgba(196,114,26,.3) 100%); z-index:0; }
.step-card { background:var(--white); padding:2rem 1.5rem 1.75rem; text-align:center; position:relative; z-index:1; transition:transform .25s, box-shadow .25s; }
.step-card:hover { transform:translateY(-4px); box-shadow:0 12px 40px rgba(0,0,0,.08); }
.step-num { width:44px; height:44px; background:var(--bronze); color:#fff; font-size:.8rem; font-weight:700; letter-spacing:.08em; display:flex; align-items:center; justify-content:center; margin:0 auto 1.25rem; }
.step-ico { margin:0 auto .9rem; color:var(--bronze); }
.step-card h3 { font-size:.92rem; font-weight:700; color:var(--ink); letter-spacing:-.01em; margin-bottom:.55rem; }
.step-card p { font-size:.78rem; font-weight:300; color:var(--ink-3); line-height:1.75; }

#technique { padding:6rem 0; background:var(--white); }
.tech-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.tech-content .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.75rem; }
.tech-content h2 { font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:700; color:var(--ink); letter-spacing:-.02em; line-height:1.2; margin-bottom:1.5rem; }
.tech-items { display:flex; flex-direction:column; gap:0; }
.tech-item { padding:1.4rem 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:auto 1fr; gap:1rem; align-items:start; }
.tech-item:first-child { border-top:1px solid var(--line); }
.tech-ico-sq { width:42px; height:42px; background:var(--bronze); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.tech-ico-sq svg { color:#fff; }
.tech-item-txt strong { font-size:.9rem; font-weight:700; color:var(--ink); display:block; margin-bottom:.35rem; }
.tech-item-txt p { font-size:.82rem; font-weight:300; color:var(--ink-2); line-height:1.75; }
.tech-visual { display:flex; flex-direction:column; gap:1.5rem; }
.tech-img-main img { width:100%; height:320px; object-fit:cover; }
.tech-img-cap { font-size:.65rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3); text-align:center; padding:.5rem 0; border-top:1px solid var(--line); }
.tech-img-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.tech-img-grid img { height:160px; object-fit:cover; }

#assurance { padding:6rem 0; }
.p-carrosserie #assurance { background:#111; }
.p-carrosserie .ass-txt h2 { color:#fff; }
.p-carrosserie .ass-txt p { color:rgba(255,255,255,.55); }
.p-carrosserie .ass-check span { color:rgba(255,255,255,.75); }

#cta-peinture { padding:5rem 0; background:var(--bg); }

/* ──────────────────────────────────────────────────────────────────
   25. PAGE DÉBOSSELAGE — SECTIONS SPÉCIFIQUES
   ────────────────────────────────────────────────────────────────── */
/* tech-grid debosselage (même structure mais .tech-txt) */
.tech-txt .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.75rem; }
.tech-txt h2 { font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:700; color:var(--ink); letter-spacing:-.02em; line-height:1.2; margin-bottom:1.2rem; }
.tech-txt p { font-size:.94rem; font-weight:300; color:var(--ink-2); line-height:1.85; margin-bottom:1.1rem; }
.methodes { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); margin:1.8rem 0; }
.methode { background:var(--bg); padding:1.5rem 1.4rem; }
.methode-ico { width:40px; height:40px; background:var(--bronze); display:flex; align-items:center; justify-content:center; margin-bottom:.9rem; }
.methode-ico svg { color:#fff; }
.methode strong { font-size:.88rem; font-weight:700; color:var(--ink); display:block; margin-bottom:.4rem; }
.methode p { font-size:.78rem; font-weight:300; color:var(--ink-2); line-height:1.7; margin:0; }
.avantage-list { display:flex; flex-direction:column; gap:.6rem; }
.avantage-item { display:flex; align-items:center; gap:.65rem; }
.avantage-item svg { color:var(--bronze); flex-shrink:0; }
.avantage-item span { font-size:.88rem; font-weight:400; color:var(--ink-2); }
.tech-img-main img { height:340px; object-fit:cover; }

#revente { padding:6rem 0; background:#111; position:relative; overflow:hidden; }
#revente::before { content:''; position:absolute; top:0; right:0; width:40%; height:100%; background:url('https://carrosserieduval.fr/wp-content/uploads/2026/04/mecanicien-expert-reparation-carrosserie-cagnes.jpg') center/cover; opacity:.1; }
.revente-inner { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.revente-txt .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.75rem; }
.revente-txt h2 { font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:700; color:#fff; letter-spacing:-.02em; line-height:1.2; margin-bottom:1.2rem; }
.revente-txt p { font-size:.94rem; font-weight:300; color:rgba(255,255,255,.55); line-height:1.85; margin-bottom:1.1rem; }
.revente-stats { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(255,255,255,.06); margin:2rem 0; }
.rstat { background:#111; padding:1.5rem 1.2rem; text-align:center; }
.rstat-val { font-size:2.2rem; font-weight:700; color:var(--bronze); line-height:1; }
.rstat-unit { font-size:.8rem; font-weight:400; color:var(--bronze); }
.rstat-lbl { font-size:.65rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.3); margin-top:.35rem; line-height:1.4; }
.compare-table { width:100%; border-collapse:collapse; }
.compare-table th { font-size:.65rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; padding:.75rem 1rem; text-align:left; }
.compare-table th:first-child { color:rgba(255,255,255,.3); }
.compare-table th:nth-child(2) { color:var(--bronze); background:rgba(196,114,26,.12); }
.compare-table th:nth-child(3) { color:rgba(255,255,255,.3); }
.compare-table td { font-size:.82rem; font-weight:300; padding:.7rem 1rem; border-top:1px solid rgba(255,255,255,.06); color:rgba(255,255,255,.6); }
.compare-table td:nth-child(2) { background:rgba(196,114,26,.08); color:rgba(255,255,255,.85); font-weight:500; }
.compare-table .good { color:#6dbb6d; }
.compare-table .bad { color:rgba(255,255,255,.3); text-decoration:line-through; }

#cas-usage { padding:6rem 0; background:var(--bg); }
.cas-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.cas-card { background:var(--white); overflow:hidden; transition:transform .25s, box-shadow .25s; }
.cas-card:hover { transform:translateY(-4px); box-shadow:0 14px 44px rgba(0,0,0,.09); }
.cas-card-img { position:relative; }
.cas-card-img img { height:220px; object-fit:cover; }
.cas-card-label { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(to top, rgba(8,6,4,.85), transparent); padding:1.5rem 1.2rem .8rem; }
.cas-card-label span { font-size:.65rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.65); }
.cas-card-label strong { display:block; font-size:1rem; font-weight:700; color:#fff; margin-top:.15rem; }
.cas-card- { padding:1.5rem; }
.cas-card- p { font-size:.84rem; font-weight:300; color:var(--ink-2); line-height:1.75; margin-bottom:1rem; }
.cas-eligible { display:flex; align-items:center; gap:.5rem; font-size:.7rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.cas-eligible.oui { color:#5a9e4a; }
.cas-eligible.oui svg { color:#5a9e4a; }
.cas-eligible.cond { color:var(--bronze); }
.cas-eligible.cond svg { color:var(--bronze); }

#cta-carrosserie { padding:5rem 0; background:var(--bg); }

/* ──────────────────────────────────────────────────────────────────
   26. PAGE PEINTURE — SECTIONS SPÉCIFIQUES
   ────────────────────────────────────────────────────────────────── */
#labo { padding:6rem 0; background:var(--white); }
.labo-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.labo-txt .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.75rem; }
.labo-txt h2 { font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:700; color:var(--ink); letter-spacing:-.02em; line-height:1.2; margin-bottom:1.2rem; }
.labo-txt p { font-size:.94rem; font-weight:300; color:var(--ink-2); line-height:1.85; margin-bottom:1.1rem; }
.spec-card { background:var(--bg); border-left:3px solid var(--bronze); padding:1.4rem 1.5rem; margin:1.5rem 0; display:grid; grid-template-columns:auto 1fr; gap:1rem; align-items:center; }
.spec-card-ico { width:48px; height:48px; background:var(--bronze); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.spec-card-ico svg { color:#fff; }
.spec-card strong { font-size:.9rem; font-weight:700; color:var(--ink); display:block; margin-bottom:.3rem; }
.spec-card p { font-size:.8rem; font-weight:300; color:var(--ink-2); line-height:1.7; margin:0; }
.eco-badge { display:inline-flex; align-items:center; gap:.65rem; background:rgba(100,160,80,.08); border:1px solid rgba(100,160,80,.25); padding:.75rem 1.1rem; margin-top:.5rem; }
.eco-badge svg { color:#5a9e4a; flex-shrink:0; }
.eco-badge span { font-size:.8rem; font-weight:500; color:#4a8a3a; line-height:1.5; }
.labo-visual { position:relative; }
.labo-img-main { position:relative; }
.labo-img-main img { width:100%; height:400px; object-fit:cover; }
.labo-img-cap { font-size:.65rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3); text-align:center; padding:.5rem 0; border-top:1px solid var(--line); }
.labo-img-small { position:absolute; bottom:-1.5rem; right:-1.5rem; width:180px; }
.labo-img-small img { width:180px; height:140px; object-fit:cover; border:3px solid var(--white); box-shadow:0 8px 30px rgba(0,0,0,.15); }

#prestations-peinture { padding:6rem 0; background:var(--bg); }
.presta-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.presta-card { background:var(--white); transition:transform .25s, box-shadow .25s; overflow:hidden; }
.presta-card:hover { transform:translateY(-4px); box-shadow:0 14px 44px rgba(0,0,0,.09); }
.presta-card-img img { width:100%; height:200px; object-fit:cover; }
.presta-card- { padding:1.6rem; }
.presta-card-ico { width:40px; height:40px; background:var(--bronze); display:flex; align-items:center; justify-content:center; margin-bottom:1rem; }
.presta-card-ico svg { color:#fff; }
.presta-card h3 { font-size:.95rem; font-weight:700; color:var(--ink); margin-bottom:.55rem; letter-spacing:-.01em; }
.presta-card p { font-size:.8rem; font-weight:300; color:var(--ink-2); line-height:1.75; }
.presta-card .presta-tag { display:inline-block; margin-top:.9rem; font-size:.62rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--bronze); border-bottom:1px solid rgba(196,114,26,.3); padding-bottom:1px; }

#cabine { padding:6rem 0; background:#111; position:relative; overflow:hidden; }
#cabine::before { content:''; position:absolute; top:0; right:0; width:45%; height:100%; background:url('https://carrosserieduval.fr/wp-content/uploads/2026/04/preparation-peinture-auto-carrosserie-du-val.jpg') center/cover no-repeat; opacity:.18; }
.cabine-inner { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.cabine-txt .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.75rem; }
.cabine-txt h2 { font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:700; color:#fff; letter-spacing:-.02em; line-height:1.2; margin-bottom:1.2rem; }
.cabine-txt p { font-size:.94rem; font-weight:300; color:rgba(255,255,255,.55); line-height:1.85; margin-bottom:1.1rem; }
.cabine-stats { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(255,255,255,.06); margin:2rem 0; }
.cstat { background:#111; padding:1.4rem 1.2rem; text-align:center; }
.cstat-val { font-size:2.2rem; font-weight:700; color:var(--bronze); line-height:1; }
.cstat-unit { font-size:.75rem; font-weight:400; color:var(--bronze); }
.cstat-lbl { font-size:.65rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.3); margin-top:.35rem; }
.cabine-checks { display:flex; flex-direction:column; gap:.65rem; }
.cabine-check { display:flex; align-items:flex-start; gap:.7rem; }
.cabine-check svg { color:var(--bronze); flex-shrink:0; margin-top:.1rem; }
.cabine-check span { font-size:.86rem; font-weight:300; color:rgba(255,255,255,.72); line-height:1.6; }
.cabine-visual { display:flex; flex-direction:column; gap:1rem; }
.cabine-visual img { width:100%; height:260px; object-fit:cover; }
.cabine-img-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.cabine-img-grid img { height:140px; object-fit:cover; }

#processus-peinture { padding:6rem 0; background:var(--white); }
#processus-peinture .steps-grid { grid-template-columns:repeat(5,1fr); gap:1.5rem; }
#processus-peinture .steps-grid::before { left:calc(10% + 1rem); right:calc(10% + 1rem); background:linear-gradient(90deg, var(--bronze) 0%, rgba(196,114,26,.2) 100%); }
#processus-peinture .step-card { background:var(--bg); padding:1.75rem 1.25rem 1.5rem; }
#processus-peinture .step-card h3 { font-size:.84rem; }
#processus-peinture .step-card p { font-size:.74rem; }

.p-peinture #assurance { background:#111; }
.p-peinture .ass-txt h2 { color:#fff; }
.p-peinture .ass-txt p { color:rgba(255,255,255,.55); }
.p-peinture .ass-check span { color:rgba(255,255,255,.75); }

/* ──────────────────────────────────────────────────────────────────
   27. PAGE PARE-BRISE — SECTIONS SPÉCIFIQUES
   ────────────────────────────────────────────────────────────────── */
.h1-gift { display:inline-flex; align-items:center; gap:.5rem; background:var(--bronze); color:#fff; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:.28rem .75rem; vertical-align:middle; margin-left:.4rem; }
#offre { padding:6rem 0; background:var(--white); }
.offre-grid { display:grid; grid-template-columns:1fr 1fr; gap:2px; background:var(--line); }
.offre-card { background:var(--white); padding:3rem 2.5rem; position:relative; transition:box-shadow .25s; }
.offre-card:hover { box-shadow:0 12px 40px rgba(0,0,0,.08); z-index:1; }
.offre-card.featured { background:var(--bronze); }
.offre-badge { position:absolute; top:1.5rem; right:1.5rem; font-size:.58rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; background:var(--ink); color:#fff; padding:.25rem .7rem; }
.offre-card.featured .offre-badge { background:#fff; color:var(--bronze); }
.offre-ico { width:52px; height:52px; display:flex; align-items:center; justify-content:center; margin-bottom:1.5rem; }
.offre-card:not(.featured) .offre-ico { background:rgba(196,114,26,.1); }
.offre-card.featured .offre-ico { background:rgba(255,255,255,.18); }
.offre-ico svg { color:var(--bronze); }
.offre-card.featured .offre-ico svg { color:#fff; }
.offre-val { font-size:3rem; font-weight:700; line-height:1; margin-bottom:.4rem; color:var(--ink); }
.offre-card.featured .offre-val { color:#fff; }
.offre-val span { font-size:1.1rem; font-weight:400; }
.offre-name { font-size:.75rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3); margin-bottom:1.2rem; }
.offre-card.featured .offre-name { color:rgba(255,255,255,.7); }
.offre-desc { font-size:.88rem; font-weight:300; line-height:1.75; color:var(--ink-2); margin-bottom:1.5rem; }
.offre-card.featured .offre-desc { color:rgba(255,255,255,.8); }
.offre-list { display:flex; flex-direction:column; gap:.55rem; }
.offre-li { display:flex; align-items:center; gap:.6rem; font-size:.82rem; font-weight:400; color:var(--ink-2); }
.offre-card.featured .offre-li { color:rgba(255,255,255,.85); }
.offre-li svg { color:var(--bronze); flex-shrink:0; }
.offre-card.featured .offre-li svg { color:rgba(255,255,255,.75); }

#vs-enseignes { padding:6rem 0; background:var(--bg); }
.vs-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.vs-txt .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.75rem; }
.vs-txt h2 { font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:700; color:var(--ink); letter-spacing:-.02em; line-height:1.2; margin-bottom:1.2rem; }
.vs-txt p { font-size:.94rem; font-weight:300; color:var(--ink-2); line-height:1.85; margin-bottom:1.5rem; }
.vs-items { display:flex; flex-direction:column; gap:.75rem; }
.vs-item { display:grid; grid-template-columns:auto 1fr; gap:1rem; align-items:start; padding:1.2rem 1.25rem; background:var(--white); border-left:3px solid transparent; transition:border-color .2s, box-shadow .2s; }
.vs-item:hover { border-left-color:var(--bronze); box-shadow:0 4px 20px rgba(0,0,0,.06); }
.vs-ico-sq { width:40px; height:40px; background:var(--bronze); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.vs-ico-sq svg { color:#fff; }
.vs-item-txt strong { font-size:.88rem; font-weight:700; color:var(--ink); display:block; margin-bottom:.3rem; }
.vs-item-txt p { font-size:.8rem; font-weight:300; color:var(--ink-2); line-height:1.7; margin:0; }
.vs-img-col { display:flex; flex-direction:column; gap:1rem; }
.vs-img-col img { height:240px; object-fit:cover; }

.p-parebrise #assurance { background:#111; }
.p-parebrise .ass-txt h2 { color:#fff; }
.p-parebrise .ass-txt p { color:rgba(255,255,255,.55); }
.p-parebrise .ass-check span { color:rgba(255,255,255,.75); }
.p-parebrise #cta-carrosserie { background:var(--white); }
.p-parebrise .cta-inner { background:var(--bg); }

/* ──────────────────────────────────────────────────────────────────
   28. PAGE REMORQUAGE — SECTIONS SPÉCIFIQUES
   ────────────────────────────────────────────────────────────────── */
#pourquoi { padding:6rem 0; background:var(--white); }
.pourquoi-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.pourquoi-txt .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.75rem; }
.pourquoi-txt h2 { font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:700; color:var(--ink); letter-spacing:-.02em; line-height:1.2; margin-bottom:1.2rem; }
.pourquoi-txt p { font-size:.94rem; font-weight:300; color:var(--ink-2); line-height:1.85; margin-bottom:1.5rem; }
.arguments { display:flex; flex-direction:column; gap:.75rem; }
.arg-card { display:grid; grid-template-columns:auto 1fr; gap:1rem; align-items:start; padding:1.2rem 1.3rem; background:var(--bg); border-left:3px solid transparent; transition:border-color .2s, box-shadow .2s; }
.arg-card:hover { border-left-color:var(--bronze); box-shadow:0 4px 20px rgba(0,0,0,.06); }
.arg-ico { width:42px; height:42px; background:var(--bronze); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.arg-ico svg { color:#fff; }
.arg-txt strong { font-size:.9rem; font-weight:700; color:var(--ink); display:block; margin-bottom:.3rem; }
.arg-txt p { font-size:.82rem; font-weight:300; color:var(--ink-2); line-height:1.7; margin:0; }
.pourquoi-visual { position:relative; }
.pourquoi-visual img { height:420px; object-fit:cover; }
.pourquoi-badge { position:absolute; bottom:-1.5rem; right:-1.5rem; background:var(--bronze); padding:1.4rem 1.6rem; text-align:center; }
.pb-ico { margin-bottom:.5rem; }
.pb-ico svg { color:#fff; }
.pb-val { font-size:1.8rem; font-weight:700; color:#fff; line-height:1; }
.pb-lbl { font-size:.6rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.75); margin-top:.2rem; }

#guide { padding:6rem 0; background:#111; }
.guide-hd { margin-bottom:3.5rem; }
.guide-hd .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.75rem; }
.guide-hd h2 { font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:700; color:#fff; letter-spacing:-.02em; line-height:1.2; margin-bottom:.85rem; }
.guide-hd p { font-size:.94rem; font-weight:300; color:rgba(255,255,255,.4); line-height:1.8; max-width:580px; }
.guide-steps { display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:rgba(255,255,255,.06); margin-bottom:3rem; }
.guide-step { background:#111; padding:2rem 1.5rem; position:relative; }
.guide-n { font-size:4rem; font-weight:700; line-height:1; color:var(--bronze); opacity:.2; margin-bottom:.75rem; }
.guide-step-ico { width:40px; height:40px; background:var(--bronze); display:flex; align-items:center; justify-content:center; margin-bottom:1rem; }
.guide-step-ico svg { color:#fff; }
.guide-step h3 { font-size:.9rem; font-weight:700; color:#fff; margin-bottom:.5rem; }
.guide-step p { font-size:.78rem; font-weight:300; color:rgba(255,255,255,.38); line-height:1.7; }
.guide-cta { display:flex; align-items:center; justify-content:space-between; gap:2rem; background:var(--bronze); padding:2rem 2.5rem; flex-wrap:wrap; }
.guide-cta-txt h3 { font-size:1rem; font-weight:700; color:#fff; margin-bottom:.3rem; }
.guide-cta-txt p { font-size:.82rem; font-weight:300; color:rgba(255,255,255,.72); }
.btn-call-big { display:inline-flex; align-items:center; gap:.75rem; background:#fff; color:var(--bronze); font-size:1.05rem; font-weight:700; letter-spacing:.02em; padding:.9rem 2rem; white-space:nowrap; transition:background .15s, transform .15s; flex-shrink:0; }
.btn-call-big:hover { background:var(--ink); color:#fff; }

#zones-intervention { padding:6rem 0; background:var(--bg); }
.zones-int-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.zones-txt .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.75rem; }
.zones-txt h2 { font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:700; color:var(--ink); letter-spacing:-.02em; line-height:1.2; margin-bottom:1.2rem; }
.zones-txt p { font-size:.94rem; font-weight:300; color:var(--ink-2); line-height:1.85; margin-bottom:1.5rem; }
.zones-list { display:flex; flex-direction:column; gap:.5rem; }
.zone-item { display:grid; grid-template-columns:auto 1fr auto; gap:1rem; align-items:center; padding:.85rem 1.1rem; background:var(--white); border-left:3px solid transparent; transition:border-color .2s; }
.zone-item:hover { border-left-color:var(--bronze); }
.zone-item-ico { width:32px; height:32px; background:var(--bronze); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.zone-item-ico svg { color:#fff; }
.zone-item-name { font-size:.88rem; font-weight:600; color:var(--ink); }
.zone-item-dist { font-size:.68rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--bronze); white-space:nowrap; }
.zones-map-placeholder { background:var(--white); border:1px solid var(--line); position:relative; overflow:hidden; }
.zones-map-placeholder iframe { width:100%; height:400px; border:none; filter:grayscale(20%); }
.zones-map-overlay { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(to top, rgba(255,255,255,1), transparent); padding:2rem 1.5rem 1.5rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.zones-map-overlay span { font-size:.72rem; font-weight:500; color:var(--ink-2); }
.zones-map-overlay a { font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--bronze); border-bottom:1px solid rgba(196,114,26,.3); }

.p-remorquage #assurance { background:var(--white); }
.p-remorquage .ass-txt h2 { color:var(--ink); }
.p-remorquage .ass-txt p { color:var(--ink-2); }
.p-remorquage .ass-check span { color:var(--ink-2); }

#cta-appel { padding:5rem 0; background:var(--bronze); }
.cta-appel-inner { display:flex; align-items:center; justify-content:space-between; gap:3rem; flex-wrap:wrap; }
.cta-appel-txt h2 { font-size:clamp(1.5rem,2.5vw,2.2rem); font-weight:700; color:#fff; letter-spacing:-.02em; line-height:1.2; margin-bottom:.6rem; }
.cta-appel-txt p { font-size:.94rem; font-weight:300; color:rgba(255,255,255,.72); line-height:1.7; }
.cta-appel-actions { display:flex; flex-direction:column; align-items:center; gap:.75rem; flex-shrink:0; }
.btn-call-xl { display:inline-flex; align-items:center; gap:.85rem; background:#fff; color:var(--bronze); font-size:1.2rem; font-weight:700; letter-spacing:.02em; padding:1.1rem 2.5rem; white-space:nowrap; transition:background .15s, transform .15s; animation:pulse 2.5s ease-in-out infinite; }
.btn-call-xl:hover { background:var(--ink); color:#fff; }
.btn-call-xl svg { width:24px; height:24px; }
.cta-appel-note { font-size:.68rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.6); }

/* ──────────────────────────────────────────────────────────────────
   29. PAGE SINISTRES — SECTIONS SPÉCIFIQUES
   ────────────────────────────────────────────────────────────────── */
.hero-law-pill { display:inline-flex; align-items:center; gap:.6rem; background:rgba(196,114,26,.18); border:1px solid rgba(196,114,26,.5); padding:.38rem 1rem; margin-bottom:1.4rem; }
.hero-law-pill svg { color:var(--bronze-lt); }
.hero-law-pill span { font-size:.68rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--bronze-lt); }
.h1-accent { color:var(--bronze-lt); }

#loi-hamon { padding:6rem 0; background:var(--white); }
.lh-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.lh-txt .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.75rem; }
.lh-txt h2 { font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:700; color:var(--ink); letter-spacing:-.02em; line-height:1.2; margin-bottom:1.2rem; }
.lh-txt p { font-size:.94rem; font-weight:300; color:var(--ink-2); line-height:1.85; margin-bottom:1.1rem; }
.loi-citation { background:var(--ink); padding:1.8rem 2rem; margin:1.8rem 0; border-left:4px solid var(--bronze); position:relative; }
.loi-citation-mark { font-size:4rem; font-weight:700; color:var(--bronze); opacity:.2; position:absolute; top:-.5rem; left:1.5rem; line-height:1; }
.loi-citation p { font-size:.88rem; font-style:italic; font-weight:300; color:rgba(255,255,255,.7); line-height:1.8; margin:0; position:relative; z-index:1; }
.loi-citation cite { display:block; margin-top:.6rem; font-style:normal; font-size:.62rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.3); }
.lh-points { display:flex; flex-direction:column; gap:.65rem; margin-top:1.5rem; }
.lh-point { display:flex; align-items:flex-start; gap:.75rem; }
.lh-point svg { color:var(--bronze); flex-shrink:0; margin-top:.1rem; }
.lh-point span { font-size:.88rem; font-weight:400; color:var(--ink-2); line-height:1.6; }
.lh-rights { background:var(--bg); }
.lh-rights-hd { background:var(--bronze); padding:1.4rem 1.75rem; }
.lh-rights-hd h3 { font-size:.95rem; font-weight:700; color:#fff; margin-bottom:.2rem; }
.lh-rights-hd p { font-size:.74rem; font-weight:300; color:rgba(255,255,255,.72); }
.lh-rights- { padding:1.5rem 1.75rem; display:flex; flex-direction:column; gap:1rem; }
.right-item { display:grid; grid-template-columns:auto 1fr; gap:.9rem; align-items:start; padding-bottom:1rem; border-bottom:1px solid var(--line); }
.right-item:last-child { border-bottom:none; padding-bottom:0; }
.right-num { width:30px; height:30px; background:var(--bronze); font-size:.7rem; font-weight:700; color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.right-item-txt strong { font-size:.88rem; font-weight:700; color:var(--ink); display:block; margin-bottom:.25rem; }
.right-item-txt p { font-size:.78rem; font-weight:300; color:var(--ink-2); line-height:1.65; margin:0; }

#on-gere { padding:6rem 0; background:#111; position:relative; overflow:hidden; }
#on-gere::before { content:''; position:absolute; top:0; right:0; width:38%; height:100%; background:url('https://carrosserieduval.fr/wp-content/uploads/2026/04/devis-peinture-carrosserie-assurance-cagnes.jpg') center/cover; opacity:.08; }
.gere-inner { position:relative; z-index:1; }
.gere-hd { margin-bottom:3.5rem; }
.gere-hd .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.75rem; }
.gere-hd h2 { font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:700; color:#fff; letter-spacing:-.02em; line-height:1.2; margin-bottom:.9rem; max-width:600px; }
.gere-hd p { font-size:.94rem; font-weight:300; color:rgba(255,255,255,.45); line-height:1.8; max-width:580px; }
.gere-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.06); }
.gere-card { background:#111; padding:2.2rem 1.8rem; transition:background .2s; }
.gere-card:hover { background:#1a1a1a; }
.gere-card-ico { width:48px; height:48px; background:var(--bronze); display:flex; align-items:center; justify-content:center; margin-bottom:1.3rem; }
.gere-card-ico svg { color:#fff; }
.gere-card h3 { font-size:.95rem; font-weight:700; color:#fff; margin-bottom:.6rem; letter-spacing:-.01em; }
.gere-card p { font-size:.82rem; font-weight:300; color:rgba(255,255,255,.42); line-height:1.75; }
.gere-card-note { display:inline-flex; align-items:center; gap:.4rem; margin-top:1rem; font-size:.68rem; font-weight:600; color:var(--bronze); letter-spacing:.06em; }
.gere-card-note svg { color:var(--bronze); }

#cession { padding:6rem 0; background:var(--bg); }
.cession-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.cession-txt .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.75rem; }
.cession-txt h2 { font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:700; color:var(--ink); letter-spacing:-.02em; line-height:1.2; margin-bottom:1.2rem; }
.cession-txt p { font-size:.94rem; font-weight:300; color:var(--ink-2); line-height:1.85; margin-bottom:1.1rem; }
.cession-flow { margin:1.8rem 0; display:flex; flex-direction:column; gap:0; }
.cession-step { display:grid; grid-template-columns:40px 1fr; gap:1rem; align-items:start; position:relative; }
.cession-step:not(:last-child)::after { content:''; position:absolute; left:19px; top:40px; bottom:-24px; width:2px; background:var(--line); }
.cession-step + .cession-step { margin-top:1.5rem; }
.cession-dot { width:40px; height:40px; background:var(--white); border:2px solid var(--line); border-radius:50%; display:flex; align-items:center; justify-content:center; position:relative; z-index:1; flex-shrink:0; transition:border-color .2s, background .2s; }
.cession-step.active .cession-dot { background:var(--bronze); border-color:var(--bronze); }
.cession-dot svg { color:var(--ink-3); }
.cession-step.active .cession-dot svg { color:#fff; }
.cession-step-txt { padding-bottom:1.5rem; }
.cession-step-txt strong { font-size:.9rem; font-weight:700; color:var(--ink); display:block; margin-bottom:.3rem; }
.cession-step-txt p { font-size:.82rem; font-weight:300; color:var(--ink-2); line-height:1.7; margin:0; }
.cession-panel { background:var(--white); border-top:3px solid var(--bronze); }
.cession-panel-hd { background:var(--bronze); padding:1.3rem 1.75rem; }
.cession-panel-hd h3 { font-size:.92rem; font-weight:700; color:#fff; }
.cession-panel- { padding:1.75rem; }
.cession-panel- p { font-size:.86rem; font-weight:300; color:var(--ink-2); line-height:1.8; margin-bottom:1.25rem; }
.zero-avance { display:flex; align-items:center; gap:1rem; background:var(--bg); padding:1.2rem; }
.za-val { font-size:3rem; font-weight:700; color:var(--bronze); line-height:1; }
.za-unit { font-size:.9rem; font-weight:400; }
.za-txt strong { font-size:.82rem; font-weight:700; color:var(--ink); display:block; }
.za-txt span { font-size:.74rem; font-weight:300; color:var(--ink-3); }
.cession-panel-note { font-size:.62rem; font-weight:300; color:var(--ink-3); margin-top:1rem; font-style:italic; line-height:1.6; }

#assurances { padding:6rem 0; background:var(--white); }
.assurances-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:5rem; align-items:center; }
.assurances-panel { background:var(--bg); padding:2rem; border-top:3px solid var(--bronze); }
.assurances-panel h3 { font-size:.82rem; font-weight:700; color:var(--ink); margin-bottom:1.2rem; }
.assureurs-grid { display:flex; flex-wrap:wrap; gap:.5rem; }
.assureur-tag { font-size:.68rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-2); background:var(--white); border:1px solid var(--line); padding:.32rem .8rem; transition:border-color .15s, color .15s; }
.assureur-tag:hover { border-color:var(--bronze); color:var(--bronze); }

#cta-final { padding:6rem 0; background:var(--white); }
.cta-final-inner { display:grid; grid-template-columns:1fr auto; gap:3rem; align-items:center; padding:3.5rem; background:var(--bg); border-left:4px solid var(--bronze); }
.cta-final-inner .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.6rem; }
.cta-final-inner h2 { font-size:clamp(1.4rem,2.2vw,1.8rem); font-weight:700; color:var(--ink); letter-spacing:-.02em; margin-bottom:.6rem; line-height:1.25; }
.cta-final-inner p { font-size:.9rem; font-weight:300; color:var(--ink-2); line-height:1.7; }
.btn-ghost-sinistres { font-size:.76rem; font-weight:600; color:var(--bronze); border-bottom:1px solid rgba(196,114,26,.4); padding-bottom:.1rem; white-space:nowrap; }
.btn-ghost-sinistres:hover { border-color:var(--bronze); }

/* ──────────────────────────────────────────────────────────────────
   30. PAGE LOA — SECTIONS SPÉCIFIQUES
   ────────────────────────────────────────────────────────────────── */
#economie { padding:6rem 0; background:var(--white); }
.eco-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.eco-txt .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.75rem; }
.eco-txt h2 { font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:700; color:var(--ink); letter-spacing:-.02em; line-height:1.2; margin-bottom:1.2rem; }
.eco-txt p { font-size:.94rem; font-weight:300; color:var(--ink-2); line-height:1.85; margin-bottom:1.1rem; }
.tarif-compare { display:grid; grid-template-columns:1fr 1fr; gap:2px; background:var(--line); margin:1.8rem 0; }
.tarif-col { padding:1.8rem 1.5rem; }
.tarif-col.loueur { background:var(--bg); }
.tarif-col.nous { background:var(--bronze); }
.tarif-label { font-size:.6rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; margin-bottom:1rem; display:block; }
.tarif-col.loueur .tarif-label { color:var(--ink-3); }
.tarif-col.nous .tarif-label { color:rgba(255,255,255,.7); }
.tarif-item { display:flex; justify-content:space-between; align-items:baseline; padding:.55rem 0; border-bottom:1px solid rgba(0,0,0,.06); }
.tarif-col.nous .tarif-item { border-bottom-color:rgba(255,255,255,.15); }
.tarif-item:last-child { border-bottom:none; }
.tarif-item-name { font-size:.78rem; font-weight:400; }
.tarif-col.loueur .tarif-item-name { color:var(--ink-2); }
.tarif-col.nous .tarif-item-name { color:rgba(255,255,255,.8); }
.tarif-item-price { font-size:.82rem; font-weight:700; }
.tarif-col.loueur .tarif-item-price { color:var(--ink); }
.tarif-col.nous .tarif-item-price { color:#fff; }
.tarif-total { margin-top:1rem; padding:1rem; text-align:center; }
.tarif-col.loueur .tarif-total { background:rgba(0,0,0,.04); }
.tarif-col.nous .tarif-total { background:rgba(0,0,0,.15); }
.tarif-total-lbl { font-size:.6rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.tarif-col.loueur .tarif-total-lbl { color:var(--ink-3); }
.tarif-col.nous .tarif-total-lbl { color:rgba(255,255,255,.65); }
.tarif-total-val { font-size:1.6rem; font-weight:700; display:block; margin-top:.2rem; }
.tarif-col.loueur .tarif-total-val { color:var(--ink); }
.tarif-col.nous .tarif-total-val { color:#fff; }
.tarif-economy { text-align:center; padding:1rem; background:var(--ink); color:#fff; }
.tarif-economy strong { font-size:.82rem; font-weight:600; }
.tarif-economy span { color:var(--bronze); }
.eco-note { font-size:.72rem; font-weight:300; color:var(--ink-3); font-style:italic; line-height:1.6; }
.eco-visual { position:relative; }
.eco-visual img { height:420px; object-fit:cover; }
.eco-badge-loa { position:absolute; bottom:-1.5rem; left:-1.5rem; background:var(--bronze); padding:1.5rem; text-align:center; }
.eco-badge-loa strong { font-size:2.2rem; font-weight:700; color:#fff; display:block; line-height:1; }
.eco-badge-loa span { font-size:.62rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.75); }

#audit { padding:6rem 0; background:var(--bg); }
.audit-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.audit-txt .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.75rem; }
.audit-txt h2 { font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:700; color:var(--ink); letter-spacing:-.02em; line-height:1.2; margin-bottom:1.2rem; }
.audit-txt p { font-size:.94rem; font-weight:300; color:var(--ink-2); line-height:1.85; margin-bottom:1.1rem; }
.audit-points { display:flex; flex-direction:column; gap:.5rem; margin:1.5rem 0; }
.audit-point { display:flex; align-items:center; gap:.85rem; padding:.8rem 1rem; background:var(--white); border-left:3px solid transparent; transition:border-color .2s; }
.audit-point:hover { border-left-color:var(--bronze); }
.audit-point-ico { width:32px; height:32px; background:var(--bronze); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.audit-point-ico svg { color:#fff; }
.audit-point span { font-size:.84rem; font-weight:500; color:var(--ink); }
.audit-point em { font-style:normal; font-size:.74rem; font-weight:300; color:var(--ink-3); display:block; }
.loueurs-box { background:var(--white); padding:2rem; border-top:3px solid var(--bronze); }
.loueurs-box h3 { font-size:.82rem; font-weight:700; color:var(--ink); margin-bottom:1.2rem; letter-spacing:-.01em; }
.loueurs-grid { display:flex; flex-wrap:wrap; gap:.5rem; }
.loueur-tag { font-size:.68rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-2); background:var(--bg); border:1px solid var(--line); padding:.32rem .8rem; transition:border-color .15s, color .15s; }
.loueur-tag:hover { border-color:var(--bronze); color:var(--bronze); }
.audit-img { display:flex; flex-direction:column; gap:1rem; margin-top:2rem; }
.audit-img img { height:200px; object-fit:cover; }

#processus { padding:6rem 0; }
.p-loa #processus { background:#111; }
.proc-hd .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.75rem; }
.proc-hd h2 { font-size:clamp(1.5rem,2.5vw,2rem); font-weight:700; color:#fff; letter-spacing:-.02em; line-height:1.2; margin-bottom:.85rem; }
.proc-hd p { font-size:.92rem; font-weight:300; color:rgba(255,255,255,.4); line-height:1.8; margin-bottom:3rem; max-width:560px; }
.proc-steps { display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:rgba(255,255,255,.06); }
.proc-step { background:#111; padding:2rem 1.5rem; }
.proc-n { font-size:2.4rem; font-weight:700; color:var(--bronze); opacity:.3; line-height:1; margin-bottom:.9rem; }
.proc-step h3 { font-size:.88rem; font-weight:700; color:#fff; margin-bottom:.5rem; }
.proc-step p { font-size:.76rem; font-weight:300; color:rgba(255,255,255,.38); line-height:1.7; }

#flottes { padding:6rem 0; background:var(--bg); }
.flottes-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:5rem; align-items:center; }
.flottes-txt .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.75rem; }
.flottes-txt h2 { font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:700; color:var(--ink); letter-spacing:-.02em; line-height:1.2; margin-bottom:1.2rem; }
.flottes-txt p { font-size:.94rem; font-weight:300; color:var(--ink-2); line-height:1.85; margin-bottom:1.5rem; }
.flottes-avantages { display:flex; flex-direction:column; gap:.65rem; margin-bottom:2rem; }
.flottes-av { display:flex; align-items:flex-start; gap:.7rem; }
.flottes-av svg { color:var(--bronze); flex-shrink:0; margin-top:.1rem; }
.flottes-av span { font-size:.88rem; font-weight:400; color:var(--ink-2); line-height:1.6; }
.flottes-panel { background:var(--ink); padding:2.5rem; }
.flottes-panel .fp-tag { font-size:.62rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.3); display:block; margin-bottom:.6rem; }
.flottes-panel h3 { font-size:1.1rem; font-weight:700; color:#fff; margin-bottom:.65rem; }
.flottes-panel p { font-size:.82rem; font-weight:300; color:rgba(255,255,255,.45); line-height:1.7; margin-bottom:1.5rem; }
.flottes-contacts { display:flex; flex-direction:column; gap:.65rem; }
.flottes-contact { display:flex; align-items:center; gap:.75rem; }
.flottes-contact svg { color:var(--bronze); flex-shrink:0; }
.flottes-contact a { font-size:.9rem; font-weight:500; color:#fff; transition:color .15s; }
.flottes-contact a:hover { color:var(--bronze); }

#cta-audit { padding:6rem 0; background:var(--white); }
.cta-audit-inner { display:grid; grid-template-columns:1fr auto; gap:3rem; align-items:center; padding:3.5rem; background:var(--bg); border-left:4px solid var(--bronze); }
.cta-audit-inner .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.6rem; }
.cta-audit-inner h2 { font-size:clamp(1.4rem,2.2vw,1.9rem); font-weight:700; color:var(--ink); letter-spacing:-.02em; margin-bottom:.6rem; line-height:1.25; }
.cta-audit-inner p { font-size:.9rem; font-weight:300; color:var(--ink-2); line-height:1.7; }

/* ──────────────────────────────────────────────────────────────────
   31. PAGE OPTIQUES — SECTIONS SPÉCIFIQUES
   ────────────────────────────────────────────────────────────────── */
#securite { padding:6rem 0; background:var(--white); }
.sec-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.sec-txt .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.75rem; }
.sec-txt h2 { font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:700; color:var(--ink); letter-spacing:-.02em; line-height:1.2; margin-bottom:1.2rem; }
.sec-txt p { font-size:.94rem; font-weight:300; color:var(--ink-2); line-height:1.85; margin-bottom:1.1rem; }
.ct-alert { background:#111; padding:1.5rem 1.6rem; margin:1.5rem 0; display:flex; gap:1rem; align-items:flex-start; }
.ct-alert-ico { flex-shrink:0; margin-top:.1rem; }
.ct-alert-ico svg { color:var(--bronze); }
.ct-alert-txt strong { font-size:.9rem; font-weight:700; color:#fff; display:block; margin-bottom:.35rem; }
.ct-alert-txt p { font-size:.82rem; font-weight:300; color:rgba(255,255,255,.55); line-height:1.7; margin:0; }
.sec-checks { display:flex; flex-direction:column; gap:.65rem; margin-top:1.5rem; }
.sec-check { display:flex; align-items:flex-start; gap:.7rem; }
.sec-check svg { color:var(--bronze); flex-shrink:0; margin-top:.1rem; }
.sec-check span { font-size:.88rem; font-weight:400; color:var(--ink-2); line-height:1.6; }
.sec-visual { display:flex; flex-direction:column; gap:1rem; }
.sec-visual-main img { height:320px; object-fit:cover; }
.avant-apres { display:grid; grid-template-columns:1fr 1fr; gap:2px; background:var(--line); }
.aa-panel { position:relative; }
.aa-panel img { height:160px; object-fit:cover; }
.aa-label { position:absolute; bottom:.6rem; left:.6rem; font-size:.58rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; padding:.22rem .65rem; }
.aa-label.avant { background:rgba(0,0,0,.7); color:rgba(255,255,255,.6); }
.aa-label.apres { background:var(--bronze); color:#fff; }

#esthetique { padding:6rem 0; background:var(--bg); }
.esth-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.esth-visual { display:flex; flex-direction:column; gap:1rem; }
.esth-visual img { height:320px; object-fit:cover; }
.esth-img-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.esth-img-grid img { height:150px; object-fit:cover; }
.esth-txt .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.75rem; }
.esth-txt h2 { font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:700; color:var(--ink); letter-spacing:-.02em; line-height:1.2; margin-bottom:1.2rem; }
.esth-txt p { font-size:.94rem; font-weight:300; color:var(--ink-2); line-height:1.85; margin-bottom:1.1rem; }
.presta-list { display:flex; flex-direction:column; gap:.75rem; margin:1.5rem 0; }
.presta-row { display:grid; grid-template-columns:auto 1fr auto; gap:1rem; align-items:center; padding:1rem 1.2rem; background:var(--white); border-left:3px solid transparent; transition:border-color .2s; }
.presta-row:hover { border-left-color:var(--bronze); }
.presta-row-ico { width:36px; height:36px; background:var(--bronze); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.presta-row-ico svg { color:#fff; }
.presta-row-txt strong { font-size:.86rem; font-weight:700; color:var(--ink); display:block; margin-bottom:.15rem; }
.presta-row-txt span { font-size:.76rem; font-weight:300; color:var(--ink-3); }
.presta-row-badge { font-size:.6rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--bronze); border:1px solid rgba(196,114,26,.3); padding:.2rem .6rem; white-space:nowrap; }

#process { padding:6rem 0; background:#111; }
.proc-hd h2 { color:#fff; }
.p-optiques .proc-steps { grid-template-columns:repeat(4,1fr); }

#diagnostic-cta { padding:6rem 0; background:var(--bg); }
.diag-inner { background:var(--white); border-left:4px solid var(--bronze); display:grid; grid-template-columns:1fr auto; gap:3rem; align-items:center; padding:3rem 3.5rem; }
.diag-inner .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.6rem; }
.diag-inner h2 { font-size:clamp(1.4rem,2.2vw,1.8rem); font-weight:700; color:var(--ink); letter-spacing:-.02em; margin-bottom:.6rem; line-height:1.25; }
.diag-inner p { font-size:.9rem; font-weight:300; color:var(--ink-2); line-height:1.7; }
.diag-ctas { display:flex; flex-direction:column; gap:.75rem; align-items:flex-end; }

/* ──────────────────────────────────────────────────────────────────
   32. PAGE CONTACT — SECTIONS SPÉCIFIQUES
   ────────────────────────────────────────────────────────────────── */
#localisation { padding:6rem 0; background:var(--white); }
.local-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }
.local-txt .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.75rem; }
.local-txt h2 { font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:700; color:var(--ink); letter-spacing:-.02em; line-height:1.2; margin-bottom:1.2rem; }
.local-txt p { font-size:.94rem; font-weight:300; color:var(--ink-2); line-height:1.85; margin-bottom:1.5rem; }
.acces-items { display:flex; flex-direction:column; gap:.6rem; margin-bottom:1.8rem; }
.acces-item { display:flex; align-items:flex-start; gap:.85rem; padding:1rem 1.1rem; background:var(--bg); }
.acces-item-ico { width:36px; height:36px; background:var(--bronze); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.acces-item-ico svg { color:#fff; }
.acces-item strong { font-size:.86rem; font-weight:700; color:var(--ink); display:block; margin-bottom:.2rem; }
.acces-item p { font-size:.8rem; font-weight:300; color:var(--ink-2); line-height:1.65; margin:0; }
.adresse-block { background:var(--ink); padding:1.4rem 1.6rem; display:flex; align-items:center; gap:1rem; margin-bottom:1rem; }
.adresse-block svg { color:var(--bronze); flex-shrink:0; }
.adresse-block-txt strong { font-size:.92rem; font-weight:700; color:#fff; display:block; margin-bottom:.2rem; }
.adresse-block-txt span { font-size:.78rem; font-weight:300; color:rgba(255,255,255,.5); }
.btn-maps { display:inline-flex; align-items:center; gap:.5rem; font-size:.78rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--bronze); border:1.5px solid var(--bronze); padding:.65rem 1.4rem; transition:background .15s, color .15s; }
.btn-maps:hover { background:var(--bronze); color:#fff; }
.map-container { position:relative; }
.map-container iframe { width:100%; height:420px; border:none; filter:grayscale(15%); display:block; }
.map-badge { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(to top, rgba(255,255,255,1) 0%, rgba(255,255,255,.6) 60%, transparent 100%); padding:2.5rem 1.5rem 1rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.map-badge-addr { font-size:.78rem; font-weight:500; color:var(--ink-2); }
.map-badge-addr strong { display:block; font-size:.86rem; color:var(--ink); margin-bottom:.1rem; }
.map-badge a { font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--bronze); border-bottom:1px solid rgba(196,114,26,.3); }

#horaires { padding:6rem 0; background:var(--bg); }
.horaires-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:1.5rem; }
.horaires-card { background:var(--white); overflow:hidden; transition:transform .2s, box-shadow .2s; }
.horaires-card:hover { transform:translateY(-3px); box-shadow:0 10px 36px rgba(0,0,0,.08); }
.horaires-card-hd { background:var(--bronze); padding:1.2rem 1.5rem; display:flex; align-items:center; gap:.75rem; }
.horaires-card-hd svg { color:#fff; }
.horaires-card-hd h3 { font-size:.88rem; font-weight:700; color:#fff; }
.horaires-card- { padding:1.5rem; }
.horaires-rows { display:flex; flex-direction:column; gap:.4rem; }
.horaire-row { display:flex; justify-content:space-between; align-items:center; padding:.5rem 0; border-bottom:1px solid var(--line); font-size:.84rem; }
.horaire-row:last-child { border-bottom:none; }
.horaire-row .jour { font-weight:500; color:var(--ink); }
.horaire-row .heure { font-weight:600; color:var(--bronze); }
.horaire-row .ferme { font-weight:400; color:var(--ink-3); font-style:italic; }
.contact-links { display:flex; flex-direction:column; gap:.75rem; }
.contact-link { display:flex; align-items:center; gap:.85rem; padding:.85rem 1rem; background:var(--bg); border-left:3px solid transparent; transition:border-color .2s; }
.contact-link:hover { border-left-color:var(--bronze); }
.contact-link svg { color:var(--bronze); flex-shrink:0; }
.cl-lbl { font-size:.6rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3); display:block; margin-bottom:.15rem; }
.cl-val { font-size:.9rem; font-weight:600; color:var(--ink); transition:color .15s; }
a.contact-link:hover .cl-val { color:var(--bronze); }
.cl-val.whatsapp { color:#25D366; }
.whatsapp-cta { display:flex; align-items:center; gap:.6rem; background:#25D366; color:#fff; font-size:.78rem; font-weight:700; letter-spacing:.06em; padding:.7rem 1.2rem; margin-top:1.2rem; transition:background .15s; }
.whatsapp-cta:hover { background:#1da851; }
.agrements-list { display:flex; flex-direction:column; gap:.65rem; }
.agrement-item { display:flex; align-items:center; gap:.7rem; }
.agrement-item svg { color:var(--bronze); flex-shrink:0; }
.agrement-item span { font-size:.86rem; font-weight:400; color:var(--ink-2); }

#devis-photo { padding:6rem 0; background:var(--white); }
.devis-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.devis-txt .tag { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); display:block; margin-bottom:.75rem; }
.devis-txt h2 { font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:700; color:var(--ink); letter-spacing:-.02em; line-height:1.2; margin-bottom:1.2rem; }
.devis-txt p { font-size:.94rem; font-weight:300; color:var(--ink-2); line-height:1.85; margin-bottom:1.1rem; }
.delai-badge { display:inline-flex; align-items:center; gap:.75rem; background:var(--bg); border-left:3px solid var(--bronze); padding:1rem 1.3rem; margin:1.5rem 0; }
.delai-badge-val { font-size:2rem; font-weight:700; color:var(--bronze); line-height:1; }
.delai-badge-lbl strong { font-size:.86rem; font-weight:700; color:var(--ink); display:block; }
.delai-badge-lbl span { font-size:.74rem; font-weight:300; color:var(--ink-3); }
.devis-steps { display:flex; flex-direction:column; gap:.5rem; }
.devis-step { display:flex; align-items:center; gap:.85rem; padding:.8rem 1rem; background:var(--bg); }
.devis-step-num { width:28px; height:28px; background:var(--bronze); color:#fff; font-size:.72rem; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.devis-step span { font-size:.86rem; font-weight:400; color:var(--ink-2); }
.devis-step strong { color:var(--ink); }
.devis-form-secondary { background:var(--bg); border-top:3px solid var(--bronze); }
.dfs-hd { background:var(--bronze); padding:1.2rem 1.6rem; }
.dfs-hd h3 { font-size:.9rem; font-weight:700; color:#fff; }
.dfs-hd p { font-size:.72rem; font-weight:300; color:rgba(255,255,255,.7); margin-top:.2rem; }
.dfs- { padding:1.6rem; }
.dfs-fg { display:flex; flex-direction:column; gap:.3rem; margin-bottom:.7rem; }
.dfs-fg label { font-size:.6rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-3); }
.dfs-fg input, .dfs-fg select { background:var(--white); border:1px solid var(--line); color:var(--ink); padding:.65rem .85rem; font-family:var(--f); font-size:.84rem; outline:none; border-radius:0; -webkit-appearance:none; transition:border-color .18s; }
.dfs-fg input:focus, .dfs-fg select:focus { border-color:var(--bronze); }
.dfs-photo-zone { background:var(--white); border:2px dashed var(--line); padding:1.5rem; text-align:center; cursor:pointer; margin-bottom:.7rem; transition:border-color .18s; }
.dfs-photo-zone:hover { border-color:var(--bronze); }
.dfs-photo-zone svg { color:var(--ink-3); margin:0 auto .5rem; }
.dfs-photo-zone p { font-size:.78rem; color:var(--ink-3); }
.dfs-photo-zone strong { color:var(--bronze); }
.dfs-btn { width:100%; font-size:.76rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; background:var(--bronze); color:#fff; padding:.85rem; border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:.5rem; transition:background .15s; }
.dfs-btn:hover { background:var(--bronze-dk); }

#reassurance { padding:5rem 0; background:#111; }
.reassurance-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,.06); }
.reas-item { background:#111; padding:2rem 1.5rem; text-align:center; transition:background .2s; }
.reas-item:hover { background:#1a1a1a; }
.reas-ico { width:48px; height:48px; background:var(--bronze); display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; }
.reas-ico svg { color:#fff; }
.reas-val { font-size:1.6rem; font-weight:700; color:#fff; line-height:1; margin-bottom:.3rem; }
.reas-lbl { font-size:.65rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.3); line-height:1.5; }
.p-apropos #hero { height:540px; min-height:unset; }
/* Widget plaque dans le hero */
.hero-plaque-panel {
  background: rgba(14,12,10,.7);
  border: 1px solid rgba(255,255,255,.1);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  padding: 2.2rem 2rem 2rem;
  position: relative;
}
.hero-plaque-panel::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--bronze);
}
.hpp-label {
  font-size: .6rem; font-weight: 700; letter-spacing: .22em;
  text-transform: uppercase; color: var(--bronze);
  display: block; margin-bottom: .75rem;
}
.hpp-title {
  font-size: clamp(1.2rem, 1.8vw, 1.55rem);
  font-weight: 800; color: #fff;
  letter-spacing: -.03em; line-height: 1.18;
  margin-bottom: .65rem;
}
.hpp-sub {
  font-size: .8rem; font-weight: 300;
  color: rgba(255,255,255,.38); line-height: 1.65;
  margin-bottom: 1.5rem;
}
.hpp-plaque-wrap { display: flex; margin-bottom: .55rem; }
.hpp-flag {
  display: flex; align-items: center; justify-content: center;
  width: 2.8rem; flex-shrink: 0;
  background: #003189;
  border-radius: 8px 0 0 8px;
  border: 1.5px solid #003189;
}
.hpp-input {
  flex: 1; min-width: 0;
  background: rgba(255,255,255,.08);
  border: 1.5px solid rgba(255,255,255,.2);
  border-left: none;
  border-radius: 0 8px 8px 0;
  color: #fff;
  font-size: 1rem; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
  padding: .72rem 1rem;
  outline: none; font-family: inherit;
  transition: border-color .18s, background .18s;
}
.hpp-input::placeholder { color: rgba(255,255,255,.45); font-weight: 600; letter-spacing: .18em; }
.hpp-input:focus { border-color: var(--bronze); background: rgba(255,255,255,.12); }
.hpp-input.hpp-error-field { border-color: #fc8181; }
.hpp-btn {
  display: flex; align-items: center; justify-content: center; gap: .5rem;
  width: 100%; background: var(--bronze); color: #fff;
  font-size: .76rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  padding: .85rem 1.25rem; border: none; cursor: pointer;
  border-radius: 6px; margin-bottom: .4rem;
  transition: background .15s;
}
.hpp-btn:hover { background: var(--bronze-dk); }
.hpp-btn svg { transition: transform .2s; }
.hpp-btn:hover svg { transform: translateX(3px); }
.hpp-error { font-size: .72rem; color: #fc8181; min-height: .9rem; margin-bottom: .3rem; }
.hpp-reassurance { display: flex; flex-direction: column; gap: .35rem; margin: .85rem 0; }
.hpp-ra { display: flex; align-items: center; gap: .45rem; font-size: .73rem; color: rgba(255,255,255,.32); }
.hpp-ra svg { color: var(--bronze); flex-shrink: 0; }
.hpp-google {
  display: flex; align-items: center; gap: .55rem;
  padding-top: .9rem; margin-top: .5rem;
  border-top: 1px solid rgba(255,255,255,.07);
}
.hpp-stars { display: flex; gap: 2px; }
.hpp-stars svg { color: var(--bronze); }
.hpp-google span { font-size: .65rem; color: rgba(255,255,255,.25); letter-spacing: .05em; }

/* ──────────────────────────────────────────────────────────────────
   33. MEDIA QUERIES CONSOLIDÉES
   ────────────────────────────────────────────────────────────────── */
@media(max-width:960px){
  .p-index .pb-cols { grid-template-columns:1fr; gap:2.5rem; padding:4rem 0; }
  .p-index .pb-franchise { max-width:100%; }
}

@media(max-width:900px){
  /* Header */
  .nav,.hdr-tel { display:none; }
  .brgr { display:flex; }
  /* Hero */
  .p-index #hero { height:auto;padding: 20px 0 }
  .p-carrosserie #hero { height:auto; padding: 20px 0 }
	  .hero-inner { grid-template-columns:1fr; gap:2.5rem; }
  .hero-plaque-panel { max-width:480px; }

  /* Hero pages avec formulaire */
  .p-debosselage #hero,
  .p-peinture #hero,
  .p-parebrise #hero,
  .p-remorquage #hero,
  .p-sinistres #hero,
  .p-loa #hero,
  .p-optiques #hero { min-height:auto; }
  .hero-inner { grid-template-columns:1fr; gap:2.5rem; }
  .p-contact .hero-inner { grid-template-columns:1fr; gap:2.5rem; }
  /* Hero badge */
  .hero-badge { display:none; }
  /* Avbar */
  .av-grid { grid-template-columns:1fr 1fr !important; }
  .av-item { border-bottom:1px solid rgba(255,255,255,.06); }
  /* Section grilles */
  .prob-grid, .tech-grid, .ass-grid, .cc-inner { grid-template-columns:1fr; gap:3rem; }
  .esma-grid { grid-template-columns:1fr; }
  .esma-photo { min-height:280px; }
  .esma-img { height: auto;
    width: 271px; }
  .esma-txt { padding:3rem 1.5rem; }
  .steps { grid-template-columns:1fr; }
  .intro-inner { grid-template-columns:1fr; gap:2.5rem; }
  .prest-cols { grid-template-columns:1fr; }
  .svc2-grid { grid-template-columns:1fr 1fr; }
  .zf-grid { grid-template-columns:1fr; gap:3rem; }
  .cg { grid-template-columns:1fr; }
  .seo-grid { grid-template-columns:1fr; gap:2.5rem; }
  .seo-photo:first-child { height:220px; }
  .seo-photo:last-child  { height:160px; }
  /* Carrosserie */
  .steps-grid { grid-template-columns:1fr 1fr; }
  .steps-grid::before { display:none; }
  .prob-img-wrap img { height:280px; }
  .prob-badge { right:0; bottom:-1rem; }
  .tech-img-main img { height:220px; }
  /* Débosselage */
  .revente-inner { grid-template-columns:1fr; gap:3rem; }
  .cas-grid { grid-template-columns:1fr 1fr; }
  #revente::before { opacity:.06; }
  /* Peinture */
  .labo-grid, .cabine-inner { grid-template-columns:1fr; gap:3rem; }
  .presta-grid { grid-template-columns:1fr 1fr; }
  #processus-peinture .steps-grid { grid-template-columns:repeat(3,1fr); }
  .labo-img-small { display:none; }
  #cabine::before { width:100%; opacity:.08; }
  /* Pare-brise */
  .offre-grid { grid-template-columns:1fr; }
  .vs-grid { grid-template-columns:1fr; gap:3rem; }
  /* Remorquage */
  .pourquoi-grid, .zones-int-grid { grid-template-columns:1fr; gap:3rem; }
  .guide-steps { grid-template-columns:1fr 1fr; }
  .cta-appel-inner { flex-direction:column; text-align:center; }
  .cta-appel-actions { align-items:center; }
  .pourquoi-badge { right:0; bottom:-1rem; }
  /* Sinistres */
  .lh-grid, .cession-grid, .assurances-grid { grid-template-columns:1fr; gap:3rem; }
  .gere-grid { grid-template-columns:1fr 1fr; }
  .faq-grid { grid-template-columns:1fr; gap:3rem; }
  .cta-final-inner { grid-template-columns:1fr; padding:2rem; }
  .cta-btns { align-items:flex-start; }
  #on-gere::before { opacity:.05; }
  /* LOA */
  .eco-grid, .audit-grid, .flottes-grid { grid-template-columns:1fr; gap:3rem; }
  .proc-steps { grid-template-columns:1fr 1fr; }
  .tarif-compare { grid-template-columns:1fr; }
  .eco-badge { left:0; bottom:-1rem; }
  .cta-audit-inner { grid-template-columns:1fr; padding:2rem; }
  /* Optiques */
  .sec-grid, .esth-grid { grid-template-columns:1fr; gap:3rem; }
  .diag-inner { grid-template-columns:1fr; padding:2rem; }
  .diag-ctas { align-items:flex-start; }
  /* Contact */
  .local-grid, .devis-grid { grid-template-columns:1fr; gap:3rem; }
  .horaires-grid { grid-template-columns:1fr; gap:1.5rem; }
  .reassurance-grid { grid-template-columns:1fr 1fr; }
  /* CTA inner */
  .cta-inner { grid-template-columns:1fr; padding:2rem; }
  .cta-audit-inner { grid-template-columns:1fr; padding:2rem; }
  /* Footer */
  .fg-grid { grid-template-columns:1fr 1fr; }
  /* FAQ */
  .faq-inner { grid-template-columns:1fr; gap:2.5rem; }
}

@media(max-width:900px){
  .p-index .franchise-layout { grid-template-columns:1fr; }
}

@media(max-width:600px){
  /* Avbar */
  .av-grid { grid-template-columns:1fr !important; }
  /* Débosselage */
  .cas-grid { grid-template-columns:1fr; }
  .methodes { grid-template-columns:1fr; }
  .revente-stats { grid-template-columns:1fr 1fr; }
  /* Peinture */
  .presta-grid { grid-template-columns:1fr; }
  #processus-peinture .steps-grid { grid-template-columns:1fr 1fr; }
  .cabine-stats { grid-template-columns:1fr 1fr; }
  .cabine-img-grid { grid-template-columns:1fr; }
  /* Pare-brise */
  .vs-img-col img { height:200px; }
  /* Remorquage */
  .guide-steps { grid-template-columns:1fr; }
  .btn-call-xl { font-size:1rem; padding:.9rem 1.8rem; }
  /* Sinistres */
  .gere-grid { grid-template-columns:1fr; }
  /* LOA */
  .proc-steps { grid-template-columns:1fr; }
  /* Optiques */
  .avant-apres { grid-template-columns:1fr; }
  .esth-img-grid { grid-template-columns:1fr; }
  /* Index */
  .svc2-grid { grid-template-columns:1fr; }
  .avis-grid { grid-template-columns:1fr; }
  #hero h1 { font-size:1.75rem; }
  .p-index .hero-box { max-width:100%; }
  /* Common */
  .frow { grid-template-columns:1fr; }
  .fg-grid { grid-template-columns:1fr; }
  .tech-img-grid { grid-template-columns:1fr; }
  .hfp-row { grid-template-columns:1fr; }
  .cfp-row { grid-template-columns:1fr; }
  .reassurance-grid { grid-template-columns:1fr 1fr; }
  .p-index .franchise-panel { padding:2rem 1.5rem; }
}

/* ═══════════════════════════════════════════════════════════════════
   PAGE À PROPOS (p-apropos)
   ═══════════════════════════════════════════════════════════════════ */

/* Hero */
.p-apropos #hero { height:540px; min-height:unset; }
.p-apropos #hero .hero-bg img { object-position:center 40%; }
.p-apropos #hero .hero-ov {
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(100deg,
    rgba(8,6,4,.90) 0%,
    rgba(8,6,4,.68) 38%,
    rgba(8,6,4,.32) 62%,
    rgba(150,80,10,.42) 82%,
    rgba(170,90,10,.68) 100%
  );
}
.p-apropos .hero-content {
  position:relative; z-index:2; height:100%; display:flex; align-items:center;
}
.p-apropos .hero-box { max-width:600px; }
.p-apropos #hero h1 { font-size:clamp(2rem,4vw,3rem); }

/* Sections spécifiques */
.p-apropos #histoire { padding:6rem 0; background:var(--white); }
.p-apropos #valeurs  { padding:6rem 0; background:var(--bg); }
.p-apropos #chiffres { padding:5rem 0; background:var(--ink); }
.p-apropos #atelier  { padding:6rem 0; background:var(--white); }
.p-apropos .ass-check span { color:var(--ink-2); font-size:.9rem; font-weight:400; }

/* Cartes valeurs */
.about-vals-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; margin-top:3.5rem; }
.about-val-card { background:var(--white); padding:2.2rem 2rem; border-top:3px solid var(--bronze); }
.about-val-ico { width:48px; height:48px; background:rgba(196,114,26,.10); display:flex; align-items:center; justify-content:center; margin-bottom:1.2rem; }
.about-val-ico svg { color:var(--bronze); }
.about-val-card h3 { font-size:1rem; font-weight:700; color:var(--ink); margin-bottom:.65rem; line-height:1.3; }
.about-val-card p { font-size:.88rem; font-weight:300; color:var(--ink-2); line-height:1.75; }

/* Responsive à propos */
@media(max-width:860px) {
  .p-apropos #hero { height:auto; min-height:440px; }
  .about-vals-grid { grid-template-columns:1fr; }
}
@media(max-width:640px) {
  .p-apropos #hero { min-height:380px; }
}
div.p-index section#hero div.hero-content.w div.intro-right div.plaque-widget{background: rgba(3,3,3,.7);
  border: 1px solid rgba(255,255,255,.08);width:75%;float:right}
.plaque-widget {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  padding: 2.25rem 2rem 2rem;
  position: relative;
}
.plaque-widget::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--bronze, #C4721A);
}
.pw-label {
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--bronze, #C4721A);
  margin-bottom: .85rem;
}
.pw-title {
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  font-weight: 800;
  color: #fff;
  letter-spacing: -.03em;
  line-height: 1.15;
  margin-bottom: .8rem;
}
.pw-sub {
  font-size: .83rem;
  font-weight: 300;
  color: rgba(255,255,255,.42);
  line-height: 1.7;
  margin-bottom: 1.75rem;
}
 
/* Champ plaque + bouton groupés */
.pw-field-group {
  display: flex;
  flex-direction: column;
  gap: .6rem;
  margin-bottom: .5rem;
}
.pw-plaque-wrap {
  display: flex;
}
.pw-plaque-flag {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  flex-shrink: 0;
  background: #003189;
  border-radius: 8px 0 0 8px;
  border: 1.5px solid #003189;
}
.pw-plaque-input {
  flex: 1;
  min-width: 0;
  background: rgba(255,255,255,.09);
  border: 1.5px solid rgba(255,255,255,.25);
  border-left: none;
  border-radius: 0 8px 8px 0;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: .75rem 1rem;
  outline: none;
  transition: border-color .18s, background .18s;
  font-family: inherit;
}
.pw-plaque-input::placeholder {
  color: rgba(255,255,255,.55);
  font-weight: 600;
  letter-spacing: .18em;
}
.pw-plaque-input:focus {
  border-color: var(--bronze, #C4721A);
  background: rgba(255,255,255,.13);
}
.pw-plaque-input.pw-error-field { border-color: #fc8181; }
 
/* Bouton juste après le champ */
.pw-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  width: 100%;
  background: var(--bronze, #C4721A);
  color: #fff;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: .85rem 1.5rem;
  border: none;
  cursor: pointer;
  border-radius: 6px;
  transition: background .15s, transform .1s;
}
.pw-btn:hover { background: #a8620f; }
.pw-btn:active { transform: scale(.98); }
.pw-btn svg { transition: transform .2s; }
.pw-btn:hover svg { transform: translateX(3px); }
 
.pw-error {
  font-size: .74rem;
  color: #fc8181;
  min-height: 1rem;
  padding-left: .1rem;
  margin-bottom: .5rem;
}
/* Hero 2 colonnes sur les pages services */
.hero-content.hero-content--split {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 3rem;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}
 
/* Widget plaque dans le hero */
.hero-plaque-widget {
  background: rgba(17,17,17,.82);
  border: 1px solid rgba(255,255,255,.1);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  padding: 2rem 1.75rem 1.75rem;
  position: relative;
}
.hero-plaque-widget::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--bronze, #C4721A);
}
.hpw-label {
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--bronze, #C4721A);
  margin-bottom: .7rem;
  display: block;
}
.hpw-title {
  font-size: 1.25rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: -.03em;
  line-height: 1.2;
  margin-bottom: .6rem;
}
.hpw-sub {
  font-size: .8rem;
  font-weight: 300;
  color: rgba(255,255,255,.4);
  line-height: 1.65;
  margin-bottom: 1.4rem;
}
 
/* Champ plaque — identique à la modale */
.hpw-plaque-wrap {
  display: flex;
  margin-bottom: .55rem;
}
.hpw-flag {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  flex-shrink: 0;
  background: #003189;
  border-radius: 8px 0 0 8px;
  border: 1.5px solid #003189;
}
.hpw-input {
  flex: 1 !important;
  min-width: 0 !important;
  background: rgba(255,255,255,.08) !important;
  border: 1.5px solid rgba(255,255,255,.2) !important;
  border-left: none !important;
  border-radius: 0 8px 8px 0 !important;
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase;
  padding: .72rem 1rem !important;
  outline: none !important;
  box-shadow: none !important;
  font-family: inherit !important;
  transition: border-color .18s, background .18s !important;
}
.hpw-input:focus {
  border-color: var(--bronze, #C4721A);
  background: rgba(255,255,255,.12);
}
 
/* Bouton pleine largeur juste sous le champ */
.hpw-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  width: 100%;
  background: var(--bronze, #C4721A);
  color: #fff;
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: .82rem 1.25rem;
  border: none;
  cursor: pointer;
  border-radius: 6px;
  margin-bottom: .5rem;
  transition: background .15s;
}
.hpw-btn:hover { background: #a8620f; }
.hpw-btn svg { transition: transform .2s; }
.hpw-btn:hover svg { transform: translateX(3px); }
 
.hpw-error {
  font-size: .72rem;
  color: #fc8181;
  min-height: .9rem;
  margin-bottom: .4rem;
}
 
/* Séparateur + réassurance compacte */
.hpw-divider {
  border: none;
  border-top: 1px solid rgba(255,255,255,.07);
  margin: 1.1rem 0 .9rem;
}
.hpw-reassurance {
  display: flex;
  flex-direction: column;
  gap: .35rem;
}
.hpw-ra {
  display: flex;
  align-items: center;
  gap: .45rem;
  font-size: .73rem;
  color: rgba(255,255,255,.35);
}
.hpw-ra svg { color: var(--bronze, #C4721A); flex-shrink: 0; }
 
/* Google rating en bas */
.hpw-google {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-top: 1rem;
  padding-top: .9rem;
  border-top: 1px solid rgba(255,255,255,.06);
}
.hpw-stars { display: flex; gap: 2px; }
.hpw-stars svg { color: var(--bronze, #C4721A); }
.hpw-google span {
  font-size: .66rem;
  color: rgba(255,255,255,.25);
  letter-spacing: .05em;
}
 
/* Responsive */
@media (max-width: 900px) {
  .hero-content.hero-content--split {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .hero-plaque-widget { max-width: 480px; }
}
 
.pw-reassurance {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  margin-top: 1.25rem;
}
.pw-ra {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .76rem;
  color: rgba(255,255,255,.38);
}
.pw-ra svg { color: var(--bronze, #C4721A); flex-shrink: 0; }
 
.pw-google {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding-top: 1.25rem;
  margin-top: 1.25rem;
  border-top: 1px solid rgba(255,255,255,.06);
}
.pw-stars { display: flex; gap: 2px; }
.pw-stars svg { color: var(--bronze, #C4721A); }
.pw-google span {
  font-size: .68rem;
  font-weight: 500;
  color: rgba(255,255,255,.28);
  letter-spacing: .05em;
}
.hero-form-panel.hero-form-panel--plaque {
  background: rgba(17,17,17,.88);
  border: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  padding: 2rem 1.75rem 1.75rem;
  position: relative;
  display: flex;
  flex-direction: column;
}
.hero-form-panel--plaque::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--bronze, #C4721A);
}
.hero-form-panel--plaque .hfp-label {
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--bronze, #C4721A);
  margin-bottom: .7rem;
}
.hero-form-panel--plaque .hfp-title-main {
  font-size: 1.2rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: -.03em;
  line-height: 1.2;
  margin-bottom: .55rem;
}
.hero-form-panel--plaque .hfp-sub {
  font-size: .8rem;
  font-weight: 300;
  color: rgba(255,255,255,.4);
  line-height: 1.65;
  margin-bottom: 1.4rem;
}
.hero-form-panel--plaque .hfp-plaque-wrap {
  display: flex;
  margin-bottom: .55rem;
}
.hero-form-panel--plaque .hfp-flag {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  flex-shrink: 0;
  background: #003189;
  border-radius: 8px 0 0 8px;
  border: 1.5px solid #003189;
}
 .hfp-plaque-input, #pw-plaque-input {
  flex: 1;
  min-width: 0;
  background: rgba(255,255,255,.08) !important;
  border: 1.5px solid rgba(255,255,255,.2) !important;
  border-left: none !important;
  border-radius: 0 8px 8px 0 !important;
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  padding: .72rem 1rem !important;
  outline: none !important;
  box-shadow: none !important;
  font-family: inherit !important;
  transition: border-color .18s, background .18 !importants;
}
 .hfp-plaque-input:focus, #pw-plaque-input:focus {
  border-color: var(--bronze, #C4721A) !important;
  background: rgba(255,255,255,.12) !important;
}
 .hfp-btn {
  display: flex;
  align-items: center !important;
  justify-content: center !important;
  gap: .5rem !important;
  width: 100% !important;
  background: var(--bronze, #C4721A) !important;
  color: #fff !important;
  font-size: .76rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  padding: .82rem 1.25rem !important;
  border: none !important;
  cursor: pointer !important;
  border-radius: 6px !important;
  margin-bottom: .5rem !important;
  transition: background .15s !important;
}
 .hfp-btn:hover { background: #8C1400 !important; }
 .hfp-btn svg { transition: transform .2s; }
 .hfp-btn:hover svg { transform: translateX(3px); }
 .hfp-error {
  font-size: .72rem;
  color: #fc8181;
  min-height: .9rem;
  margin-bottom: .4rem;
}
 .hfp-divider {
  border: none;
  border-top: 1px solid rgba(255,255,255,.07);
  margin: 1.1rem 0 .9rem;
}
.hero-form-panel--plaque .hfp-reassurance {
  display: flex;
  flex-direction: column;
  gap: .35rem;
}
.hero-form-panel--plaque .hfp-ra {
  display: flex;
  align-items: center;
  gap: .45rem;
  font-size: .73rem;
  color: rgba(255,255,255,.35);
}
.hero-form-panel--plaque .hfp-ra svg { color: var(--bronze, #C4721A); flex-shrink: 0; }
.hero-form-panel--plaque .hfp-google {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-top: 1rem;
  padding-top: .9rem;
  border-top: 1px solid rgba(255,255,255,.06);
}
.hero-form-panel--plaque .hfp-stars { display: flex; gap: 2px; }
.hero-form-panel--plaque .hfp-stars svg { color: var(--bronze, #C4721A); }
.hero-form-panel--plaque .hfp-google span {font-size: .66rem;color: rgba(255,255,255,.25);letter-spacing: .05em;}.p-index .hero-inner{gap:2rem}
.p-contact .wpcf7-form p{margin:0}
.p-contact .wpcf7-submit {color:#cc2200;border-color:#ffffff; background-color:#ffffff;}.p-contact div.hcoord:nth-child(2) > div:nth-child(2) > a:nth-child(2){color:#ffffff}

/*
 * Correctifs de contraste (WCAG AA, 4,5:1) — audit du 19/09/2026.
 * Ajoutés après le CSS additionnel, dans le même fichier (voir cdv-optimisations.php).
 * Les teintes restent celles de la charte, seule l'opacité des gris remonte.
 */

/*
 * Titres du pied de page passés de h5 à h2 (ordre des titres) : même apparence.
 * Toutes les propriétés sont redéclarées, pour ne rien hériter des styles h2 d'Astra.
 */
.fc h2 {
	font-size: .66rem;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	line-height: 1.2;
	margin: 0 0 1.1rem;
	padding-bottom: .5rem;
	border-bottom: 1px solid rgba(255, 255, 255, .05);
}

/* Fonds sombres (#111 à #252320) : gris à 62 % de blanc, contraste ~7:1 */
.fs,
.fd,
.fr > span,
.fc h5,
.fc h2,
.fc li,
.fc a:not(:hover),
.fbtm > p,
.fbtm-lnk a:not(:hover),
.av-d,
.p-index .av-d,
.hcoord-lbl,
.hg-info > span,
#intro-atelier p[style] {
	color: rgba(255, 255, 255, .62) !important;
}

/* Rouge de marque sur fond noir : #cc2200 (3,4:1) éclairci en #ff4a26 (5,6:1) */
.fn > span,
.hero-txt > .tag {
	color: #ff4a26 !important;
}

/* Fonds clairs : #888 (3,3:1) → #666 (5,3:1 sur #f7f7f7) */
.acard-date,
.bc-inner a:not(:hover),
.hb-l {
	color: #666 !important;
}

/* Formulaire sur fond rouge #cc2200 : libellés rosés (3:1) → blanc (5,5:1) */
.cfp-fg label,
.cfp-note p,
.cfp-sub {
	color: #fff !important;
}
