/* ============================================================================
   Le sedi di A.M. — mappa e schede (home e pagina Contatti).
   Il contenuto è generato da assets/js/sedi.js.
   ========================================================================== */

/* mappa disegnata (comune) */
.sedi-map svg{ width:100%; height:auto; max-height:600px; display:block; }
.sedi-map .land{ fill:#454545; stroke:#5a5a5a; stroke-width:1; }
/* sedi: punti bianchi; sede principale (Asti): oro del sito, più grande */
.sedi-map .pin circle.dot{ fill:var(--ink); stroke:#2b2b2b; stroke-width:2.5; }
.sedi-map .pin circle.halo{ fill:rgba(241,241,242,.2); opacity:0; transition:opacity .15s; }
.sedi-map .pin text{ fill:var(--ink); font-size:15px; font-weight:600; paint-order:stroke; stroke:#3a3a3a; stroke-width:4px; }
.sedi-map .pin.is-hi circle.halo{ opacity:1; }
.sedi-map .pin.is-main circle.dot{ fill:var(--brass); }
.sedi-map .pin.is-main circle.halo{ fill:rgba(217,164,76,.28); }
.sedi-map .pin.is-main text{ fill:var(--brass); font-weight:700; }

/* home: testo a sinistra, mappa a destra */
.sedi-home{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:center; }
.sedi-home .eyebrow{ display:inline-block; font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--brass); margin-bottom:10px; }
.sedi-home h2{ margin:0 0 14px; font-size:clamp(1.6rem,3vw,2.3rem); font-weight:700; font-stretch:112%; letter-spacing:-.02em; line-height:1.1; }
.sedi-home .lead{ color:var(--ink-mute); margin:0 0 22px; max-width:46ch; line-height:1.6; }
.sedi-cities{ list-style:none; margin:0 0 26px; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.sedi-cities li{ display:inline-flex; align-items:center; gap:7px; padding:7px 12px; border:1px solid var(--line); border-radius:999px; font-size:.88rem; color:var(--ink); transition:border-color .15s, background .15s; }
.sedi-cities li i{ color:var(--ink); font-size:.8rem; }
.sedi-cities li.is-hi{ border-color:var(--ink-mute); background:rgba(241,241,242,.08); }
.sedi-cities li.is-main{ border-color:var(--brass); font-weight:600; }
.sedi-cities li.is-main i{ color:var(--brass); }
.sedi-cities li.is-main.is-hi{ background:rgba(217,164,76,.12); }
@media (max-width:900px){
  /* smartphone: prima titolo e descrizione, poi la cartina, poi l'elenco
     delle città e il pulsante (il blocco di testo si "apre" con display:contents) */
  .sedi-home{ display:flex; flex-direction:column; gap:0; }
  .sedi-home > div:first-child{ display:contents; }
  .sedi-home .eyebrow{ order:1; align-self:flex-start; }
  .sedi-home h2{ order:2; }
  .sedi-home .lead{ order:3; }
  .sedi-home .sedi-map{ order:4; max-width:360px; margin:0 auto 26px; width:100%; }
  .sedi-home .sedi-cities{ order:5; }
  .sedi-home .btn{ order:6; align-self:flex-start; }
  .sedi-home .sedi-map .pin text{ display:none; }
}

/* contatti: mappa a sinistra, schede a destra */
.sedi-full{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:36px; align-items:start; }
.sedi-list{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.sede{ border:1px solid var(--line); border-radius:var(--radius); background:var(--navy-2); padding:14px 16px; transition:border-color .15s, background .15s; }
.sede.is-hi{ border-color:var(--ink-mute); background:rgba(241,241,242,.06); }
.sede h3{ margin:0 0 4px; font-size:1rem; display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.sede h3 i{ color:var(--ink); font-size:.9rem; }
.sede-tag{ font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#222; background:var(--brass); border-radius:20px; padding:2px 8px; white-space:nowrap; }
.sede address{ font-style:normal; font-size:.88rem; color:var(--ink-mute); line-height:1.5; }
.sede-dir{ display:inline-flex; align-items:center; gap:6px; margin-top:8px; font-size:.84rem; color:var(--brass); text-decoration:none; font-weight:600; }
.sede-dir:hover{ text-decoration:underline; }
.sede.is-main{ border-color:var(--brass); }
.sede.is-main h3 i{ color:var(--brass); }
.sede.is-main.is-hi{ border-color:var(--brass); background:rgba(217,164,76,.1); }
@media (max-width:900px){
  .sedi-full{ grid-template-columns:1fr; }
  .sedi-full .sedi-map{ max-width:420px; margin:0 auto; width:100%; }
}
@media (max-width:520px){ .sedi-list{ grid-template-columns:1fr; } }

/* smartphone: nomi delle città sulla cartina di Contatti, etichetta "Sede
   principale" e link "Indicazioni" più leggibili e facili da toccare */
@media (max-width:900px){
  .sedi-full .sedi-map .pin text{ font-size:21px; }
  .sede-tag{ font-size:.75rem; }
  .sede-dir{ padding:8px 0; margin-top:2px; }
}
