/* La Grotta Pastrengo — responsive final guard 2026-09-07 */
html,body{max-width:100%;overflow-x:hidden}*,*::before,*::after{box-sizing:border-box}img,video,canvas,svg{max-width:100%}iframe{max-width:100%}input,select,textarea,button{max-width:100%}

/* Dynamic public pages: keep navigation reachable also on phone. */
@media(max-width:900px){
 .v2-header{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px 14px!important;padding:10px 18px!important;min-height:auto!important}
 .v2-brand{min-width:0}.v2-brand img{width:48px!important;height:48px!important}.v2-brand strong{font-size:18px!important}.v2-brand small{font-size:9px!important}
 .v2-actions{gap:9px!important;justify-self:end}.v2-langs{gap:9px!important;font-size:12px!important}
 .v2-header nav{display:flex!important;grid-column:1/-1!important;gap:18px!important;overflow-x:auto!important;white-space:nowrap!important;padding:10px 0 2px!important;border-top:1px solid rgba(64,56,47,.10)!important;scrollbar-width:none}
 .v2-header nav::-webkit-scrollbar{display:none}
 .v2-hero{padding:58px 22px!important}.v2-hero h1,.v2-article-head h1{font-size:clamp(40px,11vw,62px)!important;overflow-wrap:anywhere}.v2-hero>p:last-child{font-size:16px!important}
 .v2-container,.lgd-wrap,.lge-wrap{padding-left:18px!important;padding-right:18px!important}
 .v2-article-head{padding:48px 20px 28px!important}.v2-article-layout{grid-template-columns:1fr!important;gap:34px!important;padding:38px 18px!important}.v2-sidebox{position:static!important}
 .v2-prose p,.v2-prose li{font-size:16px!important}.v2-prose h2{font-size:32px!important}.v2-prose h3{font-size:24px!important}.v2-prose blockquote{font-size:20px!important;margin-left:0!important;margin-right:0!important}
 .v2-gallery,.v2-related-grid{grid-template-columns:1fr!important}
 .v2-footer{grid-template-columns:1fr!important;padding:38px 20px!important}
 .lge-toolbar{grid-template-columns:1fr!important}.lge-selects{display:grid!important;grid-template-columns:1fr 1fr!important}.lge-selects select{width:100%!important;min-width:0!important}.lge-grid{grid-template-columns:1fr!important}
 .lge-card h2{font-size:30px!important}.lge-footer{align-items:flex-start!important}.lge-source{max-width:none!important}.lge-media{aspect-ratio:4/3!important}
 .lgd-grid,.lgd-grid.one{grid-template-columns:1fr!important}.lgd-card{width:100%!important;max-width:680px!important;margin-inline:auto!important}.lgd-card h2{font-size:30px!important}
}
@media(max-width:620px){
 .v2-actions .v2-langs{display:flex!important}.v2-actions>.v2-btn{display:none!important}.v2-header{padding:9px 14px!important}.v2-header nav{font-size:12px!important;gap:14px!important}
 .v2-hero{padding:48px 18px!important}.v2-hero h1,.v2-article-head h1{font-size:42px!important}.v2-hero>p:last-child,.v2-article-head>p:last-child{font-size:15px!important;line-height:1.6!important}
 .lge-wrap,.lgd-wrap{padding-top:38px!important;padding-bottom:55px!important}.lge-selects{grid-template-columns:1fr!important}.lge-tabs{display:grid!important;grid-template-columns:1fr!important}.lge-tabs button{width:100%!important}.lge-body{padding:21px 18px!important}.lge-card h2{font-size:27px!important}.lge-actions{width:100%!important}.lge-primary,.lge-secondary{flex:1 1 100%!important;text-align:center!important}.lge-media{aspect-ratio:1/1!important}
 .lgd-body{padding:22px 20px!important}.lgd-media{aspect-ratio:16/10!important}.lgd-card h2{font-size:28px!important}
 .v2-article-hero{padding-inline:14px!important}.v2-article-hero img{max-height:none!important}.v2-article-cta{padding:25px 20px!important}
}

/* Existing React home: non-invasive safety rules, its native hamburger remains in charge. */
@media(max-width:760px){
 #root{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
 .lg-home-block{padding-left:18px!important;padding-right:18px!important}.lg-home-grid{grid-template-columns:1fr!important}.lg-home-heading{grid-template-columns:1fr!important;gap:16px!important}.lg-home-heading h2{font-size:38px!important}.lg-home-all{white-space:normal!important}
 .lg-home-card{min-width:0!important}.lg-home-media{width:100%!important;max-width:100%!important}.lg-home-content{padding:20px!important}.lg-footer-editorial{display:flex!important;gap:12px!important;flex-wrap:wrap!important}
 .mobile-nav .lg-home-nav-link,.mobile-menu .lg-home-nav-link,.mobile-nav-panel .lg-home-nav-link{display:block!important;width:100%!important;padding:10px 0!important}
}

/* Owner area: every panel usable on phone, tables scroll instead of cutting fields. */
@media(max-width:900px){
 .oh-topbar{position:sticky!important;top:0!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;padding:10px 14px!important}.oh-brand{align-self:flex-start!important}.oh-nav{width:100%!important;display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;justify-content:flex-start!important;padding-bottom:3px!important;scrollbar-width:none}.oh-nav::-webkit-scrollbar{display:none}.oh-nav a,.oh-nav button{flex:0 0 auto!important}
 .oh-shell{padding:24px 15px!important}.oh-welcome{grid-template-columns:1fr!important}.oh-date{white-space:normal!important}.oh-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.oh-grid{grid-template-columns:1fr!important}.oh-actions{grid-template-columns:1fr!important}
 .a2-main{padding:22px 14px!important;max-width:100%!important}.a2-title{align-items:flex-start!important;flex-direction:column!important}.a2-title>div:last-child{display:flex!important;gap:7px!important;flex-wrap:wrap!important}.a2-title h1{font-size:34px!important;overflow-wrap:anywhere}.a2-grid,.a2-formgrid,.a2-dates,.a2-editor-layout{grid-template-columns:1fr!important}.a2-panel{padding:16px!important;max-width:100%!important;overflow-x:auto!important}.a2-table{min-width:720px!important}.a2-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}.a2-modal{padding:10px!important}.a2-modal-card{width:100%!important;max-width:100%!important;max-height:94vh!important;padding:18px!important}.a2-rich{min-height:240px!important}.a2-toolbar{left:8px!important;right:8px!important;bottom:8px!important;overflow-x:auto!important;border-radius:8px!important}.a2-toolbar a{flex:0 0 auto!important}
 .owner-card,.owner-panel,.owner-dashboard,.owner-login-card{max-width:calc(100vw - 28px)!important}
}
@media(max-width:520px){
 .oh-stats{grid-template-columns:1fr!important}.oh-stat{min-height:auto!important}.a2-gallery{grid-template-columns:1fr!important}.a2-table{font-size:11px!important}.a2-title h1{font-size:30px!important}.a2-btn{white-space:normal!important}.a2-modal-card .a2-title{gap:8px!important}
}
