/* « Nous trouver » — le plan Google de la page Contact.

   La carte ne se charge qu'au clic. Une iframe Google posée d'emblée dépose ses
   traceurs avant tout consentement : sur le site d'un organisme de formation en
   santé mentale, ce n'est pas une option. Le bloc affiche donc l'adresse, un
   aperçu neutre, et ne va chercher Google que si le visiteur le demande. */

.hf-carte{
  --c-navy:var(--e-global-color-primary,#1B2140);
  --c-or:var(--e-global-color-secondary,#C9A96E);
  --c-texte:var(--e-global-color-text,#4A4F63);
  --c-sable:var(--e-global-color-hfsable,#F6F1E7);
  --c-or-fonce:var(--e-global-color-hforfon,#A9884D);
  background:var(--c-sable);color:var(--c-navy);
  font-family:"DM Sans",Arial,sans-serif;
  padding:88px 0;
}
.hf-carte *,.hf-carte *::before,.hf-carte *::after{box-sizing:border-box}
.hf-carte__cadre{
  width:min(1280px, calc(100% - 3rem));margin:0 auto;
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:56px;align-items:center;
}

/* ── Colonne de gauche ───────────────────────────────────────────────────── */
.hf-carte__surtitre{
  display:block;font-size:11.5px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--c-or-fonce);margin-bottom:16px;
}
.hf-carte__titre{
  font-family:"Bodoni Moda",Georgia,serif;font-weight:500;
  font-size:clamp(30px,3.2vw,44px);line-height:1.02;letter-spacing:-.03em;
  margin:0 0 20px;
}
.hf-carte__titre em{font-style:italic;color:var(--c-or)}
.hf-carte__adresse{
  margin:0 0 22px;font-size:16.5px;line-height:1.6;color:var(--c-texte);
}
.hf-carte__adresse strong{color:var(--c-navy);font-weight:600}
.hf-carte__lignes{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:8px}
.hf-carte__lignes li{display:flex;gap:10px;font-size:15.5px;color:var(--c-texte)}
.hf-carte__lignes b{font-weight:600;color:var(--c-navy);min-width:88px}
.hf-carte__lignes a{color:var(--c-navy);text-decoration:none;border-bottom:1px solid rgba(27,33,64,.3)}
.hf-carte__lignes a:hover{color:var(--c-or-fonce)}
.hf-carte__bouton{
  display:inline-flex;align-items:center;gap:10px;padding:15px 30px;
  background:var(--c-navy);color:#fff;text-decoration:none;
  font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
}
.hf-carte__bouton:hover{background:var(--c-or);color:var(--c-navy)}

/* ── Le plan ─────────────────────────────────────────────────────────────── */
.hf-carte__plan{
  position:relative;min-width:0;
  aspect-ratio:4/3;
  background:#EDE6D8;
  box-shadow:12px 14px 0 var(--c-or);
}
.hf-carte__plan iframe{display:block;width:100%;height:100%;border:0}

.hf-carte__attente{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:14px;padding:32px;text-align:center;
  background:var(--c-navy);color:#fff;
  /* Une trame discrète évoque un plan sans en afficher un. */
  background-image:
    linear-gradient(rgba(201,169,110,.10) 1px,transparent 1px),
    linear-gradient(90deg,rgba(201,169,110,.10) 1px,transparent 1px);
  background-size:44px 44px,44px 44px;
}
.hf-carte__epingle{
  width:44px;height:44px;border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);
  background:var(--c-or);flex:0 0 auto;
  position:relative;
}
.hf-carte__epingle::after{
  content:"";position:absolute;inset:14px;border-radius:50%;background:var(--c-navy);
}
.hf-carte__attente p{margin:0;font-size:15px;line-height:1.5;max-width:34ch;color:rgba(255,255,255,.85)}
.hf-carte__afficher{
  appearance:none;border:1px solid var(--c-or);background:transparent;
  color:var(--c-or);cursor:pointer;padding:12px 24px;
  font-family:inherit;font-size:12.5px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;
  transition:background .2s ease,color .2s ease;
}
.hf-carte__afficher:hover{background:var(--c-or);color:var(--c-navy)}
.hf-carte__mention{font-size:12px;color:rgba(255,255,255,.55);max-width:38ch}

/* ── Adaptation ──────────────────────────────────────────────────────────── */
@media (max-width:1000px){
  .hf-carte__cadre{grid-template-columns:1fr;gap:36px}
  .hf-carte__plan{aspect-ratio:16/10}
}
@media (max-width:620px){
  .hf-carte{padding:60px 0}
  .hf-carte__cadre{width:calc(100% - 32px)}
  .hf-carte__plan{aspect-ratio:4/3;box-shadow:8px 10px 0 var(--c-or)}
  .hf-carte__lignes li{flex-direction:column;gap:2px}
}
