/*
  SylvainMéca — Feuille de style centralisée
  Toutes les pages HTML utilisent ce fichier.
  Couleurs de référence :
  fond sombre #2D3035 — orange #E67E1B.
*/

/* Polices auto-hébergées (remplace le chargement depuis Google Fonts) */
@font-face{font-family:"Bebas Neue"; font-style:normal; font-weight:400; font-display:swap; src:url("../fonts/bebas-neue-latin-400-normal.woff2") format("woff2");}
@font-face{font-family:"Inter"; font-style:normal; font-weight:400; font-display:swap; src:url("../fonts/inter-latin-400-normal.woff2") format("woff2");}
@font-face{font-family:"Inter"; font-style:normal; font-weight:500; font-display:swap; src:url("../fonts/inter-latin-500-normal.woff2") format("woff2");}
@font-face{font-family:"Inter"; font-style:normal; font-weight:600; font-display:swap; src:url("../fonts/inter-latin-600-normal.woff2") format("woff2");}
@font-face{font-family:"Inter"; font-style:normal; font-weight:700; font-display:swap; src:url("../fonts/inter-latin-700-normal.woff2") format("woff2");}
@font-face{font-family:"Inter"; font-style:normal; font-weight:800; font-display:swap; src:url("../fonts/inter-latin-800-normal.woff2") format("woff2");}
@font-face{font-family:"JetBrains Mono"; font-style:normal; font-weight:500; font-display:swap; src:url("../fonts/jetbrains-mono-latin-500-normal.woff2") format("woff2");}
@font-face{font-family:"JetBrains Mono"; font-style:normal; font-weight:600; font-display:swap; src:url("../fonts/jetbrains-mono-latin-600-normal.woff2") format("woff2");}

/* Règles provenant de index.html */

:root{
    --bg-dark:#2D3035; --bg-darker:#1F2225; --bg-card:#363A40; --bg-card-hover:#3F444B;
    --accent:#E67E1B; --accent-light:#F5A855; --text-light:#F2EFE9; --text-muted:#A8ACB3; --line:#4A4E55;
    --font-display:"Bebas Neue", sans-serif; --font-body:"Inter", sans-serif; --font-mono:"JetBrains Mono", monospace;
  }
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg-dark); color:var(--text-light); font-family:var(--font-body); line-height:1.5; -webkit-font-smoothing:antialiased;}
img,svg{display:block;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1080px; margin:0 auto; padding:0 28px;}
section{padding:88px 0;}
h1,h2,h3{font-family:var(--font-display); letter-spacing:.02em; font-weight:400;}
.eyebrow{font-family:var(--font-mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); font-weight:600;}
header{position:sticky; top:0; z-index:50; background:rgba(45,48,53,.92); backdrop-filter:blur(6px); border-bottom:1px solid var(--line);}
.nav{display:flex; align-items:center; justify-content:space-between; padding:16px 28px;}
.logo-slot{display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-size:26px; letter-spacing:.03em;}
.logo-mark{height:52px; display:flex; align-items:center; flex-shrink:0;}
.logo-mark img{height:100%; width:auto; display:block;}
.logo-slot{padding:2px 0;}
.nav-links{display:flex; gap:30px; font-size:14px; font-weight:500;}
.nav-links a{color:var(--text-muted); transition:color .15s; padding-bottom:4px; border-bottom:2px solid transparent;}
.nav-links a:hover{color:var(--text-light);}
.nav-links a.active{color:var(--text-light); border-bottom-color:var(--accent);}
.nav-cta{background:var(--accent); color:var(--bg-darker); font-weight:700; font-size:14px; padding:10px 18px; border-radius:4px; white-space:nowrap; transition:background .15s; display:inline-flex; align-items:center; gap:6px;}
.nav-cta:hover{background:var(--accent-light);}
.nav-cta svg{width:15px; height:15px; stroke:var(--bg-darker); flex-shrink:0;}
.mobile-menu-toggle{
    display:none; width:42px; height:42px; padding:10px; border:1px solid var(--line);
    border-radius:4px; background:var(--bg-darker); cursor:pointer; flex-direction:column;
    justify-content:center; gap:5px; flex-shrink:0;
  }
