@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Inter', sans-serif; background: #fff;}
a:focus, a:hover { text-decoration: none; color: inherit; }

.spuv-container{  display: flex; min-height: 100vh; overflow-x: hidden; }
.container{ width:100%; max-width:1200px; padding: 0 30px;}
	
/* ── MOBILE HEADER (visibile solo sotto 768px) ── */
.spuv-mobile-header { display: none; position: fixed; top: 0; left: 0; right: 0; height:70px; background: #c20e1a; z-index: 1100; align-items: center; justify-content: space-between; padding: 0 16px; }
.spuv-mobile-header img { height: 45px; width: auto; display: block; }
.spuv-mobile-burger { width: 36px; height: 36px; background: white; border: none; border-radius: 8px; display: flex; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0; }
.spuv-mobile-burger i { font-size: 18px; color: #c20e1a; }

/* ── SIDEBAR ── */
.spuv-sidebar { width: 350px; height: 100vh; background: #c20e1a; display: flex; flex-direction: column; flex-shrink: 0; position: fixed; top: 0; left: 0; z-index: 1000; transition: width 0.28s cubic-bezier(.4,0,.2,1); border-radius: 0 22px 22px 0; overflow: visible; }
.spuv-sidebar.spuv-collapsed { width: 120px; }
.spuv-sidebar::before { content: ''; position: absolute; inset: 0; background: #c20e1a; border-radius: 0 22px 22px 0; z-index: 0; pointer-events: none; }
.spuv-sidebar-inner { display: flex; flex-direction: column; height: 100%; position: relative; z-index: 1; }

/* ── LOGO ── */
.spuv-logo { padding: 22px 20px 22px 40px; display: flex; align-items: center; justify-content: flex-start; border-bottom: 1px solid rgba(255,255,255,0.15); min-height: 120px; flex-shrink: 0; position: relative; overflow: hidden; border-radius: 0 22px 0 0; }
.spuv-logo-full { display: block; width: 155px; height: auto; opacity: 1; transition: opacity 0.18s ease, width 0.28s ease; flex-shrink: 0; }
.spuv-collapsed .spuv-logo-full { width: 0; opacity: 0; pointer-events: none; }
.spuv-collapsed .spuv-logo { justify-content: center; border-bottom: none; padding: 22px 20px; }

/* ── TOGGLE ── */
.spuv-toggle { position: absolute; right: 20px; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; background: white; border: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 1100; box-shadow: 0 2px 10px rgba(0,0,0,0.22); transition: box-shadow 0.15s; flex-shrink: 0; }
.spuv-toggle i { font-size: 15px; color: #c20e1a; line-height: 1; display: block; }
.spuv-toggle:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.30); }
.spuv-collapsed .spuv-toggle { position: static; transform: none; margin: 0 auto; }
.spuv-collapsed .spuv-toggle i { font-size: 18px; }

/* ── NAV ── */
.spuv-nav { flex: 1; padding: 14px 0; display: flex; flex-direction: column; overflow-y: auto; overflow-x: visible; scrollbar-width: none; }
.spuv-nav::-webkit-scrollbar { display: none; }
.spuv-nav-item { position: relative; }

/* ── NAV LINK base ── */
.spuv-nav-link { display: flex; align-items: center; padding: 14px 22px; color:#fff; text-decoration: none; font-family: 'Inter', sans-serif; font-size: 17px; font-weight: 500; white-space: nowrap; cursor: pointer; transition: background 0.15s, color 0.15s, border-radius 0.10s, padding 0.10s; gap: 16px; user-select: none; border-left: 3px solid transparent; margin-left: 10px; margin-right: 10px; }
.spuv-nav-link:focus { outline: none; text-decoration: none; color:#fff; }

/* ── HOVER normale ── */
.spuv-nav-link:hover { background: #e0e0e0; color: #111; text-decoration: none; border-radius: 12px; padding: 14px 16px; border-left-color: transparent; }
.spuv-nav-link:hover .spuv-nav-icon { color: #111; }
.spuv-nav-link:hover .spuv-nav-arrow { color: #111; }

/* ── ACTIVE ── */
.spuv-nav-link.spuv-active { background: #e0e0e0; color: #111; font-weight: 700; margin-left: 10px; margin-right: 10px; border-radius: 12px; padding: 14px 16px; border-left-color: transparent; }
.spuv-nav-link.spuv-active .spuv-nav-icon { color: #111; }
.spuv-nav-link.spuv-active .spuv-nav-arrow { color: #111; }
.spuv-nav-link.spuv-active:hover { background: #d4d4d4; text-decoration: none; }
.spuv-nav-item:has(.spuv-active) { border-left: 3px solid #fff; }

/* ── HOVER su voce con sottomenu (desktop) ── */
.spuv-nav-link.spuv-has-sub:hover { background: white; color: #111; margin-left: 0; margin-right: 0; border-radius: 0; padding: 14px 22px; }
.spuv-nav-link.spuv-has-sub.spuv-flyout-active { background: white; color: #111; margin-left: 0; margin-right: 0; border-radius: 0; padding: 14px 22px; }
.spuv-nav-link.spuv-has-sub:hover .spuv-nav-icon { color: #111; }
.spuv-nav-link.spuv-has-sub:hover .spuv-nav-arrow { color: #111; }
.spuv-nav-link.spuv-has-sub.spuv-flyout-active .spuv-nav-icon { color: #111; }
.spuv-nav-link.spuv-has-sub.spuv-flyout-active .spuv-nav-arrow { color: #111; }

/* ── Collapsed pill per has-sub ── */
.spuv-collapsed .spuv-nav-link.spuv-has-sub:hover { background: #e0e0e0; color: #111; margin: 3px 14px; border-radius: 12px; padding: 14px 0; }
.spuv-collapsed .spuv-nav-link.spuv-has-sub.spuv-flyout-active { background: #e0e0e0; margin: 3px 14px; border-radius: 12px; padding: 14px 0; }

/* ── NAV ICON ── */
.spuv-nav-icon { width: 26px; text-align: center; font-size: 26px; flex-shrink: 0; color: inherit; }

/* ── NAV LABEL ── */
.spuv-nav-label { flex: 1; opacity: 1; transition: opacity 0.18s ease; overflow: hidden; white-space: nowrap; }
.spuv-collapsed .spuv-nav-label { opacity: 0; width: 0; display: none; }

/* ── NAV ARROW ── */
.spuv-nav-arrow { font-size: 12px; color: rgba(255,255,255,0.80); transition: transform 0.25s ease, opacity 0.18s ease; flex-shrink: 0; }
.spuv-collapsed .spuv-nav-arrow { opacity: 0; width: 0; }
.spuv-nav-link.spuv-open .spuv-nav-arrow { transform: rotate(90deg); }

/* ── COLLAPSED links centrati ── */
.spuv-collapsed .spuv-nav-link { justify-content: center; padding: 14px 0; margin: 3px 14px; border-radius: 12px; border-left-color: transparent !important; gap: 0; }
.spuv-collapsed .spuv-nav-link:hover { padding: 14px 0; margin: 3px 14px; }
.spuv-collapsed .spuv-nav-link.spuv-active { padding: 14px 0; margin: 3px 20px; }
.spuv-collapsed .spuv-nav-item:has(.spuv-active) { border-left: none; }

/* ── TOOLTIP collapsed ── */
.spuv-collapsed .spuv-nav-item:hover > .spuv-nav-link::after { content: attr(data-label); position: absolute; left: 130px; top: 50%; transform: translateY(-50%); background: rgba(20,0,0,0.88); color: white; font-family: 'Inter', sans-serif; font-size: 13px; padding: 6px 14px; border-radius: 7px; white-space: nowrap; pointer-events: none; z-index: 2000; }
.spuv-nav-item:has(.spuv-submenu-flyout):hover > .spuv-nav-link::after { display: none; content: none; }

/* ── SUBMENU INLINE (solo mobile: accordion a discesa) ── */
.spuv-submenu-inline { overflow: hidden; max-height: 0; transition: max-height 0.32s ease; background: rgba(0,0,0,0.10); }
.spuv-submenu-inline.spuv-open { max-height: 400px; }
.spuv-submenu-inline .spuv-submenu-item { display: flex; align-items: center; gap: 12px; padding: 11px 18px 11px 30px; color: rgba(255,255,255,0.92); font-family: 'Inter', sans-serif; font-size: 15px; cursor: pointer; text-decoration: none; transition: background 0.15s; white-space: nowrap; }
.spuv-submenu-inline .spuv-submenu-item:hover { background: rgba(0,0,0,0.12); color: white; }
.spuv-submenu-inline .spuv-submenu-logo { filter: brightness(0) invert(1); height: 32px; width: auto; display: block; object-fit: contain; }
.spuv-submenu-inline .spuv-submenu-logo-double img { filter: brightness(0) invert(1); height:70px; width: auto; }

/* ── FLYOUT bianco (desktop: hover su voce con sub, o sidebar collassata) ── */
.spuv-submenu-flyout { display: none; position: fixed; min-width: 230px; background: white; border-radius: 0 14px 14px 0; box-shadow: 6px 4px 28px rgba(0,0,0,0.14); z-index: 1200; overflow: hidden; }
.spuv-nav-item.spuv-flyout-open > .spuv-submenu-flyout { display: block; }
.spuv-submenu-flyout .spuv-submenu-item { display: flex; align-items: center; gap: 12px; padding: 13px 24px; color: #222; font-family: 'Inter', sans-serif; font-size: 15px; font-weight: 400; cursor: pointer; text-decoration: none; transition: background 0.15s; white-space: nowrap; }
.spuv-submenu-flyout .spuv-submenu-item:hover { background: #f2f2f2; text-decoration: none; color: #111; }
.spuv-submenu-flyout .spuv-submenu-logo { height: 40px; width: auto; display: block; object-fit: contain; }
.spuv-submenu-flyout .spuv-submenu-logo-double { display: flex; align-items: center; gap: 6px; }
.spuv-submenu-flyout .spuv-submenu-logo-double img { height:90px; width: auto; }

/* ── FOOTER ── */
.spuv-footer { border-top: 1px solid rgba(255,255,255,0.15); padding: 10px 0; flex-shrink: 0; border-radius: 0 0 22px 0; overflow: hidden; }
.spuv-logout { display: flex; align-items: center; gap: 16px; padding: 14px 22px; color: white; font-family: 'Inter', sans-serif; font-size: 16px; font-weight: 700; cursor: pointer; white-space: nowrap; transition: background 0.15s, color 0.15s, border-radius 0.10s, padding 0.10s; margin: 0 10px; }
.spuv-logout:hover { background: #e0e0e0; color: #111; border-radius: 12px; }
.spuv-collapsed .spuv-logout { justify-content: center; padding: 14px 0; margin: 0 14px; border-radius: 12px; gap: 0; }
.spuv-collapsed .spuv-logout:hover { margin: 0 14px; padding: 14px 0; }
.spuv-collapsed .spuv-logout .spuv-nav-label { opacity: 0; width: 0; overflow: hidden; }

/* ── MAIN ── */
.spuv-main { flex: 1; margin-left: 350px; min-height: 100vh; transition: margin-left 0.28s cubic-bezier(.4,0,.2,1); padding:60px 0; }
.spuv-main.spuv-main-collapsed { margin-left: 120px; }

/* ── PAGE HEADER ── */
.spuv-page-header { display: flex; align-items: center; gap: 24px;}
.spuv-page-title { font-family: 'Inter', sans-serif; font-size: 28px; font-weight: 700; color: #111; white-space: nowrap; margin: 0; flex-shrink: 0; }
.spuv-page-search { display: flex; align-items: center; gap: 10px; background: #f2f2f2; border-radius: 10px; padding: 9px 16px; flex: 1; max-width: 380px; }
.spuv-page-search input { height:auto; border: none; background: transparent; font-family: 'Inter', sans-serif; font-size: 15px; color: #555; outline: none; width: 100%; }
.spuv-page-search input::placeholder { color: #aaa; }
.spuv-page-search i { font-size: 16px; color: #aaa; flex-shrink: 0; }
.spuv-page-account { display: flex; align-items: center; gap: 10px; margin-left: auto; flex-shrink: 0; }
.spuv-page-account i { font-size: 34px; color: #555; flex-shrink: 0; }
.spuv-account-name { max-width:200px; font-family: 'Inter', sans-serif; font-size: 16px; font-weight: 400; color: #333; line-height: 1.2; text-align: left; }

.spuv-page-header.spuv-no-search .spuv-page-search { display: none; }

/* ── OVERLAY ── */
.spuv-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.45); z-index: 999; }
.spuv-overlay.spuv-overlay-visible { display: block; }


/* ── HEADER WRAP ── */
.spuv-header-wrap {margin-bottom: 0; }

/* ── HERO ── */
.spuv-hero { margin: 32px 0 28px; border-radius: 16px; overflow: hidden; background: #e8e8e8; width: 100%; }
.spuv-hero img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ── SECTION ── */
.spuv-section { margin-bottom: 40px; }
.spuv-section-title { font-family: 'Inter', sans-serif; font-size: 28px; font-weight: 700; color: #111; margin: 0 0 20px; }

/* ── CARDS GRID ── */
.spuv-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }

/* ── SINGLE CARD ── */
/*.spuv-card { cursor: pointer; }*/
.spuv-card-thumb { border-radius: 12px; overflow: hidden; background: #e8e8e8; position: relative; }
.spuv-card-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.2s ease; }
/*.spuv-card:hover .spuv-card-thumb img { transform: scale(1.04); }*/
.spuv-card-thumb--video::after { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,0.18); border-radius: 12px; }
.spuv-card-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 44px; height: 44px; background: rgba(255,255,255,0.92); border-radius: 50%; display: flex; align-items: center; justify-content: center; z-index: 1; }
.spuv-card-play i { font-size: 16px; color: #c20e1a; margin-left: 3px; }
.spuv-card-label { font-family: 'Inter', sans-serif; font-size: 18px; font-weight: 700; color: #111; margin-top: 10px; }
.spuv-card-desc { font-family: 'Inter', sans-serif; font-size: 14px; line-height:1.3; font-weight: 400; color: #666; margin-top: 3px; }

.spuv-banner{ background:#e1e1e1; display:flex; justify-content:center; text-align: center; border-radius:12px;}	

/* other */

ul.pagination{ display:flex; flex-wrap:nowrap; align-items:center; justify-content:center; text-align:center; margin-top:40px;}
ul.pagination li{ padding:0px 2.5px !important;}
ul.pagination li:before{ display:none;}
ul.pagination li.active a, ul.pagination li.active a:hover, ul.pagination li.active a:focus, ul.pagination .prev:hover, ul.pagination .prev:focus, ul.pagination .next:hover, ul.pagination .next:focus{ border-color:#c20e1a; color:#c20e1a;}
ul.pagination li a:hover, ul.pagination li a:focus{ color:#c20e1a;}
ul.pagination li.swiper-prev{ margin-right:40px;}
ul.pagination li.swiper-next{ margin-left:40px;}
ul.pagination li a{ width:40px; height:40px; font-size:16px; padding:0px; line-height:40px; border:0px;}

body{ font-family: 'Inter', sans-serif !important;}
p, li{ font-size:16px; font-weight:400;}
h1, h2, h3, h4, h5, h6{ font-family: 'Inter', sans-serif;}
.btn{  font-family: 'Inter', sans-serif; padding:7px 15px; border-radius:12px; line-height:1.4; font-size:14px; font-weight:400;}
.btn.btn-primary{ background:#000; border-color:#000; color:#fff;}
.btn.btn-primary:hover{ background:#c20e1a; border-color:#c20e1a; color:#fff;}
.btn.btn-default{ background:#c20e1a; border-color:#c20e1a; color:#fff;}
.btn.btn-default:hover{ background:#000; border-color:#000; color:#fff;}
a.readmore{ font-size:16px;}

.block h1, .block h2{ font-size:28px;}
.block h3{ font-size:18px; line-height:1.4; font-weight:400;}

.row + .row{ margin-top:20px;}

.wrapper{ margin-top:20px;}
.form-group{ width:100%; float:left;}
input[type=text], input[type=email], input[type=password], input[type=search], input[type=tel], textarea{ width:100%; border-radius:5px; font-weight:400;}
select{ font-weight:400;}
input[type=text], input[type=email], input[type=password], input[type=search], input[type=tel]{ padding-left:10px; padding-right:10px;}

.block ul{ list-style:none;}
.block ul li{ padding-left:15px;}

.block.area-webinar .item{ margin-bottom:40px; padding-bottom:0px; border:0px;}
.block.area-webinar .item .video{ border-radius:12px;}
.block.area-webinar .item .no-video{ border-radius:12px;}
.block.area-webinar .item .text h3{ font-weight:400; font-size:16px; line-height:1.2;}

.block.area-webinar .item span.dettagli span{ padding:2px 8px; background:#e9e9e9; border-radius:15px; color:#666666; font-size:14px; margin-right:5px;}

.boxNessunRisultato{ text-align:center; margin:60px 0;}
.boxNessunRisultato h2{ font-weight:700; margin-bottom:5px;}
.boxNessunRisultato .btn{ margin-top:10px;}

.block.hours-table .table-view{ border-radius:12px;}
.block.hours-table .table-view table > thead{ border-radius:5px;}

.block.hours-table .table-view table > thead > tr > th{ font-weight:400;}
.block.hours-table .table-view table > tbody > tr > td{ font-weight:400;}

.footer{  font-family: 'Inter', sans-serif;background:none; padding:0px; padding-top:40px;}
.footer .footer-extra p{ max-width:800px; margin:0 auto; font-size:13px; line-height:1.4; font-weight:400;}

.wrapper + .footer{ padding-top:0px;}

.box-wrap .box{ border-radius:12px; border:1px solid #e1e1e1;}
.box-wrap .box .icon{ border-radius:10px;}
.box-wrap .box h2{ margin-top:0px; font-weight:700;}

.block.area-filter .boxFiltri{ border-radius:12px; padding:20px;}
.block.area-video-formativa .boxFiltroRicerca{ border-radius:12px; padding:20px;}

.sidebar-filtri .boxFiltroRicerca .field input[type="text"]{ margin-right:10px;}

.block.area-video-formativa .box-titolo h2{ font-size:28px; text-align:left;}

.block.area-video-formativa .row-webinar .image{ border-radius:12px; overflow:hidden;}
.block.area-video-formativa .row-info .image{ border-radius:12px; overflow:hidden;}

.block.area-video-formativa .row-corsi .item.corso{ padding:0px; margin-bottom:40px; border:0px;}

.block.area-video-formativa .row-corsi .item.corso .read-more{ margin-top:10px;}

.block.area-video-formativa .row-corsi .item.corso.active{ background:none;}

.block.form-container .btn{ margin-top:0px;}

.block.area-video-formativa .no-webinar-evidenza .box-titolo{ text-align:left !important;}

.block.hours-table .table-view table > tbody > tr > td.actions .main li a{ border-radius:5px; padding:3px 10px; font-weight:400; white-space:nowrap;}
.block.hours-table .table-view table > tbody > tr > td.actions .main li a:before{ display:none;}

.block.hours-table .table-view table > tbody > tr > td{ font-size:13px; padding:5px 7px;}

.block.form-container .btn{ min-width:150px; font-size:16px; font-weight:400; padding:10px 20px;}
input[type="submit"].btn{ height:40px;}
.block.area-video-formativa .boxFiltroRicerca .field input{ height:40px;}

.block.hours-table .table-view table > tbody > tr > td.actions .main li{ margin-left:5px;}

.block.area-video-formativa .row-webinar .allegati span a{ border-radius:12px;}

.login-wrap .login .box{ border-radius:24px;}
.login-wrap .login .box .btn{ min-width:150px; font-size:16px; font-weight:400;}
.login-wrap .login .box .actions{ margin-bottom:0px;}
.login-wrap .login .box .actions a{ font-weight:400;}

.login-wrap .login .box h2{ font-size:28px; font-weight:700;}


@media (max-width: 1200px) {
  .spuv-sidebar { width: 260px; }
  .spuv-sidebar.spuv-collapsed { width: 90px; }
  .spuv-main { margin-left: 260px; }
  .spuv-main.spuv-main-collapsed { margin-left: 90px; }
  .spuv-logo { padding: 16px 16px 16px 24px; min-height: 90px; }
  .spuv-logo-full { width: 120px; }
  .spuv-collapsed .spuv-logo { padding: 16px; }
  .spuv-toggle { right: 14px; width: 30px; height: 30px; }
  .spuv-toggle i { font-size: 12px; }
  .spuv-collapsed .spuv-toggle { width: 36px; height: 36px; }
  .spuv-nav { padding: 8px 0; }
  .spuv-nav-link { font-size: 14px; padding: 10px 16px; gap: 12px; }
  .spuv-nav-link:hover { padding: 10px 12px; margin-left: 8px; margin-right: 8px; }
  .spuv-nav-link.spuv-active { padding: 10px 12px; margin-left: 8px; margin-right: 8px; }
  .spuv-nav-link.spuv-has-sub:hover { padding: 10px 16px; }
  .spuv-nav-link.spuv-has-sub.spuv-flyout-active { padding: 10px 16px; }
  .spuv-nav-icon { font-size: 20px; width: 22px; }
  .spuv-collapsed .spuv-nav-link { padding: 10px 0; margin: 2px 10px; }
  .spuv-collapsed .spuv-nav-link:hover { padding: 10px 0; margin: 2px 10px; }
  .spuv-collapsed .spuv-nav-link.spuv-active { padding: 10px 0; margin: 2px 14px; }
  .spuv-collapsed .spuv-nav-item:hover > .spuv-nav-link::after { left: 98px; }
  .spuv-logout { font-size: 14px; padding: 10px 16px; gap: 12px; }
  .spuv-logout:hover { padding: 10px 12px; margin: 0 8px; }
  .spuv-collapsed .spuv-logout { padding: 10px 0; margin: 0 10px; }
  .spuv-collapsed .spuv-logout:hover { padding: 10px 0; margin: 0 10px; }
}

/* ── TABLET ── */
@media (max-width: 1024px) {
  .spuv-sidebar { width: 260px; }
  .spuv-sidebar.spuv-collapsed { width: 100px; }
  .spuv-main { margin-left: 260px; }
  .spuv-main.spuv-main-collapsed { margin-left: 100px; }
.spuv-cards { grid-template-columns: repeat(3, 1fr); }
}

/* ── MOBILE ── */
@media (max-width: 767px) {
	
	p, li{ font-size:15px;}
	
	.block{ padding:20px 0;}
	
	.wrapper{ margin-top:10px;}
	
	.content .row + .row{ margin-top:20px;}
	
	.container{ padding:0 20px;}
  /* Mostra header mobile, nascondi sidebar desktop */
  .spuv-mobile-header { display: flex; }
  .spuv-sidebar { width: 100%; border-radius: 0; top: 60px; height: calc(100vh - 60px); transform: translateX(-100%); transition: transform 0.28s cubic-bezier(.4,0,.2,1); }
  .spuv-sidebar.spuv-mobile-open { transform: translateX(0); }
  /* Nascondi toggle desktop, logo area e footer border-radius non servono su mobile */
  .spuv-toggle { display: none; }
  .spuv-logo { display: none; }
  .spuv-main { margin-left: 0 !important; width: 100%; padding-top:70px; transition: none; padding-bottom:20px; }
  .spuv-page-header { padding: 14px 0; gap: 12px; }
  .spuv-page-title { font-size: 18px; }
  .spuv-page-search { max-width: none; }
  .spuv-account-name { display: none; }
  /* Su mobile il flyout non si usa, si usa solo l'inline */
  .spuv-submenu-flyout { display: none !important; }
  /* has-sub su mobile: hover normale (pill) */
  .spuv-nav-link.spuv-has-sub:hover { background: #e0e0e0; color: #111; margin-left: 10px; margin-right: 10px; border-radius: 12px; padding: 14px 16px; }
  .spuv-nav-link.spuv-has-sub.spuv-flyout-active { background: transparent; color: rgba(255,255,255,0.92); margin-left: 0; margin-right: 0; border-radius: 0; padding: 14px 22px; }
  /* Inline sempre abilitato su mobile */
  .spuv-submenu-inline { max-height: 0; }
  .spuv-submenu-inline.spuv-open { max-height: 400px; }
  /* Voce active su mobile: pill full width (no collapsed) */
  .spuv-nav-link.spuv-active { margin-left: 10px; margin-right: 10px; border-radius: 12px; padding: 14px 16px; }
  .spuv-hero { margin: 0 0 20px; border-radius: 12px; aspect-ratio: 16/7; }
  .spuv-cards { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .spuv-section-title { font-size: 17px; }
  
  .spuv-page-title{ max-width:100%; white-space:normal;}
  
  .footer .footer-extra p{ font-size:12px;}
  
  .block.area-video-formativa .box-titolo{ margin-bottom:20px;}
  .block.area-video-formativa .box-titolo h2{ font-size:18px;}
  .block.area-video-formativa .row-webinar .item .text h3{ font-size:18px;}
  .block.area-video-formativa .row-corsi .item.corso .text h3{ font-size:18px;}
  
  .block h1, .block h2{ font-size:18px; line-height:1.2;}
  .block h3{ font-size:16px;}
  
  input[type="submit"].btn{ height:40px;}
  
  .footer{ padding-top:20px;}
  
  
}
