/* Rôle : présentation contact. Domaine : annuaire public.
 * Méthode : feuille liée, ordre du gabarit conservé. Guide : docs/csp-annuaire.md. */
/* Page « Nous contacter ». Tokens (couleurs/polices) via /css/base.css (inlinée dans
     le head partagé) ; header/footer via les includes. Ici : uniquement le CSS des sections. */
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  html,body{margin:0;padding:0}
  body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;color:var(--ink);background:var(--bg);line-height:1.55;font-size:var(--palette-typographie-components-3)}
  button{font-family:inherit;color:inherit;cursor:pointer;border:0;background:transparent}
  img{max-width:100%;height:auto;display:block}
  a{color:var(--accent);text-decoration:none}
  a:hover{color:var(--accent-deep)}
  h1,h2,h3,h4,p{margin:0}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--palette-espacement-cabinet-conversation)}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--palette-espacement-cabinet-conversation-4);font-weight:700;border-radius:var(--palette-rayon-composants-6);font-size:var(--palette-typographie-cabinet-conversation-5);padding:var(--palette-espacement-cabinet-conversation-5) var(--palette-espacement-composants-3);transition:filter .15s,border-color .15s,background .15s;line-height:1}
  .btn svg{width:17px;height:17px}
  .btn-primary{background:var(--adaptation-fond-action-accent-2, var(--accent));color:var(--palette-texte-inverse-components)}.btn-primary:hover{filter:brightness(1.07);color:var(--palette-texte-inverse-components)}
  .btn-primary[disabled]{opacity:.6;cursor:progress;filter:none}
  .eyebrow{display:inline-flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-11);font-size:var(--palette-typographie-components-2);font-weight:700;text-transform:uppercase;letter-spacing:var(--palette-typographie-demarrer-2);color:var(--accent-deep);background:var(--accent-softer);padding:var(--palette-espacement-components) var(--palette-espacement-composants-6);border-radius:var(--palette-rayon-home)}

  /* ============ HERO ============ */
  .chero{padding:var(--palette-espacement-components-3) 0 var(--palette-espacement-invitation-3);background:linear-gradient(180deg,var(--palette-surface-demarrer-2) 0%,var(--bg) 100%);border-bottom:1px solid var(--line-soft)}
  .crumb{display:flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-11);font-size:var(--palette-typographie-cabinet-conversation-3);font-weight:600;color:var(--ink-mute);margin-bottom:var(--palette-espacement-cabinet-conversation-10);flex-wrap:wrap}
  .crumb a{color:var(--ink-mute)}.crumb a:hover{color:var(--accent-deep)}
  .crumb svg{width:12px;height:12px;flex:0 0 auto;color:var(--palette-texte-secondaire-article)}
  .chero h1{font-size:var(--palette-typographie-invitation-5);line-height:1.07;font-weight:800;letter-spacing:var(--palette-typographie-earnings-2);margin-top:var(--palette-espacement-cabinet-conversation-2);text-wrap:balance;max-width:640px}
  .chero .lead{font-size:var(--palette-typographie-composants-12);color:var(--ink-soft);margin-top:var(--palette-espacement-cabinet-conversation-2);line-height:1.7;max-width:560px}
  .chero .lead b{color:var(--ink)}
  .hero-badges{display:flex;gap:var(--palette-espacement-cabinet-conversation-5);margin-top:var(--palette-espacement-cabinet-conversation);flex-wrap:wrap}
  .hbadge{display:inline-flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--palette-rayon-home);padding:var(--palette-espacement-cabinet-conversation-4) var(--palette-espacement-cabinet-conversation-2);font-size:var(--palette-typographie-cabinet-conversation-3);font-weight:700;color:var(--ink-soft)}
  .hbadge svg{width:16px;height:16px;color:var(--accent)}
  .hbadge .dot{width:8px;height:8px;border-radius:var(--palette-rayon-composants-2);background:var(--adaptation-fond-succes-success-3, var(--success));box-shadow:0 0 0 3px var(--palette-ombre-socle-2)}

  /* ============ ROUTAGE PROFILS ============ */
  .routes{padding:var(--palette-espacement-components-3) 0 var(--palette-espacement-cabinet-conversation-11)}
  .rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--palette-espacement-cabinet-conversation-2)}
  .rcard{display:flex;align-items:flex-start;gap:var(--palette-espacement-cabinet-conversation-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--palette-rayon-cabinet-conversation);padding:var(--palette-espacement-cabinet-conversation-10);color:var(--ink);transition:border-color .15s,box-shadow .15s}
  .rcard:hover{border-color:var(--adaptation-bordure-action-accent-2, var(--accent));box-shadow:0 14px 34px -22px var(--palette-ombre-contact);color:var(--ink)}
  .rcard .ic{width:40px;height:40px;border-radius:var(--palette-rayon-cabinet-conversation-3);background:var(--accent-softer);display:flex;align-items:center;justify-content:center;color:var(--accent);flex:0 0 auto}
  .rcard .ic svg{width:19px;height:19px}
  .rcard .rt{font-size:var(--palette-typographie-cabinet-conversation-5);font-weight:800;letter-spacing:var(--palette-typographie-layout-4)}
  .rcard .rd{font-size:var(--palette-typographie-cabinet-conversation-3);color:var(--ink-soft);margin-top:var(--palette-espacement-cabinet-2);line-height:1.55}
  .rcard .go{display:inline-flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-3);font-size:var(--palette-typographie-cabinet-conversation-3);font-weight:700;color:var(--accent-deep);margin-top:var(--palette-espacement-cabinet-conversation-4)}
  .rcard .go svg{width:13px;height:13px}

  /* ============ FORM + COORDONNÉES ============ */
  .cmain{padding:var(--palette-espacement-invitation-4) 0 var(--palette-espacement-app)}
  .cmain-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:var(--palette-espacement-composants-3);align-items:start}
  .notice{grid-column:1/-1;background:var(--danger-soft);border:1px solid var(--palette-bordure-danger-contact);color:var(--danger);border-radius:var(--palette-rayon-composants-3);padding:var(--palette-espacement-cabinet-conversation-5) var(--palette-espacement-cabinet-conversation-8);font-size:var(--palette-typographie-cabinet-conversation-2);font-weight:700}
  .fpanel{background:var(--surface);border:1px solid var(--line);border-radius:var(--palette-rayon-composants-4);padding:var(--palette-espacement-invitation-7);box-shadow:0 24px 54px -38px var(--palette-ombre-tunnel)}
  .fpanel h2{font-size:var(--palette-typographie-cabinet-conversation);font-weight:800;letter-spacing:var(--palette-typographie-layout-2)}
  .fpanel .fs{font-size:var(--palette-typographie-cabinet-conversation-2);color:var(--ink-soft);margin-top:var(--palette-espacement-components);line-height:1.6}
  .seg{display:flex;gap:var(--palette-espacement-cabinet-conversation-11);margin-top:var(--palette-espacement-cabinet-conversation-10);flex-wrap:wrap}
  .seg button{border:1.5px solid var(--line);background:var(--surface-2);border-radius:var(--palette-rayon-home);padding:var(--palette-espacement-cabinet-conversation-6) var(--palette-espacement-conversation-2);font-size:var(--palette-typographie-components);font-weight:700;color:var(--ink-soft);transition:border-color .15s,background .15s,color .15s}
  .seg button:hover{border-color:var(--adaptation-bordure-ink-mute, var(--ink-mute))}
  .seg button.on{background:var(--adaptation-fond-action-accent-2, var(--accent));border-color:var(--adaptation-bordure-action-accent-2, var(--accent));color:var(--palette-texte-inverse-components)}
  .fgrid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--palette-espacement-cabinet-conversation-5);margin-top:var(--palette-espacement-cabinet-conversation-8)}
  .field{display:flex;flex-direction:column;gap:var(--palette-espacement-components)}
  .field.full{grid-column:1/-1}
  .field label{font-size:var(--palette-typographie-cabinet-conversation-3);font-weight:800;letter-spacing:var(--palette-typographie-conversation)}
  .field label .req{color:var(--accent-deep)}
  .field label .opt{color:var(--ink-mute);font-weight:600}
  .field input,.field select,.field textarea{font-family:inherit;font-size:var(--palette-typographie-composants-14);font-weight:600;color:var(--ink);background:var(--surface-2);border:1.5px solid var(--line);border-radius:var(--palette-rayon-cabinet-conversation-3);padding:var(--palette-espacement-composants-6) var(--palette-espacement-cabinet-conversation-5);outline:none;transition:border-color .15s,box-shadow .15s;width:100%}
  .field textarea{resize:vertical;min-height:120px;line-height:1.6}
  .field input::placeholder,.field textarea::placeholder{color:var(--palette-texte-secondaire-contact);font-weight:500}
  .field input:focus,.field select:focus,.field textarea:focus{border-color:var(--adaptation-bordure-action-accent-2, var(--accent));box-shadow:0 0 0 3px var(--adaptation-reflet-accent-soft-2, var(--accent-soft))}
  .field select{appearance:none;background-image:var(--palette-image-contact);background-repeat:no-repeat;background-position:right 14px center;padding-right:var(--palette-espacement-invitation-2)}
  /* Honeypot anti-robots : hors écran, jamais focusable (tabindex -1 + aria-hidden). */
  .hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
  .fpanel .btn{width:100%;margin-top:var(--palette-espacement-cabinet-conversation-10);border-radius:var(--palette-rayon-components-2);padding:var(--palette-espacement-cabinet-conversation-2) var(--palette-espacement-composants-3)}
  .fnote{display:flex;align-items:center;justify-content:center;gap:var(--palette-espacement-components);font-size:var(--palette-typographie-components-2);color:var(--ink-mute);font-weight:600;margin-top:var(--palette-espacement-cabinet-conversation-7);text-align:center}
  .fnote svg{width:14px;height:14px;color:var(--success);flex:0 0 auto}
  .ferr{display:none;color:var(--danger);font-size:var(--palette-typographie-cabinet-conversation-3);font-weight:700;margin-top:var(--palette-espacement-cabinet-conversation-7);text-align:center;line-height:1.5}
  .fpanel.err .ferr{display:block}
  .fok{display:none;text-align:center;padding:var(--palette-espacement-invitation-6) var(--palette-espacement-cabinet-conversation-6)}
  .fok .okic{width:60px;height:60px;border-radius:var(--palette-rayon-composants-2);background:var(--success-soft);color:var(--success);display:flex;align-items:center;justify-content:center;margin:0 auto}
  .fok .okic svg{width:28px;height:28px}
  .fok h2{font-size:var(--palette-typographie-invitation-10);font-weight:800;letter-spacing:var(--palette-typographie-layout-2);margin-top:var(--palette-espacement-cabinet-conversation-8)}
  .fok p{font-size:var(--palette-typographie-composants-14);color:var(--ink-soft);margin-top:var(--palette-espacement-cabinet-conversation-6);line-height:1.65;max-width:380px;margin-left:auto;margin-right:auto}
  .fok p b{color:var(--ink)}
  .fpanel.sent form{display:none}
  .fpanel.sent .fok{display:block}

  .side{display:flex;flex-direction:column;gap:var(--palette-espacement-cabinet-conversation-2)}
  .ccard{background:var(--surface);border:1px solid var(--line);border-radius:var(--palette-rayon-composants);padding:var(--palette-espacement-composants-3) var(--palette-espacement-cabinet-conversation);display:flex;align-items:flex-start;gap:var(--palette-espacement-cabinet-conversation-2)}
  .ccard .ic{width:42px;height:42px;border-radius:var(--palette-rayon-cabinet-conversation-3);background:var(--accent-softer);display:flex;align-items:center;justify-content:center;color:var(--accent);flex:0 0 auto}
  .ccard .ic svg{width:20px;height:20px}
  .ccard .ct{font-size:var(--palette-typographie-composants-10);font-weight:800}
  .ccard .cd{font-size:var(--palette-typographie-components);color:var(--ink-soft);margin-top:var(--palette-espacement-cabinet-conversation-9);line-height:1.65}
  .ccard .cd b{color:var(--ink)}
  .ccard .cl{display:inline-flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-3);font-size:var(--palette-typographie-cabinet-conversation-3);font-weight:700;margin-top:var(--palette-espacement-cabinet-conversation-4)}
  .ccard .cl svg{width:13px;height:13px}
  .hours{background:var(--adaptation-fond-inverse-ink-dark, var(--ink-dark));color:var(--palette-texte-inverse-components);border:0;border-radius:var(--palette-rayon-composants);padding:var(--palette-espacement-composants-3) var(--palette-espacement-cabinet-conversation)}
  .hours .ht{display:flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-4);font-size:var(--palette-typographie-composants-10);font-weight:800}
  .hours .ht .dot{width:8px;height:8px;border-radius:var(--palette-rayon-composants-2);background:var(--palette-fond-succes-socle-2);box-shadow:0 0 0 3px var(--palette-ombre-contact-2)}
  .hours ul{list-style:none;margin:var(--palette-espacement-cabinet-conversation-5) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--palette-espacement-cabinet-conversation-11)}
  .hours li{display:flex;align-items:center;justify-content:space-between;gap:var(--palette-espacement-cabinet-conversation-7);font-size:var(--palette-typographie-components);font-weight:600;color:var(--palette-texte-action-socle-4)}
  .hours li b{color:var(--palette-texte-inverse-components);font-weight:700}
  .sos{display:flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-5);background:linear-gradient(90deg,var(--palette-fond-danger-contact-2),var(--palette-fond-danger-contact));border:1px solid var(--palette-bordure-danger-contact-2);border-radius:var(--palette-rayon-cabinet-conversation);padding:var(--palette-espacement-cabinet-conversation-2) var(--palette-espacement-cabinet-conversation-8)}
  .sos .ic{width:42px;height:42px;border-radius:var(--palette-rayon-cabinet-conversation-3);background:var(--palette-fond-danger-socle-3);color:var(--palette-texte-inverse-components);display:flex;align-items:center;justify-content:center;flex:0 0 auto;font-weight:800;font-size:var(--palette-typographie-cabinet-conversation-3)}
  .sos .t1{font-size:var(--palette-typographie-components);font-weight:800}
  .sos .t2{font-size:var(--palette-typographie-components-2);color:var(--ink-soft);font-weight:600;margin-top:var(--palette-espacement-composants-5);line-height:1.5}

  /* ============ RESPONSIVE ============ */
  @media (max-width:960px){
    .rgrid{grid-template-columns:1fr}
    .cmain-grid{grid-template-columns:1fr}
  }
  @media (max-width:680px){
    .chero h1{font-size:var(--palette-typographie-tunnel-7)}
    .fgrid2{grid-template-columns:1fr}
    .fpanel{padding:var(--palette-espacement-cabinet-conversation) var(--palette-espacement-cabinet-conversation-10)}
  }
