:root{
  --vh-bg:#dfbe95;
  --vh-top-h:60px;
  --vh-footer-h:78px;
  --vh-stage-w:1535px;
  --vh-stage-h:965px;
  --vh-left-w:433px;
  --vh-center-w:647px;
  --vh-right-w:455px;
  --vh-head-h:219px;
  --vh-footer-overlap:34px;
  --vh-content-footer-gap:40px;
  --vh-seam-cover:1px;
  --vh-menu-shift:20px;
  --vh-menu-left:95px;
  --vh-menu-top:236px;
}
*{box-sizing:border-box;}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--vh-bg);}
body.vh-home-body{font-family:Georgia,'Times New Roman',serif;color:#2d130a;}
#vh-home-shell,#vh-home-shell *{box-sizing:border-box;}
#vh-home-shell{position:fixed;inset:0;overflow:hidden;background:var(--vh-bg);font-family:Georgia,'Times New Roman',serif;color:#2d130a;}
#vh-home-shell .vh-top-strip{position:fixed;left:0;top:0;width:100vw;height:var(--vh-top-h);z-index:50;background-image:url('home/sfondo_sup.png');background-repeat:repeat-x;background-position:left top;background-size:auto 100%;}
#vh-home-shell .vh-stage{position:fixed;z-index:10;left:50%;top:var(--vh-top-h);width:var(--vh-stage-w);height:var(--vh-stage-h);transform:translateX(-50%);overflow:visible;}
#vh-home-shell .vh-piece{position:absolute;display:block;user-select:none;pointer-events:none;max-width:none;}
#vh-home-shell .vh-left-col{left:0;top:0;width:var(--vh-left-w);height:var(--vh-stage-h);z-index:10;}
#vh-home-shell .vh-right-col{left:calc(var(--vh-left-w) + var(--vh-center-w) - var(--vh-seam-cover));top:0;width:calc(var(--vh-right-w) + var(--vh-seam-cover));height:var(--vh-stage-h);z-index:10;}
#vh-home-shell .vh-head{left:calc(var(--vh-left-w) - var(--vh-seam-cover));top:0;width:calc(var(--vh-center-w) + (var(--vh-seam-cover) * 2));height:var(--vh-head-h);z-index:15;}
#vh-home-shell .vh-center-scroll{position:absolute;left:calc(var(--vh-left-w) - var(--vh-seam-cover));top:calc(var(--vh-head-h) - 1px);width:calc(var(--vh-center-w) + (var(--vh-seam-cover) * 2));height:calc(var(--vh-stage-h) - var(--vh-head-h) + 1px);overflow-y:auto;overflow-x:hidden;background-image:url('home/corpo.png');background-repeat:repeat-y;background-size:100% auto;background-position:top center;z-index:12;scrollbar-width:thin;scrollbar-color:#8b2118 #d7b178;}
#vh-home-shell .vh-center-scroll::-webkit-scrollbar{width:11px;}
#vh-home-shell .vh-center-scroll::-webkit-scrollbar-track{background:#d7b178;border-left:1px solid rgba(107,62,25,.42);border-right:1px solid rgba(255,242,205,.38);}
#vh-home-shell .vh-center-scroll::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#b8792e 0%,#8b2118 45%,#68150f 100%);border:2px solid #d7b178;border-radius:12px;box-shadow:inset 0 0 0 1px rgba(255,230,168,.45);}
#vh-home-shell .vh-center-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#c89043 0%,#98251b 45%,#751811 100%);}
#vh-home-shell .vh-center-scroll > .vh-content{min-height:0!important;height:auto!important;padding:6px 26px 18px!important;margin:0!important;text-align:center;line-height:1.42;font-size:var(--vh-content-font-size,12px);}
#vh-home-shell .vh-content{min-height:0!important;height:auto!important;padding:6px 26px 18px!important;margin:0!important;text-align:center;line-height:1.42;font-size:var(--vh-content-font-size,12px);}
#vh-home-shell .vh-content .contenuto_pagine_home,#vh-home-shell .vh-content .casella_testo_ambientazione,#vh-home-shell .vh-content .form_gioco,#vh-home-shell .vh-content .welcome_message,#vh-home-shell .vh-content .link_back{max-width:610px!important;margin-left:auto!important;margin-right:auto!important;padding-top:0!important;padding-bottom:0!important;min-height:0!important;height:auto!important;}
#vh-home-shell .vh-content h1,#vh-home-shell .vh-content h2,#vh-home-shell .vh-content h3,#vh-home-shell .vh-content h4,#vh-home-shell .vh-content .page_title,#vh-home-shell .vh-content .casella_titolo_ambientazione{margin:0 0 18px;color:#681912;font-family:Georgia,'Times New Roman',serif;font-variant:small-caps;letter-spacing:2px;line-height:1.15;}
#vh-home-shell .vh-content h2,#vh-home-shell .vh-content .page_title{font-size:2.35em;}
#vh-home-shell .vh-content h4{font-size:1.25em;color:#2d130a;letter-spacing:1px;}
#vh-home-shell .vh-content p{margin:0 0 16px;}
#vh-home-shell .vh-content .casella_testo_ambientazione{border:1px solid rgba(122,76,28,.30);background:rgba(244,222,180,.22);padding:22px 28px;margin-bottom:28px;}
#vh-home-shell .vh-content .casella_titolo_ambientazione{font-size:28px;border-top:1px solid rgba(122,76,28,.30);padding-top:20px;}
#vh-home-shell .vh-content a{color:#6d1a13;font-weight:bold;}
#vh-home-shell .vh-content img{max-width:100%;height:auto;}
#vh-home-shell .vh-content .razza_icon{max-width:48px;vertical-align:middle;margin-right:8px;}
#vh-home-shell .vh-content .menu_razze{display:none;text-align:left;margin:12px auto 28px;max-width:590px;}
#vh-home-shell .vh-content input,#vh-home-shell .vh-content select,#vh-home-shell .vh-content textarea{max-width:100%;border:1px solid #a46c33;background:rgba(245,218,174,.58);font-family:Georgia,'Times New Roman',serif;font-size:16px;padding:6px 8px;color:#2d130a;}
#vh-home-shell .vh-content input[type="submit"],#vh-home-shell .vh-content .bo-btn,#vh-home-shell .vh-content button{display:inline-flex;align-items:center;justify-content:center;min-width:150px;min-height:40px;padding:8px 18px;margin:8px;border:1px solid #b8782d;background:#681912;color:#fff4d0!important;box-shadow:0 2px 6px rgba(0,0,0,.28);font-weight:bold;text-decoration:none;cursor:pointer;}
#vh-home-shell .vh-menu{position:absolute;left:var(--vh-menu-left);top:var(--vh-menu-top);width:246px;z-index:25;display:flex;flex-direction:column;gap:7px;align-items:flex-start;}
#vh-home-shell .vh-menu a{display:block;width:246px;background-repeat:no-repeat;background-size:contain;background-position:left top;text-indent:-9999px;overflow:hidden;outline:none;transition:transform .22s ease, filter .22s ease;will-change:transform;}
#vh-home-shell .vh-menu a:hover,#vh-home-shell .vh-menu a:focus{transform:translateX(calc(var(--vh-menu-shift) * -1));filter:brightness(1.06) saturate(1.04);}
#vh-home-shell .vh-menu .m-home{height:47px;background-image:url('home/pig.png');}
#vh-home-shell .vh-menu .m-home:hover,#vh-home-shell .vh-menu .m-home:focus{background-image:url('home/pis.png');}
#vh-home-shell .vh-menu .m-amb{height:46px;background-image:url('home/ambg.png');}
#vh-home-shell .vh-menu .m-amb:hover,#vh-home-shell .vh-menu .m-amb:focus{background-image:url('home/ambs.png');}
#vh-home-shell .vh-menu .m-reg{height:47px;background-image:url('home/regg.png');}
#vh-home-shell .vh-menu .m-reg:hover,#vh-home-shell .vh-menu .m-reg:focus{background-image:url('home/regs.png');}
#vh-home-shell .vh-menu .m-doc{height:45px;background-image:url('home/docg.png');}
#vh-home-shell .vh-menu .m-doc:hover,#vh-home-shell .vh-menu .m-doc:focus{background-image:url('home/docs.png');}
#vh-home-shell .vh-menu .m-isc{height:45px;background-image:url('home/iscg.png');}
#vh-home-shell .vh-menu .m-isc:hover,#vh-home-shell .vh-menu .m-isc:focus{background-image:url('home/iscs.png');}
#vh-home-shell .vh-pegi-panel{position:absolute;left:121px;top:762px;width:192px;height:130px;z-index:25;pointer-events:none;overflow:hidden;user-select:none;-webkit-user-select:none;}
#vh-home-shell .vh-pegi-window{position:absolute;left:0;right:0;top:14px;height:100px;overflow:hidden;user-select:none;-webkit-user-select:none;}
#vh-home-shell .vh-pegi-banner{position:absolute;left:0;top:0;width:360px;height:100px;max-width:none;object-fit:contain;animation:vh-pegi-marquee 35s linear infinite;will-change:transform;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;}
@keyframes vh-pegi-marquee{0%{transform:translateX(192px);}100%{transform:translateX(-360px);}}
@media (prefers-reduced-motion:reduce){#vh-home-shell .vh-pegi-banner{animation:none;left:50%;transform:translateX(-50%);}}
#vh-home-shell .vh-login-layer,#vh-home-shell .vh-recover-layer,#vh-home-shell .vh-left-callout-layer,#vh-home-shell .vh-right-callout-layer{position:absolute;z-index:25;font-family:Georgia,'Times New Roman',serif;color:#2d130a;}
#vh-home-shell .vh-login-layer{left:1178px;top:325px;width:246px;}
#vh-home-shell .vh-login-layer > input[type="text"],
#vh-home-shell .vh-login-layer > input[type="password"],
#vh-home-shell .vh-recover-layer input[name="vh_rp_email"]{position:absolute;left:0;width:246px;height:39px;border:1px solid rgba(142,92,43,.72);background:rgba(245,218,174,.18);font-family:Georgia,'Times New Roman',serif;font-size:15px;color:#2d130a;padding:4px 8px;outline:none;box-shadow:inset 0 0 10px rgba(255,244,214,.12);}
#vh-home-shell .vh-login-layer > input[type="text"]:focus,
#vh-home-shell .vh-login-layer > input[type="password"]:focus,
#vh-home-shell .vh-recover-layer input[name="vh_rp_email"]:focus{background:rgba(245,218,174,.24);border-color:#8a4d1f;}
#vh-home-shell .vh-login-layer > input[type="text"]:-webkit-autofill,
#vh-home-shell .vh-login-layer > input[type="password"]:-webkit-autofill,
#vh-home-shell .vh-recover-layer input[name="vh_rp_email"]:-webkit-autofill{-webkit-text-fill-color:#2d130a;box-shadow:0 0 0 1000px rgba(245,218,174,.22) inset!important;transition:background-color 9999s ease-in-out 0s;}
#vh-home-shell .vh-login-layer input[name="login1"]{top:0;}
#vh-home-shell .vh-login-layer input[name="pass1"]{top:85px;}
#vh-home-shell .vh-login-layer button,#vh-home-shell .vh-recover-layer button{position:absolute;left:0;width:246px;height:36px;border:1px solid #b8782d;background:#681912;color:#fff4d0;font-weight:bold;font-family:Georgia,'Times New Roman',serif;box-shadow:0 2px 6px rgba(0,0,0,.25);cursor:pointer;text-transform:none;font-size:15px;}
#vh-home-shell .vh-login-layer button{top:156px;}
#vh-home-shell .vh-recover-layer{left:1178px;top:624px;width:246px;}
#vh-home-shell .vh-recover-layer input[name="vh_rp_email"]{top:0;}
#vh-home-shell .vh-recover-layer button{top:55px;}
#vh-home-shell .vh-honeypot{display:none!important;visibility:hidden;height:0;width:0;padding:0;border:0;}
#vh-home-shell .vh-popup-row{position:absolute;top:132px;left:0;width:246px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;line-height:1;color:#2d130a;}
#vh-home-shell .vh-popup-row input[type="checkbox"]{position:static!important;width:12px!important;height:12px!important;min-width:12px!important;min-height:12px!important;margin:0;padding:0;accent-color:#681912;cursor:pointer;}
#vh-home-shell .vh-popup-row span{display:inline-block;font-size:12px;white-space:nowrap;transform:translateY(1px);}
#vh-home-shell .vh-msg{position:absolute;left:0;top:0;width:236px;min-height:34px;padding:8px;font-size:13px;border:1px solid #a46c33;background:rgba(245,218,174,.88);}
#vh-home-shell .vh-msg.ok{color:#31521b;}
#vh-home-shell .vh-msg.err{color:#681912;}
#vh-home-shell .vh-stats-layer{left:100px;top:556px;width:248px;max-height:154px;overflow:hidden;text-align:center;font-size:13px;line-height:1.22;padding:4px 8px;}
#vh-home-shell .vh-stats-layer table{width:100%;border-collapse:collapse;}
#vh-home-shell .vh-stats-layer td{padding:0 2px;}
#vh-home-shell .vh-stats-layer strong{display:block;margin-bottom:3px;color:#681912;font-variant:small-caps;letter-spacing:.8px;}
#vh-home-shell .vh-footer{position:fixed;left:50%;top:calc(var(--vh-top-h) + var(--vh-stage-h) - var(--vh-footer-overlap));width:var(--vh-stage-w);height:var(--vh-footer-h);z-index:60;pointer-events:none;overflow:visible;background:transparent;transform:translateX(-50%);}
#vh-home-shell .vh-footer img{position:absolute;left:50%;bottom:0;width:100%;height:auto;transform:translateX(-50%);display:block;max-width:none;}

#vh-home-shell .vh-login-layer button:hover,
#vh-home-shell .vh-recover-layer button:hover,
#vh-home-shell .vh-content input[type="submit"]:hover,
#vh-home-shell .vh-content .bo-btn:hover,
#vh-home-shell .vh-content button:hover{background:#731b14;}
#vh-home-shell .vh-font-controls{position:absolute;z-index:35;left:720px;top:188px;display:flex;gap:6px;align-items:center;justify-content:center;}
#vh-home-shell .vh-font-btn{width:26px;height:22px;border:1px solid #9a6b32;background:rgba(104,25,18,.92);color:#fff4d0;font-family:Georgia,'Times New Roman',serif;font-weight:bold;font-size:14px;line-height:18px;padding:0;box-shadow:0 1px 4px rgba(0,0,0,.26);cursor:pointer;border-radius:2px;}
#vh-home-shell .vh-font-btn:hover{background:#731b14;}
#vh-home-shell .vh-cookie-banner{position:fixed;left:50%;bottom:calc(var(--vh-footer-h) + 10px);transform:translateX(-50%);z-index:90;max-width:min(720px,calc(100vw - 24px));padding:12px 16px;border:1px solid #9a6b32;background:rgba(245,218,174,.96);box-shadow:0 4px 18px rgba(0,0,0,.28);font-size:13px;line-height:1.35;color:#2d130a;display:none;}
#vh-home-shell .vh-cookie-banner.is-visible{display:block;}
#vh-home-shell .vh-cookie-title{display:block;color:#681912;font-variant:small-caps;letter-spacing:1px;margin-bottom:4px;font-weight:bold;}
#vh-home-shell .vh-cookie-actions{display:flex;gap:8px;justify-content:center;margin-top:9px;}
#vh-home-shell .vh-cookie-actions button{min-width:120px;height:30px;border:1px solid #9a6b32;background:#681912;color:#fff4d0;font-family:Georgia,'Times New Roman',serif;font-weight:bold;cursor:pointer;}
#vh-home-shell .vh-cookie-actions button.vh-cookie-secondary{background:rgba(104,25,18,.72);}
#vh-home-shell .vh-stats-manage-link{display:inline-block;margin-top:2px;color:#681912;text-decoration:none;font-size:11px;font-weight:bold;}
#vh-home-shell .vh-stats-manage-link:hover{text-decoration:underline;}
#vh-home-shell .vh-admin-panel{max-width:540px;margin:0 auto;text-align:left;border:1px solid rgba(122,76,28,.35);background:rgba(244,222,180,.25);padding:18px 22px;}
#vh-home-shell .vh-admin-panel h2{text-align:center;margin-bottom:16px;}
#vh-home-shell .vh-admin-panel label{display:block;margin:10px 0 4px;color:#681912;font-weight:bold;}
#vh-home-shell .vh-admin-panel input[type="text"]{width:100%;}
#vh-home-shell .vh-admin-panel .vh-admin-row{display:grid;grid-template-columns:1fr 150px;gap:10px;align-items:center;}
#vh-home-shell .vh-admin-panel .vh-admin-help{font-size:.9em;opacity:.82;margin:2px 0 12px;}
#vh-home-shell .vh-admin-panel .vh-admin-actions{text-align:center;margin-top:16px;}
#vh-home-shell .vh-admin-panel .vh-save-ok{padding:8px 10px;background:rgba(49,82,27,.13);border:1px solid rgba(49,82,27,.35);text-align:center;margin-bottom:12px;}
#vh-home-shell .vh-admin-panel .vh-save-err{padding:8px 10px;background:rgba(104,25,18,.10);border:1px solid rgba(104,25,18,.35);text-align:center;margin-bottom:12px;}


#vh-home-shell .vh-home-intro{padding-top:0;}
#vh-home-shell .vh-home-intro .vh-home-kicker{margin:0 0 2px;color:#2d130a;font-variant:small-caps;letter-spacing:3px;font-size:1.18em;}
#vh-home-shell .vh-home-intro h2{font-size:3.25em;margin-bottom:4px;}
#vh-home-shell .vh-home-intro h4{max-width:540px;margin:0 auto 18px;font-size:1.08em;line-height:1.25;}
#vh-home-shell .vh-home-box{margin:0 auto 12px;padding:13px 20px;border:1px solid rgba(122,76,28,.28);background:rgba(244,222,180,.18);box-shadow:inset 0 0 18px rgba(255,238,196,.16);}
#vh-home-shell .vh-home-box-main{background:rgba(244,222,180,.12);}
#vh-home-shell .vh-home-box h3{margin:0 0 8px;color:#681912;font-variant:small-caps;letter-spacing:1.7px;font-size:1.55em;line-height:1.05;}
#vh-home-shell .vh-home-box p{margin:0 0 9px;}
#vh-home-shell .vh-home-box p:last-child{margin-bottom:0;}
#vh-home-shell .vh-home-actions-text{margin:12px auto 0;padding:10px 16px;max-width:570px;border-top:1px solid rgba(122,76,28,.30);border-bottom:1px solid rgba(122,76,28,.18);}
#vh-home-shell .vh-home-actions-text strong{display:block;color:#681912;font-variant:small-caps;letter-spacing:1.2px;font-size:1.2em;margin-bottom:4px;}
#vh-home-shell .vh-home-actions-text span{display:block;}

@media (max-width:900px){#vh-home-shell .vh-content{font-size:var(--vh-content-font-size,12px);}}

#vh-home-shell .vh-left-callout-layer,
#vh-home-shell .vh-right-callout-layer{
  overflow:hidden;
  text-align:center;
  line-height:1.23;
  padding:8px 12px;
  pointer-events:auto;
  text-shadow:0 1px 0 rgba(255,240,202,.55);
}
#vh-home-shell .vh-left-callout-layer strong,
#vh-home-shell .vh-right-callout-layer strong{
  display:block;
  margin-bottom:5px;
  color:#681912;
  font-variant:small-caps;
  letter-spacing:1.4px;
  font-size:1.34em;
  line-height:1;
}
#vh-home-shell .vh-left-callout-layer span,
#vh-home-shell .vh-right-callout-layer span{
  display:block;
  margin:0 auto 4px;
}
#vh-home-shell .vh-left-callout-layer{left:92px;top:560px;width:260px;height:132px;font-size:13px;}
#vh-home-shell .vh-right-callout-layer{font-size:12.5px;}


