:root{--bg:#091012;--cream:#f2ecdf;--gold:#d9c092;--line:rgba(255,255,255,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#081012;color:#fff;font-family:Arial,Helvetica,sans-serif}.tv-header{position:absolute;z-index:50;top:0;left:0;right:0;height:92px;padding:16px 4.6vw;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(to bottom,rgba(0,0,0,.52),rgba(0,0,0,0));border-bottom:1px solid rgba(255,255,255,.08)}.tv-brand{display:block}.tv-brand img{display:block;width:220px;max-height:58px;object-fit:contain;background:#fff}.tv-nav{display:flex;align-items:center;gap:24px}.tv-nav ul{display:flex;gap:27px;align-items:center;list-style:none;margin:0;padding:0}.tv-nav a{color:#fff;text-decoration:none;font-size:11px;letter-spacing:.045em;font-weight:700;text-transform:uppercase}.tv-nav .tv-book{border:1px solid rgba(255,255,255,.82);padding:14px 18px}.tv-menu-toggle{display:none;width:42px;background:none;border:0;padding:0}.tv-menu-toggle span{display:block;height:2px;background:#fff;margin:7px 0}.tv-mobile-panel{display:none}.tv-home{overflow:hidden}.tv-hero{height:705px;min-height:72vh;position:relative;display:flex;align-items:flex-end;padding:0 7vw 78px;background-size:cover;background-position:center 38%}.tv-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,6,8,.64),rgba(4,6,8,.22) 48%,rgba(4,6,8,.08) 70%,rgba(4,6,8,.22))}.tv-hero-content,.tv-script{position:relative;z-index:2}.tv-hero-content{max-width:615px}.tv-kicker,.tv-overline,.tv-section-head span{font-size:11px;letter-spacing:.28em}.tv-hero h1{font:400 65px/.98 Georgia,serif;letter-spacing:-.02em;margin:15px 0 10px}.tv-hero p{font:400 17px/1.45 Georgia,serif;margin:0;max-width:560px}.tv-hero-actions{display:flex;gap:26px;align-items:center;margin-top:24px}.tv-btn{display:inline-flex;align-items:center;gap:20px;padding:15px 20px;background:var(--cream);color:#111;text-decoration:none;font-size:11px;font-weight:800;letter-spacing:.04em}.tv-play{color:#fff;text-decoration:none;font-size:11px;letter-spacing:.14em}.tv-play span{display:inline-grid;place-items:center;width:41px;height:41px;border:1px solid #fff;border-radius:50%;margin-right:12px}.tv-script{position:absolute;right:6.5vw;bottom:42px;font:32px/1.05 cursive;transform:rotate(-7deg);text-align:center}.tv-script small{font-size:20px}.tv-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);height:240px}.tv-feature{position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;text-align:center;padding:24px 26px 18px;color:#fff;text-decoration:none;background-size:cover;background-position:center;border-right:1px solid rgba(255,255,255,.24);overflow:hidden}.tv-feature:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(4,6,7,.88),rgba(4,6,7,.08) 63%)}.tv-feature>*{position:relative;z-index:2}.tv-icon{font-size:35px;line-height:1}.tv-feature h2{font:400 22px Georgia,serif;margin:8px 0 5px}.tv-feature p{font-size:13px;line-height:1.4;margin:0 0 16px}.tv-feature span{font-size:10px;letter-spacing:.07em;text-decoration:underline}.tv-next-event{display:grid;grid-template-columns:1.22fr .52fr .52fr;min-height:320px;background:#0f1112}.tv-next-copy{display:flex;align-items:center;gap:26px;padding:32px 4vw;background:radial-gradient(circle at 18% 50%,rgba(126,39,67,.78),rgba(23,13,17,.18) 55%),linear-gradient(90deg,#29131a,#160e12)}.tv-overline{align-self:flex-start;position:absolute}.tv-next-copy{position:relative;padding-top:64px}.tv-datebox{width:94px;min-width:94px;height:122px;background:#f3ecdf;color:#111;display:grid;place-items:center;padding:8px}.tv-datebox strong{font:400 42px/.85 Georgia,serif}.tv-datebox small{font-size:12px}.tv-next-copy h2{font:400 31px Georgia,serif;margin:0 0 8px}.tv-next-copy p{font-size:13px;line-height:1.45;max-width:360px}.tv-next-image{min-height:320px;background:#101516}.tv-next-image img{width:100%;height:100%;object-fit:cover;display:block}.tv-event-noimage{height:100%;min-height:320px;display:grid;place-items:center;color:#6f7778;font-size:11px;letter-spacing:.18em}.tv-quote{display:grid;place-items:center;text-align:center;padding:42px;background:#111;font:italic 29px/1.35 Georgia,serif}.tv-section{padding:70px 5vw;background:#0b1113}.tv-section:nth-of-type(even){background:#101618}.tv-section-head{text-align:center;margin-bottom:32px}.tv-section-head h2{font:400 38px Georgia,serif;margin:8px 0}.tv-promo-track{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.tv-poster,.tv-well-card{display:block;overflow:hidden;background:#0b0b0b}.tv-poster img,.tv-well-card img{display:block;width:100%;height:auto}.tv-wellness-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.tv-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.tv-gallery-grid a{overflow:hidden}.tv-gallery-grid img{display:block;width:100%;height:245px;object-fit:cover;transition:transform .35s}.tv-gallery-grid a:hover img{transform:scale(1.03)}.tv-center{text-align:center;margin-top:28px}.tv-footer{display:grid;grid-template-columns:1.4fr 1fr 1.4fr 1fr;gap:20px;align-items:center;min-height:88px;padding:18px 5vw;background:#101619;border-top:1px solid var(--line);font-size:12px}.tv-footer a{color:#fff;text-decoration:none}.tv-18{text-align:right}.tv-bottombar{display:none}.tv-page{padding-top:92px;min-height:76vh}.tv-page-hero{height:260px;display:flex;align-items:end;padding:42px 6vw;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.28)),url('../images/IMG_2535.jpeg') center/cover}.tv-page-hero h1{font:400 50px Georgia,serif;margin:5px 0}.tv-page-content{max-width:1120px;margin:auto;padding:56px 6vw 90px;line-height:1.75}.tv-page-content h2,.tv-page-content h3{font-family:Georgia,serif;font-weight:400}.tv-page-content a{color:var(--gold)}.tv-lightbox-overlay{position:fixed;z-index:9999;inset:0;background:rgba(0,0,0,.95);display:grid;place-items:center;padding:28px}.tv-lightbox-overlay img{max-width:93vw;max-height:90vh}.tv-lightbox-overlay button{position:absolute;right:20px;top:10px;background:none;border:0;color:#fff;font-size:44px;cursor:pointer}
@media(max-width:1080px){.tv-nav{display:none}.tv-menu-toggle{display:block}.tv-mobile-panel{display:block;position:fixed;z-index:49;inset:0;background:#0b1113;transform:translateX(100%);transition:.28s;padding:110px 34px}.tv-mobile-panel.open{transform:none}.tv-mobile-panel ul{list-style:none;padding:0;margin:0 0 28px}.tv-mobile-panel li{margin:18px 0}.tv-mobile-panel a{color:#fff;text-decoration:none;font:400 28px Georgia,serif}.tv-mobile-panel .tv-btn{font:700 11px Arial;color:#111}.tv-feature-grid{grid-template-columns:repeat(2,1fr);height:auto}.tv-feature{min-height:220px}.tv-next-event{grid-template-columns:1.25fr .75fr}.tv-quote{display:none}.tv-promo-track{grid-template-columns:repeat(5,260px);overflow:auto}.tv-wellness-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){body{padding-bottom:67px}.tv-header{height:82px;padding:13px 18px}.tv-brand img{width:168px;max-height:52px}.tv-hero{height:650px;min-height:650px;padding:0 20px 155px;background-position:59% center}.tv-hero:after{background:linear-gradient(to top,rgba(3,5,6,.72),rgba(3,5,6,.08) 52%,rgba(3,5,6,.18)),linear-gradient(90deg,rgba(0,0,0,.2),rgba(0,0,0,.05))}.tv-hero-content{max-width:100%}.tv-kicker{font-size:9px;letter-spacing:.25em}.tv-hero h1{font-size:42px;line-height:1.02;margin:12px 0 8px}.tv-hero p{font-size:13px}.tv-hero-actions{margin-top:16px}.tv-play,.tv-script{display:none}.tv-feature-grid{position:relative;z-index:3;margin:-116px 13px 0;grid-template-columns:repeat(4,1fr);gap:7px;height:auto}.tv-feature{min-height:92px;padding:10px 4px 8px;border:1px solid rgba(255,255,255,.22);border-radius:8px;background:#102123!important}.tv-feature:before{display:none}.tv-icon{font-size:24px}.tv-feature h2{font:700 8px/1.2 Arial;margin:7px 0 0}.tv-feature p,.tv-feature span{display:none}.tv-next-event{display:block;min-height:0;margin:15px 13px;border:1px solid rgba(255,255,255,.18)}.tv-next-copy{padding:15px 15px 15px;display:grid;grid-template-columns:67px 1fr;gap:12px}.tv-overline{position:static;grid-column:1/-1;font-size:9px}.tv-datebox{width:67px;min-width:67px;height:88px}.tv-datebox strong{font-size:34px}.tv-next-copy h2{font-size:19px;margin-bottom:5px}.tv-next-copy p{font-size:11px;margin:0}.tv-next-copy .tv-btn{display:none}.tv-next-image,.tv-quote{display:none}.tv-section{padding:45px 16px}.tv-section-head{margin-bottom:24px}.tv-section-head h2{font-size:29px}.tv-promo-track{grid-template-columns:repeat(5,76vw);gap:11px;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:6px}.tv-poster{scroll-snap-align:center}.tv-wellness-grid{grid-template-columns:1fr 1fr;gap:9px}.tv-gallery-grid{grid-template-columns:1fr 1fr;gap:7px}.tv-gallery-grid img{height:155px}.tv-footer{grid-template-columns:1fr;text-align:center;padding:24px 18px 30px}.tv-18{text-align:center}.tv-bottombar{position:fixed;z-index:100;left:0;right:0;bottom:0;height:67px;display:grid;grid-template-columns:repeat(4,1fr);background:#091113;border-top:1px solid rgba(255,255,255,.18)}.tv-bottombar a{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;color:#fff;text-decoration:none;font-size:8px;border-right:1px solid rgba(255,255,255,.12)}.tv-bottombar a.wa{background:#18c96d}.tv-bottombar b{font-size:19px}.tv-page{padding-top:82px}.tv-page-hero{height:210px}.tv-page-hero h1{font-size:37px}}

/* 1.2.0 — rifiniture evento/home e robustezza mobile */
.tv-next-event.tv-next-event-no-photo{grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);min-height:300px}
.tv-next-event.tv-next-event-no-photo .tv-next-copy{min-width:0}
.tv-next-event.tv-next-event-no-photo .tv-next-main{min-width:0}
.tv-next-event.tv-next-event-no-photo .tv-next-main h2{overflow-wrap:anywhere}
.tv-next-event.tv-next-event-no-photo .tv-quote{display:grid}
img{max-width:100%;height:auto}
.tv-page,.tv-page-content{min-width:0}
.tv-page-content{overflow-wrap:anywhere}
@media(max-width:1080px){.tv-next-event.tv-next-event-no-photo{grid-template-columns:1.4fr .6fr}}
@media(max-width:680px){
 html,body{max-width:100%;overflow-x:hidden}
 .tv-header,.tv-hero,.tv-feature-grid,.tv-next-event,.tv-section,.tv-footer,.tv-page,.tv-page-content{max-width:100%}
 .tv-next-event.tv-next-event-no-photo{display:block;margin:15px 13px;min-height:0}
 .tv-next-event.tv-next-event-no-photo .tv-quote{display:none}
 .tv-next-event.tv-next-event-no-photo .tv-next-copy{grid-template-columns:67px minmax(0,1fr);width:100%}
 .tv-page-content{padding-left:18px;padding-right:18px}
 .tv-page-content>*{max-width:100%}
 .tv-page-content iframe,.tv-page-content video,.tv-page-content table{max-width:100%!important}
}

/* 1.3.0 — gallery Home a 4 immagini + compatibilità Elementor */
.tv-gallery-preview{grid-template-columns:repeat(4,minmax(0,1fr))}
.tv-home-elementor{width:100%;max-width:none;margin:0;padding:0;background:transparent}
.tv-home-elementor>.elementor{width:100%}
.tv-elementor-page{padding-top:92px;min-height:76vh;width:100%;overflow-x:hidden}
.tv-elementor-page .elementor-section-wrap,.tv-elementor-page .e-con{max-width:100%}
body.elementor-page .tv-page-content{max-width:none;padding:0}
@media(max-width:680px){
 .tv-gallery-preview{grid-template-columns:1fr 1fr;gap:7px}
 .tv-gallery-preview img{height:155px}
 .tv-elementor-page{padding-top:82px}
 .tv-home-elementor,.tv-home-elementor *{max-width:100%}
}


/* 1.3.1 — hero mobile: titolo sempre dentro lo schermo */
@media(max-width:680px){
 .tv-hero{min-width:0;overflow:hidden;padding-left:20px;padding-right:20px}
 .tv-hero-content{width:100%;min-width:0;max-width:100%}
 .tv-hero h1{font-size:clamp(34px,10.4vw,42px);line-height:.98;letter-spacing:-.025em;max-width:100%;white-space:normal;overflow-wrap:normal;word-break:normal;hyphens:none}
 .tv-hero h1 br{display:block}
 .tv-hero p{max-width:100%;overflow-wrap:break-word}
 .tv-hero-actions{max-width:100%}
 .tv-hero-actions .tv-btn{max-width:100%;padding:15px 18px;gap:14px;white-space:normal}
}
@media(max-width:380px){
 .tv-hero h1{font-size:33px}
 .tv-kicker{font-size:8px;letter-spacing:.19em}
}


/* 1.4.0 — Home mobile sicura + area Elementor reale */
.tv-hero-title span{display:block}
.tv-home-elementor{position:relative;z-index:2;min-height:1px}
.tv-home-elementor .elementor{width:100%;max-width:none}
body.elementor-editor-active .tv-home-elementor,
body.elementor-page .tv-home-elementor{min-height:80px}
@media(max-width:680px){
 .tv-hero-content{overflow:visible!important}
 .tv-hero-title{width:100%!important;max-width:100%!important;font-size:clamp(31px,9.4vw,39px)!important;line-height:.94!important;letter-spacing:-.035em!important;white-space:normal!important;margin-right:0!important}
 .tv-hero-title span{display:block!important;width:100%!important;max-width:100%!important;white-space:nowrap!important}
 .tv-hero-title span:last-child{font-size:.86em!important;letter-spacing:-.045em!important}
}
@media(max-width:390px){.tv-hero-title{font-size:30px!important}}

/* 1.4.1 — Home mobile + Elementor editor + pagina Eventi desktop compatta */
.tv-home-elementor-edit-area{min-height:70vh;padding-top:92px}
.tv-home-elementor-edit-area>.elementor{width:100%;max-width:none}
.tv-events-page{padding-top:92px}
.tv-events-page-content{width:100%;padding:34px 0 48px;overflow:hidden}
@media(min-width:901px){
  .tv-events-page-content{padding-top:24px;padding-bottom:40px}
}
@media(max-width:680px){
  .tv-home-elementor-edit-area{padding-top:82px;min-height:70vh}
  .tv-hero{overflow:hidden!important;padding-left:20px!important;padding-right:20px!important}
  .tv-hero-content{width:100%!important;max-width:100%!important;min-width:0!important}
  .tv-hero-title{width:100%!important;max-width:100%!important;font-size:clamp(28px,8.7vw,35px)!important;line-height:.96!important;letter-spacing:-.025em!important;white-space:normal!important;overflow:visible!important}
  .tv-hero-title span{display:block!important;width:auto!important;max-width:100%!important;white-space:nowrap!important}
  .tv-hero-title span:last-child{font-size:.82em!important;letter-spacing:-.03em!important}
  .tv-events-page{padding-top:82px}
  .tv-events-page-content{padding:18px 0 28px}
}
@media(max-width:370px){
  .tv-hero-title{font-size:27px!important}
  .tv-hero-title span:last-child{font-size:.80em!important}
}