.mobile-menu-toggle span{display:block; width:100%; height:2px; background:var(--text-light); transition:transform .2s, opacity .2s;}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(max-width:760px){
    .nav{position:relative; padding:12px 16px; gap:10px;}
    .logo-mark{height:44px;}
    .mobile-menu-toggle{display:flex;}
    .nav-cta{font-size:0; padding:10px 12px; gap:0;}
    .nav-cta::after{content:"Appeler"; font-size:14px; margin-left:6px;}
    .nav-links{
      display:none; position:absolute; top:100%; left:0; right:0; z-index:60;
      flex-direction:column; gap:0; padding:8px 20px 16px;
      background:rgba(31,34,37,.98); border-bottom:1px solid var(--line);
      box-shadow:0 10px 24px rgba(0,0,0,.28);
    }
    .nav-links.open{display:flex;}
    .nav-links a{padding:12px 0; border-bottom:1px solid var(--line);}
    .nav-links a:last-child{border-bottom:none;}
  }
@media(max-width:600px){
    .footer-row{flex-direction:column; align-items:flex-start; gap:20px;}
    footer nav{flex-wrap:wrap; row-gap:12px; column-gap:18px; font-size:14.5px;}
    footer .meta{line-height:1.8; font-size:14px;}
  }
.hero{position:relative; overflow:hidden; padding:100px 0 90px; background:var(--bg-dark); border-bottom:1px solid var(--line);}
.hero-inner{position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; text-align:left;}
.hero-text{display:flex; flex-direction:column; align-items:flex-start;}
.hero-visuals{display:flex; flex-direction:column; gap:20px;}
.hero-photo{width:100%; border-radius:10px; overflow:hidden; border:1px solid var(--line);}
.hero-photo img{width:100%; height:auto; display:block;}
.hero-photo-caption{font-size:14px; line-height:1.5; color:var(--text-muted); margin-top:9px;}
.hero h1{font-size:clamp(34px,4.6vw,54px); line-height:1.05; color:var(--text-light);}
.hero h1 span{color:var(--accent);}
.hero p.lede{font-size:17px; color:var(--text-muted); margin-top:16px; max-width:480px;}
.hero-actions{display:flex; gap:14px; margin-top:30px; flex-wrap:wrap; justify-content:flex-start;}
@media(max-width:900px){ .hero-inner{grid-template-columns:1fr; text-align:center;} .hero-text{align-items:center;} .hero-actions{justify-content:center;} .hero-visuals{max-width:480px; margin:0 auto;} }
.page-hero{padding:70px 0 50px; border-bottom:1px solid var(--line);}
.page-hero-inner{display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:center;}
@media(max-width:900px){ .page-hero-inner{grid-template-columns:1fr;} }
.page-hero h1{font-size:clamp(34px,5vw,50px); color:var(--text-light); margin-top:8px;}
.page-hero p{color:var(--text-muted); margin-top:14px; font-size:15.5px; max-width:560px;}
.btn-primary{background:var(--accent); color:var(--bg-darker); font-weight:700; font-size:15px; padding:15px 26px; border-radius:4px; transition:background .15s, transform .15s; display:inline-block;}
.btn-primary:hover{background:var(--accent-light); transform:translateY(-1px);}
.btn-ghost{appearance:none; -webkit-appearance:none; background:transparent; font-family:inherit; cursor:pointer; border:1px solid var(--line); color:var(--text-light); font-weight:600; font-size:15px; padding:14px 24px; border-radius:4px; display:inline-flex; align-items:center; gap:9px; transition:border-color .15s, background .15s;}
.btn-ghost:hover{border-color:var(--accent); background:rgba(230,126,27,.06);}
.btn-ghost svg{width:16px; height:16px; stroke:var(--accent);}
.usp-strip{padding:0; border-bottom:1px solid var(--line);}
.usp-grid{display:grid; grid-template-columns:repeat(4,1fr); border-left:1px solid var(--line);}
.usp-item{padding:24px 22px; border-right:1px solid var(--line); display:flex; flex-direction:column; gap:8px;}
.usp-item svg{width:22px; height:22px; stroke:var(--accent);}
.usp-item .label{font-size:14px; font-weight:600; color:var(--text-light);}
@media(max-width:760px){ .usp-grid{grid-template-columns:repeat(2,1fr);} }
.section-head{max-width:560px; margin-bottom:40px;}
.section-head h2{font-size:clamp(28px,3.8vw,38px); color:var(--text-light); margin-top:8px;}
.section-head p{color:var(--text-muted); margin-top:12px; font-size:15.5px;}
.pain-block{display:grid; grid-template-columns:36px 1fr; gap:18px; padding:30px 0; border-bottom:1px solid var(--line);}
.pain-block:last-child{border-bottom:none;}
.pain-block svg{width:26px; height:26px; stroke:var(--accent); margin-top:3px;}
.pain-block h3{font-family:var(--font-body); font-weight:700; font-size:17px; color:var(--text-light); margin-bottom:8px;}
.pain-block p{color:var(--text-muted); font-size:15px; max-width:600px;}
.pain-block p + p{margin-top:10px;}
.zone-card{display:grid; grid-template-columns:44px 1fr; gap:22px; align-items:start; margin-top:8px; padding:32px; border:1px solid var(--line); border-radius:10px; background:var(--bg-card);}
.zone-card svg{width:30px; height:30px; stroke:var(--accent); margin-top:2px;}
.zone-card h3{font-family:var(--font-body); font-weight:700; font-size:18px; color:var(--text-light); margin-bottom:12px;}
.zone-card p{color:var(--text-muted); font-size:15px; max-width:640px;}
.zone-card p + p{margin-top:10px;}
@media(max-width:600px){ .zone-card{grid-template-columns:1fr; padding:24px;} }
#services{background:var(--bg-darker);}
.services-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.service-card{background:var(--bg-darker); padding:26px 24px; min-height:150px; display:flex; flex-direction:column; gap:14px; transition:background .15s;}
.service-card:hover{background:var(--bg-card);}
.service-card svg{width:26px; height:26px; stroke:var(--accent-light); stroke-width:1.4;}
.service-card h3{font-family:var(--font-body); font-weight:700; font-size:15px; color:var(--text-light);}
.service-card p{font-size:14px; color:var(--text-muted);}
.service-card.urgence{background:rgba(230,126,27,.08); border:1px dashed var(--accent);}
.service-card.urgence svg{stroke:var(--accent);}
.service-card.urgence .tag{font-family:var(--font-mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); border:1px solid var(--accent); display:inline-block; padding:2px 8px; border-radius:20px; width:fit-content;}
.urgence-call{align-self:flex-start; margin-top:4px; padding:10px 18px; font-size:14px; display:inline-flex; align-items:center; gap:8px;}
.urgence-call svg{width:15px; height:15px; stroke:var(--bg-darker);}
@media(max-width:900px){ .services-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:600px){ .services-grid{grid-template-columns:1fr;} }

