/* Le Grazie: migliorie responsive V45, non distruttive */
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;-webkit-text-size-adjust:100%}
body{max-width:100%;overflow-x:clip}
img,video,iframe,svg{max-width:100%}
img{height:auto}
.wrap,.container{min-width:0}
.cards>*,.v6-grid>*,.v32-grid>*,.photo-band-grid>*,.detail-grid>*,.split>*,.page-grid>*{min-width:0}
h1,h2,h3,p,a{overflow-wrap:break-word}
@media(max-width:1180px){
 .mobile-toggle{min-height:44px;min-width:44px;cursor:pointer}
 .links.open{max-height:min(75dvh,650px);overflow-y:auto;overscroll-behavior:contain}
 .links a{display:block;min-height:44px;padding:12px 6px}
}
@media(max-width:850px){
 .v6-grid,.cards,.page-grid,.detail-grid,.photo-band-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .v32-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .utility-nav .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px}
 .utility-nav a{min-height:40px;display:inline-flex;align-items:center}
}
@media(max-width:650px){
 .wrap{width:auto;max-width:100%;padding-left:18px!important;padding-right:18px!important}
 .navinner{gap:10px;min-height:70px}
 .brand{min-width:0}.brand strong{font-size:clamp(19px,5vw,24px)}
 .brand small{font-size:9px;letter-spacing:.03em}
 .mobile-toggle{flex-shrink:0;padding:10px 12px!important;font-size:14px}
 .utility-nav .wrap{gap:2px 12px}.utility-nav a{font-size:12px!important;padding:8px 2px}
 .hero{min-height:470px}.hero .wrap{padding-top:42px;padding-bottom:38px}
 .hero h1,.page-hero h1{font-size:clamp(32px,9vw,48px);line-height:1.12}
 .hero p,.page-hero p{font-size:16px;line-height:1.6}
 .section,.intro,.detail-section,.photo-band{padding-top:44px;padding-bottom:44px}
 .cards,.v6-grid,.page-grid,.detail-grid,.photo-band-grid,.v32-grid{grid-template-columns:minmax(0,1fr)!important;gap:16px}
 .split{grid-template-columns:minmax(0,1fr)!important;gap:20px}
 .cardbody,.v6-card{padding:20px}
 .card img,.photo-band-grid img{height:auto;max-height:280px;object-fit:cover}
 .btn,.v6-action,.page-cta a{min-height:44px;display:inline-flex;align-items:center;justify-content:center;max-width:100%;white-space:normal;text-align:center}
 .v32-card{padding:18px}.v32-card h3{font-size:23px;overflow-wrap:normal;word-break:normal}
 .v32-event-photo{max-height:260px}
 .v32-events,.v32-public{padding:40px 0}
 .v32-public .wrap{padding-left:18px!important;padding-right:18px!important}
 .footer,.site-footer{overflow-wrap:anywhere}
}
@media(max-width:380px){.brand small{font-size:8px}.mobile-toggle{font-size:12px;padding:9px!important}.wrap{padding-left:14px!important;padding-right:14px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
