/* MoVaRisCh — revisione layout 08/11/2026.
   Aggiunta mirata: identità visiva originale, metodi e motori di calcolo invariati. */
:root{--mvr-card-gap:1.35rem}
/* Griglie a righe complete: l'ultima riga distribuisce lo spazio tra le card presenti.
   Nessun elemento fittizio, altezza fissa, taglio del testo o colonna vuota. */
.mvr-balanced-cards{--mvr-cols:2;--mvr-gap:1.35rem;display:flex!important;flex-wrap:wrap;align-items:stretch;justify-content:flex-start;gap:var(--mvr-gap)!important;min-width:0}
.mvr-balanced-cards.mvr-cols-1{--mvr-cols:1}
.mvr-balanced-cards.mvr-cols-2{--mvr-cols:2}
.mvr-balanced-cards.mvr-cols-3{--mvr-cols:3}
.mvr-balanced-cards.mvr-cols-4{--mvr-cols:4}
.mvr-balanced-cards.mvr-cols-5{--mvr-cols:5}
.mvr-balanced-cards>.mvr-balanced-item{box-sizing:border-box;flex:1 1 calc((100% - (var(--mvr-cols) - 1)*var(--mvr-gap))/var(--mvr-cols));min-width:0;max-width:none;width:auto;min-height:0;grid-column:auto;margin-left:0;margin-right:0;align-self:stretch;overflow-wrap:anywhere}
.mvr-balanced-cards>.mvr-balanced-item[hidden]{display:none!important}
.mvr-balanced-cards>.card,.mvr-balanced-cards>.product-card,.mvr-balanced-cards>.feature-card,.mvr-balanced-cards>.mc-card,.mvr-balanced-cards>.desktop-feature,.mvr-balanced-cards>.desktop-panel{display:flex;flex-direction:column;align-items:stretch}
.mvr-balanced-cards .mvr-card-actions{margin-top:auto!important;padding-top:1.2rem;display:flex;flex-wrap:wrap;align-items:stretch;gap:.65rem}
.mvr-card-actions .btn,.mvr-balanced-item>.btn{white-space:normal;line-height:1.4;max-width:100%;text-align:center}
.mvr-card-actions>.btn{flex:1 1 180px}
.mvr-balanced-item>.pill-label{align-self:flex-start}
.mvr-balanced-item>.desktop-card-logo{align-self:flex-start}
.mvr-balanced-item>h3{line-height:1.35}
.mvr-balanced-item .list-check{padding-right:0}
.mvr-content .directory.mvr-balanced-cards>a{display:flex;flex-direction:column;justify-content:flex-start}
.mvr-content .directory.mvr-balanced-cards>a span{line-height:1.65}
.mvr-content .visual-atlas.mvr-balanced-cards>.visual{max-width:none;margin:0}
.mvr-content .visual-atlas img{max-height:430px;object-fit:contain;background:#f4f7fc}
.mvr-content .visual-atlas figcaption{flex:1;align-content:flex-start;align-items:center;min-height:96px}
.mvr-content .visual-atlas figcaption .zoom-visual{margin-left:auto;flex-shrink:0}
.mc-gallery.mvr-balanced-cards figure{height:100%;display:flex;flex-direction:column}
.mc-gallery.mvr-balanced-cards figcaption{flex:1}
.mc-chapters.mvr-balanced-cards{list-style:none}
.mc-chapters.mvr-balanced-cards>.mvr-balanced-item{padding:0}
.mvr-catalogue-list{columns:2;column-gap:2.5rem}
.mvr-catalogue-list li{break-inside:avoid;padding-right:.65rem}
.mvr-catalogue-grid .section-cta-row{max-width:100%}
/* Campi dispari: l'ultima riga del modulo non rimane semivuota. */
.mvr-content .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.mvr-content .form-grid>.demo-fixed-p{grid-column:1/-1}
.mvr-content .form-grid>label:last-child:nth-child(odd){grid-column:1/-1}
/* Il menu alto conserva forma, colori e pulsanti del sito, senza Cerca su una seconda riga. */
.mvr-layout-revision .header-links-inner{max-width:1280px;flex-wrap:nowrap;align-items:center;gap:.35rem;padding-inline:1rem}
.mvr-layout-revision .header-links-inner>.btn-header-link{flex:0 1 auto;white-space:nowrap;font-size:.77rem;padding:.32rem .68rem;text-align:center}
.mvr-layout-revision .header-inner{max-width:1280px;gap:1.15rem}
.mvr-layout-revision .header-cta{gap:.6rem;min-width:0}
.mvr-layout-revision .logo-wrap{flex:1 1 auto;min-width:190px}
.mvr-layout-revision .logo-wrap img{max-width:100%;height:auto;max-height:70px;object-fit:contain}
/* Ricerca flottante a sinistra: pulsante reale, tastiera e popup accessibili. */
.mvr-floating-search{position:fixed;left:14px;top:50%;transform:translateY(-50%);z-index:75;display:grid;place-items:center;width:54px;height:54px;min-height:44px;padding:0;border-radius:50%;border:2px solid #fff;background:linear-gradient(135deg,#0b4d9c,#0b9cd6);color:white;box-shadow:0 8px 24px rgba(6,52,107,.23);cursor:pointer;transition:box-shadow .18s,background .18s}
.mvr-floating-search:hover{box-shadow:0 10px 28px rgba(6,52,107,.34);background:linear-gradient(135deg,#06346b,#0b4d9c)}
.mvr-floating-search:focus-visible{outline:3px solid #0b9cd6;outline-offset:4px}
.mvr-search-label{position:absolute;left:calc(100% + 10px);white-space:nowrap;padding:.45rem .7rem;background:#06346b;border:1px solid #b7cce7;border-radius:8px;color:#fff;font:650 .82rem/1.4 system-ui,sans-serif;opacity:0;visibility:hidden;transition:opacity .18s}
.mvr-floating-search:hover .mvr-search-label,.mvr-floating-search:focus-visible .mvr-search-label{opacity:1;visibility:visible}
body:has(dialog[open]) .mvr-floating-search{visibility:hidden}
#search-dialog.mvr-dialog{width:min(80vw,1120px);max-width:94vw;max-height:80vh;max-height:80dvh}
#search-dialog .dialog-header{position:sticky;top:0;background:#fff;z-index:1;align-items:center}
#search-dialog .dialog-body{max-height:calc(80vh - 80px);max-height:calc(80dvh - 80px);overflow-y:auto;overscroll-behavior:contain}
#search-dialog .search-result{overflow-wrap:anywhere}
/* Le sezioni mantengono la propria testata, con allineamenti coerenti. */
.mvr-layout-revision .section-header{align-items:flex-start;gap:1.5rem}
.mvr-layout-revision .section-header>div:first-child{flex:1 1 540px;min-width:0}
.mvr-layout-revision .section-header-right{flex:0 1 315px;max-width:315px;padding-top:.2rem;text-align:left}
.mvr-layout-revision .section-inner,.mvr-layout-revision .hero-inner,.mvr-layout-revision .server-premium-inner,.mvr-layout-revision .desktop-container{min-width:0}
.mvr-layout-revision .hero-inner>*{min-width:0}
.mvr-layout-revision .hero-card{max-width:100%}
.mvr-layout-revision .footer-inner{align-items:flex-start}
.mvr-layout-revision .footer-inner>div{flex:1 1 400px;max-width:none;min-width:0}
.mvr-layout-revision .footer .section-cta-row{display:flex;flex-wrap:wrap;gap:.65rem}
.mvr-layout-revision .footer .section-cta-row .btn{white-space:normal;flex:1 1 160px;text-align:center}
.mvr-layout-revision .footer>.server-premium-footer-note,.mvr-layout-revision .footer>.desktop-footer-note{max-width:1180px;width:auto;margin-left:auto;margin-right:auto}
.mvr-footer-legal{max-width:1180px;margin:1.7rem auto 0;padding:1.3rem 1rem 0;border-top:1px solid #dce5f1;text-align:center;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;line-height:1.7;color:#52667e;clear:both}
.mvr-footer-legal .mvr-trademark{margin:0;font-size:.85rem;font-weight:650;color:#06346b}
.mvr-footer-legal .mvr-vat{margin:.35rem 0 0;font-size:.8rem;font-weight:500;color:#52667e}
.mvr-legal-minimal{margin-top:2rem;padding:0 0 1.4rem}
/* Il menu laterale non copre mai il contenuto o la testata. */
@media(min-width:1480px){
 .mvr-layout-revision .section-inner,.mvr-layout-revision .hero-inner,.mvr-layout-revision .server-premium-inner,.mvr-layout-revision .desktop-container{max-width:min(1180px,calc(100vw - 420px))}
 .mvr-layout-revision .side-nav{width:186px;right:16px;top:calc(var(--mvr-header-offset,190px) + 18px);transform:none;max-height:calc(100vh - var(--mvr-header-offset,190px) - 36px);max-height:calc(100dvh - var(--mvr-header-offset,190px) - 36px);overflow-y:auto;border-radius:25px}
 .mvr-layout-revision .side-nav a{white-space:normal;overflow-wrap:anywhere;line-height:1.35;padding:.5rem .8rem}
}
@media(min-width:981px) and (max-width:1479px){
 .mvr-layout-revision .side-nav{display:none!important}
 .mvr-layout-revision .section-inner,.mvr-layout-revision .hero-inner,.mvr-layout-revision .server-premium-inner,.mvr-layout-revision .desktop-container{max-width:min(1180px,calc(100vw - 170px))}
 .mvr-layout-revision .header-links-inner>.btn-header-link{font-size:.73rem;padding:.33rem .55rem}
 .mvr-layout-revision .header-cta .btn{font-size:.76rem;padding:.55rem .8rem}
 .mvr-layout-revision .logo-wrap{min-width:180px}
}
@media(min-width:981px) and (max-width:1120px){
 .mvr-layout-revision .header-inner{flex-wrap:wrap;justify-content:center}
 .mvr-layout-revision .logo-wrap{flex:0 1 285px;justify-content:center}
 .mvr-layout-revision .header-cta{justify-content:center;flex-wrap:nowrap}
 .mvr-layout-revision .header-links-inner{gap:.25rem;padding-inline:.6rem}
 .mvr-layout-revision .header-links-inner>.btn-header-link{font-size:.71rem;padding:.3rem .42rem}
}
@media(max-width:1100px){
 .mvr-balanced-cards.mvr-cols-3,.mvr-balanced-cards.mvr-cols-4,.mvr-balanced-cards.mvr-cols-5{--mvr-cols:2}
 .mvr-layout-revision .section-header-right{max-width:100%;flex-basis:100%;padding:0}
}
@media(max-width:980px){
 .mvr-layout-revision .header-links-inner{flex-wrap:wrap}
 .mvr-floating-search{left:12px;top:auto;bottom:90px;transform:none;width:48px;height:48px}
 .mvr-search-label{display:none}
 #search-dialog.mvr-dialog{width:92vw}
 .mvr-layout-revision .section-header{display:block}
 .mvr-layout-revision .section-header-right{margin-top:.8rem}
}
@media(max-width:690px){
 .mvr-balanced-cards{--mvr-cols:1!important;--mvr-gap:1rem}
 .mvr-note-grid.mvr-balanced-cards,.mvr-kpis.mvr-balanced-cards{--mvr-cols:2!important}
 .mvr-content .form-grid{grid-template-columns:1fr}
 .mvr-content .form-grid>*{grid-column:1/-1}
 .mvr-catalogue-list{columns:1}
 .mvr-layout-revision .footer .section-cta-row .btn{flex-basis:100%}
 .mvr-footer-legal{padding-top:1.2rem;margin-top:1.4rem}
 .mvr-content .visual-atlas figcaption{min-height:0;display:flex;gap:.7rem;flex-direction:column;align-items:flex-start}
 .mvr-content .visual-atlas figcaption .zoom-visual{margin-left:0}
 #search-dialog.mvr-dialog{width:94vw;max-width:94vw}
 .mvr-card-actions>.btn{flex-basis:100%}
}
@media(max-width:359px){.mvr-note-grid.mvr-balanced-cards,.mvr-kpis.mvr-balanced-cards{--mvr-cols:1!important}}
@media(prefers-reduced-motion:reduce){.mvr-floating-search,.mvr-search-label{transition:none}}
@media print{.mvr-floating-search{display:none!important}.mvr-balanced-cards{display:block!important}.mvr-balanced-item{break-inside:avoid;margin-bottom:1rem!important}.mvr-footer-legal{color:#111}}
/* Evita che la vecchia direzione column, combinata con wrap, crei colonne fuori schermo. */
.mvr-balanced-cards .mvr-card-actions{flex-direction:row}
@media(max-width:690px){
 .mvr-balanced-cards .mvr-card-actions,.mvr-layout-revision .footer .section-cta-row{flex-direction:column;flex-wrap:nowrap;height:auto;align-items:stretch}
 .mvr-balanced-cards .mvr-card-actions>.btn,.mvr-layout-revision .footer .section-cta-row>.btn{flex:0 0 auto!important;width:100%;min-width:0}
}
#mobile-nav-items .mvr-mobile-search{display:block;width:100%;padding:.65rem .85rem;text-align:left;font:650 .88rem/1.4 system-ui,sans-serif;border-color:#a6c5e7;color:#06346b;background:#edf6ff;cursor:pointer}
