/* V11.2 — stabilità orizzontale e rifinitura mobile. Nessuna variazione all'identità editoriale. */
html{width:100%;max-width:100%;overflow-x:clip}
body{width:100%;max-width:100%;overflow-x:clip}
.view,.hero,.foc-hero-carousel,.foc-hero-slides,.foc-hero-slide,.hero-grid,.intro,.heritage-section,.editorial-section,.events-section,.foc-footer{min-width:0;max-width:100%}
img,svg,video{max-width:100%}
.foc-footer .foc-footer-brand>img,.foc-footer .foc-footer-signature img{background:transparent!important;padding:0!important;border:0!important;box-shadow:none!important;object-fit:contain}
.foc-footer .foc-footer-brand>img{width:140px;height:auto;max-height:none;aspect-ratio:361.6/278.4;object-position:left center}
.foc-footer .foc-footer-signature img{width:52px;height:auto;aspect-ratio:361.6/278.4}
.mobile-menu{display:none;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px;line-height:1}
.mobile-menu svg{display:block;width:23px;height:23px}
.foc-slide-play span,.foc-slide-play svg{display:grid;place-items:center;line-height:1}
@media(max-width:940px){
 .header{flex-wrap:nowrap;min-width:0;gap:8px}
 .brand{min-width:0;flex:0 1 auto}
 .brand img{max-width:100%;height:auto}
 .brand-caption{min-width:0}
 .mobile-menu{display:inline-flex;flex:0 0 44px}
 .access-actions{flex:0 0 auto;margin-left:auto}
 .nav{top:100%;width:100%;max-width:100vw;box-sizing:border-box;overflow-x:clip}
}
@media(max-width:800px){
 .hero-grid,.foc-hero-slide .hero-grid{min-width:0;max-width:100%;grid-template-columns:minmax(0,1fr)}
 .hero-grid>*{min-width:0;max-width:100%}
 .foc-hero-slide .hero-art{min-width:0;max-width:100%}
 .heritage-grid,.news-grid,.foc-footer-locations{min-width:0}
 .foc-footer-top,.foc-footer-bottom{min-width:0}
 .foc-footer-brand,.foc-footer-location,.foc-footer-contact-link{min-width:0;overflow-wrap:anywhere}
 .foc-hero-slide .hero-grid{height:100%}
}
@media(max-width:450px){
 .header{padding-left:4%;padding-right:4%;gap:5px}
 .brand{gap:5px}
 .brand-caption{font-size:clamp(8px,2.4vw,11px);padding-left:6px}
 .mobile-menu{flex-basis:40px;min-width:40px;min-height:40px;padding:6px}
 .access-actions{gap:4px}
 .a11y-icon,.access-trigger{width:39px;height:39px;min-width:39px;min-height:39px}
 .foc-footer-bottom-links{gap:10px}
 .foc-footer-bottom-links a,.foc-footer-bottom-links button{white-space:normal}
}
