:root{--vm-blue:#063d68;--vm-blue2:#082f54;--vm-green:#0f9d8f;--vm-gold:#ffc52e;--vm-text:#10243d;--vm-muted:#6e7d8f;--vm-bg:#f4f8fb;--vm-card:#fff;--vm-shadow:0 18px 45px rgba(6,61,104,.12)}
body.vendramini-modern{background:var(--vm-bg);color:var(--vm-text);font-family:Arial,Helvetica,sans-serif}.vendramini-modern a{color:inherit}.vm-topbar{background:linear-gradient(90deg,var(--vm-green),#0b7c90);color:#fff;font-size:13px}.vm-topbar a{color:#fff}.vm-topbar-inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}.vm-sep{opacity:.45;margin:0 10px}.vm-toplinks{display:flex;align-items:center;gap:16px}.vm-header{background:#fff;box-shadow:0 8px 28px rgba(7,35,65,.08);position:sticky;top:0;z-index:999}.vm-header-inner{height:92px;display:flex;align-items:center;justify-content:space-between;gap:22px}.vm-brand img{max-height:72px;max-width:420px}.vm-menu{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}.vm-menu>li{position:relative}.vm-menu>li>a{display:block;padding:34px 14px;font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:.04em;color:#163354}.vm-menu>li>a:hover{color:var(--vm-green);text-decoration:none}.vm-submenu{position:absolute;top:100%;left:0;list-style:none;background:#fff;min-width:230px;padding:12px;margin:0;border-radius:0 0 18px 18px;box-shadow:var(--vm-shadow);display:none;z-index:20}.vm-has-sub:hover .vm-submenu{display:block}.vm-submenu a{display:block;padding:10px 12px;border-radius:10px;color:#24425f;font-size:13px}.vm-submenu a:hover{background:#eef8f7;text-decoration:none;color:var(--vm-green)}.vm-mobile-toggle{display:none;border:0;background:var(--vm-blue);color:#fff;border-radius:12px;padding:10px 14px;font-size:20px}.vm-mobile-panel{position:fixed;top:0;right:-360px;width:330px;max-width:88vw;height:100vh;background:#fff;z-index:2001;box-shadow:-20px 0 50px rgba(0,0,0,.18);transition:.25s;overflow:auto}.vm-mobile-panel.is-open{right:0}.vm-mobile-backdrop{display:none;position:fixed;inset:0;background:rgba(5,22,40,.45);z-index:2000}.vm-mobile-backdrop.is-open{display:block}.vm-mobile-panel-head{height:64px;background:var(--vm-blue);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-weight:700}.vm-mobile-close{border:0;background:transparent;color:#fff;font-size:34px}.vm-mobile-menu,.vm-mobile-menu ul{list-style:none;margin:0;padding:0}.vm-mobile-menu a{display:block;padding:15px 22px;border-bottom:1px solid #edf1f5;color:#163354;font-weight:700}.vm-mobile-menu ul{display:none;background:#f7fafc}.vm-mobile-group.open ul{display:block}.vm-mobile-menu ul a{font-weight:500;padding-left:36px}.vm-hero-wrap{padding:34px 0 26px;background:linear-gradient(180deg,#eef9f7 0%,#f4f8fb 100%)}.vm-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:26px;align-items:stretch}.vm-hero-card{border-radius:22px;overflow:hidden;box-shadow:var(--vm-shadow);background:#000}.vm-hero-card .carousel,.vm-hero-card .carousel-inner,.vm-hero-card .item{height:510px}.vm-hero-card .item img{width:100%;height:100%;object-fit:cover}.vm-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,40,73,.82),rgba(5,40,73,.32),rgba(5,40,73,.12));color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:58px}.vm-hero-overlay h1{font-size:44px;line-height:1.08;font-weight:800;margin:0 0 16px}.vm-hero-overlay p{font-size:16px;max-width:530px;margin:0 0 24px;color:rgba(255,255,255,.88)}.vm-btn{background:var(--vm-gold);color:#12213a!important;padding:13px 20px;border-radius:10px;text-transform:uppercase;font-size:12px;font-weight:800;box-shadow:0 10px 25px rgba(255,197,46,.25)}.vm-btn:hover{text-decoration:none;transform:translateY(-1px)}.vm-hero-card .carousel-control{background:none;width:50px;display:flex;align-items:center;justify-content:center;font-size:42px}.vm-hero-card .carousel-indicators li{border:0;background:rgba(255,255,255,.55)}.vm-hero-card .carousel-indicators .active{background:#fff}.vm-access-box{display:flex;flex-direction:column;gap:18px;justify-content:center}.vm-access-box a{background:#fff;border:1px solid #d9e9ea;border-radius:18px;padding:14px 15px;min-height:122px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 12px 30px rgba(6,61,104,.08)}.vm-access-box img{max-width:210px;width:82%}.vm-access-box span{color:var(--vm-green);font-size:24px}.vm-access-box a:hover{text-decoration:none;transform:translateY(-3px);box-shadow:var(--vm-shadow)}.vm-quick-section{padding:8px 0 30px}.vm-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.vm-quick{background:#fff;border-radius:18px;padding:22px;display:grid;grid-template-columns:46px 1fr;grid-template-rows:auto auto;gap:0 14px;box-shadow:0 10px 28px rgba(6,61,104,.08);border:1px solid #eef2f5}.vm-quick i{grid-row:1/3;width:46px;height:46px;background:#eaf8f6;color:var(--vm-green);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px}.vm-quick strong{font-size:15px}.vm-quick span{color:var(--vm-muted);font-size:12px}.vm-quick:hover{text-decoration:none;transform:translateY(-3px);box-shadow:var(--vm-shadow)}.vm-content-wrap{padding-bottom:42px}.vm-page-intro{background:#fff;border-radius:22px;padding:30px;margin-bottom:24px;box-shadow:0 10px 28px rgba(6,61,104,.08)}.vm-page-intro img{max-width:100%;height:auto}.vm-home-grid{display:grid;grid-template-columns:1fr 1.15fr 1.15fr;gap:22px}.vm-panel{background:#fff;border-radius:22px;padding:24px;box-shadow:0 12px 30px rgba(6,61,104,.08);border:1px solid #edf2f5}.vm-panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.vm-panel-title h2{font-size:19px;font-weight:800;margin:0;color:#10243d}.vm-panel-title a{font-size:12px;font-weight:700;color:var(--vm-green)}.vm-events-list .event-small-list{display:flex;gap:14px;padding:13px 0;border-bottom:1px solid #edf2f5}.vm-events-list .calendar-small{width:56px;min-width:56px;border-radius:14px;background:#eef8f7;text-align:center;overflow:hidden}.vm-events-list .s-month{display:block;background:var(--vm-green);color:#fff;font-size:11px;text-transform:uppercase;padding:4px}.vm-events-list .s-date{display:block;font-weight:800;font-size:22px;color:var(--vm-blue);padding:5px}.vm-events-list h5{font-size:14px;margin:0 0 4px}.vm-events-list p{margin:0;color:var(--vm-muted);font-size:12px}.vm-calendar-mini{margin-top:18px}.vm-calendar-mini .ui-datepicker{width:100%;border:0!important}.vm-news-list{display:flex;flex-direction:column;gap:16px}.vm-news-card{display:grid;grid-template-columns:120px 1fr;gap:15px;padding-bottom:16px;border-bottom:1px solid #edf2f5}.vm-news-card img{width:120px;height:88px;object-fit:cover;border-radius:14px;background:#edf2f5}.vm-news-card span{font-size:11px;color:var(--vm-muted)}.vm-news-card h3{font-size:15px;font-weight:800;margin:3px 0 6px}.vm-news-card p{font-size:12px;color:var(--vm-muted);margin:0 0 6px;line-height:1.35}.vm-news-card a{font-size:12px;font-weight:700;color:var(--vm-green)}.vm-gallery-section{margin-top:24px}.vm-gallery-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:12px}.vm-gallery-grid a{border-radius:16px;overflow:hidden;display:block;height:110px;background:#edf2f5}.vm-gallery-grid img{width:100%;height:100%;object-fit:cover;transition:.25s}.vm-gallery-grid a:hover img{transform:scale(1.06)}.vm-footer{background:#07375f;color:#d8e8f3;padding:42px 0 14px;margin-top:20px}.vm-footer a{color:#fff;display:block;margin:8px 0}.vm-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:36px}.vm-footer-logo{max-width:360px;width:100%;margin-bottom:16px}.vm-footer h4{color:#fff;font-size:16px;font-weight:800;margin-bottom:14px}.vm-footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:26px;padding-top:14px;font-size:12px;color:#9db5c8}@media(max-width:991px){.vm-toplinks{display:none}.vm-header-inner{height:78px}.vm-brand img{max-height:58px;max-width:290px}.vm-menu{display:none}.vm-mobile-toggle{display:block}.vm-hero-grid{grid-template-columns:1fr}.vm-hero-card .carousel,.vm-hero-card .carousel-inner,.vm-hero-card .item{height:430px}.vm-access-box{display:grid;grid-template-columns:repeat(3,1fr)}.vm-access-box a{min-height:96px}.vm-quick-grid{grid-template-columns:repeat(2,1fr)}.vm-home-grid{grid-template-columns:1fr}.vm-gallery-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:640px){.vm-topbar{display:none}.vm-header{position:sticky}.vm-brand img{max-width:235px}.vm-hero-wrap{padding:16px 0}.vm-hero-card{border-radius:0;margin-left:-15px;margin-right:-15px}.vm-hero-card .carousel,.vm-hero-card .carousel-inner,.vm-hero-card .item{height:390px}.vm-hero-overlay{padding:28px;background:linear-gradient(90deg,rgba(5,40,73,.84),rgba(5,40,73,.34))}.vm-hero-overlay h1{font-size:30px}.vm-hero-overlay p{font-size:13px}.vm-access-box{grid-template-columns:1fr;gap:10px}.vm-access-box a{min-height:82px;border-radius:14px}.vm-access-box img{max-width:240px}.vm-quick-grid{grid-template-columns:1fr}.vm-panel{padding:18px;border-radius:18px}.vm-news-card{grid-template-columns:96px 1fr}.vm-news-card img{width:96px;height:82px}.vm-gallery-grid{grid-template-columns:repeat(2,1fr)}.vm-gallery-grid a{height:120px}.vm-footer-grid{grid-template-columns:1fr}.vm-hero-card .carousel-control{display:none}}

/* Step 2B - ripristino link utili e footer ordinato */
.vm-useful-section{margin-top:24px}
.vm-useful-section .vm-panel-title span{font-size:12px;color:var(--vm-muted);font-weight:700}
.vm-useful-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.vm-useful-grid a{background:#fff;border:1px solid #e4edf2;border-radius:18px;min-height:104px;display:flex;align-items:center;justify-content:center;padding:18px;box-shadow:0 10px 24px rgba(6,61,104,.06);transition:.2s}
.vm-useful-grid a:hover{text-decoration:none;transform:translateY(-3px);box-shadow:var(--vm-shadow)}
.vm-useful-grid img{max-width:100%;max-height:72px;width:auto;height:auto}
.vm-footer{background:linear-gradient(135deg,#07294a 0%,#064c6b 100%);color:#d8e8f3;padding:46px 0 16px;margin-top:28px}
.vm-footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:34px;align-items:start}
.vm-footer-logo{max-width:360px;width:100%;height:auto;margin-bottom:16px}
.vm-footer h4{color:#fff;font-size:16px;font-weight:800;margin:0 0 14px}
.vm-footer p{line-height:1.65;margin:0 0 12px}
.vm-footer a{color:#fff;display:inline-block;margin:0}
.vm-footer a:hover{color:#ffc52e;text-decoration:none}
.vm-footer-social{display:flex;gap:10px;margin-top:12px}
.vm-footer-social a{width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center}
.vm-footer-partners{display:grid;gap:12px}
.vm-footer-badge{background:#fff;border-radius:16px;padding:12px;display:flex!important;align-items:center;justify-content:center;min-height:86px}
.vm-footer-badge img{max-width:100%;height:auto}
.vm-footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:30px;padding-top:14px;font-size:12px;color:#b8cede;display:flex;align-items:center;justify-content:space-between;gap:15px}
.vm-footer-bottom a{color:#fff}
@media(max-width:991px){.vm-useful-grid{grid-template-columns:repeat(2,1fr)}.vm-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.vm-useful-grid{grid-template-columns:1fr}.vm-useful-grid a{min-height:86px}.vm-footer-grid{grid-template-columns:1fr}.vm-footer-bottom{display:block}.vm-footer-bottom a{margin-top:10px}}

/* Step 3 - riallineamento Concept 2: identità, hero, appuntamenti e footer */
body.vendramini-modern{font-family:"Segoe UI",Arial,Helvetica,sans-serif;background:linear-gradient(180deg,#f6fbfc 0%,#eef5f8 100%);}
.vendramini-modern .container{width:92%;max-width:1380px;}
.vm-topbar{background:#082f54;border-top:4px solid var(--vm-gold);font-size:13px;}
.vm-topbar-inner{min-height:34px;}
.vm-header{background:linear-gradient(135deg,#07375f 0%,#064c6b 100%);position:relative;top:auto;box-shadow:0 16px 40px rgba(7,35,65,.18);}
.vm-header-inner{height:118px;align-items:center;}
.vm-brand{display:block;flex:0 0 auto;}
.vm-brand img{max-height:86px;max-width:520px;display:block;filter:drop-shadow(0 8px 14px rgba(0,0,0,.16));}
.vm-menu{margin-left:auto;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.13);border-radius:20px;padding:0 8px;}
.vm-menu>li>a{color:#fff;padding:23px 13px;font-size:12px;letter-spacing:.06em;}
.vm-menu>li>a:hover{color:var(--vm-gold);}
.vm-submenu{border-radius:16px;top:calc(100% + 8px);}
.vm-mobile-toggle{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.20);}
.vm-hero-wrap{padding:42px 0 24px;background:radial-gradient(circle at 10% 0%,rgba(15,157,143,.16),transparent 32%),linear-gradient(180deg,#eef9f7 0%,#f6fbfc 100%);}
.vm-hero-grid{grid-template-columns:minmax(0,1fr) 310px;gap:28px;align-items:stretch;}
.vm-hero-card{border-radius:28px;}
.vm-hero-card .carousel,.vm-hero-card .carousel-inner,.vm-hero-card .item{height:585px;}
.vm-hero-overlay{background:linear-gradient(90deg,rgba(5,38,70,.90) 0%,rgba(5,38,70,.48) 48%,rgba(5,38,70,.10) 100%);padding:70px;}
.vm-hero-overlay h1{font-size:54px;line-height:1.04;max-width:680px;color:#fff;text-shadow:0 8px 28px rgba(0,0,0,.28);}
.vm-hero-overlay p{font-size:18px;max-width:620px;}
.vm-access-box{gap:16px;}
.vm-access-box a{min-height:132px;border-radius:24px;padding:18px 18px;background:rgba(255,255,255,.94);}
.vm-access-box img{max-width:230px;width:82%;}
.vm-quick-section{padding:0 0 30px;margin-top:-8px;}
.vm-quick-grid{gap:20px;}
.vm-quick{border-radius:22px;padding:24px;}
.vm-content-wrap{padding-top:4px;}
.vm-page-intro{padding:32px 36px;border-radius:26px;margin-bottom:24px;}
.vm-page-intro h1,.vm-page-intro h2,.vm-page-intro h3{margin-top:0;}
.vm-page-intro p{font-size:16px;line-height:1.65;}
.vm-home-grid{grid-template-columns:1.05fr 1.15fr 1.15fr;gap:24px;}
.vm-panel{border-radius:26px;padding:26px;}
.vm-panel-title h2{font-size:20px;letter-spacing:-.02em;}
.vm-events-list{display:flex;flex-direction:column;gap:13px;}
.vm-event-card{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center;padding:12px;border:1px solid #edf2f5;border-radius:18px;background:#fbfdfe;transition:.2s;}
.vm-event-card:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 12px 28px rgba(6,61,104,.08);}
.vm-event-date{width:64px;height:64px;border-radius:18px;background:#eaf8f6;color:var(--vm-blue);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;}
.vm-event-date strong{font-size:24px;font-weight:900;}
.vm-event-date em{font-style:normal;text-transform:uppercase;font-size:11px;font-weight:800;color:var(--vm-green);margin-top:5px;}
.vm-event-text strong{display:block;font-size:14px;color:#10243d;margin-bottom:4px;}
.vm-event-text small{color:var(--vm-muted);font-size:12px;}
.vm-empty-events{min-height:190px;border:1px dashed #d5e4ea;border-radius:18px;background:#fbfdfe;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--vm-muted);padding:20px;}
.vm-empty-events i{font-size:30px;color:var(--vm-green);margin-bottom:12px;}.vm-empty-events strong{color:#10243d;margin-bottom:5px;}
.vm-calendar-mini{display:none!important;}
.vm-news-card{grid-template-columns:132px 1fr;gap:16px;}.vm-news-card img{width:132px;height:96px;}
.vm-useful-section,.vm-gallery-section{margin-top:28px;}
.vm-gallery-grid{grid-template-columns:repeat(6,1fr);gap:16px;}.vm-gallery-grid a{height:155px;border-radius:20px;}
.vm-footer{padding:0;margin-top:44px;background:linear-gradient(135deg,#07294a 0%,#064c6b 100%);}
.vm-footer-grid{padding-top:44px;padding-bottom:34px;grid-template-columns:1.25fr .9fr 1.1fr;align-items:start;}
.vm-footer-logo{max-width:400px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.18));}
.vm-footer-partners{grid-template-columns:1fr 1fr;align-items:start;}
.vm-footer-partners h4{grid-column:1/-1;}
.vm-footer-badge{min-height:0;height:118px;padding:14px;border-radius:18px;overflow:hidden;}
.vm-footer-badge img{max-height:92px;width:auto;object-fit:contain;}
.vm-dasa-badge img{max-height:88px;}
.vm-footer-bottom{padding-bottom:16px;}
@media(min-width:1500px){.vendramini-modern .container{max-width:1460px}.vm-hero-card .carousel,.vm-hero-card .carousel-inner,.vm-hero-card .item{height:610px}.vm-hero-overlay h1{font-size:58px}}
@media(max-width:1199px){.vm-header-inner{height:auto;min-height:104px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px}.vm-menu{width:100%;justify-content:center}.vm-brand img{max-height:76px}.vm-hero-grid{grid-template-columns:1fr}.vm-access-box{display:grid;grid-template-columns:repeat(3,1fr)}.vm-access-box a{min-height:108px}.vm-home-grid{grid-template-columns:1fr 1fr}.vm-events-panel{grid-column:1/-1}.vm-gallery-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:991px){.vm-header-inner{height:84px;flex-wrap:nowrap}.vm-brand img{max-height:64px;max-width:420px}.vm-menu{display:none}.vm-hero-card .carousel,.vm-hero-card .carousel-inner,.vm-hero-card .item{height:460px}.vm-hero-overlay{padding:42px}.vm-hero-overlay h1{font-size:38px}.vm-footer-grid{grid-template-columns:1fr}.vm-footer-partners{grid-template-columns:1fr 1fr}.vm-footer-badge{height:108px}}
@media(max-width:640px){.vendramini-modern .container{width:100%;padding-left:18px;padding-right:18px}.vm-header-inner{height:76px}.vm-brand img{max-width:260px;max-height:54px}.vm-hero-wrap{padding-top:18px}.vm-hero-card{border-radius:22px;margin-left:0;margin-right:0}.vm-hero-card .carousel,.vm-hero-card .carousel-inner,.vm-hero-card .item{height:410px}.vm-hero-overlay{padding:28px}.vm-hero-overlay h1{font-size:31px}.vm-access-box{grid-template-columns:1fr}.vm-home-grid{grid-template-columns:1fr}.vm-gallery-grid{grid-template-columns:repeat(2,1fr)}.vm-gallery-grid a{height:135px}.vm-footer-partners{grid-template-columns:1fr}.vm-footer-logo{max-width:290px}}

/* STEP3C: non mostrare contenitori sottomenu vuoti */
.vm-no-sub:hover .vm-submenu{display:none!important;}
.vm-no-sub>a{cursor:pointer;}

/* STEP 3E - footer completo, responsive e con accreditamenti visibili */
.vm-footer-v2{margin-top:44px;padding:0;background:linear-gradient(135deg,#062c4e 0%,#07566f 100%);color:#dbeaf3;}
.vm-footer-v2 a{color:#fff;text-decoration:none;}
.vm-footer-v2 a:hover{color:#ffc52e;text-decoration:none;}
.vm-footer-main{display:grid;grid-template-columns:1.25fr .9fr .55fr;gap:42px;align-items:start;padding-top:48px;padding-bottom:28px;}
.vm-footer-school{min-width:0;}
.vm-footer-school .vm-footer-logo{display:block;max-width:390px;width:100%;height:auto;margin:0 0 14px;filter:drop-shadow(0 10px 18px rgba(0,0,0,.16));}
.vm-footer-school-name{font-weight:800;color:#fff;margin-bottom:12px!important;}
.vm-footer-v2 h4{font-size:17px;font-weight:800;color:#fff;margin:0 0 16px;}
.vm-footer-v2 p{line-height:1.7;margin:0 0 12px;}
.vm-footer-links a{display:block;margin:0 0 9px;color:#dbeaf3;}
.vm-footer-social{display:flex;gap:10px;margin-top:14px;}
.vm-footer-social a{width:42px;height:42px;border-radius:13px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:#fff;}
.vm-footer-social a:hover{background:#ffc52e;color:#0b2d4b;}
.vm-footer-accreditations{border-top:1px solid rgba(255,255,255,.12);padding-top:28px;padding-bottom:28px;}
.vm-footer-accreditations h4{margin-bottom:18px;}
.vm-accreditation-grid{display:grid;grid-template-columns:minmax(230px,360px) minmax(230px,360px);gap:24px;align-items:center;}
.vm-accreditation-card{position:relative;display:flex;align-items:center;justify-content:center;min-height:132px;padding:18px;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:rgba(255,255,255,.055);box-shadow:0 16px 38px rgba(0,0,0,.14);overflow:hidden;}
.vm-accreditation-card:hover{background:rgba(255,255,255,.09);transform:translateY(-2px);}
.vm-accreditation-card img{display:block;max-width:100%;max-height:112px;width:auto;height:auto;object-fit:contain;}
.vm-unipd-card img{max-height:122px;}
.vm-cert-card img{max-height:112px;}
.vm-cert-hotspot{position:absolute;top:0;bottom:0;width:50%;z-index:2;display:block!important;margin:0!important;}
.vm-cert-left{left:0;}
.vm-cert-right{right:0;}
.vm-footer-bottom{border-top:1px solid rgba(255,255,255,.14);padding:16px 0 18px;margin-top:0;font-size:13px;color:#bcd2df;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.vm-footer-bottom a{color:#fff;}
@media(max-width:991px){
  .vm-footer-main{grid-template-columns:1fr 1fr;gap:28px;padding-top:38px;}
  .vm-footer-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:14px 22px;}
  .vm-footer-links h4{width:100%;margin-bottom:2px;}
  .vm-footer-links a{margin:0;}
  .vm-accreditation-grid{grid-template-columns:1fr 1fr;gap:16px;}
  .vm-accreditation-card{min-height:118px;padding:14px;}
}
@media(max-width:640px){
  .vm-footer-v2{margin-top:30px;}
  .vm-footer-main{grid-template-columns:1fr;padding-top:32px;padding-bottom:20px;gap:24px;text-align:left;}
  .vm-footer-school .vm-footer-logo{max-width:300px;}
  .vm-footer-social{justify-content:flex-start;}
  .vm-footer-accreditations{padding-top:22px;padding-bottom:22px;}
  .vm-accreditation-grid{grid-template-columns:1fr;gap:14px;}
  .vm-accreditation-card{min-height:112px;border-radius:16px;}
  .vm-accreditation-card img{max-height:96px;}
  .vm-unipd-card img{max-height:106px;}
  .vm-footer-bottom{display:block;text-align:left;}
  .vm-footer-bottom a{display:inline-block;margin-top:10px;}
}

/* STEP 3F - rifinitura footer desktop/tablet: evita impaginazione 'tablet' su desktop con zoom,
   mantiene i link rapidi nella riga principale e compatta gli spazi senza cambiare il mobile stretto. */
@media (min-width:641px){
  .vm-footer-v2{margin-top:34px;}
  .vm-footer-main{
    display:grid!important;
    grid-template-columns:minmax(360px,1.25fr) minmax(250px,.8fr) minmax(160px,.45fr)!important;
    gap:34px!important;
    align-items:start!important;
    padding-top:38px!important;
    padding-bottom:24px!important;
  }
  .vm-footer-school{grid-column:auto!important;}
  .vm-footer-contacts{grid-column:auto!important;}
  .vm-footer-links{
    grid-column:auto!important;
    display:block!important;
    text-align:left!important;
  }
  .vm-footer-links h4{width:auto!important;margin-bottom:14px!important;}
  .vm-footer-links a{display:block!important;margin:0 0 9px!important;}
  .vm-footer-school .vm-footer-logo{max-width:360px!important;}
  .vm-footer-accreditations{
    padding-top:24px!important;
    padding-bottom:24px!important;
  }
  .vm-accreditation-grid{
    display:grid!important;
    grid-template-columns:minmax(280px,360px) minmax(280px,360px)!important;
    gap:22px!important;
    justify-content:start!important;
  }
  .vm-accreditation-card{min-height:122px!important;padding:15px!important;}
  .vm-accreditation-card img{max-height:102px!important;}
  .vm-unipd-card img{max-height:112px!important;}
  .vm-footer-bottom{padding-top:15px!important;padding-bottom:16px!important;}
}

@media (min-width:992px){
  .vm-footer-main{
    grid-template-columns:minmax(390px,1.2fr) minmax(270px,.85fr) minmax(170px,.45fr)!important;
  }
  .vm-footer-accreditations h4{margin-bottom:16px!important;}
}

/* STEP 3G - footer desktop realmente riorganizzato: una sola fascia ordinata, senza grandi vuoti.
   Mobile/tablet restano fruibili con impilamento progressivo. */
.vm-footer-v3{margin-top:38px;padding:0;background:linear-gradient(135deg,#062c4e 0%,#07566f 100%);color:#dbeaf3;}
.vm-footer-v3 .container{max-width:1340px;}
.vm-footer-v3 a{color:#fff;text-decoration:none;}
.vm-footer-v3 a:hover{color:#ffc52e;text-decoration:none;}
.vm-footer-main-v3{display:grid;grid-template-columns:1.12fr .92fr 1.55fr .62fr;gap:34px;align-items:start;padding-top:42px;padding-bottom:30px;}
.vm-footer-v3 h4{font-size:16px;font-weight:800;color:#fff;margin:0 0 14px;}
.vm-footer-v3 p{line-height:1.65;margin:0 0 12px;}
.vm-footer-v3 .vm-footer-logo{display:block;max-width:370px;width:100%;height:auto;margin:0 0 14px;filter:drop-shadow(0 10px 18px rgba(0,0,0,.16));}
.vm-footer-v3 .vm-footer-school-name{font-weight:800;color:#fff;margin-bottom:12px!important;}
.vm-footer-links-social a{display:block;margin:0 0 9px;color:#dbeaf3;}
.vm-footer-social{display:flex;gap:10px;margin-top:14px;}
.vm-footer-social a{width:42px;height:42px;border-radius:13px;background:rgba(255,255,255,.12);display:flex!important;align-items:center;justify-content:center;color:#fff;margin:0!important;}
.vm-footer-social a:hover{background:#ffc52e;color:#0b2d4b;}
.vm-footer-social-mobile{display:none;}
.vm-accreditation-grid-v3{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch;}
.vm-footer-v3 .vm-accreditation-card{position:relative;display:flex!important;align-items:center;justify-content:center;min-height:126px;padding:15px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(255,255,255,.055);box-shadow:0 14px 34px rgba(0,0,0,.13);overflow:hidden;}
.vm-footer-v3 .vm-accreditation-card:hover{background:rgba(255,255,255,.09);transform:translateY(-2px);}
.vm-footer-v3 .vm-accreditation-card img{display:block;max-width:100%;max-height:100px;width:auto;height:auto;object-fit:contain;}
.vm-footer-v3 .vm-unipd-card img{max-height:112px;}
.vm-footer-v3 .vm-cert-card img{max-height:102px;}
.vm-footer-v3 .vm-cert-hotspot{position:absolute;top:0;bottom:0;width:50%;z-index:2;display:block!important;margin:0!important;background:transparent!important;}
.vm-footer-v3 .vm-cert-left{left:0;}
.vm-footer-v3 .vm-cert-right{right:0;}
.vm-footer-bottom-v3{border-top:1px solid rgba(255,255,255,.14);padding:16px 0 18px;font-size:13px;color:#bcd2df;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.vm-footer-bottom-v3 a{color:#fff;}

@media(max-width:1199px){
  .vm-footer-main-v3{grid-template-columns:1fr 1fr;gap:28px;}
  .vm-footer-accreditations-v3{grid-column:1/-1;}
  .vm-footer-links-social{grid-column:auto;}
  .vm-accreditation-grid-v3{grid-template-columns:repeat(2,minmax(240px,360px));justify-content:start;}
}
@media(max-width:767px){
  .vm-footer-v3{margin-top:30px;}
  .vm-footer-main-v3{grid-template-columns:1fr;padding-top:32px;padding-bottom:22px;gap:24px;text-align:left;}
  .vm-footer-v3 .vm-footer-logo{max-width:300px;}
  .vm-footer-social-mobile{display:flex;}
  .vm-footer-social-desktop{display:none;}
  .vm-accreditation-grid-v3{grid-template-columns:1fr;gap:14px;}
  .vm-footer-v3 .vm-accreditation-card{min-height:112px;border-radius:16px;}
  .vm-footer-v3 .vm-accreditation-card img{max-height:96px;}
  .vm-footer-v3 .vm-unipd-card img{max-height:106px;}
  .vm-footer-bottom-v3{display:block;text-align:left;}
  .vm-footer-bottom-v3 a{display:inline-block;margin-top:10px;}
}

/* STEP 3H - footer desktop: allineamento reale su una riga, meno spazio verticale,
   accreditamenti/certificazioni piu' leggibili. Mobile invariato. */
@media (min-width:1200px){
  .vm-footer-v3{margin-top:34px;}
  .vm-footer-v3 .container{max-width:1380px;}
  .vm-footer-main-v3{
    grid-template-columns:1.15fr .95fr .70fr 1.45fr;
    gap:42px;
    align-items:start;
    padding-top:34px;
    padding-bottom:24px;
  }
  .vm-footer-school{grid-column:1;grid-row:1;}
  .vm-footer-contacts{grid-column:2;grid-row:1;}
  .vm-footer-links-social{grid-column:3;grid-row:1;align-self:start;}
  .vm-footer-accreditations-v3{grid-column:4;grid-row:1;align-self:start;}
  .vm-footer-v3 h4{margin-bottom:12px;}
  .vm-footer-links-social a{margin-bottom:8px;}
  .vm-accreditation-grid-v3{
    display:grid;
    grid-template-columns:1.15fr 1fr;
    gap:16px;
    align-items:stretch;
  }
  .vm-footer-v3 .vm-accreditation-card{
    min-height:154px;
    padding:18px;
    border-radius:20px;
  }
  .vm-footer-v3 .vm-accreditation-card img{max-height:128px;}
  .vm-footer-v3 .vm-unipd-card img{max-height:142px;}
  .vm-footer-v3 .vm-cert-card img{max-height:132px;}
  .vm-footer-bottom-v3{padding-top:14px;padding-bottom:16px;}
}


/* STEP 4 - layout moderno per pagine interne caricate dinamicamente */
#container.vm-inner-active{background:linear-gradient(180deg,#f2fafb 0%,#eef5f8 100%);padding:34px 0 10px;min-height:520px;}
.vm-internal-shell{max-width:1180px;margin:0 auto 32px;padding:0 18px;}
.vm-internal-hero{background:linear-gradient(135deg,#07345c 0%,#087b78 100%);border-radius:28px;color:#fff;padding:42px 46px;margin-bottom:22px;box-shadow:0 22px 60px rgba(5,46,76,.20);position:relative;overflow:hidden;}
.vm-internal-hero:after{content:"";position:absolute;right:-80px;top:-90px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08);}
.vm-internal-breadcrumb{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:12px;}
.vm-internal-title{font-size:38px;line-height:1.12;font-weight:800;margin:0;color:#fff;}
.vm-internal-content{background:#fff;border-radius:26px;padding:38px 42px;box-shadow:0 20px 55px rgba(7,41,74,.10);color:#1e2f44;font-size:17px;line-height:1.75;overflow:hidden;}
.vm-internal-content h1,.vm-internal-content h2,.vm-internal-content h3{color:#092f53;font-weight:800;line-height:1.22;margin-top:0;margin-bottom:18px;}
.vm-internal-content h1{font-size:34px;}.vm-internal-content h2{font-size:28px;}.vm-internal-content h3{font-size:23px;}
.vm-internal-content p{margin-bottom:16px;}
.vm-internal-content img{max-width:100%!important;height:auto!important;border-radius:16px;}
.vm-internal-content table{max-width:100%!important;width:100%!important;border-collapse:collapse;display:block;overflow-x:auto;}
.vm-internal-content td,.vm-internal-content th{padding:8px;vertical-align:top;}
.vm-internal-content a{color:#008f86;font-weight:700;text-decoration:none;}.vm-internal-content a:hover{color:#ffc52e;text-decoration:none;}
.vm-internal-content iframe,.vm-internal-content object,.vm-internal-content embed{max-width:100%;border-radius:18px;}
.vm-internal-content ul,.vm-internal-content ol{padding-left:24px;margin-bottom:18px;}
.vm-internal-content .MsoNormal{font-size:17px!important;line-height:1.75!important;}
.vm-internal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;}
.vm-back-home{display:inline-flex;align-items:center;gap:8px;background:#ffc52e;color:#0a2f52!important;border-radius:14px;padding:11px 16px;font-weight:800;text-decoration:none;}
.vm-back-home:hover{background:#fff0b8;color:#0a2f52!important;}
@media(max-width:767px){
  #container.vm-inner-active{padding:18px 0 4px;}
  .vm-internal-shell{padding:0 16px;margin-bottom:22px;}
  .vm-internal-hero{border-radius:22px;padding:28px 24px;margin-bottom:16px;}
  .vm-internal-title{font-size:29px;}
  .vm-internal-content{border-radius:20px;padding:24px 20px;font-size:16px;line-height:1.65;}
  .vm-internal-content h1{font-size:28px;}.vm-internal-content h2{font-size:24px;}.vm-internal-content h3{font-size:20px;}
}

/* STEP 4B - correzione menu desktop: il submenu deve rimanere raggiungibile.
   Il gap tra voce di primo livello e box faceva perdere l'hover. */
.vm-menu > li.vm-has-sub{position:relative;}
.vm-menu > li.vm-has-sub > .vm-submenu{
  top:100%!important;
  margin-top:0!important;
  padding-top:14px;
  border-radius:0 0 18px 18px;
}
.vm-menu > li.vm-has-sub:hover > .vm-submenu,
.vm-menu > li.vm-has-sub > .vm-submenu:hover{
  display:block!important;
}
.vm-menu > li.vm-no-sub > .vm-submenu{display:none!important;}


/* STEP 4I - leggibilita pagine interne e link contenuti */
.vm-inner-hero h1,
.vm-inner-hero .container h1{
  color:#ffffff !important;
  text-shadow:0 2px 12px rgba(0,0,0,.22);
}
.vm-inner-hero .vm-breadcrumb,
.vm-inner-hero .vm-breadcrumb a,
.vm-inner-hero .vm-breadcrumb span,
.vm-inner-hero .vm-breadcrumb strong{
  color:#ffffff !important;
}
.vm-inner-card a,
.vm-inner-card a:visited,
.vm-internal-content a,
.vm-internal-content a:visited{
  color:#007f78 !important;
  font-weight:800 !important;
  text-decoration:none !important;
  border-bottom:2px solid rgba(0,127,120,.45);
  padding-bottom:1px;
}
.vm-inner-card a *,
.vm-internal-content a *{
  color:#007f78 !important;
}
.vm-inner-card a:hover,
.vm-inner-card a:focus,
.vm-internal-content a:hover,
.vm-internal-content a:focus{
  color:#005f5a !important;
  border-bottom-color:#ffc52e;
  background:rgba(255,197,46,.12);
  text-decoration:none !important;
}
.vm-inner-card a.vm-btn,
.vm-inner-card a.vm-btn:hover{
  border-bottom:0 !important;
  color:#12213a !important;
}

/* STEP 4J - applicazioni collegate da MENULIVELLO2.APP */
.vm-app-loader{
  text-align:center;
  padding:35px 20px;
  color:#163252;
}
.vm-app-loader p{margin:0 0 12px;}
.vm-app-open-link{display:inline-block;}

/* STEP 4K - Moduli APP dentro pagine interne */
.vm-app-frame-wrap{
  width:100%;
}
.vm-app-frame-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
  padding:14px 16px;
  border-radius:18px;
  background:#eef9f7;
  border:1px solid rgba(0,145,130,.16);
}
.vm-app-frame-toolbar strong{
  color:#073a5a;
  font-size:18px;
}
.vm-app-frame-toolbar span{
  color:#5c7084;
  font-size:13px;
}
.vm-app-frame{
  width:100%;
  min-height:720px;
  border:0;
  border-radius:18px;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(9,55,86,.08);
}
@media (max-width: 767px){
  .vm-app-frame-toolbar{
    flex-direction:column;
    align-items:flex-start;
  }
  .vm-app-frame{
    min-height:760px;
    border-radius:14px;
  }
}

/* STEP 4N REALE - Header mobile sticky: logo + hamburger sempre visibili durante lo scroll.
   Desktop invariato. */
@media (max-width: 991px){
  body.vendramini-modern{
    padding-top:84px !important;
  }
  body.vendramini-modern .vm-topbar{
    display:none !important;
  }
  body.vendramini-modern .vm-header{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    z-index:2500 !important;
    background:linear-gradient(135deg,#07375f 0%,#064c6b 100%) !important;
    box-shadow:0 8px 24px rgba(6,33,58,.26) !important;
    transform:translateZ(0);
  }
  body.vendramini-modern .vm-header-inner{
    height:84px !important;
    min-height:84px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    flex-wrap:nowrap !important;
  }
  body.vendramini-modern .vm-brand img{
    max-height:62px !important;
    max-width:360px !important;
    transition:max-height .2s ease, max-width .2s ease;
  }
  body.vendramini-modern .vm-mobile-toggle{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:46px !important;
    height:46px !important;
    padding:0 !important;
    flex:0 0 46px !important;
    background:rgba(255,255,255,.16) !important;
    border:1px solid rgba(255,255,255,.24) !important;
    color:#fff !important;
    border-radius:14px !important;
  }
  body.vendramini-modern .vm-menu{
    display:none !important;
  }
  body.vendramini-modern .vm-mobile-panel,
  body.vendramini-modern .vm-mobile-backdrop{
    z-index:2600 !important;
  }
  body.vendramini-modern.vm-mobile-scrolled{
    padding-top:68px !important;
  }
  body.vendramini-modern.vm-mobile-scrolled .vm-header-inner{
    height:68px !important;
    min-height:68px !important;
  }
  body.vendramini-modern.vm-mobile-scrolled .vm-brand img{
    max-height:48px !important;
    max-width:300px !important;
  }
}

@media (max-width: 640px){
  body.vendramini-modern{
    padding-top:76px !important;
  }
  body.vendramini-modern .vm-header-inner{
    height:76px !important;
    min-height:76px !important;
  }
  body.vendramini-modern .vm-brand img{
    max-height:54px !important;
    max-width:255px !important;
  }
  body.vendramini-modern.vm-mobile-scrolled{
    padding-top:64px !important;
  }
  body.vendramini-modern.vm-mobile-scrolled .vm-header-inner{
    height:64px !important;
    min-height:64px !important;
  }
  body.vendramini-modern.vm-mobile-scrolled .vm-brand img{
    max-height:44px !important;
    max-width:220px !important;
  }
  body.vendramini-modern .vm-mobile-toggle{
    width:44px !important;
    height:44px !important;
    flex-basis:44px !important;
  }
}

/* STEP 4O - Correzione menu mobile: il primo livello apre il secondo livello senza chiudere il pannello */
@media (max-width: 991px){
  body.vendramini-modern .vm-mobile-menu > .vm-mobile-group > a.vm-mobile-parent{
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  body.vendramini-modern .vm-mobile-menu > .vm-mobile-group > a.vm-mobile-parent i{
    transition:transform .2s ease;
  }
  body.vendramini-modern .vm-mobile-menu > .vm-mobile-group.open > a.vm-mobile-parent i{
    transform:rotate(180deg);
  }
  body.vendramini-modern .vm-mobile-menu > .vm-mobile-group.open > ul{
    display:block !important;
  }
}

/* STEP 4P - FIX REALE OVERLAY / Z-INDEX MENU MOBILE
   Il backdrop deve stare dietro al pannello: se ha lo stesso z-index intercetta i click sulle voci. */
@media (max-width: 991px){
  body.vendramini-modern .vm-mobile-backdrop{
    z-index:2590 !important;
  }
  body.vendramini-modern .vm-mobile-panel{
    z-index:2605 !important;
    pointer-events:auto !important;
  }
  body.vendramini-modern .vm-mobile-panel.is-open{
    right:0 !important;
  }
  body.vendramini-modern .vm-mobile-menu,
  body.vendramini-modern .vm-mobile-menu a,
  body.vendramini-modern .vm-mobile-panel-head,
  body.vendramini-modern .vm-mobile-close{
    position:relative;
    z-index:2606 !important;
    pointer-events:auto !important;
  }
}

/* STEP 4Q - apertura reale dei sottomenu nel pannello mobile */
@media (max-width: 991px){
  body.vendramini-modern .vm-mobile-menu ul.vm-mobile-submenu{
    display:none !important;
    position:relative !important;
    z-index:2607 !important;
    background:#f5f9fb !important;
  }
  body.vendramini-modern .vm-mobile-menu > .vm-mobile-group.open > ul.vm-mobile-submenu{
    display:block !important;
  }
  body.vendramini-modern .vm-mobile-menu > .vm-mobile-group > a.vm-mobile-parent{
    user-select:none;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
  }
  body.vendramini-modern .vm-mobile-menu ul.vm-mobile-submenu a{
    display:block !important;
    padding:13px 22px 13px 42px !important;
    color:#173a5d !important;
    font-weight:600 !important;
    background:#f5f9fb !important;
  }
}


/* STEP 5A - rifinitura contenuti dinamici PAGES/APP */
#container .vm-inner-card,
#container .vm-internal-content{
  font-family:Arial,Helvetica,sans-serif!important;
}
#container .vm-inner-card [style*="Times"],
#container .vm-internal-content [style*="Times"]{
  font-family:Arial,Helvetica,sans-serif!important;
}
#container .vm-inner-card table,
#container .vm-internal-content table{
  border-collapse:separate!important;
  border-spacing:0!important;
  margin:14px 0 22px!important;
  background:#fff!important;
  border:1px solid #dce8ee!important;
  border-radius:14px!important;
  overflow:hidden!important;
  box-shadow:0 8px 22px rgba(7,52,92,.06)!important;
}
#container .vm-inner-card th,
#container .vm-inner-card td,
#container .vm-internal-content th,
#container .vm-internal-content td{
  font-family:Arial,Helvetica,sans-serif!important;
  border-color:#e4eef2!important;
  color:#263d52!important;
  line-height:1.55!important;
}
#container .vm-inner-card th,
#container .vm-internal-content th{
  background:#eef8f8!important;
  color:#073a5a!important;
  font-weight:800!important;
}
#container .vm-table-scroll{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border-radius:14px;
}
#container .vm-file-link,
#container .vm-pdf-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:4px 0!important;
  padding:9px 13px!important;
  border-radius:999px!important;
  background:#fff6d2!important;
  color:#073a5a!important;
  border:1px solid rgba(255,197,46,.55)!important;
  box-shadow:0 5px 14px rgba(7,52,92,.08)!important;
  text-decoration:none!important;
}
#container .vm-file-link:before,
#container .vm-pdf-link:before{
  content:"\f1c1";
  font-family:FontAwesome;
  color:#b91515;
}
#container .vm-inner-card iframe[src*="youtube"],
#container .vm-inner-card iframe[src*="vimeo"],
#container .vm-internal-content iframe[src*="youtube"],
#container .vm-internal-content iframe[src*="vimeo"]{
  aspect-ratio:16/9;
  height:auto!important;
  min-height:0!important;
}
@media(max-width:767px){
  #container .vm-inner-card table,
  #container .vm-internal-content table{
    min-width:620px;
    font-size:15px!important;
  }
  #container .vm-file-link,
  #container .vm-pdf-link{
    width:100%;
    justify-content:center;
    white-space:normal;
  }
}

/* STEP 5B1 - breadcrumb dinamico rifinito e responsive */
.vm-inner-hero .vm-breadcrumb,
.vm-internal-hero .vm-breadcrumb,
.vm-internal-breadcrumb.vm-breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  font-size:14px;
  line-height:1.35;
  color:rgba(255,255,255,.86);
  margin:0 0 10px;
  opacity:1;
}
.vm-inner-hero .vm-breadcrumb-link,
.vm-internal-hero .vm-breadcrumb-link,
.vm-internal-breadcrumb.vm-breadcrumb .vm-breadcrumb-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#fff!important;
  text-decoration:none!important;
  font-weight:800;
  padding:4px 0;
  border-bottom:1px solid transparent;
}
.vm-inner-hero .vm-breadcrumb-link:hover,
.vm-inner-hero .vm-breadcrumb-link:focus,
.vm-internal-hero .vm-breadcrumb-link:hover,
.vm-internal-hero .vm-breadcrumb-link:focus,
.vm-internal-breadcrumb.vm-breadcrumb .vm-breadcrumb-link:hover,
.vm-internal-breadcrumb.vm-breadcrumb .vm-breadcrumb-link:focus{
  border-bottom-color:rgba(255,255,255,.75);
  outline:none;
}
.vm-inner-hero .vm-breadcrumb-sep,
.vm-internal-hero .vm-breadcrumb-sep,
.vm-internal-breadcrumb.vm-breadcrumb .vm-breadcrumb-sep{
  color:rgba(255,255,255,.58);
  font-weight:700;
}
.vm-inner-hero .vm-breadcrumb-current,
.vm-internal-hero .vm-breadcrumb-current,
.vm-internal-breadcrumb.vm-breadcrumb .vm-breadcrumb-current{
  color:#fff;
  font-weight:900;
  letter-spacing:.01em;
}
@media (max-width:767px){
  .vm-inner-hero .vm-breadcrumb,
  .vm-internal-hero .vm-breadcrumb,
  .vm-internal-breadcrumb.vm-breadcrumb{
    gap:6px;
    font-size:13px;
  }
}


/* STEP 6C1 - Fix icona card "La Scuola" / compatibilita FontAwesome 4.0.3 */
.vm-quick i.fa-building-o{
  background:#dff3f0;
  color:#087f76;
  border:1px solid rgba(8,127,118,.12);
}
.vm-quick i.fa-building-o:before{
  color:#087f76;
}

/* STEP 6C + 6D - Home premium e accessibilita */
.vm-skip-link{
  position:absolute;
  left:-9999px;
  top:10px;
  z-index:3000;
  background:#ffc52e;
  color:#10243d!important;
  padding:10px 14px;
  border-radius:10px;
  font-weight:800;
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.vm-skip-link:focus{left:12px;outline:3px solid #10243d;outline-offset:2px;text-decoration:none;}
.vendramini-modern a:focus,
.vendramini-modern button:focus,
.vendramini-modern input:focus,
.vendramini-modern select:focus,
.vendramini-modern textarea:focus{
  outline:3px solid rgba(255,197,46,.95);
  outline-offset:3px;
}
.vm-panel{transition:box-shadow .2s ease, transform .2s ease, border-color .2s ease;}
.vm-news-panel,.vm-featured-panel{position:relative;overflow:hidden;}
.vm-news-panel:hover,.vm-featured-panel:hover{box-shadow:0 18px 42px rgba(6,61,104,.12);}
.vm-featured-panel{border-top:4px solid var(--vm-gold);background:linear-gradient(180deg,#ffffff 0%,#fffdf5 100%);}
.vm-featured-panel .vm-panel-title h2:before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--vm-gold);margin-right:8px;vertical-align:2px;}
.vm-panel-badge,.vm-panel-action{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1;
}
.vm-panel-action{background:#eaf8f6;color:#087f76!important;}
.vm-panel-action:hover{background:#dff3f0;text-decoration:none;}
.vm-panel-badge{background:#fff2bf;color:#6b4a00;}
.vm-news-card:last-child{border-bottom:0;padding-bottom:0;}
.vm-news-card{border-radius:18px;padding:10px 10px 16px;margin-left:-10px;margin-right:-10px;transition:background .2s ease, transform .2s ease;}
.vm-news-card:hover{background:#f8fbfc;transform:translateY(-1px);}
.vm-news-card h3{line-height:1.25;color:#10243d;}
.vm-news-card p{line-height:1.45;}
.vm-news-card a{display:inline-flex;align-items:center;gap:5px;margin-top:3px;}
.vm-news-date{display:inline-flex!important;align-items:center;gap:6px;color:#52667b!important;font-weight:700;}
.vm-news-date:before{content:"\f073";font-family:FontAwesome;font-weight:normal;color:var(--vm-green);}
.vm-event-card:focus,.vm-news-card a:focus,.vm-panel-action:focus{outline:3px solid rgba(255,197,46,.95);outline-offset:3px;}
.vm-quick i{box-shadow:inset 0 0 0 1px rgba(15,157,143,.10);}
.vm-quick:hover i{background:#dff3f0;color:#087f76;}
@media(max-width:640px){
  .vm-panel-title{align-items:flex-start;gap:10px;}
  .vm-panel-badge,.vm-panel-action{min-height:28px;padding:6px 9px;}
  .vm-news-card{grid-template-columns:92px 1fr;gap:13px;padding:8px 8px 14px;margin-left:-8px;margin-right:-8px;}
  .vm-news-card img{width:92px;height:82px;border-radius:14px;}
  .vm-news-card h3{font-size:14px;}
  .vm-news-card p{font-size:12px;}
}


/* STEP 7A4 - Calendario: restyling lista appuntamenti e compatibilita mobile */
.vm-detail-event .vm-detail-list{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.vm-detail-event .vm-detail-list-item{
  display:grid;
  grid-template-columns:86px minmax(0,1fr);
  gap:22px;
  align-items:center;
  padding:22px 24px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdfe 100%);
  border:1px solid #dfeaf0;
  border-radius:22px;
  box-shadow:0 10px 28px rgba(6,61,104,.06);
}
.vm-detail-event .vm-detail-datebox{
  width:78px;
  height:78px;
  border-radius:18px;
  background:#eaf8f6;
  border:1px solid #cfe5ea;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#063d68;
  line-height:1;
  flex-shrink:0;
}
.vm-detail-event .vm-detail-datebox strong{
  font-size:26px;
  font-weight:900;
}
.vm-detail-event .vm-detail-datebox span{
  margin-top:6px;
  font-size:11px;
  font-weight:800;
  color:#087f76;
}
.vm-detail-event .vm-detail-event-body{min-width:0;}
.vm-detail-event .vm-detail-event-body h3{
  margin:0 0 8px;
  font-size:21px;
  line-height:1.25;
  font-weight:800;
}
.vm-detail-event .vm-detail-event-body h3 a{
  color:#073d67!important;
  text-decoration:none!important;
}
.vm-detail-event .vm-detail-event-body h3 a:hover{
  color:#087f76!important;
  text-decoration:underline!important;
}
.vm-detail-event .vm-detail-event-body p{
  margin:0;
  color:#566b80;
  font-size:15px;
  line-height:1.55;
}
.vm-detail-event .vm-public-detail{
  max-width:900px;
  margin:0 auto;
}
.vm-detail-event .vm-public-detail .vm-news-date{
  margin-bottom:12px;
  color:#566b80!important;
}
.vm-detail-event .vm-public-detail h2{
  font-size:34px;
  line-height:1.16;
  color:#073d67;
}
.vm-detail-event .vm-detail-lead{
  font-size:18px;
  color:#314760;
  padding:14px 18px;
  background:#f5fafb;
  border-left:4px solid #0f9d8f;
  border-radius:14px;
}
.vm-detail-event .vm-detail-text{
  overflow-wrap:anywhere;
  word-break:normal;
}
@media(max-width:767px){
  .vm-detail-event .vm-detail-list{gap:12px;}
  .vm-detail-event .vm-detail-list-item{
    grid-template-columns:64px minmax(0,1fr);
    gap:14px;
    padding:16px;
    border-radius:18px;
  }
  .vm-detail-event .vm-detail-datebox{
    width:62px;
    height:62px;
    border-radius:16px;
  }
  .vm-detail-event .vm-detail-datebox strong{font-size:22px;}
  .vm-detail-event .vm-detail-datebox span{font-size:10px;margin-top:4px;}
  .vm-detail-event .vm-detail-event-body h3{font-size:17px;line-height:1.25;}
  .vm-detail-event .vm-detail-event-body p{font-size:14px;}
  .vm-detail-event .vm-public-detail h2{font-size:26px;}
  .vm-detail-event .vm-detail-lead{font-size:16px;padding:12px 14px;}
}

/* STEP 7A5 - Restyling reale Galleria fotografica */
.vm-gallery-page-v2{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.vm-gallery-page-v2 .vm-gallery-heading{
  margin-bottom:26px;
}
.vm-gallery-page-v2 .vm-gallery-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 13px;
  margin-bottom:12px;
  border-radius:999px;
  background:#eaf8f6;
  color:#0f8f86;
  font-weight:800;
  font-size:13px;
}
.vm-gallery-page-v2 h1{
  margin:0 0 10px!important;
  color:#073d67!important;
  font-weight:800!important;
  letter-spacing:-.4px;
}
.vm-gallery-page-v2 .vm-detail-lead{
  margin:0;
  color:#4f667c;
  font-size:16px;
}
.vm-gallery-modern-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
  width:100%;
}
.vm-gallery-modern-grid .vm-photo-card{
  display:flex!important;
  flex-direction:column;
  min-width:0;
  background:#fff;
  border:1px solid #e3edf5;
  border-radius:20px;
  overflow:hidden;
  text-decoration:none!important;
  box-shadow:0 12px 30px rgba(6,61,104,.08);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.vm-gallery-modern-grid .vm-photo-card:before,
.vm-gallery-modern-grid .vm-photo-card:after{
  display:none!important;
  content:none!important;
}
.vm-gallery-modern-grid .vm-photo-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 42px rgba(6,61,104,.14);
  border-color:rgba(15,143,134,.35);
}
.vm-gallery-modern-grid .vm-photo-thumb{
  display:block;
  position:relative;
  height:170px;
  background:#eef5f7;
  overflow:hidden;
}
.vm-gallery-modern-grid .vm-photo-thumb:after{
  content:"Apri";
  position:absolute;
  right:12px;
  bottom:12px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(7,61,103,.88);
  color:#fff;
  font-size:11px;
  font-weight:800;
  opacity:0;
  transform:translateY(6px);
  transition:.2s ease;
}
.vm-gallery-modern-grid .vm-photo-card:hover .vm-photo-thumb:after{
  opacity:1;
  transform:translateY(0);
}
.vm-gallery-modern-grid img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  border-radius:0!important;
  transition:transform .25s ease;
}
.vm-gallery-modern-grid .vm-photo-card:hover img{
  transform:scale(1.045);
}
.vm-gallery-modern-grid .vm-photo-info{
  display:block;
  padding:14px 15px 16px;
  min-height:78px;
}
.vm-gallery-modern-grid .vm-photo-info strong{
  display:block;
  color:#10243d;
  font-size:15px;
  line-height:1.25;
  font-weight:800;
  overflow:hidden;
  text-overflow:ellipsis;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.vm-gallery-modern-grid .vm-photo-info em{
  display:inline-block;
  margin-top:8px;
  color:#0f8f86;
  font-size:12px;
  font-style:normal;
  font-weight:800;
}
/* Evita che vecchi stili/fancybox inseriscano icone rotte nella gallery */
.vm-gallery-page-v2 a.vm-photo-card .fa,
.vm-gallery-page-v2 a.vm-photo-card i,
.vm-gallery-page-v2 a.vm-photo-card .icon,
.vm-gallery-page-v2 a.vm-photo-card span.zoom,
.vm-gallery-section a.vm-gallery-home-card .fa,
.vm-gallery-section a.vm-gallery-home-card i,
.vm-gallery-section a.vm-gallery-home-card .icon{
  display:none!important;
}
.vm-gallery-section .vm-gallery-grid a.vm-gallery-home-card{
  border-radius:18px!important;
  background:#edf2f5!important;
  box-shadow:0 10px 24px rgba(6,61,104,.08);
  border:1px solid #e4edf4;
}
.vm-gallery-section .vm-gallery-grid a.vm-gallery-home-card:before,
.vm-gallery-section .vm-gallery-grid a.vm-gallery-home-card:after{
  display:none!important;
  content:none!important;
}
.vm-gallery-section .vm-gallery-grid a.vm-gallery-home-card img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
@media(max-width:1199px){
  .vm-gallery-modern-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:767px){
  .vm-gallery-page-v2 .vm-gallery-kicker{font-size:12px;padding:7px 11px;}
  .vm-gallery-page-v2 h1{font-size:34px!important;line-height:1.12;}
  .vm-gallery-modern-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
  .vm-gallery-modern-grid .vm-photo-thumb{height:142px;}
  .vm-gallery-modern-grid .vm-photo-info{padding:12px;min-height:70px;}
  .vm-gallery-modern-grid .vm-photo-info strong{font-size:14px;}
  .vm-gallery-modern-grid .vm-photo-info em{font-size:11px;}
}
@media(max-width:430px){
  .vm-gallery-modern-grid{gap:13px;}
  .vm-gallery-modern-grid .vm-photo-thumb{height:128px;}
}

/* STEP 7A5B - Rifacimento definitivo galleria fotografica */
#container .vm-internal-content .vm-gallery-page-v3{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
#container .vm-internal-content .vm-gallery-page-v3 .vm-gallery-heading{
  margin-bottom:28px;
}
#container .vm-internal-content .vm-gallery-page-v3 .vm-gallery-kicker{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:9px 15px;
  margin-bottom:14px;
  border-radius:999px;
  background:#eaf8f6;
  color:#0f8f86;
  font-weight:800;
  font-size:13px;
}
#container .vm-internal-content .vm-gallery-page-v3 .vm-gallery-kicker i{
  display:inline-block!important;
  color:#0f8f86!important;
}
#container .vm-internal-content .vm-gallery-page-v3 h1{
  margin:0 0 8px!important;
  color:#073d67!important;
  font-weight:800!important;
  letter-spacing:-.4px;
}
#container .vm-internal-content .vm-gallery-page-v3 .vm-detail-lead{
  margin:0!important;
  color:#4f667c!important;
  font-size:16px!important;
}
#container .vm-internal-content .vm-gallery-clean-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:22px!important;
  width:100%!important;
  margin-top:10px!important;
}
#container .vm-internal-content .vm-gallery-clean-grid a.vm-photo-tile,
#container .vm-internal-content .vm-gallery-clean-grid a.vm-photo-tile:visited{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  padding:0!important;
  margin:0!important;
  border:1px solid #e3edf5!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 12px 30px rgba(6,61,104,.08)!important;
  text-decoration:none!important;
  border-bottom:1px solid #e3edf5!important;
  color:#10243d!important;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease!important;
}
#container .vm-internal-content .vm-gallery-clean-grid a.vm-photo-tile:hover,
#container .vm-internal-content .vm-gallery-clean-grid a.vm-photo-tile:focus{
  transform:translateY(-4px)!important;
  box-shadow:0 18px 42px rgba(6,61,104,.14)!important;
  border-color:rgba(15,143,134,.35)!important;
  background:#fff!important;
  outline:3px solid rgba(255,197,46,.25)!important;
  outline-offset:3px!important;
}
#container .vm-internal-content .vm-gallery-clean-grid a.vm-photo-tile:before,
#container .vm-internal-content .vm-gallery-clean-grid a.vm-photo-tile:after,
#container .vm-internal-content .vm-gallery-clean-grid a.vm-photo-tile i,
#container .vm-internal-content .vm-gallery-clean-grid a.vm-photo-tile .fa,
#container .vm-internal-content .vm-gallery-clean-grid a.vm-photo-tile .icon{
  display:none!important;
  content:none!important;
}
#container .vm-internal-content .vm-gallery-clean-grid .vm-photo-image{
  display:block!important;
  width:100%!important;
  aspect-ratio:4/3!important;
  min-height:0!important;
  background-color:#eef5f7!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  margin:0!important;
  position:relative!important;
}
#container .vm-internal-content .vm-gallery-clean-grid .vm-photo-caption{
  display:block!important;
  padding:13px 15px 15px!important;
  min-height:76px!important;
  background:#fff!important;
  border:0!important;
  margin:0!important;
}
#container .vm-internal-content .vm-gallery-clean-grid .vm-photo-caption strong{
  display:-webkit-box!important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:#10243d!important;
  font-size:15px!important;
  line-height:1.25!important;
  font-weight:800!important;
  margin:0!important;
  padding:0!important;
  text-transform:none!important;
}
#container .vm-internal-content .vm-gallery-clean-grid .vm-photo-caption em{
  display:inline-block!important;
  margin-top:8px!important;
  color:#0f8f86!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-style:normal!important;
  font-weight:800!important;
  padding:0!important;
  border:0!important;
}
@media(max-width:1199px){
  #container .vm-internal-content .vm-gallery-clean-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:767px){
  #container .vm-internal-content .vm-gallery-page-v3 .vm-gallery-kicker{font-size:12px!important;padding:8px 12px!important;}
  #container .vm-internal-content .vm-gallery-page-v3 h1{font-size:34px!important;line-height:1.12!important;}
  #container .vm-internal-content .vm-gallery-clean-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;}
  #container .vm-internal-content .vm-gallery-clean-grid .vm-photo-caption{padding:11px 12px 13px!important;min-height:68px!important;}
  #container .vm-internal-content .vm-gallery-clean-grid .vm-photo-caption strong{font-size:14px!important;}
  #container .vm-internal-content .vm-gallery-clean-grid .vm-photo-caption em{font-size:11px!important;}
}
@media(max-width:430px){
  #container .vm-internal-content .vm-gallery-clean-grid{gap:13px!important;}
}

/* STEP 7A5C - Galleria: apertura foto in lightbox senza nuova pagina */
#lightboxOverlay{z-index:99998!important;}
#lightbox{z-index:99999!important;}
.lb-outerContainer{border-radius:14px!important;overflow:hidden!important;}
.lightbox .lb-image{border-radius:10px!important;max-width:92vw!important;height:auto!important;}
.lb-dataContainer{max-width:92vw!important;}
.lb-data .lb-caption{font-size:15px!important;line-height:1.35!important;color:#fff!important;}
.lb-data .lb-number{font-size:12px!important;color:#dbe7ef!important;}
.lb-data .lb-close{opacity:.9!important;}
#container .vm-internal-content .vm-gallery-clean-grid .vm-photo-caption em:before{content:"\f00e";font-family:FontAwesome;margin-right:6px;font-weight:normal;}
@media(max-width:767px){
  .lb-outerContainer{max-width:94vw!important;}
  .lb-dataContainer{max-width:94vw!important;}
  .lb-nav a.lb-prev{opacity:.75!important;background-position:left 50%!important;}
  .lb-nav a.lb-next{opacity:.75!important;background-position:right 50%!important;}
}

/* STEP 11C - Parte pubblica: gallerie raggruppate per evento/data */
#container .vm-internal-content .vm-gallery-events-page .vm-gallery-back{margin:14px 0 0!important;}
#container .vm-internal-content .vm-gallery-events-page .vm-gallery-back a{display:inline-flex!important;align-items:center!important;gap:7px!important;padding:9px 14px!important;border-radius:999px!important;background:#eef6fb!important;color:#073d67!important;font-weight:800!important;text-decoration:none!important;border:1px solid #d8e7f1!important;}
#container .vm-internal-content .vm-gallery-event-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;margin-top:10px!important;width:100%!important;}
#container .vm-internal-content .vm-gallery-event-card,#container .vm-internal-content .vm-gallery-event-card:visited{display:flex!important;flex-direction:column!important;overflow:hidden!important;border:1px solid #e3edf5!important;border-radius:22px!important;background:#fff!important;box-shadow:0 14px 34px rgba(6,61,104,.09)!important;color:#10243d!important;text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important;}
#container .vm-internal-content .vm-gallery-event-card:hover,#container .vm-internal-content .vm-gallery-event-card:focus{transform:translateY(-4px)!important;box-shadow:0 20px 46px rgba(6,61,104,.15)!important;border-color:rgba(15,143,134,.38)!important;outline:3px solid rgba(255,197,46,.24)!important;outline-offset:3px!important;background:#fff!important;}
#container .vm-internal-content .vm-gallery-event-card:before,#container .vm-internal-content .vm-gallery-event-card:after,#container .vm-internal-content .vm-gallery-event-card i,#container .vm-internal-content .vm-gallery-event-card .fa{display:none!important;content:none!important;}
#container .vm-internal-content .vm-gallery-event-cover{display:block!important;width:100%!important;aspect-ratio:16/10!important;background-color:#eef5f7!important;background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important;}
#container .vm-internal-content .vm-gallery-event-body{display:block!important;padding:17px 18px 19px!important;background:#fff!important;}
#container .vm-internal-content .vm-gallery-event-body strong{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden!important;color:#073d67!important;font-size:20px!important;line-height:1.18!important;font-weight:900!important;text-transform:none!important;margin:0 0 10px!important;}
#container .vm-internal-content .vm-gallery-event-meta{display:block!important;color:#516a80!important;font-size:14px!important;font-weight:700!important;margin-bottom:12px!important;}
#container .vm-internal-content .vm-gallery-event-body em{display:inline-flex!important;align-items:center!important;padding:7px 11px!important;border-radius:999px!important;background:#eaf8f6!important;color:#0f8f86!important;font-size:13px!important;line-height:1!important;font-style:normal!important;font-weight:900!important;}
@media(max-width:991px){#container .vm-internal-content .vm-gallery-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;}}
@media(max-width:560px){#container .vm-internal-content .vm-gallery-event-grid{grid-template-columns:1fr!important;gap:16px!important;}#container .vm-internal-content .vm-gallery-event-body{padding:15px 15px 17px!important;}#container .vm-internal-content .vm-gallery-event-body strong{font-size:18px!important;}}

/* STEP 11C1 - Home pubblica: card gallerie raggruppate per evento */
.vm-gallery-section .vm-gallery-grid a.vm-gallery-home-event-card{
  position:relative!important;
  display:block!important;
  overflow:hidden!important;
}
.vm-gallery-section .vm-gallery-grid a.vm-gallery-home-event-card:after{
  display:block!important;
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:56%!important;
  background:linear-gradient(to top,rgba(3,24,45,.78),rgba(3,24,45,0))!important;
  pointer-events:none!important;
}
.vm-gallery-home-event-caption{
  position:absolute!important;
  left:14px!important;
  right:14px!important;
  bottom:12px!important;
  z-index:2!important;
  color:#fff!important;
  display:block!important;
  text-shadow:0 2px 8px rgba(0,0,0,.35)!important;
}
.vm-gallery-home-event-caption strong{
  display:block!important;
  font-size:14px!important;
  line-height:1.15!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.vm-gallery-home-event-caption em{
  display:inline-block!important;
  margin-top:5px!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.9)!important;
  color:#064375!important;
  font-size:11px!important;
  line-height:1!important;
  font-style:normal!important;
  font-weight:900!important;
  text-shadow:none!important;
}

/* STEP 11C3 - Fix accordion gallerie pubbliche: chiusura reale anche con griglie !important */
#container .vm-internal-content .vm-gallery-year-panel:not(.is-open) .vm-gallery-year-content,
#container .vm-internal-content .vm-gallery-year-panel:not(.is-open) .vm-gallery-event-grid{display:none!important;}
#container .vm-internal-content .vm-gallery-year-panel.is-open .vm-gallery-year-content,
#container .vm-internal-content .vm-gallery-year-panel.is-open .vm-gallery-event-grid{display:grid!important;}


/* STEP 15A1 - Parte pubblica appuntamenti: immagini e responsive */
.vm-detail-event .vm-detail-list-item{grid-template-columns:86px minmax(0,140px) minmax(0,1fr);}
.vm-detail-event .vm-detail-list-item .vm-detail-event-body:nth-child(2){grid-column:auto;}
.vm-detail-event-thumb{display:block;width:140px;height:92px;border-radius:16px;overflow:hidden;background:#edf2f5;border:1px solid #dfeaf0;}
.vm-detail-event-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.vm-public-event-detail .vm-event-detail-image{margin:-6px 0 22px;border-radius:20px;overflow:hidden;background:#edf2f5;box-shadow:0 12px 28px rgba(6,61,104,.08);}
.vm-public-event-detail .vm-event-detail-image img{width:100%;max-height:420px;object-fit:cover;display:block;}
.vm-detail-event .vm-detail-event-body small{display:block;margin:0 0 8px;color:#087f76;font-weight:800;font-size:13px;}
@media(max-width:767px){
  .vm-detail-event .vm-detail-list-item{grid-template-columns:62px minmax(0,1fr);align-items:start;}
  .vm-detail-event-thumb{grid-column:1/-1;width:100%;height:170px;order:3;}
  .vm-detail-event .vm-detail-event-body{grid-column:2;min-width:0;}
  .vm-public-event-detail .vm-event-detail-image{border-radius:16px;margin-bottom:18px;}
  .vm-public-event-detail .vm-event-detail-image img{max-height:260px;}
}

/* STEP15A2 - Restyling calendario/appuntamenti pubblico */
.vm-event-card{grid-template-columns:72px 1fr!important;gap:16px!important;align-items:center!important;padding:15px!important;border-color:#dfeef1!important;background:#fff!important;box-shadow:0 8px 22px rgba(6,61,104,.06);}
.vm-event-date{width:72px!important;height:72px!important;border-radius:18px!important;background:#eefafa!important;border:1px solid #d3eff0!important;color:#0f4c75!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);}
.vm-event-date strong{font-size:27px!important;line-height:1!important;}
.vm-event-date em{font-size:11px!important;letter-spacing:.04em!important;color:#008c82!important;}
.vm-event-text strong{font-size:14px!important;line-height:1.25!important;color:#10243d!important;}
.vm-event-text small{display:block;color:#60738b!important;font-size:12px!important;line-height:1.45!important;}

.vm-detail-event{max-width:100%;}
.vm-calendar-list-card{grid-template-columns:92px minmax(130px,190px) 1fr!important;gap:20px!important;align-items:center!important;padding:20px!important;border-radius:20px!important;border-color:#dfeef1!important;box-shadow:0 12px 30px rgba(6,61,104,.07)!important;}
.vm-calendar-list-card .vm-detail-datebox{width:82px;min-height:82px;background:#eefafa;border-color:#cfecee;color:#0f4c75;}
.vm-calendar-list-card .vm-detail-event-thumb img{width:190px;height:126px;object-fit:cover;border-radius:16px;display:block;background:#eef3f7;}
.vm-calendar-list-card .vm-detail-event-body{min-width:0;}
.vm-calendar-list-card .vm-detail-event-body h3{font-size:22px;line-height:1.18;margin:5px 0 8px;}
.vm-calendar-list-card .vm-detail-event-body small{display:block;color:#008c82;font-weight:800;font-size:14px;margin-bottom:8px;}
.vm-calendar-list-card .vm-detail-event-body p{font-size:15px;color:#5f7084;margin:0 0 10px;}
.vm-readmore-inline{display:inline-flex;align-items:center;gap:5px;color:#008c82!important;font-size:13px;font-weight:900;text-decoration:none!important;}
.vm-readmore-inline:hover{text-decoration:underline!important;}
.vm-calendar-list-card:not(:has(.vm-detail-event-thumb)){grid-template-columns:92px 1fr!important;}

.vm-public-event-detail-v2{padding:28px!important;border-radius:22px!important;}
.vm-event-detail-head{display:grid;grid-template-columns:96px 1fr;gap:22px;align-items:center;margin-bottom:20px;}
.vm-event-datebox-big{width:92px!important;min-height:92px!important;background:#eefafa!important;border-color:#cfecee!important;}
.vm-event-datebox-big strong{font-size:34px!important;}
.vm-event-datebox-big span{text-transform:uppercase;color:#008c82;font-weight:900;}
.vm-event-detail-title h2{font-size:36px;line-height:1.16;margin:8px 0 0;color:#0f4c75;font-weight:800;}
.vm-event-detail-image{margin:4px 0 22px;border-radius:18px;overflow:hidden;background:#eef3f7;border:1px solid #e2edf2;}
.vm-event-detail-image img{display:block;width:100%;max-height:420px;object-fit:cover;}
.vm-public-event-detail-v2 .vm-detail-text{font-size:16px;line-height:1.8;color:#334b63;}

@media(max-width:767px){
  .vm-event-card{grid-template-columns:70px 1fr!important;padding:14px!important;}
  .vm-calendar-list-card{grid-template-columns:76px 1fr!important;gap:14px!important;padding:16px!important;align-items:flex-start!important;}
  .vm-calendar-list-card .vm-detail-datebox{width:70px;min-height:70px;border-radius:15px;}
  .vm-calendar-list-card .vm-detail-datebox strong{font-size:26px;}
  .vm-calendar-list-card .vm-detail-datebox span{font-size:11px;}
  .vm-calendar-list-card .vm-detail-event-thumb{grid-column:1 / -1;order:2;}
  .vm-calendar-list-card .vm-detail-event-thumb img{width:100%;height:170px;border-radius:16px;}
  .vm-calendar-list-card .vm-detail-event-body{order:1;}
  .vm-calendar-list-card .vm-detail-event-body h3{font-size:20px;line-height:1.2;word-break:normal;}
  .vm-calendar-list-card .vm-detail-event-body small{font-size:13px;}
  .vm-event-detail-head{grid-template-columns:78px 1fr;gap:15px;align-items:start;}
  .vm-event-datebox-big{width:72px!important;min-height:72px!important;border-radius:16px!important;}
  .vm-event-datebox-big strong{font-size:28px!important;}
  .vm-event-detail-title h2{font-size:25px;line-height:1.22;}
  .vm-public-event-detail-v2{padding:20px!important;}
  .vm-event-detail-image img{max-height:260px;}
}


/* STEP15A3 - Calendario pubblico senza immagini appuntamento */
.vm-public-event-detail .vm-event-detail-image,
.vm-event-detail-image,
.vm-detail-event-thumb{display:none!important;}
.vm-calendar-list-card{grid-template-columns:92px 1fr!important;gap:20px!important;align-items:center!important;}
.vm-calendar-list-card .vm-detail-event-body{min-width:0!important;}
@media (max-width:767px){
  .vm-calendar-list-card{grid-template-columns:76px 1fr!important;gap:14px!important;align-items:flex-start!important;}
  .vm-calendar-list-card .vm-detail-event-body{order:1!important;}
}

/* STEP 16H2 - Gallerie Media */
#container .vm-media-filters{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 18px!important}#container .vm-media-filters button{border:1px solid #0b7890;background:#fff;color:#0b5670;border-radius:999px;padding:9px 17px;font-weight:800;cursor:pointer}#container .vm-media-filters button.is-active{background:#0b7890;color:#fff}.vm-video-tile{border:0!important;padding:0!important;text-align:left!important;font:inherit!important;cursor:pointer!important}.vm-video-play-public{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(11,120,144,.94);color:#fff;font-size:23px;box-shadow:0 8px 24px rgba(0,0,0,.28)}.vm-media-badge{position:absolute;top:12px;left:12px;background:rgba(6,37,66,.88);color:#fff;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:900}.vm-video-no-cover{background:linear-gradient(135deg,#dfeaf3,#f8fbfd)!important;position:relative}.vm-video-modal{display:none;position:fixed;inset:0;z-index:12000;background:rgba(3,18,31,.84);align-items:center;justify-content:center;padding:20px}.vm-video-modal-box{position:relative;width:min(1000px,96vw);background:#fff;border-radius:18px;padding:18px;box-sizing:border-box}.vm-video-modal-box h2{margin:0 50px 14px 0;color:#073f65}.vm-video-modal-box video{display:block;width:100%;max-height:78vh;background:#000;border-radius:12px}.vm-video-modal-close{position:absolute;right:14px;top:12px;width:40px;height:40px;border-radius:50%;border:0;background:#0b7890;color:#fff;font-size:27px;cursor:pointer}@media(max-width:600px){.vm-video-play-public{width:54px;height:54px}.vm-media-filters button{flex:1}}

/* STEP 16H2A - visualizzatore pubblico unificato foto/video */
#container .vm-internal-content .vm-gallery-clean-grid button.vm-photo-tile{
  width:100%;border:0;padding:0;background:#fff;text-align:left;font:inherit;cursor:pointer;
  border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(5,48,78,.10);transition:transform .18s ease,box-shadow .18s ease;
}
#container .vm-internal-content .vm-gallery-clean-grid button.vm-photo-tile:hover,
#container .vm-internal-content .vm-gallery-clean-grid button.vm-photo-tile:focus{
  transform:translateY(-3px);box-shadow:0 16px 34px rgba(5,48,78,.17);outline:3px solid rgba(11,120,144,.22);outline-offset:2px;
}
.vm-media-viewer{display:none;position:fixed;inset:0;z-index:15000;background:rgba(3,18,31,.90);align-items:center;justify-content:center;padding:18px;box-sizing:border-box}
.vm-media-viewer-open{overflow:hidden!important}
.vm-media-viewer-box{position:relative;width:min(1180px,96vw);height:min(88vh,900px);display:flex;align-items:center;justify-content:center}
.vm-media-viewer-content{position:relative;width:calc(100% - 120px);height:100%;background:#fff;border-radius:20px;padding:18px 18px 14px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 20px 55px rgba(0,0,0,.35)}
.vm-media-viewer-content img,.vm-media-viewer-content video{display:block;max-width:100%;max-height:calc(100% - 70px);width:auto;height:auto;object-fit:contain;background:#000;border-radius:12px}
.vm-media-viewer-content video{width:100%}
.vm-media-viewer-content h2{width:100%;margin:12px 0 0;color:#073f65;text-align:center;font-size:20px;line-height:1.25}
.vm-media-viewer-counter{margin-top:5px;color:#60788a;font-weight:800;font-size:13px}
.vm-media-viewer-close{position:absolute;right:45px;top:-12px;z-index:3;width:44px;height:44px;border-radius:50%;border:3px solid #fff;background:#0b7890;color:#fff;font-size:29px;line-height:1;cursor:pointer;box-shadow:0 7px 20px rgba(0,0,0,.28)}
.vm-media-viewer-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:52px;height:70px;border:0;border-radius:14px;background:rgba(255,255,255,.96);color:#073f65;font-size:34px;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.vm-media-viewer-prev{left:0}.vm-media-viewer-next{right:0}
.vm-media-viewer-loader{width:42px;height:42px;border:5px solid #d9e5ec;border-top-color:#0b7890;border-radius:50%;animation:vmMediaSpin .75s linear infinite}
@keyframes vmMediaSpin{to{transform:rotate(360deg)}}
@media(max-width:700px){
  .vm-media-viewer{padding:8px}.vm-media-viewer-box{width:100%;height:94vh}.vm-media-viewer-content{width:100%;padding:54px 10px 12px;border-radius:15px}
  .vm-media-viewer-content img,.vm-media-viewer-content video{max-height:calc(100% - 90px)}
  .vm-media-viewer-close{right:10px;top:8px}.vm-media-viewer-nav{top:auto;bottom:10px;width:48px;height:48px;border-radius:50%;font-size:28px}
  .vm-media-viewer-prev{left:14px}.vm-media-viewer-next{right:14px}.vm-media-viewer-content h2{font-size:16px;padding:0 55px;box-sizing:border-box}
}

/* STEP 16H2B - Video esterni YouTube/Vimeo nelle Gallerie Media */
.vm-media-viewer-content iframe{display:block;width:100%;height:min(70vh,680px);border:0;border-radius:12px;background:#000}
.vm-external-consent{width:min(680px,92%);min-height:260px;border:1px solid #cddce5;border-radius:16px;background:#f4f9fc;padding:28px;box-sizing:border-box;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;color:#24485e}
.vm-external-consent strong{font-size:22px;color:#073f65}.vm-external-consent span{max-width:560px;line-height:1.5}.vm-external-consent div{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.vm-external-consent button,.vm-external-consent a{border:1px solid #0b7890;border-radius:999px;padding:10px 17px;background:#0b7890;color:#fff!important;text-decoration:none;font-weight:800;cursor:pointer}.vm-external-consent a{background:#fff;color:#0b5670!important}
@media(max-width:600px){.vm-media-viewer-content iframe{height:56vw;min-height:220px}.vm-external-consent{min-height:300px;padding:20px 14px}.vm-external-consent div{display:grid;width:100%}.vm-external-consent button,.vm-external-consent a{width:100%;box-sizing:border-box}}


/* STEP 16H2C - filtri media robusti, video esterni e descrizioni gallerie */
#container .vm-internal-content .vm-gallery-clean-grid .vm-media-filter-hidden,
#container .vm-internal-content .vm-gallery-clean-grid [hidden]{display:none!important;}
#container .vm-internal-content .vm-gallery-event-description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:7px 0 3px;color:#526b7d;font-size:13px;line-height:1.4;font-style:normal;}
.vm-gallery-home-event-caption strong{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden!important;line-height:1.2!important;}

/* STEP16H2C3 - Titolo leggibile e descrizione nelle Gallerie Media */
#container .vm-internal-content .vm-gallery-event-description{display:-webkit-box!important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden!important;margin:0 0 10px!important;color:#31566f!important;font-size:14px!important;line-height:1.45!important;font-weight:500!important;}
.vm-gallery-home-event-caption small{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden!important;margin:3px 0 5px!important;color:#fff!important;font-size:12px!important;line-height:1.25!important;font-weight:500!important;text-shadow:0 1px 3px rgba(0,0,0,.55)!important;}
