/* NFR : /ravalement-facade. Le design vient de /assets/facade/nfr.css (copie du site NFR 2026).
   Ici : les composants propres à la page ravalement du site (préfixe rav-, copiés de son <style>)
   et les quelques ajustements de landing page (pas de navigation, barre mobile masquable,
   état de remerciement, pied de page sans liens). */

/* ===== Composants de la page ravalement du site (préfixe rav-) ===== */
.rav-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:44px; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.rav-card{ border-right:1px solid var(--line); border-bottom:1px solid var(--line); padding:0; display:flex; flex-direction:column; background:var(--white); }
.rav-card-body{ padding:24px 24px 26px; display:flex; flex-direction:column; flex:1; }
.rav-card h3{ font-size:18.5px; color:var(--navy); margin-bottom:4px; line-height:1.18; }
.rav-card .rav-tag{ display:inline-block; align-self:flex-start; font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; font-weight:700; padding:3px 8px; border-radius:3px; margin-bottom:11px; }
.rav-tag.symp{ color:#8a2b2b; background:#f4e2e2; }
.rav-tag.sol{ color:#0a6e80; background:#e2edef; }
.rav-card p{ color:var(--muted); font-size:14px; line-height:1.62; margin-bottom:12px; }
.rav-specs{ list-style:none; margin:auto 0 0; padding:0; border-top:1px solid var(--line); }
.rav-specs li{ display:flex; gap:10px; font-size:13px; padding:8px 0; border-bottom:1px solid var(--line); color:var(--ink); }
.rav-specs li:last-child{ border-bottom:0; }
.rav-specs .k{ flex:none; width:82px; color:var(--muted); font-weight:500; }
.rav-specs .v{ font-weight:500; }
@media(max-width:900px){ .rav-grid{ grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .rav-grid{ grid-template-columns:1fr; } }
.rav-tablewrap{ overflow-x:auto; margin-top:40px; border:1px solid var(--line); border-radius:6px; -webkit-overflow-scrolling:touch; }
.rav-table{ width:100%; border-collapse:collapse; min-width:640px; font-size:14px; background:var(--white); }
.rav-table th, .rav-table td{ text-align:left; padding:14px 16px; border-bottom:1px solid var(--line); vertical-align:top; }
.rav-table thead th{ background:var(--petrol); color:#fff; font-weight:600; font-size:12.5px; letter-spacing:.02em; position:sticky; top:0; }
.rav-table tbody th{ font-weight:600; color:var(--navy); white-space:nowrap; }
.rav-table tbody tr:nth-child(even){ background:rgba(0,74,92,.028); }
.rav-table tbody tr:last-child td, .rav-table tbody tr:last-child th{ border-bottom:0; }
.rav-table .num{ font-weight:600; color:var(--ink); white-space:nowrap; }
.rav-note{ font-size:12.5px; color:var(--muted); margin-top:12px; line-height:1.6; }

/* ===== Ajustements landing page ===== */
/* en-tête sans navigation : logo non cliquable, téléphone et bouton à droite */
nav .logo{ cursor:default; }
.nav-tel span{ display:flex; flex-direction:column; }
@media(max-width:520px){ .nav-tel small{ display:none; } .nav-tel{ font-size:15px; } .btn-cta{ padding:11px 14px; font-size:13.5px; } }
/* pot de miel (anti-spam), hors écran */
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
/* le micro-form du hero est aussi la cible #devis : marge pour le header fixe */
.svc-hero .hero-form{ scroll-margin-top:96px; }
/* cartes du hub en simple bloc (pas de lien) */
.hub-card{ cursor:default; }
/* état de remerciement des formulaires (remplace les champs) */
.form-thanks{ padding:22px 22px 24px; }
.contact-form .form-thanks{ padding:0; }
.form-thanks h3{ font-family:'Fraunces',serif; font-size:24px; font-weight:500; color:var(--navy); margin:0 0 10px; line-height:1.15; }
.form-thanks p{ font-size:15px; color:var(--ink); line-height:1.6; margin:0 0 10px; }
.form-thanks .form-thanks-call a{ color:var(--petrol); font-weight:700; }
.form-thanks .small{ font-size:12.5px; color:var(--muted); }
.form-msg.is-error{ background:#fbecec; border-color:#efc4c4; border-left-color:var(--red); color:#7a1f1f; }
.form-msg.is-error::before{ display:none; }
/* pied de page sans liens : lignes en texte, même rythme que les liens du site */
.foot-col span{ display:block; color:rgba(255,255,255,.66); font-size:14px; margin-bottom:11px; }
/* barre mobile : masquée quand un formulaire est à l'écran ou après envoi */
.mobcta.is-hidden{ display:none !important; }
/* curseurs avant/après : le trait de focus du site ne doit pas déborder du cadre */
.ba-slider{ outline-offset:-3px; }
/* en-tête de section « zone » dans une grille : même largeur que la prose */
.split.edito .section-head{ max-width:none; }
/* section pisé : sous-titres des deux blocs de texte (le site n'a pas de h3 dans .prose) */
.split-photo .prose h3{ font-size:clamp(22px,2.6vw,30px); color:var(--navy); margin:0 0 12px; }
/* vidéo « après » du curseur pisé : fond neutre sous l'affiche tant que le mp4 n'est pas chargé */
.ba-slider .ba-after video{ background:var(--tint-2); object-fit:cover; }
/* lien vers le simulateur IA (test A/B simulateur_link, facade.js) */
[data-sim-link][hidden]{ display:none !important; }
.hero-sim{ margin:16px 0 0; font-size:14.5px; }
.hero-sim a{ color:var(--petrol); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.hero-sim a:hover{ color:var(--navy); }