.services-tiles-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:24px;}
.service-tile{display:flex; flex-direction:column; background:var(--bg-darker); border:1px solid var(--line); border-radius:8px; overflow:hidden; transition:border-color .15s, transform .15s;}
.service-tile:hover{border-color:var(--accent); transform:translateY(-2px);}
.service-tile-photo{aspect-ratio:16/10; overflow:hidden; background:var(--bg-card);}
.service-tile-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.service-tile-body{padding:18px 20px 20px; display:flex; flex-direction:column; gap:8px;}
.service-tile-body h3{font-family:var(--font-body); font-weight:700; font-size:15px; color:var(--text-light);}
.service-tile-body p{font-size:14px; color:var(--text-muted); flex-grow:1;}
.service-tile-price{font-family:var(--font-mono); font-size:14px; color:var(--accent-light); padding-top:8px; border-top:1px solid var(--line); margin-top:2px;}
.service-tile-hint{font-family:var(--font-mono); font-size:12.5px; color:var(--text-muted); transition:color .15s;}
.service-tile:hover .service-tile-hint{color:var(--accent-light);}
@media(max-width:900px){ .services-tiles-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:600px){ .services-tiles-grid{grid-template-columns:1fr;} }
.zone-layout{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
.radar-wrap{position:relative; aspect-ratio:1; background:var(--bg-darker); border:1px solid var(--line); border-radius:8px; overflow:hidden;}
.radar-wrap svg{width:100%; height:100%;}
.zone-copy h2{font-size:clamp(26px,3.4vw,34px); margin-bottom:14px;}
.zone-copy p{color:var(--text-muted); font-size:15px; margin-bottom:18px;}
.zone-fact{display:flex; align-items:baseline; gap:10px; font-family:var(--font-mono); color:var(--accent-light); font-size:14px; margin-bottom:6px;}
.zone-fact b{font-family:var(--font-display); font-size:24px; color:var(--text-light); letter-spacing:.02em;}
@media(max-width:760px){ .zone-layout{grid-template-columns:1fr;} }
.rdv-layout{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start;}
.rdv-copy h2{font-size:clamp(26px,3.4vw,34px); margin-bottom:14px;}
.rdv-copy p{color:var(--text-muted); font-size:15px; margin-bottom:20px; max-width:440px;}
.calendar-slot{border:1px solid var(--line); border-radius:8px; overflow:hidden; background:var(--bg-darker);}
.calendar-slot .bar{background:var(--bg-card); padding:12px 16px; display:flex; align-items:center; gap:8px; border-bottom:1px solid var(--line);}
.calendar-slot .bar svg{width:14px; height:14px; stroke:var(--accent-light);}
.calendar-slot .bar span{font-family:var(--font-mono); font-size:11px; color:var(--text-muted); letter-spacing:.04em;}
.calendar-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line);}
.calendar-grid .day{background:var(--bg-darker); padding:14px 8px;}
.calendar-grid .day .d{font-family:var(--font-mono); font-size:10px; color:var(--text-muted); text-align:center; margin-bottom:10px;}
.slot-pill{font-family:var(--font-mono); font-size:10px; text-align:center; padding:6px 4px; border-radius:3px; margin-bottom:5px; background:rgba(230,126,27,.12); color:var(--accent-light); border:1px solid rgba(230,126,27,.3);}
.slot-pill.off{background:transparent; color:var(--line); border-color:var(--line);}
@media(max-width:760px){ .rdv-layout{grid-template-columns:1fr;} }
.steps{margin-top:44px; border-top:1px solid var(--line);}
.step{display:grid; grid-template-columns:50px 1fr; gap:18px; padding:22px 0; border-bottom:1px solid var(--line);}
.step .num{font-family:var(--font-display); font-size:28px; color:var(--accent);}
.step h3{font-family:var(--font-body); font-weight:700; font-size:15.5px; color:var(--text-light); margin-bottom:5px;}
.step p{color:var(--text-muted); font-size:14px;}
.faq-accordion{max-width:720px;}
.faq-accordion-item{border-bottom:1px solid var(--line);}
.faq-accordion-item:first-child{border-top:1px solid var(--line);}
.faq-accordion-item summary{list-style:none; cursor:pointer; padding:20px 34px 20px 0; position:relative; font-weight:700; font-size:15.5px; color:var(--text-light);}
.faq-accordion-item summary::-webkit-details-marker{display:none;}
.faq-accordion-item summary::after{content:"+"; position:absolute; right:4px; top:18px; font-family:var(--font-mono); font-size:19px; color:var(--accent);}
.faq-accordion-item[open] summary::after{content:"–";}
.faq-accordion-item summary:hover{color:var(--accent-light);}
.faq-accordion-item p{color:var(--text-muted); font-size:14.5px; padding:0 0 22px; max-width:640px;}
.faq-actions{display:flex; gap:14px; flex-wrap:wrap; margin-top:32px;}
#contact{background:var(--bg-darker);}
.contact-grid{display:grid; grid-template-columns:.95fr 1.05fr; gap:56px;}
.contact-item{display:flex; gap:14px; padding:18px 0; border-bottom:1px solid var(--line);}
.contact-item svg{width:18px; height:18px; stroke:var(--accent); flex-shrink:0; margin-top:2px;}
.contact-item .label{font-size:11.5px; font-family:var(--font-mono); color:var(--text-muted); text-transform:uppercase; letter-spacing:.08em;}
.contact-item .value{font-size:16px; font-weight:600; margin-top:3px;}
.contact-item .value.fill{color:var(--accent-light); font-weight:400; font-style:italic; font-size:14px;}
.contact-photo-col{display:flex; flex-direction:column; align-items:flex-start; gap:16px;}
.contact-photo{width:100%; max-width:280px; aspect-ratio:4/5; border-radius:8px; overflow:hidden; border:1px solid var(--line); position:relative;}
.contact-photo img{width:100%; height:100%; object-fit:cover; display:block; -webkit-mask-image:linear-gradient(180deg, black 75%, transparent 100%); mask-image:linear-gradient(180deg, black 75%, transparent 100%);}
.contact-photo-caption{font-family:var(--font-mono); font-size:12px; color:var(--text-muted); letter-spacing:.03em;}
@media(max-width:760px){ .contact-grid{grid-template-columns:1fr;} }
#avis{background:var(--bg-darker); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.reviews-head{max-width:650px; margin-bottom:34px;}
.reviews-preview-label{font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--text-muted); margin-bottom:14px;}
.reviews-grid.skeleton{opacity:.6; margin-bottom:28px;}
.skeleton-line{height:9px; background:var(--line); border-radius:3px; margin-top:9px;}
.skeleton-line:first-of-type{margin-top:2px;}
.skeleton-line.author{margin-top:16px; background:rgba(230,126,27,.25);}
.reviews-head h2{font-size:clamp(28px,3.8vw,38px); color:var(--text-light); margin-top:8px;}
.reviews-head p{color:var(--text-muted); margin-top:12px; font-size:15.5px;}
.reviews-empty{
    display:grid; grid-template-columns:56px 1fr auto; gap:22px; align-items:center;
    padding:28px; border:1px solid var(--line); border-radius:8px; background:var(--bg-card);
  }
