/* Connect-IT – feuille de style unique. Mobile d'abord. */
@font-face{font-family:"Plus Jakarta Sans";font-weight:400;font-style:normal;font-display:swap;src:url("/fonts/plus-jakarta-sans-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Plus Jakarta Sans";font-weight:600;font-style:normal;font-display:swap;src:url("/fonts/plus-jakarta-sans-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Plus Jakarta Sans";font-weight:800;font-style:normal;font-display:swap;src:url("/fonts/plus-jakarta-sans-latin-800-normal.woff2") format("woff2")}

:root{--vert:#1F6F5C;--jaune:#F2B33D;--noir:#111111;--blanc:#FFFFFF;--gris:#F4F5F3;--filet:#D9DDDA;--max:1100px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}
body{margin:0;font-family:"Plus Jakarta Sans",system-ui,"Segoe UI",Arial,sans-serif;font-size:1.0625rem;line-height:1.6;color:var(--noir);background:var(--blanc)}
img{max-width:100%;height:auto}
a{color:var(--vert)}
h1,h2,h3{line-height:1.2;margin:0 0 .6em}
h1{font-size:clamp(1.75rem,5vw,2.5rem);font-weight:800}
h2{font-size:clamp(1.4rem,3.5vw,1.75rem);font-weight:800}
h3{font-size:1.125rem;font-weight:800}
p{margin:0 0 1em}
ul{margin:0 0 1em;padding-left:1.2em}
li{margin-bottom:.4em}
:focus-visible{outline:3px solid var(--noir);outline-offset:2px;box-shadow:0 0 0 6px var(--jaune)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-9999px;top:8px;background:var(--noir);color:#fff;padding:10px 16px;z-index:100}
.skip:focus{left:8px}

/* Boutons */
.btn{display:inline-block;background:var(--jaune);color:var(--noir);font:inherit;font-weight:800;text-decoration:none;padding:12px 22px;border:2px solid var(--noir);border-radius:8px;cursor:pointer;text-align:center}
.btn:hover{background:#f6c262}
.btn-line{background:transparent;color:inherit;border-color:currentColor}
.btn-line:hover{background:rgba(255,255,255,.14)}

/* En-tête */
.hdr{position:sticky;top:0;z-index:50;background:var(--blanc);border-bottom:1px solid var(--filet)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px}
.logo{display:flex;align-items:center;gap:8px;font-weight:800;font-size:1.4rem;color:var(--noir);text-decoration:none}
.logo img{width:32px;height:32px}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:22px}
.nav li{margin:0}
.nav a{color:var(--noir);font-weight:600;text-decoration:none;padding:6px 2px;border-bottom:3px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{border-bottom-color:var(--vert)}
.hdr-tel{display:none}
.hdr-call{padding:9px 16px;font-size:.95rem}
.burger{display:none;background:none;border:2px solid var(--noir);border-radius:8px;width:44px;height:44px;font:inherit;font-size:1.4rem;line-height:1;cursor:pointer}

/* Bandeau d'accueil */
.hero{background:var(--vert);color:#fff;padding:40px 0 44px}
.hero h1{max-width:17em}
.hero p{font-size:1.125rem;max-width:38em}
.hero .row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.hero .note{font-size:.95rem;margin:0}
.hero a:not(.btn){color:#fff}

/* Engagements */
.eng{list-style:none;margin:0;padding:28px 20px;display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:var(--max);margin-inline:auto}
.eng li{margin:0;padding:16px 12px;border:2px solid var(--noir);border-radius:10px;font-weight:800;text-align:center;background:var(--blanc)}
.eng li:last-child{grid-column:1/-1}

/* Sections */
.sec{padding:40px 0}
.sec.gris{background:var(--gris)}
.doors{display:grid;grid-template-columns:1fr;border:2px solid var(--noir);border-radius:10px;overflow:hidden}
.door{display:block;padding:24px;text-decoration:none;color:var(--noir);background:var(--gris)}
.door+.door{border-top:2px solid var(--noir)}
.door strong{display:block;font-size:1.35rem;margin-bottom:6px}
.door span{display:block;margin-bottom:12px}
.door u{font-weight:800}
.door.pro{background:var(--vert);color:#fff}
.door:hover{filter:brightness(.96)}
.door.pro:hover{filter:brightness(1.12)}

/* Pages de contenu */
.page-hero{background:var(--vert);color:#fff;padding:36px 0}
.page-hero p{font-size:1.125rem;max-width:40em;margin-bottom:1.2em}
.page-hero .row{display:flex;gap:12px;flex-wrap:wrap}
.content{padding-top:12px;padding-bottom:40px}
.content section{padding:28px 0;border-bottom:1px solid var(--filet)}
.content section:last-child{border-bottom:0}
.prix{list-style:none;padding:0}
.prix li{display:flex;gap:12px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--filet);margin:0}
.prix b{min-width:5.5em;font-size:1.25rem}
.encadre{border:2px solid var(--noir);border-radius:10px;padding:16px 20px;background:var(--gris)}

/* Formulaire */
.form{max-width:640px}
.champ{margin-bottom:18px}
label,legend{display:block;font-weight:800;margin-bottom:6px;padding:0}
fieldset{border:0;margin:0 0 18px;padding:0}
.radios{display:flex;gap:20px;flex-wrap:wrap}
.radios label{font-weight:600;display:flex;gap:8px;align-items:center;margin:0}
input[type=radio],input[type=checkbox]{width:22px;height:22px;accent-color:var(--vert)}
input[type=text],input[type=tel],input[type=email],textarea{width:100%;font:inherit;padding:11px 12px;border:2px solid var(--noir);border-radius:8px;background:var(--blanc);color:var(--noir)}
textarea{min-height:140px;resize:vertical}
.aide{font-size:.9rem;margin:4px 0 0;color:#333}
.consent{display:flex;gap:10px;align-items:flex-start}
.consent label{font-weight:400;margin:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.statut{display:none;padding:14px 18px;border-radius:8px;border:2px solid var(--noir);margin-bottom:20px;font-weight:600}
.statut.ok{display:block;background:#e3f2ec;border-color:var(--vert)}
.statut.ko{display:block;background:#fdebd0}

/* Pied de page */
.ftr{background:var(--vert);color:#fff;padding:28px 0 28px;font-size:.95rem}
.ftr a{color:#fff}
.ftr .cols{display:grid;grid-template-columns:1fr;gap:18px}
.ftr ul{list-style:none;padding:0;margin:0}
.ftr .leg{border-top:1px solid rgba(255,255,255,.35);margin-top:20px;padding-top:14px}
.ftr .leg a{margin-left:4px}

/* Barre d'appel mobile */
.bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;border-top:2px solid var(--noir);padding-bottom:env(safe-area-inset-bottom,0)}
.bar{background:var(--blanc)}
.bar a{flex:1;text-align:center;font-weight:800;text-decoration:none;color:var(--noir);padding:15px 8px}
.bar .a{background:var(--jaune)}
.bar .b{border-left:2px solid var(--noir)}
body{padding-bottom:calc(56px + env(safe-area-inset-bottom,0))}

/* Menu mobile (avec JS) */
@media (max-width:819px){
  .js .burger{display:block}
  .js .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--blanc);border-bottom:2px solid var(--noir);padding:8px 20px 16px}
  .js .nav.ouvert{display:block}
  .js .nav ul{flex-direction:column;gap:4px}
  .js .nav a{display:block;padding:12px 0;border-bottom:1px solid var(--filet)}
  .no-js .nav ul{gap:12px;flex-wrap:wrap}
  .no-js .hdr .wrap{flex-wrap:wrap;padding-bottom:8px}
  .hdr-call{display:none}
}
@media (min-width:820px){
  body{padding-bottom:0}
  .bar{display:none}
  .hdr-call{display:inline-block}
  .hero{padding:64px 0 60px}
  .eng{grid-template-columns:repeat(5,1fr);gap:12px;padding:32px 20px}
  .eng li:last-child{grid-column:auto}
  .doors{grid-template-columns:1fr 1fr}
  .door+.door{border-top:0;border-left:2px solid var(--noir)}
  .door{padding:30px}
  .ftr .cols{grid-template-columns:2fr 1.4fr 1fr}
  .page-hero{padding:52px 0}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.page-hero a:not(.btn){color:inherit;text-decoration:underline}
