
/* ── Sedi — intestazione slim ─────────────────────── */
.phead--slim{ padding:clamp(12px,2vw,20px) 0 0; }

/* ── Sezione sedi ─────────────────────────────────── */
.loc{ padding:clamp(12px,1.8vw,22px) 0 clamp(56px,8vw,104px); }

/* ── Mappa (iframe Google dopo consenso) ──────────── */
.locmap{ position:relative; background:#e7e9ee; overflow:hidden; }
.locmap__frame{ position:absolute; inset:0; width:100%; height:100%; border:0; display:block; }

/* Gate privacy: la mappa Google si carica solo dopo il click */
.locmap__gate{
  position:absolute; inset:0; z-index:2;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:14px; padding:24px; text-align:center;
  background:
    repeating-linear-gradient(-8deg, rgba(30,37,80,0.05) 0 1px, transparent 1px 14px),
    #eef0f6;
}
.locmap__load{
  appearance:none; cursor:pointer;
  background:var(--accent); color:#fff; border:0; border-radius:999px;
  padding:13px 26px; font:600 14px/1 "Archivo",sans-serif; letter-spacing:.02em;
  transition:transform .15s ease, box-shadow .15s ease;
}
.locmap__load:hover{ transform:translateY(-1px); box-shadow:0 8px 22px rgba(30,37,80,0.25); }
.locmap__gatenote{
  max-width:420px; margin:0; font-size:12.5px; line-height:1.55; color:var(--ink-soft);
}
.locmap__gatenote a{ color:inherit; text-decoration:underline; text-underline-offset:2px; }

/* ── LAYOUT A — sidebar + mappa ───────────────────── */
/* Compatto: sidebar e mappa devono stare in UNA schermata (~768px di viewport) */
.locA{ display:grid; grid-template-columns:minmax(300px, 400px) 1fr; min-height:min(60vh, 540px); }
.locA__side{ padding:clamp(22px,2.2vw,34px) clamp(22px,2.6vw,44px); background:#f4f5f8; display:flex; flex-direction:column; }
.locA__eyebrow{ display:inline-flex; align-items:center; gap:9px; font-family:var(--mono); font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--accent-2); }
.locA__eyebrow svg{ width:16px; height:16px; }
.locA__title{ font-family:var(--display); font-weight:800; letter-spacing:-0.03em; font-size:clamp(30px,3vw,42px); line-height:1; color:var(--ink); margin:14px 0 0; }
.locA__sub{ font-size:14.5px; color:var(--ink-soft); margin:10px 0 0; }
.locA__cards{ margin-top:clamp(18px,2.2vw,26px); display:flex; flex-direction:column; gap:12px; }
.locA .locmap{ min-height:340px; }

/* card layout A — orizzontale: foto piccola a sinistra, testo a destra */
.acard{
  position:relative; text-align:left; cursor:pointer; background:#fff;
  display:grid; grid-template-columns:88px 1fr; align-items:stretch;
  border:1.5px solid var(--line); border-radius:16px; overflow:hidden; padding:0;
  transition:border-color .25s ease, box-shadow .25s ease, transform .2s ease;
}
.acard:hover{ transform:translateY(-2px); box-shadow:0 20px 40px -30px rgba(30,37,80,.6); }
.acard.is-active{ border-color:var(--ink); box-shadow:0 22px 48px -30px rgba(30,37,80,.6); }
.acard__photo{ overflow:hidden; background:var(--line-soft); }
.acard__photo img{ width:100%; height:100%; object-fit:cover; }
.acard__go{
  position:absolute; right:14px; top:50%; transform:translateY(-50%);
  width:34px; height:34px; border-radius:50%;
  background:var(--ink); color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 18px -8px rgba(30,37,80,.7); transition:background .25s ease;
}
.acard.is-active .acard__go{ background:var(--accent-2); }
.acard__go svg{ width:16px; height:16px; }
.acard__body{ padding:14px 50px 14px 16px; }
.acard__name{ font-family:var(--display); font-weight:700; font-size:17px; letter-spacing:-0.01em; color:var(--ink); }
.acard__addr{ display:flex; gap:8px; margin-top:6px; font-size:13px; line-height:1.45; color:var(--ink-soft); }
.acard__addr svg{ width:15px; height:15px; flex-shrink:0; margin-top:2px; color:var(--accent-2); }

/* ── responsive ───────────────────────────────────── */
@media (max-width:900px){
  .locA{ grid-template-columns:1fr; }
  .locA .locmap{ min-height:380px; order:2; }
}