.reviews-empty .quote-mark{
    width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    background:rgba(230,126,27,.10); border:1px solid rgba(230,126,27,.35);
  }
.reviews-empty .quote-mark svg{width:25px; height:25px; stroke:var(--accent);}
.reviews-empty h3{font-family:var(--font-body); font-size:17px; font-weight:700; color:var(--text-light); margin-bottom:7px;}
.reviews-empty p{font-size:14.5px; color:var(--text-muted); max-width:590px;}
.reviews-note{font-family:var(--font-mono); font-size:12.5px; color:var(--text-muted); margin-top:16px; letter-spacing:.02em;}
.interventions-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:24px;}
.intervention-card{position:relative; border-radius:8px; overflow:hidden; border:1px solid var(--line); aspect-ratio:3/4;}
.intervention-card img{width:100%; height:100%; object-fit:cover; display:block;}
.intervention-caption{position:absolute; left:0; right:0; bottom:0; background:linear-gradient(0deg, rgba(31,34,37,.92), rgba(31,34,37,0)); color:var(--text-light); font-family:var(--font-mono); font-size:11.5px; letter-spacing:.02em; padding:22px 10px 8px; text-align:center;}
@media(max-width:900px){ .interventions-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:600px){ .interventions-grid{grid-template-columns:repeat(2,1fr); gap:10px;} }
.reviews-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.review-card{background:var(--bg-darker); border:1px solid var(--line); border-radius:8px; padding:24px; display:flex; flex-direction:column; gap:14px;}
.review-card .quote-mark{width:36px; height:36px; border-radius:50%; background:rgba(230,126,27,.1); display:flex; align-items:center; justify-content:center;}
.review-card .quote-mark svg{width:17px; height:17px; stroke:var(--accent);}
.review-card p{font-size:14.5px; color:var(--text-light); line-height:1.55;}
.review-stars{color:var(--accent); font-size:15px; letter-spacing:2px;}
.review-author{font-family:var(--font-mono); font-size:12px; color:var(--text-muted); letter-spacing:.02em;}
@media(max-width:900px){ .reviews-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:600px){ .reviews-grid{grid-template-columns:1fr;} }
@media(max-width:760px){
    .reviews-empty{grid-template-columns:48px 1fr; padding:22px; gap:16px;}
    .reviews-empty .quote-mark{width:48px; height:48px;}
    .reviews-empty .btn-primary{grid-column:1 / -1; width:100%; text-align:center;}
  }
