/* Pagina Contatti, revisione del 15 settembre 2026 (sera): fotografia d'apertura, recapiti in tre
   schede, gli spazi in due fotografie. Regole scoperte alle sole classi mm-contatti-*; il resto della
   pagina usa i componenti già esistenti (mm-open, mm-chapter, button, text-link, overline). */
.mm-contatti-hero__grid{display:grid;gap:clamp(24px,4vw,56px);align-items:center;}
.mm-contatti-hero__lead{margin:.9rem 0 1.2rem;max-width:32rem;font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.6;color:var(--muted,#61625b);}
.mm-contatti-hero__foto{margin:0;min-width:0;}
.mm-contatti-hero__foto img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:4px;background:#e9e4d8;}
.mm-contatti-hero__foto figcaption{margin-top:10px;font-size:.85rem;line-height:1.45;color:#554536;}
.mm-contatti-cards{display:grid;gap:clamp(16px,2.4vw,32px);margin:clamp(20px,3vw,36px) 0 0;padding:0;list-style:none;}
.mm-contatti-cards li{border-top:2px solid var(--oliva,#4e5b35);padding-top:18px;min-width:0;}
.mm-contatti-cards .overline{display:block;margin:0 0 10px;}
.mm-contatti-cards address{font-style:normal;line-height:1.55;margin:0 0 8px;}
.mm-contatti-cards p{margin:8px 0 0;max-width:26rem;line-height:1.55;color:var(--muted,#61625b);}
.mm-contatti-cards a:not(.text-link){color:inherit;text-decoration:none;font-size:1.05rem;}
.mm-contatti-cards a:not(.text-link):hover{text-decoration:underline;text-underline-offset:3px;}
.mm-contatti-cards small{display:block;color:#554536;font-size:.85rem;margin:2px 0 6px;}
/* 19/9/2026: mappa statica (nostra, da OpenStreetMap) nella card «Dove siamo»: nessun servizio esterno. */
.mm-mappa{margin:10px 0 12px;max-width:30rem;}
.mm-mappa img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid rgba(85,69,54,.16);background:#e8e4d8;}
.mm-mappa figcaption{margin:6px 0 0;font-size:.74rem;line-height:1.4;color:var(--muted,#61625b);}
.mm-mappa figcaption a{color:inherit;text-decoration:underline;text-underline-offset:2px;}
/* 19/9/2026 (G04 del titolare: «mappa cliccabile»): l'immagine apre Google Maps sul punto esatto; la pillola lo dice anche a chi
   usa il telefono, dove il passaggio del mouse non esiste. Nessun servizio esterno: e' un link. */
.mm-mappa__link{position:relative;display:block;border-radius:12px;color:inherit;text-decoration:none;}
.mm-mappa__link:hover{text-decoration:none;}
.mm-mappa__link:focus-visible{outline:2px solid #704500;outline-offset:3px;}
.mm-mappa__link img{transition:filter .3s ease,box-shadow .3s ease;}
.mm-mappa__link:hover img,.mm-mappa__link:focus-visible img{filter:brightness(.97);box-shadow:0 10px 26px rgba(47,42,34,.16);}
.mm-mappa__apri{position:absolute;right:10px;top:10px;padding:.42rem .7rem;border-radius:999px;background:rgba(255,253,247,.94);border:1px solid rgba(85,69,54,.28);color:#2f2a22;font:600 .72rem/1 var(--sans,system-ui,sans-serif);letter-spacing:.06em;text-transform:uppercase;}
/* G04: the map has a reserved size; Google exists only after request + consent. */
.mm-mappa__viewport{position:relative;aspect-ratio:5 / 4;min-height:260px;border-radius:12px;overflow:hidden;background:#e8e4d8;}
.mm-mappa__viewport .mm-mappa__link{width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer;}
.mm-mappa__viewport .mm-mappa__link img{height:100%;object-fit:cover;}
.mm-mappa__frame{position:absolute;inset:0;width:100%;height:100%;border:0;}
.mm-mappa__viewport:focus-within{outline:2px solid #704500;outline-offset:3px;}
.mm-mappa__viewport .mm-mappa__link:focus-visible{outline:none;}
.mm-mappa__tools{margin-top:10px;display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center;}
.mm-mappa__tools button{min-height:44px;padding:5px 0;border:0;border-bottom:1px solid #8b704c;background:transparent;color:#554536;font:600 .82rem/1.4 var(--sans,system-ui,sans-serif);cursor:pointer;}
.mm-mappa__tools button:focus-visible{outline:2px solid #704500;outline-offset:4px;}
.mm-contatti-cards .mm-mappa__status{flex-basis:100%;margin:4px 0 0;font-size:.84rem;line-height:1.5;}
.mm-mappa [hidden]{display:none!important;}
@media(prefers-reduced-motion:reduce){.mm-mappa__link img{transition:none;}}
.mm-contatti-cards .text-link + .text-link{margin-left:14px;}
.mm-contatti-cards .text-link{display:inline-block;margin-top:10px;}
.mm-contatti-spazi{display:grid;gap:clamp(16px,2.4vw,32px);margin:clamp(20px,3vw,36px) 0 0;padding:0;list-style:none;}
.mm-contatti-spazi li{margin:0;min-width:0;}
.mm-contatti-spazi img{display:block;width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:4px;background:#e9e4d8;}
.mm-contatti-spazi figure{margin:0;}
.mm-contatti-spazi figcaption{margin-top:10px;font-size:.85rem;line-height:1.45;color:#554536;}
.mm-contatti-spazi__testo{max-width:34rem;line-height:1.65;color:var(--muted,#61625b);}
@media(min-width:760px){
 .mm-contatti-cards{grid-template-columns:repeat(3,minmax(0,1fr));}
 .mm-contatti-spazi{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr);align-items:start;}
}
@media(min-width:900px){
 .mm-contatti-hero__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);}
}
@media(prefers-reduced-motion:no-preference){
 .mm-contatti-cards li,.mm-contatti-spazi li{animation:mm-contatti-in .7s ease both;}
 .mm-contatti-cards li:nth-child(2),.mm-contatti-spazi li:nth-child(2){animation-delay:.12s;}
 .mm-contatti-cards li:nth-child(3),.mm-contatti-spazi li:nth-child(3){animation-delay:.24s;}
 @keyframes mm-contatti-in{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
}

/* 17/9: l'apertura «piena» (senza foto di sfondo) partiva sotto la testata fissa: titolo coperto su telefono e occhiello attaccato
   alla testata su desktop. Ora il blocco comincia sotto la testata con un respiro proprio e non deve riempire lo schermo. */
.mm-open--plain{justify-content:flex-start;min-height:0;padding-top:calc(var(--mm-top,100px) + clamp(2rem,7vh,4.5rem));padding-bottom:clamp(2.5rem,7vh,4.5rem);}

/* 17/9 13:30: il titolare preferisce il piè di pagina uguale su tutte le pagine, recapiti compresi (regole di nascondimento tolte). */