/* Override definitivo: elimina lo spazio vuoto superiore/inferiore nel corpo della home. */
body.vh-home-body #vh-home-shell .vh-center-scroll > .vh-content{
  min-height:0!important;
  height:auto!important;
  padding:6px 24px 18px!important;
  margin:0!important;
}
body.vh-home-body #vh-home-shell .vh-content > .contenuto_pagine_home,
body.vh-home-body #vh-home-shell .vh-content .contenuto_pagine_home.vh-home-intro{
  max-width:612px!important;
  width:100%!important;
  margin:0 auto!important;
  padding:0!important;
  min-height:0!important;
  height:auto!important;
  transform:none!important;
}
body.vh-home-body #vh-home-shell .vh-home-intro{padding-top:0!important;margin-top:0!important;}
body.vh-home-body #vh-home-shell .vh-home-intro .vh-home-kicker{margin:0 0 1px!important;}
body.vh-home-body #vh-home-shell .vh-home-intro h2{margin:0 0 3px!important;font-size:3.05em;}
body.vh-home-body #vh-home-shell .vh-home-intro h4{margin:0 auto 12px!important;max-width:590px;font-size:1.04em;}
body.vh-home-body #vh-home-shell .vh-home-box{margin:0 auto 10px!important;padding:11px 18px!important;}
body.vh-home-body #vh-home-shell .vh-home-box h3{margin:0 0 6px!important;font-size:1.45em;}
body.vh-home-body #vh-home-shell .vh-home-box p{margin:0 0 7px!important;}
body.vh-home-body #vh-home-shell .vh-home-actions-text{margin:10px auto 0!important;padding:8px 14px!important;}
body.vh-home-body #vh-home-shell .vh-home-actions-text strong{margin-bottom:3px!important;}

/* === FIX DEFINITIVO: spazio reale sotto il testo per il footer sovrapposto ===
   Il padding normale poteva essere neutralizzato da regole storiche/inline.
   Questo spacer entra nel flusso del contenuto e rende scrollabile l'ultima parte. */
body.vh-home-body #vh-home-shell .vh-center-scroll > .vh-content,
body.vh-home-body #vh-home-shell .vh-content {
  padding-top: 0 !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  padding-bottom: 0 !important;
}


/* Spazio finale del corpo: lascia massimo circa 40px visibili tra ultimo contenuto e footer. */
body.vh-home-body #vh-home-shell .vh-center-scroll > .vh-content::after,
body.vh-home-body #vh-home-shell .vh-content::after {
  content: "";
  display: block;
  height: calc(var(--vh-footer-overlap, 34px) + var(--vh-content-footer-gap, 40px));
  width: 100%;
  flex: 0 0 auto;
}