footer{background:var(--bg-dark); border-top:1px solid var(--line); padding:34px 0;}
.footer-row{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;}
.footer-row .logo-slot{font-size:18px;}
.footer-row .logo-mark{height:40px;}
footer .meta{font-family:var(--font-mono); font-size:11.5px; color:var(--text-muted);}
footer nav{display:flex; gap:18px; font-size:13px; color:var(--text-muted);}
footer nav a:hover{color:var(--text-light);}
.reveal{opacity:1; transform:none;}
.reveal.reveal-ready{opacity:0; transform:translateY(16px); transition:opacity .5s ease, transform .5s ease;}
.reveal.reveal-ready.in{opacity:1; transform:none;}
@media (prefers-reduced-motion: reduce){ .reveal.reveal-ready{opacity:1; transform:none; transition:none;} html{scroll-behavior:auto;} }

/* Règles provenant de services.html */

.services-note{margin-top:22px; font-size:13px; line-height:1.6; color:var(--text-muted); max-width:680px;}
#avant-apres{background:var(--bg-darker); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.before-after{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
.before-after-item{position:relative;}
.before-after-photo{aspect-ratio:4/3; border-radius:8px; overflow:hidden; border:1px solid var(--line); background:var(--bg-card);}
.before-after-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.before-after-label{position:absolute; top:12px; left:12px; font-family:var(--font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; padding:5px 12px; border-radius:20px; background:var(--bg-darker); border:1px solid var(--line); color:var(--text-muted);}
.before-after-label.after{color:var(--accent-light); border-color:var(--accent); background:rgba(230,126,27,.12);}
@media(max-width:760px){ .before-after{grid-template-columns:1fr;} }
.interventions-grid.compact{grid-template-columns:repeat(2,1fr); max-width:520px;}

/* Règles provenant de rdv.html */

.form-slot{border:1px solid var(--line); border-top:3px solid var(--accent); border-radius:8px; overflow:hidden; background:var(--bg-darker); box-shadow:0 10px 26px rgba(0,0,0,.3);}
.form-slot .bar{background:var(--bg-card); padding:12px 16px; display:flex; align-items:center; gap:8px; border-bottom:1px solid var(--line);}
.form-slot .bar svg{width:14px; height:14px; stroke:var(--accent-light);}
.form-slot .bar span{font-family:var(--font-mono); font-size:12.5px; color:var(--text-muted); letter-spacing:.04em;}
.form-fields{display:flex; flex-wrap:wrap; gap:8px; padding:20px 16px;}
.form-fields span{font-family:var(--font-mono); font-size:11px; color:var(--accent-light); background:rgba(230,126,27,.1); border:1px solid rgba(230,126,27,.3); border-radius:20px; padding:5px 12px;}
.form-note{font-size:12.5px; color:var(--text-muted); padding:0 16px 18px; margin-top:-6px;}
.google-form-intro{padding:18px 16px; border-bottom:1px solid var(--line);}
.google-form-intro p{font-size:14px; color:var(--text-muted); margin-bottom:14px;}
.google-form-intro .btn-primary{width:100%; text-align:center; padding:13px 18px;}
.cookie-banner{position:fixed; left:0; right:0; bottom:0; z-index:200; background:var(--bg-darker); border-top:1px solid var(--line); box-shadow:0 -8px 24px rgba(0,0,0,.3); padding:18px 20px; transform:translateY(110%); transition:transform .25s ease;}
.cookie-banner.show{transform:translateY(0);}
.cookie-banner-inner{max-width:1080px; margin:0 auto; display:flex; align-items:center; gap:24px; flex-wrap:wrap; justify-content:space-between;}
.cookie-banner p{color:var(--text-muted); font-size:14px; max-width:620px; line-height:1.55; margin:0;}
.cookie-banner a{color:var(--accent-light);}
.cookie-banner-actions{display:flex; gap:10px; flex-shrink:0;}
.cookie-banner-actions button{font-family:var(--font-body); font-weight:700; font-size:14px; padding:10px 20px; border-radius:4px; cursor:pointer; border:1px solid var(--line); background:transparent; color:var(--text-light); transition:background .15s, border-color .15s;}
.cookie-banner-actions button.cookie-accept{background:var(--accent); color:var(--bg-darker); border-color:var(--accent);}
.cookie-banner-actions button.cookie-accept:hover{background:var(--accent-light);}
.cookie-banner-actions button.cookie-refuse:hover{border-color:var(--accent);}
@media(max-width:640px){ .cookie-banner-inner{flex-direction:column; align-items:stretch;} .cookie-banner-actions button{flex:1;} }
.consent-placeholder{border:1px dashed var(--line); border-radius:8px; padding:24px; text-align:center; color:var(--text-muted); font-size:14px; background:var(--bg-darker);}
.consent-placeholder p{margin-bottom:14px;}
.google-form-frame-wrap{background:var(--bg-darker); padding:14px;}
.google-form-frame{display:block; width:100%; height:1850px; border:0; background:#fff; border-radius:6px; box-shadow:0 2px 10px rgba(0,0,0,.25);}
.google-form-fallback{font-size:12.5px; color:var(--text-muted); padding:12px 16px 18px;}
.google-form-fallback a{color:var(--accent-light); text-decoration:underline;}
.zone-reminder{display:flex; align-items:center; gap:10px; font-family:var(--font-mono); font-size:12.5px; color:var(--accent-light); background:rgba(230,126,27,.08); border:1px solid rgba(230,126,27,.25); border-radius:6px; padding:10px 14px; margin-bottom:18px;}
.zone-reminder svg{width:16px; height:16px; stroke:var(--accent-light); flex-shrink:0;}
.pending-note{display:inline-block; font-family:var(--font-mono); font-size:11px; color:var(--accent-light); border:1px dashed var(--accent); border-radius:4px; padding:2px 8px; margin-top:8px;}

/* Règles provenant de contact.html */

.section-head h1,.section-head h2{font-size:clamp(28px,3.8vw,38px); color:var(--text-light); margin-top:8px;}
.commune-tags{display:flex; flex-wrap:wrap; gap:8px;}
.commune-tags span{
    font-family:var(--font-mono); font-size:11.5px; color:var(--text-muted);
    border:1px solid var(--line); border-radius:20px; padding:5px 12px;
  }
.photo-badge{
    position:absolute; top:0; left:0; width:82px; height:56px; border-radius:0 0 12px 0;
    background:var(--bg-darker); border:1px solid var(--line); border-top:none; border-left:none;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 2px 8px rgba(0,0,0,.35);
  }
.photo-badge svg{width:24px; height:24px; stroke:var(--accent);}

/* Règles provenant de services.html — emplacement futur widget avis Google */

.elfsight-slot{margin-top:28px;}

/* Règles provenant de tarifs.html */

.price-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.price-card{background:var(--bg-darker); padding:26px 24px; min-height:150px; display:flex; flex-direction:column; gap:12px; transition:background .15s;}
.price-card:hover{background:var(--bg-card);}
.price-card h3{font-family:var(--font-body); font-weight:700; font-size:15px; color:var(--text-light);}
.price-card .price-desc{font-size:14px; color:var(--text-muted); flex-grow:1;}
.price-card .price-value{font-family:var(--font-mono); font-size:13.5px; color:var(--accent-light); padding-top:8px; border-top:1px solid var(--line);}
@media(max-width:900px){ .price-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:600px){ .price-grid{grid-template-columns:1fr;} }
.price-card-detailed{padding-bottom:24px;}
.price-breakdown{display:flex; flex-direction:column; gap:10px; margin:2px 0 4px;}
.price-breakdown li{list-style:none; display:flex; flex-direction:column; gap:3px; padding-bottom:10px; border-bottom:1px solid var(--line);}
.price-breakdown li:last-child{border-bottom:none; padding-bottom:0;}
.price-breakdown-label{font-size:14px; color:var(--text-light); font-weight:600;}
.price-breakdown-value{font-family:var(--font-mono); font-size:12.5px; color:var(--accent-light);}
.price-breakdown-note{font-size:13px; line-height:1.6; color:var(--text-muted); font-style:italic; margin-top:2px;}
.price-breakdown-cta{align-self:flex-start; margin-top:10px; font-size:14px; padding:10px 18px;}
.price-extra-note{padding:22px 0; border-bottom:1px solid var(--line); max-width:680px;}
.price-extra-note:last-of-type{border-bottom:none;}
.price-extra-note h3{font-family:var(--font-body); font-weight:700; font-size:15px; color:var(--text-light); margin-bottom:8px;}
.price-extra-note p{font-size:14.5px; color:var(--text-muted);}

/* Anciens styles inline, désormais centralisés */

.u-inline-001{margin-top:26px !important;display:inline-block !important;}
.u-inline-002{margin-top:12px !important;}
.u-inline-003{max-width:760px !important;}
.u-inline-004{border-top:1px solid var(--line) !important;background:var(--bg-darker) !important;}
.u-inline-005{display:flex !important;justify-content:space-between !important;align-items:center !important;flex-wrap:wrap !important;gap:24px !important;}
.u-inline-006{font-size:clamp(24px,3vw,32px) !important;max-width:420px !important;}
.u-inline-007{display:flex !important;gap:14px !important;flex-wrap:wrap !important;}
.cta-text{max-width:420px;}
.cta-subtext{color:var(--text-muted); font-size:15px; margin-top:10px;}
.u-inline-008{text-decoration:underline !important;}
.u-inline-009{padding-top:56px !important;}
.u-inline-010{padding:0 !important;}
.u-inline-011{font-size:12px !important;color:var(--text-muted) !important;font-weight:500 !important;}
.u-inline-012{border-top:1px solid var(--line) !important;background:var(--bg-darker) !important;padding-top:56px !important;}
.u-inline-013{border-bottom:none !important;}
.u-inline-014{border-top:1px solid var(--line) !important;}
.u-inline-015{margin-top:8px !important;}
.u-inline-016{font-family:var(--font-mono) !important;font-size:12.5px !important;color:var(--text-muted) !important;margin-top:10px !important;line-height:1.6 !important;}
.u-inline-017{font-size:15px !important;color:var(--text-muted) !important;margin-top:10px !important;line-height:1.55 !important;}
.u-inline-018{grid-column:1/-1 !important;font-family:var(--font-mono) !important;font-size:12.5px !important;color:var(--text-muted) !important;margin-top:-8px !important;line-height:1.6 !important;}
.u-inline-019{margin-bottom:16px !important;}
.u-inline-020{color:var(--text-muted) !important;margin-bottom:8px !important;}
.u-inline-021{color:var(--accent-light) !important;}
.u-inline-022{color:var(--text-muted) !important;margin-bottom:32px !important;}
.u-inline-023{color:var(--text-muted) !important;margin-bottom:12px !important;}

/* Accessibilité */
.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
.skip-link{position:absolute; left:0; top:-60px; z-index:100; background:var(--accent); color:var(--bg-darker); font-weight:700; font-size:14px; padding:12px 22px; border-radius:0 0 4px 0; transition:top .15s;}
.skip-link:focus{top:0;}
a:focus-visible, button:focus-visible, [tabindex]:focus-visible, input:focus-visible, iframe:focus-visible{
  outline:3px solid var(--accent-light); outline-offset:3px; border-radius:2px;
}
.nav-links a:focus-visible{outline-offset:2px;}
.nav-cta:focus-visible, .btn-primary:focus-visible, .mobile-menu-toggle:focus-visible{
  outline:3px solid var(--text-light); outline-offset:2px;
}

/* Stratégie tarifaire unifiée : encadré, badges de statut prix (services.html + tarifs.html) */
.pricing-rule-note{border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:6px; background:var(--bg-card); padding:22px 26px; margin-bottom:28px; display:flex; flex-direction:column; gap:16px;}
.pricing-rule-title{font-family:var(--font-body); font-weight:700; font-size:15px; color:var(--text-light);}
.pricing-rule-note p{font-size:14.5px; color:var(--text-muted); max-width:720px; line-height:1.6;}
.pricing-rule-legend{display:flex; flex-wrap:wrap; gap:10px;}
.price-tag{font-family:var(--font-mono); font-size:10.5px; letter-spacing:.05em; text-transform:uppercase; padding:4px 10px; border-radius:20px; display:inline-flex; align-items:center; gap:5px; width:fit-content;}
.price-tag-forfait{background:var(--accent); color:var(--bg-darker); font-weight:700;}
.price-tag-pose{background:transparent; color:var(--accent-light); border:1px solid var(--accent);}
.price-tag-devis{background:var(--bg-card); color:var(--text-muted); border:1px solid var(--line);}
.price-tag-diagnostic{background:transparent; color:var(--text-muted); border:1px dashed var(--line);}
.price-tag-diagnostic svg{width:10px; height:10px; stroke:var(--text-muted); flex-shrink:0;}
.service-tile-tags, .price-card-tags{display:flex; gap:6px; flex-wrap:wrap;}
.service-card-link{font-family:var(--font-mono); font-size:12px; color:var(--accent-light); transition:color .15s;}
.service-card-link:hover{color:var(--text-light);}
.services-grid-2{grid-template-columns:repeat(2,1fr);}
@media(max-width:600px){ .services-grid-2{grid-template-columns:1fr;} }
section[id]{scroll-margin-top:100px;}

/* Bouton "Gérer mes cookies" dans le pied de page : même apparence que les liens voisins */
.footer-cookie-btn{appearance:none; -webkit-appearance:none; background:transparent; border:none; padding:0; margin:0; font:inherit; color:inherit; text-decoration:underline; cursor:pointer;}
.footer-cookie-btn:hover{color:var(--accent-light);}
