/* ROY HABITAT — Page Contact (charge avec base.css). Couleurs charte orange. */
:root{ --ct:#E85D2F; --ct-d:#C44A1F; --ct-soft:#FDEDE6; --ct-line:#FBE0D6; }

.ct-hero{padding:150px 0 40px;background:radial-gradient(120% 90% at 85% 0%,#FFF3EE 0%,rgba(255,243,238,0) 55%),#FFFFFF;position:relative}
.ct-hero-inner{max-width:760px}
.ct-eyebrow{display:inline-block;font-family:'Sora',sans-serif;font-weight:700;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ct-d);background:#FCE9E1;border:1px solid #F6D2C4;padding:7px 15px;border-radius:100px;margin-bottom:20px}
.ct-title{font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(40px,6vw,68px);line-height:1.02;letter-spacing:-.02em;color:var(--bleu-nuit);margin:0 0 18px}
.ct-lead{font-size:clamp(16px,1.9vw,19px);line-height:1.6;color:var(--gris-texte);max-width:600px;margin:0 0 30px}
.ct-quick{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}
.ct-quick-btn{display:inline-flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--gris-bord);border-radius:16px;padding:13px 18px;text-decoration:none;color:var(--bleu-nuit);font-weight:700;font-family:'Sora',sans-serif;box-shadow:var(--shadow-soft);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.ct-quick-btn:hover{transform:translateY(-3px);box-shadow:var(--shadow-medium);border-color:#F0C7B7}
.ct-quick-btn span{display:flex;flex-direction:column;line-height:1.2;font-size:15px}
.ct-quick-btn small{font-weight:600;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--gris-texte);font-family:'Manrope',sans-serif}
.ct-qi{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#FCE9E1;color:var(--ct-d);flex-shrink:0}
.ct-qi svg{width:20px;height:20px}
.ct-quick-btn.primary{background:linear-gradient(135deg,#F2683B,#D24A22);border-color:transparent;color:#fff}
.ct-quick-btn.primary .ct-qi{background:rgba(255,255,255,.18);color:#fff}
.ct-quick-btn.primary small{color:rgba(255,255,255,.82)}
.ct-trust{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--gris-texte)}
.ct-trust strong{color:var(--bleu-nuit)}
.ct-g{width:22px;height:22px;border-radius:50%;background:conic-gradient(from -45deg,#EA4335 0 25%,#FBBC05 0 50%,#34A853 0 75%,#4285F4 0);display:grid;place-items:center;color:#fff;font-weight:800;font-size:12px;font-family:'Sora',sans-serif}

.ct-main{padding:30px 0 90px}
.ct-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:start}
.ct-form-card{background:#fff;border:1px solid var(--gris-bord);border-radius:26px;padding:38px 38px 34px;box-shadow:0 24px 60px rgba(26,20,16,.08)}
.ct-form-card h2{font-family:'Sora',sans-serif;font-weight:800;font-size:26px;color:var(--bleu-nuit);margin:0 0 6px;line-height:1.15}
.ct-form-sub{font-size:14px;color:var(--gris-texte);margin:0 0 22px}
.ct-form-sub span,.ct-field label span,.ct-consent span a{color:var(--ct-d)}
.ct-lbl{display:block;font-family:'Sora',sans-serif;font-weight:700;font-size:13px;color:var(--bleu-nuit);margin:0 0 10px}
.ct-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.ct-chip{font-family:'Manrope',sans-serif;font-weight:700;font-size:13px;color:var(--gris-texte);background:#F6F4F1;border:1px solid var(--gris-bord);border-radius:100px;padding:8px 15px;cursor:pointer;transition:all .2s ease}
.ct-chip:hover{border-color:#F0C7B7;color:var(--ct-d)}
.ct-chip.active{background:var(--ct);border-color:var(--ct);color:#fff}
.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ct-field{margin-bottom:14px;display:flex;flex-direction:column}
.ct-field label{font-weight:700;font-size:13px;color:var(--bleu-nuit);margin-bottom:7px;font-family:'Sora',sans-serif}
.ct-field input,.ct-field textarea{font-family:'Manrope',sans-serif;font-size:15px;color:var(--bleu-nuit);background:#FBFAF9;border:1px solid var(--gris-bord);border-radius:12px;padding:12px 14px;width:100%;transition:border-color .2s ease,box-shadow .2s ease;resize:vertical}
.ct-field input:focus,.ct-field textarea:focus{outline:none;border-color:var(--ct);box-shadow:0 0 0 3px rgba(232,93,47,.14);background:#fff}
.ct-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--gris-texte);line-height:1.5;margin:6px 0 22px}
.ct-consent input{margin-top:3px;width:16px;height:16px;accent-color:var(--ct);flex-shrink:0}
.ct-submit{display:inline-flex;align-items:center;gap:10px;font-family:'Sora',sans-serif;font-weight:700;font-size:16px;color:#fff;background:linear-gradient(135deg,#F2683B,#D24A22);border:none;border-radius:14px;padding:15px 28px;cursor:pointer;box-shadow:0 12px 30px rgba(210,74,34,.32);transition:transform .25s ease,box-shadow .25s ease}
.ct-submit:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(210,74,34,.4)}
.ct-submit:disabled{opacity:.7;cursor:default;transform:none}
.ct-submit svg{width:18px;height:18px}
.ct-result{margin-top:16px;font-size:14px;font-weight:600;line-height:1.5}
.ct-result.ok{color:#1E7A3A}
.ct-result.err{color:#C0392B}
.ct-result a{color:inherit;text-decoration:underline}

.ct-info{display:flex;flex-direction:column;gap:18px}
.ct-info-card{background:linear-gradient(150deg,#16110C,#241A10);border-radius:22px;padding:30px 28px;color:#fff}
.ct-info-card h3{font-family:'Sora',sans-serif;font-weight:800;font-size:19px;margin:0 0 18px}
.ct-line{display:flex;align-items:flex-start;gap:13px;color:#fff;text-decoration:none;font-size:15px;font-weight:600;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08);transition:color .2s ease}
.ct-line:last-of-type{border-bottom:none}
.ct-line:hover{color:#FFB596}
.ct-ic{width:34px;height:34px;border-radius:10px;background:rgba(232,93,47,.18);color:#FF8A5B;display:grid;place-items:center;flex-shrink:0}
.ct-ic svg{width:17px;height:17px}
.ct-hours{margin-top:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:16px 18px}
.ct-hours-head{display:flex;align-items:center;gap:11px;font-family:'Sora',sans-serif;font-weight:700;font-size:14px;margin-bottom:12px}
.ct-hours ul{list-style:none;margin:0;padding:0}
.ct-hours li{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;padding:5px 0;color:rgba(255,255,255,.82)}
.ct-hours li b{color:#fff;font-weight:700}
.ct-hours li.off{color:rgba(255,255,255,.45)}
.ct-hours li.off b{color:rgba(255,255,255,.5);font-weight:600}
.ct-hours-note{font-size:11.5px;color:rgba(255,255,255,.5);margin:12px 0 0;line-height:1.5}
.ct-map{border-radius:20px;overflow:hidden;border:1px solid var(--gris-bord);box-shadow:var(--shadow-soft);height:240px}
.ct-map iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.12)}
.ct-follow{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid var(--gris-bord);border-radius:16px;padding:14px 20px;box-shadow:var(--shadow-soft)}
.ct-follow>span{font-family:'Sora',sans-serif;font-weight:700;font-size:14px;color:var(--bleu-nuit)}
.ct-soc{display:flex;gap:9px}
.ct-soc a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#16110C;color:#fff;font-weight:800;font-size:14px;text-decoration:none;font-family:'Sora',sans-serif;transition:transform .2s ease}
.ct-soc a:hover{transform:translateY(-3px)}
.ct-soc a.ig{background:radial-gradient(circle at 30% 110%,#ffd600 0,#ff7a00 25%,#ff0069 50%,#d300c5 75%,#7638fa 100%)}

.ct-entities{padding:18px 0 70px;background:var(--creme)}
.ct-ent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:14px}
.ct-ent{background:#fff;border:1px solid var(--gris-bord);border-radius:22px;padding:28px 26px;box-shadow:var(--shadow-soft);position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
.ct-ent::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--ec)}
.ct-ent:hover{transform:translateY(-5px);box-shadow:var(--shadow-medium)}
.ct-ent-top{font-family:'Sora',sans-serif;font-weight:800;font-size:20px;color:var(--ec);margin-bottom:10px}
.ct-ent p{font-size:14px;line-height:1.55;color:var(--gris-texte);margin:0 0 16px}
.ct-ent-line{display:flex;align-items:center;gap:8px;color:var(--bleu-nuit);text-decoration:none;font-weight:700;font-size:14px;padding:5px 0}
.ct-ent-line svg{width:15px;height:15px;color:var(--ec)}
.ct-ent-line:hover{color:var(--ec)}
.ct-ent-link{display:inline-block;margin-top:10px;font-family:'Sora',sans-serif;font-weight:700;font-size:14px;color:var(--ec);text-decoration:none}

.ct-faq{padding:60px 0 96px}
.ct-faq-list{max-width:820px;margin:14px auto 0;display:flex;flex-direction:column;gap:12px}
.ct-faq-item{background:#fff;border:1px solid var(--gris-bord);border-radius:16px;padding:0 22px;box-shadow:var(--shadow-soft)}
.ct-faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:19px 0;font-family:'Sora',sans-serif;font-weight:700;font-size:16px;color:var(--bleu-nuit)}
.ct-faq-item summary::-webkit-details-marker{display:none}
.ct-faq-x{position:relative;width:18px;height:18px;flex-shrink:0}
.ct-faq-x::before,.ct-faq-x::after{content:'';position:absolute;background:var(--ct);border-radius:2px;transition:transform .25s ease}
.ct-faq-x::before{top:8px;left:0;width:18px;height:2px}
.ct-faq-x::after{left:8px;top:0;width:2px;height:18px}
.ct-faq-item[open] .ct-faq-x::after{transform:scaleY(0)}
.ct-faq-item>div{padding:0 0 20px;font-size:14.5px;line-height:1.6;color:var(--gris-texte)}

@media(max-width:980px){
  .ct-grid{grid-template-columns:1fr;gap:22px}
  .ct-ent-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .ct-hero{padding-top:130px}
  .ct-form-card{padding:28px 20px}
  .ct-row{grid-template-columns:1fr}
  .ct-quick-btn{flex:1 1 100%}
  .ct-follow{flex-direction:column;align-items:flex-start}
}


/* ====== Révision contact : pastel abricot + détails ====== */
:root{ --ct:#D98E6A; --ct-d:#B86A45; --ct-soft:#F8EAE0; --ct-line:#EFD9CC; }
.ct-hero{background:radial-gradient(120% 90% at 85% 0%,#FBF1EA 0%,rgba(251,241,234,0) 55%),#FFFFFF}
.ct-eyebrow{background:var(--ct-soft);border-color:var(--ct-line);color:var(--ct-d)}
.ct-qi{background:var(--ct-soft);color:var(--ct-d)}
.ct-qi svg{width:21px;height:21px}
.ct-quick-btn:hover{border-color:var(--ct-line)}
.ct-quick-btn.primary{background:linear-gradient(135deg,#E2A07C,#C2734E)}
.ct-quick-btn.primary .ct-qi{background:rgba(255,255,255,.20);color:#fff}
.ct-submit{background:linear-gradient(135deg,#E2A07C,#C2734E);box-shadow:0 12px 30px rgba(194,115,78,.30)}
.ct-submit:hover{box-shadow:0 16px 38px rgba(194,115,78,.40)}
.ct-chip:hover{border-color:var(--ct-line);color:var(--ct-d)}
.ct-chip.active{background:var(--ct);border-color:var(--ct);color:#fff}
.ct-field input:focus,.ct-field textarea:focus{border-color:var(--ct);box-shadow:0 0 0 3px rgba(217,142,106,.18)}
.ct-ic{background:rgba(217,142,106,.20);color:#E6A582}
.ct-ic svg{width:18px;height:18px}
.ct-line:hover{color:#F0C2A6}
.ct-faq-x::before,.ct-faq-x::after{background:var(--ct)}

/* horaires jour courant */
.ct-hours li{position:relative;padding:6px 0}
.ct-hours li.today{background:rgba(230,165,130,.16);border:1px solid rgba(230,165,130,.32);border-radius:9px;margin:2px -11px;padding:7px 11px}
.ct-hours li.today span{color:#fff;font-weight:700}
.ct-hours li.today b{color:#F2C5A6}
.ct-hours li.today.off b{color:#F2C5A6}
.ct-hours li.today>span::after{content:" • aujourd'hui";font-size:10px;letter-spacing:.03em;color:#F2C5A6;font-weight:700;text-transform:uppercase}

/* réseaux sociaux réalistes */
.ct-soc a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;text-decoration:none;transition:transform .2s ease,filter .2s ease;box-shadow:0 4px 12px rgba(0,0,0,.12)}
.ct-soc a:hover{transform:translateY(-3px)}
.ct-soc a svg{width:21px;height:21px}
.ct-soc a.fb{background:#1877F2}
.ct-soc a.ig{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%)}
.ct-soc a.yt{background:#FF0000}
.ct-soc a.li{background:#0A66C2}

/* entités : dégradé + vrais logos */
.ct-ent{background:var(--eg,#fff);backdrop-filter:blur(6px)}
.ct-ent-logo{height:46px;display:flex;align-items:center;margin-bottom:16px}
.ct-ent-logo img{max-height:46px;width:auto;max-width:175px;object-fit:contain}
.ct-ent-logo svg{height:42px;width:auto}
.ct-ent-top{display:none}


/* ====== Contact v3 : premium dark, icônes, espacements, image siège ====== */
.ct-grid{gap:34px;align-items:stretch}
.ct-left{display:flex;flex-direction:column;gap:20px}
.ct-form-card{flex:0 0 auto}
.ct-hq{position:relative;flex:1 1 auto;min-height:230px;border-radius:22px;overflow:hidden;display:block;text-decoration:none;background-size:cover;background-position:center;box-shadow:0 18px 44px rgba(26,20,16,.16);border:1px solid var(--gris-bord)}
.ct-hq-cap{position:absolute;left:22px;bottom:46px;right:22px;display:flex;flex-direction:column;gap:2px;color:#fff;font-family:'Manrope',sans-serif;font-size:13px;line-height:1.4}
.ct-hq-cap strong{font-family:'Sora',sans-serif;font-weight:800;font-size:17px}
.ct-hq-go{position:absolute;left:22px;bottom:18px;display:inline-flex;align-items:center;gap:6px;color:#fff;font-family:'Sora',sans-serif;font-weight:700;font-size:12.5px;opacity:.92}
.ct-hq-go svg{width:15px;height:15px}
.ct-hq::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);border-radius:22px;transition:background .3s}
.ct-hq:hover::after{background:rgba(232,93,47,.08)}

/* fenêtre droite : plus d'air + fond graphite premium */
.ct-info{gap:22px}
.ct-info-card{background:linear-gradient(157deg,#272C34 0%,#1A1E25 52%,#0F1116 100%);border:1px solid rgba(255,255,255,.07);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 22px 50px rgba(15,17,21,.30)}
.ct-info-card h3{color:#fff;font-size:18px;letter-spacing:.005em;display:flex;align-items:center;gap:11px}
.ct-info-card h3::before{content:"";width:24px;height:3px;border-radius:3px;background:linear-gradient(90deg,#E6A582,#C2734E)}
.ct-line{border-bottom:1px solid rgba(255,255,255,.07)}
.ct-line:hover{color:#F0C2A6}
.ct-ic{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);color:#E6A582;border-radius:11px}
.ct-ic svg{width:18px;height:18px}
.ct-hours{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}
.ct-hours li.today{background:rgba(230,165,130,.15);border:1px solid rgba(230,165,130,.30)}

/* badges icônes des "petites fenêtres" (boutons rapides) : rond premium */
.ct-qi{width:46px;height:46px;border-radius:50%;background:linear-gradient(145deg,#FFFFFF 0%,#F6E6DC 100%);border:1px solid #EFD9CC;box-shadow:0 4px 12px rgba(184,106,69,.13),inset 0 1px 0 #fff;color:var(--ct-d)}
.ct-qi svg{width:20px;height:20px}
.ct-quick-btn{border-radius:18px;padding:14px 20px}
.ct-quick-btn.primary .ct-qi{background:rgba(255,255,255,.20);border-color:rgba(255,255,255,.38);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}

/* titre hero un peu plus premium */
.ct-title{letter-spacing:-.025em}
.ct-eyebrow{box-shadow:0 2px 8px rgba(184,106,69,.10)}

@media(max-width:980px){
  .ct-left{gap:18px}
  .ct-hq{min-height:200px}
}


/* ====== Contact v4 : alignement charte graphique ROY (orange #E85D2F) ====== */
:root{ --ct:#E85D2F; --ct-d:#C44A1F; --ct-soft:#FDEDE6; --ct-line:#FBE0D6; }
.ct-hero{background:radial-gradient(120% 90% at 85% 0%,#FDEDE6 0%,rgba(253,237,230,0) 55%),#FFFFFF}
.ct-eyebrow{background:#FDEDE6;border-color:#FBE0D6;color:#C44A1F;box-shadow:0 2px 8px rgba(232,93,47,.10)}
.ct-qi{background:linear-gradient(145deg,#FFFFFF 0%,#FDEDE6 100%);border:1px solid #FBE0D6;color:#C44A1F;box-shadow:0 4px 12px rgba(232,93,47,.13),inset 0 1px 0 #fff}
.ct-quick-btn:hover{border-color:#FBD3C3}
.ct-quick-btn.primary{background:linear-gradient(135deg,#E85D2F 0%,#FF6B35 55%,#C44A1F 100%)}
.ct-quick-btn.primary .ct-qi{background:rgba(255,255,255,.20);border-color:rgba(255,255,255,.38);color:#fff}
.ct-submit{background:linear-gradient(135deg,#E85D2F 0%,#FF6B35 55%,#C44A1F 100%);box-shadow:0 12px 30px rgba(196,74,31,.30)}
.ct-submit:hover{box-shadow:0 16px 38px rgba(196,74,31,.42)}
.ct-chip:hover{border-color:#FBD3C3;color:#C44A1F}
.ct-chip.active{background:#E85D2F;border-color:#E85D2F;color:#fff}
.ct-field input:focus,.ct-field textarea:focus{border-color:#E85D2F;box-shadow:0 0 0 3px rgba(232,93,47,.15)}
.ct-faq-x::before,.ct-faq-x::after{background:#E85D2F}
.ct-form-sub span,.ct-field label span,.ct-consent span a{color:#C44A1F}

/* fenêtre sombre : noir premium de la charte (.cta-projet-card #0A0A0A), pas marron */
.ct-info-card{background:linear-gradient(165deg,#181818 0%,#0C0C0C 100%);border:1px solid rgba(255,255,255,.07);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 22px 50px rgba(0,0,0,.30)}
.ct-info-card h3::before{background:linear-gradient(90deg,#FF8C42,#E85D2F)}
.ct-ic{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#FF8C42}
.ct-line:hover{color:#FF8C42}
.ct-hours li.today{background:rgba(232,93,47,.16);border:1px solid rgba(232,93,47,.34)}
.ct-hours li.today b,.ct-hours li.today.off b{color:#FFB07A}
.ct-hours li.today>span::after{color:#FFB07A}

/* séparation renforcée des cartes de droite */
.ct-grid{gap:36px}
.ct-info{gap:24px}

/* accents par entité : on garde les couleurs métiers (PV vert, plomberie bleu) — déjà charte */


/* ====== Fix centrage icônes dans leurs cercles ====== */
.ct-quick-btn .ct-qi{display:flex;align-items:center;justify-content:center}
.ct-qi svg,.ct-ic svg{display:block}
.ct-ic{display:flex;align-items:center;justify-content:center}



/* ════════════════════════════════════════════════════════════════
   v1.7.6 — Hero contact dynamique : fond chaud & aéré (façon section
   "métiers" de l'accueil), barre 4 couleurs, disposition 2 colonnes
   + carte de confiance, CTA orange (équilibre), responsive complet.
   (Bloc final : prioritaire dans la cascade.)
   ════════════════════════════════════════════════════════════════ */

/* — Fond chaud et aéré (blobs radiaux, comme la section métiers) — */
.ct-hero{
  padding:116px 0 66px; position:relative; overflow:hidden;
  background:
    radial-gradient(120% 80% at 92% 0%, #FFF3EC 0%, rgba(255,243,236,0) 55%),
    linear-gradient(180deg, #FFFDFB 0%, var(--creme) 100%);
}
.ct-blob{ position:absolute; z-index:0; pointer-events:none; border-radius:50%; }
.ct-blob-a{ width:520px; height:440px; left:-120px; top:6px;  background:radial-gradient(closest-side, rgba(255,170,92,.22), rgba(255,170,92,0)); }
.ct-blob-b{ width:480px; height:480px; left:210px;  top:-50px; background:radial-gradient(closest-side, rgba(245,197,24,.14), rgba(245,197,24,0)); }
.ct-blob-c{ width:540px; height:540px; right:-130px; top:30px;  background:radial-gradient(closest-side, rgba(63,163,220,.12), rgba(63,163,220,0)); }
.ct-hero .container{ position:relative; z-index:1; }

/* — Disposition 2 colonnes — */
.ct-hero-grid{ display:grid; grid-template-columns:1.12fr .88fr; gap:48px; align-items:center; }
.ct-hero-inner{ max-width:none; }

/* — Barre 4 couleurs (façon zone2-dashes de l'accueil) — */
.ct-dashes{ display:flex; gap:8px; margin:0 0 20px; }
.ct-dashes span{ width:34px; height:6px; border-radius:100px; display:block; }
.ct-dashes span:nth-child(1){ background:#E85D2F; }
.ct-dashes span:nth-child(2){ background:#EECB33; }
.ct-dashes span:nth-child(3){ background:#3EA3DC; }
.ct-dashes span:nth-child(4){ background:#78B22B; }

/* — Eyebrow = hero-eyebrow du thème — */
.ct-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--blanc); color:var(--orange-dark);
  border:1px solid var(--orange-pale); box-shadow:var(--shadow-soft);
  font-family:'Sora',sans-serif; font-weight:700; font-size:12.5px;
  letter-spacing:.14em; text-transform:uppercase;
  padding:8px 16px; border-radius:100px; margin-bottom:20px;
}
.ct-eyebrow::before{ content:''; width:8px; height:8px; border-radius:50%; background:var(--orange); animation:pulse 2s ease-in-out infinite; }

/* — Titre + accent chaud dégradé — */
.ct-title{ margin:0 0 18px; }
.ct-title-accent{
  background:linear-gradient(100deg, #E85D2F 0%, #FF8C42 58%, #F0A91E 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* — CTA orange (équilibre, fini le "tout noir") — */
.ct-quick-btn .ct-qi{ background:var(--orange-cream); border:1px solid var(--orange-pale); color:var(--orange-dark); box-shadow:none; }
.ct-quick-btn.primary{ background:linear-gradient(135deg,#E85D2F 0%,#FF7A3D 55%,#C44A1F 100%); border-color:transparent; color:#fff; box-shadow:0 12px 28px rgba(232,93,47,.30); }
.ct-quick-btn.primary .ct-qi{ background:rgba(255,255,255,.20); border-color:rgba(255,255,255,.34); color:#fff; }
.ct-quick-btn.primary:hover{ box-shadow:0 18px 38px rgba(232,93,47,.38); }
.ct-submit{ background:linear-gradient(135deg,#E85D2F 0%,#FF7A3D 55%,#C44A1F 100%); color:#fff; box-shadow:0 12px 30px rgba(232,93,47,.30); }
.ct-submit:hover{ transform:translateY(-2px); box-shadow:0 16px 38px rgba(232,93,47,.40); }

/* — Pastilles : neutre, actif orange — */
.ct-chip:hover{ border-color:var(--orange-pale); color:var(--orange-dark); }
.ct-chip.active{ background:var(--orange); border-color:var(--orange); color:#fff; }

/* — Accent orange discret conservé — */
.ct-ent-link{ color:var(--orange-dark); }
.ct-form-card input:focus,
.ct-form-card textarea:focus{ border-color:var(--orange); box-shadow:0 0 0 3px rgba(232,93,47,.14); outline:none; }

/* — Carte de confiance vitrée (colonne droite du hero) — */
.ct-hero-aside{ position:relative; }
.ct-card{
  background:rgba(255,255,255,.74); backdrop-filter:blur(16px) saturate(150%); -webkit-backdrop-filter:blur(16px) saturate(150%);
  border:1px solid rgba(255,255,255,.75); border-radius:24px; padding:26px 26px 22px;
  box-shadow:0 24px 60px rgba(40,22,12,.13);
}
.ct-card-top{ display:flex; align-items:center; gap:12px; padding-bottom:16px; border-bottom:1px solid var(--gris-bord); }
.ct-card-rate{ display:flex; flex-direction:column; line-height:1.12; }
.ct-card-rate strong{ font-family:'Sora',sans-serif; font-weight:800; font-size:22px; color:var(--bleu-nuit); }
.ct-card-rate small{ font-size:12.5px; color:var(--gris-texte); }
.ct-stars{ margin-left:auto; color:#F5B731; font-size:16px; letter-spacing:2px; }
.ct-card-points{ list-style:none; margin:16px 0 0; padding:0; display:flex; flex-direction:column; gap:13px; }
.ct-card-points li{ position:relative; padding-left:30px; font-size:14.5px; color:var(--texte); font-weight:500; line-height:1.35; }
.ct-card-points li::before{
  content:''; position:absolute; left:0; top:0; width:20px; height:20px; border-radius:50%;
  background:rgba(120,178,43,.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A8A1E' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/12px no-repeat;
}
.ct-card-foot{ display:flex; align-items:center; gap:10px; margin-top:18px; padding-top:16px; border-top:1px solid var(--gris-bord); }
.ct-cf-dots{ display:inline-flex; gap:5px; flex-shrink:0; }
.ct-cf-dots i{ width:9px; height:9px; border-radius:50%; display:block; }
.ct-cf-txt{ font-size:12px; color:var(--gris-texte); font-weight:600; }

/* ════════════════ RESPONSIVE ════════════════ */
@media (max-width:1100px){
  .ct-hero{ padding-top:92px; }
  .ct-hero-grid{ grid-template-columns:1fr; gap:30px; }
  .ct-hero-aside{ max-width:540px; }
}
@media (max-width:980px){
  .ct-grid{ grid-template-columns:1fr; gap:26px; }
  .ct-ent-grid{ grid-template-columns:1fr 1fr; gap:18px; }
  .ct-hero{ padding:88px 0 46px; }
  .ct-title{ font-size:clamp(34px,7.5vw,56px); }
}
@media (max-width:760px){
  .ct-quick{ flex-direction:column; align-items:stretch; }
  .ct-quick-btn{ width:100%; justify-content:flex-start; }
  .ct-ent-grid{ grid-template-columns:1fr; }
  .ct-row{ grid-template-columns:1fr; }
  .ct-blob-b{ display:none; }
}
@media (max-width:560px){
  .ct-hero{ padding:78px 0 32px; }
  .ct-hero-aside{ max-width:none; }
  .ct-card{ padding:22px 20px; }
  .ct-dashes span{ width:28px; }
  .ct-form-card,.ct-info-card{ padding:22px 18px; }
  .ct-map{ height:220px; }
}

/* ════════════════════════════════════════════════════════════════
   v1.7.7 — Affinages contact : aération hero, 2 cartes alignées,
   coordonnées en liquid glass (visibilité + ROY HABITAT, surlignage
   neutre), icônes réseaux fidèles, pastilles couleur par métier,
   badge ouvert/fermé.
   ════════════════════════════════════════════════════════════════ */

/* — Aération du bloc hero gauche : logo haut, plus d'air, texte descendu — */
.ct-hero-inner .hero-logo-sa{ margin:-14px 0 60px; }
.ct-dashes{ margin-bottom:24px; }
.ct-eyebrow{ margin-bottom:24px; }

/* — Actions rapides : 2 cartes égales sur la même ligne — */
.ct-quick{ display:flex; gap:14px; }
.ct-quick-btn{ flex:1 1 0; min-width:0; }
.ct-quick-btn > span:last-child{ min-width:0; overflow:hidden; }
.ct-quick-btn > span:last-child small{ display:block; }

/* — Pastilles de sujet : couleur pastel par métier (état actif) — */
.ct-chip.active[data-c="pv"]   { background:#E9F4DE; border-color:#A7D279; color:#3E7A18; }
.ct-chip.active[data-c="elec"] { background:#FBF1D4; border-color:#E6C972; color:#937000; }
.ct-chip.active[data-c="plomb"]{ background:#E3EFF9; border-color:#9BC4E6; color:#1F5E96; }
.ct-chip.active[data-c="chauf"]{ background:#FBE5DF; border-color:#E9A78F; color:#A8341A; }
.ct-chip.active[data-c="sdb"]  { background:#E1F1F2; border-color:#96CCD0; color:#1F6E73; }
.ct-chip.active[data-c="eau"]  { background:#FCEADB; border-color:#F0BD93; color:#B5571E; }
.ct-chip.active[data-c="autre"]{ background:#EFEDEA; border-color:#D5D0CA; color:#5A524A; }
.ct-chip.active .ct-chip,.ct-chip:hover{ }

/* ── Carte coordonnées : LIQUID GLASS clair (visibilité optimisée) ── */
.ct-info-card{
  background:rgba(255,255,255,.60) !important;
  -webkit-backdrop-filter:blur(22px) saturate(165%); backdrop-filter:blur(22px) saturate(165%);
  border:1px solid rgba(255,255,255,.72) !important;
  box-shadow:0 24px 56px rgba(40,22,12,.13), inset 0 1px 0 rgba(255,255,255,.6) !important;
  color:var(--texte);
}
.ct-info-brand{ display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.ct-info-logo{ height:30px; width:auto; display:block; }
.ct-info-card h3{ color:var(--bleu-nuit); margin:0 0 14px; }
.ct-info-card .ct-line{ color:var(--texte); border-bottom:1px solid rgba(43,36,32,.10); }
.ct-info-card .ct-line:hover{ color:var(--orange-dark); }
.ct-info-card .ct-line span{ color:inherit; }
.ct-ic{ background:rgba(43,36,32,.06) !important; border:1px solid rgba(43,36,32,.10) !important; color:var(--bleu-nuit) !important; }
.ct-hours{ background:rgba(255,255,255,.46) !important; border:1px solid rgba(43,36,32,.09) !important; }
.ct-hours-head{ color:var(--bleu-nuit); }
#ctHours li{ color:var(--gris-texte); }
#ctHours li b{ color:var(--bleu-nuit); }
#ctHours li.off b{ color:var(--gris-texte); }
.ct-hours-note{ color:var(--gris-texte); }
/* surlignage du jour : NEUTRE (plus orange) */
#ctHours li.today{ background:rgba(43,36,32,.06) !important; border:1px solid rgba(43,36,32,.13) !important; }

/* — Badge ouvert / fermé (à côté du téléphone) — */
.ct-status{ display:inline-flex; align-items:center; gap:6px; margin-left:10px; vertical-align:middle;
  font-family:'Manrope',sans-serif; font-weight:700; font-size:11.5px; letter-spacing:.01em;
  padding:3px 10px; border-radius:100px; }
.ct-status::before{ content:''; width:7px; height:7px; border-radius:50%; }
.ct-status.open{ background:rgba(63,163,77,.15); color:#2E7D32; }
.ct-status.open::before{ background:#3FA34D; box-shadow:0 0 0 3px rgba(63,163,77,.18); }
.ct-status.closed{ background:rgba(184,55,25,.13); color:#B23719; }
.ct-status.closed::before{ background:#C8462A; }

/* — Réseaux sociaux : fidèles (mêmes proportions que le footer) — */
.ct-soc{ display:flex; gap:10px; }
.ct-soc a{ width:40px; height:40px; border-radius:50%; display:grid; place-items:center;
  box-shadow:0 4px 12px rgba(0,0,0,.14); transition:transform .2s ease, box-shadow .2s ease; }
.ct-soc a:hover{ transform:translateY(-3px); box-shadow:0 9px 20px rgba(0,0,0,.20); }
.ct-soc a.ig-grad{ background:radial-gradient(circle at 30% 110%, #ffd600 0%, #ff7a00 25%, #ff0069 50%, #d300c5 75%, #7638fa 100%) !important; }
.ct-soc svg{ width:20px; height:20px; }

@media (max-width:760px){
  .ct-quick{ flex-direction:column; }
}

