:root{--brand-red:#972e47;--red:#972e47;--red-dark:#742236;--red-deep:#4d1726;--paper:#f5f0e7;--paper-2:#ece5d9;--surface:#fffdfa;--surface-2:#f8f4ed;--ink:#27231f;--muted:#746e66;--line:#ddd3c5;--gold:#b58a4a;--green:#506a52;--success:#28784d;--danger:#a11d2d;--warning:#9a6518;--shadow:0 22px 70px rgba(64,38,22,.12);--shadow-soft:0 10px 34px rgba(64,38,22,.08);--radius:26px;--font-main:"Merriweather",Georgia,"Times New Roman",serif;--serif:var(--font-main);--sans:var(--font-main)}
[data-theme="dark"]{--paper:#171412;--paper-2:#211c19;--surface:#25201c;--surface-2:#2c2621;--ink:#f1ebe2;--muted:#b9afa4;--line:#443b34;--red:#b85b72;--red-dark:#8e3d52;--shadow:0 22px 70px rgba(0,0,0,.34);--shadow-soft:0 10px 34px rgba(0,0,0,.25)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased}body.no-scroll{overflow:hidden}img{display:block;max-width:100%}a{color:inherit}button,input,select,textarea{font:inherit}.wide-container{width:min(100% - 48px,1380px);margin-inline:auto}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:900;color:var(--red)}.eyebrow.light{color:#f0d6c7}.muted{color:var(--muted)}.lead{font-size:clamp(1.05rem,2vw,1.35rem);color:var(--muted);max-width:760px}h1,h2,h3{font-family:var(--serif);line-height:1.04;margin:0}em{font-weight:400}.btn{border:0;border-radius:999px;padding:13px 20px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:.22s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--red);color:#fff;box-shadow:0 9px 24px rgba(163,31,35,.22)}.btn-secondary{background:var(--surface);border:1px solid var(--line);color:var(--ink)}.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}.btn-light{background:#fff;color:var(--red-deep)}.btn.full{width:100%}.text-link{text-decoration:none;font-weight:800;color:var(--red);display:inline-flex;align-items:center;gap:12px}.text-link span{font-size:1.4rem}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.notice{border-radius:15px;padding:14px 17px;margin:0 0 18px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-soft)}.notice.success{border-color:rgba(40,120,77,.4)}.notice.error{border-color:rgba(161,29,45,.45)}.flash-wrap{padding-top:18px}.status-dot{width:10px;height:10px;border-radius:50%;display:inline-block;background:var(--success);box-shadow:0 0 0 6px rgba(40,120,77,.12)}
/* Header */
.site-header{position:sticky;top:0;z-index:100;background:linear-gradient(135deg,var(--red-dark),var(--red));color:#fff;box-shadow:0 10px 35px rgba(63,9,11,.23)}.topline{border-bottom:1px solid rgba(255,255,255,.16);font-size:.68rem;text-transform:uppercase;letter-spacing:.14em}.topline .wide-container{height:31px;display:flex;align-items:center;justify-content:space-between;opacity:.78}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-symbol{width:46px;height:46px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:1.65rem;font-style:italic}.brand-copy{display:grid;line-height:1}.brand-copy strong{font-size:1.05rem;letter-spacing:.24em}.brand-copy small{font-size:.6rem;letter-spacing:.16em;margin-top:5px}.nav-menu{display:flex;align-items:center;gap:26px}.nav-menu>a{text-decoration:none;font-size:.85rem;font-weight:800;letter-spacing:.03em;position:relative}.nav-menu>a:not(.nav-find):after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:#fff;transition:.25s}.nav-menu>a:hover:after{right:0}.nav-find{background:#fff;color:var(--red);padding:10px 16px;border-radius:999px}.nav-admin{border:1px solid rgba(255,255,255,.4);padding:9px 14px;border-radius:999px}.theme-toggle{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.1);color:#fff;cursor:pointer;font-size:1.1rem}.nav-toggle{display:none;background:none;border:0;padding:8px}.nav-toggle span{display:block;width:25px;height:2px;background:#fff;margin:5px}
/* Home */
.home-hero{height:min(780px,calc(100vh - 113px));min-height:620px;position:relative;background-image:var(--hero-image),linear-gradient(135deg,#705b45,#2f2118);background-size:cover;background-position:center;overflow:hidden}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,15,10,.78) 0%,rgba(28,15,10,.42) 48%,rgba(28,15,10,.12) 80%),linear-gradient(0deg,rgba(22,12,8,.48),transparent 50%)}.hero-content{height:100%;position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;color:#fff;padding-bottom:30px}.hero-kicker{text-transform:uppercase;letter-spacing:.28em;font-size:.72rem;font-weight:900;margin-bottom:20px}.home-hero h1{font-size:clamp(4rem,7.4vw,8.3rem);letter-spacing:-.055em;max-width:1050px}.home-hero h1 em{color:#ead0bd}.home-hero p{font-size:1.18rem;max-width:570px;margin:25px 0 0;color:rgba(255,255,255,.82)}.hero-search{margin-top:35px;background:#fff;border-radius:999px;display:grid;grid-template-columns:auto minmax(220px,510px) auto;align-items:center;padding:7px 7px 7px 20px;box-shadow:0 20px 50px rgba(0,0,0,.22);color:#2d2823}.hero-search>span{font-size:1.5rem;color:var(--red)}.hero-search input{border:0;outline:0;padding:13px 14px;background:transparent;color:#2d2823;width:100%}.hero-search button{border:0;border-radius:999px;background:var(--red);color:#fff;font-weight:800;padding:14px 24px;cursor:pointer}.hero-feature{margin-top:28px;color:#fff;text-decoration:none;display:grid;grid-template-columns:auto auto auto;gap:12px;align-items:center;border-left:2px solid var(--red);padding-left:15px}.hero-feature span{text-transform:uppercase;font-size:.62rem;letter-spacing:.15em;opacity:.7}.hero-feature strong{font-family:var(--serif);font-size:1.08rem}.hero-feature i{font-style:normal}.hero-scroll{position:absolute;z-index:3;right:32px;bottom:45px;color:#fff;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.15em;font-size:.59rem;display:flex;align-items:center;gap:12px}.hero-scroll span{width:1px;height:45px;background:rgba(255,255,255,.65)}.hero-empty{min-height:70vh;display:grid;align-items:center}.hero-empty h1{font-size:clamp(3.5rem,8vw,7rem)}.intro-section{padding-block:105px}.intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:end;margin:18px 0 55px}.intro-grid h2,.section-head h2{font-size:clamp(2.7rem,5vw,5.3rem);letter-spacing:-.045em}.intro-grid p{font-size:1.08rem;color:var(--muted);max-width:550px;margin:0 0 8px}.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.journey-card{min-height:330px;border-radius:var(--radius);padding:28px;text-decoration:none;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;transition:.28s ease;box-shadow:var(--shadow-soft)}.journey-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.journey-card>span{font-size:.7rem;letter-spacing:.16em}.journey-card h3{font-size:3rem;margin:8px 0 12px}.journey-card p{max-width:280px}.journey-card i{position:absolute;right:25px;top:24px;font-size:1.3rem;font-style:normal}.journey-inspire{background:#7a2a2d;color:#fff}.journey-explore{background:#d9c8aa;color:#2c251e}.journey-plan{background:#5b6955;color:#fff}.section{padding-block:100px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:45px}.places-section{background:var(--surface)}.editorial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.editorial-card{text-decoration:none}.editorial-card.featured{grid-column:span 2;grid-row:span 2}.editorial-media{position:relative;aspect-ratio:4/3;border-radius:22px;overflow:hidden;background:var(--paper-2)}.editorial-card.featured .editorial-media{aspect-ratio:16/10}.editorial-media img{width:100%;height:100%;object-fit:cover;transition:.55s ease}.editorial-card:hover img{transform:scale(1.04)}.card-arrow{position:absolute;right:16px;top:16px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.92);color:var(--red);font-size:1.2rem}.editorial-copy{padding:18px 4px 7px}.editorial-copy small,.event-main small,.listing-copy small{color:var(--red);text-transform:uppercase;letter-spacing:.15em;font-size:.65rem;font-weight:900}.editorial-copy h3{font-size:1.75rem;margin:7px 0}.editorial-card.featured h3{font-size:2.5rem}.editorial-copy p{color:var(--muted);margin:0}.image-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,var(--red-dark),var(--red));color:#fff;font-family:var(--serif);font-size:1.5rem}.map-callout{background:var(--red-deep);color:#fff;padding-block:105px;overflow:hidden}.map-callout-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center}.map-callout h2,.municipalities-section h2{font-size:clamp(3rem,5.4vw,6rem);letter-spacing:-.05em;margin:17px 0 24px}.map-callout p{color:rgba(255,255,255,.72);max-width:520px;font-size:1.08rem;margin-bottom:30px}.map-art{height:470px;position:relative;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.13),transparent 50%),repeating-radial-gradient(circle at 50% 50%,transparent 0 55px,rgba(255,255,255,.13) 56px 57px);border:1px solid rgba(255,255,255,.13)}.map-rings{position:absolute;inset:12%;border:1px dashed rgba(255,255,255,.25);border-radius:45% 55% 50% 45%;transform:rotate(-12deg)}.pin{position:absolute;color:#f5c2a8;font-size:1.6rem;text-shadow:0 0 0 8px rgba(245,194,168,.14)}.pin-a{left:28%;top:33%}.pin-b{right:27%;top:25%}.pin-c{right:36%;bottom:25%}.map-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;font-family:var(--serif);font-size:2rem}.events-section{background:var(--paper)}.event-list{border-top:1px solid var(--line)}.event-row{display:grid;grid-template-columns:100px 1fr 50px;align-items:center;text-decoration:none;padding:25px 10px;border-bottom:1px solid var(--line);transition:.2s}.event-row:hover{background:var(--surface);padding-inline:20px}.event-date{display:grid;justify-items:center;border-right:1px solid var(--line)}.event-date strong{font-family:var(--serif);font-size:2.5rem;line-height:1}.event-date span{font-size:.62rem;letter-spacing:.16em;color:var(--red);font-weight:900}.event-main{padding-left:28px}.event-main h3{font-size:1.8rem;margin-top:5px}.event-arrow{font-size:1.5rem;color:var(--red)}.municipalities-section{padding-block:105px;background:#2b332a;color:#fff}.municipality-list{margin-top:50px;border-top:1px solid rgba(255,255,255,.18)}.municipality-list a{display:grid;grid-template-columns:55px 1fr auto 30px;gap:18px;align-items:center;padding:22px 5px;border-bottom:1px solid rgba(255,255,255,.18);text-decoration:none;transition:.2s}.municipality-list a:hover{padding-left:18px;background:rgba(255,255,255,.04)}.municipality-list span{font-size:.65rem;letter-spacing:.15em;opacity:.6}.municipality-list strong{font-family:var(--serif);font-size:1.65rem}.municipality-list small{opacity:.65}.municipality-list i{font-style:normal}.site-footer{background:#1f1714;color:#eee2d7;padding-top:75px}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:55px;padding-bottom:55px}.footer-brand{color:#fff}.footer-grid p{color:#bbae9f;max-width:360px}.footer-grid h3{font-family:var(--sans);font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;margin-bottom:17px}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;align-items:flex-start;gap:9px}.footer-grid a:not(.brand){text-decoration:none;color:#cabbad;font-size:.9rem}.footer-grid a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-block:18px;display:flex;justify-content:space-between;color:#8f8175;font-size:.74rem}
/* Archive */
.archive-hero{background:linear-gradient(135deg,var(--red-dark),var(--red));color:#fff;padding:95px 0 80px;position:relative;overflow:hidden}.archive-hero:after{content:"V";position:absolute;right:5%;top:-50%;font-family:var(--serif);font-size:30rem;color:rgba(255,255,255,.045);font-style:italic}.archive-hero .eyebrow{color:#f0cfc0}.archive-hero h1{font-size:clamp(4rem,8vw,8rem);letter-spacing:-.055em;margin:10px 0}.archive-hero p{font-size:1.2rem;max-width:650px;color:rgba(255,255,255,.78)}.archive-content{padding-block:55px 110px}.filter-bar,.admin-filters{display:flex;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);padding:12px;border-radius:20px;box-shadow:var(--shadow-soft)}.filter-search{display:flex;align-items:center;gap:7px;flex:1;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);padding:0 13px}.filter-search input{border:0;background:transparent;outline:0;padding:12px 4px;width:100%;color:var(--ink)}.filter-bar select,.admin-filters select,.find-filters select{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:13px;padding:12px 38px 12px 13px}.archive-meta{margin:32px 0 20px;color:var(--muted)}.archive-meta strong{font-family:var(--serif);font-size:1.8rem;color:var(--ink)}.listing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.listing-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden;text-decoration:none;box-shadow:var(--shadow-soft);transition:.25s}.listing-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.listing-media{aspect-ratio:4/3;position:relative;background:var(--paper-2);overflow:hidden}.listing-media img{width:100%;height:100%;object-fit:cover;transition:.45s}.listing-card:hover img{transform:scale(1.04)}.listing-type{position:absolute;left:14px;top:14px;background:rgba(255,255,255,.92);color:var(--red);border-radius:999px;padding:7px 11px;text-transform:uppercase;font-size:.58rem;letter-spacing:.12em;font-weight:900}.listing-copy{padding:22px}.listing-copy h2{font-size:1.75rem;margin:8px 0}.listing-copy p{color:var(--muted);margin:0 0 17px}.discover{font-weight:800;color:var(--red)}.discover i{font-style:normal;margin-left:5px}.empty-state{text-align:center;padding:90px 20px}.empty-state h2{font-size:3rem}.empty-state p{color:var(--muted)}
/* Detail */
.detail-hero{min-height:520px;background:linear-gradient(135deg,var(--red-dark),var(--red));position:relative;color:#fff;display:flex;align-items:end;background-size:cover;background-position:center}.detail-hero.has-image{background-image:var(--detail-image)}.detail-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(28,13,10,.82),rgba(28,13,10,.16) 65%)}.detail-hero-content{position:relative;z-index:2;padding-bottom:60px}.breadcrumbs{display:flex;gap:10px;font-size:.73rem;text-transform:uppercase;letter-spacing:.1em;opacity:.75;margin-bottom:22px}.breadcrumbs a{text-decoration:none}.detail-kicker{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:900;color:#f0cfc0}.detail-hero h1{font-size:clamp(3.5rem,7vw,7.2rem);letter-spacing:-.052em;max-width:1100px;margin:10px 0 18px}.detail-hero p{max-width:760px;font-size:1.2rem;color:rgba(255,255,255,.84)}.detail-body{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:80px;padding-block:80px}.article-lead{display:flex;gap:45px;padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:35px}.fact{display:grid}.fact small{text-transform:uppercase;letter-spacing:.15em;color:var(--red);font-weight:900;font-size:.62rem}.fact strong{font-family:var(--serif);font-size:1.25rem;margin-top:5px}.prose{font-family:var(--serif);font-size:1.18rem;line-height:1.78}.prose p{margin:0 0 1.35em}.prose h2{font-size:2.4rem;margin:1.7em 0 .55em}.prose h3{font-size:1.8rem;margin:1.5em 0 .5em}.prose img{border-radius:18px;margin:2em 0}.prose iframe{max-width:100%;border:0;border-radius:16px}.sticky-panel{position:sticky;top:140px;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:25px;box-shadow:var(--shadow-soft)}.aside-label{text-transform:uppercase;letter-spacing:.15em;color:var(--red);font-size:.65rem;font-weight:900}.sticky-panel p{display:grid;border-bottom:1px solid var(--line);padding-bottom:15px}.sticky-panel p strong{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.sticky-panel p a{text-decoration:none}.sticky-panel .btn{margin-top:9px}.gallery-section{padding-bottom:100px}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.gallery-grid figure{margin:0;grid-column:span 4}.gallery-grid figure:nth-child(1),.gallery-grid figure:nth-child(6n){grid-column:span 8}.gallery-grid img{width:100%;height:330px;object-fit:cover;border-radius:18px}.gallery-grid figure:nth-child(1) img,.gallery-grid figure:nth-child(6n) img{height:440px}.gallery-grid figcaption{font-size:.75rem;color:var(--muted);margin-top:6px}.tags-section{display:flex;align-items:center;gap:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:25px;margin-bottom:90px}.tags-section>span{text-transform:uppercase;letter-spacing:.13em;font-size:.65rem;font-weight:900;color:var(--muted)}.tags-section>div{display:flex;gap:8px;flex-wrap:wrap}.tags-section a{font-size:.78rem;text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:7px 11px}.related-section{background:var(--surface)}.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.related-grid a{text-decoration:none}.related-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px}.related-grid h3{font-size:1.45rem;margin:12px 0 5px}.related-grid span{color:var(--red);font-size:.8rem;font-weight:800}
/* Find */
.find-shell{height:calc(100vh - 113px);display:grid;grid-template-columns:minmax(420px,47%) 1fr;overflow:hidden}.find-results-panel{background:var(--paper);overflow:auto;padding:42px 34px}.find-head h1{font-size:clamp(2.7rem,4vw,4.4rem);letter-spacing:-.045em;margin:10px 0}.find-head p{color:var(--muted);max-width:600px}.find-filters{margin:25px 0}.filter-search.big{background:var(--surface);height:58px}.find-filter-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;margin-top:10px}.find-count{padding:18px 0;color:var(--muted);font-size:.85rem}.find-count strong{font-family:var(--serif);font-size:1.5rem;color:var(--ink)}.find-results{display:grid;gap:13px}.find-card{display:grid;grid-template-columns:150px 1fr;background:var(--surface);border:1px solid var(--line);border-radius:17px;overflow:hidden;text-decoration:none;transition:.2s}.find-card:hover{transform:translateX(5px);box-shadow:var(--shadow-soft)}.find-card img,.find-card .image-placeholder{width:150px;height:150px;object-fit:cover}.find-card-copy{padding:15px 17px}.find-card-copy small{color:var(--red);text-transform:uppercase;letter-spacing:.12em;font-size:.58rem;font-weight:900}.find-card-copy h3{font-size:1.4rem;margin:5px 0}.find-card-copy p{font-size:.83rem;color:var(--muted);margin:0}.find-card-meta{display:flex;gap:10px;margin-top:10px;font-size:.7rem;color:var(--muted)}.loading-card{padding:30px;border:1px dashed var(--line);border-radius:17px;color:var(--muted);text-align:center}.find-map-panel{position:relative}.find-map-panel #find-map{height:100%;width:100%;background:#d9d1c3}.mobile-results-toggle{display:none}.leaflet-popup-content-wrapper{border-radius:13px}.map-popup{min-width:190px}.map-popup img{width:100%;height:100px;object-fit:cover;border-radius:8px;margin-bottom:8px}.map-popup strong{display:block;font-family:var(--serif);font-size:1rem}.map-popup a{color:var(--red);font-weight:800;text-decoration:none}
/* Forms + setup */
.container{max-width:1240px;margin:auto;padding:32px 24px}.panel,.card,.hero-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:12px;padding:12px 13px;outline:0}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(163,31,35,.09)}.field small{color:var(--muted);font-size:.72rem}.req-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:0;list-style:none}.req-list li{padding:10px 12px;border:1px solid var(--line);border-radius:10px}.ok{color:var(--success)}.bad{color:var(--danger)}code{background:rgba(127,127,127,.12);padding:.15em .4em;border-radius:6px;word-break:break-all}
/* Admin */
.admin-body{background:var(--paper)}.admin-shell{display:grid;grid-template-columns:275px minmax(0,1fr);min-height:100vh}.sidebar{background:#241614;color:#fff;padding:26px 20px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;z-index:50}.admin-brand{margin:0 9px 32px}.sidebar-nav{display:grid;gap:5px}.sidebar-label{text-transform:uppercase;letter-spacing:.14em;font-size:.58rem;color:rgba(255,255,255,.4);margin:22px 13px 8px}.sidebar-nav a{padding:11px 13px;border-radius:11px;text-decoration:none;color:rgba(255,255,255,.75);display:flex;align-items:center;gap:12px;font-size:.86rem}.sidebar-nav a i{width:19px;font-style:normal;text-align:center}.sidebar-nav a:hover,.sidebar-nav a.active{background:rgba(255,255,255,.1);color:#fff}.sidebar-version{margin-top:auto;padding:15px 12px;border-top:1px solid rgba(255,255,255,.12);font-size:.67rem;color:rgba(255,255,255,.45)}.admin-main{min-width:0}.admin-top{height:76px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:40}.admin-top-left{display:flex;align-items:center;gap:14px}.admin-top-left>div{display:grid}.admin-top-left small{font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.sidebar-toggle{display:none;border:0;background:transparent;color:var(--ink);font-size:1.3rem}.admin-user{display:flex;align-items:center;gap:10px}.admin-user>div{display:grid}.admin-user>div strong{font-size:.82rem}.admin-user>div small{font-size:.64rem;color:var(--muted);text-transform:capitalize}.user-avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-weight:900}.admin-theme{color:var(--ink);border-color:var(--line);background:var(--surface-2);width:36px;height:36px}.admin-user form{margin:0}.logout-button{border:0;background:transparent;color:var(--muted);font-size:.75rem;cursor:pointer}.admin-content{padding:34px;max-width:1550px}.admin-page-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:30px}.admin-page-head.compact{align-items:center}.admin-page-head h1{font-size:clamp(2.4rem,4vw,4.2rem);letter-spacing:-.045em;margin:6px 0}.admin-page-head p{margin:0;color:var(--muted)}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:19px;padding:22px}.stat small{color:var(--muted);text-transform:uppercase;letter-spacing:.11em;font-size:.63rem}.stat strong{font-size:2.8rem;font-family:var(--serif);display:block;line-height:1.1;margin:8px 0}.stat span{font-size:.72rem;color:var(--muted)}.dashboard-stats{margin-bottom:22px}.admin-grid-main{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.7fr);gap:20px}.admin-panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-soft)}.panel-head{padding:22px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.panel-head h2{font-family:var(--sans);font-size:1.05rem}.panel-head p{margin:4px 0 0;color:var(--muted);font-size:.78rem}.panel-head>a{font-size:.75rem;color:var(--red);font-weight:800;text-decoration:none}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.table-wrap.clean{border:0;border-radius:0}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{text-align:left;padding:13px 15px;border-bottom:1px solid var(--line);vertical-align:middle}.table-wrap th{font-size:.64rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.table-wrap td{font-size:.82rem}.table-wrap td strong{display:block}.table-path{display:block;color:var(--muted);font-size:.65rem;max-width:360px;overflow:hidden;text-overflow:ellipsis}.row-action{color:var(--red);font-weight:800;text-decoration:none;white-space:nowrap}.status-badge{display:inline-flex;border-radius:999px;padding:5px 9px;text-transform:uppercase;letter-spacing:.07em;font-size:.55rem;font-weight:900;background:var(--paper-2)}.status-badge.published{color:var(--success);background:rgba(40,120,77,.11)}.status-badge.draft{color:var(--muted)}.status-badge.review,.status-badge.scheduled{color:var(--warning);background:rgba(154,101,24,.12)}.status-badge.archived,.status-badge.trash{color:var(--danger);background:rgba(161,29,45,.1)}.quick-panel{padding-bottom:10px}.quick-panel>a{display:grid;grid-template-columns:38px 1fr 20px;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line);text-decoration:none}.quick-panel>a>span{width:38px;height:38px;border-radius:11px;background:var(--paper-2);display:grid;place-items:center;color:var(--red)}.quick-panel>a div{display:grid}.quick-panel>a strong{font-size:.82rem}.quick-panel>a small{font-size:.67rem;color:var(--muted)}.quick-panel>a i{font-style:normal;color:var(--red)}.import-summary{margin-top:20px;background:rgba(40,120,77,.08);border:1px solid rgba(40,120,77,.22);border-radius:17px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center}.import-summary>div{display:grid;grid-template-columns:auto auto;align-items:center;gap:4px 12px}.import-summary small{grid-column:2;color:var(--muted)}.import-summary a{text-decoration:none;color:var(--success);font-weight:800;font-size:.78rem}.admin-filters{margin-bottom:18px}.admin-table{border-radius:18px}.content-cell{display:flex;align-items:center;gap:12px;min-width:250px}.content-cell img,.media-empty{width:48px;height:48px;border-radius:10px;object-fit:cover}.media-empty{display:grid;place-items:center;background:var(--red);color:#fff;font-family:var(--serif)}.path-link{display:block;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.72rem}.editor-form{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.editor-main{display:grid;gap:20px}.form-panel{padding:25px}.title-input{font-family:var(--serif)!important;font-size:2rem!important}.html-editor{font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;font-size:.83rem!important;line-height:1.55}.panel-title{display:flex;align-items:center;gap:13px;margin-bottom:20px}.panel-title>span{width:42px;height:42px;border-radius:13px;background:var(--paper-2);display:grid;place-items:center;color:var(--red)}.panel-title h2{font-family:var(--sans);font-size:1rem}.panel-title p{margin:2px 0 0;color:var(--muted);font-size:.73rem}.sticky-editor{position:sticky;top:96px}.sticky-editor h2{font-family:var(--sans);font-size:1rem;margin-bottom:15px}.featured-preview{aspect-ratio:4/3;background:var(--paper-2);border:1px dashed var(--line);border-radius:14px;display:grid;place-items:center;overflow:hidden;color:var(--muted);font-size:.75rem;margin-bottom:15px;text-align:center}.featured-preview img{width:100%;height:100%;object-fit:cover}.small-link{display:inline-block;color:var(--red);font-size:.74rem;font-weight:800;text-decoration:none;margin-top:8px}.sticky-editor hr{border:0;border-top:1px solid var(--line);margin:20px 0}.save-note{text-align:center;color:var(--muted);font-size:.67rem}.upload-panel{padding:22px;margin-bottom:22px;display:flex;justify-content:space-between;align-items:center;gap:20px}.upload-panel>div:first-child{display:flex;align-items:center;gap:14px}.upload-icon{width:48px;height:48px;border-radius:14px;background:rgba(163,31,35,.1);color:var(--red);display:grid;place-items:center;font-size:1.4rem}.upload-panel h2{font-family:var(--sans);font-size:1rem}.upload-panel p{margin:3px 0 0;color:var(--muted);font-size:.75rem}.upload-fields{display:flex;align-items:center;gap:9px}.upload-fields input{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:11px;padding:10px;max-width:260px}.media-library-head{display:flex;justify-content:space-between;color:var(--muted);font-size:.77rem;margin-bottom:14px}.media-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.media-item{background:var(--surface);border:1px solid var(--line);border-radius:15px;overflow:hidden}.media-thumb{aspect-ratio:1;position:relative;background:var(--paper-2);display:grid;place-items:center}.media-thumb img{width:100%;height:100%;object-fit:cover}.file-icon{font-family:var(--serif);font-size:1.4rem;color:var(--red)}.media-status{position:absolute;top:7px;right:7px;background:rgba(255,255,255,.9);color:#222;border-radius:999px;padding:4px 7px;font-size:.49rem;text-transform:uppercase;font-weight:900}.media-status.downloaded{color:var(--success)}.media-info{padding:12px;display:grid;gap:4px}.media-info strong{font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-info small{font-size:.6rem;color:var(--muted)}.media-info a{font-size:.65rem;color:var(--red);font-weight:800;text-decoration:none}
/* Responsive */
@media(max-width:1100px){.nav-menu{gap:16px}.intro-grid{gap:40px}.journey-grid{grid-template-columns:1fr 1fr}.journey-card:last-child{grid-column:span 2}.editorial-grid,.listing-grid{grid-template-columns:repeat(2,1fr)}.map-callout-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1.3fr 1fr 1fr}.footer-grid>div:last-child{display:none}.admin-shell{grid-template-columns:230px minmax(0,1fr)}.admin-content{padding:25px}.admin-grid-main{grid-template-columns:1fr}.media-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:850px){.wide-container{width:min(100% - 32px,1380px)}.topline{display:none}.nav{height:76px}.nav-toggle{display:block}.nav-menu{position:fixed;inset:76px 0 auto;background:var(--red-dark);padding:25px 20px;display:none;flex-direction:column;align-items:stretch;gap:4px;box-shadow:0 20px 35px rgba(0,0,0,.25)}.nav-menu.open{display:flex}.nav-menu>a{padding:13px;border-bottom:1px solid rgba(255,255,255,.12)}.nav-find{text-align:center}.theme-toggle{margin-top:8px}.home-hero{height:calc(100vh - 76px);min-height:590px}.home-hero h1{font-size:clamp(3.6rem,12vw,6rem)}.hero-search{grid-template-columns:auto 1fr}.hero-search button{display:none}.hero-scroll{display:none}.intro-grid,.map-callout-grid,.detail-body{grid-template-columns:1fr}.journey-grid{grid-template-columns:1fr}.journey-card:last-child{grid-column:auto}.editorial-card.featured{grid-column:span 2}.map-art{height:360px}.listing-grid{grid-template-columns:repeat(2,1fr)}.detail-aside{order:-1}.sticky-panel{position:static}.gallery-grid figure,.gallery-grid figure:nth-child(1),.gallery-grid figure:nth-child(6n){grid-column:span 6}.related-grid{grid-template-columns:repeat(2,1fr)}.find-shell{height:auto;min-height:calc(100vh - 76px);grid-template-columns:1fr}.find-results-panel{padding:30px 20px;max-height:none}.find-map-panel{height:55vh;order:-1}.mobile-results-toggle{display:block;position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:500;border:0;border-radius:999px;background:var(--red);color:#fff;padding:12px 18px;font-weight:800}.admin-shell{display:block}.sidebar{position:fixed;left:-280px;width:275px;transition:.25s;box-shadow:20px 0 50px rgba(0,0,0,.25)}.sidebar.open{left:0}.sidebar-toggle{display:block}.admin-content{padding:20px}.stat-grid{grid-template-columns:repeat(2,1fr)}.editor-form{grid-template-columns:1fr}.sticky-editor{position:static}.media-grid{grid-template-columns:repeat(3,1fr)}.upload-panel,.upload-fields{align-items:stretch;flex-direction:column}.upload-fields input{max-width:none}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:560px){.wide-container{width:min(100% - 24px,1380px)}.brand-copy strong{font-size:.88rem}.brand-copy small{font-size:.52rem}.brand-symbol{width:40px;height:40px}.home-hero h1{font-size:3.5rem}.hero-content{justify-content:flex-end;padding-bottom:55px}.hero-search{width:100%}.intro-section,.section,.map-callout,.municipalities-section{padding-block:70px}.intro-grid{grid-template-columns:1fr;margin-bottom:35px}.intro-grid h2,.section-head h2{font-size:2.65rem}.editorial-grid,.listing-grid{grid-template-columns:1fr}.editorial-card.featured{grid-column:auto;grid-row:auto}.editorial-card.featured .editorial-media{aspect-ratio:4/3}.map-art{height:280px}.section-head{align-items:start;flex-direction:column}.event-row{grid-template-columns:72px 1fr 25px;padding-inline:0}.event-main{padding-left:15px}.event-main h3{font-size:1.35rem}.municipality-list a{grid-template-columns:40px 1fr 22px}.municipality-list small{display:none}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:5px}.filter-bar,.admin-filters{align-items:stretch;flex-direction:column}.filter-bar select,.admin-filters select{width:100%}.listing-copy h2{font-size:1.55rem}.archive-hero{padding:65px 0}.archive-hero h1{font-size:4rem}.detail-hero{min-height:470px}.detail-hero h1{font-size:3.4rem}.detail-body{padding-block:50px;gap:25px}.article-lead{display:grid;grid-template-columns:1fr 1fr;gap:20px}.prose{font-size:1.06rem}.gallery-grid figure,.gallery-grid figure:nth-child(1),.gallery-grid figure:nth-child(6n){grid-column:span 12}.gallery-grid img,.gallery-grid figure:nth-child(1) img,.gallery-grid figure:nth-child(6n) img{height:290px}.related-grid{grid-template-columns:1fr}.find-card{grid-template-columns:105px 1fr}.find-card img,.find-card .image-placeholder{width:105px;height:125px}.find-filter-row{grid-template-columns:1fr}.admin-top{padding:0 15px}.admin-user>div,.admin-theme{display:none}.admin-page-head{align-items:flex-start;flex-direction:column}.admin-page-head h1{font-size:2.7rem}.stat-grid{grid-template-columns:1fr 1fr}.stat strong{font-size:2rem}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.media-grid{grid-template-columns:repeat(2,1fr)}.table-wrap th:nth-child(4),.table-wrap td:nth-child(4),.admin-table th:nth-child(5),.admin-table td:nth-child(5){display:none}.req-list{grid-template-columns:1fr}}

button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}


/* =========================================================
   VISIT VALDICHIANA — HOME & BRAND UPDATE V4
   ========================================================= */
html,body,button,input,select,textarea{font-family:var(--font-main)}
body{font-weight:400}
button,input,select,textarea{font-size:inherit}
.site-header{background:var(--red);box-shadow:0 12px 35px rgba(58,15,31,.2)}
.brand-logo{display:block;width:auto;height:58px;max-width:260px;object-fit:contain}
.footer-logo{height:74px;max-width:310px}
.admin-brand{display:grid;gap:12px;justify-items:start}
.admin-brand-logo{height:58px;max-width:205px}
.admin-brand>small{text-transform:uppercase;letter-spacing:.18em;font-size:.58rem;opacity:.7}
.nav-menu>a,.nav-find,.theme-toggle,.topline,.eyebrow{font-family:var(--font-main)}

.home-hero.hero-slider{height:min(840px,calc(100vh - 113px));min-height:650px;position:relative;overflow:hidden;background:#35151f}
.hero-slides,.hero-slide{position:absolute;inset:0}
.hero-slide{opacity:0;visibility:hidden;transform:scale(1.025);transition:opacity 1s ease,visibility 1s ease,transform 7s ease}
.hero-slide.is-active{opacity:1;visibility:visible;transform:scale(1)}
.hero-slide img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.hero-slide-fallback{background:linear-gradient(125deg,#6d2438,#28131a)}
.home-hero .hero-shade{z-index:1;background:linear-gradient(90deg,rgba(26,10,16,.78) 0%,rgba(26,10,16,.46) 45%,rgba(26,10,16,.16) 78%),linear-gradient(0deg,rgba(26,10,16,.55),transparent 54%)}
.home-hero .hero-content{z-index:2;justify-content:center;padding-bottom:70px;max-width:1380px}
.home-hero .hero-kicker{margin:0 0 16px;text-transform:none;letter-spacing:0;font-size:clamp(1.1rem,1.55vw,1.55rem);font-weight:400;text-shadow:0 2px 20px rgba(0,0,0,.28)}
.home-hero h1{font-size:clamp(4rem,7.4vw,8.6rem);line-height:.97;letter-spacing:-.045em;max-width:1040px;font-weight:900;text-wrap:balance;text-shadow:0 5px 30px rgba(0,0,0,.28)}
.home-hero .hero-subtitle{font-size:clamp(1.18rem,1.75vw,1.72rem);font-weight:300;margin:25px 0 0;color:#fff;max-width:740px;text-shadow:0 2px 20px rgba(0,0,0,.3)}
.hero-actions{display:flex;align-items:center;gap:18px;margin-top:38px;flex-wrap:wrap}
.hero-primary,.hero-secondary{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:54px;padding:14px 23px;border-radius:3px;text-decoration:none;font-weight:700;font-size:.9rem;transition:transform .22s ease,background .22s ease,color .22s ease,border-color .22s ease}
.hero-primary{background:var(--red);color:#fff;box-shadow:0 14px 35px rgba(55,10,25,.25)}
.hero-primary:hover{background:#81263d;transform:translateY(-2px)}
.hero-secondary{color:#fff;border:1px solid rgba(255,255,255,.62);background:rgba(255,255,255,.06);backdrop-filter:blur(6px)}
.hero-secondary:hover{background:#fff;color:var(--red);transform:translateY(-2px)}
.hero-navigation{position:absolute;z-index:3;left:50%;bottom:31px;transform:translateX(-50%);display:flex;align-items:center;justify-content:flex-end;gap:25px;color:#fff;pointer-events:none}
.hero-navigation>*{pointer-events:auto}
.hero-arrows{display:flex;gap:8px}
.hero-arrows button{width:45px;height:45px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(20,7,12,.18);color:#fff;cursor:pointer;backdrop-filter:blur(6px);transition:.2s}
.hero-arrows button:hover{background:#fff;color:var(--red);border-color:#fff}
.hero-dots{display:flex;align-items:center;gap:9px}
.hero-dot{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.5);cursor:pointer;transition:width .3s ease,background .3s ease}
.hero-dot.is-active{width:35px;background:#fff}
.hero-counter{display:flex;align-items:center;gap:9px;font-size:.68rem;letter-spacing:.12em}
.hero-counter i{display:block;width:45px;height:1px;background:rgba(255,255,255,.55)}

@media(max-width:850px){
  .brand-logo{height:51px;max-width:220px}
  .home-hero.hero-slider{height:calc(100svh - 76px);min-height:610px}
  .home-hero .hero-content{justify-content:center;padding-bottom:100px}
  .home-hero h1{font-size:clamp(3.5rem,11.5vw,6rem);line-height:1.01}
  .hero-navigation{bottom:24px;justify-content:space-between}
  .hero-counter{display:none}
}
@media(max-width:560px){
  .brand-logo{height:45px;max-width:185px}
  .home-hero.hero-slider{min-height:620px}
  .home-hero .hero-content{justify-content:flex-end;padding-bottom:135px}
  .home-hero .hero-kicker{font-size:1.05rem;margin-bottom:12px}
  .home-hero h1{font-size:3.55rem;letter-spacing:-.035em}
  .home-hero .hero-subtitle{font-size:1.15rem;margin-top:18px}
  .hero-actions{margin-top:28px;align-items:stretch;flex-direction:column;width:100%}
  .hero-primary,.hero-secondary{width:100%}
  .hero-navigation{bottom:25px}
  .hero-dots{max-width:160px;overflow:hidden}
  .footer-logo{height:65px;max-width:250px}
}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none;transform:none}.hero-primary,.hero-secondary{transition:none}}

/* =========================================================
   HOME HERO TYPEWRITER — V5
   Una fotografia reale per categoria + testo scritto/cancellato.
   ========================================================= */
.home-hero.hero-typewriter{
  height:min(760px,calc(100svh - 113px));
  min-height:590px;
  background:#28131a;
}
.home-hero.hero-typewriter .hero-slide{
  opacity:0;
  visibility:hidden;
  transform:scale(1.035);
  transition:opacity .95s cubic-bezier(.22,.61,.36,1),visibility .95s ease,transform 6.8s ease;
}
.home-hero.hero-typewriter .hero-slide.is-active{
  opacity:1;
  visibility:visible;
  transform:scale(1);
}
.home-hero.hero-typewriter .hero-slide img{
  filter:saturate(.92) contrast(1.03);
}
.home-hero.hero-typewriter .hero-shade{
  background:
    linear-gradient(90deg,rgba(18,9,13,.70) 0%,rgba(18,9,13,.43) 46%,rgba(18,9,13,.18) 78%),
    linear-gradient(0deg,rgba(18,9,13,.42),transparent 58%);
}
.home-hero.hero-typewriter .hero-content{
  z-index:2;
  justify-content:center;
  padding-top:0;
  padding-bottom:28px;
}
.hero-type-copy{
  width:min(100%,920px);
  color:#fff;
}
.home-hero h1.hero-type-heading{
  max-width:none;
  margin:0;
  font-size:clamp(2.15rem,3.15vw,4rem);
  line-height:1.18;
  letter-spacing:-.035em;
  font-weight:700;
  text-wrap:balance;
  text-shadow:0 3px 26px rgba(0,0,0,.38);
}
.hero-type-heading a{
  display:inline;
  color:#fff;
  text-decoration:none;
  outline:none;
}
.hero-type-heading a:focus-visible{
  border-radius:4px;
  box-shadow:0 0 0 3px rgba(255,255,255,.72);
}
.hero-fixed-word{white-space:nowrap}
.hero-caret{
  display:inline-block;
  width:1.5px;
  height:.92em;
  margin-left:.12em;
  vertical-align:-.08em;
  background:currentColor;
  animation:vvHeroCaret .78s steps(1,end) infinite;
}
@keyframes vvHeroCaret{50%{opacity:0}}
.home-hero.hero-typewriter .hero-subtitle{
  margin:8px 0 0;
  max-width:none;
  color:rgba(255,255,255,.92);
  font-size:clamp(.82rem,1vw,1.05rem);
  line-height:1.5;
  font-weight:400;
  text-shadow:0 2px 16px rgba(0,0,0,.42);
}
.hero-progress{
  position:absolute;
  z-index:3;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  background:rgba(255,255,255,.15);
  overflow:hidden;
}
.hero-progress span{
  display:block;
  width:100%;
  height:100%;
  transform:scaleX(0);
  transform-origin:left center;
  background:#fff;
  transition-property:transform;
  transition-timing-function:linear;
}
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
@media(max-width:850px){
  .home-hero.hero-typewriter{
    height:calc(100svh - 76px);
    min-height:570px;
  }
  .home-hero.hero-typewriter .hero-content{
    justify-content:center;
    padding-bottom:30px;
  }
  .home-hero h1.hero-type-heading{
    font-size:clamp(2rem,7.6vw,3.35rem);
    line-height:1.2;
  }
}
@media(max-width:560px){
  .home-hero.hero-typewriter{
    min-height:560px;
  }
  .home-hero.hero-typewriter .hero-content{
    justify-content:flex-end;
    padding-bottom:82px;
  }
  .home-hero h1.hero-type-heading{
    font-size:clamp(1.9rem,8.6vw,2.85rem);
    letter-spacing:-.028em;
  }
  .home-hero.hero-typewriter .hero-subtitle{
    margin-top:7px;
    font-size:.88rem;
  }
}
@media(prefers-reduced-motion:reduce){
  .home-hero.hero-typewriter .hero-slide{transition:none;transform:none}
  .hero-caret{animation:none}
  .hero-progress{display:none}
}


/* =========================================================
   HOME HERO — V7
   Hero mobile più compatta, invito allo scroll e foto curate.
   ========================================================= */
#home-intro{scroll-margin-top:105px}
.hero-scroll-cue{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  margin-top:22px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:50%;
  color:#fff;
  text-decoration:none;
  background:rgba(20,7,12,.12);
  box-shadow:0 8px 24px rgba(0,0,0,.14);
  backdrop-filter:blur(5px);
  transition:background .22s ease,transform .22s ease,border-color .22s ease;
}
.hero-scroll-cue span{
  display:block;
  font-size:1.2rem;
  line-height:1;
  animation:vvScrollCue 1.55s ease-in-out infinite;
}
.hero-scroll-cue:hover,
.hero-scroll-cue:focus-visible{
  background:#fff;
  color:var(--red);
  border-color:#fff;
  transform:translateY(3px);
  outline:none;
}
@keyframes vvScrollCue{
  0%,100%{transform:translateY(-2px)}
  50%{transform:translateY(4px)}
}
@media(max-width:850px){
  .home-hero.hero-typewriter{
    height:min(72svh,620px);
    min-height:480px;
  }
  .home-hero.hero-typewriter .hero-content{
    justify-content:center;
    padding-top:8px;
    padding-bottom:18px;
  }
  .hero-scroll-cue{
    width:43px;
    height:43px;
    margin-top:20px;
  }
}
@media(max-width:560px){
  .home-hero.hero-typewriter{
    height:min(66svh,510px);
    min-height:420px;
    max-height:510px;
  }
  .home-hero.hero-typewriter .hero-content{
    justify-content:center;
    padding-top:4px;
    padding-bottom:8px;
  }
  .home-hero h1.hero-type-heading{
    font-size:clamp(1.72rem,7.4vw,2.35rem);
    line-height:1.22;
  }
  .home-hero.hero-typewriter .hero-subtitle{
    margin-top:6px;
    font-size:.79rem;
  }
  .hero-scroll-cue{
    width:39px;
    height:39px;
    margin-top:17px;
  }
  .hero-scroll-cue span{font-size:1.02rem}
  #home-intro{scroll-margin-top:82px}
}
@media(max-width:390px){
  .home-hero.hero-typewriter{
    height:min(64svh,470px);
    min-height:395px;
  }
  .home-hero h1.hero-type-heading{font-size:clamp(1.55rem,7vw,2rem)}
}
@media(prefers-reduced-motion:reduce){
  .hero-scroll-cue span{animation:none}
}


/* =========================================================
   HOME HERO — V8
   Sottotitolo più autorevole + ingresso tech in puro codice.
   ========================================================= */
.home-hero.hero-typewriter .hero-subtitle{
  margin-top:10px;
  color:rgba(255,255,255,.94);
  font-size:clamp(.94rem,1.16vw,1.16rem);
  line-height:1.55;
  font-weight:700;
  letter-spacing:.008em;
  text-shadow:0 2px 18px rgba(0,0,0,.48);
}

.vv-entry-intro{display:none}
.js.vv-first-entry .vv-entry-intro{
  position:fixed;
  inset:0;
  z-index:10000;
  display:block;
  overflow:hidden;
  background:#16080d;
  color:#fff;
  isolation:isolate;
}
.js.vv-first-entry body{overflow:hidden}
.js.vv-first-entry .site-header{
  opacity:0;
  transform:translateY(-18px);
}
.site-header{
  transition:opacity .55s ease,transform .65s cubic-bezier(.22,.7,.2,1);
}
.vv-entry-panel{
  position:absolute;
  z-index:1;
  top:0;
  bottom:0;
  width:54%;
  background:
    radial-gradient(circle at 50% 42%,rgba(255,255,255,.075),transparent 34%),
    linear-gradient(145deg,#a33752 0%,#972e47 45%,#6f1d34 100%);
  will-change:transform;
  transition:transform .9s cubic-bezier(.76,0,.24,1);
}
.vv-entry-panel-left{
  left:0;
  clip-path:polygon(0 0,100% 0,91% 100%,0 100%);
  border-right:1px solid rgba(255,255,255,.16);
}
.vv-entry-panel-right{
  right:0;
  clip-path:polygon(9% 0,100% 0,100% 100%,0 100%);
  border-left:1px solid rgba(255,255,255,.12);
}
.vv-entry-grid{
  position:absolute;
  z-index:2;
  inset:-45% -20% -20%;
  opacity:.24;
  background-image:
    linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);
  background-size:54px 54px;
  transform:perspective(700px) rotateX(63deg) translateY(22%);
  transform-origin:center bottom;
  mask-image:linear-gradient(to bottom,transparent 12%,#000 44%,#000 82%,transparent);
  animation:vvGridTravel 4.2s linear infinite;
  transition:opacity .45s ease,filter .65s ease;
}
@keyframes vvGridTravel{
  to{background-position:0 54px,54px 0}
}
.vv-entry-scan{
  position:absolute;
  z-index:4;
  top:-15%;
  left:-20%;
  width:140%;
  height:2px;
  opacity:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.96),transparent);
  box-shadow:0 0 20px rgba(255,255,255,.78),0 0 48px rgba(255,255,255,.25);
  transform:rotate(-8deg);
}
.vv-entry-intro.is-started .vv-entry-scan{
  opacity:.78;
  animation:vvEntryScan 1.25s cubic-bezier(.4,0,.2,1) .15s both;
}
@keyframes vvEntryScan{
  from{top:-15%}
  to{top:112%}
}
.vv-entry-core{
  position:absolute;
  z-index:5;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:28px;
  text-align:center;
  opacity:0;
  filter:blur(12px);
  transform:scale(.94);
  transition:opacity .65s ease,filter .75s ease,transform .85s cubic-bezier(.22,.7,.2,1);
}
.vv-entry-intro.is-started .vv-entry-core{
  opacity:1;
  filter:blur(0);
  transform:scale(1);
}
.vv-entry-kicker{
  margin-bottom:34px;
  font-size:.66rem;
  line-height:1;
  font-weight:700;
  letter-spacing:.38em;
  text-transform:uppercase;
  color:rgba(255,255,255,.72);
}
.vv-entry-logo{
  position:relative;
  z-index:2;
  display:block;
  width:min(330px,58vw);
  height:auto;
  filter:drop-shadow(0 12px 34px rgba(34,3,13,.32));
}
.vv-entry-radar{
  position:absolute;
  top:50%;
  left:50%;
  width:min(430px,72vw);
  aspect-ratio:1;
  transform:translate(-50%,-54%);
  opacity:.42;
}
.vv-entry-radar::before,
.vv-entry-radar::after,
.vv-entry-radar i{
  content:"";
  position:absolute;
  inset:50%;
  border:1px solid rgba(255,255,255,.24);
  border-radius:50%;
  transform:translate(-50%,-50%) scale(.18);
  opacity:0;
}
.vv-entry-intro.is-started .vv-entry-radar::before{animation:vvRadar 1.5s ease-out .05s infinite}
.vv-entry-intro.is-started .vv-entry-radar::after{animation:vvRadar 1.5s ease-out .45s infinite}
.vv-entry-intro.is-started .vv-entry-radar i:nth-child(1){animation:vvRadar 1.5s ease-out .82s infinite}
.vv-entry-radar i:nth-child(2){inset:36%;opacity:.5!important;transform:translate(-50%,-50%)!important}
.vv-entry-radar i:nth-child(3){inset:22%;opacity:.25!important;transform:translate(-50%,-50%)!important}
@keyframes vvRadar{
  0%{opacity:.8;transform:translate(-50%,-50%) scale(.18)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(1)}
}
.vv-entry-coordinates{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  margin-top:29px;
  font-size:.61rem;
  font-weight:700;
  letter-spacing:.19em;
  text-transform:uppercase;
  color:rgba(255,255,255,.68);
}
.vv-entry-coordinates b{
  width:38px;
  height:1px;
  background:rgba(255,255,255,.46);
}
.vv-entry-loader{
  width:min(300px,66vw);
  height:2px;
  margin-top:22px;
  overflow:hidden;
  background:rgba(255,255,255,.18);
}
.vv-entry-loader span{
  display:block;
  width:100%;
  height:100%;
  transform:scaleX(0);
  transform-origin:left;
  background:#fff;
  box-shadow:0 0 16px rgba(255,255,255,.8);
}
.vv-entry-intro.is-charged .vv-entry-loader span{
  transform:scaleX(1);
  transition:transform .62s cubic-bezier(.65,0,.35,1);
}
.vv-entry-core small{
  margin-top:11px;
  font-size:.54rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.52);
}
.vv-entry-intro.is-opening .vv-entry-panel-left{transform:translate3d(-106%,0,0)}
.vv-entry-intro.is-opening .vv-entry-panel-right{transform:translate3d(106%,0,0)}
.vv-entry-intro.is-opening .vv-entry-grid{opacity:0;filter:blur(10px)}
.vv-entry-intro.is-opening .vv-entry-core{
  opacity:0;
  filter:blur(10px);
  transform:scale(1.075);
  transition-duration:.45s;
}
.vv-entry-intro.is-opening{background:transparent;transition:background .55s ease .18s}
.vv-entry-intro.is-complete{pointer-events:none;visibility:hidden}

/* La hero resta dipinta dietro l'anteprima: l'animazione rimane identica,
   ma l'LCP non viene rimandato alla sua apertura dopo quattro secondi. */
.js.vv-first-entry .home-hero.hero-typewriter .hero-slide.is-active{
  opacity:1;
  transform:scale(1.035);
  filter:none;
}
.js.vv-first-entry .home-hero.hero-typewriter .hero-content{
  opacity:1;
  transform:translateY(0);
}
.home-hero.hero-typewriter .hero-content{
  transition:opacity .7s ease,transform .9s cubic-bezier(.22,.7,.2,1);
}
.home-hero.hero-typewriter.is-revealing .hero-slide.is-active,
.home-hero.hero-typewriter.is-revealed .hero-slide.is-active{
  opacity:1;
  filter:none;
  transform:scale(1);
  transition:opacity .9s ease,filter .9s ease,transform 5.8s ease;
}
.home-hero.hero-typewriter.is-revealing .hero-content,
.home-hero.hero-typewriter.is-revealed .hero-content{
  opacity:1;
  transform:translateY(0);
}

@media(max-width:560px){
  .home-hero.hero-typewriter .hero-subtitle{
    margin-top:7px;
    font-size:.86rem;
    font-weight:700;
  }
  .vv-entry-kicker{margin-bottom:28px;font-size:.56rem;letter-spacing:.3em}
  .vv-entry-coordinates{margin-top:24px;font-size:.52rem;letter-spacing:.12em;gap:9px}
  .vv-entry-coordinates b{width:25px}
  .vv-entry-core small{font-size:.47rem;letter-spacing:.12em}
  .vv-entry-grid{background-size:38px 38px}
}
@media(prefers-reduced-motion:reduce){
  .js .vv-entry-intro{display:none!important}
  .js body.vv-intro-active{overflow:auto}
  .js body.vv-intro-active .site-header,
  .js body.vv-intro-active .home-hero.hero-typewriter .hero-slide.is-active,
  .js body.vv-intro-active .home-hero.hero-typewriter .hero-content{
    opacity:1;
    filter:none;
    transform:none;
  }
}

/* =========================================================
   INGRESSO TECH GLOBALE — V9
   Sempre visibile a ogni caricamento, con titolo pagina.
   ========================================================= */
.vv-entry-panel{
  transition:transform 1.14s cubic-bezier(.76,0,.24,1);
}
.vv-entry-intro.is-started .vv-entry-scan{
  animation-duration:1.72s;
  animation-delay:.18s;
}
.vv-entry-core{
  transition:opacity .82s ease,filter .92s ease,transform 1.02s cubic-bezier(.22,.7,.2,1);
}
.vv-entry-intro.is-charged .vv-entry-loader span{
  transition-duration:1s;
}
.vv-entry-intro.is-opening{
  transition:background .74s ease .22s;
}
.vv-entry-intro.is-opening .vv-entry-core{
  transition-duration:.66s;
}
.vv-entry-page{
  position:relative;
  z-index:3;
  display:grid;
  justify-items:center;
  gap:8px;
  width:min(960px,88vw);
  margin-top:26px;
  opacity:0;
  filter:blur(8px);
  transform:translateY(14px);
  transition:opacity .72s ease .42s,filter .8s ease .42s,transform .86s cubic-bezier(.22,.7,.2,1) .42s;
}
.vv-entry-page::after{
  content:"";
  display:block;
  width:0;
  height:1px;
  margin-top:8px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.92),transparent);
  box-shadow:0 0 18px rgba(255,255,255,.45);
  transition:width .92s cubic-bezier(.65,0,.35,1) 1s;
}
.vv-entry-page span{
  font-size:.56rem;
  line-height:1;
  font-weight:700;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:rgba(255,255,255,.58);
}
.vv-entry-page strong{
  display:block;
  max-width:100%;
  font-family:"Merriweather",serif;
  font-size:clamp(1.55rem,3.4vw,3.45rem);
  line-height:1.15;
  font-weight:700;
  text-wrap:balance;
  color:#fff;
  text-shadow:0 8px 30px rgba(35,3,14,.34);
}
.vv-entry-intro.is-started .vv-entry-page{
  opacity:1;
  filter:blur(0);
  transform:translateY(0);
}
.vv-entry-intro.is-ready .vv-entry-page::after{
  width:min(350px,56vw);
}
.vv-entry-intro.has-page-name .vv-entry-logo{
  width:min(275px,48vw);
}
.vv-entry-intro.has-page-name .vv-entry-kicker{
  margin-bottom:26px;
}
.vv-entry-intro.has-page-name .vv-entry-coordinates{
  margin-top:24px;
}
.site-header{
  transition:opacity .78s ease,transform .86s cubic-bezier(.22,.7,.2,1);
}

@media(max-width:560px){
  .vv-entry-page{margin-top:20px;gap:7px;width:92vw}
  .vv-entry-page span{font-size:.48rem;letter-spacing:.26em}
  .vv-entry-page strong{font-size:clamp(1.32rem,7.2vw,2.15rem);line-height:1.2}
  .vv-entry-intro.has-page-name .vv-entry-logo{width:min(225px,62vw)}
  .vv-entry-intro.has-page-name .vv-entry-kicker{margin-bottom:22px}
  .vv-entry-intro.has-page-name .vv-entry-coordinates{margin-top:20px}
}

/* =========================================================
   EXPERIENCE LAYER — V10
   Secondo contenitore fotografico + reveal progressivi globali.
   ========================================================= */
body{overflow-x:clip}

/* Reveal morbido e leggibile: il contenuto resta visibile senza JavaScript. */
.js [data-vv-reveal],
.js .vv-auto-reveal{
  opacity:0;
  filter:blur(8px);
  transform:translate3d(0,46px,0) scale(.992);
  transition:
    opacity .78s ease var(--vv-delay,0ms),
    filter .92s ease var(--vv-delay,0ms),
    transform 1s cubic-bezier(.2,.75,.2,1) var(--vv-delay,0ms);
  will-change:opacity,filter,transform;
}
.js [data-vv-reveal="card"],
.js .vv-auto-reveal.vv-reveal-card{
  transform:translate3d(0,54px,0) scale(.975);
}
.js [data-vv-reveal].is-visible,
.js .vv-auto-reveal.is-visible{
  opacity:1;
  filter:blur(0);
  transform:translate3d(0,0,0) scale(1);
}
.js [data-vv-reveal].is-settled,
.js .vv-auto-reveal.is-settled{will-change:auto}

/* La sezione ha una base chiarissima e neutra, in stile prodotto premium. */
.vv-journey-section{
  position:relative;
  isolation:isolate;
  padding-top:118px;
  padding-bottom:126px;
}
.vv-journey-section::before{
  content:"";
  position:absolute;
  z-index:-2;
  top:0;
  bottom:0;
  left:calc((100vw - 100%)/-2);
  right:calc((100vw - 100%)/-2);
  background:
    radial-gradient(circle at 12% 5%,rgba(151,46,71,.075),transparent 26%),
    radial-gradient(circle at 88% 92%,rgba(151,46,71,.055),transparent 29%),
    linear-gradient(180deg,#fbfbf9 0%,#f4f3f0 100%);
}
[data-theme="dark"] .vv-journey-section::before{
  background:
    radial-gradient(circle at 12% 5%,rgba(184,91,114,.12),transparent 27%),
    radial-gradient(circle at 88% 92%,rgba(184,91,114,.08),transparent 30%),
    linear-gradient(180deg,#1b1816 0%,#141210 100%);
}
.vv-journey-section::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:24px calc((100vw - 100%)/-2);
  opacity:.34;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(151,46,71,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(151,46,71,.055) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 74%,transparent);
}
.vv-journey-section .intro-grid{margin-bottom:62px}
.vv-journey-section .intro-grid h2{max-width:820px}
.vv-journey-section .intro-grid p{font-size:1.03rem;line-height:1.8}

.journey-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}
.journey-card,
.journey-inspire,
.journey-explore,
.journey-plan{
  min-height:600px;
  padding:0;
  border:1px solid rgba(39,35,31,.09);
  border-radius:34px;
  color:var(--ink);
  background:rgba(255,255,255,.86);
  box-shadow:0 16px 55px rgba(35,29,25,.075);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  display:grid;
  grid-template-rows:auto minmax(300px,1fr);
  overflow:hidden;
  isolation:isolate;
}
[data-theme="dark"] .journey-card,
[data-theme="dark"] .journey-inspire,
[data-theme="dark"] .journey-explore,
[data-theme="dark"] .journey-plan{
  color:var(--ink);
  border-color:rgba(255,255,255,.09);
  background:rgba(37,32,28,.8);
  box-shadow:0 18px 58px rgba(0,0,0,.26);
}
.journey-card::before{
  content:"";
  position:absolute;
  z-index:3;
  top:-50%;
  left:-70%;
  width:68%;
  height:200%;
  opacity:0;
  pointer-events:none;
  transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);
  transition:left .9s cubic-bezier(.2,.75,.2,1),opacity .35s ease;
}
.journey-card.is-visible:hover::before{left:125%;opacity:.52}
.journey-card.is-visible:hover{
  transform:translate3d(0,-8px,0) scale(1);
  border-color:rgba(151,46,71,.2);
  box-shadow:0 28px 85px rgba(35,29,25,.14);
}
[data-theme="dark"] .journey-card.is-visible:hover{box-shadow:0 28px 85px rgba(0,0,0,.42)}
.journey-card-head{
  position:relative;
  z-index:2;
  min-height:246px;
  padding:30px 31px 28px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.journey-meta{
  width:100%;
  display:flex;
  align-items:center;
  gap:13px;
  padding-right:48px;
}
.journey-meta span{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  flex:0 0 auto;
  border:1px solid rgba(151,46,71,.25);
  border-radius:50%;
  color:var(--red);
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.08em;
}
.journey-meta small{
  color:var(--muted);
  font-size:.61rem;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.journey-action{
  position:absolute;
  top:27px;
  right:27px;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border:1px solid rgba(39,35,31,.11);
  border-radius:50%;
  background:rgba(255,255,255,.72);
  color:var(--red);
  font-size:1rem;
  transition:transform .45s cubic-bezier(.2,.75,.2,1),background .3s ease,color .3s ease;
}
[data-theme="dark"] .journey-action{background:rgba(0,0,0,.14);border-color:rgba(255,255,255,.1)}
.journey-card:hover .journey-action{transform:rotate(45deg);background:var(--red);color:#fff}
.journey-card h3{
  margin:34px 0 14px;
  color:var(--ink);
  font-size:clamp(2.35rem,3.4vw,3.75rem);
  line-height:1;
  letter-spacing:-.045em;
}
.journey-card p{
  max-width:33ch;
  margin:0;
  color:var(--muted);
  font-size:.94rem;
  line-height:1.72;
}
.journey-media{
  position:relative;
  z-index:1;
  min-height:320px;
  margin:0 10px 10px;
  overflow:hidden;
  border-radius:26px;
  background:
    radial-gradient(circle at 50% 40%,rgba(151,46,71,.24),transparent 45%),
    #e7e2dd;
  clip-path:inset(12% 0 0 0 round 26px);
  transition:clip-path 1.08s cubic-bezier(.2,.75,.2,1) calc(var(--vv-delay,0ms) + 150ms);
}
.journey-card.is-visible .journey-media{clip-path:inset(0 0 0 0 round 26px)}
.journey-media::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  opacity:.24;
  background-image:
    linear-gradient(rgba(255,255,255,.2) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:linear-gradient(to top,#000,transparent 72%);
}
.journey-media::after{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  background:linear-gradient(180deg,transparent 48%,rgba(12,10,9,.62) 100%);
  pointer-events:none;
}
.journey-media img{
  width:100%;
  height:100%;
  min-height:320px;
  object-fit:cover;
  transform:scale(1.12);
  filter:saturate(.86) contrast(1.03);
  transition:transform 1.35s cubic-bezier(.2,.75,.2,1) calc(var(--vv-delay,0ms) + 120ms),filter .55s ease;
}
.journey-card.is-visible .journey-media img{transform:scale(1.025)}
.journey-card:hover .journey-media img{transform:scale(1.07);filter:saturate(1) contrast(1.04)}
.journey-inspire .journey-media img{object-position:center 48%}
.journey-explore .journey-media img{object-position:center 46%}
.journey-plan .journey-media img{object-position:center 54%}
.journey-media-label{
  position:absolute;
  z-index:4;
  left:22px;
  bottom:19px;
  color:#fff;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-shadow:0 2px 15px rgba(0,0,0,.5);
}
.journey-scan{
  position:absolute;
  z-index:5;
  top:0;
  bottom:0;
  left:-18%;
  width:1px;
  opacity:0;
  background:rgba(255,255,255,.85);
  box-shadow:0 0 22px rgba(255,255,255,.7);
  transform:skewX(-12deg);
}
.journey-card.is-visible .journey-scan{
  opacity:.48;
  animation:vvJourneyScan 1.25s cubic-bezier(.2,.75,.2,1) calc(var(--vv-delay,0ms) + 320ms) both;
}
@keyframes vvJourneyScan{to{left:116%;opacity:0}}

/* Piccoli movimenti coerenti nelle aree che appaiono allo scroll. */
.editorial-card.vv-auto-reveal .editorial-media,
.listing-card.vv-auto-reveal .listing-media,
.related-grid>a.vv-auto-reveal img,
.gallery-grid figure.vv-auto-reveal img{
  clip-path:inset(8% 0 0 0 round 22px);
  transform:scale(1.055);
  transition:clip-path 1.05s cubic-bezier(.2,.75,.2,1) calc(var(--vv-delay,0ms) + 100ms),transform 1.2s cubic-bezier(.2,.75,.2,1) calc(var(--vv-delay,0ms) + 80ms);
}
.editorial-card.vv-auto-reveal.is-visible .editorial-media,
.listing-card.vv-auto-reveal.is-visible .listing-media,
.related-grid>a.vv-auto-reveal.is-visible img,
.gallery-grid figure.vv-auto-reveal.is-visible img{
  clip-path:inset(0 0 0 0 round 22px);
  transform:scale(1);
}

@media(max-width:1100px){
  .journey-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .journey-card:last-child{grid-column:1/-1;min-height:540px;grid-template-columns:.82fr 1.18fr;grid-template-rows:1fr}
  .journey-card:last-child .journey-card-head{min-height:100%;justify-content:center}
  .journey-card:last-child .journey-media{height:calc(100% - 20px);margin:10px 10px 10px 0}
}
@media(max-width:760px){
  .vv-journey-section{padding-top:82px;padding-bottom:88px}
  .vv-journey-section::after{background-size:52px 52px}
  .vv-journey-section .intro-grid{margin-bottom:42px}
  .journey-grid{grid-template-columns:1fr;gap:18px}
  .journey-card,
  .journey-card:last-child{
    min-height:520px;
    grid-column:auto;
    grid-template-columns:1fr;
    grid-template-rows:auto minmax(260px,1fr);
    border-radius:28px;
  }
  .journey-card-head,
  .journey-card:last-child .journey-card-head{min-height:218px;padding:25px 24px 23px;justify-content:flex-start}
  .journey-card h3{margin-top:28px;font-size:clamp(2.25rem,12vw,3.25rem)}
  .journey-card p{font-size:.88rem}
  .journey-action{top:22px;right:22px;width:38px;height:38px}
  .journey-media,
  .journey-card:last-child .journey-media{min-height:270px;height:auto;margin:0 8px 8px;border-radius:22px}
  .journey-media img{min-height:270px}
}
@media(max-width:480px){
  .vv-journey-section{padding-top:70px;padding-bottom:76px}
  .journey-card{min-height:500px}
  .journey-meta small{font-size:.55rem;letter-spacing:.12em}
  .journey-card h3{font-size:2.35rem}
}
@media(prefers-reduced-motion:reduce){
  .js [data-vv-reveal],
  .js .vv-auto-reveal{
    opacity:1!important;
    filter:none!important;
    transform:none!important;
    transition:none!important;
  }
  .journey-media,
  .journey-media img,
  .editorial-card .editorial-media,
  .listing-card .listing-media,
  .related-grid>a img,
  .gallery-grid figure img{
    clip-path:none!important;
    transform:none!important;
    transition:none!important;
  }
  .journey-scan{display:none!important}
}

/* =========================================================
   V11 — Carosello "Luoghi che raccontano il territorio"
   ========================================================= */
.places-carousel-section{
  position:relative;
  overflow:hidden;
  padding-block:112px 104px;
  background:#f4f4f6;
}
[data-theme="dark"] .places-carousel-section{background:#17191c}
.places-carousel-section::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--line),transparent);
}
.places-carousel-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:40px;
  margin-bottom:34px;
}
.places-carousel-title h2{
  margin:9px 0 14px;
  font-size:clamp(3rem,5.4vw,5.85rem);
  line-height:.98;
  letter-spacing:-.055em;
}
.places-carousel-title p{
  max-width:640px;
  margin:0;
  color:var(--muted);
  font-size:.98rem;
  line-height:1.7;
}
.places-carousel-actions{
  display:flex;
  align-items:center;
  gap:11px;
  flex:0 0 auto;
  padding-bottom:7px;
}
.places-carousel-button{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border:1px solid rgba(29,27,25,.08);
  border-radius:50%;
  background:rgba(255,255,255,.92);
  color:#211f1d;
  box-shadow:0 12px 35px rgba(27,24,21,.08);
  font:700 1.2rem/1 var(--serif);
  cursor:pointer;
  transition:transform .28s cubic-bezier(.2,.75,.2,1),background .25s ease,color .25s ease,opacity .25s ease,box-shadow .25s ease;
}
[data-theme="dark"] .places-carousel-button{
  border-color:rgba(255,255,255,.09);
  background:#25282c;
  color:#fff;
  box-shadow:0 12px 35px rgba(0,0,0,.2);
}
.places-carousel-button:hover:not(:disabled){
  transform:translateY(-2px) scale(1.035);
  background:var(--red);
  color:#fff;
  box-shadow:0 16px 42px rgba(151,46,71,.22);
}
.places-carousel-button:focus-visible{outline:3px solid rgba(151,46,71,.24);outline-offset:3px}
.places-carousel-button:disabled{opacity:.28;cursor:default;box-shadow:none}
.places-carousel-viewport{
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  padding:8px 0 25px;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:max(24px,calc((100vw - 1380px)/2));
  overscroll-behavior-inline:contain;
  scrollbar-width:none;
  cursor:grab;
  outline:none;
}
.places-carousel-viewport::-webkit-scrollbar{display:none}
.places-carousel-viewport:focus-visible{
  box-shadow:inset 0 0 0 3px rgba(151,46,71,.18);
}
.places-carousel-viewport.is-dragging{
  cursor:grabbing;
  scroll-behavior:auto;
  user-select:none;
}
.places-carousel-track{
  display:flex;
  align-items:stretch;
  gap:18px;
  width:max-content;
  padding-inline:max(24px,calc((100vw - 1380px)/2));
}
.place-carousel-card{
  position:relative;
  width:clamp(305px,24vw,382px);
  min-height:536px;
  display:flex;
  flex:0 0 auto;
  flex-direction:column;
  overflow:hidden;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  border:1px solid rgba(28,25,22,.07);
  border-radius:28px;
  background:rgba(255,255,255,.94);
  color:var(--ink);
  box-shadow:0 16px 48px rgba(29,25,21,.065);
  text-decoration:none;
  transform:translateZ(0);
  transition:transform .5s cubic-bezier(.2,.75,.2,1),box-shadow .5s ease,border-color .35s ease;
}
[data-theme="dark"] .place-carousel-card{
  border-color:rgba(255,255,255,.075);
  background:#222529;
  box-shadow:0 18px 55px rgba(0,0,0,.2);
}
.place-carousel-card:hover{
  transform:translateY(-8px);
  border-color:rgba(151,46,71,.2);
  box-shadow:0 28px 68px rgba(32,27,23,.13);
}
.place-carousel-media{
  position:relative;
  height:302px;
  overflow:hidden;
  background:var(--paper-2);
}
.place-carousel-media img,
.place-carousel-media>.image-placeholder{
  width:100%;
  height:100%;
}
.place-carousel-media img{
  display:block;
  object-fit:cover;
  transform:scale(1.025);
  filter:saturate(.9) contrast(1.02);
  transition:transform .85s cubic-bezier(.2,.75,.2,1),filter .55s ease;
}
.place-carousel-card:hover .place-carousel-media img{
  transform:scale(1.075);
  filter:saturate(1.02) contrast(1.04);
}
.place-carousel-shade{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(12,10,9,.04) 35%,rgba(12,10,9,.58) 100%);
}
.place-carousel-number{
  position:absolute;
  left:20px;
  bottom:18px;
  color:rgba(255,255,255,.92);
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.18em;
  text-shadow:0 2px 18px rgba(0,0,0,.4);
}
.place-carousel-arrow{
  position:absolute;
  right:17px;
  top:17px;
  width:43px;
  height:43px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.38);
  border-radius:50%;
  background:rgba(255,255,255,.88);
  color:var(--red);
  font-size:1rem;
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  transition:transform .4s cubic-bezier(.2,.75,.2,1),background .25s ease,color .25s ease;
}
.place-carousel-card:hover .place-carousel-arrow{
  transform:rotate(45deg);
  background:var(--red);
  color:#fff;
}
.place-carousel-copy{
  min-height:234px;
  display:flex;
  flex:1;
  flex-direction:column;
  padding:24px 24px 22px;
}
.place-carousel-copy small{
  color:var(--red);
  font-size:.61rem;
  font-weight:900;
  letter-spacing:.145em;
  text-transform:uppercase;
}
.place-carousel-copy h3{
  margin:10px 0 11px;
  font-size:clamp(1.55rem,2vw,2rem);
  line-height:1.08;
  letter-spacing:-.032em;
}
.place-carousel-copy p{
  display:-webkit-box;
  overflow:hidden;
  margin:0 0 22px;
  color:var(--muted);
  font-size:.83rem;
  line-height:1.65;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
.place-carousel-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:auto;
  padding-top:17px;
  border-top:1px solid var(--line);
  color:var(--ink);
  font-size:.72rem;
  font-weight:900;
}
.place-carousel-link i{
  color:var(--red);
  font-style:normal;
  font-size:1rem;
  transition:transform .3s ease;
}
.place-carousel-card:hover .place-carousel-link i{transform:translateX(4px)}
.places-carousel-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  margin-top:7px;
}
.places-carousel-progress{
  position:relative;
  width:min(360px,42vw);
  height:3px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(33,30,27,.1);
}
[data-theme="dark"] .places-carousel-progress{background:rgba(255,255,255,.12)}
.places-carousel-progress>span{
  position:absolute;
  top:0;
  left:0;
  width:18%;
  height:100%;
  border-radius:inherit;
  background:var(--red);
  transform:translateX(0);
  transition:width .25s ease,transform .18s ease-out;
  will-change:width,transform;
}

/* La maschera fotografica entra quando la singola card raggiunge il viewport. */
.place-carousel-card.vv-auto-reveal .place-carousel-media,
.place-carousel-card[data-vv-reveal] .place-carousel-media{
  clip-path:inset(8% 0 0 0 round 0);
  transition:clip-path 1.02s cubic-bezier(.2,.75,.2,1) calc(var(--vv-delay,0ms) + 90ms);
}
.place-carousel-card.vv-auto-reveal.is-visible .place-carousel-media,
.place-carousel-card[data-vv-reveal].is-visible .place-carousel-media{
  clip-path:inset(0 0 0 0 round 0);
}

@media(max-width:900px){
  .places-carousel-section{padding-block:88px 82px}
  .places-carousel-head{align-items:flex-start}
  .places-carousel-title h2{font-size:clamp(3rem,9vw,4.7rem)}
  .place-carousel-card{width:min(410px,72vw)}
}
@media(max-width:640px){
  .places-carousel-section{padding-block:74px 68px}
  .places-carousel-head{align-items:flex-end;gap:18px;margin-bottom:23px}
  .places-carousel-title h2{font-size:2.72rem;line-height:1.01}
  .places-carousel-title p{display:none}
  .places-carousel-actions{gap:7px;padding-bottom:2px}
  .places-carousel-button{width:43px;height:43px;font-size:1rem}
  .places-carousel-track{gap:13px;padding-inline:16px}
  .places-carousel-viewport{scroll-padding-inline:16px;padding-bottom:18px}
  .place-carousel-card{width:min(84vw,345px);min-height:500px;border-radius:24px}
  .place-carousel-media{height:275px}
  .place-carousel-copy{min-height:225px;padding:21px 20px 19px}
  .place-carousel-copy h3{font-size:1.62rem}
  .places-carousel-footer{margin-top:4px}
  .places-carousel-progress{width:58vw}
  .places-carousel-footer .text-link{font-size:.68rem}
}
@media(prefers-reduced-motion:reduce){
  .places-carousel-viewport{scroll-behavior:auto}
  .place-carousel-card,
  .place-carousel-media,
  .place-carousel-media img,
  .places-carousel-progress>span{
    transition:none!important;
    transform:none!important;
    clip-path:none!important;
  }
}

/* =========================================================
   MAPPE E LISTING — V12
   Mappa reale in homepage, filtri visuali in Trova, marker
   categorizzati e anteprime cliccabili.
   ========================================================= */
.territory-map-section{
  position:relative;
  overflow:hidden;
  padding:118px 0 112px;
  background:
    radial-gradient(circle at 8% 14%,rgba(151,46,71,.08),transparent 27%),
    linear-gradient(180deg,#f8f7f5 0%,#efeeeb 100%);
}
[data-theme="dark"] .territory-map-section{
  background:
    radial-gradient(circle at 8% 14%,rgba(184,91,114,.11),transparent 27%),
    linear-gradient(180deg,#1b1c1f 0%,#151619 100%);
}
.territory-map-heading{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.72fr);
  gap:70px;
  align-items:end;
  margin-bottom:46px;
}
.territory-map-heading h2{
  margin-top:16px;
  font-size:clamp(3.4rem,6.1vw,6.7rem);
  line-height:.96;
  letter-spacing:-.055em;
}
.territory-map-heading h2 em{color:var(--red)}
.territory-map-intro{padding-bottom:8px}
.territory-map-intro p{
  max-width:570px;
  margin:0 0 25px;
  color:var(--muted);
  font-size:1.02rem;
  line-height:1.75;
}
.territory-map-browser{
  padding:18px;
  border:1px solid rgba(28,25,22,.075);
  border-radius:36px;
  background:rgba(255,255,255,.78);
  box-shadow:0 28px 90px rgba(40,33,27,.11);
  backdrop-filter:blur(18px);
}
[data-theme="dark"] .territory-map-browser{
  border-color:rgba(255,255,255,.075);
  background:rgba(34,36,40,.78);
  box-shadow:0 28px 90px rgba(0,0,0,.28);
}
.map-category-rail,
.find-category-rail{
  display:flex;
  gap:8px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scrollbar-width:none;
  padding:0 0 16px;
}
.map-category-rail::-webkit-scrollbar,
.find-category-rail::-webkit-scrollbar{display:none}
.map-category-button,
.find-category-button{
  flex:0 0 auto;
  min-width:92px;
  border:0;
  border-radius:18px;
  background:transparent;
  color:var(--muted);
  padding:13px 14px 11px;
  display:grid;
  justify-items:center;
  gap:7px;
  cursor:pointer;
  font-size:.68rem;
  font-weight:700;
  transition:background .28s ease,color .28s ease,transform .28s cubic-bezier(.2,.75,.2,1),box-shadow .28s ease;
}
.map-category-button:hover,
.find-category-button:hover{
  color:var(--red);
  transform:translateY(-2px);
}
.map-category-button.is-active,
.find-category-button.is-active{
  color:var(--red);
  background:rgba(151,46,71,.075);
  box-shadow:inset 0 0 0 1px rgba(151,46,71,.06);
}
[data-theme="dark"] .map-category-button.is-active,
[data-theme="dark"] .find-category-button.is-active{background:rgba(184,91,114,.13)}
.map-category-icon,
.find-category-icon{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
}
.map-category-icon svg,
.find-category-icon svg,
.find-card-category-icon svg,
.vv-map-marker svg,
.admin-category-visual svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.territory-map-frame{
  position:relative;
  height:clamp(520px,62vw,720px);
  overflow:hidden;
  border-radius:28px;
  background:#dfe5d8;
  isolation:isolate;
}
.territory-map-canvas{position:absolute;inset:0;z-index:1}
.territory-map-curtain{
  position:absolute;
  z-index:620;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  overflow:hidden;
  color:#fff;
  background:linear-gradient(145deg,#a23a55 0%,#972e47 47%,#6f1d34 100%);
  transition:transform 1.18s cubic-bezier(.76,0,.24,1) .22s;
}
.territory-map-curtain strong{
  position:relative;
  z-index:3;
  text-transform:uppercase;
  font-size:.68rem;
  letter-spacing:.22em;
}
.territory-map-curtain small{position:relative;z-index:3;opacity:.72;letter-spacing:.08em}
.territory-map-grid{
  position:absolute;
  inset:-35%;
  opacity:.22;
  background-image:
    linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);
  background-size:52px 52px;
  transform:perspective(650px) rotateX(62deg) translateY(22%);
  animation:vvMapGrid 3.6s linear infinite;
}
@keyframes vvMapGrid{to{background-position:0 52px,52px 0}}
.territory-map-scan{
  position:absolute;
  z-index:2;
  left:-10%;
  right:-10%;
  top:-4px;
  height:2px;
  background:linear-gradient(90deg,transparent,#fff,transparent);
  box-shadow:0 0 24px rgba(255,255,255,.8);
  animation:vvMapScan 1.7s ease-in-out infinite;
}
@keyframes vvMapScan{to{top:105%}}
.territory-map-section.is-map-ready .territory-map-curtain{transform:translateY(-103%)}
.territory-map-status{
  position:absolute;
  z-index:580;
  left:20px;
  bottom:20px;
  min-width:205px;
  padding:13px 16px;
  border:1px solid rgba(255,255,255,.58);
  border-radius:17px;
  background:rgba(255,255,255,.88);
  color:#26221f;
  box-shadow:0 16px 44px rgba(35,30,25,.16);
  backdrop-filter:blur(15px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
}
.territory-map-status span{font-size:.69rem}
.territory-map-status strong{font-size:1rem;color:var(--red)}
.territory-map-status small{color:#77706a;font-size:.6rem;text-align:right}

/* Marker e cluster condivisi */
.vv-map-marker-shell,
.vv-map-cluster-shell{background:transparent!important;border:0!important}
.vv-map-marker{
  position:relative;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border:3px solid #fff;
  border-radius:50% 50% 50% 12%;
  background:var(--red);
  color:#fff;
  box-shadow:0 13px 28px rgba(62,29,38,.3);
  transform:rotate(-45deg) scale(0);
  animation:vvMarkerIn .62s cubic-bezier(.2,.8,.2,1.25) var(--vv-marker-delay,0ms) forwards;
}
.vv-map-marker svg{
  width:23px;
  height:23px;
  transform:rotate(45deg);
  stroke-width:1.85;
}
.vv-map-marker:after{
  content:"";
  position:absolute;
  inset:-8px;
  border:1px solid rgba(151,46,71,.22);
  border-radius:50%;
  transform:rotate(45deg);
  opacity:0;
  transition:opacity .25s ease,transform .25s ease;
}
.leaflet-marker-icon:hover .vv-map-marker:after{opacity:1;transform:rotate(45deg) scale(1.1)}
@keyframes vvMarkerIn{to{transform:rotate(-45deg) scale(1)}}
.vv-map-cluster{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border:3px solid #fff;
  border-radius:50%;
  background:var(--red);
  color:#fff;
  font-size:.76rem;
  font-weight:900;
  box-shadow:0 13px 30px rgba(62,29,38,.32),0 0 0 8px rgba(151,46,71,.13);
}
.leaflet-container{font-family:var(--font-main)}
.leaflet-control-zoom{
  overflow:hidden;
  border:0!important;
  border-radius:15px!important;
  box-shadow:0 12px 35px rgba(35,30,25,.16)!important;
}
.leaflet-control-zoom a{border:0!important;color:var(--red)!important}
.leaflet-popup-content-wrapper{
  overflow:hidden;
  padding:0;
  border-radius:20px;
  background:#fff;
  box-shadow:0 22px 60px rgba(34,29,25,.22);
}
.leaflet-popup-content{width:auto!important;margin:0!important}
.leaflet-popup-tip{background:#fff}
.leaflet-popup-close-button{
  z-index:5;
  top:8px!important;
  right:8px!important;
  width:31px!important;
  height:31px!important;
  display:grid!important;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.92)!important;
  color:#2e2925!important;
  font-size:19px!important;
  box-shadow:0 7px 20px rgba(0,0,0,.14);
}
.vv-map-popup-card{
  width:280px;
  display:block;
  color:#24211e;
  text-decoration:none;
}
.vv-map-popup-media{
  height:146px;
  display:block;
  overflow:hidden;
  background:#eee8df;
}
.vv-map-popup-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.vv-map-popup-card:hover .vv-map-popup-media img{transform:scale(1.045)}
.vv-map-popup-placeholder{width:100%;height:100%;display:grid;place-items:center;background:var(--red);color:#fff;font-size:2rem}
.vv-map-popup-copy{display:block;padding:17px 18px 16px}
.vv-map-popup-copy small{
  display:block;
  margin-bottom:6px;
  color:var(--red);
  font-size:.55rem;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.vv-map-popup-copy strong{display:block;font-size:1.12rem;line-height:1.2}
.vv-map-popup-copy p{
  display:-webkit-box;
  overflow:hidden;
  margin:9px 0 12px;
  color:#706a64;
  font-size:.71rem;
  line-height:1.55;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.vv-map-popup-link{display:flex;justify-content:space-between;align-items:center;padding-top:11px;border-top:1px solid #eee7df;font-size:.66rem;font-weight:900}
.vv-map-popup-link i{color:var(--red);font-style:normal}

/* Pagina Trova: icone filtro a sinistra, listing e mappa sincronizzati */
.find-shell{
  height:calc(100vh - 113px);
  grid-template-columns:minmax(430px,43%) minmax(0,57%);
  background:#f4f3f1;
}
.find-results-panel{padding:32px 30px 42px;background:#faf9f7}
.find-head h1{font-size:clamp(2.65rem,3.8vw,4.25rem);line-height:.98;margin:9px 0 13px}
.find-head p{font-size:.84rem;line-height:1.65}
.find-category-rail{
  margin:24px -5px 5px;
  padding:5px 5px 15px;
  border-bottom:1px solid rgba(33,29,25,.08);
}
.find-category-button{min-width:78px;padding:10px 10px 9px;border-radius:15px;font-size:.61rem}
.find-category-icon{width:28px;height:28px}
.find-toolbar{
  display:flex;
  align-items:end;
  gap:10px;
  margin:15px 0 2px;
}
.find-municipality-field{display:grid;gap:5px;flex:1}
.find-municipality-field>span{font-size:.55rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.find-municipality-field select{
  width:100%;
  height:44px;
  border:1px solid rgba(38,34,30,.1);
  border-radius:13px;
  background:#fff;
  color:var(--ink);
  padding:0 13px;
  outline:none;
}
.find-reset-button{
  height:44px;
  border:1px solid rgba(38,34,30,.1);
  border-radius:13px;
  background:#fff;
  color:var(--red);
  padding:0 14px;
  font-size:.67rem;
  font-weight:900;
  cursor:pointer;
}
.find-count{padding:15px 0 13px}
.find-results{gap:11px}
.find-card{
  grid-template-columns:128px 1fr;
  min-height:136px;
  border:1px solid rgba(28,25,22,.07);
  border-radius:19px;
  background:#fff;
  box-shadow:0 12px 34px rgba(34,30,26,.045);
}
.find-card:hover,.find-card:focus-visible{transform:translateX(4px);border-color:rgba(151,46,71,.2);box-shadow:0 17px 43px rgba(34,30,26,.1);outline:none}
.find-card-media{position:relative;display:block;min-height:136px;overflow:hidden;background:#eee8df}
.find-card-media img,.find-card-media>.image-placeholder{width:100%;height:100%;object-fit:cover}
.find-card-category-icon{
  position:absolute;
  left:10px;
  top:10px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:2px solid #fff;
  border-radius:50%;
  background:var(--red);
  color:#fff;
  box-shadow:0 8px 18px rgba(55,25,34,.24);
}
.find-card-category-icon svg{width:18px;height:18px}
.find-card-copy{padding:14px 16px 13px}
.find-card-copy h3{font-size:1.22rem;line-height:1.15;margin:5px 0 7px}
.find-card-copy p{-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;font-size:.72rem;line-height:1.55}
.find-card-meta{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.61rem}
.find-map-panel #find-map{background:#dfe5d8}
.find-map-caption{
  position:absolute;
  z-index:500;
  left:auto;
  right:18px;
  top:18px;
  max-width:calc(100% - 100px);
  padding:12px 15px;
  border:1px solid rgba(255,255,255,.65);
  border-radius:15px;
  background:rgba(255,255,255,.9);
  color:#28231f;
  box-shadow:0 12px 34px rgba(33,29,25,.15);
  backdrop-filter:blur(13px);
  display:grid;
  gap:2px;
  pointer-events:none;
}
.find-map-caption span{font-size:.69rem;font-weight:900;color:var(--red)}
.find-map-caption small{font-size:.56rem;color:#746e68}
.is-find-loading .find-map-caption{opacity:.72}

/* Categorie nella dashboard: la scelta alimenta marker e filtri. */
.admin-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.admin-category-option{position:relative;cursor:pointer}
.admin-category-option input{position:absolute;opacity:0;pointer-events:none}
.admin-category-option>span,.admin-category-option>strong{pointer-events:none}
.admin-category-option{
  min-height:95px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:7px;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--surface-2);
  color:var(--muted);
  text-align:center;
  transition:.22s ease;
}
.admin-category-option:hover{transform:translateY(-2px);border-color:rgba(151,46,71,.22);color:var(--red)}
.admin-category-option:has(input:checked){background:rgba(151,46,71,.085);border-color:rgba(151,46,71,.26);color:var(--red);box-shadow:inset 0 0 0 1px rgba(151,46,71,.08)}
.admin-category-visual{width:28px;height:28px;display:grid;place-items:center}
.admin-category-option strong{font-size:.66rem}

/* Ingresso della nuova mappa durante lo scroll. */
.js .territory-map-browser.vv-auto-reveal,
.js .territory-map-browser[data-vv-reveal]{
  opacity:0;
  transform:translateY(38px) scale(.985);
  clip-path:inset(12% 0 0 0 round 36px);
  transition:opacity .8s ease var(--vv-delay,0ms),transform 1.02s cubic-bezier(.2,.75,.2,1) var(--vv-delay,0ms),clip-path 1.15s cubic-bezier(.2,.75,.2,1) var(--vv-delay,0ms);
}
.js .territory-map-browser.vv-auto-reveal.is-visible,
.js .territory-map-browser[data-vv-reveal].is-visible{opacity:1;transform:none;clip-path:inset(0 0 0 0 round 36px)}

@media(max-width:1050px){
  .territory-map-heading{grid-template-columns:1fr;gap:25px}
  .territory-map-intro{max-width:680px}
  .admin-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:850px){
  .territory-map-section{padding:88px 0 80px}
  .territory-map-heading{margin-bottom:31px}
  .territory-map-heading h2{font-size:clamp(3.2rem,10vw,5rem)}
  .territory-map-browser{padding:12px;border-radius:28px}
  .territory-map-frame{height:62vh;min-height:470px;border-radius:22px}
  .map-category-button{min-width:82px}
  .find-shell{height:auto;grid-template-columns:1fr}
  .find-map-panel{order:-1;height:58vh;min-height:440px}
  .find-results-panel{padding:28px 20px 45px}
  .find-category-rail{margin-inline:-4px}
}
@media(max-width:560px){
  .territory-map-section{padding:72px 0 65px}
  .territory-map-heading h2{font-size:2.8rem}
  .territory-map-intro p{font-size:.88rem}
  .territory-map-browser{width:calc(100% - 16px);padding:8px;border-radius:24px}
  .map-category-rail{padding:2px 2px 10px}
  .map-category-button{min-width:72px;padding:9px 8px 8px;font-size:.58rem}
  .map-category-icon{width:27px;height:27px}
  .territory-map-frame{height:56vh;min-height:410px;border-radius:18px}
  .territory-map-status{left:12px;right:12px;bottom:12px;min-width:0}
  .vv-map-popup-card{width:250px}
  .vv-map-popup-media{height:126px}
  .find-map-panel{height:52vh;min-height:400px}
  .find-map-caption{left:auto;right:12px;top:12px;max-width:calc(100% - 86px)}
  .find-category-button{min-width:70px}
  .find-toolbar{align-items:stretch;flex-direction:column}
  .find-reset-button{width:100%}
  .find-card{grid-template-columns:104px 1fr;min-height:126px}
  .find-card-media{min-height:126px}
  .find-card-copy{padding:12px 13px}
  .find-card-copy h3{font-size:1.05rem}
  .find-card-copy p{display:none}
  .admin-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){
  .territory-map-grid,.territory-map-scan,.vv-map-marker{animation:none!important}
  .territory-map-curtain{transition:none!important}
  .territory-map-section.is-map-ready .territory-map-curtain{display:none}
  .vv-map-marker{transform:rotate(-45deg) scale(1)}
}

/* =========================================================
   EXPERIENCE — V14
   Eventi futuri + pacchetti turistici in un unico deck tech.
   ========================================================= */
.vv-experience-section{
  --experience-red:#972e47;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:118px 0 92px;
  background:
    radial-gradient(circle at 14% 18%,rgba(151,46,71,.31),transparent 28%),
    radial-gradient(circle at 88% 76%,rgba(132,91,51,.18),transparent 25%),
    linear-gradient(145deg,#0d0d0f 0%,#171317 52%,#09090b 100%);
  color:#fff;
}
.vv-experience-section:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  opacity:.17;
  background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:76px 76px;
  mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent);
}
.vv-experience-grid{
  position:absolute;
  inset:-20% -10%;
  z-index:-1;
  opacity:.28;
  transform:perspective(900px) rotateX(72deg) translateY(26%);
  transform-origin:center bottom;
  background:repeating-linear-gradient(90deg,transparent 0 71px,rgba(151,46,71,.34) 72px 73px),repeating-linear-gradient(0deg,transparent 0 71px,rgba(151,46,71,.3) 72px 73px);
  animation:vvExperienceGrid 16s linear infinite;
}
@keyframes vvExperienceGrid{to{background-position:0 144px,0 144px}}
.vv-experience-orbit{position:absolute;right:7vw;top:70px;width:210px;height:210px;border:1px solid rgba(255,255,255,.1);border-radius:50%;opacity:.75}
.vv-experience-orbit:before,.vv-experience-orbit:after{content:"";position:absolute;inset:28px;border:1px dashed rgba(151,46,71,.55);border-radius:50%;animation:vvOrbit 14s linear infinite}
.vv-experience-orbit:after{inset:65px;border-style:solid;animation-direction:reverse;animation-duration:9s}
.vv-experience-orbit i{position:absolute;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 18px #fff,0 0 34px var(--experience-red)}
.vv-experience-orbit i:nth-child(1){left:20px;top:56px}.vv-experience-orbit i:nth-child(2){right:32px;bottom:37px}.vv-experience-orbit i:nth-child(3){left:50%;top:50%;background:var(--experience-red)}
@keyframes vvOrbit{to{transform:rotate(360deg)}}
.vv-experience-head{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:46px;margin-bottom:46px}
.vv-experience-title{max-width:760px}
.vv-experience-signal{display:inline-flex;align-items:center;gap:9px;margin-bottom:16px;color:rgba(255,255,255,.58);font-size:.58rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.vv-experience-signal i{width:8px;height:8px;border-radius:50%;background:#e5627b;box-shadow:0 0 0 0 rgba(229,98,123,.55);animation:vvSignal 1.8s ease-out infinite}
@keyframes vvSignal{70%{box-shadow:0 0 0 10px rgba(229,98,123,0)}}
.vv-experience-title .eyebrow{color:#d6a7b2}
.vv-experience-title h2{margin:10px 0 18px;font-size:clamp(4.6rem,9.4vw,9rem);font-weight:700;line-height:.83;letter-spacing:-.075em;color:#fff}
.vv-experience-title h2 span{color:var(--experience-red);text-shadow:0 0 36px rgba(151,46,71,.55)}
.vv-experience-title p{max-width:630px;margin:0;color:rgba(255,255,255,.62);font-size:.94rem;line-height:1.75}
.vv-experience-controls{display:flex;flex-direction:column;align-items:flex-end;gap:19px;padding-bottom:8px}
.vv-experience-filters{display:flex;gap:6px;padding:5px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(255,255,255,.055);backdrop-filter:blur(16px)}
.vv-experience-filters button{height:38px;padding:0 17px;border:0;border-radius:999px;background:transparent;color:rgba(255,255,255,.58);font-family:inherit;font-size:.62rem;font-weight:900;cursor:pointer;transition:.25s ease}
.vv-experience-filters button:hover{color:#fff}.vv-experience-filters button.is-active{background:#fff;color:#151216;box-shadow:0 7px 22px rgba(0,0,0,.25)}
.vv-experience-arrows{display:flex;gap:9px}
.vv-experience-arrows button{width:48px;height:48px;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:rgba(255,255,255,.07);color:#fff;font-family:inherit;font-size:1.05rem;cursor:pointer;backdrop-filter:blur(14px);transition:.25s ease}
.vv-experience-arrows button:hover:not(:disabled){transform:translateY(-3px);background:#fff;color:#191519}.vv-experience-arrows button:disabled{opacity:.28;cursor:default}
.vv-experience-stage{position:relative;z-index:2;overflow-x:auto;overflow-y:hidden;padding:12px max(28px,calc((100vw - var(--wide,1440px))/2)) 34px;scrollbar-width:none;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;cursor:grab}
.vv-experience-stage::-webkit-scrollbar{display:none}.vv-experience-stage.is-dragging{cursor:grabbing;scroll-snap-type:none}
.vv-experience-track{display:flex;gap:22px;width:max-content;align-items:stretch}
.vv-experience-card{position:relative;width:clamp(350px,45vw,680px);min-height:590px;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(255,255,255,.11);border-radius:36px;background:#171518;color:#fff;text-decoration:none;scroll-snap-align:center;box-shadow:0 30px 80px rgba(0,0,0,.35);transform:scale(.94);opacity:.64;transition:transform .75s cubic-bezier(.2,.8,.2,1),opacity .5s ease,border-color .4s ease,box-shadow .5s ease}
.vv-experience-card.is-current{transform:scale(1);opacity:1;border-color:rgba(229,155,173,.35);box-shadow:0 42px 110px rgba(0,0,0,.5),0 0 0 1px rgba(151,46,71,.1)}
.vv-experience-card.is-filtered-out{display:none}
.vv-experience-media{position:relative;min-height:330px;overflow:hidden;background:#21181d}
.vv-experience-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.04);transition:transform 1.1s cubic-bezier(.2,.75,.2,1),filter .7s ease}
.vv-experience-card:hover .vv-experience-media img,.vv-experience-card.is-current .vv-experience-media img{transform:scale(1.035);filter:saturate(1.06) contrast(1.04)}
.vv-experience-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#972e47,#30101a);font-size:5rem;font-weight:900;letter-spacing:-.08em}
.vv-experience-shade{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 42%,rgba(13,11,13,.25) 72%,#171518 100%)}
.vv-experience-scanline{position:absolute;left:0;right:0;top:-15%;height:20%;opacity:0;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.2),transparent);mix-blend-mode:screen}
.is-experience-ready .vv-experience-card.is-current .vv-experience-scanline{animation:vvExperienceScan 5.2s ease-in-out 1.2s infinite}
@keyframes vvExperienceScan{0%,18%{top:-20%;opacity:0}32%{opacity:.85}70%{top:105%;opacity:.25}100%{top:105%;opacity:0}}
.vv-experience-copy{position:relative;z-index:2;display:flex;flex-direction:column;min-height:265px;padding:24px 28px 27px;background:linear-gradient(180deg,rgba(23,21,24,.94),#171518)}
.vv-experience-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.vv-experience-kind{display:inline-flex;align-items:center;min-height:27px;padding:0 11px;border:1px solid rgba(225,146,165,.25);border-radius:999px;background:rgba(151,46,71,.13);color:#e8a8b7;font-size:.54rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.vv-experience-number{color:rgba(255,255,255,.3);font-size:.66rem;font-weight:900;letter-spacing:.11em}
.vv-experience-tags{min-height:22px;display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.vv-experience-tags span{color:rgba(255,255,255,.5);font-size:.55rem;font-weight:700}
.vv-experience-copy h3{max-width:590px;margin:0 0 10px;font-size:clamp(1.7rem,2.55vw,2.75rem);line-height:1.07;letter-spacing:-.035em;color:#fff}
.vv-experience-copy>p{display:-webkit-box;overflow:hidden;margin:0;color:rgba(255,255,255,.58);font-size:.73rem;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.vv-experience-meta{display:flex;align-items:flex-end;gap:28px;margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.09)}
.vv-experience-meta>span{display:grid;gap:5px}.vv-experience-meta small{color:rgba(255,255,255,.38);font-size:.5rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.vv-experience-meta strong{max-width:260px;color:#fff;font-size:.66rem;line-height:1.35}
.vv-experience-meta i{width:43px;height:43px;display:grid;place-items:center;margin-left:auto;border-radius:50%;background:#fff;color:#171518;font-style:normal;font-size:1rem;transition:.3s ease}.vv-experience-card:hover .vv-experience-meta i{transform:rotate(45deg);background:#e4a4b3;color:#40141f}
.vv-experience-footer{position:relative;z-index:2;display:grid;grid-template-columns:minmax(180px,1fr) auto auto;align-items:center;gap:22px;margin-top:12px}
.vv-experience-progress{height:2px;overflow:hidden;background:rgba(255,255,255,.12)}.vv-experience-progress span{display:block;width:100%;height:100%;transform:scaleX(.1);transform-origin:left;background:linear-gradient(90deg,var(--experience-red),#e5a2b2);transition:transform .55s ease}
.vv-experience-footer>div:nth-child(2){display:flex;align-items:baseline;gap:8px;color:rgba(255,255,255,.4)}.vv-experience-footer>div:nth-child(2) strong{color:#fff;font-size:1.18rem}.vv-experience-footer>div:nth-child(2) span{opacity:.35}.vv-experience-footer>div:nth-child(2) small{font-size:.65rem}
.vv-experience-footer>a{color:#fff;font-size:.66rem;font-weight:900;text-decoration:none}.vv-experience-footer>a span{display:inline-block;margin-left:8px;color:#e5a2b2;transition:.25s ease}.vv-experience-footer>a:hover span{transform:translate(3px,-3px)}

/* Schede Experience importate dal PDF */
.experience-facts-inline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 32px}.experience-facts-inline p{display:grid;gap:7px;margin:0!important;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2)}.experience-facts-inline strong{color:var(--red);font-size:.56rem;letter-spacing:.11em;text-transform:uppercase}
.experience-price-box{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:34px 0;padding:22px 25px;border-radius:20px;background:var(--red);color:#fff}.experience-price-box small{font-size:.64rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.experience-price-box strong{font-size:1.25rem;text-align:right}.experience-disclaimer{padding:20px;border-left:3px solid var(--red);background:rgba(151,46,71,.06);font-size:.72rem!important}

/* Dashboard Experience e media inbox */
.experience-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:20px}.experience-admin-grid>.admin-panel{display:flex;flex-direction:column;min-height:410px}.admin-step{display:inline-grid;place-items:center;width:32px;height:32px;margin-bottom:13px;border-radius:50%;background:rgba(151,46,71,.1);color:var(--red);font-size:.58rem;font-weight:900}.experience-import-visual{position:relative;height:155px;display:grid;place-items:center;margin:14px 0 22px;overflow:hidden;border-radius:22px;background:linear-gradient(145deg,#1b1619,#35121e);color:#fff}.experience-import-visual span{position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%;animation:vvOrbit 10s linear infinite}.experience-import-visual span:nth-child(1){width:130px;height:130px}.experience-import-visual span:nth-child(2){width:92px;height:92px;animation-direction:reverse}.experience-import-visual span:nth-child(3){width:54px;height:54px;border-color:rgba(230,156,174,.65)}.experience-import-visual strong{position:relative;z-index:2;font-size:2.4rem}.experience-import-visual small{position:absolute;bottom:24px;font-size:.52rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#dfa4b2}
.server-upload-steps{display:grid;gap:12px;margin:15px 0 18px;padding:0;list-style:none}.server-upload-steps li{display:flex;align-items:center;gap:12px}.server-upload-steps li>span{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:var(--surface-2);color:var(--red);font-size:.58rem;font-weight:900}.server-upload-steps li div{display:grid;gap:2px}.server-upload-steps strong{font-size:.69rem}.server-upload-steps small{color:var(--muted);font-size:.58rem;line-height:1.4}.private-path-box{display:grid;gap:7px;margin:auto 0 15px;padding:13px;border:1px dashed rgba(151,46,71,.25);border-radius:13px;background:rgba(151,46,71,.04)}.private-path-box small{font-size:.5rem;font-weight:900;text-transform:uppercase;color:var(--red)}.private-path-box code{overflow-wrap:anywhere;font-size:.58rem;color:var(--ink)}
.experience-scan-progress{margin-top:15px}.experience-scan-progress>div{height:7px;overflow:hidden;border-radius:999px;background:var(--surface-2)}.experience-scan-progress>div span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:var(--red);transition:transform .25s ease}.experience-scan-progress p{display:flex;justify-content:space-between;gap:10px;margin:8px 0 0}.experience-scan-progress strong{font-size:.62rem}.experience-scan-progress small{color:var(--muted);font-size:.54rem;text-align:right}
.share-link-box{display:flex;gap:8px;margin:auto 0 14px}.share-link-box input{min-width:0;flex:1;border:1px solid var(--line);border-radius:12px;padding:0 12px;background:var(--surface-2);font-family:inherit;font-size:.58rem}.text-danger-button{border:0;background:none;color:#a62635;font-family:inherit;font-size:.6rem;font-weight:900;cursor:pointer}.panel-counter{display:inline-flex;padding:7px 10px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:.57rem;font-weight:900}
.experience-assignment-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.experience-assignment-form label{display:grid;gap:7px}.experience-assignment-form label>span{font-size:.54rem;font-weight:900;text-transform:uppercase;color:var(--muted)}.experience-assignment-form select{height:47px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);color:var(--ink);padding:0 12px;font-family:inherit}.experience-admin-list{display:grid;gap:8px}.experience-admin-list article{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:14px;padding:9px;border:1px solid var(--line);border-radius:15px}.experience-admin-thumb{width:64px;height:54px;overflow:hidden;border-radius:10px;background:var(--red);color:#fff;display:grid;place-items:center;font-size:.72rem;font-weight:900}.experience-admin-thumb img{width:100%;height:100%;object-fit:cover}.experience-admin-list article>div:nth-child(2){display:grid;gap:3px}.experience-admin-list small{color:var(--red);font-size:.49rem;font-weight:900;text-transform:uppercase}.experience-admin-list strong{font-size:.69rem}.experience-admin-list span{color:var(--muted);font-size:.56rem}.experience-admin-list article>a{font-size:.58rem;font-weight:900;color:var(--red);text-decoration:none}

/* Galleria pubblica temporanea delle foto Experience */
.experience-review-main{min-height:100vh;padding:80px 0 100px;background:#f3f2f0}.experience-review-hero{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}.experience-review-hero h1{margin:8px 0 12px;font-size:clamp(3.4rem,7vw,7rem);line-height:.9}.experience-review-hero p{color:var(--muted)}.experience-review-hero form{display:flex;gap:8px}.experience-review-hero input{height:46px;min-width:280px;border:1px solid #ddd6cf;border-radius:999px;background:#fff;padding:0 17px;font-family:inherit}.experience-review-hero button{height:46px;border:0;border-radius:999px;background:var(--red);color:#fff;padding:0 18px;font-family:inherit;font-weight:900;cursor:pointer}.experience-review-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.experience-review-grid figure{overflow:hidden;margin:0;border-radius:18px;background:#fff;box-shadow:0 12px 36px rgba(33,29,25,.07)}.experience-review-grid figure>a{display:block;aspect-ratio:4/3;overflow:hidden;background:#e9e5df}.experience-review-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.experience-review-grid figure:hover img{transform:scale(1.035)}.experience-review-grid figcaption{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:11px 12px}.experience-review-grid figcaption strong{color:var(--red);font-size:.55rem}.experience-review-grid figcaption span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.57rem}.experience-review-grid figcaption small{color:var(--muted);font-size:.51rem}.experience-review-pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:36px}.experience-review-pagination a{color:var(--red);font-size:.64rem;font-weight:900;text-decoration:none}.experience-review-pagination span{color:var(--muted);font-size:.6rem}

@media(max-width:1050px){
  .vv-experience-head{align-items:flex-start;flex-direction:column}.vv-experience-controls{width:100%;align-items:flex-start}.vv-experience-orbit{right:-55px;top:90px}.experience-admin-grid{grid-template-columns:1fr 1fr}.experience-admin-grid>.admin-panel:last-child{grid-column:1/-1;min-height:260px}.experience-review-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .vv-experience-section{padding:86px 0 70px}.vv-experience-title h2{font-size:clamp(4rem,19vw,6rem)}.vv-experience-title p{font-size:.82rem}.vv-experience-controls{gap:13px}.vv-experience-filters{max-width:100%;overflow-x:auto}.vv-experience-stage{padding-inline:16px}.vv-experience-card{width:86vw;min-height:540px;border-radius:28px}.vv-experience-media{min-height:290px}.vv-experience-copy{min-height:245px;padding:21px}.vv-experience-copy h3{font-size:1.62rem}.vv-experience-meta{gap:15px}.vv-experience-meta>span:nth-child(2){display:none}.vv-experience-footer{grid-template-columns:1fr auto}.vv-experience-footer>a{grid-column:1/-1}.vv-experience-orbit{display:none}.experience-facts-inline{grid-template-columns:1fr}.experience-admin-grid{grid-template-columns:1fr}.experience-admin-grid>.admin-panel:last-child{grid-column:auto}.experience-assignment-form{grid-template-columns:1fr}.experience-review-hero{align-items:stretch;flex-direction:column}.experience-review-hero form{width:100%}.experience-review-hero input{min-width:0;flex:1}.experience-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
  .vv-experience-card{width:90vw;min-height:510px}.vv-experience-media{min-height:260px}.vv-experience-copy{min-height:250px}.vv-experience-title h2{font-size:3.65rem}.vv-experience-arrows button{width:43px;height:43px}.experience-review-grid{grid-template-columns:1fr}.experience-review-main{padding-top:55px}
}
@media(prefers-reduced-motion:reduce){
  .vv-experience-grid,.vv-experience-orbit:before,.vv-experience-orbit:after,.vv-experience-signal i,.vv-experience-scanline{animation:none!important}.vv-experience-card{transition:none!important}
}


/* V15 · Piano fotografico curato Experience */
.experience-curated-plan-panel{position:relative;overflow:hidden;margin-bottom:28px;background:linear-gradient(135deg,rgba(151,46,71,.06),rgba(255,255,255,.96) 42%,rgba(151,46,71,.04));}
.experience-curated-plan-panel:after{content:"";position:absolute;inset:auto -90px -110px auto;width:260px;height:260px;border:1px solid rgba(151,46,71,.14);border-radius:50%;box-shadow:0 0 0 32px rgba(151,46,71,.035),0 0 0 64px rgba(151,46,71,.02);pointer-events:none;}
.experience-plan-summary{display:flex;align-items:center;gap:16px;margin:18px 0 22px;padding:18px;border:1px solid rgba(151,46,71,.12);border-radius:20px;background:rgba(255,255,255,.78);}
.experience-plan-summary>span{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:15px;background:#972e47;color:#fff;font-size:20px;box-shadow:0 12px 30px rgba(151,46,71,.22);}
.experience-plan-summary div{display:grid;gap:4px}.experience-plan-summary strong{font-size:16px}.experience-plan-summary small{color:var(--muted);line-height:1.5}
@media(max-width:720px){.experience-plan-summary{align-items:flex-start}.experience-curated-plan-panel .panel-counter{display:none}}

/* =========================================================
   STABILITY & POLISH — V16
   Trova stabile, caroselli cliccabili, Experience più compatta.
   ========================================================= */

/* Trova non usa reveal progressivi: i risultati vengono sostituiti durante
   pan/zoom e devono rimanere stabili, leggibili e cliccabili. */
.find-page .find-shell [data-vv-reveal],
.find-page .find-shell .vv-auto-reveal,
.find-page .find-shell .vv-reveal-card{
  opacity:1!important;
  filter:none!important;
  transform:none!important;
  transition:none!important;
  will-change:auto!important;
}
.find-results-panel{
  overscroll-behavior:contain;
  overflow-anchor:none;
  scrollbar-gutter:stable;
}
.find-results{position:relative;min-height:130px;overflow-anchor:none}
.find-shell.is-find-loading .find-results{opacity:.72;pointer-events:none}
.find-shell.is-find-loading .find-count:after{
  content:" · aggiornamento";
  color:var(--red);
  font-size:.62rem;
  font-weight:900;
}
.find-card{transform:none!important}
.find-card:hover,.find-card:focus-visible{transform:translateX(4px)!important}
.find-card.is-selected{
  border-color:rgba(151,46,71,.42);
  box-shadow:0 17px 46px rgba(72,26,41,.15),inset 3px 0 0 #972e47;
}
.vv-map-marker-shell.is-listing-highlighted .vv-map-marker{
  transform:rotate(-45deg) scale(1.16);
  filter:drop-shadow(0 13px 16px rgba(68,24,39,.34));
  z-index:20;
}

/* Experience: più aria nel titolo e card più compatte. */
.vv-experience-head{align-items:flex-end;margin-bottom:58px}
.vv-experience-title{max-width:820px}
.vv-experience-title h2{
  margin:13px 0 30px;
  font-size:clamp(4.2rem,8.1vw,7.7rem);
  line-height:.9;
  letter-spacing:-.025em;
}
.vv-experience-title p{max-width:660px;font-size:.98rem;line-height:1.85}
.vv-experience-controls{padding-bottom:3px}
.vv-experience-stage{padding-top:7px;padding-bottom:30px}
.vv-experience-track{gap:18px}
.vv-experience-card{
  width:clamp(310px,34vw,520px);
  min-height:500px;
  border-radius:30px;
}
.vv-experience-media{min-height:270px}
.vv-experience-copy{min-height:220px;padding:21px 23px 23px}
.vv-experience-copy h3{font-size:clamp(1.45rem,2vw,2.15rem);letter-spacing:-.02em}
.vv-experience-copy>p{font-size:.69rem}
.vv-experience-meta{gap:18px;padding-top:15px}
.vv-experience-meta i{width:39px;height:39px}

@media(max-width:1050px){
  .vv-experience-head{align-items:flex-start}
  .vv-experience-title h2{margin-bottom:25px}
  .vv-experience-card{width:clamp(310px,48vw,500px)}
}
@media(max-width:760px){
  .vv-experience-head{margin-bottom:38px}
  .vv-experience-title h2{font-size:clamp(3.75rem,17vw,5.4rem);letter-spacing:-.015em;margin-bottom:22px}
  .vv-experience-title p{font-size:.83rem;line-height:1.75}
  .vv-experience-card{width:78vw;min-height:470px;border-radius:25px}
  .vv-experience-media{min-height:245px}
  .vv-experience-copy{min-height:215px;padding:19px}
}
@media(max-width:480px){
  .vv-experience-card{width:82vw;min-height:450px}
  .vv-experience-media{min-height:225px}
  .vv-experience-copy{min-height:215px}
  .vv-experience-title h2{font-size:3.45rem}
}

/* =========================================================
   V17 — click affidabili, Experience alleggerita, ordine home
   ========================================================= */
.place-carousel-card > *,
.vv-experience-card > *{pointer-events:none}
.place-carousel-card img,
.vv-experience-card img{-webkit-user-drag:none;user-select:none}

/* Il deck resta tech, ma senza animazioni di sfondo continue che appesantiscono lo scroll. */
.vv-experience-grid{animation:none!important;background-position:center}
.vv-experience-orbit:before,
.vv-experience-orbit:after{animation-duration:30s}
.vv-experience-signal i{animation-duration:2.8s}
.vv-experience-card{
  contain:layout paint style;
  content-visibility:auto;
  contain-intrinsic-size:500px 520px;
  backface-visibility:hidden;
}
.vv-experience-media img{
  transform:translateZ(0);
  backface-visibility:hidden;
}
.vv-experience-section:not(.is-experience-ready) .vv-experience-orbit:before,
.vv-experience-section:not(.is-experience-ready) .vv-experience-orbit:after,
.vv-experience-section:not(.is-experience-ready) .vv-experience-signal i{animation-play-state:paused}

/* La mappa chiude la homepage prima del footer. */
.home-page .territory-map-section{margin-bottom:0}

@media(max-width:760px){
  .vv-experience-card{contain-intrinsic-size:470px 78vw}
}

/* =========================================================
   V18 — Experience compatta e struttura homepage riparata
   ========================================================= */
.vv-experience-section{
  padding:96px 0 72px;
}
.vv-experience-head{
  margin-bottom:38px;
}
.vv-experience-stage{
  padding-top:4px;
  padding-bottom:20px;
}
.vv-experience-track{
  gap:18px;
  align-items:flex-start;
}
.vv-experience-card{
  width:clamp(320px,31vw,450px);
  height:520px;
  min-height:0;
  grid-template-rows:260px minmax(0,1fr);
  border-radius:28px;
  transform:scale(.975);
  content-visibility:visible;
  contain:layout paint style;
  contain-intrinsic-size:auto;
}
.vv-experience-card.is-current{
  transform:scale(1);
}
.vv-experience-media{
  min-height:0;
  height:260px;
}
.vv-experience-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.vv-experience-copy{
  min-height:0;
  height:260px;
  padding:20px 22px 21px;
  overflow:hidden;
}
.vv-experience-copy h3{
  margin-bottom:9px;
  font-size:clamp(1.35rem,1.8vw,1.85rem);
  line-height:1.08;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.vv-experience-copy>p{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  min-height:0;
  margin-bottom:12px;
}
.vv-experience-meta{
  margin-top:auto;
}
.vv-experience-footer{
  margin-top:20px;
}

@media(max-width:980px){
  .vv-experience-card{
    width:clamp(310px,48vw,420px);
    height:500px;
    grid-template-rows:245px minmax(0,1fr);
  }
  .vv-experience-media{height:245px}
  .vv-experience-copy{height:255px}
}

@media(max-width:760px){
  .vv-experience-section{padding:78px 0 60px}
  .vv-experience-head{margin-bottom:30px}
  .vv-experience-card{
    width:82vw;
    height:470px;
    grid-template-rows:225px minmax(0,1fr);
    border-radius:24px;
  }
  .vv-experience-media{height:225px}
  .vv-experience-copy{height:245px;padding:18px}
  .vv-experience-copy h3{font-size:1.45rem}
  .vv-experience-copy>p{-webkit-line-clamp:2}
}

@media(max-width:480px){
  .vv-experience-card{
    width:86vw;
    height:450px;
    grid-template-rows:210px minmax(0,1fr);
  }
  .vv-experience-media{height:210px}
  .vv-experience-copy{height:240px}
}

/* =========================================================
   V19 — titoli Experience completi e adattivi
   ========================================================= */
.vv-experience-card{
  height:548px;
  grid-template-rows:248px minmax(0,1fr);
}
.vv-experience-media{
  height:248px;
}
.vv-experience-copy{
  height:300px;
  padding:20px 22px 21px;
}
.vv-experience-copy h3{
  display:block;
  max-width:none;
  max-height:none;
  min-height:0;
  margin:0 0 10px;
  overflow:visible;
  font-size:clamp(1.38rem,1.62vw,1.7rem);
  line-height:1.17;
  letter-spacing:-.012em;
  text-wrap:balance;
  -webkit-box-orient:initial;
  -webkit-line-clamp:unset;
}
.vv-experience-copy h3.is-long-title{
  font-size:clamp(1.24rem,1.48vw,1.52rem);
  line-height:1.18;
}
.vv-experience-copy h3.is-very-long-title{
  font-size:clamp(1.12rem,1.32vw,1.36rem);
  line-height:1.2;
}
.vv-experience-copy>p{
  -webkit-line-clamp:2;
}

@media(max-width:980px){
  .vv-experience-card{
    height:530px;
    grid-template-rows:238px minmax(0,1fr);
  }
  .vv-experience-media{height:238px}
  .vv-experience-copy{height:292px}
}

@media(max-width:760px){
  .vv-experience-card{
    height:510px;
    grid-template-rows:218px minmax(0,1fr);
  }
  .vv-experience-media{height:218px}
  .vv-experience-copy{height:292px;padding:18px}
  .vv-experience-copy h3{
    font-size:1.34rem;
    line-height:1.18;
  }
  .vv-experience-copy h3.is-long-title{font-size:1.2rem}
  .vv-experience-copy h3.is-very-long-title{font-size:1.08rem;line-height:1.22}
}

@media(max-width:480px){
  .vv-experience-card{
    height:492px;
    grid-template-rows:202px minmax(0,1fr);
  }
  .vv-experience-media{height:202px}
  .vv-experience-copy{height:290px}
}

/* =========================================================
   V20 — Experience in evidenza nel primo blocco della home
   ========================================================= */
.journey-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.journey-card,
.journey-inspire,
.journey-explore,
.journey-plan,
.journey-experience{
  min-height:570px;
}
.journey-card h3{
  font-size:clamp(2rem,2.75vw,3.2rem);
}

/* La prima card è volutamente più scura per rendere Experience
   la porta d'ingresso principale alle proposte da non perdere. */
.journey-experience{
  color:#fff;
  border-color:rgba(229,150,172,.22);
  background:
    radial-gradient(circle at 82% 9%,rgba(151,46,71,.38),transparent 34%),
    radial-gradient(circle at 10% 92%,rgba(151,46,71,.22),transparent 38%),
    linear-gradient(155deg,#21151a 0%,#100d0f 56%,#080708 100%);
  box-shadow:0 24px 70px rgba(17,8,12,.24);
}
.journey-experience::after{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  opacity:.22;
  background-image:
    linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,#000,transparent 50%);
}
.journey-experience .journey-card-head,
.journey-experience .journey-media{
  position:relative;
  z-index:1;
}
.journey-experience h3{color:#fff}
.journey-experience p{color:rgba(255,255,255,.68)}
.journey-experience .journey-meta span{
  color:#fff;
  border-color:rgba(235,166,184,.5);
  background:rgba(151,46,71,.22);
}
.journey-experience .journey-meta small{color:rgba(255,255,255,.62)}
.journey-experience .journey-action{
  color:#fff;
  border-color:rgba(255,255,255,.2);
  background:rgba(255,255,255,.08);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.journey-experience:hover .journey-action{
  background:#fff;
  color:var(--red);
}
.journey-experience .journey-media{
  border:1px solid rgba(255,255,255,.1);
  background:#151114;
}
.journey-experience .journey-media::before{opacity:.32}
.journey-experience .journey-media::after{
  background:linear-gradient(180deg,transparent 38%,rgba(6,5,6,.78) 100%);
}
.journey-experience .journey-media img{
  filter:saturate(.9) contrast(1.06) brightness(.9);
}
.journey-experience:hover .journey-media img{
  filter:saturate(1.04) contrast(1.06) brightness(.94);
}

@media(max-width:1220px){
  .journey-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .journey-grid .journey-card,
  .journey-grid .journey-card:last-child{
    grid-column:auto;
    min-height:555px;
    grid-template-columns:1fr;
    grid-template-rows:auto minmax(290px,1fr);
  }
  .journey-grid .journey-card:last-child .journey-card-head{
    min-height:246px;
    justify-content:flex-start;
  }
  .journey-grid .journey-card:last-child .journey-media{
    height:auto;
    min-height:300px;
    margin:0 10px 10px;
  }
}

@media(max-width:760px){
  .journey-grid{grid-template-columns:1fr;gap:18px}
  .journey-grid .journey-card,
  .journey-grid .journey-card:last-child{
    min-height:510px;
    grid-template-columns:1fr;
    grid-template-rows:auto minmax(260px,1fr);
  }
  .journey-grid .journey-card:last-child .journey-card-head{
    min-height:218px;
    padding:25px 24px 23px;
  }
  .journey-grid .journey-card:last-child .journey-media{
    min-height:270px;
    margin:0 8px 8px;
    border-radius:22px;
  }
  .journey-card h3{font-size:clamp(2.2rem,11vw,3rem)}
}

/* V21 · Titoli reali e più leggibili nel carosello dei luoghi */
.place-carousel-copy h3{
  display:block;
  overflow:visible;
  min-height:2.08em;
  margin:12px 0 13px;
  font-size:clamp(1.82rem,2.25vw,2.42rem);
  line-height:1.04;
  letter-spacing:-.043em;
  text-wrap:balance;
  -webkit-line-clamp:unset;
}
.place-carousel-copy h3.is-long-title{
  font-size:clamp(1.62rem,1.92vw,2.05rem);
  line-height:1.07;
}
.place-carousel-copy h3.is-very-long-title{
  font-size:clamp(1.42rem,1.68vw,1.78rem);
  line-height:1.1;
}
@media (max-width:700px){
  .place-carousel-copy h3{
    min-height:0;
    font-size:1.9rem;
    line-height:1.04;
  }
  .place-carousel-copy h3.is-long-title{font-size:1.68rem}
  .place-carousel-copy h3.is-very-long-title{font-size:1.5rem}
}

/* =========================================================
   V22 — Card iniziali più larghe e ariose
   ========================================================= */
@media (min-width:1680px){
  .vv-journey-section{
    width:min(calc(100% - 32px),1920px);
  }
  .vv-journey-section .journey-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:22px;
  }
  .vv-journey-section .journey-card{
    min-width:0;
  }
  .vv-journey-section .journey-card-head{
    padding-inline:32px;
  }
  .vv-journey-section .journey-card h3{
    font-size:clamp(2.45rem,2.55vw,3.45rem);
  }
}

/* Nei desktop meno larghi evitiamo quattro colonne troppo compresse:
   due card per riga, mantenendo la gerarchia fotografica e testuale. */
@media (min-width:1221px) and (max-width:1679px){
  .vv-journey-section{
    width:min(calc(100% - 48px),1480px);
  }
  .vv-journey-section .journey-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
  }
  .vv-journey-section .journey-card,
  .vv-journey-section .journey-card:last-child{
    grid-column:auto;
    min-height:550px;
    grid-template-columns:1fr;
    grid-template-rows:auto minmax(290px,1fr);
  }
  .vv-journey-section .journey-card:last-child .journey-card-head{
    min-height:246px;
    justify-content:flex-start;
  }
  .vv-journey-section .journey-card:last-child .journey-media{
    height:auto;
    min-height:300px;
    margin:0 10px 10px;
  }
  .vv-journey-section .journey-card-head{
    padding-inline:32px;
  }
  .vv-journey-section .journey-card h3{
    font-size:clamp(2.75rem,4vw,3.7rem);
  }
  .vv-journey-section .journey-card p{
    max-width:520px;
  }
}

@media (max-width:760px){
  .vv-journey-section{
    width:min(100% - 24px,1380px);
  }
}

/* =========================================================
   V23 — Texture ambientali quasi trasparenti nella homepage
   Ogni sezione conserva il proprio colore, aggiungendo solo
   una trama tecnica molto leggera e non invasiva.
   ========================================================= */

/* Primo blocco: micro-griglia calda sopra la texture già presente. */
.home-page .vv-journey-section::after{
  opacity:.24;
  background-image:
    radial-gradient(circle at 1px 1px,rgba(151,46,71,.14) .55px,transparent .75px),
    linear-gradient(rgba(151,46,71,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(151,46,71,.045) 1px,transparent 1px);
  background-size:18px 18px,72px 72px,72px 72px;
  mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent);
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent);
}
[data-theme="dark"] .home-page .vv-journey-section::after{
  opacity:.18;
  background-image:
    radial-gradient(circle at 1px 1px,rgba(255,255,255,.16) .5px,transparent .72px),
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
}

/* Luoghi: trama editoriale chiara, quasi cartacea. */
.home-page .places-carousel-section{
  isolation:isolate;
}
.home-page .places-carousel-section::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.13;
  background-image:
    radial-gradient(circle at 1px 1px,rgba(74,67,62,.18) .5px,transparent .72px),
    repeating-linear-gradient(128deg,rgba(151,46,71,.05) 0 1px,transparent 1px 19px);
  background-size:17px 17px,auto;
  mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
}
[data-theme="dark"] .home-page .places-carousel-section::after{
  opacity:.11;
  background-image:
    radial-gradient(circle at 1px 1px,rgba(255,255,255,.2) .48px,transparent .72px),
    repeating-linear-gradient(128deg,rgba(184,91,114,.08) 0 1px,transparent 1px 19px);
}

/* Experience: una trama digitale sottile, più ferma e meno pesante. */
.home-page .vv-experience-section::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.12;
  background-image:
    radial-gradient(circle at 1px 1px,rgba(255,255,255,.19) .5px,transparent .75px),
    repeating-linear-gradient(135deg,rgba(229,150,172,.11) 0 1px,transparent 1px 24px);
  background-size:16px 16px,auto;
  mask-image:radial-gradient(ellipse at center,#000 0 62%,transparent 96%);
  -webkit-mask-image:radial-gradient(ellipse at center,#000 0 62%,transparent 96%);
}

/* Mappa: linee morbide che ricordano curve di livello topografiche. */
.home-page .territory-map-section{
  isolation:isolate;
}
.home-page .territory-map-section::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.18;
  background-image:
    repeating-radial-gradient(ellipse at 88% 14%,transparent 0 42px,rgba(151,46,71,.10) 43px 44px,transparent 45px 78px),
    radial-gradient(circle at 1px 1px,rgba(80,72,66,.13) .48px,transparent .72px);
  background-size:auto,20px 20px;
  mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 88%,transparent);
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 88%,transparent);
}
[data-theme="dark"] .home-page .territory-map-section::before{
  opacity:.14;
  background-image:
    repeating-radial-gradient(ellipse at 88% 14%,transparent 0 42px,rgba(214,167,178,.12) 43px 44px,transparent 45px 78px),
    radial-gradient(circle at 1px 1px,rgba(255,255,255,.15) .48px,transparent .72px);
}

/* Le texture restano ferme e leggere anche su mobile. */
@media (max-width:760px){
  .home-page .vv-journey-section::after,
  .home-page .places-carousel-section::after,
  .home-page .vv-experience-section::after,
  .home-page .territory-map-section::before{
    opacity:.09;
    background-size:22px 22px,auto;
  }
}

@media (prefers-reduced-motion:reduce){
  .home-page .vv-experience-section::after,
  .home-page .places-carousel-section::after,
  .home-page .territory-map-section::before,
  .home-page .vv-journey-section::after{
    animation:none!important;
  }
}

/* =========================================================
   V24 — Pagina Ispirati: percorsi editoriali tech e animati
   ========================================================= */
.inspiration-page{background:#f4f1ed}
.inspire-landing{overflow:hidden;background:
  radial-gradient(circle at 8% 10%,rgba(151,46,71,.07),transparent 27%),
  linear-gradient(180deg,#f6f3ef 0%,#eeeae5 100%)}
.inspire-landing-hero{position:relative;min-height:860px;padding:105px 0 34px;overflow:hidden;background:#120f11;color:#fff}
.inspire-landing-hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(circle at 18% 25%,rgba(151,46,71,.34),transparent 35%),
  linear-gradient(125deg,rgba(151,46,71,.11),transparent 45%),
  linear-gradient(180deg,transparent 62%,rgba(0,0,0,.38));pointer-events:none}
.inspire-hero-gridlines{position:absolute;inset:0;opacity:.16;background-image:
  linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:74px 74px;mask-image:linear-gradient(90deg,#000,transparent 80%)}
.inspire-hero-layout{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);align-items:center;gap:8vw}
.inspire-hero-copy{padding:40px 0 55px}
.inspire-hero-copy .eyebrow{color:#e7b8c3}
.inspire-hero-copy h1{font-size:clamp(5.3rem,8.6vw,10.2rem);line-height:.79;letter-spacing:-.075em;margin:22px 0 38px;max-width:760px}
.inspire-hero-copy h1 em{display:block;color:#fff;font-style:italic;font-weight:300;margin-left:.45em}
.inspire-hero-copy>p{max-width:650px;color:rgba(255,255,255,.68);font-size:clamp(1.08rem,1.45vw,1.32rem);line-height:1.75}
.inspire-hero-status{display:flex;align-items:center;gap:18px;margin-top:42px;color:rgba(255,255,255,.64);font-size:.72rem;text-transform:uppercase;letter-spacing:.15em}
.inspire-hero-status b{color:#fff;font-family:var(--serif);font-size:1.45rem;letter-spacing:0;margin-right:7px}
.inspire-hero-status i{width:42px;height:1px;background:rgba(255,255,255,.25)}
.inspire-hero-console{position:relative;aspect-ratio:1.08/1;min-height:590px;border-radius:44px;overflow:hidden;background:#21191d;box-shadow:0 48px 110px rgba(0,0,0,.46);isolation:isolate}
.inspire-console-images,.inspire-console-image{position:absolute;inset:0;margin:0}
.inspire-console-image{opacity:0;visibility:hidden;transform:scale(1.055);transition:opacity .65s ease,visibility .65s ease,transform 1.6s cubic-bezier(.2,.7,.2,1)}
.inspire-console-image.is-active{opacity:1;visibility:visible;transform:scale(1)}
.inspire-console-image img,.inspire-console-image .image-placeholder{width:100%;height:100%;object-fit:cover}
.inspire-console-images::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,8,10,.08),rgba(12,8,10,.15) 42%,rgba(12,8,10,.88));pointer-events:none}
.inspire-console-frame{position:absolute;z-index:4;inset:24px;pointer-events:none;border:1px solid rgba(255,255,255,.2);border-radius:28px}
.inspire-console-frame .corner{position:absolute;width:35px;height:35px;border-color:#e9a6b6;border-style:solid}
.inspire-console-frame .corner-tl{left:-1px;top:-1px;border-width:2px 0 0 2px;border-radius:12px 0 0 0}.inspire-console-frame .corner-tr{right:-1px;top:-1px;border-width:2px 2px 0 0;border-radius:0 12px 0 0}.inspire-console-frame .corner-bl{left:-1px;bottom:-1px;border-width:0 0 2px 2px;border-radius:0 0 0 12px}.inspire-console-frame .corner-br{right:-1px;bottom:-1px;border-width:0 2px 2px 0;border-radius:0 0 12px 0}
.inspire-console-scan{position:absolute;left:0;right:0;top:12%;height:1px;background:linear-gradient(90deg,transparent,#fff,transparent);box-shadow:0 0 18px rgba(255,255,255,.7);animation:inspireScan 5.8s ease-in-out infinite}
@keyframes inspireScan{0%,100%{transform:translateY(0);opacity:.18}50%{transform:translateY(430px);opacity:.72}}
.inspire-console-overlay{position:absolute;z-index:5;left:48px;right:48px;bottom:48px;display:flex;align-items:flex-end;gap:24px}
.inspire-console-overlay>span{font-family:var(--serif);font-size:3.5rem;line-height:1;color:#f0a7b8}
.inspire-console-overlay div{display:grid;gap:6px}.inspire-console-overlay small{text-transform:uppercase;letter-spacing:.18em;font-size:.62rem;color:rgba(255,255,255,.64)}.inspire-console-overlay strong{font-family:var(--serif);font-size:clamp(1.8rem,2.3vw,2.8rem);line-height:1.05}
.inspire-console-orbit{position:absolute;z-index:5;right:46px;top:44px;width:120px;height:120px;border:1px solid rgba(255,255,255,.18);border-radius:50%}.inspire-console-orbit::before,.inspire-console-orbit::after,.inspire-console-orbit i{content:"";position:absolute;inset:17px;border:1px solid rgba(235,153,173,.34);border-radius:50%}.inspire-console-orbit::after{inset:39px}.inspire-console-orbit i:nth-child(1){width:7px;height:7px;inset:20px auto auto 54px;border:0;background:#f0a7b8;box-shadow:0 0 18px #f0a7b8}.inspire-console-orbit i:nth-child(2){width:5px;height:5px;inset:auto 15px 34px auto;border:0;background:#fff}.inspire-console-orbit i:nth-child(3){inset:-1px;border-style:dashed;animation:inspireOrbit 14s linear infinite}@keyframes inspireOrbit{to{transform:rotate(360deg)}}
.inspire-quick-nav{position:relative;z-index:4;margin-top:62px;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.inspire-quick-nav a{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:13px;min-height:92px;padding:18px 20px;color:rgba(255,255,255,.56);text-decoration:none;border-right:1px solid rgba(255,255,255,.13);transition:.28s ease}
.inspire-quick-nav a:last-child{border-right:0}.inspire-quick-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-1px;height:2px;background:#e9a6b6;transition:.35s ease}.inspire-quick-nav a:hover,.inspire-quick-nav a.is-active{color:#fff;background:rgba(255,255,255,.035)}.inspire-quick-nav a.is-active::after{right:0}.inspire-quick-nav span{font-size:.64rem;letter-spacing:.14em;color:#e9a6b6}.inspire-quick-nav strong{font-size:.76rem;line-height:1.25}
.inspire-chapters{padding:120px 0 145px}
.inspire-chapters-intro{display:grid;grid-template-columns:1fr 1.05fr;column-gap:70px;align-items:end;margin-bottom:72px}
.inspire-chapters-intro .eyebrow{grid-column:1/-1;margin-bottom:15px}.inspire-chapters-intro h2{font-size:clamp(3.5rem,5.8vw,6.6rem);letter-spacing:-.06em}.inspire-chapters-intro p{max-width:620px;margin:0;color:var(--muted);font-size:1.13rem;line-height:1.75}
.inspire-chapter{position:relative;margin:0 0 38px;border-radius:42px;background:rgba(255,255,255,.78);border:1px solid rgba(61,44,38,.1);box-shadow:0 26px 70px rgba(52,39,33,.08);overflow:hidden;isolation:isolate;scroll-margin-top:125px;transition:box-shadow .45s ease,transform .45s cubic-bezier(.2,.7,.2,1)}
.inspire-chapter::before{content:"";position:absolute;z-index:0;inset:0;background:radial-gradient(520px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--inspire-accent) 14%,transparent),transparent 63%);opacity:0;transition:opacity .4s ease;pointer-events:none}.inspire-chapter:hover{transform:translateY(-7px);box-shadow:0 38px 95px rgba(52,39,33,.14)}.inspire-chapter:hover::before{opacity:1}
.inspire-chapter-link{position:relative;z-index:1;display:grid;grid-template-columns:minmax(440px,1.08fr) minmax(420px,.92fr);min-height:570px;text-decoration:none;color:inherit}.inspire-chapter.is-reverse .inspire-chapter-media{order:2}.inspire-chapter.is-reverse .inspire-chapter-copy{order:1}
.inspire-chapter-media{position:relative;overflow:hidden;background:#171315;min-height:570px}.inspire-chapter-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(10,8,9,.52));pointer-events:none}.inspire-chapter-media img,.inspire-chapter-media .image-placeholder{width:100%;height:100%;object-fit:cover;transition:transform 1.15s cubic-bezier(.2,.7,.2,1),filter .6s ease}.inspire-chapter:hover .inspire-chapter-media img{transform:scale(1.045);filter:saturate(1.05)}
.inspire-media-grid{position:absolute;z-index:2;inset:0;opacity:.14;background-image:linear-gradient(rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px);background-size:62px 62px;mask-image:linear-gradient(180deg,#000,transparent 75%)}
.inspire-chapter-number{position:absolute;z-index:3;left:30px;top:27px;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;border:1px solid rgba(255,255,255,.52);color:#fff;font-family:var(--serif);font-size:1.12rem;background:rgba(17,12,14,.16);backdrop-filter:blur(8px)}
.inspire-chapter-signal{position:absolute;z-index:3;left:30px;bottom:28px;color:#fff;text-transform:uppercase;letter-spacing:.19em;font-size:.63rem;font-weight:700}
.inspire-chapter-copy{display:flex;flex-direction:column;justify-content:center;padding:64px 66px 58px;min-width:0}
.inspire-chapter-topline{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.15em}.inspire-chapter-topline i{width:38px;height:1px;background:var(--line)}.inspire-theme-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid color-mix(in srgb,var(--inspire-accent) 45%,transparent);border-radius:50%;font-size:1.1rem;color:var(--inspire-accent)}
.inspire-chapter-copy h2{font-size:clamp(3.2rem,4.8vw,5.7rem);letter-spacing:-.06em;margin:30px 0 25px;text-wrap:balance}.inspire-chapter-copy>p{color:var(--muted);font-size:1.06rem;line-height:1.75;margin:0}
.inspire-related-preview{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}.inspire-related-preview span{padding:8px 12px;border-radius:999px;background:color-mix(in srgb,var(--inspire-accent) 8%,#fff);border:1px solid color-mix(in srgb,var(--inspire-accent) 22%,transparent);font-size:.69rem;color:color-mix(in srgb,var(--inspire-accent) 80%,#34272b)}
.inspire-chapter-action{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:37px;border-top:1px solid var(--line);font-weight:700}.inspire-chapter-action b{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--inspire-accent);color:#fff;font-size:1.25rem;transition:transform .3s ease}.inspire-chapter:hover .inspire-chapter-action b{transform:rotate(45deg)}
.inspire-closing{padding:22px 0 115px}.inspire-closing-inner{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;gap:45px;padding:72px;border-radius:42px;background:#171315;color:#fff}.inspire-closing-inner::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 15%,rgba(151,46,71,.54),transparent 38%),linear-gradient(90deg,transparent 60%,rgba(255,255,255,.03));pointer-events:none}.inspire-closing-inner>div,.inspire-closing-link{position:relative;z-index:1}.inspire-closing h2{font-size:clamp(3rem,5vw,5.6rem);letter-spacing:-.055em;margin-top:15px}.inspire-closing-link{display:flex;align-items:center;gap:28px;white-space:nowrap;color:#fff;text-decoration:none;font-weight:700}.inspire-closing-link span{display:grid;place-items:center;width:65px;height:65px;border-radius:50%;background:#fff;color:#972e47;font-size:1.45rem;transition:transform .3s ease}.inspire-closing-link:hover span{transform:rotate(45deg)}
.js .inspire-chapter.vv-auto-reveal .inspire-chapter-media{clip-path:inset(0 100% 0 0);transition:clip-path 1.05s cubic-bezier(.2,.75,.2,1)}.js .inspire-chapter.vv-auto-reveal.is-visible .inspire-chapter-media{clip-path:inset(0)}.js .inspire-chapter.is-reverse.vv-auto-reveal .inspire-chapter-media{clip-path:inset(0 0 0 100%)}.js .inspire-chapter.is-reverse.vv-auto-reveal.is-visible .inspire-chapter-media{clip-path:inset(0)}
.theme-dark .inspire-landing{background:#0f0d0e}.theme-dark .inspire-chapters-intro p{color:rgba(255,255,255,.55)}.theme-dark .inspire-chapter{background:rgba(26,22,24,.9);border-color:rgba(255,255,255,.09);box-shadow:0 25px 70px rgba(0,0,0,.24)}.theme-dark .inspire-related-preview span{background:rgba(255,255,255,.045);color:#ddd;border-color:rgba(255,255,255,.09)}
@media(max-width:1180px){.inspire-hero-layout{grid-template-columns:1fr 1fr;gap:45px}.inspire-hero-copy h1{font-size:clamp(5rem,8vw,8rem)}.inspire-hero-console{min-height:520px}.inspire-chapter-link{grid-template-columns:1fr 1fr;min-height:520px}.inspire-chapter-media{min-height:520px}.inspire-chapter-copy{padding:50px 44px}.inspire-chapter-copy h2{font-size:clamp(2.8rem,4.5vw,4.4rem)}}
@media(max-width:900px){.inspire-landing-hero{padding-top:70px;min-height:auto}.inspire-hero-layout{grid-template-columns:1fr}.inspire-hero-copy{padding-bottom:10px}.inspire-hero-copy h1{font-size:clamp(5rem,15vw,8rem)}.inspire-hero-console{min-height:540px}.inspire-quick-nav{overflow-x:auto;grid-template-columns:repeat(5,minmax(190px,1fr));scrollbar-width:none}.inspire-quick-nav::-webkit-scrollbar{display:none}.inspire-chapters{padding-top:90px}.inspire-chapters-intro{grid-template-columns:1fr;gap:25px}.inspire-chapter-link,.inspire-chapter.is-reverse .inspire-chapter-link{grid-template-columns:1fr}.inspire-chapter.is-reverse .inspire-chapter-media{order:1}.inspire-chapter.is-reverse .inspire-chapter-copy{order:2}.inspire-chapter-media{min-height:480px}.inspire-chapter-copy{min-height:430px;padding:48px}.inspire-closing-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.inspire-landing-hero{padding-top:45px}.inspire-hero-copy h1{font-size:clamp(4.3rem,22vw,6.4rem);margin-bottom:28px}.inspire-hero-copy>p{font-size:1rem}.inspire-hero-status{align-items:flex-start;flex-direction:column;gap:9px}.inspire-hero-status i{display:none}.inspire-hero-console{min-height:420px;border-radius:28px}.inspire-console-frame{inset:14px}.inspire-console-overlay{left:27px;right:27px;bottom:27px;gap:13px}.inspire-console-overlay>span{font-size:2.1rem}.inspire-console-overlay strong{font-size:1.45rem}.inspire-console-orbit{width:82px;height:82px;right:26px;top:25px}.inspire-quick-nav{margin-top:35px}.inspire-chapters{padding:75px 0 95px}.inspire-chapters-intro{margin-bottom:45px}.inspire-chapters-intro h2{font-size:3.25rem}.inspire-chapter{border-radius:28px;margin-bottom:22px}.inspire-chapter-media{min-height:340px}.inspire-chapter-copy{min-height:auto;padding:34px 27px}.inspire-chapter-copy h2{font-size:2.65rem;margin:23px 0 18px}.inspire-chapter-copy>p{font-size:.97rem}.inspire-related-preview{display:none}.inspire-chapter-topline i,.inspire-chapter-topline>span:last-child{display:none}.inspire-chapter-action{padding-top:26px;margin-top:30px}.inspire-closing{padding-bottom:75px}.inspire-closing-inner{padding:45px 27px;border-radius:28px}.inspire-closing h2{font-size:3rem}.inspire-closing-link{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.inspire-console-scan,.inspire-console-orbit i:nth-child(3){animation:none}.inspire-console-image,.inspire-chapter,.inspire-chapter-media img,.inspire-chapter-action b{transition:none!important}}

/* =========================================================
   V25 — Ispirati: tema corretto, titoli ariosi e card compatte
   ========================================================= */
.inspiration-page{background:var(--paper)}
.inspire-landing{
  background:
    radial-gradient(circle at 8% 10%,color-mix(in srgb,var(--red) 7%,transparent),transparent 27%),
    linear-gradient(180deg,var(--surface-2) 0%,var(--paper-2) 100%);
  color:var(--ink);
}
.inspire-landing h1,
.inspire-landing h2,
.inspire-landing h3,
.type-inspiration h1,
.type-inspiration h2,
.type-inspiration h3{
  letter-spacing:.012em;
  text-wrap:balance;
}
.inspire-landing-hero{min-height:700px;padding:78px 0 28px}
.inspire-hero-layout{grid-template-columns:minmax(0,.9fr) minmax(470px,1.1fr);gap:6vw}
.inspire-hero-copy{padding:22px 0 38px}
.inspire-hero-copy h1{
  font-size:clamp(3.8rem,6.2vw,7.2rem);
  line-height:.92;
  letter-spacing:.006em;
  margin:19px 0 30px;
  max-width:720px;
}
.inspire-hero-copy h1 em{margin-left:.22em}
.inspire-hero-copy>p{font-size:clamp(1rem,1.18vw,1.18rem);line-height:1.72}
.inspire-hero-status{margin-top:32px;letter-spacing:.17em}
.inspire-hero-console{min-height:480px;max-height:565px;border-radius:36px}
.inspire-console-overlay{left:38px;right:38px;bottom:36px;gap:19px}
.inspire-console-overlay>span{font-size:2.8rem}
.inspire-console-overlay small{letter-spacing:.2em}
.inspire-console-overlay strong{font-size:clamp(1.45rem,1.85vw,2.2rem);line-height:1.18;letter-spacing:.015em}
.inspire-console-orbit{width:100px;height:100px;right:36px;top:34px}
.inspire-quick-nav{margin-top:44px}
.inspire-quick-nav a{min-height:78px;padding:14px 17px;gap:11px}
.inspire-quick-nav strong{font-size:.74rem;line-height:1.4;letter-spacing:.025em}
.inspire-chapters{padding:88px 0 108px}
.inspire-chapters-intro{column-gap:56px;margin-bottom:52px}
.inspire-chapters-intro h2{font-size:clamp(2.45rem,4vw,4.55rem);line-height:1.08;letter-spacing:.012em}
.inspire-chapters-intro p{font-size:1.02rem;line-height:1.7}
.inspire-chapter{margin-bottom:25px;border-radius:34px}
.inspire-chapter-link{grid-template-columns:minmax(390px,1.02fr) minmax(390px,.98fr);min-height:430px}
.inspire-chapter-media{min-height:430px}
.inspire-chapter-copy{padding:40px 46px 36px}
.inspire-chapter-topline{letter-spacing:.17em}
.inspire-chapter-copy h2{
  font-size:clamp(2.15rem,3.2vw,3.65rem);
  line-height:1.12;
  letter-spacing:.012em;
  margin:22px 0 18px;
}
.inspire-chapter-copy>p{font-size:.98rem;line-height:1.7}
.inspire-related-preview{display:none!important}
.inspire-chapter-action{padding-top:25px;margin-top:28px}
.inspire-chapter-action b{width:46px;height:46px}
.inspire-closing{padding:12px 0 90px}
.inspire-closing-inner{padding:56px 60px;border-radius:34px}
.inspire-closing h2{font-size:clamp(2.35rem,3.9vw,4.4rem);line-height:1.1;letter-spacing:.012em}

/* Il tema è salvato su html[data-theme], non su una classe .theme-dark. */
[data-theme="dark"] body.inspiration-page{background:#0d0b0c}
[data-theme="dark"] .inspire-landing{
  background:
    radial-gradient(circle at 8% 10%,rgba(151,46,71,.16),transparent 28%),
    linear-gradient(180deg,#121012 0%,#0d0b0c 100%);
  color:var(--ink);
}
[data-theme="dark"] .inspire-chapters-intro p{color:var(--muted)}
[data-theme="dark"] .inspire-chapter{
  background:rgba(30,26,28,.92);
  border-color:rgba(255,255,255,.09);
  box-shadow:0 25px 70px rgba(0,0,0,.27);
}
[data-theme="dark"] .inspire-chapter-copy>p,
[data-theme="dark"] .inspire-chapter-topline{color:#bdb4b7}
[data-theme="dark"] .inspire-chapter-action{border-color:rgba(255,255,255,.1)}
[data-theme="dark"] .inspire-closing-inner{border:1px solid rgba(255,255,255,.08)}

/* Pagine singole dei cinque percorsi */
.type-inspiration .detail-hero h1{
  font-size:clamp(3rem,5.2vw,5.8rem);
  line-height:1.06;
  letter-spacing:.012em;
}
.type-inspiration .detail-hero p{font-size:1.08rem;line-height:1.65}
.inspiration-detail-body{grid-template-columns:minmax(0,920px);justify-content:center;padding-block:68px 82px}
.inspiration-detail-body .article-lead:empty{display:none}
.inspiration-detail-body .prose h2{font-size:clamp(2rem,3vw,3rem);line-height:1.15;letter-spacing:.012em}
.inspiration-detail-body .prose h3{font-size:clamp(1.55rem,2.2vw,2.15rem);line-height:1.2;letter-spacing:.012em}
.inspiration-listings-section{padding:88px 0 105px;background:var(--surface-2);border-top:1px solid var(--line)}
.inspiration-listings-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:60px;align-items:end;margin-bottom:45px}
.inspiration-listings-head h2{font-size:clamp(2.35rem,3.8vw,4.25rem);line-height:1.1;letter-spacing:.012em;margin-top:10px}
.inspiration-listings-head>p{margin:0;color:var(--muted);font-size:1rem;line-height:1.72}
.inspiration-listings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.inspiration-listing-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:26px;background:var(--surface);color:inherit;text-decoration:none;box-shadow:var(--shadow-soft);transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease}
.inspiration-listing-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--red) 38%,var(--line))}
.inspiration-listing-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--paper-2)}
.inspiration-listing-media img,.inspiration-listing-media .image-placeholder{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.inspiration-listing-card:hover .inspiration-listing-media img{transform:scale(1.045)}
.inspiration-listing-media>span{position:absolute;left:17px;top:17px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--red);font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em;backdrop-filter:blur(8px)}
.inspiration-listing-copy{display:flex;flex:1;flex-direction:column;padding:23px 23px 21px}
.inspiration-listing-copy small{color:var(--red);font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.16em}
.inspiration-listing-copy h3{font-size:clamp(1.38rem,1.7vw,1.82rem);line-height:1.22;letter-spacing:.012em;margin:9px 0 12px}
.inspiration-listing-copy p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.62}
.inspiration-listing-copy b{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding-top:22px;font-size:.78rem;border-top:1px solid var(--line)}
.inspiration-listing-copy b i{font-style:normal;color:var(--red);font-size:1.15rem}
.inspiration-listings-empty{padding:34px;border:1px dashed var(--line);border-radius:24px;color:var(--muted);background:var(--surface)}
[data-theme="dark"] .inspiration-listings-section{background:#151214}
[data-theme="dark"] .inspiration-listing-card{background:#211d1f;border-color:rgba(255,255,255,.09)}
[data-theme="dark"] .inspiration-listing-media>span{background:rgba(24,20,22,.9);color:#f0b0bf}

@media(max-width:1180px){
  .inspire-hero-layout{grid-template-columns:1fr 1fr;gap:38px}
  .inspire-hero-copy h1{font-size:clamp(3.6rem,6vw,5.9rem)}
  .inspire-hero-console{min-height:440px}
  .inspire-chapter-link{grid-template-columns:1fr 1fr;min-height:400px}
  .inspire-chapter-media{min-height:400px}
  .inspire-chapter-copy{padding:36px 38px}
  .inspire-chapter-copy h2{font-size:clamp(2rem,3.3vw,3.15rem)}
  .inspiration-listings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .inspire-landing-hero{padding-top:58px}
  .inspire-hero-layout{grid-template-columns:1fr}
  .inspire-hero-copy h1{font-size:clamp(3.4rem,10vw,5.5rem)}
  .inspire-hero-console{min-height:440px;max-height:none}
  .inspire-chapters{padding-top:72px}
  .inspire-chapters-intro{grid-template-columns:1fr;gap:20px}
  .inspire-chapter-link,.inspire-chapter.is-reverse .inspire-chapter-link{grid-template-columns:1fr}
  .inspire-chapter.is-reverse .inspire-chapter-media{order:1}
  .inspire-chapter.is-reverse .inspire-chapter-copy{order:2}
  .inspire-chapter-media{min-height:330px}
  .inspire-chapter-copy{min-height:300px;padding:36px}
  .inspiration-listings-head{grid-template-columns:1fr;gap:20px}
}
@media(max-width:560px){
  .inspire-landing-hero{padding-top:40px}
  .inspire-hero-copy h1{font-size:clamp(3.1rem,15vw,4.5rem);line-height:.98;letter-spacing:.008em;margin-bottom:23px}
  .inspire-hero-console{min-height:350px;border-radius:25px}
  .inspire-console-overlay strong{font-size:1.25rem}
  .inspire-quick-nav{margin-top:28px}
  .inspire-chapters{padding:62px 0 78px}
  .inspire-chapters-intro{margin-bottom:34px}
  .inspire-chapters-intro h2{font-size:2.35rem;line-height:1.12}
  .inspire-chapter{border-radius:25px;margin-bottom:18px}
  .inspire-chapter-media{min-height:270px}
  .inspire-chapter-copy{min-height:auto;padding:28px 24px}
  .inspire-chapter-copy h2{font-size:2.05rem;line-height:1.16;margin:18px 0 14px}
  .inspire-chapter-copy>p{font-size:.93rem}
  .inspire-chapter-topline i,.inspire-chapter-topline>span:last-child{display:none}
  .inspire-chapter-action{padding-top:21px;margin-top:24px}
  .inspire-closing{padding-bottom:62px}
  .inspire-closing-inner{padding:38px 25px;border-radius:25px}
  .inspire-closing h2{font-size:2.45rem}
  .type-inspiration .detail-hero h1{font-size:2.75rem;line-height:1.1}
  .inspiration-detail-body{padding-block:48px 58px}
  .inspiration-listings-section{padding:62px 0 72px}
  .inspiration-listings-head{margin-bottom:31px}
  .inspiration-listings-head h2{font-size:2.35rem}
  .inspiration-listings-grid{grid-template-columns:1fr}
  .inspiration-listing-card{border-radius:22px}
}

/* =========================================================
   HEADER IMMUTABILE TRA GIORNO E NOTTE — V26
   Il tema modifica solo il contenuto della pagina. L'header
   mantiene sempre identità, contrasto e colore istituzionale.
   ========================================================= */
.site-header,
[data-theme="dark"] .site-header{
  background:#972e47!important;
  color:#fff!important;
  box-shadow:0 12px 35px rgba(58,15,31,.20)!important;
  color-scheme:dark;
}
.site-header .topline,
[data-theme="dark"] .site-header .topline{
  color:#fff!important;
  border-bottom-color:rgba(255,255,255,.16)!important;
}
.site-header .brand,
.site-header .nav-menu>a,
.site-header .nav-admin,
[data-theme="dark"] .site-header .brand,
[data-theme="dark"] .site-header .nav-menu>a,
[data-theme="dark"] .site-header .nav-admin{
  color:#fff!important;
}
.site-header .brand-logo,
[data-theme="dark"] .site-header .brand-logo{
  opacity:1!important;
  filter:none!important;
}
.site-header .nav-menu>a:not(.nav-find)::after,
[data-theme="dark"] .site-header .nav-menu>a:not(.nav-find)::after{
  background:#fff!important;
}
.site-header .nav-find,
[data-theme="dark"] .site-header .nav-find{
  background:#fff!important;
  color:#972e47!important;
  border-color:#fff!important;
  box-shadow:none!important;
}
.site-header .theme-toggle,
[data-theme="dark"] .site-header .theme-toggle{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.35)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.site-header .theme-toggle:hover,
[data-theme="dark"] .site-header .theme-toggle:hover{
  background:rgba(255,255,255,.18)!important;
}
.site-header .nav-admin,
[data-theme="dark"] .site-header .nav-admin{
  background:transparent!important;
  border-color:rgba(255,255,255,.40)!important;
}
.site-header .nav-toggle,
[data-theme="dark"] .site-header .nav-toggle{
  color:#fff!important;
}
.site-header .nav-toggle span,
[data-theme="dark"] .site-header .nav-toggle span{
  background:#fff!important;
}
@media(max-width:850px){
  .site-header .nav-menu,
  [data-theme="dark"] .site-header .nav-menu{
    background:#742236!important;
    color:#fff!important;
    border-color:rgba(255,255,255,.12)!important;
  }
  .site-header .nav-menu>a,
  [data-theme="dark"] .site-header .nav-menu>a{
    border-bottom-color:rgba(255,255,255,.12)!important;
  }
}


/* =========================================================
   V28 — Header leggibile + titolo Ispirati equilibrato
   ========================================================= */
.site-header .nav-menu > a.nav-find,
[data-theme="dark"] .site-header .nav-menu > a.nav-find{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-width:102px;
  background:#fff!important;
  color:#972e47!important;
  border:1px solid #fff!important;
  box-shadow:0 8px 22px rgba(58,15,31,.13)!important;
  opacity:1!important;
  -webkit-text-fill-color:#972e47!important;
}
.site-header .nav-menu > a.nav-find span,
[data-theme="dark"] .site-header .nav-menu > a.nav-find span{
  color:#972e47!important;
  -webkit-text-fill-color:#972e47!important;
}
.site-header .nav-menu > a.nav-find:hover,
[data-theme="dark"] .site-header .nav-menu > a.nav-find:hover{
  background:#f7edf0!important;
  color:#7a2138!important;
  border-color:#f7edf0!important;
}
.site-header .nav-menu > a.nav-find:hover span,
[data-theme="dark"] .site-header .nav-menu > a.nav-find:hover span{
  color:#7a2138!important;
}

.inspire-chapters-intro{
  grid-template-columns:minmax(0,1.22fr) minmax(330px,.78fr);
  column-gap:clamp(36px,5vw,72px);
  align-items:end;
}
.inspire-chapters-intro h2{
  max-width:850px;
  margin:0;
  font-size:clamp(2.45rem,3.35vw,4.05rem)!important;
  line-height:1.12!important;
  letter-spacing:.018em!important;
  text-wrap:balance;
}
.inspire-chapters-intro p{
  align-self:end;
}
@media(max-width:1100px){
  .inspire-chapters-intro{
    grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);
    column-gap:34px;
  }
  .inspire-chapters-intro h2{
    font-size:clamp(2.35rem,4.2vw,3.35rem)!important;
  }
}
@media(max-width:850px){
  .site-header .nav-menu > a.nav-find,
  [data-theme="dark"] .site-header .nav-menu > a.nav-find{
    width:100%;
    min-width:0;
    margin:6px 0;
    padding:13px 16px!important;
  }
  .inspire-chapters-intro{
    grid-template-columns:1fr;
    gap:20px;
  }
  .inspire-chapters-intro h2{
    max-width:720px;
    font-size:clamp(2.25rem,7vw,3.1rem)!important;
  }
}
@media(max-width:560px){
  .inspire-chapters-intro h2{
    font-size:clamp(2rem,10vw,2.55rem)!important;
    line-height:1.15!important;
    letter-spacing:.014em!important;
  }
}

/* V30: selezione multipla dei Comuni visitati dalle Experience. */
.admin-municipality-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:3px}
.admin-municipality-option{display:flex;align-items:center;gap:9px;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);cursor:pointer;transition:.2s ease}
.admin-municipality-option:hover{border-color:rgba(151,46,71,.24);transform:translateY(-1px)}
.admin-municipality-option:has(input:checked){background:rgba(151,46,71,.085);border-color:rgba(151,46,71,.28);color:var(--red)}
.admin-municipality-option input{accent-color:var(--red);width:16px;height:16px;flex:0 0 auto}
.admin-municipality-option span{font-size:.72rem;font-weight:800;line-height:1.25}
@media(max-width:1050px){.admin-municipality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.admin-municipality-grid{grid-template-columns:1fr}}

/* =========================================================
   V32 · Modalità notte reale della pagina Trova
   Interviene soltanto sull'interfaccia laterale. La mappa,
   i tile Leaflet, i marker, i cluster e i popup restano invariati.
   ========================================================= */
html[data-theme="dark"] body.find-page{
  background:#100e10!important;
}
html[data-theme="dark"] body.find-page .find-shell{
  background:#100e10!important;
  color:var(--ink);
  color-scheme:dark;
}
html[data-theme="dark"] body.find-page .find-results-panel{
  background:
    radial-gradient(circle at 9% 0%,rgba(184,91,114,.085),transparent 32%),
    #171417!important;
  color:var(--ink);
  scrollbar-color:#51454b #171417;
}
html[data-theme="dark"] body.find-page .find-head h1,
html[data-theme="dark"] body.find-page .find-count strong,
html[data-theme="dark"] body.find-page .find-card-copy h3{
  color:#f1ebe2;
}
html[data-theme="dark"] body.find-page .find-head p,
html[data-theme="dark"] body.find-page .find-count,
html[data-theme="dark"] body.find-page .find-card-copy p,
html[data-theme="dark"] body.find-page .find-card-meta,
html[data-theme="dark"] body.find-page .find-municipality-field>span{
  color:#b9afa4;
}
html[data-theme="dark"] body.find-page .find-category-rail{
  border-bottom-color:rgba(255,255,255,.095)!important;
}
html[data-theme="dark"] body.find-page .find-category-button{
  color:#aaa0a5;
}
html[data-theme="dark"] body.find-page .find-category-button:hover{
  color:#d47b91;
}
html[data-theme="dark"] body.find-page .find-category-button.is-active{
  color:#e18aa0;
  background:rgba(184,91,114,.16)!important;
  box-shadow:inset 0 0 0 1px rgba(225,138,160,.08);
}
html[data-theme="dark"] body.find-page .find-municipality-field select,
html[data-theme="dark"] body.find-page .find-reset-button{
  border-color:rgba(255,255,255,.105)!important;
  background:#242024!important;
  color:#f1ebe2!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
html[data-theme="dark"] body.find-page .find-reset-button{
  color:#e18aa0!important;
}
html[data-theme="dark"] body.find-page .find-municipality-field select:focus-visible,
html[data-theme="dark"] body.find-page .find-reset-button:focus-visible{
  border-color:rgba(225,138,160,.52)!important;
  outline:2px solid rgba(225,138,160,.17);
  outline-offset:2px;
}
html[data-theme="dark"] body.find-page .find-municipality-field select option{
  background:#242024;
  color:#f1ebe2;
}
html[data-theme="dark"] body.find-page .find-card{
  border-color:rgba(255,255,255,.08)!important;
  background:#211d21!important;
  color:#f1ebe2;
  box-shadow:0 12px 34px rgba(0,0,0,.2)!important;
}
html[data-theme="dark"] body.find-page .find-card:hover,
html[data-theme="dark"] body.find-page .find-card:focus-visible{
  border-color:rgba(225,138,160,.3)!important;
  box-shadow:0 18px 46px rgba(0,0,0,.32)!important;
}
html[data-theme="dark"] body.find-page .find-card-media{
  background:#2b262b!important;
}
html[data-theme="dark"] body.find-page .find-card.is-selected{
  border-color:rgba(225,138,160,.55)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.36),inset 3px 0 0 #b85b72!important;
}
html[data-theme="dark"] body.find-page .loading-card{
  border-color:rgba(255,255,255,.12)!important;
  background:rgba(255,255,255,.025)!important;
  color:#b9afa4;
}

/* Protezione esplicita: nessun filtro cromatico viene applicato alla mappa. */
html[data-theme="dark"] body.find-page .find-map-panel,
html[data-theme="dark"] body.find-page #find-map,
html[data-theme="dark"] body.find-page #find-map .leaflet-pane,
html[data-theme="dark"] body.find-page #find-map .leaflet-tile-pane{
  filter:none!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
}


/* =========================================================
   V33 · Controlli mappa Trova senza sovrapposizioni
   Il messaggio informativo vive nell'angolo opposto rispetto
   allo zoom Leaflet e non intercetta drag o click sulla mappa.
   ========================================================= */
.find-map-panel .leaflet-top.leaflet-left{z-index:510}
.find-map-panel .find-map-caption{left:auto!important;right:18px!important;pointer-events:none}
@media(max-width:560px){
  .find-map-panel .find-map-caption{right:12px!important;max-width:calc(100% - 86px)}
}


/* =========================================================
   V34 · Trova mobile: scroll pagina e mappa non si contendono il gesto
   Per impostazione predefinita un dito scorre la pagina. Il visitatore può
   attivare esplicitamente la mappa e tornare allo scroll con lo stesso tasto.
   ========================================================= */
.mobile-map-actions{display:none}
.mobile-map-toggle{display:none}

@media(max-width:850px), (hover:none) and (pointer:coarse){
  body.find-page{
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  body.find-page .find-shell{
    overflow:visible;
    overscroll-behavior-y:auto;
  }
  body.find-page .find-results-panel{
    overflow:visible;
    overscroll-behavior:auto;
    scrollbar-gutter:auto;
  }
  body.find-page .find-map-panel{
    isolation:isolate;
    overscroll-behavior:auto;
  }
  body.find-page .find-map-panel #find-map{
    touch-action:pan-y!important;
    overscroll-behavior:auto;
  }
  body.find-page .find-shell.is-mobile-map-active .find-map-panel #find-map{
    touch-action:none!important;
    overscroll-behavior:contain;
  }
  body.find-page .mobile-map-actions{
    position:absolute;
    z-index:650;
    left:12px;
    right:12px;
    bottom:14px;
    display:flex;
    justify-content:center;
    gap:8px;
    pointer-events:none;
  }
  body.find-page .mobile-map-toggle,
  body.find-page .mobile-results-toggle{
    position:static;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    margin:0;
    border:1px solid rgba(255,255,255,.72);
    border-radius:999px;
    padding:10px 15px;
    transform:none;
    background:rgba(255,255,255,.94);
    color:#972e47;
    box-shadow:0 12px 30px rgba(37,29,31,.2);
    -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    font-size:.66rem;
    font-weight:900;
    line-height:1;
    white-space:nowrap;
    cursor:pointer;
    pointer-events:auto;
  }
  body.find-page .mobile-results-toggle{
    background:#972e47;
    color:#fff;
  }
  body.find-page .find-shell.is-mobile-map-active .mobile-map-toggle{
    background:#21191d;
    color:#fff;
    border-color:rgba(255,255,255,.28);
  }
  body.find-page .mobile-map-toggle:focus-visible,
  body.find-page .mobile-results-toggle:focus-visible{
    outline:3px solid rgba(151,46,71,.24);
    outline-offset:3px;
  }
}

@media(max-width:390px){
  body.find-page .mobile-map-actions{left:8px;right:8px;gap:6px}
  body.find-page .mobile-map-toggle,
  body.find-page .mobile-results-toggle{padding-inline:12px;font-size:.61rem}
}

/* =========================================================
   V35 · Trova realmente responsive su tablet e smartphone
   Layout fluido, mappa dimensionata sul viewport reale, filtri e card
   senza larghezze rigide o overflow laterale.
   ========================================================= */
@media(max-width:850px){
  html,body.find-page{max-width:100%;overflow-x:clip}
  body.find-page .find-shell{
    --find-mobile-gutter:clamp(20px,5vw,42px);
    display:flex!important;
    flex-direction:column;
    width:100%;
    max-width:100%;
    min-width:0;
    min-height:0;
    height:auto!important;
    overflow:visible!important;
  }
  body.find-page .find-map-panel{
    order:-1;
    flex:0 0 auto;
    width:100%;
    min-width:0;
    height:clamp(390px,56svh,620px);
    min-height:0;
    max-height:620px;
    overflow:hidden;
  }
  @supports(height:100dvh){
    body.find-page .find-map-panel{height:clamp(390px,56dvh,620px)}
  }
  body.find-page .find-map-panel #find-map{
    position:absolute;
    inset:0;
    width:100%!important;
    height:100%!important;
    min-width:0;
    min-height:0;
  }
  body.find-page .find-results-panel{
    width:100%;
    max-width:100%;
    min-width:0;
    padding:clamp(28px,5vw,46px) var(--find-mobile-gutter) 56px;
    overflow:visible!important;
    scroll-margin-top:86px;
  }
  body.find-page .find-head{max-width:720px}
  body.find-page .find-head h1{
    max-width:100%;
    font-size:clamp(2.65rem,8.5vw,4.35rem);
    line-height:1;
    letter-spacing:-.035em;
    overflow-wrap:normal;
  }
  body.find-page .find-head p{max-width:660px;font-size:.88rem;line-height:1.7}
  body.find-page .find-category-rail{
    width:auto;
    max-width:none;
    margin:23px calc(0px - var(--find-mobile-gutter)) 6px;
    padding:5px var(--find-mobile-gutter) 16px;
    scroll-padding-inline:var(--find-mobile-gutter);
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
  }
  body.find-page .find-category-button{scroll-snap-align:start}
  body.find-page .find-toolbar{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
    width:100%;
    gap:10px;
  }
  body.find-page .find-municipality-field{min-width:0}
  body.find-page .find-municipality-field select{min-width:0;max-width:100%}
  body.find-page .find-reset-button{width:auto;min-width:96px;padding-inline:16px}
  body.find-page .find-results{width:100%;min-width:0}
  body.find-page .find-card{
    width:100%;
    min-width:0;
    grid-template-columns:clamp(112px,24vw,148px) minmax(0,1fr);
  }
  body.find-page .find-card-media,
  body.find-page .find-card-copy{min-width:0}
  body.find-page .find-card-copy small,
  body.find-page .find-card-copy h3,
  body.find-page .find-card-copy p,
  body.find-page .find-card-meta{max-width:100%;overflow-wrap:anywhere}
  body.find-page .find-card-meta{white-space:normal;flex-wrap:wrap;line-height:1.45}
  body.find-page .mobile-map-actions{
    padding-bottom:env(safe-area-inset-bottom,0px);
  }
  body.find-page .mobile-map-toggle,
  body.find-page .mobile-results-toggle{
    flex:1 1 0;
    width:auto;
    max-width:190px;
  }
  body.find-page .leaflet-control-attribution{
    max-width:58vw;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
  }
  body.find-page .vv-map-popup-card{width:min(280px,calc(100vw - 44px))}
}

@media(max-width:560px){
  body.find-page .find-map-panel{
    height:clamp(340px,50svh,500px);
    max-height:500px;
  }
  @supports(height:100dvh){
    body.find-page .find-map-panel{height:clamp(340px,50dvh,500px)}
  }
  body.find-page .find-shell{--find-mobile-gutter:16px}
  body.find-page .find-results-panel{padding:24px var(--find-mobile-gutter) 48px}
  body.find-page .find-head h1{font-size:clamp(2.35rem,12vw,3.35rem);letter-spacing:-.025em}
  body.find-page .find-head p{font-size:.8rem;line-height:1.65}
  body.find-page .find-category-rail{
    margin:20px calc(0px - var(--find-mobile-gutter)) 4px;
    padding:4px var(--find-mobile-gutter) 14px;
    scroll-padding-inline:var(--find-mobile-gutter);
  }
  body.find-page .find-category-button{
    min-width:72px;
    padding:9px 8px 8px;
    font-size:.58rem;
  }
  body.find-page .find-toolbar{
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    margin-top:13px;
  }
  body.find-page .find-reset-button{width:auto;min-width:88px;padding-inline:12px}
  body.find-page .find-count{padding:14px 0 12px;font-size:.76rem}
  body.find-page .find-count strong{font-size:1.35rem}
  body.find-page .find-card{
    grid-template-columns:100px minmax(0,1fr);
    min-height:120px;
    border-radius:17px;
  }
  body.find-page .find-card-media{min-height:120px}
  body.find-page .find-card-copy{padding:12px 13px 11px}
  body.find-page .find-card-copy small{font-size:.52rem;line-height:1.4}
  body.find-page .find-card-copy h3{font-size:1.02rem;line-height:1.18;margin:5px 0 6px}
  body.find-page .find-card-copy p{display:-webkit-box;font-size:.67rem;line-height:1.45;-webkit-line-clamp:1}
  body.find-page .find-card-meta{margin-top:7px;font-size:.56rem}
  body.find-page .find-card-category-icon{left:8px;top:8px;width:31px;height:31px}
  body.find-page .find-map-caption{
    top:10px!important;
    right:10px!important;
    max-width:calc(100% - 76px)!important;
    padding:9px 11px;
    border-radius:13px;
  }
  body.find-page .find-map-caption span{font-size:.62rem}
  body.find-page .find-map-caption small{font-size:.5rem}
  body.find-page .leaflet-top.leaflet-left{top:0;left:0}
  body.find-page .leaflet-control-zoom{margin-top:10px;margin-left:10px}
  body.find-page .leaflet-control-zoom a{width:36px;height:36px;line-height:36px}
  body.find-page .mobile-map-actions{left:10px;right:10px;bottom:10px;gap:7px}
  body.find-page .mobile-map-toggle,
  body.find-page .mobile-results-toggle{
    min-width:0;
    min-height:42px;
    max-width:none;
    padding:9px 10px;
    font-size:.62rem;
  }
}

@media(max-width:410px){
  body.find-page .find-map-caption small{display:none}
  body.find-page .find-map-caption{padding:9px 12px}
  body.find-page .find-card{grid-template-columns:92px minmax(0,1fr);min-height:116px}
  body.find-page .find-card-media{min-height:116px}
  body.find-page .find-card-copy p{display:none}
  body.find-page .find-card-meta{display:none}
}

@media(max-width:360px){
  body.find-page .find-toolbar{grid-template-columns:1fr}
  body.find-page .find-reset-button{width:100%}
  body.find-page .find-card{grid-template-columns:86px minmax(0,1fr)}
  body.find-page .mobile-map-toggle,
  body.find-page .mobile-results-toggle{font-size:.57rem;padding-inline:7px}
}

@media(max-width:850px) and (orientation:landscape){
  body.find-page .find-map-panel{
    height:min(72svh,430px);
    min-height:290px;
  }
  @supports(height:100dvh){
    body.find-page .find-map-panel{height:min(72dvh,430px)}
  }
}

/* =========================================================
   V36 — Hero slideshow nelle pagine singole Ispirati
   Immagini ricavate automaticamente dai listing collegati.
   ========================================================= */
.inspiration-hero-slider{
  isolation:isolate;
  overflow:hidden;
  background:#30121b;
}
.inspiration-hero-slides,
.inspiration-hero-slide{
  position:absolute;
  inset:0;
  margin:0;
}
.inspiration-hero-slides{z-index:0;background:#30121b}
.inspiration-hero-slide{
  opacity:0;
  visibility:hidden;
  transform:scale(1.035);
  transition:opacity 1s ease,visibility 1s ease,transform 7.2s ease;
}
.inspiration-hero-slide.is-active{
  opacity:1;
  visibility:visible;
  transform:scale(1);
}
.inspiration-hero-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.inspiration-hero-slider .detail-overlay{
  z-index:1;
  background:
    linear-gradient(90deg,rgba(25,9,14,.82) 0%,rgba(25,9,14,.57) 45%,rgba(25,9,14,.19) 78%),
    linear-gradient(0deg,rgba(19,7,11,.79),rgba(19,7,11,.08) 70%);
}
.inspiration-hero-slider .detail-hero-content{z-index:2;padding-bottom:64px}
.inspiration-hero-ui{
  position:absolute;
  z-index:3;
  top:30px;
  left:50%;
  display:grid;
  grid-template-columns:minmax(0,340px) auto;
  justify-content:end;
  align-items:stretch;
  gap:10px;
  pointer-events:none;
  transform:translateX(-50%);
}
.inspiration-hero-caption,
.inspiration-hero-controls{
  pointer-events:auto;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(27,11,16,.43);
  box-shadow:0 18px 45px rgba(13,3,7,.18);
  backdrop-filter:blur(13px);
  -webkit-backdrop-filter:blur(13px);
}
.inspiration-hero-caption{
  display:grid;
  min-width:0;
  padding:14px 17px 13px;
  border-radius:17px;
  color:#fff;
  text-decoration:none;
  transition:background .25s ease,border-color .25s ease,transform .25s ease;
}
.inspiration-hero-caption:hover{
  background:rgba(27,11,16,.62);
  border-color:rgba(255,255,255,.34);
  transform:translateY(-2px);
}
.inspiration-hero-caption small{
  margin-bottom:5px;
  color:rgba(255,255,255,.66);
  font-size:.56rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.inspiration-hero-caption strong{
  overflow:hidden;
  font-family:var(--serif);
  font-size:.94rem;
  line-height:1.35;
  letter-spacing:.01em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.inspiration-hero-caption span{
  margin-top:7px;
  color:#f3c8d2;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.inspiration-hero-controls{
  display:flex;
  align-items:center;
  min-width:170px;
  padding:8px;
  border-radius:17px;
}
.inspiration-hero-controls button{
  display:grid;
  flex:0 0 42px;
  width:42px;
  height:42px;
  place-items:center;
  border:0;
  border-radius:12px;
  background:rgba(255,255,255,.1);
  color:#fff;
  font-size:1.08rem;
  cursor:pointer;
  transition:background .2s ease,transform .2s ease;
}
.inspiration-hero-controls button:hover{background:rgba(255,255,255,.2);transform:translateY(-1px)}
.inspiration-hero-controls button:focus-visible,
.inspiration-hero-caption:focus-visible{outline:2px solid #fff;outline-offset:3px}
.inspiration-hero-counter{
  display:flex;
  flex:1;
  align-items:center;
  justify-content:center;
  gap:6px;
  color:rgba(255,255,255,.68);
  font-size:.67rem;
  letter-spacing:.08em;
}
.inspiration-hero-counter b{color:#fff;font-size:.79rem}
.inspiration-hero-counter i{font-style:normal;opacity:.45}
.inspiration-hero-progress{
  position:absolute;
  right:0;
  bottom:-8px;
  width:calc(340px + 180px);
  height:2px;
  overflow:hidden;
  border-radius:99px;
  background:rgba(255,255,255,.22);
}
.inspiration-hero-progress span{
  display:block;
  width:100%;
  height:100%;
  transform:scaleX(0);
  transform-origin:left;
  background:#fff;
}
.inspiration-hero-slider.is-playing .inspiration-hero-progress span{
  animation:vvInspirationHeroProgress 5.8s linear forwards;
}
@keyframes vvInspirationHeroProgress{to{transform:scaleX(1)}}

@media(max-width:900px){
  .inspiration-hero-ui{top:20px;grid-template-columns:minmax(0,280px) auto}
  .inspiration-hero-caption{padding:12px 14px}
  .inspiration-hero-controls{min-width:154px}
  .inspiration-hero-progress{width:444px}
}
@media(max-width:620px){
  .inspiration-hero-slider{min-height:min(690px,82svh)}
  .inspiration-hero-slider .detail-overlay{
    background:linear-gradient(0deg,rgba(22,8,13,.88) 0%,rgba(22,8,13,.42) 55%,rgba(22,8,13,.18) 100%);
  }
  .inspiration-hero-slider .detail-hero-content{padding-bottom:54px}
  .inspiration-hero-ui{
    top:14px;
    grid-template-columns:minmax(0,1fr) 144px;
    gap:7px;
  }
  .inspiration-hero-caption{padding:10px 12px;border-radius:14px}
  .inspiration-hero-caption small,
  .inspiration-hero-caption span{display:none}
  .inspiration-hero-caption strong{font-size:.78rem}
  .inspiration-hero-controls{min-width:0;padding:6px;border-radius:14px}
  .inspiration-hero-controls button{flex-basis:36px;width:36px;height:36px;border-radius:10px}
  .inspiration-hero-counter{gap:4px;font-size:.58rem}
  .inspiration-hero-counter b{font-size:.67rem}
  .inspiration-hero-progress{right:0;bottom:-6px;width:100%}
}
@media(prefers-reduced-motion:reduce){
  .inspiration-hero-slide{transition:opacity .2s ease;transform:none}
  .inspiration-hero-slider.is-playing .inspiration-hero-progress span{animation:none;transform:scaleX(1)}
}

/* ================================================================
   V38 · ESPLORA / TERRITORY INTERFACE
   Un unico ambiente dinamico per selezionare i Comuni e i loro luoghi.
   ================================================================ */
body.explore-page{background:
  radial-gradient(circle at 11% 5%,rgba(151,46,71,.085),transparent 31rem),
  linear-gradient(180deg,var(--paper),var(--paper-2));
  overflow-x:hidden}
.explore-tech-main{position:relative;isolation:isolate;min-height:100vh;padding:64px 0 110px}
.explore-tech-main::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:.48;background-image:linear-gradient(rgba(151,46,71,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(151,46,71,.045) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent 68%)}
.explore-tech-main::after{content:"43.3188° N  /  11.8012° E";position:absolute;right:-2rem;top:26rem;z-index:-1;writing-mode:vertical-rl;font-size:.58rem;font-weight:900;letter-spacing:.25em;color:color-mix(in srgb,var(--muted) 58%,transparent)}
.explore-tech-shell{position:relative}
.explore-tech-header{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(310px,.84fr);gap:clamp(40px,7vw,110px);align-items:end;margin-bottom:38px}
.explore-tech-header .eyebrow{margin-bottom:17px}
.explore-tech-header h1{max-width:850px;margin:0;font-size:clamp(3rem,5.8vw,5.85rem);line-height:.98;letter-spacing:-.037em}
.explore-tech-intro{max-width:570px;padding-bottom:8px}
.explore-tech-intro>p{margin:0 0 24px;color:var(--muted);font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.75}
.explore-tech-status{display:flex;align-items:center;gap:10px;padding-top:17px;border-top:1px solid var(--line);font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}
.explore-tech-status span{display:inline-flex;align-items:center;gap:8px;margin-right:auto;color:var(--ink);font-weight:900}
.explore-tech-status span i,.explore-live i{width:7px;height:7px;border-radius:50%;background:#76a784;box-shadow:0 0 0 5px rgba(118,167,132,.12);animation:explore-pulse 2.4s ease-in-out infinite}
.explore-tech-status b{font-family:var(--serif);font-size:1.35rem;color:var(--red);letter-spacing:0}
@keyframes explore-pulse{50%{box-shadow:0 0 0 9px rgba(118,167,132,0)}}

.explore-console{display:grid;grid-template-columns:minmax(218px,.67fr) minmax(340px,1.08fr) minmax(480px,1.58fr);min-height:760px;border:1px solid color-mix(in srgb,var(--line) 90%,transparent);border-radius:30px;overflow:hidden;background:color-mix(in srgb,var(--surface) 91%,transparent);box-shadow:0 28px 90px rgba(55,34,36,.12),inset 0 1px rgba(255,255,255,.45)}
.explore-municipality-panel{display:flex;flex-direction:column;min-width:0;padding:25px 18px 19px;border-right:1px solid var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 96%,#fff),color-mix(in srgb,var(--paper-2) 82%,var(--surface)))}
.explore-panel-heading{display:flex;justify-content:space-between;gap:10px;padding:0 8px 19px;border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.14em;font-size:.57rem;font-weight:900;color:var(--muted)}
.explore-panel-heading small{font:inherit;color:var(--red)}
.explore-municipality-nav{display:flex;flex-direction:column;gap:5px;padding:14px 0}
.explore-municipality-button{position:relative;display:grid;grid-template-columns:31px minmax(0,1fr) 17px;grid-template-rows:auto auto;column-gap:8px;align-items:center;min-height:64px;padding:11px 9px;color:var(--ink);text-decoration:none;border:1px solid transparent;border-radius:14px;transition:background .22s ease,border-color .22s ease,transform .22s ease,color .22s ease}
.explore-municipality-button:hover{transform:translateX(3px);background:color-mix(in srgb,var(--red) 6%,transparent)}
.explore-municipality-button.is-active{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 12px 28px rgba(151,46,71,.22)}
.explore-municipality-index{grid-row:1/3;align-self:center;font-size:.57rem;font-weight:900;letter-spacing:.11em;color:var(--red)}
.explore-municipality-button.is-active .explore-municipality-index{color:#f4cbd4}
.explore-municipality-button strong{min-width:0;font-family:var(--serif);font-size:.83rem;line-height:1.25;letter-spacing:.005em}
.explore-municipality-button small{grid-column:2;align-self:start;font-size:.57rem;letter-spacing:.06em;color:var(--muted)}
.explore-municipality-button.is-active small{color:rgba(255,255,255,.72)}
.explore-municipality-button>i{grid-column:3;grid-row:1/3;font-style:normal;font-size:.76rem;opacity:.45}
.explore-municipality-button.is-active>i{opacity:1}
.explore-map-link{display:grid;grid-template-columns:29px minmax(0,1fr) auto;align-items:center;gap:9px;margin-top:auto;padding:14px 11px;border-top:1px solid var(--line);color:var(--ink);text-decoration:none}
.explore-map-link>span{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--red);color:#fff}
.explore-map-link strong{font-size:.66rem;line-height:1.25;text-transform:uppercase;letter-spacing:.1em}
.explore-map-link>i{font-style:normal;color:var(--red)}

.explore-preview{position:relative;min-width:0;min-height:760px;overflow:hidden;background:#241b1d;color:#fff;isolation:isolate}
.explore-preview-media,.explore-preview-media img,.explore-preview-placeholder{position:absolute;inset:0;width:100%;height:100%}
.explore-preview-media img{object-fit:cover;transition:opacity .28s ease,transform 8s ease;animation:explore-preview-drift 16s ease-in-out infinite alternate}
.explore-preview:hover .explore-preview-media img{transform:scale(1.035)}
@keyframes explore-preview-drift{from{transform:scale(1.01)}to{transform:scale(1.075)}}
.explore-preview-placeholder{display:grid;place-items:center;background:linear-gradient(145deg,#693243,#251c20);font-family:var(--serif);font-size:2rem}
.explore-preview-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,8,10,.36),rgba(14,8,10,.05) 30%,rgba(14,8,10,.18) 49%,rgba(14,8,10,.91) 100%)}
.explore-preview-grid{position:absolute;inset:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.2) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(180deg,#000,transparent 72%)}
.explore-preview-scan{position:absolute;inset:0 auto auto 0;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);box-shadow:0 0 16px rgba(255,255,255,.3);animation:explore-scan 8s linear infinite;opacity:.55}
@keyframes explore-scan{0%{transform:translateY(0)}100%{transform:translateY(760px)}}
.explore-preview-topline{position:absolute;z-index:2;top:0;left:0;right:0;display:flex;justify-content:space-between;gap:20px;padding:24px 25px;font-size:.54rem;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.72)}
.explore-live{display:inline-flex;align-items:center;gap:9px;color:#fff;font-weight:900}
.explore-preview-copy{position:absolute;z-index:2;left:0;right:0;bottom:55px;padding:25px clamp(24px,3vw,42px)}
.explore-preview-meta{display:flex;align-items:center;gap:9px;margin-bottom:14px;font-size:.59rem;text-transform:uppercase;letter-spacing:.15em;font-weight:900;color:#f2ccd5}
.explore-preview-meta i{width:18px;height:1px;background:rgba(255,255,255,.5)}
.explore-preview-copy h2{max-width:650px;margin:0 0 16px;font-size:clamp(2.4rem,3.6vw,4.5rem);line-height:1.02;letter-spacing:-.035em;color:#fff;text-wrap:balance}
.explore-preview-copy p{max-width:560px;margin:0 0 24px;color:rgba(255,255,255,.78);font-size:.94rem;line-height:1.7}
.explore-preview-copy>a{display:inline-flex;align-items:center;gap:17px;padding:13px 17px;border:1px solid rgba(255,255,255,.42);border-radius:999px;color:#fff;text-decoration:none;font-size:.64rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;backdrop-filter:blur(12px);background:rgba(17,10,12,.15);transition:.22s}
.explore-preview-copy>a:hover{background:#fff;color:#23181b}
.explore-preview-copy>a span{font-size:1rem}
.explore-preview-footer{position:absolute;z-index:2;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-top:1px solid rgba(255,255,255,.17);font-size:.53rem;letter-spacing:.18em;color:rgba(255,255,255,.58)}
.explore-preview-footer b{font-family:var(--serif);font-size:1.45rem;color:#fff;letter-spacing:0}
.explore-preview.is-empty .explore-preview-scan{display:none}

.explore-results-panel{min-width:0;padding:25px 24px 28px;background:color-mix(in srgb,var(--surface) 97%,transparent)}
.explore-results-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.explore-results-head>div:first-child>span{display:block;margin-bottom:6px;color:var(--muted);font-size:.57rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em}
.explore-results-head h2{margin:0;font-size:clamp(1.65rem,2.4vw,2.55rem);line-height:1.08;letter-spacing:-.025em}
.explore-result-counter{display:flex;align-items:baseline;gap:6px;color:var(--muted);font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}
.explore-result-counter strong{font-family:var(--serif);font-size:2.2rem;color:var(--red);letter-spacing:-.04em}
.explore-category-rail{display:flex;gap:7px;overflow-x:auto;padding:16px 0 13px;scrollbar-width:none;border-bottom:1px solid var(--line)}
.explore-category-rail::-webkit-scrollbar{display:none}
.explore-category-rail button{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);padding:8px 11px;font:inherit;font-size:.57rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:.2s}
.explore-category-rail button:hover{border-color:var(--red);color:var(--red)}
.explore-category-rail button.is-active{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.explore-results-meta{display:flex;align-items:center;justify-content:space-between;padding:14px 2px 10px;color:var(--muted);font-size:.54rem;text-transform:uppercase;letter-spacing:.13em}
.explore-results-meta b{font-size:.58rem;color:var(--ink)}
.explore-results-meta b i{font-style:normal;color:var(--red)}
.explore-listing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.explore-listing-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface-2);color:var(--ink);text-decoration:none;transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
.explore-listing-card:hover,.explore-listing-card:focus-visible{transform:translateY(-3px);border-color:color-mix(in srgb,var(--red) 50%,var(--line));box-shadow:0 14px 33px rgba(55,34,36,.12);outline:0}
.explore-listing-media{position:relative;overflow:hidden;aspect-ratio:16/9;background:var(--paper-2)}
.explore-listing-media img,.explore-listing-media .image-placeholder{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.explore-listing-card:hover .explore-listing-media img{transform:scale(1.045)}
.explore-listing-media>span,.explore-listing-media>b{position:absolute;top:10px;padding:6px 8px;border-radius:999px;background:rgba(255,255,255,.91);color:#7d283d;font-size:.48rem;text-transform:uppercase;letter-spacing:.11em;backdrop-filter:blur(8px)}
.explore-listing-media>span{left:10px;font-weight:900}
.explore-listing-media>b{right:10px;max-width:54%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}
.explore-listing-copy{padding:14px 15px 16px}
.explore-listing-copy>small{display:block;margin-bottom:6px;color:var(--red);font-size:.49rem;text-transform:uppercase;letter-spacing:.13em;font-weight:900}
.explore-listing-copy h3{margin:0 0 8px;font-size:clamp(1.03rem,1.2vw,1.27rem);line-height:1.2;letter-spacing:-.018em}
.explore-listing-copy p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin:0 0 13px;color:var(--muted);font-size:.72rem;line-height:1.55}
.explore-listing-copy>span{display:flex;align-items:center;justify-content:space-between;color:var(--ink);font-size:.55rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.explore-listing-copy>span i{font-style:normal;color:var(--red);font-size:.85rem}
.explore-listing-card.is-lead{grid-column:1/-1;display:grid;grid-template-columns:minmax(180px,.9fr) minmax(0,1.1fr)}
.explore-listing-card.is-lead .explore-listing-media{height:100%;min-height:180px;aspect-ratio:auto}
.explore-listing-card.is-lead .explore-listing-copy{display:flex;flex-direction:column;justify-content:center;padding:20px}
.explore-listing-card.is-lead .explore-listing-copy h3{font-size:clamp(1.45rem,1.8vw,2rem)}
.explore-listing-card.is-lead .explore-listing-copy p{-webkit-line-clamp:3;font-size:.78rem}
.explore-listing-card.is-lead .explore-listing-copy>span{margin-top:auto;padding-top:8px}
.explore-empty{padding:60px 20px;text-align:center;border:1px dashed var(--line);border-radius:20px;color:var(--muted)}
.explore-empty>span{font-family:var(--serif);font-size:4rem;color:color-mix(in srgb,var(--red) 34%,transparent)}
.explore-empty h3{margin:4px 0 9px;color:var(--ink);font-size:1.5rem}
.explore-empty p{max-width:390px;margin:auto;font-size:.85rem;line-height:1.6}
.explore-load-more{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:15px;padding:13px 16px;border:1px solid var(--line);border-radius:14px;background:transparent;color:var(--ink);font:inherit;font-size:.61rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;cursor:pointer;transition:.2s}
.explore-load-more:hover{border-color:var(--red);color:var(--red);background:color-mix(in srgb,var(--red) 4%,transparent)}
.explore-load-more span{font-size:1rem}

html[data-theme="dark"] body.explore-page{background:#100e0f}
html[data-theme="dark"] .explore-tech-main::before{opacity:.26}
html[data-theme="dark"] .explore-console{background:#171416;border-color:rgba(255,255,255,.09);box-shadow:0 34px 100px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.035)}
html[data-theme="dark"] .explore-municipality-panel{background:linear-gradient(180deg,#1d191b,#141113);border-color:rgba(255,255,255,.08)}
html[data-theme="dark"] .explore-results-panel{background:#181517}
html[data-theme="dark"] .explore-listing-card{background:#211d1f;border-color:rgba(255,255,255,.09)}
html[data-theme="dark"] .explore-category-rail button.is-active{background:#f0e9e2;border-color:#f0e9e2;color:#171315}
html[data-theme="dark"] .explore-tech-status,html[data-theme="dark"] .explore-panel-heading,html[data-theme="dark"] .explore-results-head,html[data-theme="dark"] .explore-category-rail{border-color:rgba(255,255,255,.09)}
html[data-theme="dark"] .explore-municipality-button:hover{background:rgba(184,91,114,.09)}
html[data-theme="dark"] .explore-listing-media>span,html[data-theme="dark"] .explore-listing-media>b{background:rgba(25,19,21,.9);color:#f0adbd}

@media(max-width:1250px){
  .explore-console{grid-template-columns:205px minmax(315px,.93fr) minmax(410px,1.25fr)}
  .explore-results-panel{padding-inline:18px}
  .explore-listing-copy p{display:none}
  .explore-listing-card.is-lead .explore-listing-copy p{display:-webkit-box}
}
@media(max-width:1050px){
  .explore-tech-main{padding-top:48px}
  .explore-tech-header{grid-template-columns:1fr;gap:22px}
  .explore-tech-intro{max-width:720px}
  .explore-console{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);grid-template-areas:"municipalities municipalities" "preview results";min-height:0}
  .explore-municipality-panel{grid-area:municipalities;display:block;padding:16px;border-right:0;border-bottom:1px solid var(--line)}
  .explore-panel-heading{padding:0 3px 13px}
  .explore-municipality-nav{display:flex;flex-direction:row;overflow-x:auto;gap:7px;padding:12px 0 2px;scrollbar-width:none}
  .explore-municipality-nav::-webkit-scrollbar{display:none}
  .explore-municipality-button{flex:0 0 190px;min-height:59px}
  .explore-map-link{display:none}
  .explore-preview{grid-area:preview;min-height:690px}
  .explore-results-panel{grid-area:results}
}
@media(max-width:760px){
  .explore-tech-main{padding:34px 0 75px}
  .explore-tech-main::after{display:none}
  .explore-tech-header{margin-bottom:24px}
  .explore-tech-header h1{font-size:clamp(2.7rem,12vw,4rem)}
  .explore-tech-intro>p{font-size:.98rem}
  .explore-console{display:block;border-radius:23px;overflow:visible;background:transparent;border:0;box-shadow:none}
  .explore-municipality-panel{position:sticky;top:76px;z-index:20;margin-inline:-1px;border:1px solid var(--line);border-radius:20px 20px 0 0;box-shadow:0 12px 34px rgba(32,20,22,.11);backdrop-filter:blur(18px);background:color-mix(in srgb,var(--surface) 91%,transparent)}
  .explore-panel-heading{display:none}
  .explore-municipality-nav{padding:0}
  .explore-municipality-button{flex-basis:164px;grid-template-columns:27px minmax(0,1fr) 14px;min-height:57px;padding:9px 8px}
  .explore-municipality-button strong{font-size:.76rem}
  .explore-preview{min-height:67svh;border-radius:0 0 22px 22px}
  .explore-preview-topline{padding:19px 18px}
  .explore-preview-copy{bottom:46px;padding:21px 20px}
  .explore-preview-copy h2{font-size:clamp(2.4rem,10vw,3.8rem)}
  .explore-preview-copy p{font-size:.86rem;line-height:1.62}
  .explore-preview-footer{padding:13px 18px}
  .explore-results-panel{margin-top:15px;padding:21px 16px 23px;border:1px solid var(--line);border-radius:22px;background:var(--surface)}
  .explore-results-panel{scroll-margin-top:160px}
  .explore-listing-grid{grid-template-columns:1fr}
  .explore-listing-card.is-lead{display:block;grid-column:auto}
  .explore-listing-card.is-lead .explore-listing-media{min-height:0;aspect-ratio:16/10}
  .explore-listing-card.is-lead .explore-listing-copy{display:block;padding:15px}
  .explore-listing-card.is-lead .explore-listing-copy h3{font-size:1.4rem}
  .explore-listing-copy p,.explore-listing-card.is-lead .explore-listing-copy p{display:-webkit-box;-webkit-line-clamp:2;font-size:.76rem}
  html[data-theme="dark"] .explore-municipality-panel{background:rgba(29,25,27,.94)}
}
@media(max-width:460px){
  .explore-tech-status{flex-wrap:wrap}
  .explore-tech-status span{width:100%;margin-bottom:4px}
  .explore-preview{min-height:620px}
  .explore-preview-topline>span:last-child{display:none}
  .explore-preview-copy p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}
  .explore-results-head{align-items:flex-start}
  .explore-result-counter{flex-direction:column;align-items:flex-end;gap:0}
}
@media(prefers-reduced-motion:reduce){
  .explore-preview-media img,.explore-preview-scan,.explore-tech-status span i,.explore-live i{animation:none!important}
}

/* V38 refinement: il cockpit resta compatto su desktop e tablet. */
.explore-tech-main::after{right:6px}
.explore-tech-header h1{font-size:clamp(2.85rem,4.65vw,4.85rem);line-height:1.01;letter-spacing:-.032em}
@media(min-width:1051px){
  .explore-console{height:760px;min-height:0}
  .explore-municipality-panel,.explore-preview,.explore-results-panel{height:760px;min-height:0}
  .explore-results-panel{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--red) 45%,var(--line)) transparent}
  .explore-results-panel::-webkit-scrollbar{width:7px}
  .explore-results-panel::-webkit-scrollbar-track{background:transparent}
  .explore-results-panel::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--red) 42%,var(--line))}
}
@media(min-width:761px) and (max-width:1050px){
  .explore-preview,.explore-results-panel{height:690px;min-height:0}
  .explore-results-panel{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--red) 45%,var(--line)) transparent}
}
@media(max-width:760px){
  .explore-tech-header h1{font-size:clamp(2.55rem,11vw,3.55rem)}
  .explore-preview{height:auto}
  .explore-results-panel{height:auto;overflow:visible}
}

/* =========================================================
   ESPLORA IMMERSIVA — V40
   Hero di destinazione + selezione visuale dei Comuni + gallery.
   ========================================================= */
.explore-immersive{position:relative;overflow:hidden;background:var(--paper)}
.explore-hero{position:relative;isolation:isolate;height:min(770px,calc(100svh - 113px));min-height:630px;overflow:hidden;background:#2c1a1f;color:#fff}
.explore-hero-slides,.explore-hero-slide{position:absolute;inset:0}
.explore-hero-slide{opacity:0;visibility:hidden;transform:scale(1.045);transition:opacity 1.15s ease,visibility 1.15s ease,transform 8s ease}
.explore-hero-slide.is-active{opacity:1;visibility:visible;transform:scale(1)}
.explore-hero-slide img{width:100%;height:100%;object-fit:cover;filter:saturate(.88) contrast(1.03)}
.explore-hero-fallback{background:radial-gradient(circle at 73% 28%,rgba(198,151,109,.42),transparent 28%),linear-gradient(125deg,#6f3141,#26151a 68%)}
.explore-hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(28,13,18,.82) 0%,rgba(28,13,18,.57) 42%,rgba(28,13,18,.15) 76%),linear-gradient(0deg,rgba(20,10,13,.58) 0%,transparent 46%),linear-gradient(180deg,rgba(13,7,9,.1),transparent 36%)}
.explore-hero::after{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.58) 47%,transparent 86%);opacity:.42}
.explore-hero-orbit{position:absolute;z-index:2;right:clamp(-170px,-7vw,-60px);top:50%;width:clamp(420px,43vw,720px);aspect-ratio:1;transform:translateY(-50%);pointer-events:none;opacity:.44}
.explore-hero-orbit i{position:absolute;inset:0;border:1px solid rgba(255,255,255,.2);border-radius:47% 53% 51% 49% / 52% 44% 56% 48%;transform:rotate(-13deg)}
.explore-hero-orbit i:nth-child(2){inset:13%;border-style:dashed;transform:rotate(22deg)}
.explore-hero-orbit i:nth-child(3){inset:29%;transform:rotate(52deg);background:radial-gradient(circle,rgba(255,255,255,.16) 0 2px,transparent 3px)}
.explore-hero-content{position:relative;z-index:3;height:100%;display:flex;align-items:center;justify-content:space-between;gap:50px;padding-bottom:42px}
.explore-hero-copy{max-width:830px;padding-top:10px}
.explore-hero-kicker{display:inline-flex;align-items:center;gap:12px;margin-bottom:20px;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.22em;color:rgba(255,255,255,.78)}
.explore-hero-kicker::before{content:"";width:34px;height:1px;background:#ddb7a2}
.explore-hero h1{margin:0;max-width:850px;font-size:clamp(3.65rem,6.2vw,6.8rem);line-height:1.01;letter-spacing:-.025em;text-wrap:balance;text-shadow:0 8px 35px rgba(0,0,0,.24)}
.explore-hero h1 em{font-weight:300;color:#ead4c6}
.explore-hero-copy>p{max-width:610px;margin:27px 0 0;color:rgba(255,255,255,.82);font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.72}
.explore-hero-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:34px}
.explore-hero-actions a{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:52px;padding:13px 20px;border-radius:999px;text-decoration:none;font-size:.72rem;font-weight:900;letter-spacing:.08em;transition:transform .22s ease,background .22s ease,color .22s ease,border-color .22s ease}
.explore-hero-actions a:hover{transform:translateY(-2px)}
.explore-hero-primary{background:#fff;color:#4e1d2b}
.explore-hero-primary:hover{background:#ead4c6}
.explore-hero-secondary{border:1px solid rgba(255,255,255,.46);background:rgba(31,13,19,.18);color:#fff;backdrop-filter:blur(12px)}
.explore-hero-secondary:hover{background:rgba(255,255,255,.13);border-color:#fff}
.explore-hero-data{align-self:flex-end;display:flex;align-items:center;gap:24px;margin-bottom:54px;padding:17px 20px;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:rgba(24,10,15,.2);backdrop-filter:blur(16px)}
.explore-hero-data>div{display:grid;gap:2px}
.explore-hero-data strong{font-size:1.42rem;line-height:1;color:#fff}
.explore-hero-data span{font-size:.56rem;text-transform:uppercase;letter-spacing:.13em;color:rgba(255,255,255,.62);white-space:nowrap}
.explore-hero-data>i{width:1px;height:35px;background:rgba(255,255,255,.2)}
.explore-hero-nav{position:absolute;z-index:4;left:50%;bottom:29px;transform:translateX(-50%);display:flex;align-items:center;gap:18px;color:#fff;pointer-events:none}
.explore-hero-nav>span{font-size:.57rem;font-weight:900;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.72)}
.explore-hero-nav>div{display:flex;align-items:center;gap:7px;pointer-events:auto}
.explore-hero-nav button{width:7px;height:7px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.42);cursor:pointer;transition:width .3s ease,background .3s ease}
.explore-hero-nav button.is-active{width:29px;background:#fff}
.explore-hero-scroll{position:absolute;z-index:4;right:28px;bottom:31px;display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.7);font-size:.54rem;font-weight:900;text-transform:uppercase;letter-spacing:.18em;text-decoration:none;writing-mode:vertical-rl}
.explore-hero-scroll span{width:1px;height:39px;background:rgba(255,255,255,.54)}

.explore-territory{position:relative;z-index:6;background:linear-gradient(180deg,transparent 0 64px,var(--paper) 64px)}
.explore-selector-shell{position:relative;margin-top:-64px;padding:clamp(25px,3vw,42px);border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:32px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 28px 90px rgba(53,31,30,.16);backdrop-filter:blur(24px)}
.explore-selector-shell::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background-image:linear-gradient(rgba(151,46,71,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(151,46,71,.035) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(90deg,#000,transparent 88%)}
.explore-selector-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(32px,7vw,110px);align-items:end;margin-bottom:30px}
.explore-selector-heading h2{max-width:820px;margin-top:12px;font-size:clamp(2.45rem,4.4vw,4.8rem);line-height:1.06;letter-spacing:-.018em}
.explore-selector-heading>p{max-width:520px;margin:0 0 5px;color:var(--muted);font-size:1rem;line-height:1.75}
.explore-municipality-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.explore-municipality-card{--municipality-image:none;position:relative;isolation:isolate;min-height:178px;overflow:hidden;padding:0;border:0;border-radius:20px;background:linear-gradient(140deg,#6f5860,#2e2025);color:#fff;text-align:left;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.13);transition:transform .25s ease,box-shadow .25s ease}
.explore-municipality-card:hover{transform:translateY(-4px);box-shadow:0 17px 35px rgba(55,31,32,.2),inset 0 0 0 1px rgba(255,255,255,.34)}
.explore-municipality-card:focus-visible{outline:3px solid color-mix(in srgb,var(--red) 75%,#fff);outline-offset:3px}
.explore-municipality-card.is-active{box-shadow:0 0 0 3px var(--red),0 18px 40px rgba(151,46,71,.28)}
.explore-municipality-image{position:absolute;z-index:-3;inset:0;background-image:var(--municipality-image);background-size:cover;background-position:center;transition:transform .55s ease,filter .3s ease}
.explore-municipality-card:hover .explore-municipality-image,.explore-municipality-card.is-active .explore-municipality-image{transform:scale(1.055)}
.explore-municipality-shade{position:absolute;z-index:-2;inset:0;background:linear-gradient(180deg,rgba(24,10,15,.08),rgba(24,10,15,.78)),linear-gradient(90deg,rgba(24,10,15,.42),transparent 70%)}
.explore-municipality-card.is-active .explore-municipality-shade{background:linear-gradient(180deg,rgba(91,20,42,.12),rgba(91,20,42,.88)),linear-gradient(90deg,rgba(91,20,42,.52),transparent 72%)}
.explore-municipality-index{position:absolute;left:15px;top:13px;font-size:.57rem;font-weight:900;letter-spacing:.18em;color:rgba(255,255,255,.72)}
.explore-municipality-copy{position:absolute;left:15px;right:45px;bottom:14px;display:grid;gap:5px}
.explore-municipality-copy strong{font-family:var(--serif);font-size:clamp(.95rem,1.25vw,1.2rem);line-height:1.18;letter-spacing:.01em;text-shadow:0 2px 16px rgba(0,0,0,.3)}
.explore-municipality-copy small{font-size:.55rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.72)}
.explore-municipality-arrow{position:absolute;right:13px;bottom:13px;width:31px;height:31px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.34);border-radius:50%;background:rgba(24,10,15,.12);font-size:.8rem;backdrop-filter:blur(8px)}
.explore-municipality-card.is-active .explore-municipality-arrow{background:#fff;color:var(--red);border-color:#fff}

.explore-discovery{position:relative;padding:100px 0 120px;background:var(--paper)}
.explore-discovery::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 88% 12%,color-mix(in srgb,var(--red) 8%,transparent),transparent 28%);opacity:.75}
.explore-discovery>.wide-container{position:relative}
.explore-discovery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;margin-bottom:37px}
.explore-discovery-title h2{margin:12px 0 10px;font-size:clamp(2.7rem,4.7vw,5rem);line-height:1.05;letter-spacing:-.018em}
.explore-discovery-title p{margin:0;color:var(--muted);font-size:.95rem}
.explore-discovery-title p strong{color:var(--red);font-size:1.15rem}
.explore-discovery-map{min-width:315px;display:grid;grid-template-columns:42px 1fr 20px;align-items:center;gap:13px;padding:15px 17px;border:1px solid var(--line);border-radius:19px;background:var(--surface);color:var(--ink);text-decoration:none;box-shadow:var(--shadow-soft);transition:transform .22s ease,border-color .22s ease}
.explore-discovery-map:hover{transform:translateY(-3px);border-color:var(--red)}
.explore-discovery-map>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--red) 10%,transparent);color:var(--red);font-size:1.2rem}
.explore-discovery-map>div{display:grid;gap:2px}
.explore-discovery-map small{color:var(--muted);font-size:.56rem;text-transform:uppercase;letter-spacing:.1em}
.explore-discovery-map strong{font-size:.78rem;line-height:1.3}
.explore-discovery-map>i{font-style:normal;color:var(--red)}
.explore-filter-console{position:relative;isolation:isolate;overflow:hidden;margin-bottom:26px;padding:12px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:25px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 96%,transparent),color-mix(in srgb,var(--paper-2) 82%,var(--surface)));box-shadow:0 18px 50px rgba(65,39,37,.08)}
.explore-filter-console::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background-image:linear-gradient(rgba(151,46,71,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(151,46,71,.045) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.55) 62%,transparent)}
.explore-filter-console::after{content:"";position:absolute;z-index:-1;right:-90px;top:-125px;width:320px;height:320px;border:1px solid color-mix(in srgb,var(--red) 20%,transparent);border-radius:50%;box-shadow:0 0 0 42px color-mix(in srgb,var(--red) 3%,transparent),0 0 0 84px color-mix(in srgb,var(--red) 2%,transparent);pointer-events:none}
.explore-filter-console-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:5px 7px 13px;margin-bottom:10px;border-bottom:1px solid color-mix(in srgb,var(--line) 78%,transparent)}
.explore-filter-terminal{display:flex;align-items:center;gap:12px;min-width:0}
.explore-filter-signal{display:flex;align-items:center;gap:4px;padding:7px 8px;border:1px solid color-mix(in srgb,var(--red) 20%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--surface) 82%,transparent)}
.explore-filter-signal i{width:5px;height:5px;border-radius:50%;background:color-mix(in srgb,var(--muted) 55%,transparent)}
.explore-filter-signal i:first-child{background:var(--red);box-shadow:0 0 0 4px color-mix(in srgb,var(--red) 12%,transparent)}
.explore-filter-terminal>span:last-child{display:grid;gap:1px;min-width:0}
.explore-filter-terminal small,.explore-filter-live span{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.51rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}
.explore-filter-terminal strong{font-size:.77rem;line-height:1.2;color:var(--ink)}
.explore-filter-live{display:flex;align-items:center;gap:8px;white-space:nowrap}
.explore-filter-live>i{width:7px;height:7px;border-radius:50%;background:#52a66e;box-shadow:0 0 0 5px rgba(82,166,110,.12)}
.explore-filter-live strong{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:var(--red);font-size:.76rem}
.explore-category-filters{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;overflow-x:auto;padding:0;scrollbar-width:none}
.explore-category-filters::-webkit-scrollbar{display:none}
.explore-category-filters button{position:relative;isolation:isolate;min-width:0;min-height:82px;display:grid;grid-template-columns:35px minmax(0,1fr) 8px;align-items:center;gap:10px;overflow:hidden;padding:15px 13px 12px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:16px;background:color-mix(in srgb,var(--surface) 84%,transparent);color:var(--muted);font:inherit;text-align:left;cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.35);transition:transform .22s ease,border-color .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease}
.explore-category-filters button::before{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .28s ease}
.explore-category-filters button::after{content:"";position:absolute;z-index:-1;right:-38px;top:-42px;width:105px;height:105px;border:1px solid color-mix(in srgb,var(--red) 13%,transparent);border-radius:50%;opacity:0;transition:opacity .22s ease}
.explore-category-filters button:hover{transform:translateY(-2px);color:var(--red);border-color:color-mix(in srgb,var(--red) 36%,var(--line));background:color-mix(in srgb,var(--surface) 94%,var(--red) 6%)}
.explore-category-filters button:hover::after,.explore-category-filters button.is-active::after{opacity:1}
.explore-category-filters button.is-active{color:var(--ink);border-color:color-mix(in srgb,var(--red) 56%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 88%,var(--red) 12%),color-mix(in srgb,var(--surface) 98%,transparent));box-shadow:0 10px 26px rgba(151,46,71,.13),inset 0 0 0 1px color-mix(in srgb,var(--red) 8%,transparent)}
.explore-category-filters button.is-active::before{transform:scaleX(1)}
.explore-filter-code{position:absolute;left:10px;top:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.43rem;font-weight:800;letter-spacing:.09em;color:color-mix(in srgb,var(--muted) 62%,transparent)}
.explore-filter-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--line) 84%,transparent);border-radius:11px;background:color-mix(in srgb,var(--paper) 66%,transparent);color:var(--red);transition:background .22s ease,color .22s ease,border-color .22s ease}
.explore-filter-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.explore-filter-name{min-width:0;font-size:.62rem;font-weight:900;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.explore-filter-node{width:6px;height:6px;border:1px solid color-mix(in srgb,var(--muted) 60%,transparent);border-radius:50%;background:transparent}
.explore-category-filters button.is-active .explore-filter-icon{border-color:var(--red);background:var(--red);color:#fff;box-shadow:0 7px 16px rgba(151,46,71,.22)}
.explore-category-filters button.is-active .explore-filter-node{border-color:var(--red);background:var(--red);box-shadow:0 0 0 4px color-mix(in srgb,var(--red) 12%,transparent)}
.explore-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;grid-auto-rows:178px;gap:15px}
.explore-place-card{position:relative;isolation:isolate;grid-column:span 4;grid-row:span 2;min-width:0;overflow:hidden;border-radius:24px;background:#3c292f;color:#fff;text-decoration:none;box-shadow:0 15px 40px rgba(55,31,32,.1);transition:transform .3s ease,box-shadow .3s ease}
.explore-place-card:hover{transform:translateY(-5px);box-shadow:0 24px 55px rgba(55,31,32,.2)}
.explore-place-card.is-panorama{grid-column:span 8;grid-row:span 3}
.explore-place-card.is-portrait{grid-column:span 4;grid-row:span 3}
.explore-place-card.is-wide{grid-column:span 8;grid-row:span 2}
.explore-place-media,.explore-place-media img,.explore-place-media .image-placeholder{position:absolute;inset:0;width:100%;height:100%}
.explore-place-media img{object-fit:cover;transition:transform .75s cubic-bezier(.2,.75,.2,1),filter .35s ease}
.explore-place-card:hover .explore-place-media img{transform:scale(1.055);filter:saturate(1.06)}
.explore-place-shade{position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(22,9,13,.12) 25%,rgba(22,9,13,.82) 100%),linear-gradient(90deg,rgba(22,9,13,.34),transparent 70%)}
.explore-place-topline{position:absolute;z-index:2;left:16px;right:16px;top:15px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.explore-place-topline span,.explore-place-topline i{padding:6px 9px;border:1px solid rgba(255,255,255,.23);border-radius:999px;background:rgba(28,13,18,.18);font-size:.51rem;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.1em;backdrop-filter:blur(10px)}
.explore-place-topline i{max-width:54%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgba(255,255,255,.78)}
.explore-place-copy{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:23px clamp(19px,2.2vw,31px)}
.explore-place-copy h3{max-width:650px;margin:0;font-size:clamp(1.42rem,2vw,2.25rem);line-height:1.08;letter-spacing:.005em;text-shadow:0 3px 20px rgba(0,0,0,.32)}
.explore-place-copy p{display:none;max-width:580px;margin:12px 0 0;color:rgba(255,255,255,.76);font-size:.78rem;line-height:1.62}
.explore-place-card.is-panorama .explore-place-copy h3{font-size:clamp(2rem,3.3vw,3.55rem)}
.explore-place-card.is-panorama .explore-place-copy p,.explore-place-card.is-wide .explore-place-copy p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.explore-place-copy>span{display:flex;align-items:center;gap:12px;margin-top:15px;font-size:.57rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.84)}
.explore-place-copy>span i{font-style:normal;font-size:.9rem;transition:transform .22s ease}
.explore-place-card:hover .explore-place-copy>span i{transform:translate(3px,-3px)}
.explore-empty{padding:80px 24px;text-align:center;border:1px dashed var(--line);border-radius:25px;background:var(--surface)}
.explore-empty>span{display:block;margin-bottom:14px;color:var(--red);font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.15em}
.explore-empty h3{font-size:clamp(1.8rem,3vw,3rem)}
.explore-empty p{margin:12px auto 0;max-width:560px;color:var(--muted)}
.explore-load-wrap{display:flex;justify-content:center;margin-top:28px}
.explore-gallery-more{min-width:260px;display:flex;align-items:center;justify-content:space-between;gap:26px;padding:14px 16px 14px 21px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font:inherit;font-size:.66rem;font-weight:900;cursor:pointer;box-shadow:var(--shadow-soft);transition:transform .22s ease,border-color .22s ease}
.explore-gallery-more:hover{transform:translateY(-2px);border-color:var(--red)}
.explore-gallery-more i{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:var(--red);color:#fff;font-size:.9rem;font-style:normal}

html[data-theme="dark"] .explore-selector-shell{background:rgba(31,27,28,.94);border-color:rgba(255,255,255,.09);box-shadow:0 28px 90px rgba(0,0,0,.35)}
html[data-theme="dark"] .explore-selector-shell::after{opacity:.36}
html[data-theme="dark"] .explore-discovery-map,html[data-theme="dark"] .explore-gallery-more,html[data-theme="dark"] .explore-empty{background:#211d1f;border-color:rgba(255,255,255,.09)}
html[data-theme="dark"] .explore-filter-console{background:linear-gradient(135deg,rgba(35,30,32,.97),rgba(26,23,24,.96));border-color:rgba(255,255,255,.09);box-shadow:0 18px 50px rgba(0,0,0,.28)}
html[data-theme="dark"] .explore-filter-console-meta,html[data-theme="dark"] .explore-category-filters button{border-color:rgba(255,255,255,.09)}
html[data-theme="dark"] .explore-category-filters button{background:rgba(37,32,34,.84);box-shadow:inset 0 1px rgba(255,255,255,.035)}
html[data-theme="dark"] .explore-category-filters button:hover,html[data-theme="dark"] .explore-category-filters button.is-active{background:linear-gradient(145deg,rgba(72,37,48,.72),rgba(34,29,31,.94));border-color:rgba(184,91,114,.55)}
html[data-theme="dark"] .explore-filter-icon{background:rgba(20,17,18,.62);border-color:rgba(255,255,255,.09)}

@media(max-width:1100px){
  .explore-hero-data{display:none}
  .explore-selector-heading{grid-template-columns:1fr;gap:20px}
  .explore-selector-heading>p{max-width:680px}
  .explore-municipality-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .explore-place-card{grid-column:span 6}
  .explore-place-card.is-panorama,.explore-place-card.is-wide{grid-column:span 12}
  .explore-place-card.is-portrait{grid-column:span 6}
}
@media(max-width:1250px){
  .explore-category-filters{display:flex;scroll-snap-type:x proximity;scroll-padding-left:1px}
  .explore-category-filters button{flex:0 0 145px;scroll-snap-align:start}
}
@media(max-width:850px){
  .explore-hero{height:calc(100svh - 76px);min-height:610px}
  .explore-hero-content{align-items:flex-end;padding-bottom:92px}
  .explore-hero-copy{width:100%}
  .explore-hero h1{font-size:clamp(3.25rem,10vw,5.15rem)}
  .explore-hero-orbit{right:-250px;width:610px}
  .explore-hero-nav{bottom:25px}
  .explore-hero-scroll{display:none}
  .explore-selector-shell{margin-top:-42px;border-radius:27px}
  .explore-discovery{padding-top:78px}
  .explore-discovery-head{align-items:flex-start;flex-direction:column;gap:24px}
  .explore-discovery-map{min-width:0;width:100%;max-width:430px}
  .explore-gallery{grid-auto-rows:160px}
}
@media(max-width:620px){
  .wide-container{width:min(100% - 30px,1380px)}
  .explore-hero{min-height:620px}
  .explore-hero::after{background-size:48px 48px}
  .explore-hero-content{align-items:flex-end;padding-bottom:90px}
  .explore-hero-kicker{font-size:.58rem;letter-spacing:.17em}
  .explore-hero h1{font-size:clamp(3.05rem,14vw,4.35rem);line-height:1.02;letter-spacing:-.015em}
  .explore-hero-copy>p{font-size:.97rem;line-height:1.65;margin-top:20px}
  .explore-hero-actions{align-items:stretch;flex-direction:column;margin-top:25px}
  .explore-hero-actions a{width:100%}
  .explore-hero-nav>span{display:none}
  .explore-territory{background:linear-gradient(180deg,transparent 0 42px,var(--paper) 42px)}
  .explore-selector-shell{margin-top:-42px;padding:24px 0 27px;border-radius:25px;overflow:hidden}
  .explore-selector-heading{padding-inline:20px;margin-bottom:22px}
  .explore-selector-heading h2{font-size:clamp(2.25rem,10vw,3.2rem)}
  .explore-selector-heading>p{font-size:.9rem;line-height:1.68}
  .explore-municipality-cards{display:flex;overflow-x:auto;gap:10px;padding:3px 20px 18px;scroll-snap-type:x mandatory;scroll-padding-left:20px;scrollbar-width:none}
  .explore-municipality-cards::-webkit-scrollbar{display:none}
  .explore-municipality-card{flex:0 0 min(74vw,270px);min-height:190px;scroll-snap-align:start}
  .explore-discovery{padding:70px 0 90px}
  .explore-discovery-title h2{font-size:clamp(2.35rem,11vw,3.35rem)}
  .explore-filter-console{margin-inline:-4px;padding:9px;border-radius:21px}
  .explore-filter-console-meta{padding:5px 4px 11px;gap:12px}
  .explore-filter-live span{display:none}
  .explore-category-filters{display:flex;width:calc(100% + 9px);margin-right:-9px;padding:1px 9px 7px 1px;scroll-snap-type:x proximity;scroll-padding-left:1px}
  .explore-category-filters button{flex:0 0 132px;min-height:76px;scroll-snap-align:start}
  .explore-gallery{display:block}
  .explore-place-card,.explore-place-card.is-panorama,.explore-place-card.is-portrait,.explore-place-card.is-wide{display:block;width:100%;height:min(72svh,470px);min-height:360px;margin-bottom:14px}
  .explore-place-card.is-panorama .explore-place-copy h3{font-size:clamp(1.7rem,8vw,2.45rem)}
  .explore-place-copy h3{font-size:clamp(1.55rem,7vw,2.15rem)}
  .explore-place-card.is-panorama .explore-place-copy p,.explore-place-card.is-wide .explore-place-copy p{display:none}
}
@media(prefers-reduced-motion:reduce){
  .explore-hero-slide,.explore-municipality-card,.explore-municipality-image,.explore-place-card,.explore-place-media img,.explore-category-filters button,.explore-category-filters button::before{transition:none!important}
}

/* =========================================================
   ESPLORA TERRITORIALE — V41
   Un Comune obbligatorio, carosello luoghi e deck Experience
   coerenti con la homepage.
   ========================================================= */
.explore-places-carousel{position:relative;padding-top:104px;padding-bottom:94px;background:var(--paper-2)}
.explore-places-carousel::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(151,46,71,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(151,46,71,.026) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(180deg,#000,transparent 68%)}
.explore-places-carousel>*{position:relative;z-index:1}
.explore-places-carousel .places-carousel-title h2{max-width:870px}
.explore-places-carousel .places-carousel-title p strong{color:var(--red);font-size:1.08rem}
.explore-carousel-filter-wrap{margin-top:6px;margin-bottom:34px}
.explore-places-carousel .explore-filter-console{margin-bottom:0}
.explore-places-carousel .places-carousel-viewport[hidden],
.explore-places-carousel .place-carousel-card[hidden]{display:none!important}
.explore-places-carousel .places-carousel-track{min-height:536px}
.explore-places-carousel .places-carousel-actions button[hidden],
.explore-places-carousel .places-carousel-progress[hidden]{display:none!important}
.explore-carousel-empty{margin-top:14px;padding:70px 28px;text-align:center;border:1px dashed color-mix(in srgb,var(--red) 28%,var(--line));border-radius:28px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow-soft)}
.explore-carousel-empty>span,.explore-experience-empty>span{display:block;margin-bottom:13px;color:var(--red);font-size:.61rem;font-weight:900;text-transform:uppercase;letter-spacing:.16em}
.explore-carousel-empty h3,.explore-experience-empty h3{margin:0;font-size:clamp(1.8rem,3.2vw,3rem);letter-spacing:.01em}
.explore-carousel-empty p,.explore-experience-empty p{max-width:590px;margin:13px auto 0;color:var(--muted);line-height:1.7}

.explore-experience-section{margin-top:0}
.explore-experience-section .vv-experience-title .eyebrow span{color:#fff}
.explore-experience-section .vv-experience-filters button{display:inline-flex;align-items:center;gap:8px}
.explore-experience-section .vv-experience-filters button small{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.1);font-family:var(--sans);font-size:.56rem;font-weight:900;color:inherit}
.explore-experience-section .vv-experience-filters button.is-active small{background:#fff;color:var(--red)}
.explore-experience-section .vv-experience-filters button.is-unavailable{opacity:.42;cursor:not-allowed}
.explore-experience-section .vv-experience-card.is-filtered-out{display:none!important}
.explore-experience-section .vv-experience-stage.is-empty{min-height:440px;overflow:hidden}
.explore-experience-empty{width:min(100% - 40px,880px);min-height:330px;margin:0 auto;display:grid;align-content:center;justify-items:center;padding:55px 30px;text-align:center;border:1px solid rgba(255,255,255,.13);border-radius:34px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));box-shadow:0 30px 80px rgba(0,0,0,.16);color:#fff;backdrop-filter:blur(18px)}
.explore-experience-empty[hidden]{display:none!important}
.explore-experience-empty>span{color:#e6b7c4}
.explore-experience-empty p{color:rgba(255,255,255,.68)}

html[data-theme="dark"] .explore-places-carousel{background:#17191c}
html[data-theme="dark"] .explore-carousel-empty{background:#211d1f;border-color:rgba(255,255,255,.11)}

@media(max-width:850px){
  .explore-places-carousel{padding-top:80px;padding-bottom:72px}
  .explore-carousel-filter-wrap{margin-bottom:25px}
  .explore-places-carousel .places-carousel-track{min-height:510px}
  .explore-experience-section .vv-experience-title .eyebrow{line-height:1.55}
}
@media(max-width:620px){
  .explore-places-carousel{padding-top:68px;padding-bottom:62px}
  .explore-places-carousel .places-carousel-head{margin-bottom:24px}
  .explore-carousel-filter-wrap{width:min(100% - 22px,1380px);margin-bottom:20px}
  .explore-places-carousel .places-carousel-track{min-height:500px}
  .explore-carousel-empty{padding:52px 20px;border-radius:23px}
  .explore-experience-section .vv-experience-filters button{gap:5px}
  .explore-experience-section .vv-experience-filters button small{min-width:21px;height:21px;font-size:.52rem}
  .explore-experience-empty{width:calc(100% - 30px);min-height:290px;padding:44px 20px;border-radius:27px}
}
.explore-experience-section .vv-experience-stage.is-empty{display:grid;place-items:center;min-height:440px;overflow:hidden;padding-block:30px}
.explore-experience-section .vv-experience-stage.is-empty .vv-experience-track{display:none}

/* =========================================================
   ESPLORA — V42
   Selettori minimali, vista generale e caroselli tematici.
   ========================================================= */
.explore-destinations{position:relative;z-index:7;padding:68px 0 42px;background:var(--paper)}
.explore-destinations::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent)}
.explore-destinations-head{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:25px}
.explore-destinations-head h2{margin:8px 0 0;font-size:clamp(2.35rem,3.8vw,4rem);line-height:1.02;letter-spacing:-.025em}
.explore-destinations-head>p{max-width:550px;margin:0 0 4px;color:var(--muted);font-size:.92rem;line-height:1.7}
.explore-destination-rail{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:9px}
.explore-destination-card{--destination-image:none;position:relative;isolation:isolate;min-width:0;height:132px;overflow:hidden;padding:0;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:18px;background:#403137;color:#fff;text-align:left;cursor:pointer;box-shadow:0 10px 28px rgba(44,25,27,.07);transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
.explore-destination-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--red) 38%,var(--line));box-shadow:0 16px 34px rgba(44,25,27,.13)}
.explore-destination-card:focus-visible{outline:3px solid color-mix(in srgb,var(--red) 28%,transparent);outline-offset:3px}
.explore-destination-card.is-active{border-color:var(--red);box-shadow:0 0 0 2px color-mix(in srgb,var(--red) 72%,transparent),0 16px 36px rgba(151,46,71,.18)}
.explore-destination-image{position:absolute;z-index:-3;inset:0;background-image:var(--destination-image);background-size:cover;background-position:center;transition:transform .55s ease,filter .3s ease}
.explore-destination-card:hover .explore-destination-image,.explore-destination-card.is-active .explore-destination-image{transform:scale(1.045)}
.explore-destination-shade{position:absolute;z-index:-2;inset:0;background:linear-gradient(180deg,rgba(20,10,13,.06),rgba(20,10,13,.78)),linear-gradient(90deg,rgba(20,10,13,.25),transparent 78%)}
.explore-destination-card.is-active .explore-destination-shade{background:linear-gradient(180deg,rgba(94,19,41,.07),rgba(94,19,41,.84)),linear-gradient(90deg,rgba(94,19,41,.32),transparent 78%)}
.explore-destination-card.is-all .explore-destination-image{filter:saturate(.72) contrast(.96)}
.explore-destination-copy{position:absolute;left:14px;right:37px;bottom:13px;display:grid;gap:4px}
.explore-destination-copy strong{font-family:var(--serif);font-size:clamp(.78rem,.92vw,.98rem);line-height:1.15;letter-spacing:.012em;text-shadow:0 2px 14px rgba(0,0,0,.28)}
.explore-destination-copy small{font-family:var(--sans);font-size:.48rem;font-weight:900;text-transform:uppercase;letter-spacing:.11em;color:rgba(255,255,255,.7)}
.explore-destination-mark{position:absolute;right:11px;bottom:11px;width:27px;height:27px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(18,9,12,.14);font-size:.7rem;backdrop-filter:blur(7px)}
.explore-destination-card.is-active .explore-destination-mark{background:#fff;border-color:#fff;color:var(--red)}

.explore-interest-strip{position:relative;z-index:8;padding:0 0 38px;background:var(--paper);scroll-margin-top:88px}
.explore-interest-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;padding:12px 2px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.explore-interest-title{font-size:.58rem;font-weight:900;text-transform:uppercase;letter-spacing:.17em;color:var(--muted);white-space:nowrap}
.explore-interest-options{display:flex;align-items:center;gap:5px;min-width:0;overflow-x:auto;padding:2px;scrollbar-width:none;scroll-snap-type:x proximity}
.explore-interest-options::-webkit-scrollbar{display:none}
.explore-interest-options button{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;min-height:39px;padding:8px 13px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--muted);font:inherit;cursor:pointer;scroll-snap-align:start;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.explore-interest-options button:hover{color:var(--red);background:color-mix(in srgb,var(--red) 6%,transparent)}
.explore-interest-options button.is-active{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 8px 22px rgba(151,46,71,.18)}
.explore-interest-options button>span{width:25px;height:25px;display:grid;place-items:center;flex:0 0 auto}
.explore-interest-options button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.explore-interest-options button strong{font-size:.65rem;line-height:1;white-space:nowrap}
.explore-interest-count{display:flex;align-items:baseline;gap:5px;color:var(--muted);font-size:.57rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}
.explore-interest-count strong{color:var(--red);font-size:.83rem;letter-spacing:0}

.explore-results-zone{position:relative;background:var(--paper-2)}
.explore-single-carousel,.explore-category-carousel{padding-block:92px 84px}
.explore-single-carousel[hidden],.explore-category-stack[hidden]{display:none!important}
.explore-single-carousel .places-carousel-title h2,.explore-category-carousel .places-carousel-title h2{font-size:clamp(2.75rem,4.7vw,5rem);letter-spacing:-.035em}
.explore-single-carousel .places-carousel-title p strong{color:var(--red);font-size:1.05rem}
.explore-single-carousel .place-carousel-card[hidden],.explore-single-carousel .places-carousel-viewport[hidden]{display:none!important}
.explore-category-stack{display:block}
.explore-category-carousel:nth-child(odd){background:var(--paper-2)}
.explore-category-carousel:nth-child(even){background:var(--paper)}
.explore-category-carousel+.explore-category-carousel::before{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--red) 18%,var(--line)),transparent)}
.explore-category-carousel .places-carousel-title h2{margin-top:7px}
.explore-category-focus{appearance:none;border:0;background:none;font:inherit;cursor:pointer}
.explore-carousel-empty{margin-top:18px;padding:64px 28px;text-align:center;border:1px dashed color-mix(in srgb,var(--red) 28%,var(--line));border-radius:25px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow-soft)}
.explore-carousel-empty>span,.explore-experience-empty>span{display:block;margin-bottom:13px;color:var(--red);font-size:.61rem;font-weight:900;text-transform:uppercase;letter-spacing:.16em}
.explore-carousel-empty h3,.explore-experience-empty h3{margin:0;font-size:clamp(1.8rem,3.2vw,3rem);letter-spacing:.01em}
.explore-carousel-empty p,.explore-experience-empty p{max-width:590px;margin:13px auto 0;color:var(--muted);line-height:1.7}

.explore-experience-section{margin-top:0}
.explore-experience-section .vv-experience-title .eyebrow span{color:#fff}
.explore-experience-section .vv-experience-filters button{display:inline-flex;align-items:center;gap:8px}
.explore-experience-section .vv-experience-filters button small{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.1);font-family:var(--sans);font-size:.56rem;font-weight:900;color:inherit}
.explore-experience-section .vv-experience-filters button.is-active small{background:#fff;color:var(--red)}
.explore-experience-section .vv-experience-filters button.is-unavailable{opacity:.42;cursor:not-allowed}
.explore-experience-section .vv-experience-card.is-filtered-out{display:none!important}
.explore-experience-section .vv-experience-stage.is-empty{display:grid;place-items:center;min-height:440px;overflow:hidden;padding-block:30px}
.explore-experience-section .vv-experience-stage.is-empty .vv-experience-track{display:none}
.explore-experience-empty{width:min(100% - 40px,880px);min-height:330px;margin:0 auto;display:grid;align-content:center;justify-items:center;padding:55px 30px;text-align:center;border:1px solid rgba(255,255,255,.13);border-radius:34px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));box-shadow:0 30px 80px rgba(0,0,0,.16);color:#fff;backdrop-filter:blur(18px)}
.explore-experience-empty[hidden]{display:none!important}
.explore-experience-empty>span{color:#e6b7c4}
.explore-experience-empty p{color:rgba(255,255,255,.68)}

html[data-theme="dark"] .explore-destinations,html[data-theme="dark"] .explore-interest-strip{background:#1c191a}
html[data-theme="dark"] .explore-results-zone,html[data-theme="dark"] .explore-category-carousel:nth-child(odd),html[data-theme="dark"] .explore-single-carousel{background:#17191c}
html[data-theme="dark"] .explore-category-carousel:nth-child(even){background:#1d1a1b}
html[data-theme="dark"] .explore-destination-card{border-color:rgba(255,255,255,.09);box-shadow:0 10px 28px rgba(0,0,0,.2)}
html[data-theme="dark"] .explore-interest-bar{border-color:rgba(255,255,255,.09)}
html[data-theme="dark"] .explore-interest-options button:hover{background:rgba(255,255,255,.05)}
html[data-theme="dark"] .explore-interest-options button.is-active{background:var(--red)}
html[data-theme="dark"] .explore-carousel-empty{background:#211d1f;border-color:rgba(255,255,255,.11)}

@media(max-width:1250px){
  .explore-destination-rail{display:flex;overflow-x:auto;padding:3px 2px 15px;scroll-snap-type:x proximity;scrollbar-width:none}
  .explore-destination-rail::-webkit-scrollbar{display:none}
  .explore-destination-card{flex:0 0 185px;scroll-snap-align:start}
}
@media(max-width:900px){
  .explore-destinations{padding-top:55px}
  .explore-destinations-head{align-items:flex-start;flex-direction:column;gap:13px;margin-bottom:21px}
  .explore-destinations-head>p{max-width:680px}
  .explore-interest-bar{grid-template-columns:auto minmax(0,1fr);gap:14px}
  .explore-interest-count{grid-column:1/-1;justify-self:end;margin-top:-4px}
  .explore-single-carousel,.explore-category-carousel{padding-block:78px 72px}
}
@media(max-width:620px){
  .explore-destinations{padding:48px 0 31px}
  .explore-destinations-head h2{font-size:clamp(2.25rem,11vw,3.15rem)}
  .explore-destinations-head>p{font-size:.88rem;line-height:1.65}
  .explore-destination-rail{width:calc(100% + 15px);margin-right:-15px;padding-right:15px}
  .explore-destination-card{flex-basis:168px;height:118px;border-radius:16px}
  .explore-destination-copy strong{font-size:.87rem}
  .explore-interest-strip{padding-bottom:27px}
  .explore-interest-bar{display:block;padding:10px 0}
  .explore-interest-title{display:block;margin:0 0 8px 2px}
  .explore-interest-options{width:calc(100% + 15px);margin-right:-15px;padding-right:15px}
  .explore-interest-options button{min-height:39px;padding:7px 11px}
  .explore-interest-options button>span{width:23px;height:23px}
  .explore-interest-options button svg{width:20px;height:20px}
  .explore-interest-count{display:none}
  .explore-single-carousel,.explore-category-carousel{padding-block:66px 61px}
  .explore-single-carousel .places-carousel-title h2,.explore-category-carousel .places-carousel-title h2{font-size:clamp(2.45rem,11vw,3.5rem)}
  .explore-carousel-empty{padding:50px 20px;border-radius:22px}
  .explore-experience-section .vv-experience-filters button{gap:5px}
  .explore-experience-section .vv-experience-filters button small{min-width:21px;height:21px;font-size:.52rem}
  .explore-experience-empty{width:calc(100% - 30px);min-height:290px;padding:44px 20px;border-radius:27px}
}
@media(prefers-reduced-motion:reduce){
  .explore-destination-card,.explore-destination-image,.explore-interest-options button{transition:none!important}
}

/* =========================================================
   V43 — Esplora: listing in griglia e interessi dinamici
   ========================================================= */
.explore-interest-options button[hidden],
.explore-place-card[hidden],
.explore-grid-more[hidden],
.explore-carousel-empty[hidden]{display:none!important}
.explore-place-grid-section{
  position:relative;
  overflow:hidden;
  padding:92px 0 98px;
  background:var(--paper-2);
}
.explore-place-grid-section::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--line),transparent);
}
.explore-place-grid-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:34px;
  margin-bottom:34px;
}
.explore-place-grid-head .places-carousel-title h2{
  margin:8px 0 13px;
  font-size:clamp(2.75rem,4.65vw,5rem);
  line-height:.99;
  letter-spacing:-.04em;
}
.explore-place-grid-head .places-carousel-title p strong{color:var(--red);font-size:1.05rem}
.explore-place-grid-head>.text-link{flex:0 0 auto;margin-bottom:8px}
.explore-place-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.explore-place-card{
  width:100%;
  min-width:0;
  min-height:0;
  height:100%;
  flex:initial;
  scroll-snap-align:unset;
  scroll-snap-stop:normal;
  border-radius:24px;
}
.explore-place-card .place-carousel-media{height:auto;aspect-ratio:16/10}
.explore-place-card .place-carousel-copy{min-height:220px;padding:22px 22px 20px}
.explore-place-card .place-carousel-copy h3{font-size:clamp(1.45rem,1.75vw,1.85rem)}
.explore-place-card .place-carousel-copy p{-webkit-line-clamp:3}
.explore-place-grid-footer{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin-top:40px;
}
.explore-grid-more{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:50px;
  padding:12px 22px;
  border:1px solid color-mix(in srgb,var(--red) 24%,var(--line));
  border-radius:999px;
  background:var(--surface);
  color:var(--ink);
  box-shadow:0 12px 32px rgba(31,27,24,.07);
  font:800 .72rem/1 var(--sans);
  letter-spacing:.02em;
  cursor:pointer;
  transition:transform .25s ease,border-color .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease;
}
.explore-grid-more span{color:var(--red);font-size:.95rem}
.explore-grid-more:hover{
  transform:translateY(-2px);
  border-color:var(--red);
  background:var(--red);
  color:#fff;
  box-shadow:0 16px 38px rgba(151,46,71,.2);
}
.explore-grid-more:hover span{color:#fff}
.explore-grid-status{
  color:var(--muted);
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.explore-place-grid-section .explore-carousel-empty{margin-top:0}

html[data-theme="dark"] .explore-place-grid-section{background:#17191c}
html[data-theme="dark"] .explore-grid-more{
  border-color:rgba(255,255,255,.1);
  background:#222529;
  box-shadow:0 12px 32px rgba(0,0,0,.18);
}
html[data-theme="dark"] .explore-grid-more:hover{border-color:var(--red);background:var(--red)}

@media(max-width:1050px){
  .explore-place-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .explore-place-grid-section{padding-block:78px 82px}
}
@media(max-width:720px){
  .explore-place-grid-head{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:25px}
  .explore-place-grid-head>.text-link{margin-bottom:0}
  .explore-place-grid{grid-template-columns:1fr;gap:18px}
  .explore-place-card .place-carousel-media{aspect-ratio:16/9}
  .explore-place-card .place-carousel-copy{min-height:0}
  .explore-place-grid-section{padding-block:66px 70px}
  .explore-place-grid-footer{margin-top:30px;flex-direction:column;gap:11px}
}
@media(max-width:430px){
  .explore-place-card{border-radius:20px}
  .explore-place-card .place-carousel-copy{padding:20px 19px 18px}
  .explore-place-grid-head .places-carousel-title h2{font-size:clamp(2.45rem,11vw,3.35rem)}
}
@media(prefers-reduced-motion:reduce){
  .explore-grid-more,.explore-place-card{transition:none!important}
}

/* =========================================================
   V44 — Esplora: caroselli per categoria + griglia mirata
   ========================================================= */
.explore-specific-grid[hidden],
.explore-category-carousel[hidden],
.explore-category-carousel [data-explore-carousel-card][hidden],
.explore-specific-grid [data-explore-grid-card][hidden]{display:none!important}
.explore-category-carousel .places-carousel-title p strong{color:var(--red);font-size:1.05rem}
.explore-category-carousel .places-carousel-footer .text-link{
  appearance:none;
  border:0;
  background:none;
  font:inherit;
  cursor:pointer;
}
.explore-specific-grid{background:var(--paper-2)}
.explore-specific-grid .explore-place-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}
.explore-specific-grid .explore-place-card .place-carousel-copy{
  min-height:205px;
  padding:21px 20px 19px;
}
.explore-specific-grid .explore-place-card .place-carousel-copy h3{
  font-size:clamp(1.28rem,1.45vw,1.7rem);
  line-height:1.12;
}
.explore-specific-grid .explore-place-card .place-carousel-copy p{
  font-size:.76rem;
  line-height:1.62;
  -webkit-line-clamp:3;
}
.explore-category-carousel .places-carousel-viewport[aria-label]{scroll-margin-top:120px}

@media(max-width:1320px){
  .explore-specific-grid .explore-place-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:960px){
  .explore-specific-grid .explore-place-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
}
@media(max-width:640px){
  .explore-specific-grid .explore-place-grid{grid-template-columns:1fr;gap:18px}
  .explore-specific-grid .explore-place-card .place-carousel-copy{min-height:0}
}
@media(prefers-reduced-motion:reduce){
  .explore-category-carousel .place-carousel-card,.explore-specific-grid .explore-place-card{transition:none!important}
}
.explore-specific-grid .explore-place-card{
  grid-column:auto!important;
}

/* =========================================================
   V45 — Esplora: card chiare in modalità giorno
   ========================================================= */
html:not([data-theme="dark"]) .explore-category-carousel .place-carousel-card,
html:not([data-theme="dark"]) .explore-specific-grid .explore-place-card{
  border-color:rgba(39,35,31,.09)!important;
  background:#fffdfa!important;
  color:#27231f!important;
  box-shadow:0 16px 48px rgba(64,38,22,.08)!important;
}
html:not([data-theme="dark"]) .explore-category-carousel .place-carousel-card:hover,
html:not([data-theme="dark"]) .explore-specific-grid .explore-place-card:hover{
  border-color:rgba(151,46,71,.22)!important;
  box-shadow:0 27px 66px rgba(64,38,22,.14)!important;
}
html:not([data-theme="dark"]) .explore-category-carousel .place-carousel-copy,
html:not([data-theme="dark"]) .explore-specific-grid .place-carousel-copy{
  background:#fffdfa!important;
  color:#27231f!important;
}
html:not([data-theme="dark"]) .explore-category-carousel .place-carousel-copy small,
html:not([data-theme="dark"]) .explore-specific-grid .place-carousel-copy small{
  color:#972e47!important;
}
html:not([data-theme="dark"]) .explore-category-carousel .place-carousel-copy h3,
html:not([data-theme="dark"]) .explore-specific-grid .place-carousel-copy h3,
html:not([data-theme="dark"]) .explore-category-carousel .place-carousel-link,
html:not([data-theme="dark"]) .explore-specific-grid .place-carousel-link{
  color:#27231f!important;
}
html:not([data-theme="dark"]) .explore-category-carousel .place-carousel-copy p,
html:not([data-theme="dark"]) .explore-specific-grid .place-carousel-copy p{
  color:#746e66!important;
}
html:not([data-theme="dark"]) .explore-category-carousel .place-carousel-link,
html:not([data-theme="dark"]) .explore-specific-grid .place-carousel-link{
  border-top-color:#ddd3c5!important;
}
html:not([data-theme="dark"]) .explore-category-carousel .place-carousel-link i,
html:not([data-theme="dark"]) .explore-specific-grid .place-carousel-link i{
  color:#972e47!important;
}

html[data-theme="dark"] .explore-category-carousel .place-carousel-card,
html[data-theme="dark"] .explore-specific-grid .explore-place-card{
  border-color:rgba(255,255,255,.075)!important;
  background:#222529!important;
  color:#f1ebe2!important;
  box-shadow:0 18px 55px rgba(0,0,0,.2)!important;
}
html[data-theme="dark"] .explore-category-carousel .place-carousel-copy,
html[data-theme="dark"] .explore-specific-grid .place-carousel-copy{
  background:#222529!important;
  color:#f1ebe2!important;
}
html[data-theme="dark"] .explore-category-carousel .place-carousel-copy p,
html[data-theme="dark"] .explore-specific-grid .place-carousel-copy p{
  color:#b9afa4!important;
}
html[data-theme="dark"] .explore-category-carousel .place-carousel-link,
html[data-theme="dark"] .explore-specific-grid .place-carousel-link{
  border-top-color:#443b34!important;
  color:#f1ebe2!important;
}

/* =========================================================
   V46 — Esplora: lista compatta quando i risultati sono 1–3
   ========================================================= */
.explore-specific-grid.is-compact-list .explore-place-grid{
  width:min(100%,1160px);
  margin-inline:auto;
  grid-template-columns:1fr;
  gap:18px;
}
.explore-specific-grid.is-compact-list .explore-place-card{
  display:grid;
  grid-template-columns:minmax(250px,31%) minmax(0,1fr);
  min-height:210px;
  height:auto;
  overflow:hidden;
  border-radius:22px;
}
.explore-specific-grid.is-compact-list .explore-place-card .place-carousel-media{
  width:100%;
  height:100%;
  min-height:210px;
  aspect-ratio:auto;
}
.explore-specific-grid.is-compact-list .explore-place-card .place-carousel-copy{
  min-height:0;
  padding:24px 27px 22px;
}
.explore-specific-grid.is-compact-list .explore-place-card .place-carousel-copy h3{
  max-width:760px;
  margin-block:9px 10px;
  font-size:clamp(1.35rem,1.75vw,1.82rem);
}
.explore-specific-grid.is-compact-list .explore-place-card .place-carousel-copy p{
  max-width:760px;
  margin-bottom:15px;
  font-size:.79rem;
  line-height:1.58;
  -webkit-line-clamp:2;
}
.explore-specific-grid.is-compact-list .explore-place-card .place-carousel-link{
  padding-top:13px;
}
.explore-specific-grid.is-compact-list .explore-place-card:hover{
  transform:translateY(-4px);
}

@media(max-width:760px){
  .explore-specific-grid.is-compact-list .explore-place-grid{gap:14px}
  .explore-specific-grid.is-compact-list .explore-place-card{
    grid-template-columns:132px minmax(0,1fr);
    min-height:154px;
    border-radius:18px;
  }
  .explore-specific-grid.is-compact-list .explore-place-card .place-carousel-media{
    min-height:154px;
    aspect-ratio:auto;
  }
  .explore-specific-grid.is-compact-list .explore-place-card .place-carousel-number{
    left:12px;
    bottom:12px;
    font-size:.56rem;
  }
  .explore-specific-grid.is-compact-list .explore-place-card .place-carousel-arrow{
    top:11px;
    right:11px;
    width:34px;
    height:34px;
    font-size:.8rem;
  }
  .explore-specific-grid.is-compact-list .explore-place-card .place-carousel-copy{
    padding:16px 15px 14px;
  }
  .explore-specific-grid.is-compact-list .explore-place-card .place-carousel-copy small{
    font-size:.5rem;
    letter-spacing:.105em;
  }
  .explore-specific-grid.is-compact-list .explore-place-card .place-carousel-copy h3{
    margin:7px 0 8px;
    font-size:clamp(1.02rem,5vw,1.25rem);
    line-height:1.13;
  }
  .explore-specific-grid.is-compact-list .explore-place-card .place-carousel-copy p{
    display:none;
  }
  .explore-specific-grid.is-compact-list .explore-place-card .place-carousel-link{
    margin-top:auto;
    padding-top:10px;
    font-size:.62rem;
  }
}

@media(max-width:390px){
  .explore-specific-grid.is-compact-list .explore-place-card{
    grid-template-columns:112px minmax(0,1fr);
    min-height:146px;
  }
  .explore-specific-grid.is-compact-list .explore-place-card .place-carousel-media{min-height:146px}
  .explore-specific-grid.is-compact-list .explore-place-card .place-carousel-copy{padding:14px 13px 12px}
  .explore-specific-grid.is-compact-list .explore-place-card .place-carousel-link{font-size:.58rem}
}

@media(prefers-reduced-motion:reduce){
  .explore-specific-grid.is-compact-list .explore-place-card{transition:none!important}
}

/* ================================================================
   SINGLE LISTING — V50
   Hero video/fotografica, mappa locale, utility e gallery lightbox.
   ================================================================ */
.listing-single-page{background:var(--paper)}
.listing-single-hero{position:relative;min-height:clamp(590px,78vh,820px);display:flex;align-items:flex-end;overflow:hidden;background:#241613;color:#fff;isolation:isolate}
.listing-single-hero-media,.listing-single-hero-media:after,.listing-single-hero-shade{position:absolute;inset:0}
.listing-single-hero-media{z-index:-3;background:linear-gradient(135deg,#3d2520,#18100e)}
.listing-single-hero-media:after{content:"";z-index:4;background:linear-gradient(90deg,rgba(12,8,7,.38),transparent 55%);pointer-events:none}
.listing-single-hero-shade{z-index:-1;background:linear-gradient(180deg,rgba(17,10,8,.05) 8%,rgba(17,10,8,.18) 46%,rgba(17,10,8,.9) 100%)}
.listing-hero-slide{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.035);transition:opacity 1s ease,transform 7s ease;z-index:1}
.listing-hero-slide.is-active{opacity:1;transform:scale(1);z-index:2}
.listing-hero-slide img,.listing-hero-local-video{width:100%;height:100%;object-fit:cover;display:block}
.listing-hero-fallback{position:absolute;inset:0;background:radial-gradient(circle at 68% 25%,rgba(151,46,71,.42),transparent 34%),linear-gradient(135deg,#3b2520,#160e0d)}
.listing-hero-youtube{position:absolute;top:50%;left:50%;width:max(100vw,177.78vh);height:max(56.25vw,100vh);transform:translate(-50%,-50%);border:0;pointer-events:none}
.listing-single-hero-content{position:relative;z-index:5;padding-bottom:clamp(62px,8vh,96px)}
.listing-single-hero .breadcrumbs{margin-bottom:20px;color:rgba(255,255,255,.76)}
.listing-single-kicker{display:flex;align-items:center;gap:10px;font-size:.68rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#f4d7dd}
.listing-single-kicker>span{width:34px;height:34px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);backdrop-filter:blur(10px)}
.listing-single-kicker svg{width:17px;height:17px}
.listing-single-kicker i{width:24px;height:1px;background:rgba(255,255,255,.42)}
.listing-single-hero h1{font-size:clamp(3.25rem,6.2vw,6.2rem);line-height:.98;letter-spacing:-.044em;max-width:1050px;margin:18px 0 20px;text-wrap:balance}
.listing-single-hero-content>p{font-family:var(--serif);max-width:760px;font-size:clamp(1.02rem,1.45vw,1.28rem);line-height:1.65;color:rgba(255,255,255,.84);margin:0}
.listing-hero-controls{position:absolute;right:max(24px,calc((100vw - min(100% - 48px,1380px))/2));bottom:74px;z-index:7;display:flex;align-items:center;gap:9px}
.listing-hero-controls button{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.38);background:rgba(18,10,8,.36);color:#fff;font-size:1.05rem;backdrop-filter:blur(14px);cursor:pointer;transition:.2s ease}
.listing-hero-controls button:hover{background:#fff;color:var(--red);transform:translateY(-2px)}
.listing-hero-controls>span{height:48px;min-width:88px;border:1px solid rgba(255,255,255,.32);border-radius:999px;background:rgba(18,10,8,.32);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;gap:7px;font-size:.7rem;letter-spacing:.11em}
.listing-hero-controls b{font-size:.85rem}.listing-hero-controls i{font-style:normal;opacity:.45}
.listing-hero-progress{position:absolute;left:0;right:0;bottom:0;height:3px;z-index:8;background:rgba(255,255,255,.18)}
.listing-hero-progress span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:#fff}
.listing-hero-video-status{position:absolute;z-index:7;right:max(24px,calc((100vw - min(100% - 48px,1380px))/2));bottom:76px;padding:10px 14px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(18,10,8,.35);backdrop-filter:blur(14px);font-size:.58rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.84)}

.listing-single-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,370px);gap:clamp(46px,6vw,88px);padding-block:clamp(64px,7vw,105px);align-items:start}
.listing-single-article{min-width:0}
.listing-single-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:42px}
.listing-single-facts>div{min-height:94px;padding:20px 22px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}
.listing-single-facts>div:first-child{padding-left:0}.listing-single-facts>div:last-child{border-right:0}
.listing-single-facts small{text-transform:uppercase;letter-spacing:.15em;font-size:.58rem;font-weight:900;color:var(--red);margin-bottom:7px}
.listing-single-facts strong{font-family:var(--serif);font-size:1rem;line-height:1.4}
.listing-single-prose{max-width:850px}
.listing-single-prose>:first-child{margin-top:0}

.listing-single-sidebar{position:sticky;top:112px;display:grid;gap:14px}
.listing-directions-button{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;text-decoration:none;background:var(--red);color:#fff;padding:14px 16px;border-radius:16px;box-shadow:0 18px 42px rgba(151,46,71,.22);transition:.22s ease}
.listing-directions-button:hover{transform:translateY(-2px);box-shadow:0 22px 48px rgba(151,46,71,.29)}
.listing-directions-button>span{width:44px;height:44px;border-radius:13px;background:rgba(255,255,255,.14);display:grid;place-items:center;font-size:1.2rem}
.listing-directions-button strong{font-size:.82rem}.listing-directions-button i{font-style:normal;font-size:.57rem;text-transform:uppercase;letter-spacing:.1em;opacity:.78}
.listing-map-card,.listing-utility-links,.listing-borough-pdf{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-soft);overflow:hidden}
.listing-map-card>header{display:flex;align-items:center;justify-content:space-between;padding:17px 18px;border-bottom:1px solid var(--line)}
.listing-map-card>header>div{display:grid}.listing-map-card>header small{font-size:.56rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);font-weight:900}.listing-map-card>header strong{font-family:var(--serif);font-size:.96rem;margin-top:3px}
.listing-map-card>header>span{width:38px;height:38px;border-radius:12px;background:rgba(151,46,71,.09);color:var(--red);display:grid;place-items:center}.listing-map-card>header svg{width:19px;height:19px}
.listing-single-map{height:320px;background:#d9d1c3}.listing-single-map.is-unavailable,.listing-map-unavailable{height:210px;display:grid;place-items:center;color:var(--muted);font-size:.72rem;background:var(--paper-2)}
.listing-single-map .leaflet-control-attribution{font-size:8px}
.listing-utility-links{padding:18px}
.listing-utility-links>.aside-label{display:block;margin:2px 0 13px}
.listing-utility-links>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.listing-utility-links a{min-height:68px;display:grid;grid-template-columns:30px 1fr 12px;align-items:center;gap:8px;border:1px solid var(--line);border-radius:13px;padding:10px;text-decoration:none;background:var(--surface-2);transition:.2s ease}
.listing-utility-links a:hover{border-color:rgba(151,46,71,.38);transform:translateY(-1px);color:var(--red)}
.listing-utility-links a i{width:30px;height:30px;border-radius:9px;background:rgba(151,46,71,.08);color:var(--red);display:grid;place-items:center;font-style:normal;font-size:.72rem;font-weight:900}
.listing-utility-links a strong{font-size:.68rem;line-height:1.25}.listing-utility-links a>span{color:var(--red)}
.listing-borough-pdf{display:grid;grid-template-columns:54px 1fr 22px;align-items:center;gap:13px;padding:16px 18px;text-decoration:none;transition:.22s ease}
.listing-borough-pdf:hover{transform:translateY(-2px);border-color:rgba(151,46,71,.3)}
.listing-borough-pdf>span{width:54px;height:54px;border-radius:14px;background:var(--red);color:#fff;display:grid;place-items:center;font-size:.68rem;font-weight:900;letter-spacing:.08em}
.listing-borough-pdf>div{display:grid;min-width:0}.listing-borough-pdf small{font-size:.56rem;text-transform:uppercase;letter-spacing:.12em;color:var(--red);font-weight:900}.listing-borough-pdf strong{font-family:var(--serif);font-size:1rem;margin:3px 0}.listing-borough-pdf em{font-style:normal;font-size:.58rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.listing-borough-pdf>i{font-style:normal;color:var(--red);font-size:1.2rem}

.listing-body-video,.listing-gallery{margin-top:clamp(58px,7vw,92px);padding-top:28px;border-top:1px solid var(--line)}
.listing-body-video>header,.listing-gallery>header{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:22px}
.listing-body-video h2,.listing-gallery h2{font-size:clamp(2rem,3.4vw,3.15rem);margin:5px 0 0;letter-spacing:-.035em}
.listing-body-video>header p,.listing-gallery>header p{max-width:280px;text-align:right;color:var(--muted);font-size:.75rem;margin:0}
.listing-body-video-frame{position:relative;aspect-ratio:16/9;border-radius:22px;overflow:hidden;background:#120d0c;box-shadow:var(--shadow)}
.listing-body-video-frame video,.listing-body-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
.listing-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:230px;gap:12px}
.listing-gallery-item{position:relative;border:0;padding:0;border-radius:16px;overflow:hidden;background:var(--paper-2);cursor:zoom-in;color:#fff}
.listing-gallery-item.is-wide{grid-column:span 2;grid-row:span 2}
.listing-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease,filter .4s ease}
.listing-gallery-item:hover img{transform:scale(1.035);filter:brightness(.88)}
.listing-gallery-item>span{position:absolute;right:10px;bottom:10px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:rgba(20,12,10,.48);backdrop-filter:blur(9px);font-size:.57rem;letter-spacing:.08em}

.listing-lightbox[hidden]{display:none}
.listing-lightbox{position:fixed;inset:0;z-index:10000;background:rgba(12,8,7,.94);display:grid;grid-template-columns:80px minmax(0,1fr) 80px;align-items:center;padding:50px 30px;color:#fff;backdrop-filter:blur(15px)}
.listing-lightbox figure{margin:0;display:grid;place-items:center;gap:12px;min-width:0}
.listing-lightbox img{max-width:min(1180px,100%);max-height:78vh;object-fit:contain;border-radius:13px;box-shadow:0 30px 90px rgba(0,0,0,.4)}
.listing-lightbox figcaption{font-family:var(--serif);font-size:.78rem;color:rgba(255,255,255,.72);text-align:center}
.listing-lightbox button{border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.08);color:#fff;cursor:pointer;backdrop-filter:blur(10px)}
.listing-lightbox-prev,.listing-lightbox-next{width:54px;height:54px;border-radius:50%;font-size:1.05rem;justify-self:center}
.listing-lightbox-close{position:absolute;right:24px;top:24px;width:46px;height:46px;border-radius:50%;font-size:1.5rem}
.listing-lightbox-counter{position:absolute;left:24px;bottom:22px;font-size:.62rem;letter-spacing:.15em;color:rgba(255,255,255,.65)}

.admin-inline-check{display:flex!important;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);cursor:pointer}
.admin-inline-check input{width:17px;height:17px;accent-color:var(--red)}
.admin-inline-check span{font-size:.76rem;font-weight:800}

[data-theme="dark"] .listing-map-card,[data-theme="dark"] .listing-utility-links,[data-theme="dark"] .listing-borough-pdf{box-shadow:none}
[data-theme="dark"] .listing-utility-links a{background:rgba(255,255,255,.035)}

@media(max-width:1050px){
  .listing-single-layout{grid-template-columns:minmax(0,1fr) 320px;gap:38px}
  .listing-gallery-grid{grid-auto-rows:190px}
  .listing-utility-links>div{grid-template-columns:1fr}
}
@media(max-width:850px){
  .listing-single-hero{min-height:650px}
  .listing-single-layout{grid-template-columns:1fr;padding-top:54px}
  .listing-single-aside{order:-1}
  .listing-single-sidebar{position:static;grid-template-columns:1fr 1fr;align-items:start}
  .listing-directions-button,.listing-map-card{grid-column:1/-1}
  .listing-single-map{height:360px}
  .listing-utility-links,.listing-borough-pdf{height:100%}
  .listing-utility-links>div{grid-template-columns:1fr 1fr}
  .listing-hero-controls{right:24px;bottom:35px}
  .listing-hero-video-status{right:24px;bottom:35px}
}
@media(max-width:620px){
  .listing-single-hero{min-height:620px}
  .listing-single-hero-content{padding-bottom:92px}
  .listing-single-hero h1{font-size:clamp(3rem,14vw,4.45rem)}
  .listing-single-hero-content>p{font-size:.98rem;line-height:1.55}
  .listing-single-kicker{flex-wrap:wrap;font-size:.58rem}.listing-single-kicker i{width:13px}
  .listing-hero-controls{left:16px;right:auto;bottom:24px}.listing-hero-controls button{width:42px;height:42px}.listing-hero-controls>span{height:42px}
  .listing-hero-video-status{left:16px;right:auto;bottom:25px}
  .listing-single-facts{grid-template-columns:1fr;margin-bottom:30px}.listing-single-facts>div{min-height:auto;padding:14px 0;border-right:0;border-bottom:1px solid var(--line)}.listing-single-facts>div:last-child{border-bottom:0}
  .listing-single-sidebar{grid-template-columns:1fr}.listing-directions-button,.listing-map-card{grid-column:auto}
  .listing-single-map{height:300px}
  .listing-utility-links>div{grid-template-columns:1fr 1fr}
  .listing-body-video>header,.listing-gallery>header{align-items:flex-start;flex-direction:column}.listing-body-video>header p,.listing-gallery>header p{text-align:left}
  .listing-gallery-grid{grid-template-columns:1fr;grid-auto-rows:260px}.listing-gallery-item.is-wide{grid-column:auto;grid-row:auto}
  .listing-lightbox{grid-template-columns:48px minmax(0,1fr) 48px;padding:60px 8px 45px}.listing-lightbox-prev,.listing-lightbox-next{width:42px;height:42px}.listing-lightbox-close{right:12px;top:12px}
}
@media(max-width:430px){
  .listing-utility-links>div{grid-template-columns:1fr}
  .listing-directions-button{grid-template-columns:40px 1fr}.listing-directions-button i{display:none}
  .listing-gallery-grid{grid-auto-rows:230px}
}
@media(prefers-reduced-motion:reduce){.listing-hero-slide,.listing-gallery-item img{transition:none}.listing-hero-progress{display:none}}

/* ================================================================
   SINGLE LISTING — V51
   Video legacy, mappa senza popup tagliato, utility verticali e
   carosello Experience territoriale.
   ================================================================ */
.listing-map-summary{
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 28px;
  align-items:center;
  gap:12px;
  min-height:94px;
  padding:14px 16px;
  border-top:1px solid var(--line);
  background:var(--surface);
  color:var(--ink);
  text-decoration:none;
  transition:border-color .2s ease,background .2s ease,color .2s ease;
}
.listing-map-summary:hover{background:var(--surface-2);color:var(--red)}
.listing-map-summary>span{
  width:46px;
  height:46px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:rgba(151,46,71,.09);
  color:var(--red);
}
.listing-map-summary>span svg{width:23px;height:23px}
.listing-map-summary>div{display:grid;min-width:0}
.listing-map-summary small{font-size:.54rem;line-height:1.2;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:var(--red)}
.listing-map-summary strong{margin-top:4px;font-family:var(--serif);font-size:.88rem;line-height:1.25;color:var(--ink)}
.listing-map-summary em{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal;font-size:.58rem;color:var(--muted)}
.listing-map-summary>i{font-style:normal;font-size:1.05rem;color:var(--red)}

/* Sul single il popup Leaflet non viene più aperto: le informazioni del
   luogo restano nella scheda fissa sotto la mappa e non possono essere
   tagliate dai bordi del contenitore. */
.listing-single-map .leaflet-popup-pane{display:none}

.listing-utility-links{padding:22px}
.listing-utility-links>.aside-label{margin:2px 0 17px}
.listing-utility-links>div{display:grid;grid-template-columns:1fr;gap:11px}
.listing-utility-links a{
  min-height:86px;
  grid-template-columns:46px minmax(0,1fr) 22px;
  gap:14px;
  padding:15px 16px;
  border-radius:16px;
}
.listing-utility-links a i{
  width:46px;
  height:46px;
  border-radius:13px;
  font-size:.9rem;
}
.listing-utility-links a strong{font-size:.82rem;line-height:1.3}
.listing-utility-links a>span{font-size:1rem}

.listing-experience-section{margin-top:clamp(24px,4vw,58px)}
.listing-experience-section .vv-experience-controls{justify-content:flex-end}
.listing-experience-section .vv-experience-title p{max-width:620px}

[data-theme="dark"] .listing-map-summary{background:var(--surface)}
[data-theme="dark"] .listing-map-summary:hover{background:rgba(255,255,255,.045)}

@media(max-width:850px){
  .listing-utility-links>div{grid-template-columns:1fr}
  .listing-experience-section{margin-top:10px}
}
@media(max-width:620px){
  .listing-utility-links{padding:18px}
  .listing-utility-links>div{grid-template-columns:1fr}
  .listing-utility-links a{min-height:78px;padding:13px 14px}
  .listing-map-summary{grid-template-columns:42px minmax(0,1fr) 22px;min-height:86px;padding:12px 14px}
  .listing-map-summary>span{width:42px;height:42px}
  .listing-map-summary>span svg{width:21px;height:21px}
  .listing-experience-section .vv-experience-head{align-items:flex-end}
}

/* ================================================================
   SINGLE LISTING — V52
   Gallery fotografica a carosello, sidebar sticky e attribuzione
   cartografica con bandiera italiana.
   ================================================================ */
@media (min-width:1101px){
  .listing-single-aside{
    position:sticky;
    top:104px;
    align-self:start;
    max-height:calc(100vh - 122px);
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:rgba(151,46,71,.34) transparent;
    padding-right:5px;
  }
  .listing-single-aside::-webkit-scrollbar{width:5px}
  .listing-single-aside::-webkit-scrollbar-track{background:transparent}
  .listing-single-aside::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(151,46,71,.32)}
  .listing-single-sidebar{position:static;top:auto}
}

.listing-gallery-carousel{
  position:relative;
  isolation:isolate;
  margin-top:clamp(58px,7vw,92px);
  padding:clamp(25px,3vw,34px);
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:28px;
  background:
    radial-gradient(circle at 94% 7%,rgba(151,46,71,.09),transparent 31%),
    var(--surface);
  box-shadow:var(--shadow-soft);
}
.listing-gallery-carousel::before{display:none}
.listing-gallery-carousel-grid{
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  opacity:.34;
  background-image:
    linear-gradient(rgba(151,46,71,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(151,46,71,.045) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(135deg,#000,transparent 68%);
}
.listing-gallery-carousel-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:26px;
  margin-bottom:23px;
}
.listing-gallery-carousel-head>div:first-child{min-width:0}
.listing-gallery-carousel-head h2{
  margin:5px 0 8px;
  font-size:clamp(2rem,3.25vw,3.05rem);
  line-height:1.04;
  letter-spacing:-.035em;
}
.listing-gallery-carousel-head p{
  margin:0;
  color:var(--muted);
  font-size:.75rem;
}
.listing-gallery-carousel .places-carousel-actions{padding-bottom:2px}
.listing-gallery-carousel .places-carousel-button{width:46px;height:46px}
.listing-gallery-carousel-viewport{
  margin-inline:0;
  padding:4px 0 16px;
  scroll-padding-inline:0;
}
.listing-gallery-carousel-track{
  gap:14px;
  padding-inline:0;
}
.listing-gallery-carousel-card{
  position:relative;
  width:clamp(270px,36vw,405px);
  min-height:0;
  aspect-ratio:4/3;
  display:block;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:20px;
  background:var(--paper-2);
  color:#fff;
  cursor:zoom-in;
  box-shadow:0 16px 38px rgba(31,25,22,.11);
}
.listing-gallery-carousel-card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 48%,rgba(13,9,8,.56) 100%);
}
.listing-gallery-carousel-card img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transform:scale(1.015);
  transition:transform .7s cubic-bezier(.2,.75,.2,1),filter .45s ease;
}
.listing-gallery-carousel-card:hover{transform:translateY(-5px)}
.listing-gallery-carousel-card:hover img{transform:scale(1.065);filter:saturate(1.04)}
.listing-gallery-carousel-card>.listing-gallery-carousel-number{
  position:absolute;
  z-index:2;
  left:17px;
  right:auto;
  top:auto;
  bottom:16px;
  width:auto;
  height:auto;
  border-radius:0;
  background:transparent;
  backdrop-filter:none;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.16em;
  text-shadow:0 2px 14px rgba(0,0,0,.45);
}
.listing-gallery-carousel-card>.listing-gallery-carousel-open{
  position:absolute;
  z-index:2;
  top:15px;
  right:15px;
  left:auto;
  bottom:auto;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.4);
  border-radius:50%;
  background:rgba(255,255,255,.9);
  color:var(--red);
  font-size:.95rem;
  backdrop-filter:blur(10px);
  transition:transform .35s ease,background .25s ease,color .25s ease;
}
.listing-gallery-carousel-card:hover>.listing-gallery-carousel-open{transform:rotate(45deg);background:var(--red);color:#fff}
.listing-gallery-carousel-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  margin-top:3px;
}
.listing-gallery-carousel-footer>span{
  flex:0 0 auto;
  color:var(--muted);
  font-size:.59rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.listing-gallery-carousel-footer>span strong{color:var(--red);font-size:.76rem}
.listing-gallery-carousel-footer .places-carousel-progress{width:min(310px,58%)}

/* Leaflet 1.9 mostra nel prefisso una bandiera di sostegno. Il progetto
   mantiene il credito Leaflet ma lo contestualizza con il tricolore. */
.leaflet-control-attribution a[href*="leafletjs.com"] svg,
.leaflet-control-attribution .leaflet-attribution-flag{display:none!important}
.leaflet-control-attribution .vv-leaflet-prefix{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.leaflet-control-attribution .vv-leaflet-flag-it{
  width:15px;
  height:9px;
  display:inline-grid;
  grid-template-columns:repeat(3,1fr);
  overflow:hidden;
  border:1px solid rgba(0,0,0,.16);
  border-radius:1px;
  box-shadow:0 0 0 1px rgba(255,255,255,.42);
  vertical-align:middle;
}
.leaflet-control-attribution .vv-leaflet-flag-it i:nth-child(1){background:#009246}
.leaflet-control-attribution .vv-leaflet-flag-it i:nth-child(2){background:#fff}
.leaflet-control-attribution .vv-leaflet-flag-it i:nth-child(3){background:#ce2b37}

[data-theme="dark"] .listing-gallery-carousel{box-shadow:none}
[data-theme="dark"] .listing-gallery-carousel-grid{opacity:.2}

@media(max-width:1100px){
  .listing-single-aside{position:static;top:auto;max-height:none;overflow:visible;padding-right:0}
}
@media(max-width:700px){
  .listing-gallery-carousel{padding:22px 18px 20px;border-radius:24px}
  .listing-gallery-carousel-head{align-items:flex-start;gap:18px}
  .listing-gallery-carousel-head h2{font-size:clamp(2rem,9vw,2.55rem)}
  .listing-gallery-carousel .places-carousel-actions{gap:7px}
  .listing-gallery-carousel .places-carousel-button{width:42px;height:42px}
  .listing-gallery-carousel-card{width:min(82vw,340px);border-radius:17px}
  .listing-gallery-carousel-footer .places-carousel-progress{width:62%}
}
@media(max-width:460px){
  .listing-gallery-carousel-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end}
  .listing-gallery-carousel-head p{grid-column:1/-1}
  .listing-gallery-carousel-card{width:min(78vw,310px)}
}
@media(prefers-reduced-motion:reduce){
  .listing-gallery-carousel-card,.listing-gallery-carousel-card img,.listing-gallery-carousel-open{transition:none!important}
}

/* ================================================================
   SINGLE LISTING — V53
   Informazioni fedeli alla logica del portale storico, hero video
   mobile non ritagliata e rimozione dei controlli decorativi.
   ================================================================ */
.listing-hero-video-status{display:none!important}

.listing-original-information{
  padding:24px 26px 12px;
}
.listing-original-information>.aside-label{
  display:block;
  margin:0 0 10px;
  color:var(--ink);
  font-family:var(--serif);
  font-size:1.05rem;
  font-weight:800;
  letter-spacing:-.015em;
  line-height:1.25;
  text-transform:none;
}
.listing-original-information>div{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
}
.listing-original-information a{
  min-height:66px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 22px;
  align-items:center;
  gap:15px;
  padding:14px 0;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:transparent;
  color:var(--ink);
  text-decoration:none;
  transition:color .2s ease,transform .2s ease,border-color .2s ease;
}
.listing-original-information a:last-child{border-bottom:0}
.listing-original-information a:hover{
  border-color:rgba(151,46,71,.3);
  background:transparent;
  color:var(--red);
  transform:translateX(3px);
}
.listing-original-information a i{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--red);
  font-style:normal;
}
.listing-original-information a i svg{
  width:25px;
  height:25px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.listing-original-information a strong{
  font-family:var(--serif);
  font-size:.88rem;
  font-weight:700;
  line-height:1.35;
}
.listing-original-information a>span{
  justify-self:end;
  color:var(--red);
  font-size:1.2rem;
  font-weight:400;
  line-height:1;
  transition:transform .2s ease;
}
.listing-original-information a:hover>span{transform:translateX(3px)}
.listing-original-information a.is-external>span{font-size:.9rem}

[data-theme="dark"] .listing-original-information a{background:transparent}

@media(max-width:760px){
  .listing-single-hero.has-video{
    min-height:clamp(460px,118vw,590px);
    background:#0b0807;
  }
  .listing-single-hero.has-video .listing-single-hero-media{
    display:grid;
    place-items:center;
    background:#0b0807;
  }
  .listing-single-hero.has-video .listing-hero-local-video{
    width:100%;
    height:100%;
    object-fit:contain;
    background:#0b0807;
  }
  .listing-single-hero.has-video .listing-hero-youtube{
    inset:0;
    top:0;
    left:0;
    width:100%;
    height:100%;
    transform:none;
    background:#0b0807;
  }
  .listing-single-hero.has-video .listing-single-hero-content{
    padding-bottom:clamp(38px,9vw,58px);
  }
  .listing-single-hero.has-video .listing-single-hero-media:after{
    background:linear-gradient(180deg,rgba(8,6,5,.08) 20%,rgba(8,6,5,.15) 52%,rgba(8,6,5,.88) 100%);
  }
  .listing-original-information{padding:22px 22px 10px}
  .listing-original-information a{min-height:62px;grid-template-columns:29px minmax(0,1fr) 20px;gap:13px;padding:13px 0}
  .listing-original-information a i svg{width:24px;height:24px}
}
.listing-hero-local-video{pointer-events:none;user-select:none;-webkit-user-select:none}
.listing-hero-local-video::-webkit-media-controls,
.listing-hero-local-video::-webkit-media-controls-enclosure,
.listing-hero-local-video::-webkit-media-controls-panel,
.listing-hero-local-video::-webkit-media-controls-play-button,
.listing-hero-local-video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none}

/* ================================================================
   SINGLE LISTING — V54
   Flusso a colonna unica, pannello visita orizzontale e contenuti
   editoriali centrati con respiro visivo.
   ================================================================ */
.listing-single-flow{
  position:relative;
  background:var(--paper);
  padding-bottom:clamp(58px,7vw,108px);
}
.listing-visit-shell{
  position:relative;
  z-index:12;
  margin-top:-42px;
  padding-bottom:clamp(74px,8vw,118px);
}
.listing-visit-panel{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(410px,.85fr);
  min-height:620px;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--line) 88%,transparent);
  border-radius:clamp(28px,3vw,42px);
  background:var(--surface);
  box-shadow:0 30px 90px rgba(57,36,30,.12);
}
.listing-visit-map-block{
  min-width:0;
  display:flex;
  flex-direction:column;
  border-right:1px solid var(--line);
  background:var(--surface);
}
.listing-visit-map-head{
  min-height:124px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:30px clamp(28px,3.4vw,50px) 26px;
  border-bottom:1px solid var(--line);
}
.listing-visit-map-head h2,
.listing-visit-info-head h2{
  margin:7px 0 0;
  font-size:clamp(2rem,3vw,3.35rem);
  line-height:1.02;
  letter-spacing:-.04em;
}
.listing-visit-category-icon{
  width:58px;
  height:58px;
  flex:0 0 58px;
  display:grid;
  place-items:center;
  border-radius:19px;
  background:color-mix(in srgb,var(--red) 10%,var(--surface));
  color:var(--red);
}
.listing-visit-category-icon svg{width:28px;height:28px}
.listing-visit-map-frame{
  position:relative;
  min-height:430px;
  flex:1 1 auto;
  overflow:hidden;
  background:#d9d1c3;
}
.listing-visit-map-frame .listing-single-map{
  width:100%;
  height:100%;
  min-height:430px;
}
.listing-map-route{
  position:absolute;
  z-index:600;
  top:22px;
  right:22px;
  min-height:56px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 20px;
  align-items:center;
  gap:10px;
  padding:10px 14px 10px 11px;
  border:1px solid rgba(255,255,255,.75);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#251c19;
  text-decoration:none;
  box-shadow:0 14px 38px rgba(31,20,16,.16);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease;
}
.listing-map-route:hover{
  transform:translateY(-2px);
  background:#fff;
  box-shadow:0 18px 44px rgba(31,20,16,.22);
}
.listing-map-route>span{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--red);
  color:#fff;
  font-size:1rem;
}
.listing-map-route strong{font-size:.72rem;line-height:1.2;white-space:nowrap}
.listing-map-route i{font-style:normal;color:var(--red);font-size:.9rem}
.listing-map-route.is-static{
  position:relative;
  top:auto;
  right:auto;
  margin:20px;
  align-self:flex-start;
}
.listing-visit-map-summary{
  min-height:104px;
  display:grid;
  grid-template-columns:50px minmax(0,1fr);
  align-items:center;
  gap:15px;
  padding:18px clamp(26px,3.1vw,46px);
  border-top:1px solid var(--line);
  background:var(--surface);
}
.listing-visit-map-summary>span{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:color-mix(in srgb,var(--red) 9%,var(--surface));
  color:var(--red);
}
.listing-visit-map-summary>span svg{width:24px;height:24px}
.listing-visit-map-summary>div{min-width:0;display:grid}
.listing-visit-map-summary small{
  color:var(--red);
  font-size:.55rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.listing-visit-map-summary strong{
  margin-top:4px;
  font-family:var(--serif);
  font-size:1rem;
  line-height:1.25;
}
.listing-visit-map-summary em{
  margin-top:4px;
  overflow:hidden;
  color:var(--muted);
  font-size:.64rem;
  font-style:normal;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.listing-visit-info-block{
  min-width:0;
  display:flex;
  flex-direction:column;
  padding:clamp(34px,4vw,58px);
  background:
    radial-gradient(circle at 100% 0,color-mix(in srgb,var(--red) 8%,transparent),transparent 38%),
    var(--surface);
}
.listing-visit-info-head{
  max-width:520px;
  margin-bottom:clamp(28px,3.5vw,46px);
}
.listing-visit-info-head p{
  max-width:480px;
  margin:16px 0 0;
  color:var(--muted);
  font-family:var(--serif);
  font-size:.84rem;
  line-height:1.65;
}
.listing-visit-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 24px;
}
.listing-visit-links a{
  min-width:0;
  min-height:74px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 18px;
  align-items:center;
  gap:12px;
  padding:15px 0;
  border-bottom:1px solid var(--line);
  color:var(--ink);
  text-decoration:none;
  transition:color .2s ease,transform .2s ease,border-color .2s ease;
}
.listing-visit-links a:hover{
  color:var(--red);
  border-color:color-mix(in srgb,var(--red) 34%,var(--line));
  transform:translateX(3px);
}
.listing-visit-links a i{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  color:var(--red);
  font-style:normal;
}
.listing-visit-links a i svg{
  width:27px;
  height:27px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.listing-visit-links a strong{
  min-width:0;
  font-family:var(--serif);
  font-size:.87rem;
  line-height:1.25;
}
.listing-visit-links a>span{
  justify-self:end;
  color:var(--red);
  font-size:1.05rem;
  line-height:1;
}
.listing-visit-pdf{
  margin-top:auto;
  min-height:86px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 22px;
  align-items:center;
  gap:14px;
  padding:16px 0 0;
  border-top:1px solid var(--line);
  color:var(--ink);
  text-decoration:none;
}
.listing-visit-pdf>span{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:var(--red);
  color:#fff;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.08em;
}
.listing-visit-pdf>div{min-width:0;display:grid}
.listing-visit-pdf small{color:var(--red);font-size:.53rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.listing-visit-pdf strong{margin:3px 0;font-family:var(--serif);font-size:.93rem}
.listing-visit-pdf em{overflow:hidden;color:var(--muted);font-size:.57rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.listing-visit-pdf>i{justify-self:end;color:var(--red);font-size:1.2rem;font-style:normal}

.listing-copy-section{
  padding-bottom:clamp(8px,2vw,28px);
}
.listing-single-article-wide{
  width:min(100%,1120px);
  margin:0 auto;
}
.listing-single-article-wide .listing-single-facts{
  width:min(100%,960px);
  margin:0 auto clamp(50px,6vw,82px);
}
.listing-single-article-wide .listing-single-prose{
  max-width:900px;
  margin-inline:auto;
  font-size:clamp(1rem,1.15vw,1.13rem);
  line-height:1.82;
}
.listing-single-article-wide .listing-body-video,
.listing-single-article-wide .listing-gallery{
  width:100%;
}
.listing-single-article-wide .listing-body-video{
  margin-top:clamp(70px,8vw,112px);
}
.listing-single-article-wide .listing-gallery{
  margin-top:clamp(64px,7vw,104px);
}
.listing-single-article-wide .listing-body-video-frame{
  border-radius:clamp(22px,2.5vw,34px);
  box-shadow:0 28px 80px rgba(39,24,20,.15);
}
.listing-experience-section{
  margin-top:clamp(70px,9vw,130px);
}

[data-theme="dark"] .listing-visit-panel{box-shadow:none}
[data-theme="dark"] .listing-visit-info-block{
  background:radial-gradient(circle at 100% 0,rgba(151,46,71,.12),transparent 38%),var(--surface);
}
[data-theme="dark"] .listing-map-route{border-color:rgba(255,255,255,.12);background:rgba(29,23,21,.92);color:#fff}
[data-theme="dark"] .listing-map-route:hover{background:#29211f}

@media(max-width:1180px){
  .listing-visit-panel{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)}
  .listing-visit-info-block{padding:38px}
  .listing-visit-links{gap-inline:18px}
}
@media(max-width:980px){
  .listing-visit-shell{margin-top:-28px;padding-bottom:78px}
  .listing-visit-panel{grid-template-columns:1fr;min-height:0}
  .listing-visit-map-block{border-right:0;border-bottom:1px solid var(--line)}
  .listing-visit-map-frame,.listing-visit-map-frame .listing-single-map{min-height:430px}
  .listing-visit-info-block{padding:clamp(32px,6vw,54px)}
  .listing-visit-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 22px}
  .listing-visit-pdf{margin-top:26px}
}
@media(max-width:720px){
  .listing-visit-shell{width:min(100% - 24px,1380px);margin-top:-18px;padding-bottom:62px}
  .listing-visit-panel{border-radius:26px}
  .listing-visit-map-head{min-height:104px;padding:24px 22px 21px}
  .listing-visit-map-head h2,.listing-visit-info-head h2{font-size:clamp(2rem,9vw,2.65rem)}
  .listing-visit-category-icon{width:50px;height:50px;flex-basis:50px;border-radius:16px}
  .listing-visit-category-icon svg{width:24px;height:24px}
  .listing-visit-map-frame,.listing-visit-map-frame .listing-single-map{min-height:360px}
  .listing-map-route{top:14px;right:14px;min-height:50px;padding:8px 12px 8px 9px}
  .listing-map-route>span{width:32px;height:32px}
  .listing-map-route strong{font-size:.66rem}
  .listing-visit-map-summary{min-height:92px;padding:15px 20px}
  .listing-visit-info-block{padding:32px 22px 28px}
  .listing-visit-info-head{margin-bottom:24px}
  .listing-visit-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px}
  .listing-visit-links a{min-height:68px}
  .listing-copy-section{width:min(100% - 32px,1380px)}
  .listing-single-article-wide .listing-single-facts{margin-bottom:44px}
  .listing-single-article-wide .listing-body-video,
  .listing-single-article-wide .listing-gallery{margin-top:62px}
}
@media(max-width:500px){
  .listing-visit-map-frame,.listing-visit-map-frame .listing-single-map{min-height:320px}
  .listing-map-route{left:14px;right:14px;top:auto;bottom:14px;width:auto}
  .listing-map-route strong{white-space:normal}
  .listing-visit-links{grid-template-columns:1fr}
  .listing-visit-links a{min-height:64px}
  .listing-visit-map-summary{grid-template-columns:44px minmax(0,1fr)}
  .listing-visit-map-summary>span{width:44px;height:44px;border-radius:14px}
  .listing-single-article-wide .listing-single-facts{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .listing-map-route,.listing-visit-links a{transition:none!important}
}
/* V54 spacing handoff: il respiro finale appartiene al flusso editoriale,
   così il blocco Experience entra subito dopo senza sommare due margini. */
.listing-experience-section{margin-top:0}

/* ================================================================
   SINGLE LISTING — V56
   Ritorno al layout editoriale con sidebar, gallery full width e
   fallback cartografico sul Comune.
   ================================================================ */
.listing-single-layout{
  grid-template-columns:minmax(0,1fr) minmax(330px,390px);
  gap:clamp(46px,5.5vw,82px);
  padding-block:clamp(66px,7vw,104px);
}
.listing-single-article{min-width:0}
.listing-single-prose{max-width:860px}
.listing-single-prose>:first-child{margin-top:0}

/* La sidebar segue la pagina ma non crea mai una seconda area di scroll. */
@media (min-width:1101px){
  .listing-single-aside{
    position:relative;
    top:auto;
    align-self:stretch;
    max-height:none;
    overflow:visible;
    overscroll-behavior:auto;
    scrollbar-width:auto;
    padding-right:0;
  }
  .listing-single-aside::-webkit-scrollbar{display:none}
  .listing-single-sidebar{
    position:sticky;
    top:96px;
    max-height:none;
    overflow:visible;
    display:grid;
    gap:12px;
  }
}

/* Sidebar compatta ma interamente leggibile nel viewport desktop. */
.listing-single-sidebar .listing-directions-button{
  min-height:58px;
  grid-template-columns:38px minmax(0,1fr) auto;
  padding:10px 13px;
  border-radius:15px;
}
.listing-single-sidebar .listing-directions-button>span{
  width:38px;
  height:38px;
  border-radius:11px;
}
.listing-single-sidebar .listing-map-card>header{padding:13px 15px}
.listing-single-sidebar .listing-map-card>header>span{width:34px;height:34px;border-radius:11px}
.listing-single-sidebar .listing-single-map{height:clamp(205px,24vh,255px)}
.listing-single-sidebar .listing-map-summary{
  min-height:70px;
  grid-template-columns:40px minmax(0,1fr) 18px;
  padding:10px 13px;
}
.listing-single-sidebar .listing-map-summary>span{width:40px;height:40px}
.listing-single-sidebar .listing-map-summary strong{font-size:.82rem}
.listing-single-sidebar .listing-map-summary em{font-size:.55rem}
.listing-single-sidebar .listing-original-information{padding:16px 20px 7px}
.listing-single-sidebar .listing-original-information>.aside-label{margin-bottom:4px;font-size:.96rem}
.listing-single-sidebar .listing-original-information a{
  min-height:49px;
  grid-template-columns:27px minmax(0,1fr) 18px;
  gap:12px;
  padding:9px 0;
}
.listing-single-sidebar .listing-original-information a i{width:27px;height:27px}
.listing-single-sidebar .listing-original-information a i svg{width:23px;height:23px}
.listing-single-sidebar .listing-original-information a strong{font-size:.79rem}
.listing-single-sidebar .listing-borough-pdf{
  min-height:68px;
  grid-template-columns:44px minmax(0,1fr) 18px;
  padding:11px 14px;
}
.listing-single-sidebar .listing-borough-pdf>span{width:44px;height:44px;border-radius:12px}
.listing-single-sidebar .listing-borough-pdf strong{font-size:.88rem}

/* Il video completo resta nel flusso del testo, prima della gallery. */
.listing-single-article .listing-body-video{margin-top:clamp(58px,7vw,92px)}
.listing-gallery-simple{margin-top:clamp(52px,6vw,82px)}

/* Gallery con almeno tre foto: vero contenitore full width nello stile home. */
.listing-gallery-home-section{
  margin-top:0;
  padding-block:clamp(84px,8vw,116px) clamp(80px,8vw,108px);
}
.listing-gallery-home-section .places-carousel-title h2{
  max-width:900px;
  font-size:clamp(3rem,5.2vw,5.6rem);
}
.listing-gallery-home-card{
  appearance:none;
  -webkit-appearance:none;
  padding:0;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.listing-gallery-home-card .place-carousel-copy p{display:none}
.listing-gallery-home-card .place-carousel-copy{min-height:180px}
.listing-gallery-home-card .place-carousel-copy h3{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  font-size:clamp(1.42rem,1.8vw,1.86rem);
}
.listing-gallery-home-count{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--muted);
  font-size:.65rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.listing-gallery-home-count strong{color:var(--red);font-size:.78rem}

/* Il blocco Experience segue naturalmente gallery o contenuto. */
.listing-experience-section{margin-top:0}

@media(max-width:1100px){
  .listing-single-layout{grid-template-columns:1fr;padding-top:54px}
  .listing-single-aside{order:-1;position:static;max-height:none;overflow:visible;padding-right:0}
  .listing-single-sidebar{position:static;grid-template-columns:1fr 1fr;align-items:start}
  .listing-directions-button,.listing-map-card{grid-column:1/-1}
  .listing-original-information,.listing-borough-pdf{height:auto}
}
@media(max-width:760px){
  .listing-single-layout{width:min(100% - 32px,1380px);gap:38px;padding-block:44px 68px}
  .listing-single-sidebar{grid-template-columns:1fr}
  .listing-directions-button,.listing-map-card{grid-column:auto}
  .listing-single-sidebar .listing-single-map{height:320px}
  .listing-single-sidebar .listing-original-information a{min-height:58px;padding:12px 0}
  .listing-gallery-home-section{padding-block:72px 68px}
  .listing-gallery-home-section .places-carousel-head{align-items:flex-end}
  .listing-gallery-home-section .places-carousel-title h2{font-size:clamp(2.65rem,12vw,4.2rem)}
  .listing-gallery-home-card{width:min(84vw,350px);min-height:500px}
  .listing-gallery-home-card .place-carousel-media{height:286px}
  .listing-gallery-home-card .place-carousel-copy{min-height:190px}
}
@media(max-width:500px){
  .listing-gallery-home-card{width:min(82vw,326px)}
  .listing-gallery-home-card .place-carousel-media{height:264px}
}

/* ================================================================
   V57 — Video preview listing + editor visuale e gerarchia titoli
   ================================================================ */

/* Anteprima video condivisa: sostituisce la foto senza cambiare la card. */
.place-carousel-media,
.listing-media,
.inspiration-listing-media,
.vv-experience-media,
.related-grid a,
.editorial-media{position:relative;overflow:hidden}
.listing-preview-video,
.listing-preview-youtube,
.listing-preview-youtube iframe,
.listing-preview-poster{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  border:0;
}
.listing-preview-video,
.listing-preview-poster{object-fit:cover}
.listing-preview-video{
  pointer-events:none;
  background:var(--paper-2);
}
.listing-preview-video::-webkit-media-controls,
.listing-preview-video::-webkit-media-controls-enclosure,
.listing-preview-video::-webkit-media-controls-panel,
.listing-preview-video::-webkit-media-controls-play-button,
.listing-preview-video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none}
.listing-preview-youtube{z-index:0;overflow:hidden;pointer-events:none;background:var(--paper-2)}
.listing-preview-youtube iframe{
  top:50%;
  left:50%;
  width:178%;
  height:100%;
  min-width:100%;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.listing-preview-poster{z-index:1;transition:opacity .45s ease}
.listing-preview-youtube.is-video-ready .listing-preview-poster{opacity:0}
.place-carousel-shade,
.vv-experience-shade,
.listing-type,
.inspiration-listing-media>span,
.place-carousel-number,
.place-carousel-arrow,
.vv-experience-scanline{z-index:2}

/* Titoli editoriali dei listing, coerenti con il riferimento fornito. */
.listing-single-prose h2,
.listing-single-prose h3,
.listing-single-prose h4,
.listing-single-prose h5,
.listing-single-prose h6{
  position:relative;
  max-width:100%;
  padding-left:clamp(18px,2vw,26px);
  color:var(--ink);
  letter-spacing:.005em;
}
.listing-single-prose h2::before,
.listing-single-prose h3::before,
.listing-single-prose h4::before,
.listing-single-prose h5::before,
.listing-single-prose h6::before{
  content:"";
  position:absolute;
  left:0;
  top:.08em;
  bottom:.08em;
  width:4px;
  border-radius:999px;
  background:var(--red);
}
.listing-single-prose h2{
  margin:1.55em 0 .58em;
  font-size:clamp(1.85rem,3.25vw,2.75rem);
  line-height:1.14;
}
.listing-single-prose h3{
  margin:1.5em 0 .55em;
  font-size:clamp(1.5rem,2.45vw,2.08rem);
  line-height:1.2;
}
.listing-single-prose h4{margin:1.45em 0 .5em;font-size:clamp(1.25rem,1.9vw,1.65rem);line-height:1.25}
.listing-single-prose h5{margin:1.4em 0 .48em;font-size:clamp(1.08rem,1.5vw,1.35rem);line-height:1.3}
.listing-single-prose h6{margin:1.35em 0 .45em;font-size:clamp(.96rem,1.2vw,1.12rem);line-height:1.35;text-transform:uppercase;letter-spacing:.08em}
.listing-single-prose h3::before{width:3px}
.listing-single-prose h4::before,
.listing-single-prose h5::before,
.listing-single-prose h6::before{width:2px}
.listing-single-prose strong{font-weight:800}
.listing-single-prose em{font-style:italic}

/* Editor WYSIWYG della dashboard. */
.rich-editor-field{position:relative}
.rich-editor-toolbar{
  position:sticky;
  top:78px;
  z-index:12;
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  padding:10px;
  border:1px solid var(--line);
  border-bottom:0;
  border-radius:14px 14px 0 0;
  background:color-mix(in srgb,var(--surface) 92%,transparent);
  box-shadow:0 10px 28px rgba(30,20,16,.08);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.rich-editor-toolbar>span{
  width:1px;
  height:24px;
  margin:0 3px;
  background:var(--line);
}
.rich-editor-toolbar button{
  min-width:34px;
  height:34px;
  display:inline-grid;
  place-items:center;
  padding:0 10px;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:var(--ink);
  font-size:.72rem;
  font-weight:800;
  cursor:pointer;
}
.rich-editor-toolbar button:hover,
.rich-editor-toolbar button:focus-visible{
  border-color:color-mix(in srgb,var(--red) 24%,var(--line));
  background:color-mix(in srgb,var(--red) 8%,var(--surface));
  color:var(--red);
  outline:0;
}
.rich-editor-canvas{
  min-height:520px;
  padding:clamp(24px,3.5vw,46px);
  overflow:auto;
  border:1px solid var(--line);
  border-radius:0 0 14px 14px;
  background:var(--surface);
  color:var(--ink);
  font-family:var(--serif);
  font-size:1.05rem;
  line-height:1.75;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3);
}
.rich-editor-canvas:focus{border-color:color-mix(in srgb,var(--red) 58%,var(--line));outline:3px solid color-mix(in srgb,var(--red) 10%,transparent)}
.rich-editor-canvas p{margin:0 0 1.25em}
.rich-editor-canvas h2,
.rich-editor-canvas h3,
.rich-editor-canvas h4,
.rich-editor-canvas h5,
.rich-editor-canvas h6{
  position:relative;
  margin:1.45em 0 .55em;
  padding-left:20px;
  color:var(--ink);
  line-height:1.2;
}
.rich-editor-canvas h2{font-size:2.15rem}
.rich-editor-canvas h3{font-size:1.72rem}
.rich-editor-canvas h4{font-size:1.42rem}
.rich-editor-canvas h5{font-size:1.2rem}
.rich-editor-canvas h6{font-size:1rem;text-transform:uppercase;letter-spacing:.08em}
.rich-editor-canvas h2::before,
.rich-editor-canvas h3::before,
.rich-editor-canvas h4::before,
.rich-editor-canvas h5::before,
.rich-editor-canvas h6::before{
  content:"";
  position:absolute;
  inset:.08em auto .08em 0;
  width:3px;
  border-radius:999px;
  background:var(--red);
}
.rich-editor-canvas blockquote{margin:1.5em 0;padding:18px 22px;border-left:3px solid var(--red);background:var(--paper-2)}
.rich-editor-canvas a{color:var(--red)}
.rich-editor-source[hidden]{display:none!important}

@media(max-width:850px){
  .rich-editor-toolbar{position:static}
  .rich-editor-canvas{min-height:430px;padding:24px 20px}
  .listing-preview-youtube iframe{width:190%}
}
@media(max-width:560px){
  .listing-single-prose h2{font-size:clamp(1.65rem,8vw,2.1rem)}
  .listing-single-prose h3{font-size:clamp(1.38rem,6.5vw,1.75rem)}
  .listing-single-prose h2,
  .listing-single-prose h3,
  .listing-single-prose h4,
  .listing-single-prose h5,
  .listing-single-prose h6{padding-left:17px}
  .rich-editor-toolbar{gap:4px;padding:8px}
  .rich-editor-toolbar button{min-width:31px;height:32px;padding:0 8px;font-size:.67rem}
  .rich-editor-toolbar>span{display:none}
}
@media(prefers-reduced-motion:reduce){
  .listing-preview-youtube iframe{display:none}
  .listing-preview-poster{opacity:1!important}
}

.related-card-media{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:18px;
  margin-bottom:18px;
  background:var(--paper-2);
}
.related-card-media>img,
.related-card-media>.image-placeholder{width:100%;height:100%;object-fit:cover}
.find-card-media{isolation:isolate}
.find-card-category-icon{z-index:3}

/* La stessa gerarchia editoriale anche negli altri contenuti classificati come listing. */
.detail-page:not(.type-inspiration) .detail-body .prose h2,
.detail-page:not(.type-inspiration) .detail-body .prose h3,
.detail-page:not(.type-inspiration) .detail-body .prose h4,
.detail-page:not(.type-inspiration) .detail-body .prose h5,
.detail-page:not(.type-inspiration) .detail-body .prose h6{
  position:relative;
  padding-left:clamp(18px,2vw,26px);
  color:var(--ink);
}
.detail-page:not(.type-inspiration) .detail-body .prose h2::before,
.detail-page:not(.type-inspiration) .detail-body .prose h3::before,
.detail-page:not(.type-inspiration) .detail-body .prose h4::before,
.detail-page:not(.type-inspiration) .detail-body .prose h5::before,
.detail-page:not(.type-inspiration) .detail-body .prose h6::before{
  content:"";
  position:absolute;
  left:0;
  top:.08em;
  bottom:.08em;
  width:3px;
  border-radius:999px;
  background:var(--red);
}
.detail-page:not(.type-inspiration) .detail-body .prose h2{font-size:clamp(1.85rem,3.25vw,2.75rem);line-height:1.14}
.detail-page:not(.type-inspiration) .detail-body .prose h3{font-size:clamp(1.5rem,2.45vw,2.08rem);line-height:1.2}
.detail-page:not(.type-inspiration) .detail-body .prose h4{font-size:clamp(1.25rem,1.9vw,1.65rem)}
.detail-page:not(.type-inspiration) .detail-body .prose h5{font-size:clamp(1.08rem,1.5vw,1.35rem)}
.detail-page:not(.type-inspiration) .detail-body .prose h6{font-size:clamp(.96rem,1.2vw,1.12rem);text-transform:uppercase;letter-spacing:.08em}

/* ================================================================
   V58 — Gallery fotografica pura e hero mobile senza bande
   ================================================================ */

/* Da tre immagini in su la gallery conserva il carosello full width,
   ma ogni elemento è soltanto fotografia: nessuna scheda testuale. */
.listing-gallery-home-card.is-photo-only{
  width:clamp(330px,42vw,650px);
  min-height:0;
  display:block;
  border:0;
  border-radius:26px;
  background:transparent;
  box-shadow:0 18px 52px rgba(29,25,21,.09);
}
[data-theme="dark"] .listing-gallery-home-card.is-photo-only{
  background:transparent;
  box-shadow:0 20px 58px rgba(0,0,0,.24);
}
.listing-gallery-home-card.is-photo-only .place-carousel-media{
  width:100%;
  height:auto;
  aspect-ratio:16/10;
  border-radius:inherit;
}
.listing-gallery-home-card.is-photo-only .place-carousel-shade{
  background:linear-gradient(180deg,rgba(12,10,9,.02) 50%,rgba(12,10,9,.42) 100%);
}
.listing-gallery-home-card.is-photo-only:hover{
  transform:translateY(-6px);
}

/* Su mobile il media della hero è il primo elemento subito sotto
   l'header. Titolo, breadcrumb ed estratto passano sotto l'immagine. */
@media(max-width:760px){
  .listing-single-hero,
  .listing-single-hero.has-video,
  .listing-single-hero.has-slides{
    min-height:0!important;
    display:block;
    overflow:visible;
    background:var(--paper);
    color:var(--ink);
  }
  .listing-single-hero-media,
  .listing-single-hero.has-video .listing-single-hero-media{
    position:relative;
    inset:auto;
    z-index:1;
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:16/9;
    display:block;
    overflow:hidden;
    background:var(--paper-2);
  }
  .listing-single-hero-media::after,
  .listing-single-hero.has-video .listing-single-hero-media::after,
  .listing-single-hero-shade{
    display:none;
  }
  .listing-single-hero .listing-hero-local-video,
  .listing-single-hero.has-video .listing-hero-local-video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    background:transparent;
  }
  .listing-single-hero .listing-hero-youtube,
  .listing-single-hero.has-video .listing-hero-youtube{
    position:absolute;
    inset:0;
    top:0;
    left:0;
    width:100%;
    height:100%;
    min-width:0;
    transform:none;
    background:transparent;
  }
  .listing-single-hero .listing-hero-slide{
    inset:0;
  }
  .listing-single-hero-content,
  .listing-single-hero.has-video .listing-single-hero-content{
    position:relative;
    z-index:2;
    width:min(100% - 32px,1380px);
    padding:27px 0 38px;
    color:var(--ink);
  }
  .listing-single-hero .breadcrumbs{
    margin-bottom:15px;
    color:var(--muted);
    opacity:1;
  }
  .listing-single-hero h1{
    max-width:none;
    margin:0 0 15px;
    color:var(--ink);
    font-size:clamp(2.45rem,11.5vw,3.8rem);
    line-height:1.02;
  }
  .listing-single-hero-content>p{
    max-width:none;
    color:var(--muted);
    font-size:.98rem;
    line-height:1.62;
  }
  .listing-hero-controls{
    top:calc(56.25vw - 58px);
    bottom:auto;
    left:16px;
    right:auto;
  }
  .listing-hero-progress{
    top:calc(56.25vw - 3px);
    bottom:auto;
  }
  .listing-gallery-home-card.is-photo-only{
    width:min(88vw,520px);
    min-height:0;
    border-radius:21px;
  }
  .listing-gallery-home-card.is-photo-only .place-carousel-media{
    height:auto;
    aspect-ratio:4/3;
  }
}

@media(max-width:500px){
  .listing-gallery-home-card.is-photo-only{width:86vw}
}

/* ================================================================
   V59 — Anteprime YouTube completamente pulite
   ================================================================ */
.listing-preview-youtube{
  isolation:isolate;
  cursor:inherit;
}
.listing-preview-youtube iframe{
  top:50%!important;
  left:50%!important;
  width:196%!important;
  height:132%!important;
  min-width:196%!important;
  min-height:132%!important;
  transform:translate(-50%,-50%)!important;
  pointer-events:none!important;
  user-select:none!important;
}
.listing-preview-youtube::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:transparent;
}
.listing-preview-youtube .listing-preview-poster{
  z-index:3;
  pointer-events:none;
  opacity:1;
  transition:opacity .55s ease .05s;
}
.listing-preview-youtube.is-video-ready .listing-preview-poster{
  opacity:0;
  visibility:hidden;
  transition:opacity .55s ease,visibility 0s linear .55s;
}
.place-carousel-shade,
.vv-experience-shade,
.listing-type,
.inspiration-listing-media>span,
.place-carousel-number,
.place-carousel-arrow,
.vv-experience-scanline,
.find-card-category-icon{z-index:4}

@media(max-width:850px){
  .listing-preview-youtube iframe{
    width:214%!important;
    min-width:214%!important;
    height:136%!important;
    min-height:136%!important;
  }
}

/* ================================================================
   V60 — Single Experience, racconto editoriale a colonna unica
   ================================================================ */
.experience-single-page{background:var(--surface)}
.experience-single-hero{min-height:clamp(560px,74vh,780px)}
.experience-single-hero .listing-single-hero-content{padding-bottom:clamp(58px,7vh,86px)}
.experience-single-hero h1{
  max-width:1120px;
  font-size:clamp(3.15rem,5.8vw,5.9rem);
  letter-spacing:-.038em;
}
.experience-single-story{
  padding-block:clamp(74px,8vw,124px);
}
.experience-single-article{
  width:min(100%,980px);
  margin-inline:auto;
}
.experience-single-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  margin:0 0 clamp(52px,6vw,78px);
}
.experience-single-meta>span{
  min-width:0;
  padding:22px 28px;
  border-right:1px solid var(--line);
  display:grid;
  align-content:center;
  gap:6px;
}
.experience-single-meta>span:first-child{padding-left:0}
.experience-single-meta>span:last-child{border-right:0}
.experience-single-meta small{
  color:var(--red);
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.experience-single-meta strong{
  font-family:var(--serif);
  font-size:clamp(.95rem,1.3vw,1.08rem);
  line-height:1.45;
}
.experience-single-prose{
  max-width:880px;
  margin-inline:auto;
  font-size:clamp(1.06rem,1.25vw,1.17rem);
  line-height:1.82;
}
.experience-single-prose>p:first-child{
  font-size:clamp(1.18rem,1.65vw,1.42rem);
  line-height:1.7;
  color:var(--ink);
}
.experience-single-prose h2,
.experience-single-prose h3,
.experience-single-prose h4,
.experience-single-prose h5,
.experience-single-prose h6{
  position:relative;
  padding-left:18px;
  color:var(--ink);
  letter-spacing:-.012em;
}
.experience-single-prose h2::before,
.experience-single-prose h3::before,
.experience-single-prose h4::before,
.experience-single-prose h5::before,
.experience-single-prose h6::before{
  content:"";
  position:absolute;
  left:0;
  top:.12em;
  bottom:.12em;
  width:3px;
  border-radius:999px;
  background:var(--red);
}
.experience-single-prose h2{
  margin:2.05em 0 .72em;
  font-size:clamp(1.62rem,2.15vw,2.12rem)!important;
  line-height:1.18!important;
}
.experience-single-prose h3{
  margin:1.85em 0 .65em;
  font-size:clamp(1.36rem,1.75vw,1.7rem)!important;
  line-height:1.23!important;
}
.experience-single-prose h4{font-size:clamp(1.16rem,1.45vw,1.4rem)!important}
.experience-single-prose h5{font-size:clamp(1.02rem,1.2vw,1.2rem)!important}
.experience-single-prose h6{font-size:.94rem!important;letter-spacing:.08em}
.experience-single-prose blockquote{
  margin:2.2em 0;
  padding:4px 0 4px 26px;
  border-left:3px solid var(--red);
  font-size:clamp(1.2rem,1.8vw,1.55rem);
  line-height:1.55;
}
.experience-body-video,
.experience-gallery-simple{
  width:min(100%,980px);
  margin:clamp(68px,8vw,104px) auto 0;
}
.experience-body-video>header,
.experience-gallery-simple>header{
  align-items:flex-end;
  padding-bottom:22px;
  border-bottom:1px solid var(--line);
}
.experience-body-video>header h2,
.experience-gallery-simple>header h2,
.experience-gallery-home-section .places-carousel-title h2{
  font-size:clamp(2rem,3.2vw,3.35rem);
  letter-spacing:-.035em;
}
.experience-gallery-home-section{
  background:var(--paper);
  border-top:1px solid var(--line);
}
.experience-gallery-home-section .listing-gallery-home-card.is-photo-only{
  box-shadow:0 18px 48px rgba(29,25,21,.08);
}
.experience-related-section{margin-top:0}
.experience-related-section .vv-experience-title h2{
  font-size:clamp(2.8rem,5vw,5rem);
}
[data-theme="dark"] .experience-single-page{background:var(--paper)}
[data-theme="dark"] .experience-gallery-home-section{background:var(--surface)}

@media(max-width:850px){
  .experience-single-story{padding-block:60px 76px}
  .experience-single-meta{grid-template-columns:1fr;margin-bottom:48px}
  .experience-single-meta>span,
  .experience-single-meta>span:first-child{
    padding:16px 0;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .experience-single-meta>span:last-child{border-bottom:0}
  .experience-single-prose{font-size:1.05rem;line-height:1.76}
  .experience-body-video,
  .experience-gallery-simple{margin-top:58px}
}

@media(max-width:760px){
  .experience-single-hero h1{
    font-size:clamp(2.35rem,10.5vw,3.55rem);
    line-height:1.03;
  }
  .experience-single-story{padding-top:48px}
  .experience-single-prose>p:first-child{font-size:1.12rem}
  .experience-single-prose h2{font-size:clamp(1.45rem,7vw,1.82rem)!important}
  .experience-single-prose h3{font-size:clamp(1.25rem,6vw,1.55rem)!important}
  .experience-gallery-home-section .places-carousel-title h2{font-size:clamp(2.15rem,10vw,3rem)}
}

/* ================================================================
   V61 — Video decorativi puliti + single Experience editoriale
   ================================================================ */

/* I video decorativi non devono mai esporre controlli, nemmeno durante
   il primo frame o al passaggio del puntatore. Il poster resta sopra al
   player finché la riproduzione non è realmente iniziata. */
.listing-preview-local,
.listing-hero-local-shell,
.listing-hero-youtube-shell{
  position:absolute;
  inset:0;
  display:block;
  overflow:hidden;
  background:var(--paper-2);
  pointer-events:none!important;
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none;
}
.listing-preview-local{z-index:0}
.listing-preview-local .listing-preview-video,
.listing-preview-local .listing-preview-poster,
.listing-hero-local-shell .listing-hero-local-video,
.listing-hero-local-shell .listing-hero-video-poster,
.listing-hero-youtube-shell .listing-hero-video-poster{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
}
.listing-preview-local .listing-preview-video,
.listing-hero-local-shell .listing-hero-local-video{object-fit:cover}
.listing-preview-local .listing-preview-poster,
.listing-hero-local-shell .listing-hero-video-poster,
.listing-hero-youtube-shell .listing-hero-video-poster{
  z-index:5;
  object-fit:cover;
  opacity:1;
  visibility:visible;
  pointer-events:none;
  transition:opacity .45s ease,visibility 0s linear 0s;
}
.listing-preview-local.is-video-ready .listing-preview-poster,
.listing-hero-local-shell.is-video-ready .listing-hero-video-poster,
.listing-hero-youtube-shell.is-video-ready .listing-hero-video-poster{
  opacity:0;
  visibility:hidden;
  transition:opacity .45s ease,visibility 0s linear .45s;
}
.listing-preview-video,
.listing-hero-local-video{
  pointer-events:none!important;
  outline:0!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
.listing-preview-video::-webkit-media-controls,
.listing-preview-video::-webkit-media-controls-enclosure,
.listing-preview-video::-webkit-media-controls-panel,
.listing-preview-video::-webkit-media-controls-overlay-play-button,
.listing-preview-video::-webkit-media-controls-play-button,
.listing-preview-video::-webkit-media-controls-start-playback-button,
.listing-preview-video::-webkit-media-controls-timeline,
.listing-preview-video::-webkit-media-controls-current-time-display,
.listing-preview-video::-webkit-media-controls-time-remaining-display,
.listing-preview-video::-webkit-media-controls-mute-button,
.listing-preview-video::-webkit-media-controls-volume-slider,
.listing-preview-video::-webkit-media-controls-fullscreen-button,
.listing-preview-video::-webkit-media-controls-picture-in-picture-button,
.listing-hero-local-video::-webkit-media-controls,
.listing-hero-local-video::-webkit-media-controls-enclosure,
.listing-hero-local-video::-webkit-media-controls-panel,
.listing-hero-local-video::-webkit-media-controls-overlay-play-button,
.listing-hero-local-video::-webkit-media-controls-play-button,
.listing-hero-local-video::-webkit-media-controls-start-playback-button,
.listing-hero-local-video::-webkit-media-controls-timeline,
.listing-hero-local-video::-webkit-media-controls-current-time-display,
.listing-hero-local-video::-webkit-media-controls-time-remaining-display,
.listing-hero-local-video::-webkit-media-controls-mute-button,
.listing-hero-local-video::-webkit-media-controls-volume-slider,
.listing-hero-local-video::-webkit-media-controls-fullscreen-button,
.listing-hero-local-video::-webkit-media-controls-picture-in-picture-button{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  -webkit-appearance:none!important;
}
.listing-hero-youtube-shell{z-index:0}
.listing-hero-youtube-shell .listing-hero-youtube{
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  width:max(118vw,209.8vh)!important;
  height:max(66.38vw,118vh)!important;
  min-width:118%!important;
  min-height:118%!important;
  transform:translate(-50%,-50%)!important;
  border:0!important;
  pointer-events:none!important;
}
.listing-hero-youtube-shell::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:4;
  pointer-events:none;
  background:transparent;
}

/* Apertura Experience: non una hero con testo sovrapposto, ma una grande
   immagine editoriale immersa nello stesso ambiente tech delle Experience. */
.experience-single-page{background:var(--surface)}
.experience-feature-stage{
  --experience-red:#972e47;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  margin:0;
  padding:clamp(46px,6vw,86px) 0;
  background:
    radial-gradient(circle at 14% 18%,rgba(151,46,71,.31),transparent 28%),
    radial-gradient(circle at 88% 76%,rgba(132,91,51,.18),transparent 25%),
    linear-gradient(145deg,#0d0d0f 0%,#171317 52%,#09090b 100%);
  color:#fff;
}
.experience-feature-stage::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  opacity:.16;
  background-image:
    linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:76px 76px;
  mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent);
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent);
}
.experience-feature-stage .vv-experience-grid{z-index:-1}
.experience-feature-stage .vv-experience-orbit{opacity:.56;pointer-events:none}
.experience-feature-wrap{position:relative;z-index:2}
.experience-feature-media{
  position:relative;
  width:min(100%,1420px);
  aspect-ratio:16/8.4;
  margin:0 auto;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  border-radius:clamp(24px,3vw,46px);
  background:#151217;
  box-shadow:0 34px 110px rgba(0,0,0,.42);
}
.experience-feature-media::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.055);
}
.experience-feature-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.experience-feature-placeholder{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  color:rgba(255,255,255,.52);
  font-family:var(--serif);
  font-size:clamp(1.4rem,3vw,3rem);
}

.experience-single-story{padding-block:clamp(70px,8vw,126px)}
.experience-single-article{width:min(100%,1000px);margin-inline:auto}
.experience-article-header{
  width:min(100%,920px);
  margin:0 auto clamp(48px,6vw,76px);
  text-align:center;
}
.experience-article-header .breadcrumbs{
  justify-content:center;
  margin-bottom:clamp(22px,3vw,34px);
  color:var(--muted);
}
.experience-article-header h1{
  margin:0;
  color:var(--ink);
  font-size:clamp(2.65rem,5.15vw,5.25rem);
  line-height:.99;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.experience-article-header>p{
  max-width:790px;
  margin:clamp(24px,3vw,34px) auto 0;
  color:var(--muted);
  font-size:clamp(1.03rem,1.5vw,1.3rem);
  line-height:1.65;
  text-wrap:balance;
}

/* Dati dell'Experience: piccoli moduli tech, mai titoli editoriali. */
.experience-facts-tech{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:1px;
  margin:0 auto clamp(54px,7vw,86px);
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:22px;
  background:var(--line);
  box-shadow:0 18px 54px rgba(40,30,25,.06);
}
.experience-fact-tech{
  position:relative;
  min-width:0;
  min-height:122px;
  display:grid;
  align-content:center;
  gap:8px;
  padding:24px 24px 22px;
  background:var(--paper);
}
.experience-fact-tech::after{
  content:"";
  position:absolute;
  left:0;
  top:22px;
  bottom:22px;
  width:2px;
  background:linear-gradient(180deg,transparent,var(--red),transparent);
  opacity:.72;
}
.experience-fact-index{
  position:absolute;
  top:14px;
  right:16px;
  color:color-mix(in srgb,var(--red) 62%,var(--muted));
  font-size:.5rem;
  font-weight:900;
  letter-spacing:.14em;
}
.experience-fact-tech small{
  color:var(--red);
  font-size:.57rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.experience-fact-tech strong{
  max-width:100%;
  color:var(--ink);
  font-family:var(--serif);
  font-size:clamp(.98rem,1.25vw,1.14rem)!important;
  font-weight:700!important;
  line-height:1.38!important;
  letter-spacing:-.012em!important;
  overflow-wrap:anywhere;
}

.experience-single-prose{max-width:860px}
.experience-single-prose h2{
  font-size:clamp(1.42rem,1.8vw,1.78rem)!important;
  line-height:1.22!important;
}
.experience-single-prose h3{
  font-size:clamp(1.2rem,1.5vw,1.46rem)!important;
  line-height:1.27!important;
}
.experience-single-prose h4{font-size:clamp(1.05rem,1.25vw,1.24rem)!important}
.experience-body-video>header h2,
.experience-gallery-simple>header h2{
  font-size:clamp(1.55rem,2.2vw,2.15rem)!important;
}

[data-theme="dark"] .experience-single-page{background:var(--paper)}
[data-theme="dark"] .experience-fact-tech{background:var(--surface)}
[data-theme="dark"] .experience-facts-tech{box-shadow:none}

@media(max-width:850px){
  .experience-feature-stage{padding:32px 0 42px}
  .experience-feature-media{aspect-ratio:16/10;border-radius:26px}
  .experience-single-story{padding-block:58px 82px}
  .experience-facts-tech{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:58px}
  .experience-fact-tech{min-height:108px;padding:22px 20px 20px}
}
@media(max-width:600px){
  .experience-feature-stage{padding:20px 0 30px}
  .experience-feature-wrap{width:min(100% - 24px,1380px)}
  .experience-feature-media{aspect-ratio:4/3;border-radius:21px}
  .experience-article-header{text-align:left;margin-bottom:42px}
  .experience-article-header .breadcrumbs{justify-content:flex-start;margin-bottom:20px}
  .experience-article-header h1{font-size:clamp(2.35rem,11vw,3.6rem);line-height:1.01}
  .experience-article-header>p{margin-top:20px;font-size:1rem;line-height:1.62}
  .experience-facts-tech{grid-template-columns:1fr;border-radius:18px}
  .experience-fact-tech{min-height:94px;padding:20px 20px 18px}
  .experience-single-prose h2{font-size:clamp(1.34rem,6.7vw,1.62rem)!important}
  .experience-single-prose h3{font-size:clamp(1.17rem,5.8vw,1.38rem)!important}
}
@media(prefers-reduced-motion:reduce){
  .experience-feature-stage .vv-experience-grid,
  .experience-feature-stage .vv-experience-orbit::before,
  .experience-feature-stage .vv-experience-orbit::after{animation:none!important}
  .listing-preview-poster,.listing-hero-video-poster{transition:none!important}
}
.listing-hero-video-cover{background:linear-gradient(145deg,#151217,#09090b)}
.listing-preview-local::after,
.listing-hero-local-shell::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:4;
  pointer-events:none;
  background:var(--paper-2);
  opacity:1;
  visibility:visible;
  transition:opacity .38s ease,visibility 0s linear 0s;
}
.listing-hero-local-shell::after{background:#111014}
.listing-preview-local.is-video-ready::after,
.listing-hero-local-shell.is-video-ready::after{
  opacity:0;
  visibility:hidden;
  transition:opacity .38s ease,visibility 0s linear .38s;
}

/* V62 — single Experience: racconto e dati dentro l'apertura, prima della foto */
.experience-feature-stage{
  padding:clamp(48px,6vw,84px) 0 clamp(54px,7vw,96px);
}
.experience-feature-wrap{
  width:min(100% - 48px,1480px);
}
.experience-feature-copy{
  width:min(100%,1120px);
  margin:0 auto;
  text-align:center;
  color:#fff;
}
.experience-feature-copy .breadcrumbs{
  justify-content:center;
  margin:0 0 24px;
  color:rgba(255,255,255,.58);
}
.experience-feature-copy .breadcrumbs a{color:rgba(255,255,255,.78)}
.experience-duration-chip{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:22px;
  padding:8px 13px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(255,255,255,.07);
  color:rgba(255,255,255,.82);
  font-size:.66rem;
  font-weight:850;
  letter-spacing:.13em;
  text-transform:uppercase;
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
.experience-duration-chip i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#d8879a;
  box-shadow:0 0 0 5px rgba(216,135,154,.13);
}
.experience-feature-copy h1{
  max-width:1040px;
  margin:0 auto;
  color:#fff;
  font-size:clamp(2.65rem,5vw,4.75rem);
  line-height:1.01;
  letter-spacing:-.043em;
  text-wrap:balance;
}
.experience-feature-copy>p{
  max-width:860px;
  margin:clamp(22px,2.5vw,32px) auto 0;
  color:rgba(255,255,255,.72);
  font-size:clamp(1rem,1.35vw,1.2rem);
  line-height:1.68;
  text-wrap:balance;
}
.experience-hero-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:min(100%,1180px);
  margin:clamp(38px,4.5vw,58px) auto 0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  border-radius:24px;
  background:rgba(255,255,255,.055);
  box-shadow:0 18px 64px rgba(0,0,0,.16);
  backdrop-filter:blur(16px);
}
.experience-hero-fact{
  position:relative;
  min-width:0;
  min-height:132px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:28px 26px 24px;
  border-right:1px solid rgba(255,255,255,.12);
}
.experience-hero-fact:last-child{border-right:0}
.experience-hero-fact>span{
  position:absolute;
  top:14px;
  right:16px;
  color:rgba(255,255,255,.3);
  font-size:.52rem;
  font-weight:900;
  letter-spacing:.15em;
}
.experience-hero-fact small{
  color:#e5a6b5;
  font-size:.61rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.experience-hero-fact strong{
  max-width:100%;
  color:#fff;
  font-family:var(--serif);
  font-size:clamp(1rem,1.35vw,1.23rem)!important;
  font-weight:650!important;
  line-height:1.38!important;
  letter-spacing:-.014em!important;
  overflow-wrap:anywhere;
  text-wrap:balance;
}
.experience-feature-media{
  margin-top:clamp(42px,5vw,68px);
}
.experience-single-story{
  padding-block:clamp(72px,8vw,122px);
}
.experience-single-article{
  width:min(100%,960px);
}
.experience-single-prose{
  max-width:880px;
  margin-inline:auto;
  font-size:clamp(1.04rem,1.15vw,1.13rem);
  line-height:1.82;
}
.experience-single-prose>p{
  margin:0 0 2.15em;
}
.experience-single-prose h2{
  margin-top:2.3em!important;
  margin-bottom:.8em!important;
  font-size:clamp(1.38rem,1.65vw,1.66rem)!important;
  line-height:1.22!important;
}
.experience-single-prose h2:first-child{margin-top:0!important}
.experience-single-prose h3{
  font-size:clamp(1.16rem,1.35vw,1.36rem)!important;
}
.experience-single-prose ul,
.experience-single-prose ol{
  margin:0 0 2.3em;
  padding-left:1.2em;
}
.experience-single-prose li{
  margin:.52em 0;
  padding-left:.32em;
}
.experience-single-prose strong{font-weight:800}
.experience-single-prose em{color:color-mix(in srgb,var(--red) 78%,var(--ink));font-style:italic}

@media(max-width:850px){
  .experience-feature-wrap{width:min(100% - 32px,1480px)}
  .experience-hero-facts{grid-template-columns:1fr}
  .experience-hero-fact{
    min-height:104px;
    padding:24px 22px 21px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  .experience-hero-fact:last-child{border-bottom:0}
  .experience-feature-media{margin-top:38px}
}
@media(max-width:600px){
  .experience-feature-stage{padding:26px 0 42px}
  .experience-feature-wrap{width:min(100% - 24px,1480px)}
  .experience-feature-copy{text-align:left}
  .experience-feature-copy .breadcrumbs{justify-content:flex-start;margin-bottom:18px}
  .experience-duration-chip{margin-bottom:18px}
  .experience-feature-copy h1{
    font-size:clamp(2.2rem,10.2vw,3.15rem);
    line-height:1.02;
  }
  .experience-feature-copy>p{
    margin-top:18px;
    font-size:.98rem;
    line-height:1.62;
  }
  .experience-hero-facts{margin-top:30px;border-radius:18px}
  .experience-hero-fact{align-items:flex-start;text-align:left;min-height:92px}
  .experience-hero-fact strong{font-size:1rem!important;text-wrap:pretty}
  .experience-feature-media{margin-top:30px;aspect-ratio:4/3;border-radius:20px}
  .experience-single-story{padding-block:54px 78px}
  .experience-single-prose{font-size:1rem;line-height:1.76}
  .experience-single-prose h2{font-size:clamp(1.28rem,6vw,1.5rem)!important}
}

/* =========================================================
   V63 — Home a quattro card e reveal allo scroll rimossi
   ========================================================= */

/* Tutti i contenuti devono essere immediatamente disponibili.
   Le regole annullano i reveal storici senza interferire con
   slider, caroselli, video e normali stati hover. */
html.js [data-vv-reveal],
html.js .vv-auto-reveal,
[data-vv-reveal],
.vv-auto-reveal{
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
  transform:none!important;
  transition:none!important;
  animation:none!important;
  will-change:auto!important;
}

/* Neutralizzazione delle animazioni figlie legate al reveal. */
.journey-card .journey-media{
  clip-path:inset(0 0 0 0 round 26px)!important;
  transition:none!important;
}
.journey-card .journey-media img{
  transform:scale(1.025);
  transition:transform .45s ease,filter .45s ease;
}
.journey-card:hover .journey-media img{transform:scale(1.06)}
.journey-scan{display:none!important;animation:none!important}

.editorial-card .editorial-media,
.listing-card .listing-media,
.related-grid>a img,
.gallery-grid figure img,
.place-carousel-card .place-carousel-media,
.territory-map-browser,
.inspire-chapter .inspire-chapter-media,
.inspire-chapter.is-reverse .inspire-chapter-media{
  opacity:1!important;
  filter:none!important;
  transform:none!important;
  clip-path:none!important;
  transition:none!important;
  animation:none!important;
}

/* Manteniamo soltanto gli hover volontari, non l'entrata allo scroll. */
.journey-card:hover{
  transform:translate3d(0,-5px,0);
  border-color:rgba(151,46,71,.2);
  box-shadow:0 24px 68px rgba(35,29,25,.13);
}
[data-theme="dark"] .journey-card:hover{box-shadow:0 24px 68px rgba(0,0,0,.4)}
.journey-card:hover::before{left:125%;opacity:.42}

/* Laptop e desktop compatti: le quattro scelte restano sempre
   sulla stessa riga, ma diventano progressivamente più compatte. */
@media (min-width:1024px) and (max-width:1679px){
  .home-page .vv-journey-section{
    width:min(calc(100% - 30px),1580px);
  }
  .home-page .vv-journey-section .journey-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:clamp(12px,1.25vw,20px)!important;
  }
  .home-page .vv-journey-section .journey-card,
  .home-page .vv-journey-section .journey-card:last-child{
    grid-column:auto!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto minmax(210px,1fr)!important;
    min-width:0!important;
    min-height:clamp(455px,41vw,535px)!important;
    border-radius:clamp(22px,2.1vw,30px);
  }
  .home-page .vv-journey-section .journey-card-head,
  .home-page .vv-journey-section .journey-card:last-child .journey-card-head{
    min-height:clamp(218px,20vw,252px)!important;
    padding:clamp(20px,2vw,29px)!important;
    justify-content:flex-start!important;
  }
  .home-page .vv-journey-section .journey-meta{
    gap:9px;
    padding-right:40px;
  }
  .home-page .vv-journey-section .journey-meta span{
    width:27px;
    height:27px;
    font-size:.52rem;
  }
  .home-page .vv-journey-section .journey-meta small{
    font-size:clamp(.48rem,.55vw,.58rem);
    letter-spacing:.11em;
    white-space:nowrap;
  }
  .home-page .vv-journey-section .journey-action{
    top:clamp(18px,1.8vw,25px);
    right:clamp(18px,1.8vw,25px);
    width:36px;
    height:36px;
  }
  .home-page .vv-journey-section .journey-card h3{
    margin:clamp(22px,2.4vw,31px) 0 11px;
    font-size:clamp(1.72rem,2.45vw,2.75rem)!important;
    line-height:1.02;
    letter-spacing:-.035em;
  }
  .home-page .vv-journey-section .journey-card p{
    max-width:none;
    font-size:clamp(.75rem,.79vw,.88rem);
    line-height:1.58;
  }
  .home-page .vv-journey-section .journey-media,
  .home-page .vv-journey-section .journey-card:last-child .journey-media{
    min-height:210px!important;
    height:auto!important;
    margin:0 8px 8px!important;
    border-radius:clamp(18px,1.8vw,24px)!important;
  }
  .home-page .vv-journey-section .journey-media img{
    min-height:210px!important;
  }
  .home-page .vv-journey-section .journey-media-label{
    left:16px;
    bottom:15px;
    font-size:.51rem;
    letter-spacing:.13em;
  }
}

/* Su tablet resta più leggibile il 2×2; da mobile una card per riga. */
@media (min-width:761px) and (max-width:1023px){
  .home-page .vv-journey-section .journey-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .home-page .vv-journey-section .journey-card,
  .home-page .vv-journey-section .journey-card:last-child{
    grid-column:auto!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto minmax(250px,1fr)!important;
  }
  .home-page .vv-journey-section .journey-card:last-child .journey-media{
    height:auto!important;
    margin:0 10px 10px!important;
  }
}

/* Hover delle quattro card mantenuto, senza dipendere dallo scroll reveal. */
.home-page .journey-card[data-vv-reveal]{
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease!important;
}

/* =========================================================
   V65 — Experience più compatte, Esplora per categorie e Trova mobile
   ========================================================= */

/* Single Experience: sui laptop la fotografia resta importante, ma non
   occupa quasi un'intera schermata prima dell'inizio del racconto. */
@media (min-width:851px) and (max-width:1439px){
  .experience-feature-stage{padding:clamp(34px,4vw,52px) 0 clamp(42px,5vw,64px)}
  .experience-feature-wrap{width:min(100% - 44px,1220px)}
  .experience-feature-copy{width:min(100%,980px)}
  .experience-feature-copy h1{font-size:clamp(2.45rem,4.3vw,3.9rem)}
  .experience-feature-copy>p{max-width:760px;font-size:clamp(.96rem,1.2vw,1.1rem)}
  .experience-hero-facts{width:min(100%,1000px);margin-top:34px;border-radius:20px}
  .experience-hero-fact{min-height:106px;padding:23px 22px 20px}
  .experience-feature-media{
    width:min(100%,1040px);
    max-height:520px;
    margin-top:36px;
    aspect-ratio:16/8;
    border-radius:clamp(22px,2.4vw,34px);
  }
}

/* Gallery Experience: nessun titolo, didascalia, numero o testo ripetuto.
   Dal corpo del racconto si passa quasi subito alle fotografie. */
.experience-single-story.has-full-gallery{padding-bottom:clamp(18px,2.4vw,32px)}
.experience-gallery-home-section.is-untitled{
  margin-top:0;
  padding:clamp(14px,2vw,28px) 0 clamp(62px,7vw,94px);
  border-top:0;
}
.experience-gallery-controls{
  display:flex;
  justify-content:flex-end;
  margin-bottom:14px;
}
.experience-gallery-controls .places-carousel-actions{margin:0}
.experience-gallery-progress{
  padding-top:24px;
}
.experience-gallery-progress .places-carousel-progress{width:min(420px,56%)}
.experience-gallery-home-section .listing-gallery-home-card.is-photo-only .place-carousel-media::after{display:none}
.experience-gallery-simple.is-untitled{margin-top:clamp(28px,4vw,46px)}
.experience-gallery-simple.is-untitled .listing-gallery-grid{margin-top:0}
.experience-gallery-simple.is-untitled .listing-gallery-item>span{display:none!important}

/* Esplora: una sola scelta per interesse e una sola griglia generale. */
.explore-category-only .explore-interest-direct{
  padding:clamp(66px,7vw,102px) 0 clamp(42px,5vw,66px);
  background:var(--paper);
}
.explore-category-intro{
  width:min(100%,860px);
  margin:0 auto clamp(32px,4vw,48px);
  text-align:center;
}
.explore-category-intro h2{
  margin:9px 0 15px;
  font-size:clamp(2.45rem,4.6vw,4.7rem);
  line-height:1;
  letter-spacing:-.04em;
}
.explore-category-intro p{
  max-width:650px;
  margin:0 auto;
  color:var(--muted);
  font-size:.94rem;
  line-height:1.72;
}
.explore-interest-direct .explore-interest-bar{
  grid-template-columns:minmax(0,1fr) auto;
  gap:20px;
  padding:16px 0;
}
.explore-interest-direct .explore-interest-options{
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:8px;
  overflow:visible;
  padding:0;
}
.explore-interest-direct .explore-interest-options button{
  min-width:0;
  min-height:62px;
  justify-content:center;
  padding:11px 10px;
  border-color:color-mix(in srgb,var(--line) 82%,transparent);
  border-radius:16px;
  background:color-mix(in srgb,var(--surface) 92%,transparent);
}
.explore-interest-direct .explore-interest-options button>span{width:30px;height:30px}
.explore-interest-direct .explore-interest-options button svg{width:27px;height:27px}
.explore-interest-direct .explore-interest-options button strong{font-size:.68rem}
.explore-interest-direct .explore-interest-options button.is-active{
  border-color:var(--red);
  background:var(--red);
}
.explore-category-grid{padding-top:clamp(68px,7vw,94px)}
.explore-category-grid .explore-place-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.explore-category-grid.is-compact-list .explore-place-grid{grid-template-columns:repeat(4,minmax(0,1fr));width:auto}
.explore-category-grid.is-compact-list .explore-place-card{display:block;min-height:0;border-radius:24px}

html[data-theme="dark"] .explore-category-only .explore-interest-direct{background:#1c191a}
html[data-theme="dark"] .explore-interest-direct .explore-interest-options button{
  border-color:rgba(255,255,255,.09);
  background:#222023;
}
html[data-theme="dark"] .explore-interest-direct .explore-interest-options button.is-active{background:var(--red)}

@media(max-width:1320px){
  .explore-interest-direct .explore-interest-options{grid-template-columns:repeat(4,minmax(0,1fr))}
  .explore-category-grid .explore-place-grid,
  .explore-category-grid.is-compact-list .explore-place-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:960px){
  .explore-category-intro{text-align:left;margin-inline:0}
  .explore-category-intro p{margin-inline:0}
  .explore-interest-direct .explore-interest-bar{grid-template-columns:1fr}
  .explore-interest-direct .explore-interest-count{justify-self:end}
  .explore-category-grid .explore-place-grid,
  .explore-category-grid.is-compact-list .explore-place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .explore-category-only .explore-interest-direct{padding:50px 0 34px}
  .explore-category-intro{margin-bottom:25px}
  .explore-category-intro h2{font-size:clamp(2.25rem,11vw,3.1rem)}
  .explore-category-intro p{font-size:.86rem}
  .explore-interest-direct .explore-interest-bar{display:block;padding:12px 0}
  .explore-interest-direct .explore-interest-options{
    display:flex;
    width:calc(100% + 16px);
    margin-right:-16px;
    padding-right:16px;
    gap:8px;
    overflow-x:auto;
  }
  .explore-interest-direct .explore-interest-options button{
    flex:0 0 auto;
    min-height:48px;
    padding:8px 13px;
    border-radius:999px;
  }
  .explore-interest-direct .explore-interest-options button>span{width:26px;height:26px}
  .explore-interest-direct .explore-interest-options button svg{width:23px;height:23px}
  .explore-interest-direct .explore-interest-count{display:none}
  .explore-category-grid .explore-place-grid,
  .explore-category-grid.is-compact-list .explore-place-grid{grid-template-columns:1fr}
  .experience-gallery-controls{margin-bottom:10px;padding-inline:16px}
  .experience-gallery-home-section.is-untitled{padding-top:10px}
  .experience-gallery-progress{padding-top:18px}
  .experience-gallery-progress .places-carousel-progress{width:68%}
}

/* Trova: sotto gli 851 px la mappa non viene mostrata né inizializzata.
   La pagina diventa un elenco completo, più leggero e davvero mobile. */
@media(max-width:850px){
  body.find-page .find-map-panel,
  body.find-page .mobile-map-actions,
  body.find-page .find-map-caption{display:none!important}
  body.find-page .find-shell,
  body.find-page .find-shell.is-find-list-only{
    display:block;
    min-height:calc(100dvh - 76px);
    height:auto;
    overflow:visible;
  }
  body.find-page .find-results-panel{
    width:100%;
    max-height:none;
    min-height:calc(100dvh - 76px);
    overflow:visible;
  }
}

/* =========================================================
   V66 — Più respiro per il selettore interessi di Esplora
   ========================================================= */
.explore-category-only .explore-interest-direct{
  padding-top:clamp(104px,9vw,154px);
  padding-bottom:clamp(92px,8vw,136px);
}
.explore-category-only .explore-category-intro{
  margin-bottom:clamp(46px,4.5vw,70px);
}
.explore-category-only .explore-interest-direct .explore-interest-bar{
  padding-top:clamp(24px,2vw,32px);
  padding-bottom:clamp(24px,2vw,32px);
}

@media(max-width:960px){
  .explore-category-only .explore-interest-direct{
    padding-top:clamp(82px,10vw,112px);
    padding-bottom:clamp(74px,9vw,100px);
  }
  .explore-category-only .explore-category-intro{
    margin-bottom:clamp(36px,5vw,50px);
  }
}

@media(max-width:640px){
  .explore-category-only .explore-interest-direct{
    padding-top:70px;
    padding-bottom:64px;
  }
  .explore-category-only .explore-category-intro{
    margin-bottom:34px;
  }
  .explore-category-only .explore-interest-direct .explore-interest-bar{
    padding-top:18px;
    padding-bottom:18px;
  }
}

/* =========================================================
   V67 — Gallery Experience senza blocco separato
   ========================================================= */
/* Il racconto e la galleria formano un unico flusso visivo: nessun fondo
   colorato dedicato e nessuna fascia vuota tra testo/video e fotografie. */
.experience-single-story.has-full-gallery{
  padding-bottom:0!important;
}
.experience-gallery-home-section.is-untitled{
  margin-top:0!important;
  padding:0 0 clamp(38px,4.5vw,64px)!important;
  border-top:0!important;
  background:transparent!important;
}
.experience-gallery-home-section.is-untitled::before{
  display:none!important;
}
.experience-gallery-home-section.is-untitled .experience-gallery-controls{
  margin-top:0!important;
  margin-bottom:8px!important;
  padding-top:0!important;
}
.experience-gallery-home-section.is-untitled .places-carousel-viewport{
  margin-top:0!important;
}
.experience-gallery-home-section.is-untitled .experience-gallery-progress{
  padding-top:16px!important;
}
html[data-theme="dark"] .experience-gallery-home-section.is-untitled{
  background:transparent!important;
}
@media(max-width:760px){
  .experience-gallery-home-section.is-untitled{
    padding:0 0 42px!important;
  }
  .experience-gallery-home-section.is-untitled .experience-gallery-controls{
    margin-bottom:6px!important;
    padding-inline:16px!important;
  }
  .experience-gallery-home-section.is-untitled .experience-gallery-progress{
    padding-top:14px!important;
  }
}

/* =========================================================
   ARCHIVI EXPERIENCE / EVENTI PER COMUNE — V69
   Sfondo Experience a tutta pagina, hero Esplora, filtro
   territoriale e griglia responsive.
   ========================================================= */
body.municipality-archive-page{background:#0d0d0f;color:#fff}
.municipality-archive{
  --collection-red:#972e47;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:100vh;
  background:
    radial-gradient(circle at 11% 18%,rgba(151,46,71,.34),transparent 28%),
    radial-gradient(circle at 88% 68%,rgba(132,91,51,.18),transparent 28%),
    linear-gradient(145deg,#0d0d0f 0%,#171317 50%,#09090b 100%);
  color:#fff;
}
.municipality-archive::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-3;
  opacity:.17;
  pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.075) 1px,transparent 1px);
  background-size:76px 76px;
  mask-image:linear-gradient(to bottom,transparent,#000 10%,#000 92%,transparent);
}
.municipality-archive-grid{
  position:absolute;
  inset:20% -12% auto;
  z-index:-2;
  height:760px;
  opacity:.24;
  pointer-events:none;
  transform:perspective(950px) rotateX(72deg) translateY(18%);
  transform-origin:center bottom;
  background:repeating-linear-gradient(90deg,transparent 0 71px,rgba(151,46,71,.32) 72px 73px),repeating-linear-gradient(0deg,transparent 0 71px,rgba(151,46,71,.28) 72px 73px);
}
.municipality-archive-orbit{position:absolute;z-index:-1;right:-90px;top:820px;width:360px;height:360px;border:1px solid rgba(255,255,255,.08);border-radius:50%;opacity:.6;pointer-events:none}
.municipality-archive-orbit::before,.municipality-archive-orbit::after{content:"";position:absolute;inset:52px;border:1px dashed rgba(151,46,71,.48);border-radius:50%}
.municipality-archive-orbit::after{inset:118px;border-style:solid}
.municipality-archive-orbit i{position:absolute;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 16px #fff,0 0 30px var(--collection-red)}
.municipality-archive-orbit i:nth-child(1){left:42px;top:91px}.municipality-archive-orbit i:nth-child(2){right:65px;bottom:64px}.municipality-archive-orbit i:nth-child(3){left:50%;top:50%;background:var(--collection-red)}

.municipality-archive-hero{height:min(760px,calc(100svh - 113px));min-height:620px}
.municipality-archive-hero .explore-hero-overlay{background:linear-gradient(90deg,rgba(24,9,14,.88) 0%,rgba(24,9,14,.62) 44%,rgba(24,9,14,.2) 78%),linear-gradient(0deg,rgba(16,7,10,.7),transparent 48%)}
.municipality-archive-hero .explore-hero-data{background:rgba(12,8,10,.34)}

.municipality-filter-section{position:relative;z-index:2;padding:clamp(88px,9vw,138px) 0 44px;color:#fff}
.municipality-filter-intro{max-width:800px;margin-bottom:clamp(34px,4vw,54px)}
.municipality-filter-intro .eyebrow{color:#d9aeba}
.municipality-filter-intro h2{margin:10px 0 16px;color:#fff;font-size:clamp(2.35rem,4.6vw,4.7rem);line-height:1.02;letter-spacing:-.045em}
.municipality-filter-intro p{max-width:690px;margin:0;color:rgba(255,255,255,.64);font-size:clamp(.88rem,1.05vw,1rem);line-height:1.8}
.municipality-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:15px 0 28px;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.municipality-filter-options{display:flex;align-items:stretch;gap:9px;min-width:0;overflow-x:auto;padding:5px 2px 9px;scrollbar-width:none;scroll-snap-type:x proximity}
.municipality-filter-options::-webkit-scrollbar{display:none}
.municipality-filter-options button{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;flex:0 0 auto;min-height:58px;padding:10px 15px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:rgba(255,255,255,.045);color:rgba(255,255,255,.68);font:inherit;cursor:pointer;scroll-snap-align:start;transition:background .22s ease,border-color .22s ease,color .22s ease,transform .22s ease}
.municipality-filter-options button:hover{transform:translateY(-2px);border-color:rgba(231,170,184,.48);color:#fff;background:rgba(255,255,255,.075)}
.municipality-filter-options button.is-active{border-color:rgba(239,187,199,.55);background:#fff;color:#261419;box-shadow:0 14px 38px rgba(0,0,0,.24)}
.municipality-filter-options button>span{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:rgba(151,46,71,.16);color:#e5a7b6;font-size:.52rem;font-weight:900;letter-spacing:.08em}
.municipality-filter-options button.is-active>span{background:#972e47;color:#fff}
.municipality-filter-options button>strong{max-width:190px;font-size:.68rem;line-height:1.28;text-align:left}
.municipality-filter-options button>small{display:grid;place-items:center;min-width:25px;height:25px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.08);font-size:.54rem;font-weight:900}
.municipality-filter-options button.is-active>small{background:#f2e4e8;color:#972e47}
.municipality-filter-count{display:flex;align-items:baseline;gap:8px;flex:0 0 auto;color:rgba(255,255,255,.48);font-size:.58rem;font-weight:900;text-transform:uppercase;letter-spacing:.13em;white-space:nowrap}
.municipality-filter-count strong{font-family:var(--serif);font-size:1.5rem;color:#f1bdc9;letter-spacing:-.03em}

.municipality-results-section{position:relative;z-index:2;padding:clamp(54px,7vw,92px) 0 clamp(92px,10vw,150px);color:#fff}
.municipality-results-head{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:clamp(30px,4vw,52px)}
.municipality-results-head .eyebrow{color:#dba9b6}
.municipality-results-head h2{max-width:930px;margin:10px 0 12px;color:#fff;font-size:clamp(2.3rem,4.3vw,4.45rem);line-height:1.02;letter-spacing:-.045em}
.municipality-results-head p{margin:0;color:rgba(255,255,255,.56);font-size:.82rem}
.municipality-results-head p strong{color:#f1bdc9;font-size:1.08rem}
.municipality-results-link{display:inline-flex;align-items:center;gap:12px;flex:0 0 auto;padding:12px 16px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#fff;text-decoration:none;font-size:.64rem;font-weight:900;letter-spacing:.08em}
.municipality-results-link:hover{background:#fff;color:#261419}

.municipality-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(15px,1.5vw,24px)}
.municipality-card{display:grid;grid-template-rows:auto 1fr;min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.11);border-radius:27px;background:linear-gradient(180deg,rgba(31,27,31,.96),rgba(20,18,21,.98));color:#fff;text-decoration:none;box-shadow:0 22px 58px rgba(0,0,0,.24);transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
.municipality-card:hover,.municipality-card:focus-visible{transform:translateY(-5px);border-color:rgba(231,170,184,.43);box-shadow:0 32px 78px rgba(0,0,0,.35);outline:0}
.municipality-card[hidden]{display:none!important}
.municipality-card-media{position:relative;overflow:hidden;aspect-ratio:16/10;background:#21181d}
.municipality-card-media>img,.municipality-card-media>.image-placeholder,.municipality-card-media .listing-preview-local,.municipality-card-media .listing-preview-youtube{width:100%;height:100%;object-fit:cover}
.municipality-card-media>img{transition:transform .65s cubic-bezier(.2,.75,.2,1)}
.municipality-card:hover .municipality-card-media>img{transform:scale(1.045)}
.municipality-card-shade{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(15,9,12,.05),rgba(15,9,12,.12) 50%,rgba(15,9,12,.76) 100%);pointer-events:none}
.municipality-card-kind,.municipality-card-number{position:absolute;z-index:3;top:15px;display:inline-flex;align-items:center;min-height:29px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(17,10,13,.43);color:#fff;backdrop-filter:blur(12px);font-size:.51rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.municipality-card-kind{left:15px;padding:0 11px}.municipality-card-number{right:15px;padding:0 9px}
.municipality-card-copy{display:flex;flex-direction:column;min-height:290px;padding:21px 22px 23px}
.municipality-card-copy>small{display:block;margin-bottom:9px;color:#e4a8b7;font-size:.54rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;line-height:1.45}
.municipality-card-copy h3{margin:0 0 12px;color:#fff;font-size:clamp(1.25rem,1.6vw,1.78rem);line-height:1.12;letter-spacing:-.025em;text-wrap:balance}
.municipality-card.is-long-title .municipality-card-copy h3{font-size:clamp(1.1rem,1.35vw,1.52rem)}
.municipality-card.is-very-long-title .municipality-card-copy h3{font-size:clamp(1rem,1.16vw,1.3rem);line-height:1.16}
.municipality-card-copy>p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;margin:0;color:rgba(255,255,255,.55);font-size:.7rem;line-height:1.68}
.municipality-card-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.09)}
.municipality-card-meta>span{display:grid;align-content:start;gap:5px;min-width:0}
.municipality-card-meta small{color:rgba(255,255,255,.35);font-size:.46rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.municipality-card-meta strong{overflow:hidden;color:rgba(255,255,255,.85);font-size:.61rem;line-height:1.45;text-overflow:ellipsis}
.municipality-card-cta{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;padding-top:19px;color:#fff;font-size:.57rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.municipality-card-cta i{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#fff;color:#2d1620;font-style:normal;font-size:.85rem;transition:transform .24s ease,background .24s ease}
.municipality-card:hover .municipality-card-cta i{transform:rotate(45deg);background:#e5a7b6}

.municipality-grid-footer{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:34px;padding-top:24px;border-top:1px solid rgba(255,255,255,.11);color:rgba(255,255,255,.48);font-size:.58rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.municipality-load-more{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:46px;padding:10px 17px;border:1px solid rgba(255,255,255,.17);border-radius:999px;background:rgba(255,255,255,.04);color:#fff;font:inherit;font-size:.61rem;font-weight:900;cursor:pointer}
.municipality-load-more:hover{background:#fff;color:#261419}
.municipality-load-more[hidden]{display:none!important}
.municipality-empty{display:grid;place-items:center;min-height:360px;padding:55px 30px;text-align:center;border:1px dashed rgba(255,255,255,.16);border-radius:30px;background:rgba(255,255,255,.035)}
.municipality-empty[hidden]{display:none!important}
.municipality-empty>span{font-family:var(--serif);font-size:4rem;color:rgba(232,169,185,.42)}
.municipality-empty h3{margin:4px 0 10px;color:#fff;font-size:clamp(1.65rem,3vw,2.7rem)}
.municipality-empty p{max-width:520px;margin:0;color:rgba(255,255,255,.57);line-height:1.7}

body.municipality-archive-page .site-footer{border-top-color:rgba(255,255,255,.09);background:#09090b;color:#fff}
body.municipality-archive-page .site-footer p,body.municipality-archive-page .site-footer a,body.municipality-archive-page .footer-bottom{color:rgba(255,255,255,.6)}
body.municipality-archive-page .site-footer h3{color:#fff}

@media(max-width:1220px){
  .municipality-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .municipality-card-copy{min-height:275px}
}
@media(max-width:900px){
  .municipality-archive-hero{height:auto;min-height:650px}
  .municipality-filter-bar{align-items:flex-start;flex-direction:column}
  .municipality-filter-options{width:100%}
  .municipality-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .municipality-results-head{align-items:flex-start;flex-direction:column}
  .municipality-archive-orbit{display:none}
}
@media(max-width:620px){
  .municipality-archive-hero{min-height:620px}
  .municipality-filter-section{padding-top:72px;padding-bottom:26px}
  .municipality-filter-intro{margin-bottom:28px}
  .municipality-filter-intro h2{font-size:clamp(2.25rem,11vw,3.25rem)}
  .municipality-filter-bar{padding-bottom:20px}
  .municipality-filter-options{width:calc(100% + 15px);margin-right:-15px;padding-right:15px}
  .municipality-filter-options button{min-height:54px;padding:9px 12px;border-radius:16px}
  .municipality-filter-options button>strong{max-width:170px;font-size:.64rem}
  .municipality-filter-count{padding-left:2px}
  .municipality-results-section{padding-top:44px;padding-bottom:90px}
  .municipality-results-head{margin-bottom:28px}
  .municipality-results-head h2{font-size:clamp(2.15rem,10vw,3.1rem)}
  .municipality-results-link{width:100%;justify-content:space-between}
  .municipality-card-grid{grid-template-columns:1fr;gap:16px}
  .municipality-card{border-radius:24px}
  .municipality-card-media{aspect-ratio:16/9}
  .municipality-card-copy{min-height:0;padding:20px}
  .municipality-card-copy h3,.municipality-card.is-long-title .municipality-card-copy h3,.municipality-card.is-very-long-title .municipality-card-copy h3{font-size:clamp(1.35rem,7vw,1.85rem)}
  .municipality-card-copy>p{-webkit-line-clamp:3;font-size:.73rem}
  .municipality-grid-footer{align-items:flex-start;flex-direction:column}
  .municipality-load-more{width:100%}
}

/* =========================================================
   HERO ARCHIVI EXPERIENCE / EVENTI — V70
   Titoli più contenuti e leggibili su ogni formato.
   ========================================================= */
.municipality-archive-hero .explore-hero-copy{
  max-width:760px;
}
.municipality-archive-hero .explore-hero h1,
.municipality-archive-hero h1{
  max-width:760px;
  font-size:clamp(2.85rem,4.55vw,5.05rem);
  line-height:1.035;
  letter-spacing:-.022em;
  text-wrap:balance;
}

@media(max-width:1100px){
  .municipality-archive-hero .explore-hero-copy{max-width:680px}
  .municipality-archive-hero .explore-hero h1,
  .municipality-archive-hero h1{
    max-width:680px;
    font-size:clamp(2.65rem,5.7vw,4.25rem);
  }
}

@media(max-width:760px){
  .municipality-archive-hero .explore-hero-copy{max-width:100%}
  .municipality-archive-hero .explore-hero h1,
  .municipality-archive-hero h1{
    max-width:100%;
    font-size:clamp(2.25rem,10.4vw,3.35rem);
    line-height:1.045;
    letter-spacing:-.014em;
  }
}

@media(max-width:420px){
  .municipality-archive-hero .explore-hero h1,
  .municipality-archive-hero h1{
    font-size:clamp(2.05rem,9.8vw,2.8rem);
  }
}

/* =========================================================
   EVENTI IN VIDEO + ARCHIVIO PASSATO — V72
   ========================================================= */
.event-video-section,
.event-past-section{position:relative;z-index:2;color:#fff}
.event-video-section{padding:clamp(68px,8vw,116px) 0 clamp(78px,9vw,132px);border-top:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(151,46,71,.08),rgba(0,0,0,.02))}
.event-video-section[hidden],.event-past-section[hidden],.event-video-card[hidden],.event-past-group[hidden]{display:none!important}
.event-video-head{display:flex;align-items:flex-end;justify-content:space-between;gap:34px;margin-bottom:34px}
.event-video-head>div:first-child{max-width:760px}
.event-video-head h2,.event-past-head h2{margin:9px 0 12px;color:#fff;font-size:clamp(2.15rem,4.1vw,4.25rem);line-height:1.02;letter-spacing:-.04em}
.event-video-head p,.event-past-head p{max-width:690px;margin:0;color:rgba(255,255,255,.59);font-size:.82rem;line-height:1.78}
.event-video-actions{display:flex;gap:8px}
.event-video-actions button{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(255,255,255,.04);color:#fff;font:inherit;font-size:1.08rem;cursor:pointer}
.event-video-actions button:hover{background:#fff;color:#2a1720}
.event-video-viewport{overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 max(20px,calc((100vw - min(100% - 40px,1480px))/2));outline:0}
.event-video-viewport::-webkit-scrollbar{display:none}
.event-video-track{display:flex;align-items:flex-start;gap:clamp(15px,1.6vw,24px);width:max-content}
.event-video-card{display:block;flex:0 0 clamp(220px,20vw,310px);color:#fff;text-decoration:none;scroll-snap-align:start}
.event-video-card-media{position:relative;overflow:hidden;aspect-ratio:9/16;border:1px solid rgba(255,255,255,.13);border-radius:28px;background:#151116;box-shadow:0 24px 64px rgba(0,0,0,.34)}
.event-video-card-media>img,.event-video-card-media>.image-placeholder,.event-video-card-media .listing-preview-local,.event-video-card-media .listing-preview-youtube{width:100%;height:100%;object-fit:cover}
.event-video-card-media video,.event-video-card-media iframe,.event-video-card-media .listing-preview-poster{width:100%;height:100%;object-fit:cover}
.event-video-card-media::after{content:"";position:absolute;inset:0;z-index:3;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.04) 58%,rgba(0,0,0,.52));pointer-events:none}
.event-video-card-index,.event-video-card-open{position:absolute;z-index:4;top:14px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.24);background:rgba(10,8,10,.35);backdrop-filter:blur(10px);color:#fff}
.event-video-card-index{left:14px;min-width:34px;height:30px;padding:0 8px;border-radius:999px;font-size:.52rem;font-weight:900;letter-spacing:.1em}
.event-video-card-open{right:14px;width:34px;height:34px;border-radius:50%;font-size:.82rem;transition:transform .25s ease,background .25s ease,color .25s ease}
.event-video-card:hover .event-video-card-open{transform:rotate(45deg);background:#fff;color:#2d1720}
.event-video-card-copy{padding:18px 4px 0}
.event-video-card-copy h3{margin:0;color:#fff;font-size:clamp(1.08rem,1.55vw,1.48rem);line-height:1.16;letter-spacing:-.025em}
.event-video-card-copy p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin:8px 0 0;color:rgba(255,255,255,.54);font-size:.69rem;line-height:1.62}
.event-video-card-copy>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.event-video-card-copy>div span{padding:7px 9px;border:1px solid rgba(255,255,255,.11);border-radius:999px;color:#e5b0bd;font-size:.51rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.event-video-footer{display:flex;align-items:center;gap:18px;margin-top:26px}
.event-video-progress{flex:1;height:2px;background:rgba(255,255,255,.1)}
.event-video-progress span{display:block;width:12%;height:100%;background:#e6a9b8;transition:width .18s linear}
.event-video-footer small{color:rgba(255,255,255,.45);font-size:.55rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.event-video-footer strong{color:#f0bdc9}

.event-past-section{padding:clamp(74px,8vw,124px) 0 clamp(100px,11vw,170px);border-top:1px solid rgba(255,255,255,.09);background:rgba(4,4,6,.18)}
.event-past-head{max-width:780px;margin-bottom:clamp(38px,5vw,66px)}
.event-past-groups{display:grid;gap:clamp(54px,6vw,88px)}
.event-past-group>header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.12)}
.event-past-group>header>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(151,46,71,.25);color:#efb5c3;font-size:.55rem;font-weight:900;letter-spacing:.1em}
.event-past-group>header h3{margin:0;color:#fff;font-size:clamp(1.45rem,2.4vw,2.3rem);letter-spacing:-.03em}
.event-past-group>header small{color:rgba(255,255,255,.42);font-size:.54rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.event-past-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.event-past-card{display:grid;grid-template-columns:132px minmax(0,1fr);min-height:132px;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:22px;background:rgba(255,255,255,.035);color:#fff;text-decoration:none}
.event-past-card-media{overflow:hidden;background:#20181d}
.event-past-card-media>img,.event-past-card-media>.image-placeholder,.event-past-card-media .listing-preview-local,.event-past-card-media .listing-preview-youtube{width:100%;height:100%;object-fit:cover}
.event-past-card-copy{display:flex;flex-direction:column;padding:17px}
.event-past-card-copy small{color:#dda4b2;font-size:.5rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;line-height:1.45}
.event-past-card-copy h4{margin:8px 0 12px;color:#fff;font-size:1rem;line-height:1.2;letter-spacing:-.02em}
.event-past-card-copy span{margin-top:auto;color:rgba(255,255,255,.58);font-size:.52rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em}
.event-past-card:hover{border-color:rgba(230,169,184,.38);background:rgba(255,255,255,.055)}

/* Single evento composto soltanto dal video verticale. */
.is-video-reel-event .experience-feature-wrap{width:min(100% - 40px,1180px)}
.is-video-reel-event .experience-feature-copy{max-width:920px}
.is-video-reel-event .event-reel-feature-media{display:grid;place-items:center;min-height:0;aspect-ratio:auto;padding:clamp(20px,3vw,42px);background:rgba(8,7,9,.28)}
.event-reel-feature-video-shell{position:relative;display:block;overflow:hidden;width:min(100%,520px);aspect-ratio:9/16;border:1px solid rgba(255,255,255,.16);border-radius:30px;background:#0d0b0e;box-shadow:0 36px 90px rgba(0,0,0,.42)}
.event-reel-feature-video-shell video,.event-reel-feature-video-shell iframe,.event-reel-feature-video-shell>img{width:100%;height:100%;object-fit:cover;border:0;pointer-events:none}
.event-reel-feature-video-shell.is-playable video,.event-reel-feature-video-shell.is-playable iframe{pointer-events:auto}
.event-reel-feature-video-shell.is-playable video{background:#0d0b0e}
.event-reel-feature-video-shell .listing-preview-poster{position:absolute;inset:0;z-index:2}

/* =========================================================
   DASHBOARD · IMPORTAZIONE EVENTI VIDEO — V72
   ========================================================= */
.event-video-import-guide code{display:block;overflow:auto;margin:18px 0;padding:14px 16px;border-radius:12px;background:rgba(0,0,0,.08);font-size:.72rem}
.event-video-import-guide ol{margin:18px 0 0;padding-left:22px;color:var(--muted);line-height:1.7}
.event-video-empty{display:grid;place-items:center;min-height:280px;text-align:center}
.event-video-empty>span{font-size:3rem;color:var(--brand)}
.event-video-empty h2{margin:4px 0 8px}
.event-video-empty p{max-width:620px;margin:0;color:var(--muted)}
.event-video-import-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}
.event-video-import-toolbar>div{display:flex;align-items:baseline;gap:10px}
.event-video-import-toolbar strong{font-size:1.8rem;color:var(--brand)}
.event-video-import-toolbar span{color:var(--muted);font-size:.72rem}
.event-video-import-toolbar.is-bottom{margin-top:20px;margin-bottom:0}
.event-video-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.event-video-admin-card{position:relative;margin:0;padding:16px}
.event-video-select{position:absolute;z-index:4;top:27px;left:27px;display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:rgba(17,12,15,.78);color:#fff;font-size:.65rem;font-weight:900;backdrop-filter:blur(10px)}
.event-video-select input{margin:0}
.event-video-admin-preview{overflow:hidden;aspect-ratio:9/16;border-radius:18px;background:#151116}
.event-video-admin-preview video{width:100%;height:100%;object-fit:cover;background:#151116}
.event-video-admin-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 2px 4px}
.event-video-admin-meta small{overflow:hidden;max-width:75%;color:var(--muted);font-size:.58rem;text-overflow:ellipsis;white-space:nowrap}
.event-video-admin-meta strong{font-size:.6rem}
.event-video-fields{margin-top:12px}

@media(max-width:1100px){
  .event-past-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .event-video-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .event-video-head{align-items:flex-start;flex-direction:column}
  .event-video-actions{align-self:flex-end}
  .event-video-card{flex-basis:min(76vw,290px)}
  .event-past-grid{grid-template-columns:1fr}
  .event-past-card{grid-template-columns:112px minmax(0,1fr)}
  .event-past-group>header{grid-template-columns:auto 1fr}
  .event-past-group>header small{grid-column:2}
  .is-video-reel-event .experience-feature-wrap{width:min(100% - 24px,1180px)}
  .is-video-reel-event .event-reel-feature-media{padding:16px;border-radius:20px}
  .event-reel-feature-video-shell{width:min(100%,410px);border-radius:22px}
  .event-video-admin-grid{grid-template-columns:1fr}
  .event-video-import-toolbar{align-items:stretch;flex-direction:column}
  .event-video-import-toolbar .btn{width:100%}
}

/* V73 · Accesso evidente all'importazione dei video evento */
.admin-event-video-shortcut{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;margin:0 0 22px;border:1px solid rgba(151,46,71,.22);border-radius:16px;background:rgba(151,46,71,.055)}
.admin-event-video-shortcut div{display:grid;gap:4px}.admin-event-video-shortcut strong{font-size:15px}.admin-event-video-shortcut small{color:var(--muted,#6f6965);line-height:1.45}
@media(max-width:720px){.admin-event-video-shortcut{align-items:stretch;flex-direction:column}.admin-event-video-shortcut .btn{width:100%;justify-content:center}}

/* =========================================================
   V75 · STORIE VIDEO EVENTI
   Le importazioni verticali diventano Storie, senza single.
   ========================================================= */
.event-archive-page .municipality-filter-section.is-first-section{
  padding-top:clamp(48px,5.5vw,82px);
  padding-bottom:34px;
}
.event-archive-page .municipality-results-section{
  padding-top:clamp(58px,6vw,88px);
}

.event-story-section{
  position:relative;
  z-index:3;
  padding:clamp(42px,5vw,74px) 0 clamp(60px,7vw,104px);
  border-top:1px solid rgba(255,255,255,.1);
  border-bottom:1px solid rgba(255,255,255,.1);
  background:
    radial-gradient(circle at 15% 20%,rgba(151,46,71,.25),transparent 28%),
    linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.012));
  color:#fff;
}
.event-story-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:32px;
  margin-bottom:clamp(28px,3.5vw,48px);
}
.event-story-head>div{max-width:760px}
.event-story-head .eyebrow{color:#dda9b6}
.event-story-head h2{
  margin:9px 0 13px;
  color:#fff;
  font-size:clamp(2rem,3.8vw,3.8rem);
  line-height:1.03;
  letter-spacing:-.04em;
}
.event-story-head p{
  max-width:680px;
  margin:0;
  color:rgba(255,255,255,.6);
  font-size:.82rem;
  line-height:1.78;
}
.event-story-head>span{
  display:flex;
  align-items:baseline;
  gap:8px;
  flex:0 0 auto;
  color:rgba(255,255,255,.45);
  font-size:.57rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.event-story-head>span strong{color:#efb5c3;font-family:var(--serif);font-size:1.6rem;letter-spacing:-.03em}
.event-story-rail{
  display:flex;
  gap:clamp(15px,1.6vw,24px);
  overflow-x:auto;
  padding:4px 3px 18px;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
}
.event-story-rail::-webkit-scrollbar{display:none}
.event-story-card{
  display:grid;
  align-content:start;
  gap:14px;
  flex:0 0 clamp(150px,15vw,218px);
  min-width:0;
  padding:0;
  border:0;
  background:transparent;
  color:#fff;
  font:inherit;
  text-align:left;
  cursor:pointer;
  scroll-snap-align:start;
}
.event-story-card-ring{
  display:block;
  padding:3px;
  border-radius:26px;
  background:linear-gradient(145deg,#f2c1cc 0%,#972e47 46%,#d18f57 100%);
  box-shadow:0 20px 48px rgba(0,0,0,.26);
}
.event-story-card.is-seen .event-story-card-ring{background:rgba(255,255,255,.2)}
.event-story-card-media{
  position:relative;
  display:block;
  overflow:hidden;
  aspect-ratio:9/16;
  border:3px solid #151116;
  border-radius:23px;
  background:#171217;
}
.event-story-card-media img,.event-story-card-placeholder{display:block;width:100%;height:100%;object-fit:cover}
.event-story-card-placeholder{background:linear-gradient(145deg,#291820,#121014)}
.event-story-card-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 46%,rgba(0,0,0,.5));
  pointer-events:none;
}
.event-story-card-media i{
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border:1px solid rgba(255,255,255,.44);
  border-radius:50%;
  background:rgba(11,9,11,.34);
  color:#fff;
  font-style:normal;
  font-size:.8rem;
  transform:translate(-50%,-50%);
  backdrop-filter:blur(10px);
}
.event-story-card-copy{display:grid;gap:6px;padding:0 3px}
.event-story-card-copy strong{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  color:#fff;
  font-size:.82rem;
  line-height:1.3;
  letter-spacing:-.015em;
}
.event-story-card-copy small{
  overflow:hidden;
  color:rgba(255,255,255,.5);
  font-size:.52rem;
  line-height:1.45;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.event-story-card:hover .event-story-card-media img{transform:scale(1.035)}
.event-story-card-media img{transition:transform .35s ease}

html.has-story-viewer,html.has-story-viewer body{overflow:hidden}
.event-story-viewer{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:18px;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
}
.event-story-viewer[hidden]{display:none!important}
.event-story-viewer.is-open{opacity:1;pointer-events:auto}
.event-story-viewer-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.93);backdrop-filter:blur(18px)}
.event-story-viewer-shell{
  position:relative;
  z-index:2;
  width:min(100%,520px);
  height:min(calc(100svh - 36px),900px);
  min-height:520px;
}
.event-story-stage{
  position:absolute;
  inset:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  border-radius:28px;
  background:#080708;
  box-shadow:0 38px 110px rgba(0,0,0,.55);
}
.event-story-stage video{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#080708;
  outline:0;
  -webkit-user-select:none;
  user-select:none;
}
.event-story-stage video::-webkit-media-controls,
.event-story-stage video::-webkit-media-controls-enclosure,
.event-story-stage video::-webkit-media-controls-panel,
.event-story-stage video::-webkit-media-controls-start-playback-button{display:none!important;opacity:0!important}
.event-story-overlay{
  position:absolute;
  z-index:5;
  left:0;
  right:0;
  bottom:0;
  padding:96px 28px 28px;
  color:#fff;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.78));
  pointer-events:none;
}
.event-story-overlay small{display:block;margin-bottom:8px;color:#f1bdc9;font-size:.56rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.event-story-overlay h3{margin:0;color:#fff;font-size:clamp(1.3rem,3vw,2rem);line-height:1.08;letter-spacing:-.025em}
.event-story-overlay p{margin:10px 0 0;color:rgba(255,255,255,.72);font-size:.72rem;line-height:1.55}
.event-story-progress{
  position:absolute;
  z-index:12;
  top:13px;
  left:14px;
  right:14px;
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:1fr;
  gap:5px;
}
.event-story-progress i{display:block;overflow:hidden;height:3px;border-radius:999px;background:rgba(255,255,255,.28)}
.event-story-progress i span{display:block;width:0;height:100%;background:#fff}
.event-story-close,.event-story-nav,.event-story-retry{
  position:absolute;
  z-index:14;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(14,12,14,.48);
  color:#fff;
  font:inherit;
  cursor:pointer;
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
.event-story-close{top:30px;right:18px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;font-size:1.5rem;line-height:1}
.event-story-nav{top:50%;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;font-size:2rem;transform:translateY(-50%)}
.event-story-nav.is-prev{left:-70px}.event-story-nav.is-next{right:-70px}
.event-story-retry{left:50%;top:50%;padding:12px 18px;border-radius:999px;font-size:.68rem;font-weight:900;transform:translate(-50%,-50%)}
.event-story-tap{display:none}

.imported-story-manager{margin:24px 0}
.imported-story-list{display:grid;gap:12px;margin-top:20px}
.imported-story-row{
  display:grid;
  grid-template-columns:84px minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  padding:12px;
  border:1px solid var(--line,#e2ded9);
  border-radius:16px;
  background:rgba(255,255,255,.52);
}
.imported-story-thumb{overflow:hidden;width:84px;aspect-ratio:9/16;border-radius:12px;background:#171217}
.imported-story-thumb video,.imported-story-thumb img{width:100%;height:100%;object-fit:cover}
.imported-story-thumb>span{display:grid;place-items:center;width:100%;height:100%;color:#fff}
.imported-story-copy{display:grid;justify-items:start;gap:6px;min-width:0}
.imported-story-copy small{color:var(--muted);font-size:.62rem}
.imported-story-copy strong{overflow:hidden;max-width:100%;font-size:.92rem;text-overflow:ellipsis;white-space:nowrap}
.imported-story-actions{display:flex;align-items:center;gap:8px}
.imported-story-actions form{margin:0}
.btn-danger{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border:1px solid #a22e3f;border-radius:12px;background:#a22e3f;color:#fff;font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}
.btn-danger:hover{background:#7f1f2e;border-color:#7f1f2e}

@media(max-width:760px){
  .event-archive-page .municipality-filter-section.is-first-section{padding-top:34px;padding-bottom:22px}
  .event-story-section{padding:36px 0 56px}
  .event-story-head{align-items:flex-start;flex-direction:column;gap:18px}
  .event-story-head h2{font-size:clamp(1.85rem,9vw,2.75rem)}
  .event-story-card{flex-basis:min(52vw,190px)}
  .event-story-viewer{padding:0}
  .event-story-viewer-shell{width:100%;height:100svh;min-height:0}
  .event-story-stage{border:0;border-radius:0}
  .event-story-progress{top:max(11px,env(safe-area-inset-top));left:10px;right:10px}
  .event-story-close{top:max(27px,calc(env(safe-area-inset-top) + 16px));right:12px}
  .event-story-nav{display:none}
  .event-story-tap{position:absolute;z-index:8;top:72px;bottom:0;display:block;width:31%;border:0;background:transparent}
  .event-story-tap.is-left{left:0}.event-story-tap.is-right{right:0}
  .event-story-overlay{padding:88px 20px calc(24px + env(safe-area-inset-bottom))}
  .imported-story-row{grid-template-columns:68px minmax(0,1fr)}
  .imported-story-thumb{width:68px}
  .imported-story-actions{grid-column:1/-1;justify-content:flex-end;width:100%}
}
html.has-story-viewer .municipality-archive{z-index:10000;overflow:visible}
.admin-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;white-space:nowrap}.admin-row-actions form{margin:0}.row-delete{padding:0;border:0;background:transparent;color:#a22e3f;font:inherit;font-size:.68rem;font-weight:800;cursor:pointer}.row-delete:hover{text-decoration:underline}

/* V76 · Gestione Storie e stato pubblico sempre esplicito */
.story-admin-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:24px}
.story-admin-panel{display:grid;gap:24px}
.story-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.story-admin-card{display:grid;grid-template-rows:auto 1fr auto;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:0 16px 42px rgba(28,17,21,.08)}
.story-admin-media{position:relative;aspect-ratio:9/12;overflow:hidden;background:#171116}
.story-admin-media video,.story-admin-media img{display:block;width:100%;height:100%;object-fit:cover}
.story-admin-media>span:not(.status-badge){display:grid;width:100%;height:100%;place-items:center;color:#fff;font-size:3rem}
.story-admin-media .status-badge{position:absolute;top:14px;right:14px;z-index:2}
.story-admin-copy{display:grid;align-content:start;gap:9px;padding:20px 20px 10px}
.story-admin-copy small{color:var(--muted);font-size:.76rem;letter-spacing:.04em;text-transform:uppercase}
.story-admin-copy h3{margin:0;font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.35}
.story-admin-copy p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.6}
.story-admin-actions{display:flex;flex-wrap:wrap;gap:9px;padding:18px 20px 20px}
.story-admin-actions form{display:inline-flex;margin:0}
.story-admin-actions .btn{min-height:40px;padding:9px 13px;font-size:.78rem}
.story-admin-empty{display:grid;justify-items:start;gap:12px;padding:36px}
.story-admin-empty>span{font-family:var(--serif);font-size:2rem;color:var(--accent)}
.story-admin-empty h2,.story-admin-empty p{margin:0}
.event-story-empty{display:flex;align-items:center;gap:20px;min-height:150px;padding:28px 30px;border:1px solid rgba(255,255,255,.16);border-radius:22px;background:rgba(255,255,255,.07);color:#fff}
.event-story-empty>span{display:grid;flex:0 0 64px;width:64px;height:64px;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:50%;font-family:var(--serif);font-size:1.25rem;color:#efb5c3}
.event-story-empty strong{display:block;margin-bottom:5px;font-family:var(--serif);font-size:1.15rem}
.event-story-empty p{margin:0;color:rgba(255,255,255,.68);line-height:1.6}
@media(max-width:1180px){.story-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.story-admin-stats{grid-template-columns:1fr}.story-admin-grid{grid-template-columns:1fr}.story-admin-media{aspect-ratio:9/11}.event-story-empty{align-items:flex-start;padding:22px}.event-story-empty>span{flex-basis:52px;width:52px;height:52px}}

/* =========================================================
   V77 · STORIE PRIMA DEI FILTRI + HOMEPAGE
   Copertine estratte dai video, carosello desktop e cerchi
   stile Instagram su mobile.
   ========================================================= */
.event-story-section--archive{
  border-top:0;
  padding-top:clamp(54px,6vw,90px);
}
.event-story-section--home{
  margin:0;
  border-top:0;
  padding-top:clamp(52px,6vw,86px);
  padding-bottom:clamp(58px,7vw,96px);
  background:
    radial-gradient(circle at 16% 24%,rgba(151,46,71,.32),transparent 30%),
    radial-gradient(circle at 88% 78%,rgba(145,96,55,.16),transparent 28%),
    linear-gradient(145deg,#111014,#1a1418 54%,#0b0b0d);
}
.event-story-head--minimal{
  align-items:center;
  margin-bottom:clamp(24px,3vw,38px);
}
.event-story-head--minimal h2{
  margin:0;
  color:#fff;
  font-size:clamp(1.75rem,2.8vw,3rem);
  line-height:1.05;
  letter-spacing:-.035em;
}
.event-story-actions{
  display:flex;
  align-items:center;
  gap:9px;
  flex:0 0 auto;
}
.event-story-actions button{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  background:rgba(255,255,255,.045);
  color:#fff;
  font:inherit;
  font-size:1rem;
  cursor:pointer;
}
.event-story-actions button:hover,
.event-story-actions button:focus-visible{
  background:#fff;
  color:#28151d;
  outline:0;
}
.event-story-card-frame{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  pointer-events:none;
}
.event-story-card-frame::-webkit-media-controls,
.event-story-card-frame::-webkit-media-controls-enclosure,
.event-story-card-frame::-webkit-media-controls-panel,
.event-story-card-frame::-webkit-media-controls-start-playback-button{
  display:none!important;
  opacity:0!important;
}
.event-archive-page .municipality-filter-section.is-after-stories{
  padding-top:clamp(58px,6.5vw,92px);
}
.home-page .event-story-viewer{z-index:10050}

@media(max-width:760px){
  .event-story-section--archive,
  .event-story-section--home{
    padding-top:34px;
    padding-bottom:42px;
  }
  .event-story-head--minimal{
    flex-direction:row;
    align-items:center;
    gap:16px;
    margin-bottom:20px;
  }
  .event-story-head--minimal h2{
    font-size:clamp(1.38rem,6.6vw,1.9rem);
  }
  .event-story-actions{display:none}
  .event-story-rail{
    gap:14px;
    margin-inline:-2px;
    padding:3px 2px 10px;
    scroll-padding-inline:2px;
  }
  .event-story-card{
    flex:0 0 86px;
    gap:8px;
    text-align:center;
  }
  .event-story-card-ring{
    padding:3px;
    border-radius:50%;
    box-shadow:0 12px 28px rgba(0,0,0,.24);
  }
  .event-story-card-media{
    aspect-ratio:1;
    border-width:3px;
    border-radius:50%;
  }
  .event-story-card-media::after{
    background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.32));
  }
  .event-story-card-media i{
    width:29px;
    height:29px;
    font-size:.56rem;
  }
  .event-story-card-copy{
    gap:0;
    padding:0;
    text-align:center;
  }
  .event-story-card-copy strong{
    display:block;
    overflow:hidden;
    font-size:.62rem;
    line-height:1.25;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .event-story-card-copy small{display:none}
  .event-archive-page .municipality-filter-section.is-after-stories{
    padding-top:36px;
  }
}

/* =========================================================
   V79 · FOOTER ISTITUZIONALE DEFINITIVO
   Colore originale #2b2c46, struttura tech/editoriale,
   contenuti FSC completi e partner Cristoforo.
   ========================================================= */
.vv-site-footer{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:0;
  border-top:1px solid rgba(255,255,255,.12);
  background:#2b2c46;
  color:#fff;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;
  font-feature-settings:"kern" 1,"liga" 1;
}
.vv-site-footer::before{
  content:"";
  position:absolute;
  z-index:-2;
  inset:0;
  background:
    radial-gradient(circle at 12% 8%,rgba(255,255,255,.075),transparent 25%),
    radial-gradient(circle at 92% 42%,rgba(151,46,71,.15),transparent 31%),
    linear-gradient(180deg,rgba(255,255,255,.018),transparent 34%);
  pointer-events:none;
}
.vv-site-footer::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  opacity:.18;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 58%);
  mask-image:linear-gradient(180deg,#000,transparent 58%);
  pointer-events:none;
}
.vv-footer-shell{padding-top:clamp(70px,8vw,112px)}
.vv-footer-top{
  display:grid;
  grid-template-columns:minmax(230px,.82fr) minmax(0,2.18fr);
  gap:clamp(54px,8vw,132px);
  padding-bottom:clamp(62px,7vw,94px);
}
.vv-footer-identity{display:flex;align-items:flex-start;flex-direction:column}
.vv-footer-identity .footer-brand{display:inline-flex;margin:0 0 22px}
.vv-footer-identity .footer-logo{width:auto;height:72px;max-width:260px}
.vv-footer-privacy{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:rgba(255,255,255,.72);
  font-size:.75rem;
  font-weight:700;
  text-decoration:none;
  transition:color .22s ease;
}
.vv-footer-privacy span{font-size:.92rem;transition:transform .22s ease}
.vv-footer-privacy:hover{color:#fff}
.vv-footer-privacy:hover span{transform:translate(2px,-2px)}
.vv-footer-socials{display:flex;gap:9px;margin-top:24px}
.vv-footer-socials a{
  display:grid;
  width:40px;
  height:40px;
  place-items:center;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
  background:rgba(255,255,255,.045);
  color:#fff;
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  transition:background .22s ease,border-color .22s ease,transform .22s ease;
}
.vv-footer-socials a:hover{border-color:rgba(255,255,255,.55);background:#fff;color:#2b2c46;transform:translateY(-2px)}
.vv-footer-socials svg{width:17px;height:17px;fill:currentColor}
.vv-footer-navigation{display:grid;grid-template-columns:1.25fr .9fr .9fr;gap:clamp(30px,5vw,86px)}
.vv-footer-column{display:flex;align-items:flex-start;flex-direction:column;gap:11px;min-width:0}
.vv-footer-column h3{
  margin:0 0 12px;
  color:#fff;
  font-family:inherit;
  font-size:.67rem;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.vv-footer-column a{
  position:relative;
  color:rgba(255,255,255,.66);
  font-size:.84rem;
  line-height:1.45;
  text-decoration:none;
  transition:color .2s ease,transform .2s ease;
}
.vv-footer-column a:hover{color:#fff;transform:translateX(3px)}
.vv-footer-column .vv-footer-map-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:12px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.13);
  color:#fff;
  font-weight:800;
}
.vv-footer-map-link span{color:#efb5c3;transition:transform .2s ease}
.vv-footer-map-link:hover span{transform:translate(2px,-2px)}
.vv-footer-funding{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.3);
  border-radius:30px;
  background:rgba(255,255,255,.965);
  color:#202133;
  box-shadow:0 38px 90px rgba(7,8,24,.27);
}
.vv-footer-funding-head{
  display:grid;
  grid-template-columns:minmax(220px,.75fr) minmax(0,2.25fr);
  align-items:end;
  gap:35px;
  padding:30px 34px 27px;
  border-bottom:1px solid rgba(32,33,51,.12);
}
.vv-footer-funding-head span{
  color:#797b8d;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.16em;
  line-height:1.5;
  text-transform:uppercase;
}
.vv-footer-funding-head h2{
  margin:0;
  color:#202133;
  font-family:inherit;
  font-size:clamp(1.35rem,2vw,2rem);
  font-weight:800;
  letter-spacing:-.025em;
  line-height:1.15;
}
.vv-footer-funding-copy{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);
  gap:clamp(34px,5vw,78px);
  padding:clamp(30px,4vw,48px) 34px 28px;
}
.vv-footer-funding-copy p,.vv-footer-funding-copy li{color:#4d4f60;font-size:.83rem;line-height:1.62}
.vv-footer-funding-copy p{margin:0 0 12px}
.vv-footer-funding-copy p:last-child{margin-bottom:0}
.vv-footer-funding-actions h3{
  margin:0 0 13px;
  color:#202133;
  font-family:inherit;
  font-size:.77rem;
  font-weight:900;
  letter-spacing:.02em;
}
.vv-footer-funding-actions ul{display:grid;gap:9px;margin:0;padding-left:19px}
.vv-footer-funding-actions li::marker{color:#972e47}
.vv-footer-funding-logos{
  display:grid;
  grid-template-columns:1.2fr 1fr 1.35fr .56fr;
  align-items:center;
  gap:clamp(24px,5vw,76px);
  min-height:126px;
  padding:25px 34px 28px;
  border-top:1px solid rgba(32,33,51,.1);
  background:rgba(245,245,248,.72);
}
.vv-footer-funding-logos img{display:block;width:100%;max-width:230px;max-height:64px;margin:auto;object-fit:contain}
.vv-footer-funding-logos img:last-child{max-width:70px;max-height:72px}
.vv-footer-institutional{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) auto;
  align-items:center;
  gap:50px;
  padding:clamp(44px,5vw,72px) 0 36px;
}
.vv-footer-institutional>p{max-width:760px;margin:0;color:rgba(255,255,255,.68);font-size:.78rem;line-height:1.65}
.vv-footer-partner{display:grid;grid-template-columns:auto auto;align-items:center;gap:18px}
.vv-footer-partner span{
  color:rgba(255,255,255,.48);
  font-size:.55rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.vv-footer-partner img{display:block;width:116px;max-height:48px;object-fit:contain;opacity:.92}
.vv-footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:20px 0 25px;
  border-top:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.4);
  font-size:.65rem;
  letter-spacing:.02em;
}
.vv-footer-bottom a{color:inherit;text-decoration:none}.vv-footer-bottom a:hover{color:#fff}
body.municipality-archive-page .vv-site-footer{border-top-color:rgba(255,255,255,.12);background:#2b2c46;color:#fff}
body.municipality-archive-page .vv-footer-privacy{color:rgba(255,255,255,.72)}
body.municipality-archive-page .vv-footer-socials a{color:#fff}
body.municipality-archive-page .vv-footer-column a{color:rgba(255,255,255,.66)}
body.municipality-archive-page .vv-footer-column .vv-footer-map-link{color:#fff}
body.municipality-archive-page .vv-footer-funding-copy p,body.municipality-archive-page .vv-footer-funding-copy li{color:#4d4f60}
body.municipality-archive-page .vv-footer-funding-head h2,body.municipality-archive-page .vv-footer-funding-actions h3{color:#202133}
body.municipality-archive-page .vv-footer-institutional>p{color:rgba(255,255,255,.68)}
body.municipality-archive-page .vv-footer-bottom,body.municipality-archive-page .vv-footer-bottom a{color:rgba(255,255,255,.4)}

@media(max-width:1100px){
  .vv-footer-top{grid-template-columns:1fr;gap:48px}
  .vv-footer-identity{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px 28px}
  .vv-footer-identity .footer-brand{grid-row:1/3;margin:0}
  .vv-footer-socials{grid-column:2;margin:0}
  .vv-footer-navigation{grid-template-columns:repeat(3,minmax(0,1fr))}
  .vv-footer-funding-head{grid-template-columns:1fr;gap:10px}
  .vv-footer-funding-copy{grid-template-columns:1fr;gap:28px}
}
@media(max-width:760px){
  .vv-footer-shell{padding-top:58px}
  .vv-footer-top{gap:44px;padding-bottom:54px}
  .vv-footer-identity{display:flex;align-items:flex-start}
  .vv-footer-identity .footer-brand{margin-bottom:18px}
  .vv-footer-identity .footer-logo{height:64px;max-width:230px}
  .vv-footer-socials{margin-top:20px}
  .vv-footer-navigation{grid-template-columns:1fr 1fr;gap:40px 24px}
  .vv-footer-column:first-child{grid-column:1/-1}
  .vv-footer-funding{border-radius:24px}
  .vv-footer-funding-head{padding:25px 23px 22px}
  .vv-footer-funding-copy{padding:27px 23px 22px}
  .vv-footer-funding-copy p,.vv-footer-funding-copy li{font-size:.79rem}
  .vv-footer-funding-logos{grid-template-columns:1fr 1fr;gap:30px 24px;padding:28px 23px;min-height:0}
  .vv-footer-funding-logos img{max-width:180px;max-height:56px}
  .vv-footer-funding-logos img:last-child{max-width:62px;max-height:64px}
  .vv-footer-institutional{grid-template-columns:1fr;gap:28px;padding:42px 0 30px}
  .vv-footer-partner{justify-content:start}
}
@media(max-width:480px){
  .vv-footer-navigation{grid-template-columns:1fr;gap:34px}
  .vv-footer-column:first-child{grid-column:auto}
  .vv-footer-funding-head h2{font-size:1.35rem}
  .vv-footer-funding-logos{grid-template-columns:1fr;gap:25px}
  .vv-footer-funding-logos img{max-width:210px}
  .vv-footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}
}

/* =========================================================
   V81 — Pagine Organizza editoriali e Trova ripulito
   ========================================================= */
.organize-detail-hero{
  min-height:clamp(560px,72vh,760px);
}
.organize-detail-hero .detail-hero-content{
  padding-bottom:clamp(72px,8vw,112px);
}
.organize-detail-hero h1{
  max-width:980px;
  margin:12px 0 20px;
  font-size:clamp(3.15rem,6.2vw,6.25rem);
  line-height:.98;
  letter-spacing:-.038em;
  text-wrap:balance;
}
.organize-detail-hero p{
  max-width:720px;
  margin:0;
  font-size:clamp(1rem,1.4vw,1.16rem);
  line-height:1.65;
  text-wrap:pretty;
}
.organize-single-story{
  padding-block:clamp(76px,8vw,126px);
}
.organize-single-article{
  width:min(100%,1060px);
}
.organize-single-prose{
  max-width:980px;
}
.organize-info-section{
  padding:0 0 clamp(64px,7vw,96px);
  margin:0 0 clamp(64px,7vw,96px);
  border-bottom:1px solid var(--line);
}
.organize-info-section:last-of-type{
  margin-bottom:clamp(56px,6vw,82px);
}
.organize-section-heading{
  display:flex;
  align-items:center;
  gap:22px;
  margin:0 0 34px;
}
.organize-section-icon{
  display:grid;
  place-items:center;
  flex:0 0 58px;
  width:58px;
  height:58px;
  border:1px solid color-mix(in srgb,var(--red) 28%,var(--line));
  border-radius:19px;
  background:color-mix(in srgb,var(--red) 8%,var(--surface));
  color:var(--red);
}
.organize-section-icon svg{
  width:27px;
  height:27px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.organize-section-heading>div{
  display:grid;
  gap:3px;
}
.organize-section-heading small{
  color:var(--red);
  font-family:var(--sans);
  font-size:.61rem;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.organize-single-prose .organize-section-heading h2,
.organize-single-prose .organize-contact-banner h2,
.organize-single-prose .organize-office-card h2{
  margin:0!important;
  padding:0!important;
}
.organize-single-prose .organize-section-heading h2::before,
.organize-single-prose .organize-contact-banner h2::before,
.organize-single-prose .organize-office-card h2::before{
  display:none!important;
}
.organize-section-heading h2{
  color:var(--ink);
  font-size:clamp(1.7rem,2.35vw,2.35rem)!important;
  line-height:1.12!important;
  letter-spacing:-.02em!important;
}
.organize-route-list{
  display:grid;
  gap:0;
}
.organize-route-list p{
  display:grid;
  grid-template-columns:minmax(170px,.42fr) minmax(0,1fr);
  gap:26px;
  margin:0!important;
  padding:22px 0;
  border-top:1px solid var(--line);
}
.organize-route-list p:last-child{border-bottom:1px solid var(--line)}
.organize-route-list strong{
  color:var(--ink);
  font-family:var(--sans);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.organize-station-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.organize-station-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:30px 28px 28px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:25px;
  background:var(--surface);
  box-shadow:0 20px 60px rgba(25,18,16,.06);
}
.organize-station-card::after{
  content:"";
  position:absolute;
  right:-38px;
  bottom:-50px;
  width:130px;
  height:130px;
  border:1px solid color-mix(in srgb,var(--red) 16%,transparent);
  border-radius:50%;
}
.organize-station-card>span{
  position:relative;
  z-index:1;
  color:var(--red);
  font-family:var(--sans);
  font-size:.61rem;
  font-weight:900;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.organize-single-prose .organize-station-card h3{
  position:relative;
  z-index:1;
  min-height:2.55em;
  margin:12px 0 18px!important;
  color:var(--ink);
  font-size:clamp(1.2rem,1.55vw,1.5rem)!important;
  line-height:1.26!important;
  letter-spacing:-.016em!important;
}
.organize-station-card p{
  position:relative;
  z-index:1;
  margin:0 0 14px!important;
  color:var(--muted);
  font-family:var(--sans);
  font-size:.82rem;
  line-height:1.55;
}
.organize-station-card a{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px;
  margin-top:9px;
  padding-top:13px;
  border-top:1px solid var(--line);
  color:var(--ink);
  font-family:var(--sans);
  font-size:.76rem;
  font-weight:800;
  line-height:1.35;
  text-decoration:none;
}
.organize-station-card a i{
  color:var(--red);
  font-style:normal;
}
.organize-station-card a:hover{color:var(--red)}
.organize-airports{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border:1px solid var(--line);
  border-radius:24px;
  overflow:hidden;
  background:var(--surface);
}
.organize-airports>div{
  display:grid;
  gap:8px;
  padding:28px;
  border-right:1px solid var(--line);
}
.organize-airports>div:last-child{border-right:0}
.organize-airports span{
  color:var(--muted);
  font-family:var(--sans);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.organize-airports strong{
  color:var(--ink);
  font-family:var(--serif);
  font-size:clamp(1.55rem,2.4vw,2.15rem);
  line-height:1;
}
.organize-contact-banner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:42px;
  padding:clamp(34px,5vw,58px);
  border-radius:30px;
  background:
    radial-gradient(circle at 95% 8%,rgba(255,255,255,.13),transparent 26%),
    linear-gradient(135deg,var(--red-dark),var(--red));
  color:#fff;
  box-shadow:0 30px 75px rgba(89,22,39,.22);
}
.organize-contact-banner small{
  display:block;
  margin-bottom:12px;
  color:#efb8c5;
  font-family:var(--sans);
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.organize-contact-banner h2{
  color:#fff!important;
  font-size:clamp(1.65rem,2.5vw,2.45rem)!important;
  line-height:1.12!important;
  letter-spacing:-.025em!important;
}
.organize-contact-banner p{
  max-width:680px;
  margin:16px 0 0!important;
  color:rgba(255,255,255,.78);
  font-size:1rem;
  line-height:1.65;
}
.organize-contact-banner p a{color:#fff;font-weight:800}
.organize-mail-button{
  display:flex;
  align-items:center;
  gap:24px;
  min-width:165px;
  padding:16px 18px 16px 22px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  background:rgba(255,255,255,.1);
  color:#fff;
  font-family:var(--sans);
  font-size:.78rem;
  font-weight:900;
  text-decoration:none;
  backdrop-filter:blur(10px);
}
.organize-mail-button span{margin-left:auto}
.organize-mail-button:hover{background:#fff;color:var(--red-dark)}
.organize-offices-intro{
  display:grid;
  grid-template-columns:minmax(170px,.4fr) minmax(0,1fr);
  gap:36px;
  align-items:start;
  margin-bottom:clamp(42px,5vw,68px);
  padding-bottom:34px;
  border-bottom:1px solid var(--line);
}
.organize-offices-intro span{
  color:var(--red);
  font-family:var(--sans);
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.organize-offices-intro p{
  max-width:650px;
  margin:0!important;
  color:var(--ink);
  font-size:clamp(1.15rem,1.7vw,1.48rem);
  line-height:1.55;
}
.organize-office-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.organize-office-card{
  position:relative;
  min-height:100%;
  padding:clamp(29px,3.5vw,42px);
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:27px;
  background:var(--surface);
  box-shadow:0 22px 65px rgba(25,18,16,.055);
}
.organize-office-card::after{
  content:"";
  position:absolute;
  top:-72px;
  right:-72px;
  width:150px;
  height:150px;
  border:1px solid color-mix(in srgb,var(--red) 13%,transparent);
  border-radius:50%;
}
.organize-office-number{
  margin-bottom:34px;
  color:var(--red);
  font-family:var(--sans);
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.2em;
}
.organize-office-card h2{
  position:relative;
  z-index:1;
  max-width:390px;
  color:var(--ink);
  font-size:clamp(1.28rem,1.75vw,1.65rem)!important;
  line-height:1.24!important;
  letter-spacing:-.015em!important;
}
.organize-office-card dl{
  position:relative;
  z-index:1;
  display:grid;
  gap:0;
  margin:28px 0 0;
}
.organize-office-card dl>div{
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  gap:18px;
  padding:14px 0;
  border-top:1px solid var(--line);
}
.organize-office-card dt{
  color:var(--muted);
  font-family:var(--sans);
  font-size:.61rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.organize-office-card dd{
  min-width:0;
  margin:0;
  color:var(--ink);
  font-family:var(--sans);
  font-size:.82rem;
  line-height:1.55;
  overflow-wrap:anywhere;
}
.organize-office-card dd a{
  color:inherit;
  font-weight:750;
  text-decoration:none;
}
.organize-office-card dd a:hover{color:var(--red)}
.organize-office-card-featured{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:35px;
  background:
    radial-gradient(circle at 95% 0,color-mix(in srgb,var(--red) 12%,transparent),transparent 34%),
    var(--surface);
}
.organize-office-card-featured .organize-office-number,
.organize-office-card-featured h2{grid-column:1}
.organize-office-card-featured dl{
  grid-column:2;
  grid-row:1/4;
  margin:0;
}

html[data-theme="dark"] .organize-station-card,
html[data-theme="dark"] .organize-airports,
html[data-theme="dark"] .organize-office-card{
  box-shadow:none;
}

@media(max-width:900px){
  .organize-station-grid{grid-template-columns:1fr}
  .organize-station-card{min-height:0}
  .organize-station-card h3{min-height:0!important}
  .organize-office-card-featured{display:block}
  .organize-office-card-featured dl{margin-top:28px}
}
@media(max-width:720px){
  .organize-detail-hero{min-height:520px}
  .organize-detail-hero .detail-hero-content{padding-bottom:68px}
  .organize-detail-hero h1{font-size:clamp(2.8rem,12vw,4.2rem)}
  .organize-route-list p{grid-template-columns:1fr;gap:8px}
  .organize-airports{grid-template-columns:1fr}
  .organize-airports>div{border-right:0;border-bottom:1px solid var(--line)}
  .organize-airports>div:last-child{border-bottom:0}
  .organize-contact-banner{grid-template-columns:1fr;gap:28px;border-radius:24px}
  .organize-mail-button{width:max-content}
  .organize-offices-intro{grid-template-columns:1fr;gap:15px}
  .organize-office-grid{grid-template-columns:1fr}
  .organize-office-card-featured{grid-column:auto}
}
@media(max-width:520px){
  .organize-single-story{padding-block:54px 80px}
  .organize-info-section{padding-bottom:56px;margin-bottom:56px}
  .organize-section-heading{align-items:flex-start;gap:16px;margin-bottom:28px}
  .organize-section-icon{flex-basis:50px;width:50px;height:50px;border-radius:16px}
  .organize-section-icon svg{width:23px;height:23px}
  .organize-section-heading h2{font-size:1.58rem!important}
  .organize-station-card,.organize-office-card{padding:25px 22px;border-radius:21px}
  .organize-contact-banner{padding:28px 23px}
  .organize-office-card dl>div{grid-template-columns:1fr;gap:5px}
  .organize-office-number{margin-bottom:25px}
}

/* =========================================================
   V82/V83 — Come arrivare: hero fissa tech + single Newsroom compatta
   ========================================================= */
.organize-static-map-hero{
  position:relative;
  isolation:isolate;
  min-height:clamp(620px,78vh,820px);
  overflow:hidden;
  background:#17182d;
}
.organize-static-hero-media{
  position:absolute;
  z-index:-3;
  inset:0;
  margin:0;
}
.organize-static-hero-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.015);
}
.organize-static-map-hero .organize-map-hero-grid{
  position:absolute;
  z-index:-2;
  inset:0;
  opacity:.22;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:86px 86px;
  -webkit-mask-image:linear-gradient(90deg,#000,transparent 72%);
  mask-image:linear-gradient(90deg,#000,transparent 72%);
  pointer-events:none;
}
.organize-static-map-hero .detail-overlay{
  z-index:-1;
  background:
    linear-gradient(90deg,rgba(12,14,29,.9) 0%,rgba(12,14,29,.62) 38%,rgba(12,14,29,.16) 72%,rgba(12,14,29,.1) 100%),
    linear-gradient(0deg,rgba(11,12,26,.82) 0%,rgba(11,12,26,.14) 64%);
}
.organize-static-map-hero .detail-hero-content{
  max-width:1480px;
  padding-bottom:clamp(118px,13vh,154px);
}
.organize-static-map-hero h1{
  max-width:760px;
  margin-top:14px;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;
  font-size:clamp(3.25rem,5.9vw,6.1rem);
  font-weight:760;
  line-height:.96;
  letter-spacing:-.055em;
}
.organize-static-map-hero p{
  max-width:610px;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;
  font-size:clamp(1rem,1.35vw,1.17rem);
  line-height:1.58;
  color:rgba(255,255,255,.82);
}
.organize-arrival-hero-meta{
  position:absolute;
  z-index:3;
  right:0;
  bottom:34px;
  left:0;
  display:flex;
  align-items:center;
  gap:12px;
  color:rgba(255,255,255,.5);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;
  font-size:.59rem;
  font-weight:720;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.organize-arrival-hero-meta i{
  width:34px;
  height:1px;
  background:rgba(255,255,255,.3);
}
.organize-arrival-hero-meta b{
  margin-left:auto;
  color:rgba(255,255,255,.76);
  font-weight:760;
}

.arrival-newsroom-section{
  position:relative;
  background:var(--paper);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;
}
.arrival-newsroom-section::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:280px;
  opacity:.36;
  background:linear-gradient(180deg,color-mix(in srgb,var(--red) 5%,transparent),transparent);
  pointer-events:none;
}
.arrival-newsroom-article{
  position:relative;
  width:min(100% - 48px,920px);
  margin-inline:auto;
  padding:clamp(82px,9vw,138px) 0 clamp(100px,11vw,158px);
}
.arrival-newsroom-lead{
  max-width:820px;
  margin:0 auto clamp(54px,6vw,80px);
  text-align:center;
}
.arrival-newsroom-label{
  display:block;
  margin-bottom:18px;
  color:var(--red);
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.19em;
  text-transform:uppercase;
}
.arrival-newsroom-lead p{
  margin:0;
  color:var(--ink);
  font-size:clamp(1.75rem,3.2vw,3.05rem);
  font-weight:680;
  line-height:1.12;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.arrival-newsroom-index{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-bottom:clamp(82px,9vw,126px);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.arrival-newsroom-index a{
  display:grid;
  gap:9px;
  min-width:0;
  padding:20px 18px;
  border-right:1px solid var(--line);
  color:var(--ink);
  font-size:.79rem;
  font-weight:730;
  line-height:1.3;
  text-decoration:none;
  transition:background .2s ease,color .2s ease;
}
.arrival-newsroom-index a:first-child{padding-left:0}
.arrival-newsroom-index a:last-child{border-right:0;padding-right:0}
.arrival-newsroom-index a:hover{color:var(--red);background:color-mix(in srgb,var(--red) 4%,transparent)}
.arrival-newsroom-index span{
  color:var(--red);
  font-size:.58rem;
  font-weight:850;
  letter-spacing:.16em;
}
.arrival-newsroom-block{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:clamp(32px,5vw,72px);
  padding:0;
  margin:0 0 clamp(44px,5vw,68px);
  border-bottom:0;
  scroll-margin-top:130px;
}
.arrival-newsroom-block:last-child{
  margin-bottom:0;
  padding-bottom:0;
  border-bottom:0;
}
.arrival-newsroom-chapter{
  display:flex;
  align-items:flex-start;
  flex-direction:column;
  gap:10px;
  padding-top:9px;
}
.arrival-newsroom-chapter span{
  color:var(--red);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.18em;
}
.arrival-newsroom-chapter small{
  max-width:90px;
  color:var(--muted);
  font-size:.58rem;
  font-weight:780;
  line-height:1.45;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.arrival-newsroom-copy{min-width:0}
.arrival-newsroom-copy>h2{
  margin:0 0 clamp(34px,4vw,50px);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;
  font-size:clamp(2.15rem,4vw,4rem);
  font-weight:720;
  line-height:1;
  letter-spacing:-.052em;
}
.arrival-route-list,
.arrival-station-list,
.arrival-airport-list{
  display:grid;
  border-top:1px solid var(--line);
}
.arrival-route-row{
  display:grid;
  grid-template-columns:minmax(180px,.43fr) minmax(0,1fr);
  gap:clamp(28px,4vw,58px);
  padding:25px 0 27px;
  border-bottom:1px solid var(--line);
}
.arrival-route-row h3,
.arrival-station-row h3{
  margin:0;
  color:var(--ink);
  font-family:inherit;
  font-size:clamp(.98rem,1.4vw,1.16rem);
  font-weight:760;
  line-height:1.35;
  letter-spacing:-.016em;
}
.arrival-route-row p,
.arrival-station-row p{
  margin:0;
  color:var(--muted);
  font-size:.97rem;
  line-height:1.7;
}
.arrival-station-row{
  display:grid;
  grid-template-columns:minmax(210px,.48fr) minmax(0,1fr);
  gap:clamp(30px,5vw,68px);
  padding:29px 0 31px;
  border-bottom:1px solid var(--line);
}
.arrival-station-row>div:first-child>span{
  display:block;
  margin-bottom:9px;
  color:var(--red);
  font-size:.58rem;
  font-weight:850;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.arrival-station-row p{margin-top:11px}
.arrival-link-list{display:grid;align-content:start}
.arrival-link-list a{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:13px 0;
  border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent);
  color:var(--ink);
  font-size:.82rem;
  font-weight:720;
  line-height:1.45;
  text-decoration:none;
  transition:color .2s ease;
}
.arrival-link-list a:first-child{padding-top:0}
.arrival-link-list a:last-child{border-bottom:0;padding-bottom:0}
.arrival-link-list a span{color:var(--red);font-size:.9rem;transition:transform .2s ease}
.arrival-link-list a:hover{color:var(--red)}
.arrival-link-list a:hover span{transform:translate(2px,-2px)}
.arrival-airport-list>div{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:baseline;
  gap:30px;
  padding:24px 0;
  border-bottom:1px solid var(--line);
}
.arrival-airport-list span{
  color:var(--ink);
  font-size:clamp(1rem,1.5vw,1.17rem);
  font-weight:720;
}
.arrival-airport-list strong{
  color:var(--muted);
  font-size:clamp(1.05rem,1.8vw,1.35rem);
  font-weight:650;
  letter-spacing:-.02em;
}
.arrival-newsroom-contact .arrival-newsroom-copy>p{
  max-width:680px;
  margin:0 0 30px;
  color:var(--muted);
  font-size:clamp(1.02rem,1.35vw,1.17rem);
  line-height:1.72;
}
.arrival-newsroom-contact .arrival-newsroom-copy>p a{
  color:var(--ink);
  font-weight:760;
}
.arrival-contact-link{
  display:inline-flex;
  align-items:center;
  gap:24px;
  padding:15px 19px 15px 22px;
  border-radius:999px;
  background:var(--ink);
  color:var(--paper);
  font-size:.8rem;
  font-weight:780;
  text-decoration:none;
  transition:transform .2s ease,opacity .2s ease;
}
.arrival-contact-link span{font-size:.95rem}
.arrival-contact-link:hover{transform:translateY(-2px);opacity:.88}
html[data-theme="dark"] .arrival-newsroom-section::before{opacity:.18}
html[data-theme="dark"] .arrival-contact-link{background:#fff;color:#171717}

@media(max-width:820px){
  .organize-static-map-hero .detail-overlay{
    background:
      linear-gradient(90deg,rgba(12,14,29,.88),rgba(12,14,29,.38)),
      linear-gradient(0deg,rgba(11,12,26,.84),rgba(11,12,26,.08) 70%);
  }
  .organize-static-hero-media img{object-position:58% center}
  .arrival-newsroom-index{grid-template-columns:1fr 1fr}
  .arrival-newsroom-index a:nth-child(2){border-right:0}
  .arrival-newsroom-index a:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .arrival-newsroom-index a:first-child,
  .arrival-newsroom-index a:nth-child(3){padding-left:0}
  .arrival-newsroom-index a:nth-child(2),
  .arrival-newsroom-index a:last-child{padding-right:0}
  .arrival-newsroom-block{grid-template-columns:82px minmax(0,1fr);gap:30px}
  .arrival-route-row,
  .arrival-station-row{grid-template-columns:1fr;gap:14px}
}
@media(max-width:560px){
  .organize-static-map-hero{min-height:580px}
  .organize-static-map-hero .detail-hero-content{padding-bottom:105px}
  .organize-static-map-hero h1{font-size:clamp(2.75rem,13vw,4.25rem)}
  .organize-static-map-hero p{font-size:.98rem}
  .organize-arrival-hero-meta{bottom:24px;gap:8px;font-size:.52rem}
  .organize-arrival-hero-meta i{width:18px}
  .organize-arrival-hero-meta b{display:none}
  .arrival-newsroom-article{width:min(100% - 28px,920px);padding-top:68px}
  .arrival-newsroom-lead{text-align:left}
  .arrival-newsroom-lead p{font-size:clamp(1.65rem,8.2vw,2.45rem)}
  .arrival-newsroom-index{margin-bottom:72px}
  .arrival-newsroom-index a{padding:17px 12px;font-size:.72rem}
  .arrival-newsroom-block{grid-template-columns:1fr;gap:22px;padding-bottom:0;margin-bottom:44px}
  .arrival-newsroom-chapter{flex-direction:row;align-items:center;gap:12px;padding-top:0}
  .arrival-newsroom-chapter small{max-width:none}
  .arrival-newsroom-copy>h2{margin-bottom:30px;font-size:clamp(2rem,10vw,3rem)}
  .arrival-route-row,.arrival-station-row{padding-block:22px}
  .arrival-contact-link{width:100%;justify-content:space-between;border-radius:18px}
}

/* =========================================================
   V84 — Uffici turistici: hero fissa tech + newsroom compatta
   ========================================================= */
.organize-office-hero .organize-static-hero-media img{
  object-position:55% center;
}
.organize-office-hero .detail-overlay{
  background:
    linear-gradient(90deg,rgba(11,13,27,.92) 0%,rgba(11,13,27,.63) 37%,rgba(11,13,27,.18) 72%),
    linear-gradient(0deg,rgba(10,11,23,.8),rgba(10,11,23,.04) 68%);
}
.organize-office-hero h1{
  max-width:900px;
  font-size:clamp(3rem,6.1vw,5.35rem);
}
.organize-office-hero-meta span:first-child{
  letter-spacing:.17em;
}
.offices-newsroom-article{
  padding-bottom:clamp(86px,10vw,140px);
}
.offices-newsroom-lead{
  margin-bottom:clamp(58px,7vw,86px);
}
.offices-newsroom-lead p{
  max-width:900px;
}
.offices-newsroom-index{
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-bottom:clamp(62px,7vw,88px);
}
.offices-newsroom-index a{
  min-height:74px;
}
.offices-newsroom-index a:nth-child(-n+6){
  border-bottom:1px solid var(--line);
}
.offices-newsroom-index a:nth-child(3),
.offices-newsroom-index a:nth-child(6),
.offices-newsroom-index a:nth-child(7){
  border-right:0;
}
.offices-newsroom-index a:nth-child(4),
.offices-newsroom-index a:nth-child(7){
  padding-left:0;
}
.offices-newsroom-index a:nth-child(7){
  grid-column:1 / -1;
  min-height:62px;
}
.office-newsroom-block{
  grid-template-columns:112px minmax(0,1fr);
  gap:clamp(32px,5vw,64px);
  margin-bottom:clamp(38px,4.6vw,58px);
}
.office-newsroom-block:last-child{
  margin-bottom:0;
}
.office-newsroom-copy>h2{
  margin-bottom:clamp(22px,2.8vw,32px);
  font-size:clamp(1.82rem,3.2vw,2.75rem);
  line-height:1.06;
  letter-spacing:-.038em;
}
.office-newsroom-details{
  display:grid;
  margin:0;
  border-top:1px solid var(--line);
}
.office-newsroom-details>div{
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  gap:clamp(22px,4vw,54px);
  align-items:baseline;
  padding:16px 0 17px;
  border-bottom:1px solid var(--line);
}
.office-newsroom-details dt,
.office-newsroom-details dd{
  margin:0;
}
.office-newsroom-details dt{
  color:var(--muted);
  font-size:.63rem;
  font-weight:820;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.office-newsroom-details dd{
  min-width:0;
  color:var(--ink);
  font-size:clamp(.94rem,1.18vw,1.04rem);
  font-weight:610;
  line-height:1.58;
  overflow-wrap:anywhere;
}
.office-newsroom-details a{
  color:inherit;
  text-decoration:none;
  transition:color .2s ease;
}
.office-newsroom-details a:hover{
  color:var(--red);
}
.office-newsroom-details br+ a{
  display:inline-block;
  margin-top:5px;
}
html[data-theme="dark"] .offices-newsroom-index a:hover{
  background:color-mix(in srgb,var(--red) 6%,transparent);
}

@media(max-width:820px){
  .organize-office-hero .organize-static-hero-media img{
    object-position:61% center;
  }
  .offices-newsroom-index{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .offices-newsroom-index a{
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
    padding-left:18px;
    padding-right:18px;
  }
  .offices-newsroom-index a:nth-child(odd){padding-left:0}
  .offices-newsroom-index a:nth-child(even){border-right:0;padding-right:0}
  .offices-newsroom-index a:nth-child(7){
    grid-column:1 / -1;
    border-right:0;
    border-bottom:0;
    padding-left:0;
    padding-right:0;
  }
  .office-newsroom-block{
    grid-template-columns:82px minmax(0,1fr);
    gap:30px;
  }
}
@media(max-width:560px){
  .organize-office-hero .detail-overlay{
    background:
      linear-gradient(90deg,rgba(11,13,27,.91),rgba(11,13,27,.42)),
      linear-gradient(0deg,rgba(10,11,23,.86),rgba(10,11,23,.05) 70%);
  }
  .organize-office-hero .organize-static-hero-media img{
    object-position:64% center;
  }
  .organize-office-hero h1{
    font-size:clamp(2.65rem,12vw,4rem);
  }
  .offices-newsroom-lead{
    margin-bottom:54px;
  }
  .offices-newsroom-index{
    grid-template-columns:1fr;
    margin-bottom:58px;
  }
  .offices-newsroom-index a,
  .offices-newsroom-index a:nth-child(odd),
  .offices-newsroom-index a:nth-child(even),
  .offices-newsroom-index a:nth-child(7){
    grid-column:auto;
    min-height:0;
    padding:15px 0;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .offices-newsroom-index a:last-child{
    border-bottom:0;
  }
  .office-newsroom-block{
    grid-template-columns:1fr;
    gap:18px;
    margin-bottom:38px;
  }
  .office-newsroom-copy>h2{
    margin-bottom:22px;
    font-size:clamp(1.72rem,8.2vw,2.35rem);
  }
  .office-newsroom-details>div{
    grid-template-columns:1fr;
    gap:6px;
    padding:14px 0 15px;
  }
}

/* =========================================================
   V85 — HEADER MINIMALE + MEGA MENU
   Logo a sinistra, azioni tech a destra e navigazione completa
   in un pannello a tutta larghezza ispirato alle interfacce Apple.
   ========================================================= */
.vv-minimal-header{
  isolation:isolate;
}
.vv-header-bar{
  position:relative;
  z-index:3;
  height:82px;
}
.vv-header-brand{
  flex:0 1 auto;
  min-width:0;
}
.vv-header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  margin-left:auto;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;
}
.vv-header-action,
.vv-menu-toggle{
  width:44px;
  height:44px;
  flex:0 0 44px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  background:rgba(255,255,255,.075);
  color:#fff;
  text-decoration:none;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  backdrop-filter:blur(14px);
  transition:background .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease;
}
.vv-header-action:hover,
.vv-menu-toggle:hover{
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.38);
  transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(50,7,22,.18);
}
.vv-header-action:focus-visible,
.vv-menu-toggle:focus-visible,
.vv-mega-menu a:focus-visible{
  outline:2px solid #fff;
  outline-offset:3px;
}
.vv-header-action svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.vv-find-action svg{
  width:20px;
  height:20px;
}
.vv-theme-icon{
  position:relative;
  display:grid;
  width:21px;
  height:21px;
  place-items:center;
}
.vv-theme-icon svg{
  position:absolute;
  inset:0;
}
.vv-theme-sun{display:none}
html[data-theme="dark"] .vv-theme-moon{display:none}
html[data-theme="dark"] .vv-theme-sun{display:block}
.vv-menu-toggle{
  position:relative;
}
.vv-menu-toggle span{
  position:absolute;
  left:12px;
  width:20px;
  height:1.5px;
  border-radius:999px;
  background:#fff;
  transform-origin:center;
  transition:top .25s ease,transform .25s ease,opacity .18s ease,width .25s ease;
}
.vv-menu-toggle span:nth-child(1){top:14px}
.vv-menu-toggle span:nth-child(2){top:21px}
.vv-menu-toggle span:nth-child(3){top:28px}
.vv-menu-toggle[aria-expanded="true"] span:nth-child(1){top:21px;transform:rotate(45deg)}
.vv-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;width:0}
.vv-menu-toggle[aria-expanded="true"] span:nth-child(3){top:21px;transform:rotate(-45deg)}

.vv-mega-menu{
  position:fixed;
  z-index:2;
  inset:113px 0 0;
  overflow-y:auto;
  overscroll-behavior:contain;
  background:
    radial-gradient(circle at 82% 10%,rgba(255,255,255,.075),transparent 28%),
    radial-gradient(circle at 8% 86%,rgba(181,138,74,.11),transparent 31%),
    linear-gradient(145deg,#3d1020 0%,#681d34 53%,#4b1427 100%);
  color:#fff;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-14px);
  transition:opacity .28s ease,visibility .28s ease,transform .32s cubic-bezier(.22,.61,.36,1);
}
.vv-mega-menu.open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}
.vv-mega-menu-grid{
  position:fixed;
  inset:113px 0 0;
  pointer-events:none;
  opacity:.22;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 88%);
}
.vv-mega-menu-shell{
  position:relative;
  z-index:1;
  min-height:100%;
  padding:clamp(38px,5vh,68px) 0 34px;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;
}
.vv-mega-menu-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:36px;
  padding-bottom:clamp(25px,3.3vh,38px);
  border-bottom:1px solid rgba(255,255,255,.14);
}
.vv-mega-menu-heading>span,
.vv-mega-label{
  display:block;
  color:rgba(255,255,255,.56);
  font-size:.67rem;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.vv-mega-menu-heading p{
  max-width:520px;
  margin:0;
  color:rgba(255,255,255,.64);
  font-size:clamp(.9rem,1vw,1.02rem);
  line-height:1.55;
  text-align:right;
}
.vv-mega-menu-layout{
  display:grid;
  grid-template-columns:minmax(250px,1.24fr) repeat(3,minmax(180px,1fr));
  gap:clamp(30px,4vw,66px);
  padding:clamp(34px,5vh,64px) 0 clamp(38px,5vh,62px);
}
.vv-mega-primary,
.vv-mega-column{
  min-width:0;
}
.vv-mega-primary{
  display:flex;
  flex-direction:column;
  padding-right:clamp(22px,3.2vw,48px);
  border-right:1px solid rgba(255,255,255,.14);
}
.vv-mega-primary .vv-mega-label,
.vv-mega-column .vv-mega-label{
  margin-bottom:20px;
}
.vv-mega-primary>a{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:8px 0;
  color:#fff;
  text-decoration:none;
  font-size:clamp(2rem,3.1vw,3.45rem);
  line-height:1.04;
  font-weight:570;
  letter-spacing:-.035em;
  transition:color .2s ease,transform .2s ease;
}
.vv-mega-primary>a i{
  font-style:normal;
  color:rgba(255,255,255,.35);
  font-size:.42em;
  transition:transform .2s ease,color .2s ease;
}
.vv-mega-primary>a:hover{
  color:#f0ccd6;
  transform:translateX(4px);
}
.vv-mega-primary>a:hover i{
  color:#fff;
  transform:translate(3px,-3px);
}
.vv-mega-column{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.vv-mega-column>a{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 0;
  color:rgba(255,255,255,.88);
  text-decoration:none;
  font-size:clamp(.9rem,1.06vw,1.04rem);
  line-height:1.36;
  font-weight:520;
  letter-spacing:.005em;
  transition:color .2s ease,transform .2s ease;
}
.vv-mega-column>a::after{
  content:"";
  position:absolute;
  right:100%;
  bottom:4px;
  left:0;
  height:1px;
  background:rgba(255,255,255,.72);
  transition:right .24s ease;
}
.vv-mega-column>a:hover{
  color:#fff;
  transform:translateX(3px);
}
.vv-mega-column>a:hover::after{right:0}
.vv-mega-column>a>span{
  color:rgba(255,255,255,.52);
  font-size:.8em;
}
.vv-mega-static-title{
  display:block;
  margin:-4px 0 13px;
  color:#fff;
  font-size:clamp(1.35rem,1.75vw,1.8rem);
  line-height:1.08;
  font-weight:570;
  letter-spacing:-.02em;
}
.vv-mega-menu-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.14);
}
.vv-mega-menu-footer>a:first-child{
  display:grid;
  grid-template-columns:34px auto 20px;
  align-items:center;
  gap:13px;
  color:#fff;
  text-decoration:none;
}
.vv-mega-menu-footer svg{
  width:27px;
  height:27px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.vv-mega-menu-footer span{
  display:grid;
}
.vv-mega-menu-footer small{
  color:rgba(255,255,255,.52);
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.vv-mega-menu-footer strong{
  margin-top:2px;
  font-size:.9rem;
  font-weight:560;
}
.vv-mega-menu-footer i{
  color:rgba(255,255,255,.5);
  font-style:normal;
  transition:transform .2s ease,color .2s ease;
}
.vv-mega-menu-footer>a:first-child:hover i{
  color:#fff;
  transform:translate(3px,-3px);
}
.vv-mega-admin{
  color:rgba(255,255,255,.72);
  text-decoration:none;
  font-size:.76rem;
  font-weight:650;
}

@media(max-width:1180px){
  .vv-mega-menu-layout{
    grid-template-columns:minmax(260px,1.15fr) repeat(2,minmax(190px,1fr));
  }
  .vv-mega-organize{
    grid-column:2 / -1;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    column-gap:28px;
    padding-top:28px;
    border-top:1px solid rgba(255,255,255,.12);
  }
  .vv-mega-organize .vv-mega-label,
  .vv-mega-organize .vv-mega-static-title{grid-column:1/-1}
}

@media(max-width:850px){
  .vv-header-bar{height:76px}
  .vv-header-actions{gap:6px}
  .vv-header-action,
  .vv-menu-toggle{
    width:40px;
    height:40px;
    flex-basis:40px;
  }
  .vv-menu-toggle span{left:11px;width:18px}
  .vv-menu-toggle span:nth-child(1){top:13px}
  .vv-menu-toggle span:nth-child(2){top:19px}
  .vv-menu-toggle span:nth-child(3){top:25px}
  .vv-menu-toggle[aria-expanded="true"] span:nth-child(1),
  .vv-menu-toggle[aria-expanded="true"] span:nth-child(3){top:19px}
  .vv-mega-menu,
  .vv-mega-menu-grid{inset:76px 0 0}
  .vv-mega-menu-shell{padding-top:30px}
  .vv-mega-menu-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }
  .vv-mega-menu-heading p{
    max-width:600px;
    text-align:left;
  }
  .vv-mega-menu-layout{
    grid-template-columns:1fr 1fr;
    gap:38px 32px;
    padding:34px 0 44px;
  }
  .vv-mega-primary{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:2px 28px;
    padding:0 0 30px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.14);
  }
  .vv-mega-primary .vv-mega-label{grid-column:1/-1}
  .vv-mega-primary>a{
    font-size:clamp(1.75rem,6.7vw,2.75rem);
  }
  .vv-mega-organize{
    grid-column:1/-1;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:560px){
  .vv-header-brand .brand-logo{
    max-width:164px;
    height:42px;
  }
  .vv-header-actions{gap:5px}
  .vv-header-action,
  .vv-menu-toggle{
    width:38px;
    height:38px;
    flex-basis:38px;
  }
  .vv-header-action svg{width:18px;height:18px}
  .vv-menu-toggle span{left:10px;width:18px}
  .vv-mega-menu-shell{padding:25px 0 28px}
  .vv-mega-menu-heading{padding-bottom:22px}
  .vv-mega-menu-layout{
    grid-template-columns:1fr;
    gap:0;
    padding:28px 0 34px;
  }
  .vv-mega-primary{
    grid-template-columns:1fr;
    gap:0;
    padding-bottom:26px;
  }
  .vv-mega-primary>a{
    padding:6px 0;
    font-size:clamp(1.8rem,9vw,2.5rem);
  }
  .vv-mega-column{
    padding:24px 0;
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  .vv-mega-column .vv-mega-label{margin-bottom:13px}
  .vv-mega-column>a{
    padding:6px 0;
    font-size:.92rem;
  }
  .vv-mega-organize{
    display:flex;
    padding-top:24px;
    border-top:0;
  }
  .vv-mega-menu-footer{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(prefers-reduced-motion:reduce){
  .vv-mega-menu,
  .vv-header-action,
  .vv-menu-toggle,
  .vv-menu-toggle span,
  .vv-mega-primary>a,
  .vv-mega-column>a{transition:none}
}


/* =========================================================
   V86 — MEGA MENU SOPRA LA MAPPA + TROVA MINIMALE
   Il livello dell'header supera esplicitamente i pane Leaflet;
   il menu resta quindi a tutta viewport anche nella pagina Trova.
   ========================================================= */
.vv-minimal-header{
  z-index:5000;
}
.vv-find-action svg,
.vv-mega-menu-footer>a:first-child svg{
  stroke-width:1.45;
}
body.find-page .vv-minimal-header,
body.find-page .vv-minimal-header.menu-open{
  z-index:5000!important;
}
body.find-page .vv-mega-menu{
  z-index:2;
}
body.find-page .find-map-panel,
body.find-page #find-map,
body.find-page #find-map .leaflet-pane,
body.find-page #find-map .leaflet-control{
  isolation:auto;
}

/* =========================================================
   V88 — LOGHI ISTITUZIONALI NELL'HEADER
   Varianti monocromatiche bianche, compatte e responsive.
   ========================================================= */
.vv-header-institutions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:0;
  min-width:0;
  margin-left:auto;
  margin-right:18px;
  padding-right:18px;
  border-right:1px solid rgba(255,255,255,.18);
}
.vv-header-institution{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  height:34px;
  padding:0 15px;
}
.vv-header-institution:first-child{padding-left:0}
.vv-header-institution:last-child{padding-right:0}
.vv-header-institution+.vv-header-institution::before{
  content:"";
  position:absolute;
  top:7px;
  bottom:7px;
  left:0;
  width:1px;
  background:rgba(255,255,255,.12);
}
.vv-header-institution img{
  display:block;
  width:auto;
  max-width:100%;
  object-fit:contain;
  filter:drop-shadow(0 2px 8px rgba(42,7,18,.1));
  opacity:.86;
  transition:opacity .2s ease,transform .2s ease;
}
.vv-header-institution:hover img{opacity:1;transform:translateY(-1px)}
.vv-header-institution-fsc img{height:24px;max-width:96px}
.vv-header-institution-regione img{height:27px;max-width:104px}
.vv-header-institution-tpt img{height:25px;max-width:126px}
.vv-header-institution-repubblica img{height:32px;max-width:32px}

/* Il testo istituzionale chiude ora il footer senza il partner tecnico. */
.vv-footer-institutional{
  grid-template-columns:minmax(0,760px);
  justify-content:start;
}

@media(max-width:1380px){
  .vv-header-institutions{margin-right:14px;padding-right:14px}
  .vv-header-institution{padding:0 11px}
  .vv-header-institution-fsc img{height:21px;max-width:82px}
  .vv-header-institution-regione img{height:24px;max-width:90px}
  .vv-header-institution-tpt img{height:22px;max-width:108px}
  .vv-header-institution-repubblica img{height:29px;max-width:29px}
}
@media(max-width:1100px){
  .vv-header-institution{padding:0 8px}
  .vv-header-institution-fsc img{height:19px;max-width:72px}
  .vv-header-institution-regione img{height:21px;max-width:78px}
  .vv-header-institution-tpt img{height:19px;max-width:91px}
  .vv-header-institution-repubblica img{height:26px;max-width:26px}
}
@media(max-width:920px){
  .vv-header-institutions{display:none}
}
@media(prefers-reduced-motion:reduce){
  .vv-header-institution img{transition:none}
}


/* =========================================================
   V89 — LOGHI PIÙ PRESENTI + FOOTER FSC INTEGRATO
   Il blocco bianco viene eliminato: contenuti e loghi vivono
   direttamente sul fondo istituzionale, con ritmo editoriale
   ispirato alle note informative di Apple.
   ========================================================= */

/* Header: incremento misurato, senza alterare l'altezza della barra. */
.vv-header-institution{
  height:38px;
  padding-inline:16px;
}
.vv-header-institution+.vv-header-institution::before{
  top:6px;
  bottom:6px;
}
.vv-header-institution-fsc img{height:27px;max-width:108px}
.vv-header-institution-regione img{height:31px;max-width:119px}
.vv-header-institution-tpt img{height:29px;max-width:145px}
.vv-header-institution-repubblica img{height:36px;max-width:36px}

/* Footer: nessuna scheda, nessun fondo chiaro, nessuna ombra. */
.vv-footer-funding{
  overflow:visible;
  padding:clamp(40px,5vw,66px) 0 clamp(28px,4vw,48px);
  border:0;
  border-top:1px solid rgba(255,255,255,.14);
  border-radius:0;
  background:transparent;
  color:#fff;
  box-shadow:none;
}
.vv-footer-funding-head{
  display:block;
  padding:0 0 20px;
  border:0;
}
.vv-footer-funding-head span{
  display:block;
  margin:0 0 8px;
  color:rgba(255,255,255,.42);
  font-size:.57rem;
  font-weight:700;
  letter-spacing:.14em;
  line-height:1.45;
}
.vv-footer-funding-head h2{
  margin:0;
  color:rgba(255,255,255,.9);
  font-family:inherit;
  font-size:clamp(.92rem,1.25vw,1.08rem);
  font-weight:650;
  letter-spacing:-.012em;
  line-height:1.35;
}
.vv-footer-funding-copy{
  display:block;
  max-width:1260px;
  padding:0;
}
.vv-footer-funding-copy p,
.vv-footer-funding-copy li{
  color:rgba(255,255,255,.52);
  font-size:clamp(.69rem,.78vw,.77rem);
  font-weight:400;
  letter-spacing:.003em;
  line-height:1.58;
}
.vv-footer-funding-copy p{margin:0 0 11px}
.vv-footer-funding-copy p:last-child{margin-bottom:0}
.vv-footer-funding-actions{margin-top:18px}
.vv-footer-funding-actions h3{
  margin:0 0 9px;
  color:rgba(255,255,255,.7);
  font-family:inherit;
  font-size:.72rem;
  font-weight:650;
  letter-spacing:0;
}
.vv-footer-funding-actions ul{
  display:grid;
  gap:7px;
  margin:0;
  padding-left:22px;
}
.vv-footer-funding-actions li{padding-left:2px}
.vv-footer-funding-actions li::marker{color:rgba(255,255,255,.38)}

/* Loghi bianchi più grandi, sullo stesso piano visivo del footer. */
.vv-footer-funding-logos{
  display:grid;
  grid-template-columns:1.25fr 1fr 1.42fr .48fr;
  align-items:center;
  gap:clamp(34px,6vw,96px);
  min-height:0;
  margin-top:clamp(30px,4vw,48px);
  padding:clamp(28px,3.4vw,42px) 0 0;
  border-top:1px solid rgba(255,255,255,.1);
  background:transparent;
}
.vv-footer-funding-logos img{
  display:block;
  width:auto;
  max-width:100%;
  max-height:none;
  margin:0 auto;
  object-fit:contain;
  opacity:.92;
  filter:drop-shadow(0 3px 12px rgba(7,8,24,.14));
}
.vv-footer-funding-logos img:nth-child(1){height:58px;max-width:250px}
.vv-footer-funding-logos img:nth-child(2){height:62px;max-width:190px}
.vv-footer-funding-logos img:nth-child(3){height:58px;max-width:270px}
.vv-footer-funding-logos img:nth-child(4){height:72px;max-width:72px}

/* Chiusura più vicina alla grammatica del footer integrato. */
.vv-footer-institutional{
  padding:30px 0 28px;
}
.vv-footer-institutional>p{
  max-width:980px;
  color:rgba(255,255,255,.46);
  font-size:.7rem;
  line-height:1.58;
}

/* Neutralizza i vecchi override chiari della pagina borghi. */
body.municipality-archive-page .vv-footer-funding-copy p,
body.municipality-archive-page .vv-footer-funding-copy li{color:rgba(255,255,255,.52)}
body.municipality-archive-page .vv-footer-funding-head h2{color:rgba(255,255,255,.9)}
body.municipality-archive-page .vv-footer-funding-actions h3{color:rgba(255,255,255,.7)}

@media(max-width:1380px){
  .vv-header-institution{padding-inline:12px}
  .vv-header-institution-fsc img{height:24px;max-width:94px}
  .vv-header-institution-regione img{height:27px;max-width:102px}
  .vv-header-institution-tpt img{height:25px;max-width:122px}
  .vv-header-institution-repubblica img{height:32px;max-width:32px}
}
@media(max-width:1100px){
  .vv-header-institution{height:34px;padding-inline:8px}
  .vv-header-institution-fsc img{height:20px;max-width:78px}
  .vv-header-institution-regione img{height:23px;max-width:84px}
  .vv-header-institution-tpt img{height:21px;max-width:101px}
  .vv-header-institution-repubblica img{height:28px;max-width:28px}
  .vv-footer-funding-logos{gap:34px}
  .vv-footer-funding-logos img:nth-child(1){height:49px}
  .vv-footer-funding-logos img:nth-child(2){height:53px}
  .vv-footer-funding-logos img:nth-child(3){height:49px}
  .vv-footer-funding-logos img:nth-child(4){height:62px;max-width:62px}
}
@media(max-width:760px){
  .vv-footer-funding{
    padding:36px 0 30px;
    border-radius:0;
  }
  .vv-footer-funding-head{padding:0 0 18px}
  .vv-footer-funding-copy{padding:0}
  .vv-footer-funding-copy p,
  .vv-footer-funding-copy li{font-size:.71rem;line-height:1.56}
  .vv-footer-funding-logos{
    grid-template-columns:1fr 1fr;
    gap:34px 26px;
    padding:30px 0 0;
  }
  .vv-footer-funding-logos img:nth-child(1){height:43px;max-width:185px}
  .vv-footer-funding-logos img:nth-child(2){height:47px;max-width:150px}
  .vv-footer-funding-logos img:nth-child(3){height:43px;max-width:200px}
  .vv-footer-funding-logos img:nth-child(4){height:56px;max-width:56px}
  .vv-footer-institutional{padding:28px 0 25px}
}
@media(max-width:480px){
  .vv-footer-funding-head h2{font-size:.92rem}
  .vv-footer-funding-logos{
    grid-template-columns:1fr 1fr;
    gap:30px 20px;
  }
  .vv-footer-funding-logos img:nth-child(1){height:36px;max-width:148px}
  .vv-footer-funding-logos img:nth-child(2){height:39px;max-width:125px}
  .vv-footer-funding-logos img:nth-child(3){height:36px;max-width:155px}
  .vv-footer-funding-logos img:nth-child(4){height:49px;max-width:49px}
}


/* =========================================================
   V90 — STEMMA UFFICIALE + LASCIATI ISPIRARE + STORIE CHIARE
   Lo stemma della Repubblica usa il file ufficiale ripulito;
   la homepage mostra le Storie su fondo chiaro in modalità
   giorno e torna scura esclusivamente in modalità notte.
   ========================================================= */

/* Lo stemma dettagliato ha bisogno di qualche pixel in più per
   rendere leggibili stella e cartiglio senza alterare l'header. */
.vv-header-institution-repubblica{
  height:46px;
}
.vv-header-institution-repubblica img{
  height:46px;
  max-width:46px;
}
.vv-footer-funding-logos img:nth-child(4){
  height:94px;
  max-width:94px;
}

/* Homepage, modalità giorno: sezione Storie chiara e integrata. */
html:not([data-theme="dark"]) .event-story-section--home{
  border-color:rgba(29,29,31,.08);
  background:
    radial-gradient(circle at 14% 18%,rgba(151,46,71,.07),transparent 28%),
    radial-gradient(circle at 88% 82%,rgba(145,96,55,.055),transparent 26%),
    linear-gradient(180deg,#f7f7f9 0%,#f3f3f5 100%);
  color:#1d1d1f;
}
.event-story-section--home .event-story-head--minimal.is-controls-only{
  justify-content:flex-end;
  margin-bottom:clamp(16px,2vw,24px);
}
html:not([data-theme="dark"]) .event-story-section--home .event-story-card{
  color:#1d1d1f;
}
html:not([data-theme="dark"]) .event-story-section--home .event-story-card-copy strong{
  color:#1d1d1f;
}
html:not([data-theme="dark"]) .event-story-section--home .event-story-card-copy small{
  color:rgba(29,29,31,.56);
}
html:not([data-theme="dark"]) .event-story-section--home .event-story-actions button{
  border-color:rgba(29,29,31,.14);
  background:rgba(255,255,255,.68);
  color:#1d1d1f;
  box-shadow:0 8px 24px rgba(20,20,24,.06);
}
html:not([data-theme="dark"]) .event-story-section--home .event-story-actions button:hover,
html:not([data-theme="dark"]) .event-story-section--home .event-story-actions button:focus-visible{
  border-color:#1d1d1f;
  background:#1d1d1f;
  color:#fff;
}

/* Modalità notte: conserva la grammatica scura originale. */
html[data-theme="dark"] .event-story-section--home{
  border-color:rgba(255,255,255,.1);
  background:
    radial-gradient(circle at 16% 24%,rgba(151,46,71,.32),transparent 30%),
    radial-gradient(circle at 88% 78%,rgba(145,96,55,.16),transparent 28%),
    linear-gradient(145deg,#111014,#1a1418 54%,#0b0b0d);
  color:#fff;
}

@media(max-width:1380px){
  .vv-header-institution-repubblica{height:41px}
  .vv-header-institution-repubblica img{height:41px;max-width:41px}
}
@media(max-width:1100px){
  .vv-header-institution-repubblica{height:35px}
  .vv-header-institution-repubblica img{height:35px;max-width:35px}
  .vv-footer-funding-logos img:nth-child(4){height:80px;max-width:80px}
}
@media(max-width:760px){
  .event-story-section--home .event-story-head--minimal.is-controls-only{display:none}
  .vv-footer-funding-logos img:nth-child(4){height:70px;max-width:70px}
}
@media(max-width:480px){
  .vv-footer-funding-logos img:nth-child(4){height:62px;max-width:62px}
}

/* =========================================================
   V91 — LOGHI HEADER LEGGIBILI + CHIUSURA FOOTER COMPATTA
   I marchi istituzionali acquistano presenza nell'header;
   la chiusura del footer riunisce testo e loghi in una sola
   riga, senza dispersioni e senza separatore esterno finale.
   ========================================================= */

/* Header: nessuna barra verticale dopo l'ultimo logo. */
.vv-header-institutions{
  margin-right:18px;
  padding-right:0;
  border-right:0;
}
.vv-header-institution{
  height:54px;
  padding-inline:18px;
}
.vv-header-institution+.vv-header-institution::before{
  top:8px;
  bottom:8px;
  background:rgba(255,255,255,.14);
}
.vv-header-institution-fsc img{
  height:35px;
  max-width:136px;
}
.vv-header-institution-regione img{
  height:43px;
  max-width:184px;
}
.vv-header-institution-tpt img{
  height:41px;
  max-width:168px;
}
.vv-header-institution-repubblica,
.vv-header-institution-repubblica img{
  height:54px;
}
.vv-header-institution-repubblica img{
  max-width:54px;
}

/* Footer: testo istituzionale a sinistra, marchi compatti a destra. */
.vv-footer-institutional{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  justify-content:stretch;
  gap:clamp(28px,4vw,64px);
  padding:30px 0 28px;
  border-top:1px solid rgba(255,255,255,.1);
}
.vv-footer-institutional>p{
  max-width:820px;
  margin:0;
}
.vv-footer-institutional-logos{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:clamp(12px,1.45vw,22px);
  min-width:0;
  white-space:nowrap;
}
.vv-footer-institutional-logos img{
  display:block;
  width:auto;
  max-width:100%;
  object-fit:contain;
  opacity:.9;
  filter:drop-shadow(0 2px 9px rgba(7,8,24,.12));
}
.vv-footer-institutional-logos img:nth-child(1){height:27px;max-width:104px}
.vv-footer-institutional-logos img:nth-child(2){height:31px;max-width:133px}
.vv-footer-institutional-logos img:nth-child(3){height:29px;max-width:118px}
.vv-footer-institutional-logos img:nth-child(4){height:42px;max-width:42px}

@media(max-width:1380px){
  .vv-header-institutions{margin-right:14px}
  .vv-header-institution{height:46px;padding-inline:12px}
  .vv-header-institution-fsc img{height:29px;max-width:112px}
  .vv-header-institution-regione img{height:36px;max-width:154px}
  .vv-header-institution-tpt img{height:34px;max-width:139px}
  .vv-header-institution-repubblica,
  .vv-header-institution-repubblica img{height:46px}
  .vv-header-institution-repubblica img{max-width:46px}
}
@media(max-width:1100px){
  .vv-header-institution{height:40px;padding-inline:7px}
  .vv-header-institution-fsc img{height:24px;max-width:94px}
  .vv-header-institution-regione img{height:30px;max-width:129px}
  .vv-header-institution-tpt img{height:28px;max-width:115px}
  .vv-header-institution-repubblica,
  .vv-header-institution-repubblica img{height:40px}
  .vv-header-institution-repubblica img{max-width:40px}
  .vv-footer-institutional{
    grid-template-columns:1fr;
    gap:22px;
  }
  .vv-footer-institutional-logos{
    justify-content:flex-start;
  }
}
@media(max-width:760px){
  .vv-footer-institutional{
    gap:20px;
    padding:27px 0 25px;
  }
  .vv-footer-institutional-logos{
    flex-wrap:wrap;
    gap:17px 20px;
  }
  .vv-footer-institutional-logos img:nth-child(1){height:24px;max-width:92px}
  .vv-footer-institutional-logos img:nth-child(2){height:28px;max-width:120px}
  .vv-footer-institutional-logos img:nth-child(3){height:26px;max-width:107px}
  .vv-footer-institutional-logos img:nth-child(4){height:38px;max-width:38px}
}


/* =========================================================
   V92 — STORIE HOMEPAGE SOLO SU SMARTPHONE
   Il carosello circolare resta disponibile sui telefoni, ma
   viene escluso completamente dalla composizione desktop e
   tablet. La freccia della hero usa una destinazione coerente
   con il dispositivo, evitando ancore nascoste.
   ========================================================= */
.hero-scroll-cue--mobile{display:none}

/* Desktop e tablet: il blocco non occupa spazio e non viene
   mostrato in alcuna modalità cromatica. */
.event-story-section--home{display:none}

@media(max-width:760px){
  .hero-scroll-cue--desktop{display:none}
  .hero-scroll-cue--mobile{display:grid}
  .event-story-section--home{display:block}
}


/* =========================================================
   V94 — TRE LOGHI ISTITUZIONALI CENTRATI NELL'HEADER
   Lo stemma della Repubblica resta esclusivamente nel footer;
   FSC, Regione Toscana e Toscana Promozione Turistica formano
   un gruppo centrato indipendente dalle azioni sulla destra.
   ========================================================= */
.vv-header-institutions{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  justify-content:center;
  margin-left:0;
  margin-right:0;
}
.vv-header-institution:first-child{padding-left:18px}
.vv-header-institution:last-child{padding-right:18px}

@media(max-width:1380px){
  .vv-header-institutions{margin-right:0}
  .vv-header-institution:first-child{padding-left:12px}
  .vv-header-institution:last-child{padding-right:12px}
}
@media(max-width:1100px){
  .vv-header-institution:first-child{padding-left:7px}
  .vv-header-institution:last-child{padding-right:7px}
}
@media(max-width:920px){
  .vv-header-institutions{display:none}
}

/* =========================================================
   V96 — VALDICHIANA AI
   Pulsante OpenAI nell'header, pannello conversazionale laterale,
   risultati provenienti esclusivamente dal catalogo del sito e
   schermata di configurazione nell'area amministrativa.
   ========================================================= */
.vv-ai-action{
  overflow:hidden;
  background:rgba(255,255,255,.09);
}
.vv-ai-action img{
  display:block;
  width:27px;
  height:27px;
  border-radius:50%;
  object-fit:contain;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.14));
  transition:transform .24s ease,filter .24s ease;
}
.vv-ai-action:hover img{transform:scale(1.06);filter:drop-shadow(0 5px 13px rgba(0,0,0,.2))}
.vv-ai-action[aria-expanded="true"]{
  background:#fff;
  border-color:#fff;
}
.vv-ai-action[aria-expanded="true"] img{transform:scale(1.08)}

.vv-ai-overlay{
  position:fixed;
  z-index:6990;
  inset:0;
  background:rgba(28,8,22,.72);
  backdrop-filter:blur(4px);
  opacity:0;
  visibility:hidden;
  transition:opacity .28s ease,visibility .28s ease;
}
.vv-ai-overlay.is-open{opacity:1;visibility:visible}
.vv-ai-panel{
  position:fixed;
  z-index:7000;
  top:0;
  right:0;
  bottom:0;
  width:min(500px,calc(100vw - 28px));
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr) auto;
  overflow:hidden;
  color:#27202a;
  background:#fbfafc;
  border-left:1px solid rgba(63,27,55,.12);
  box-shadow:-30px 0 80px rgba(25,5,18,.24);
  transform:translateX(105%);
  visibility:hidden;
  transition:transform .38s cubic-bezier(.22,.61,.36,1),visibility .38s ease;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;
}
.vv-ai-panel.is-open{transform:translateX(0);visibility:visible}
body.ai-panel-open{overflow:hidden}
.vv-ai-panel-head{
  min-height:94px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:22px 24px;
  border-bottom:1px solid rgba(50,25,46,.09);
  background:rgba(255,255,255,.84);
  backdrop-filter:blur(20px);
}
.vv-ai-brand{display:flex;align-items:center;gap:13px;min-width:0}
.vv-ai-brand>img{
  width:46px;
  height:46px;
  flex:0 0 46px;
  border-radius:50%;
  box-shadow:0 9px 24px rgba(15,171,137,.18);
}
.vv-ai-brand>div{display:grid;min-width:0}
.vv-ai-brand small{
  color:#7d6879;
  font-size:.59rem;
  font-weight:750;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.vv-ai-brand strong{
  margin-top:3px;
  overflow:hidden;
  color:#321a31;
  font-size:1.08rem;
  font-weight:700;
  letter-spacing:-.02em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.vv-ai-close{
  position:relative;
  width:42px;
  height:42px;
  flex:0 0 42px;
  border:1px solid rgba(50,25,46,.13);
  border-radius:50%;
  background:#fff;
  color:#4c2e48;
  cursor:pointer;
  transition:background .2s ease,transform .2s ease,border-color .2s ease;
}
.vv-ai-close:hover{background:#f1edf2;border-color:rgba(50,25,46,.24);transform:rotate(2deg)}
.vv-ai-close span{
  position:absolute;
  top:20px;
  left:11px;
  width:19px;
  height:1.4px;
  border-radius:999px;
  background:currentColor;
}
.vv-ai-close span:first-child{transform:rotate(45deg)}
.vv-ai-close span:last-child{transform:rotate(-45deg)}
.vv-ai-disclaimer{
  display:grid;
  grid-template-columns:30px 1fr;
  align-items:start;
  gap:11px;
  padding:15px 24px;
  border-bottom:1px solid rgba(50,25,46,.075);
  background:#f4f0f5;
}
.vv-ai-disclaimer>span{
  display:grid;
  place-items:center;
  width:29px;
  height:22px;
  margin-top:1px;
  border-radius:999px;
  background:#972e47;
  color:#fff;
  font-size:.55rem;
  font-weight:850;
  letter-spacing:.08em;
}
.vv-ai-disclaimer p{
  margin:0;
  color:#6d5a69;
  font-size:.69rem;
  line-height:1.48;
}
.vv-ai-conversation{
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:24px 22px 34px;
  scroll-behavior:smooth;
  background:
    radial-gradient(circle at 100% 0,rgba(15,171,137,.055),transparent 30%),
    linear-gradient(180deg,#fbfafc 0%,#f7f4f8 100%);
}
.vv-ai-message{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-bottom:16px;
}
.vv-ai-message.is-user{justify-content:flex-end}
.vv-ai-message-avatar{
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:50%;
  overflow:hidden;
  margin-top:2px;
}
.vv-ai-message-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.vv-ai-message-body{
  max-width:84%;
  padding:12px 14px;
  border:1px solid rgba(63,27,55,.09);
  border-radius:5px 18px 18px 18px;
  background:#fff;
  box-shadow:0 8px 24px rgba(48,24,45,.055);
}
.vv-ai-message.is-user .vv-ai-message-body{
  border:0;
  border-radius:18px 5px 18px 18px;
  background:#4a1838;
  color:#fff;
  box-shadow:0 9px 24px rgba(74,24,56,.16);
}
.vv-ai-message-body p{
  margin:0;
  color:inherit;
  font-size:.85rem;
  line-height:1.52;
}
.vv-ai-suggestions{
  display:grid;
  gap:9px;
  margin:5px 0 24px 40px;
}
.vv-ai-suggestions button{
  width:100%;
  min-height:43px;
  padding:9px 14px;
  border:1px solid rgba(74,24,56,.22);
  border-radius:999px;
  background:rgba(255,255,255,.76);
  color:#542342;
  font:inherit;
  font-size:.78rem;
  text-align:left;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.vv-ai-suggestions button:hover{background:#fff;border-color:#972e47;transform:translateX(2px)}
.vv-ai-results{
  display:grid;
  gap:10px;
  margin:2px 0 24px 40px;
}
.vv-ai-result{
  display:grid;
  grid-template-columns:72px minmax(0,1fr) 18px;
  align-items:center;
  gap:12px;
  min-height:82px;
  padding:8px 11px 8px 8px;
  border:1px solid rgba(63,27,55,.09);
  border-radius:17px;
  background:#fff;
  color:#2e202c;
  text-decoration:none;
  box-shadow:0 8px 24px rgba(48,24,45,.045);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.vv-ai-result:hover{transform:translateY(-2px);border-color:rgba(151,46,71,.32);box-shadow:0 13px 28px rgba(48,24,45,.085)}
.vv-ai-result-media{
  width:72px;
  height:66px;
  overflow:hidden;
  border-radius:12px;
  background:linear-gradient(145deg,#7b203d,#a83855);
}
.vv-ai-result-media img{display:block;width:100%;height:100%;object-fit:cover}
.vv-ai-result-media.is-empty{display:grid;place-items:center;color:#fff;font-size:.58rem;font-weight:850;letter-spacing:.08em}
.vv-ai-result-copy{display:grid;min-width:0}
.vv-ai-result-copy small{
  color:#917b8d;
  font-size:.56rem;
  font-weight:750;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.vv-ai-result-copy strong{
  display:-webkit-box;
  margin:3px 0;
  overflow:hidden;
  color:#321a31;
  font-size:.82rem;
  line-height:1.28;
  font-weight:720;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.vv-ai-result-copy span{
  overflow:hidden;
  color:#796774;
  font-size:.65rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.vv-ai-result>i{color:#9b8796;font-style:normal;font-size:1rem}
.vv-ai-typing .vv-ai-message-body{display:flex;gap:4px;padding:15px 16px}
.vv-ai-typing i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#967f91;
  animation:vvAiTyping 1.05s infinite ease-in-out;
}
.vv-ai-typing i:nth-child(2){animation-delay:.14s}
.vv-ai-typing i:nth-child(3){animation-delay:.28s}
@keyframes vvAiTyping{0%,70%,100%{opacity:.32;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}
.vv-ai-composer{
  position:relative;
  padding:15px 18px 14px;
  border-top:1px solid rgba(50,25,46,.09);
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(20px);
}
.vv-ai-composer textarea{
  display:block;
  width:100%;
  max-height:124px;
  min-height:56px;
  resize:none;
  padding:16px 58px 15px 16px;
  border:1px solid rgba(63,27,55,.14);
  border-radius:17px;
  outline:0;
  background:#fff;
  color:#30212e;
  font:inherit;
  font-size:.84rem;
  line-height:1.42;
  box-shadow:0 7px 22px rgba(48,24,45,.045);
  transition:border-color .2s ease,box-shadow .2s ease;
}
.vv-ai-composer textarea:focus{border-color:rgba(151,46,71,.58);box-shadow:0 0 0 4px rgba(151,46,71,.08)}
.vv-ai-composer>button{
  position:absolute;
  top:23px;
  right:27px;
  width:39px;
  height:39px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:#972e47;
  color:#fff;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,opacity .2s ease;
}
.vv-ai-composer>button:hover{background:#762138;transform:translateY(-1px)}
.vv-ai-composer>button:disabled{opacity:.45;cursor:wait;transform:none}
.vv-ai-composer>button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.vv-ai-composer-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 3px 0;
}
.vv-ai-composer-meta span{color:#745f70;font-size:.58rem;font-weight:700}
.vv-ai-composer-meta small{color:#a08f9d;font-size:.54rem;text-align:right}

html[data-theme="dark"] .vv-ai-panel{color:#f6eef4;background:#171217;border-left-color:rgba(255,255,255,.1)}
html[data-theme="dark"] .vv-ai-panel-head,
html[data-theme="dark"] .vv-ai-composer{background:rgba(25,18,24,.94);border-color:rgba(255,255,255,.09)}
html[data-theme="dark"] .vv-ai-brand strong{color:#fff}
html[data-theme="dark"] .vv-ai-brand small,
html[data-theme="dark"] .vv-ai-disclaimer p{color:rgba(255,255,255,.56)}
html[data-theme="dark"] .vv-ai-close{background:#211920;color:#fff;border-color:rgba(255,255,255,.14)}
html[data-theme="dark"] .vv-ai-disclaimer{background:#211920;border-color:rgba(255,255,255,.075)}
html[data-theme="dark"] .vv-ai-conversation{background:radial-gradient(circle at 100% 0,rgba(15,171,137,.08),transparent 30%),linear-gradient(180deg,#171217,#1d161c)}
html[data-theme="dark"] .vv-ai-message-body,
html[data-theme="dark"] .vv-ai-result,
html[data-theme="dark"] .vv-ai-suggestions button,
html[data-theme="dark"] .vv-ai-composer textarea{background:#251d24;color:#fff;border-color:rgba(255,255,255,.1)}
html[data-theme="dark"] .vv-ai-message.is-user .vv-ai-message-body{background:#8f2945}
html[data-theme="dark"] .vv-ai-result-copy strong{color:#fff}
html[data-theme="dark"] .vv-ai-result-copy span,
html[data-theme="dark"] .vv-ai-result-copy small{color:rgba(255,255,255,.52)}
html[data-theme="dark"] .vv-ai-suggestions button{color:#f4e9f0}
html[data-theme="dark"] .vv-ai-composer textarea{color:#fff}

/* Amministrazione AI */
.ai-admin-head h1{font-size:clamp(2.5rem,4vw,4rem)}
.ai-admin-status-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-bottom:20px;
}
.ai-admin-status{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  align-items:center;
  gap:14px;
  padding:18px;
}
.ai-admin-status-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:var(--paper-2);
  color:var(--red);
  font-size:.72rem;
  font-weight:900;
}
.ai-admin-status.is-ready .ai-admin-status-icon{background:rgba(40,120,77,.11);color:var(--success)}
.ai-admin-status.is-error .ai-admin-status-icon{background:rgba(161,29,45,.1);color:var(--danger)}
.ai-admin-status>div{display:grid;min-width:0}
.ai-admin-status small{color:var(--muted);font-size:.59rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.ai-admin-status strong{margin-top:3px;font-size:.9rem}
.ai-admin-status p{margin:3px 0 0;color:var(--muted);font-size:.67rem;line-height:1.4;overflow-wrap:anywhere}
.ai-admin-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.72fr);gap:20px;align-items:start}
.ai-admin-form{overflow:hidden}
.ai-admin-form-body{padding:24px}
.ai-admin-form-actions{display:flex;justify-content:flex-end;padding:0 24px 24px}
.ai-switch-field{padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}
.ai-admin-switch{display:flex!important;align-items:center;gap:11px;text-transform:none!important;letter-spacing:0!important;cursor:pointer}
.ai-admin-switch input{position:absolute;opacity:0;pointer-events:none}
.ai-admin-switch span{position:relative;width:42px;height:24px;flex:0 0 42px;border-radius:999px;background:#b9b1b5;transition:background .2s ease}
.ai-admin-switch span::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.18);transition:transform .2s ease}
.ai-admin-switch input:checked+span{background:var(--red)}
.ai-admin-switch input:checked+span::after{transform:translateX(18px)}
.ai-admin-switch b{font-size:.82rem}
.ai-remove-key-field label{display:flex;align-items:center;gap:8px;color:var(--danger);font-size:.74rem;text-transform:none;letter-spacing:0}
.ai-remove-key-field input{width:auto}
.ai-admin-guide{overflow:hidden}
.ai-admin-guide-body{padding:22px}
.ai-admin-guide ol{display:grid;gap:20px;margin:0;padding:0;list-style:none}
.ai-admin-guide li{display:grid;grid-template-columns:35px 1fr;gap:11px}
.ai-admin-guide li>span{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:var(--paper-2);color:var(--red);font-size:.58rem;font-weight:900}
.ai-admin-guide li div{display:grid}
.ai-admin-guide li strong{font-size:.79rem}
.ai-admin-guide li p{margin:4px 0 0;color:var(--muted);font-size:.7rem;line-height:1.48}
.ai-admin-security-note{margin:22px 0;padding:15px;border:1px solid rgba(40,120,77,.2);border-radius:14px;background:rgba(40,120,77,.07)}
.ai-admin-security-note strong{font-size:.75rem;color:var(--success)}
.ai-admin-security-note p{margin:4px 0 0;color:var(--muted);font-size:.68rem;line-height:1.45}
.btn-full{width:100%;justify-content:center}
.ai-admin-test-hint{margin:20px 0 0;color:var(--muted);font-size:.69rem;text-align:center}

@media(max-width:1180px){
  .ai-admin-layout{grid-template-columns:1fr}
  .ai-admin-status-grid{grid-template-columns:1fr 1fr}
  .ai-admin-status-grid article:last-child{grid-column:1/-1}
}
@media(max-width:920px){
  .vv-ai-action{display:grid}
}
@media(max-width:560px){
  .vv-ai-action img{width:24px;height:24px}
  .vv-ai-panel{width:100vw}
  .vv-ai-panel-head{min-height:78px;padding:16px 17px}
  .vv-ai-brand>img{width:40px;height:40px;flex-basis:40px}
  .vv-ai-disclaimer{padding:12px 17px}
  .vv-ai-conversation{padding:19px 14px 28px}
  .vv-ai-message-body{max-width:88%}
  .vv-ai-suggestions,.vv-ai-results{margin-left:40px}
  .vv-ai-result{grid-template-columns:62px minmax(0,1fr) 14px}
  .vv-ai-result-media{width:62px;height:60px}
  .vv-ai-composer{padding:12px 12px 10px}
  .vv-ai-composer>button{top:20px;right:21px}
  .vv-ai-composer-meta small{display:none}
  .ai-admin-status-grid{grid-template-columns:1fr}
  .ai-admin-status-grid article:last-child{grid-column:auto}
  .ai-admin-form-body{padding:18px}
  .ai-admin-form-actions{padding:0 18px 18px}
}
@media(prefers-reduced-motion:reduce){
  .vv-ai-panel,.vv-ai-overlay,.vv-ai-action img,.vv-ai-result,.vv-ai-suggestions button{transition:none}
  .vv-ai-typing i{animation:none;opacity:.7}
}


/* =========================================================
   V97 — ACCESSO ASSISTENTE AI IN DASHBOARD
   ========================================================= */
.sidebar{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:999px}.admin-brand,.sidebar-version{flex:0 0 auto}.sidebar-nav{flex:0 0 auto}.sidebar-nav .sidebar-ai-link{position:relative;background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.07));color:#fff;border:1px solid rgba(255,255,255,.15);margin:4px 0 8px}.sidebar-nav .sidebar-ai-link:hover,.sidebar-nav .sidebar-ai-link.active{background:rgba(255,255,255,.2);color:#fff}.sidebar-nav .sidebar-ai-link i{font-size:.62rem;font-weight:900;letter-spacing:-.04em}.sidebar-nav .sidebar-ai-link span{min-width:0}.sidebar-nav .sidebar-ai-link b{margin-left:auto;padding:3px 6px;border-radius:999px;background:#fff;color:#8f1f3d;font-size:.48rem;line-height:1;text-transform:uppercase;letter-spacing:.08em}.admin-ai-entry{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:18px;margin:0 0 22px;padding:20px 22px;border:1px solid rgba(159,39,69,.2);border-radius:20px;background:linear-gradient(135deg,rgba(159,39,69,.1),rgba(159,39,69,.025)),var(--surface);box-shadow:var(--shadow-soft)}.admin-ai-entry-mark{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:var(--red);color:#fff;font-weight:900;letter-spacing:-.06em}.admin-ai-entry-copy h2{font-family:var(--sans);font-size:1.05rem;margin:3px 0 5px}.admin-ai-entry-copy p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.55;max-width:760px}@media(max-width:850px){.admin-ai-entry{grid-template-columns:48px minmax(0,1fr);padding:17px}.admin-ai-entry-mark{width:48px;height:48px;border-radius:14px}.admin-ai-entry .btn{grid-column:1/-1;width:100%;justify-content:center}}


/* =========================================================
   TOP HEADER SOCIAL — V99
   I canali ufficiali sostituiscono l'etichetta di staging.
   ========================================================= */
.vv-topline-socials{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  margin-left:auto;
}
.vv-topline-socials a{
  display:grid;
  width:23px;
  height:23px;
  place-items:center;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  color:#fff;
  background:rgba(255,255,255,.055);
  text-decoration:none;
  opacity:.88;
  transition:background .2s ease,border-color .2s ease,opacity .2s ease,transform .2s ease;
}
.vv-topline-socials a:hover,
.vv-topline-socials a:focus-visible{
  color:#972e47;
  background:#fff;
  border-color:#fff;
  opacity:1;
  transform:translateY(-1px);
  outline:none;
}
.vv-topline-socials svg{
  width:12px;
  height:12px;
  fill:currentColor;
}

/* =========================================================
   V102 — Hero editoriali gestibili dal Theme Panel
   ========================================================= */
.experience-feature-media.has-editorial-slides{isolation:isolate}
.experience-editorial-hero-slides,
.experience-editorial-hero-slide{
  position:absolute;
  inset:0;
  display:block;
}
.experience-editorial-hero-slide{
  z-index:1;
  opacity:0;
  visibility:hidden;
  transform:scale(1.035);
  transition:opacity .7s ease,visibility .7s ease,transform 5.8s ease;
}
.experience-editorial-hero-slide.is-active{
  opacity:1;
  visibility:visible;
  transform:scale(1);
}
.experience-editorial-hero-slide img{width:100%;height:100%;object-fit:cover}
.experience-editorial-hero-controls{
  right:24px;
  bottom:24px;
  z-index:6;
}
.experience-editorial-hero-progress{
  z-index:6;
}
.experience-feature-media .editorial-feature-video-shell{
  width:100%;
  height:100%;
  max-width:none;
  aspect-ratio:auto;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.experience-feature-media .editorial-feature-video-shell video,
.experience-feature-media .editorial-feature-video-shell iframe{
  width:100%;
  height:100%;
  object-fit:cover;
}
@media (max-width:680px){
  .experience-editorial-hero-controls{left:14px;right:auto;bottom:14px}
}


/* V102 · Hero generiche configurabili */
.generic-hero-ui{justify-content:flex-end}

/* V103 — visibilità controllata dal Theme Panel */
.hero-slide-video video{width:100%;height:100%;object-fit:cover}
.builder-preview-page::before{content:"Anteprima bozza";position:fixed;z-index:99999;right:18px;bottom:18px;padding:8px 12px;border-radius:999px;background:rgba(0,0,0,.78);color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;backdrop-filter:blur(12px)}
@media(min-width:761px){.home-builder-hide-desktop{display:none!important}}
@media(max-width:760px){.home-builder-hide-mobile{display:none!important}.builder-preview-page::before{right:10px;bottom:10px;font-size:9px}}

/* =========================================================
   V109 — Dove dormire: archivio Esplora per località
   ========================================================= */
.accommodation-archive .accommodation-hero .explore-hero-overlay{
  background:
    linear-gradient(90deg,rgba(25,10,16,.86) 0%,rgba(25,10,16,.54) 47%,rgba(25,10,16,.18) 76%,rgba(25,10,16,.34) 100%),
    linear-gradient(180deg,rgba(25,10,16,.08),rgba(25,10,16,.42));
}
.accommodation-locality-options{
  grid-template-columns:repeat(auto-fit,minmax(154px,1fr))!important;
}
.accommodation-locality-options button{
  position:relative;
  min-height:72px!important;
  padding:11px 38px 11px 12px!important;
  justify-content:flex-start!important;
  text-align:left;
}
.accommodation-locality-options button>span{
  flex:0 0 auto;
}
.accommodation-locality-options button>strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.accommodation-locality-options button>small{
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  min-width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:color-mix(in srgb,var(--ink) 6%,transparent);
  color:var(--muted);
  font-size:.58rem;
  font-weight:800;
}
.accommodation-locality-options button.is-active>small{
  background:rgba(255,255,255,.17);
  color:#fff;
}
.accommodation-card .place-carousel-copy small{
  color:var(--red);
}
.accommodation-planning-section{
  position:relative;
  overflow:hidden;
  padding:clamp(72px,8vw,122px) 0;
  background:#2b2c46;
  color:#fff;
}
.accommodation-planning-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 86% 18%,rgba(151,46,71,.28),transparent 34%),
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:auto,42px 42px,42px 42px;
  mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.82),transparent);
}
.accommodation-planning-shell{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:clamp(48px,8vw,130px);
  align-items:end;
}
.accommodation-planning-shell h2{
  margin:12px 0 16px;
  max-width:760px;
  font-size:clamp(2.6rem,4.8vw,5rem);
  line-height:1.02;
  letter-spacing:-.035em;
}
.accommodation-planning-shell p{
  max-width:660px;
  margin:0;
  color:rgba(255,255,255,.68);
  font-size:1rem;
  line-height:1.75;
}
.accommodation-planning-shell nav{
  display:grid;
  border-top:1px solid rgba(255,255,255,.18);
}
.accommodation-planning-shell nav a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:19px 2px;
  border-bottom:1px solid rgba(255,255,255,.18);
  color:#fff;
  text-decoration:none;
  font-size:.88rem;
  font-weight:700;
  transition:padding-left .2s ease,color .2s ease;
}
.accommodation-planning-shell nav a:hover{
  padding-left:9px;
  color:#ead4c6;
}
.accommodation-single-page .listing-single-hero-content .breadcrumbs a:nth-of-type(2){color:#fff}
.accommodation-single-page .listing-map-card header>span svg{
  width:26px;
  height:26px;
}

html[data-theme="dark"] .accommodation-locality-options button>small{
  background:rgba(255,255,255,.07);
}
html[data-theme="dark"] .accommodation-locality-options button.is-active>small{
  background:rgba(255,255,255,.17);
}

@media(max-width:960px){
  .accommodation-locality-options{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .accommodation-planning-shell{grid-template-columns:1fr;gap:44px}
}
@media(max-width:640px){
  .accommodation-locality-options{
    display:flex!important;
    grid-template-columns:none!important;
  }
  .accommodation-locality-options button{
    min-height:52px!important;
    padding:8px 39px 8px 12px!important;
  }
  .accommodation-locality-options button>small{right:10px}
  .accommodation-planning-section{padding:68px 0}
  .accommodation-planning-shell h2{font-size:clamp(2.35rem,12vw,3.5rem)}
}

/* =========================================================
   V111 — PRIVACY POLICY / PAGINE INFORMATIVE NEWSROOM
   Layout editoriale a colonna singola, coerente con le pagine
   informative del portale e pienamente leggibile su mobile.
   ========================================================= */
.legal-newsroom-page{
  --legal-ink:#1d1d1f;
  --legal-muted:#6e6e73;
  --legal-line:rgba(29,29,31,.14);
  --legal-surface:#fff;
  background:var(--legal-surface);
  color:var(--legal-ink);
}
.legal-newsroom-main{overflow:hidden;background:var(--legal-surface)}
.legal-newsroom-hero{
  position:relative;
  padding:clamp(108px,12vw,172px) 0 clamp(70px,8vw,118px);
  border-bottom:1px solid var(--legal-line);
  background:
    radial-gradient(circle at 82% 18%,rgba(151,46,71,.13),transparent 33%),
    linear-gradient(135deg,#faf7f8 0%,#fff 50%,#f5eef0 100%);
}
.legal-newsroom-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.26;
  background-image:linear-gradient(rgba(151,46,71,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(151,46,71,.08) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.65),transparent 78%);
}
.legal-newsroom-hero-inner{
  position:relative;
  z-index:1;
  width:min(100% - 48px,1060px);
  margin:0 auto;
}
.legal-newsroom-breadcrumbs{display:flex;align-items:center;gap:9px;margin-bottom:clamp(38px,5vw,68px);color:var(--legal-muted);font-size:.72rem;font-weight:650;letter-spacing:.04em}
.legal-newsroom-breadcrumbs a{color:inherit;text-decoration:none}
.legal-newsroom-breadcrumbs a:hover{color:var(--red)}
.legal-newsroom-breadcrumbs strong{color:var(--legal-ink);font-weight:650}
.legal-newsroom-kicker{display:block;margin-bottom:18px;color:var(--red);font-size:.68rem;font-weight:760;letter-spacing:.16em;text-transform:uppercase}
.legal-newsroom-hero h1{max-width:860px;margin:0;color:var(--legal-ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;font-size:clamp(3.1rem,7vw,6.7rem);font-weight:650;letter-spacing:-.065em;line-height:.94}
.legal-newsroom-hero p{max-width:790px;margin:clamp(28px,3vw,42px) 0 0;color:#424245;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;font-size:clamp(1.14rem,1.75vw,1.52rem);font-weight:430;letter-spacing:-.018em;line-height:1.48}
.legal-newsroom-section{padding:clamp(64px,8vw,126px) 0 clamp(90px,10vw,150px);background:#fff}
.legal-newsroom-article{width:min(100% - 48px,940px);margin:0 auto}
.legal-newsroom-lead{display:grid;grid-template-columns:190px minmax(0,1fr);gap:clamp(28px,5vw,72px);padding-bottom:clamp(48px,6vw,82px);margin-bottom:clamp(52px,7vw,92px);border-bottom:1px solid var(--legal-line)}
.legal-newsroom-lead span{padding-top:7px;color:var(--red);font-size:.69rem;font-weight:760;letter-spacing:.13em;line-height:1.5;text-transform:uppercase}
.legal-newsroom-lead p{margin:0;color:#333336;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;font-size:clamp(1.55rem,2.6vw,2.35rem);font-weight:520;letter-spacing:-.035em;line-height:1.25}
.legal-newsroom-prose{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;color:#333336}
.legal-newsroom-prose h2{position:relative;margin:clamp(70px,8vw,112px) 0 26px;padding-left:25px;color:var(--legal-ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;font-size:clamp(1.65rem,2.8vw,2.45rem);font-weight:650;letter-spacing:-.038em;line-height:1.12}
.legal-newsroom-prose h2:first-child{margin-top:0}
.legal-newsroom-prose h2::before{content:"";position:absolute;left:0;top:.08em;width:4px;height:1.05em;border-radius:99px;background:var(--red)}
.legal-newsroom-prose h3{margin:42px 0 16px;color:var(--legal-ink);font-size:clamp(1.18rem,1.8vw,1.48rem);font-weight:680;letter-spacing:-.024em;line-height:1.25}
.legal-newsroom-prose p,.legal-newsroom-prose li{color:#424245;font-size:clamp(1rem,1.18vw,1.12rem);letter-spacing:-.006em;line-height:1.78}
.legal-newsroom-prose p{margin:0 0 22px}
.legal-newsroom-prose ul,.legal-newsroom-prose ol{display:grid;gap:12px;margin:22px 0 30px;padding-left:25px}
.legal-newsroom-prose li{padding-left:7px}
.legal-newsroom-prose li::marker{color:var(--red)}
.legal-newsroom-prose a{color:var(--red);text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere}
.legal-newsroom-prose strong{color:var(--legal-ink);font-weight:700}
html[data-theme="dark"] .legal-newsroom-page{--legal-ink:#f5f5f7;--legal-muted:#a1a1a6;--legal-line:rgba(255,255,255,.15);--legal-surface:#111113}
html[data-theme="dark"] .legal-newsroom-main,html[data-theme="dark"] .legal-newsroom-section{background:#111113}
html[data-theme="dark"] .legal-newsroom-hero{background:radial-gradient(circle at 82% 18%,rgba(183,70,98,.2),transparent 34%),linear-gradient(135deg,#171316 0%,#111113 54%,#1d1519 100%)}
html[data-theme="dark"] .legal-newsroom-hero p,html[data-theme="dark"] .legal-newsroom-lead p,html[data-theme="dark"] .legal-newsroom-prose,html[data-theme="dark"] .legal-newsroom-prose p,html[data-theme="dark"] .legal-newsroom-prose li{color:#d2d2d7}
@media(max-width:720px){
  .legal-newsroom-hero{padding:82px 0 62px}
  .legal-newsroom-hero-inner,.legal-newsroom-article{width:min(100% - 28px,940px)}
  .legal-newsroom-breadcrumbs{margin-bottom:34px;font-size:.66rem}
  .legal-newsroom-hero h1{font-size:clamp(2.65rem,14vw,4rem);letter-spacing:-.055em}
  .legal-newsroom-hero p{font-size:1.08rem;line-height:1.55}
  .legal-newsroom-section{padding:52px 0 86px}
  .legal-newsroom-lead{grid-template-columns:1fr;gap:15px;padding-bottom:44px;margin-bottom:54px}
  .legal-newsroom-lead span{padding-top:0}
  .legal-newsroom-lead p{font-size:clamp(1.35rem,7vw,1.78rem)}
  .legal-newsroom-prose h2{margin-top:58px;padding-left:19px;font-size:clamp(1.45rem,7vw,1.9rem)}
  .legal-newsroom-prose h2::before{width:3px}
  .legal-newsroom-prose h3{margin-top:34px}
  .legal-newsroom-prose p,.legal-newsroom-prose li{font-size:1rem;line-height:1.72}
}


/* =========================================================
   CORE WEB VITALS — V112
   ========================================================= */
img{max-width:100%;height:auto}
.hero-slide img,.place-carousel-media img,.journey-media img,.vv-experience-media img{height:100%}
.home-page .site-footer{content-visibility:auto;contain-intrinsic-size:900px}
@media(prefers-reduced-data:reduce){
  .vv-entry-grid,.vv-entry-radar{display:none}
  .hero-slide:not(.is-active){display:none}
}

/* =========================================================
   V118 — Storie collegate agli Eventi e media verticali adattivi
   ========================================================= */
.event-story-overlay{z-index:9}
.event-story-cta{position:relative;z-index:11;display:inline-flex;pointer-events:auto;touch-action:manipulation;align-items:center;justify-content:space-between;gap:18px;min-width:190px;margin-top:18px;padding:12px 16px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(18,14,17,.5);box-shadow:0 14px 38px rgba(0,0,0,.28);color:#fff;text-decoration:none;font-size:.7rem;font-weight:850;letter-spacing:.015em;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:transform .22s ease,background .22s ease,border-color .22s ease}
.event-story-cta[hidden]{display:none!important}
.event-story-cta:hover,.event-story-cta:focus-visible{transform:translateY(-2px);background:rgba(255,255,255,.19);border-color:rgba(255,255,255,.66);outline:none}
.event-story-cta i{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:#fff;color:#171217;font-style:normal;font-size:.72rem}

/* Hero Evento: per una copertina verticale non viene eseguito alcun crop.
   Lo stesso file diventa il fondale sfocato, mentre il poster resta integro. */
.event-adaptive-hero-slide.is-portrait-media{display:grid;place-items:center;overflow:hidden;background:#171217}
.event-adaptive-hero-slide.is-portrait-media::before{content:"";position:absolute;inset:-8%;z-index:0;background-image:var(--event-adaptive-image);background-position:center;background-size:cover;filter:blur(30px) saturate(.86);opacity:.72;transform:scale(1.12)}
.event-adaptive-hero-slide.is-portrait-media::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(11,9,12,.48),rgba(11,9,12,.12) 45%,rgba(11,9,12,.4)),linear-gradient(180deg,rgba(11,9,12,.08),rgba(11,9,12,.38))}
.event-adaptive-hero-slide.is-portrait-media img{position:relative;z-index:2;width:auto!important;max-width:min(48%,560px);height:92%!important;max-height:92%;margin:auto;object-fit:contain!important;border-radius:clamp(14px,1.6vw,24px);box-shadow:0 28px 70px rgba(0,0,0,.46)}

/* Card archivio Eventi: stessa logica cinematografica della hero. */
.event-adaptive-card-media.is-portrait-media{isolation:isolate;display:grid;place-items:center;background:#171217}
.event-adaptive-card-media.is-portrait-media::before{content:"";position:absolute;inset:-10%;z-index:0;background-image:var(--event-adaptive-image);background-position:center;background-size:cover;filter:blur(22px) saturate(.82);opacity:.76;transform:scale(1.16)}
.event-adaptive-card-media.is-portrait-media::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(15,11,14,.34),rgba(15,11,14,.08),rgba(15,11,14,.34))}
.event-adaptive-card-media.is-portrait-media>img{position:relative;z-index:2;width:auto!important;max-width:48%;height:90%!important;object-fit:contain!important;border-radius:12px;box-shadow:0 18px 40px rgba(0,0,0,.42)}
.event-adaptive-card-media.is-portrait-media .municipality-card-shade,.event-adaptive-card-media.is-portrait-media .municipality-card-kind,.event-adaptive-card-media.is-portrait-media .municipality-card-number{z-index:4}
.municipality-card.is-ongoing-event .municipality-card-kind{background:#fff;color:#7f2138;border-color:#fff}

@media(max-width:760px){
  .event-story-cta{width:100%;min-width:0;margin-top:15px;padding:11px 14px}
  .event-adaptive-hero-slide.is-portrait-media img{max-width:68%;height:94%!important;max-height:94%;border-radius:14px}
  .event-adaptive-card-media.is-portrait-media>img{max-width:54%;height:91%!important}
}
@media(prefers-reduced-motion:reduce){.event-story-cta{transition:none}.event-adaptive-hero-slide.is-portrait-media::before,.event-adaptive-card-media.is-portrait-media::before{filter:blur(24px)}}


/* =========================================================
   V120 — Video in evidenza degli Eventi
   ========================================================= */
.event-featured-video-priority{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:14px;
  align-items:start;
  margin:0 0 22px;
  padding:16px 18px;
  border:1px solid rgba(151,46,71,.18);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(151,46,71,.08),rgba(151,46,71,.02));
}
.event-featured-video-priority[hidden]{display:none!important}
.event-featured-video-priority>span{
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:#972e47;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
}
.event-featured-video-priority strong{display:block;margin:1px 0 4px;font-size:14px}
.event-featured-video-priority p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.experience-feature-media.has-featured-event-video{isolation:isolate;background:#09090a}
.event-featured-video-badge{
  position:absolute;
  z-index:8;
  top:18px;
  left:18px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  color:#fff;
  background:rgba(13,11,14,.64);
  box-shadow:0 10px 28px rgba(0,0,0,.22);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  font-size:11px;
  font-weight:800;
  letter-spacing:.075em;
  text-transform:uppercase;
  pointer-events:none;
}
.event-featured-video-badge i{font-style:normal;font-size:9px}
@media(max-width:680px){
  .event-featured-video-priority{grid-template-columns:36px minmax(0,1fr);padding:14px;border-radius:16px}
  .event-featured-video-priority>span{width:36px;height:36px;font-size:10px}
  .event-featured-video-badge{top:12px;left:12px;padding:8px 10px;font-size:10px}
}


/* =========================================================
   V121 — CTA Storie e archivio Eventi nel Theme Panel
   ========================================================= */
.event-story-cta{pointer-events:auto!important;touch-action:manipulation}
.event-story-cta *{pointer-events:none}

/* =========================================================
   V122 — Storie circolari "Per te" su desktop e mobile
   Un solo linguaggio visuale per homepage e archivio Eventi.
   ========================================================= */
.event-story-section--home,
.event-story-section--archive{
  padding-top:clamp(38px,4.8vw,70px);
  padding-bottom:clamp(42px,5.5vw,78px);
}
.event-story-head--minimal{
  align-items:center;
  margin-bottom:clamp(20px,2.4vw,30px);
}
.event-story-head--minimal h2{
  margin:0;
  font-size:clamp(1.55rem,2.2vw,2.35rem);
  line-height:1.08;
  letter-spacing:.01em;
}
.event-story-rail{
  gap:clamp(14px,1.45vw,22px);
  padding:4px 3px 12px;
  scroll-padding-inline:3px;
}
.event-story-card{
  flex:0 0 clamp(92px,8.4vw,118px);
  gap:9px;
  text-align:center;
}
.event-story-card-ring{
  width:100%;
  aspect-ratio:1;
  padding:3px;
  border-radius:50%;
  box-shadow:0 13px 30px rgba(0,0,0,.25);
}
.event-story-card-media{
  width:100%;
  height:100%;
  aspect-ratio:1;
  border-width:3px;
  border-radius:50%;
}
.event-story-card-media::after{
  background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.28));
}
.event-story-card-media i{
  left:auto;
  top:auto;
  right:3px;
  bottom:3px;
  width:28px;
  height:28px;
  border:2px solid #151116;
  background:#fff;
  color:#972e47;
  font-size:.52rem;
  transform:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.event-story-card-copy{
  gap:0;
  padding:0 2px;
  text-align:center;
}
.event-story-card-copy strong{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  color:#fff;
  font-size:clamp(.62rem,.72vw,.72rem);
  line-height:1.25;
  text-overflow:ellipsis;
}
.event-story-card-copy small{display:none}
.event-story-card:hover .event-story-card-ring,
.event-story-card:focus-visible .event-story-card-ring{
  transform:translateY(-2px);
  box-shadow:0 17px 36px rgba(0,0,0,.32);
}
.event-story-card-ring{transition:transform .22s ease,box-shadow .22s ease}
.event-story-card:focus-visible{outline:0}
.event-story-card:focus-visible .event-story-card-ring{outline:2px solid #fff;outline-offset:4px}

@media(max-width:760px){
  .event-story-section--home,
  .event-story-section--archive{padding-top:32px;padding-bottom:40px}
  .event-story-head--minimal{margin-bottom:18px}
  .event-story-head--minimal h2{font-size:clamp(1.38rem,6.6vw,1.9rem)}
  .event-story-rail{gap:13px;margin-inline:-2px;padding:3px 2px 10px}
  .event-story-card{flex-basis:82px;gap:8px}
  .event-story-card-media i{right:2px;bottom:2px;width:25px;height:25px;font-size:.48rem}
  .event-story-card-copy strong{display:block;overflow:hidden;font-size:.61rem;white-space:nowrap;text-overflow:ellipsis}
}
@media(prefers-reduced-motion:reduce){.event-story-card-ring{transition:none}}


/* =========================================================
   V123 — Storie desktop in homepage + H1 archivio Eventi
   Corregge il vecchio override V92 che nascondeva ancora il
   carosello su desktop e ripristina una testata semantica H1
   visibile prima della sezione "Per te".
   ========================================================= */
.event-story-section--home{
  display:block!important;
}
#home-stories-wrap{
  display:block!important;
}

.event-archive-title-section{
  position:relative;
  z-index:3;
  overflow:hidden;
  padding:clamp(54px,6.2vw,92px) 0 clamp(26px,3.2vw,46px);
  border-bottom:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 14% 20%,rgba(151,46,71,.25),transparent 30%),
    radial-gradient(circle at 90% 18%,rgba(145,96,55,.13),transparent 25%),
    linear-gradient(145deg,#111014 0%,#1a1418 56%,#0b0b0d 100%);
  color:#fff;
}
.event-archive-title-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.16;
  background-image:
    linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(90deg,#000,transparent 78%);
  -webkit-mask-image:linear-gradient(90deg,#000,transparent 78%);
}
.event-archive-title-section .wide-container{
  position:relative;
  z-index:1;
}
.event-archive-title-section .eyebrow{
  color:#dda9b6;
}
.event-archive-title-section h1{
  max-width:900px;
  margin:10px 0 16px;
  color:#fff;
  font-size:clamp(2.65rem,4.8vw,4.8rem);
  line-height:.94;
  letter-spacing:-.045em;
}
.event-archive-title-section p{
  max-width:760px;
  margin:0;
  color:rgba(255,255,255,.68);
  font-size:clamp(.82rem,1.05vw,1rem);
  line-height:1.75;
}
.event-archive-title-section + .event-story-section--archive{
  padding-top:clamp(30px,3.8vw,54px);
}

@media(max-width:760px){
  .event-archive-title-section{
    padding:42px 0 24px;
  }
  .event-archive-title-section h1{
    margin-top:8px;
    font-size:clamp(2.35rem,12vw,3.65rem);
  }
  .event-archive-title-section p{
    max-width:34rem;
    font-size:.78rem;
    line-height:1.65;
  }
  .event-archive-title-section + .event-story-section--archive{
    padding-top:28px;
  }
}

/* =========================================================
   V124 — Titolo "Per te" e Storie homepage più compatte
   La sezione mantiene i cerchi su desktop e mobile, ma riduce
   lo spazio verticale per eliminare il vuoto chiaro tra i blocchi.
   ========================================================= */
.event-story-section--home{
  padding-top:clamp(22px,2.3vw,34px);
  padding-bottom:clamp(24px,2.6vw,38px);
}
.event-story-section--home .event-story-head--minimal{
  margin-bottom:clamp(12px,1.35vw,18px);
}
.event-story-section--home .event-story-head--minimal h2{
  font-size:clamp(1.5rem,1.9vw,2.05rem);
  line-height:1.08;
  letter-spacing:.01em;
}
.event-story-section--home .event-story-rail{
  padding-top:2px;
  padding-bottom:5px;
}
html:not([data-theme="dark"]) .event-story-section--home .event-story-head--minimal h2{
  color:#1d1d1f;
}
#home-stories-wrap{
  min-height:0;
}

@media(max-width:760px){
  .event-story-section--home{
    padding-top:20px;
    padding-bottom:24px;
  }
  .event-story-section--home .event-story-head--minimal{
    margin-bottom:12px;
  }
  .event-story-section--home .event-story-head--minimal h2{
    font-size:clamp(1.32rem,6vw,1.72rem);
  }
  .event-story-section--home .event-story-rail{
    padding-bottom:3px;
  }
}

/* =========================================================
   V126 — Cerchi puliti e ordine manuale delle Storie
   ========================================================= */
.event-story-card-ring,
.event-story-card:hover .event-story-card-ring,
.event-story-card:focus-visible .event-story-card-ring{
  box-shadow:none!important;
}

/* =========================================================
   V127 — Rail Storie stabile durante lo scorrimento
   Le anteprime sono superfici statiche: nessun video, nessun
   filtro composito e nessuna riattivazione entrando nel viewport.
   ========================================================= */
.event-story-section--home,
.event-story-section--archive{
  contain:none;
  overflow-anchor:none;
}
html:not([data-theme="dark"]) .event-story-section--home{
  background:#f5f5f7;
}
html[data-theme="dark"] .event-story-section--home{
  background:#111014;
}
.event-story-rail{
  contain:none;
  overscroll-behavior-inline:contain;
  overflow-anchor:none;
}
.event-story-card{
  contain:none;
}
.event-story-card-ring,
.event-story-card:hover .event-story-card-ring,
.event-story-card:focus-visible .event-story-card-ring{
  transform:none!important;
  transition:none!important;
  box-shadow:none!important;
}
.event-story-card-media{
  contain:none;
}
.event-story-card-media img,
.event-story-card:hover .event-story-card-media img{
  transform:none!important;
  transition:none!important;
}
.event-story-card-frame{
  display:none!important;
}
.event-story-card-placeholder{
  display:grid;
  width:100%;
  height:100%;
  place-items:center;
  background:linear-gradient(145deg,#291820,#121014);
  color:rgba(255,255,255,.78);
}
.event-story-card-placeholder b{
  display:grid;
  width:34px;
  height:34px;
  place-items:center;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
  font-size:.62rem;
  font-weight:700;
}

/* V126 usava content-visibility sulle sezioni immediatamente vicine
   alle Storie. Su alcuni browser la rasterizzazione ripartiva ogni volta
   che si oltrepassava la fascia, producendo lo scatto segnalato. */
@supports(content-visibility:auto){
  .home-page .vv-journey-section,
  .home-page .places-carousel-section,
  .home-page .vv-experience-section,
  .home-page .territory-map-section{
    content-visibility:visible!important;
    contain-intrinsic-size:none!important;
  }
}

/* V133 · Prenotazioni Esperienze + scheda DMC */
.experience-book-now{
  display:inline-flex;align-items:center;justify-content:center;gap:14px;
  width:max-content;margin-top:24px;padding:13px 18px 13px 20px;border-radius:999px;
  background:#fff;color:#181715;text-decoration:none;font-size:.92rem;font-weight:850;
  letter-spacing:.015em;box-shadow:0 12px 30px rgba(0,0,0,.16);
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease
}
.experience-book-now i{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--brand-red);color:#fff;font-style:normal;font-size:.92rem}
.experience-book-now:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(0,0,0,.21);background:#fff}
.experience-booking-section{scroll-margin-top:92px;padding:clamp(72px,8vw,124px) 0;background:linear-gradient(180deg,var(--surface) 0%,color-mix(in srgb,var(--surface) 86%,var(--paper)) 100%)}
.experience-booking-wrap{display:block;width:min(100% - 40px,920px);margin-inline:auto}
.experience-booking-card{width:100%;border:1px solid color-mix(in srgb,var(--ink) 13%,transparent);border-radius:30px;background:color-mix(in srgb,var(--paper) 94%,transparent);box-shadow:0 24px 60px rgba(25,22,18,.07)}
.experience-booking-card{padding:clamp(28px,4vw,54px)}
.experience-dmc-public{display:grid;grid-template-columns:minmax(190px,.72fr) minmax(0,1.55fr);gap:clamp(24px,4vw,54px);align-items:start;margin:0 0 clamp(34px,4.5vw,54px);padding:0 0 clamp(30px,4vw,46px);border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}
.experience-dmc-public-head{min-width:0}.experience-dmc-public-kicker{display:block;margin:0 0 9px;color:var(--brand-red);font-size:.7rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.experience-dmc-public-head h2{margin:0;color:var(--ink);font-size:clamp(1.3rem,2.2vw,1.85rem);line-height:1.15;letter-spacing:-.018em}
.experience-dmc-public-details{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;min-width:0}.experience-dmc-public-item{display:grid;gap:5px;min-width:0}.experience-dmc-public-item:first-child{grid-column:1/-1}.experience-dmc-public-item span{color:color-mix(in srgb,var(--ink) 50%,transparent);font-size:.69rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.experience-dmc-public-item strong,.experience-dmc-public-item a{color:var(--ink);font-size:.91rem;font-weight:700;line-height:1.5;overflow-wrap:anywhere}.experience-dmc-public-item a{text-decoration:none;text-underline-offset:3px}.experience-dmc-public-item a:hover{text-decoration:underline}
[data-theme="dark"] .experience-dmc-public{border-bottom-color:rgba(255,255,255,.11)}
.experience-booking-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:18px;font-size:.71rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--brand-red)}
.experience-booking-eyebrow i{display:block;width:34px;height:1px;background:currentColor;opacity:.58}
.experience-booking-heading h2{margin:0;color:var(--ink);letter-spacing:-.025em}
.experience-booking-heading h2{font-size:clamp(1.85rem,3vw,3rem)}
.experience-booking-heading>p{margin:16px 0 0;color:color-mix(in srgb,var(--ink) 72%,transparent);line-height:1.72}
.experience-booking-heading{max-width:720px;margin-bottom:30px}
.experience-booking-notice{display:flex;flex-direction:column;gap:4px;margin:-4px 0 26px;padding:16px 18px;border-radius:16px;font-size:.9rem}
.experience-booking-notice.is-success{background:rgba(25,132,86,.10);border:1px solid rgba(25,132,86,.22);color:#155d42}
.experience-booking-notice.is-error{background:rgba(151,46,71,.09);border:1px solid rgba(151,46,71,.20);color:#81223c}
.experience-booking-notice strong{font-size:.94rem}.experience-booking-notice span{opacity:.86;line-height:1.45}
.experience-booking-form{position:relative}
.experience-booking-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.experience-booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.experience-booking-grid label{display:grid;gap:8px}
.experience-booking-grid label.is-full{grid-column:1/-1}
.experience-booking-grid label>span{font-size:.76rem;font-weight:850;letter-spacing:.055em;color:color-mix(in srgb,var(--ink) 70%,transparent)}
.experience-booking-grid input{width:100%;min-height:52px;border:1px solid color-mix(in srgb,var(--ink) 17%,transparent);border-radius:14px;background:color-mix(in srgb,#fff 82%,var(--paper));color:var(--ink);padding:0 15px;font:inherit;font-size:.98rem;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.experience-booking-grid input:focus{border-color:color-mix(in srgb,var(--brand-red) 72%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-red) 11%,transparent);background:#fff}
.experience-booking-submit{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:26px;padding-top:24px;border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}
.experience-booking-submit p{max-width:460px;margin:0;color:color-mix(in srgb,var(--ink) 54%,transparent);font-size:.77rem;line-height:1.55}
.experience-booking-submit p a{color:inherit;text-underline-offset:3px}
.experience-booking-submit button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:52px;padding:0 17px 0 22px;border:0;border-radius:999px;background:var(--brand-red);color:#fff;font:inherit;font-size:.91rem;font-weight:850;cursor:pointer;box-shadow:0 12px 28px rgba(151,46,71,.2);transition:transform .18s ease,box-shadow .18s ease}
.experience-booking-submit button i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.16);font-style:normal}
.experience-booking-submit button:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(151,46,71,.28)}
[data-theme="dark"] .experience-booking-card{background:color-mix(in srgb,var(--paper) 92%,#000);border-color:rgba(255,255,255,.1);box-shadow:0 28px 70px rgba(0,0,0,.18)}
[data-theme="dark"] .experience-booking-grid input{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.13);color:var(--ink)}
[data-theme="dark"] .experience-booking-grid input:focus{background:rgba(255,255,255,.08)}
[data-theme="dark"] .experience-booking-notice.is-success{color:#a9e6c9}
[data-theme="dark"] .experience-booking-notice.is-error{color:#f1afc0}
@media (max-width:900px){
  .experience-booking-section{scroll-margin-top:74px}
}
@media (max-width:620px){
  .experience-book-now{margin-top:20px;padding:11px 14px 11px 17px;font-size:.86rem}
  .experience-booking-section{padding:56px 0 70px}
  .experience-booking-wrap{width:min(100% - 24px,920px)}
  .experience-booking-card{border-radius:22px;padding:24px 20px;box-shadow:0 14px 34px rgba(25,22,18,.055)}
  .experience-dmc-public{grid-template-columns:1fr;gap:18px;margin-bottom:30px;padding-bottom:26px}
  .experience-dmc-public-details{grid-template-columns:1fr;gap:14px}.experience-dmc-public-item:first-child{grid-column:auto}
  .experience-booking-grid{grid-template-columns:1fr;gap:14px}.experience-booking-grid label.is-full{grid-column:auto}
  .experience-booking-submit{align-items:stretch;flex-direction:column}.experience-booking-submit button{width:100%}
}


/* V139 · Dati DMC su una sola riga desktop */
@media (min-width:1101px){
  .experience-booking-wrap{width:min(100% - 40px,1180px)}
  .experience-dmc-public{
    grid-template-columns:minmax(180px,.85fr) minmax(0,3.15fr);
    gap:32px;
    align-items:start
  }
  .experience-dmc-public-details{
    grid-template-columns:minmax(320px,1.75fr) minmax(180px,.9fr) minmax(300px,1.4fr);
    gap:28px;
    align-items:start
  }
  .experience-dmc-public-item:first-child{grid-column:auto}
  .experience-dmc-public-head h2,
  .experience-dmc-public-item strong,
  .experience-dmc-public-item a{
    white-space:nowrap;
    overflow-wrap:normal;
    word-break:normal
  }
  .experience-booking-heading,
  .experience-booking-notice,
  .experience-booking-form{
    width:min(100%,900px);
    margin-left:auto;
    margin-right:auto
  }
  .experience-booking-heading{max-width:900px}
}
@media (min-width:621px) and (max-width:1100px){
  .experience-dmc-public-item a{white-space:nowrap;overflow-wrap:normal;word-break:normal}
}

/* =========================================================
   V140 · DMC: spaziatura orizzontale riequilibrata
   Quattro colonne reali su desktop, con distanze uniformi.
   ========================================================= */
@media (min-width:1101px){
  .experience-booking-wrap{width:min(100% - 48px,1220px)}
  .experience-dmc-public{
    display:grid;
    grid-template-columns:minmax(190px,.92fr) minmax(350px,1.62fr) minmax(165px,.72fr) minmax(300px,1.25fr);
    column-gap:clamp(24px,2.35vw,38px);
    row-gap:0;
    align-items:start;
    padding-inline:clamp(2px,.55vw,8px)
  }
  .experience-dmc-public-details{display:contents}
  .experience-dmc-public-head,
  .experience-dmc-public-item{
    min-width:0;
    align-self:start
  }
  .experience-dmc-public-item:first-child{grid-column:auto}
  .experience-dmc-public-head h2{
    font-size:clamp(1.45rem,1.85vw,1.78rem)
  }
  .experience-dmc-public-item strong,
  .experience-dmc-public-item a{
    font-size:clamp(.88rem,1.03vw,.98rem);
    line-height:1.42
  }
  .experience-dmc-public-kicker,
  .experience-dmc-public-item span{
    margin-bottom:7px
  }
  .experience-dmc-public-item a{
    white-space:nowrap;
    overflow-wrap:normal;
    word-break:normal
  }
}

/* =========================================================
   V143 — SELETTORE LINGUA + MEGA PANEL MULTILINGUA
   ========================================================= */
.vv-language-action{
  width:62px;
  flex-basis:62px;
  grid-template-columns:20px auto;
  gap:6px;
  border-radius:999px;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;
}
.vv-language-action svg{width:19px;height:19px}
.vv-language-action strong{
  font-size:.69rem;
  line-height:1;
  font-weight:750;
  letter-spacing:.08em;
}
.vv-language-panel{
  position:fixed;
  z-index:2;
  inset:113px 0 0;
  overflow-y:auto;
  overscroll-behavior:contain;
  background:
    radial-gradient(circle at 76% 12%,rgba(255,255,255,.08),transparent 30%),
    radial-gradient(circle at 10% 88%,rgba(181,138,74,.12),transparent 32%),
    linear-gradient(145deg,#3d1020 0%,#681d34 53%,#4b1427 100%);
  color:#fff;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-14px);
  transition:opacity .28s ease,visibility .28s ease,transform .32s cubic-bezier(.22,.61,.36,1);
}
.vv-language-panel.open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}
.vv-language-grid{
  position:fixed;
  inset:113px 0 0;
  pointer-events:none;
  opacity:.2;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.78),transparent 90%);
}
.vv-language-shell{
  position:relative;
  z-index:1;
  min-height:100%;
  padding:clamp(38px,6vh,72px) 0 48px;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;
}
.vv-language-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  padding-bottom:28px;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.vv-language-heading>div>span{
  display:block;
  margin-bottom:8px;
  color:rgba(255,255,255,.56);
  font-size:.66rem;
  font-weight:750;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.vv-language-heading h2{
  margin:0;
  color:#fff;
  font-size:clamp(2rem,4vw,4rem);
  line-height:1;
  font-weight:570;
  letter-spacing:-.045em;
}
.vv-language-close{
  position:relative;
  width:44px;
  height:44px;
  flex:0 0 44px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:#fff;
  cursor:pointer;
}
.vv-language-close span{
  position:absolute;
  top:21px;
  left:12px;
  width:20px;
  height:1.5px;
  background:currentColor;
}
.vv-language-close span:first-child{transform:rotate(45deg)}
.vv-language-close span:last-child{transform:rotate(-45deg)}
.vv-language-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  padding:clamp(30px,5vh,54px) 0 28px;
}
.vv-language-options a{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 24px;
  align-items:center;
  gap:16px;
  min-height:104px;
  padding:20px 22px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  background:rgba(255,255,255,.055);
  color:#fff;
  text-decoration:none;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.vv-language-options a:hover{
  background:rgba(255,255,255,.11);
  border-color:rgba(255,255,255,.3);
  transform:translateY(-2px);
}
.vv-language-options a.is-current{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.42);
}
.vv-language-code{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:50%;
  color:rgba(255,255,255,.82);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
}
.vv-language-options a>span:nth-child(2){display:grid;gap:3px;min-width:0}
.vv-language-options strong{font-size:1.03rem;font-weight:650}
.vv-language-options small{color:rgba(255,255,255,.55);font-size:.72rem}
.vv-language-options i{font-style:normal;color:rgba(255,255,255,.52);text-align:right}
.vv-language-options a.is-current i{color:#fff}
.vv-language-note{
  max-width:720px;
  margin:0;
  color:rgba(255,255,255,.56);
  font-size:.78rem;
  line-height:1.55;
}
body.vv-language-open{overflow:hidden}

@media(max-width:850px){
  .vv-language-panel,.vv-language-grid{inset:76px 0 0}
  .vv-language-options{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vv-language-action{width:54px;flex-basis:54px}
}
@media(max-width:560px){
  .vv-language-action{width:42px;flex-basis:42px;grid-template-columns:1fr;gap:0}
  .vv-language-action svg{display:none}
  .vv-language-action strong{font-size:.64rem}
  .vv-language-shell{padding:26px 0 34px}
  .vv-language-heading{align-items:center;padding-bottom:22px}
  .vv-language-options{grid-template-columns:1fr;gap:9px;padding:24px 0 22px}
  .vv-language-options a{min-height:78px;padding:14px 16px;border-radius:14px}
  .vv-language-code{width:42px;height:42px}
}
@media(prefers-reduced-motion:reduce){
  .vv-language-panel,.vv-language-options a{transition:none}
}

/* =========================================================
   V145 — centratura selettore lingua header
   ========================================================= */
.vv-language-action{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:0 9px;
  box-sizing:border-box;
  text-align:center;
}
.vv-language-action svg{
  display:block;
  flex:0 0 19px;
  width:19px;
  height:19px;
  margin:0;
}
.vv-language-action strong{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  margin:0;
  padding:0;
  line-height:1;
  transform:translateY(.25px);
}
@media(max-width:850px){
  .vv-language-action{
    gap:4px;
    padding:0 7px;
  }
}
@media(max-width:560px){
  .vv-language-action{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    gap:0;
  }
  .vv-language-action svg{display:none}
  .vv-language-action strong{transform:none}
}


/* =========================================================
   V151 — FIX REGRESSIONE STORIE / EVENTI
   Le card dell'archivio Eventi mostrano sempre poster statici.
   Un vecchio HTML cacheato con <video>/<iframe> non può espandersi.
   ========================================================= */
.event-archive-page .municipality-card-media video,
.event-archive-page .municipality-card-media iframe,
.event-archive-page .event-past-card-media video,
.event-archive-page .event-past-card-media iframe{display:none!important}
.event-archive-page .municipality-card-media>img,
.event-archive-page .event-past-card-media>img{display:block;width:100%;height:100%;object-fit:cover}
.event-story-viewer[hidden]{display:none!important}


/* =========================================================
   V153 — Scelte di viaggio sempre centrate in base ai blocchi attivi
   Mantiene la larghezza originale delle card a 4 colonne e centra
   automaticamente gruppi da 1, 2 o 3 card senza lasciare vuoti laterali.
   ========================================================= */
@media(min-width:1221px){
  .journey-grid.journey-grid-count-4{
    width:100%;
    grid-template-columns:repeat(4,minmax(0,1fr));
    margin-inline:auto;
  }
  .journey-grid.journey-grid-count-3{
    width:calc((100% - 54px) * .75 + 36px);
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin-inline:auto;
  }
  .journey-grid.journey-grid-count-2{
    width:calc((100% - 54px) * .5 + 18px);
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin-inline:auto;
  }
  .journey-grid.journey-grid-count-1{
    width:calc((100% - 54px) * .25);
    grid-template-columns:minmax(0,1fr);
    margin-inline:auto;
  }
}

@media(min-width:761px) and (max-width:1220px){
  .journey-grid.journey-grid-count-1{
    width:calc(50% - 10px);
    grid-template-columns:minmax(0,1fr);
    margin-inline:auto;
  }
  .journey-grid.journey-grid-count-2{
    width:100%;
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin-inline:auto;
  }
  .journey-grid.journey-grid-count-3{
    width:100%;
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin-inline:auto;
  }
  .journey-grid.journey-grid-count-3 > .journey-card:last-child{
    grid-column:1 / -1;
    width:calc(50% - 10px);
    justify-self:center;
  }
  .journey-grid.journey-grid-count-4{
    width:100%;
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin-inline:auto;
  }
}

@media(max-width:760px){
  .journey-grid[class*="journey-grid-count-"]{
    width:100%;
    grid-template-columns:1fr;
    margin-inline:auto;
  }
  .journey-grid.journey-grid-count-3 > .journey-card:last-child{
    width:100%;
    grid-column:auto;
    justify-self:stretch;
  }
}

/* =========================================================
   V155 — Social Media / Multimedia + centratura dinamica card home
   ========================================================= */
@media(min-width:1221px){
  .home-page .vv-journey-section .journey-grid[class*="journey-grid-count-"]{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;width:100%;margin-inline:auto}
  .home-page .vv-journey-section .journey-grid[class*="journey-grid-count-"]>.journey-card,
  .home-page .vv-journey-section .journey-grid[class*="journey-grid-count-"]>.journey-card:last-child{flex:0 1 calc((100% - 54px)/4);width:auto;max-width:calc((100% - 54px)/4);grid-column:auto;justify-self:auto}
}
@media(min-width:761px) and (max-width:1220px){
  .home-page .vv-journey-section .journey-grid[class*="journey-grid-count-"]{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;width:100%}
  .home-page .vv-journey-section .journey-grid[class*="journey-grid-count-"]>.journey-card,
  .home-page .vv-journey-section .journey-grid[class*="journey-grid-count-"]>.journey-card:last-child{flex:0 1 calc(50% - 10px);width:auto;max-width:calc(50% - 10px);grid-column:auto;justify-self:auto}
}
.journey-multimedia{background:linear-gradient(150deg,#201719,#4d2028);color:#fff}

.vv-social-media-block{margin:58px 0 20px;padding-top:38px;border-top:1px solid var(--line)}
.vv-social-media-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:26px}
.vv-social-media-head h2{font-size:clamp(2.15rem,4vw,4rem);margin:7px 0 0;letter-spacing:-.035em}
.vv-social-media-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(290px,.72fr);gap:22px;align-items:start}
.vv-social-media-main{min-width:0}
.vv-social-media-player{aspect-ratio:16/9;background:#0c0c0c;border-radius:22px;overflow:hidden;box-shadow:var(--shadow-soft)}
.vv-social-media-player video,.vv-social-media-player iframe{display:block;width:100%;height:100%;border:0;object-fit:cover;background:#000}
.vv-social-media-copy{padding:19px 4px 0}
.vv-social-media-copy h3{font-size:clamp(1.5rem,2.4vw,2.15rem);margin:0 0 9px}
.vv-social-media-copy p{color:var(--muted);font-size:.98rem;line-height:1.65;margin:0;max-width:880px}
.vv-social-mobile-location{display:none;margin-top:18px}
.vv-social-media-rail{display:flex;flex-direction:column;gap:12px;max-height:620px;overflow:auto;padding-right:4px;scrollbar-width:thin}
.vv-social-media-item{display:grid;grid-template-columns:145px minmax(0,1fr);gap:12px;align-items:center;border:0;background:transparent;color:inherit;text-align:left;padding:5px;border-radius:15px;cursor:pointer;transition:.2s}
.vv-social-media-item:hover,.vv-social-media-item.is-active{background:var(--surface)}
.vv-social-media-thumb{position:relative;display:block;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#141414}
.vv-social-media-thumb img,.vv-social-media-thumb video{width:100%;height:100%;object-fit:cover;display:block}
.vv-social-media-thumb i{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:rgba(0,0,0,.62);color:#fff;font-style:normal;font-size:.75rem;padding-left:2px}
.vv-social-media-item-copy{min-width:0;display:flex;flex-direction:column;gap:5px}
.vv-social-media-item-copy strong{font-size:.94rem;line-height:1.25}
.vv-social-media-item-copy small{color:var(--muted);font-size:.75rem;line-height:1.35}

.multimedia-main{padding-bottom:100px}
.multimedia-hero{padding-top:82px;padding-bottom:48px}
.multimedia-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end;margin-top:12px}
.multimedia-hero h1{font-size:clamp(4rem,8vw,8rem);letter-spacing:-.055em;margin:0}
.multimedia-hero p{font-size:1.08rem;color:var(--muted);max-width:520px;margin:0 0 14px}
.multimedia-browser{padding-bottom:30px}
.multimedia-filters{position:sticky;top:88px;z-index:15;display:flex;gap:8px;overflow:auto;padding:12px 0 18px;background:var(--paper);scrollbar-width:none}
.multimedia-filters::-webkit-scrollbar{display:none}
.multimedia-filters button{white-space:nowrap;border:1px solid var(--line);background:var(--surface);color:inherit;border-radius:999px;padding:10px 17px;font-weight:800;cursor:pointer}
.multimedia-filters button.is-active{background:var(--red);border-color:var(--red);color:#fff}
.multimedia-location-block{padding:25px 0 48px}
.multimedia-location-block[hidden]{display:none!important}
.multimedia-location-block+.multimedia-location-block{border-top:1px solid var(--line)}
.multimedia-location-block .vv-social-media-block{margin-top:0;border-top:0;padding-top:0}
.multimedia-empty{padding:90px 0 140px;text-align:center}
.multimedia-empty strong{font-family:var(--serif);font-size:2.3rem}.multimedia-empty p{color:var(--muted)}

@media(max-width:980px){
  .vv-social-media-layout{grid-template-columns:1fr}
  .vv-social-media-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow:visible}
  .vv-social-media-item{grid-template-columns:125px minmax(0,1fr)}
  .multimedia-hero-grid{grid-template-columns:1fr;gap:18px}
}
@media(max-width:700px){
  .vv-social-media-block{margin-top:42px;padding-top:30px}
  .vv-social-media-head{align-items:flex-start}.vv-social-location-link{display:none}
  .vv-social-media-player{border-radius:16px}
  .vv-social-media-rail{display:flex;flex-direction:column}
  .vv-social-media-item{grid-template-columns:125px minmax(0,1fr);padding:4px 0}
  .vv-social-mobile-location{display:inline-flex}
  .multimedia-hero{padding-top:54px;padding-bottom:30px}
  .multimedia-filters{top:76px}
}

/* =========================================================
   V156 — Multimedia card: contrasto corretto in tema giorno
   ========================================================= */
.home-page .vv-journey-section .journey-card.journey-multimedia{
  background:linear-gradient(150deg,#201719 0%,#4d2028 100%);
  color:#fff;
}
.home-page .vv-journey-section .journey-card.journey-multimedia h3{
  color:#fff!important;
}
.home-page .vv-journey-section .journey-card.journey-multimedia p{
  color:rgba(255,255,255,.76)!important;
}
.home-page .vv-journey-section .journey-card.journey-multimedia .journey-meta small{
  color:rgba(255,255,255,.66)!important;
}
.home-page .vv-journey-section .journey-card.journey-multimedia .journey-meta span{
  color:#f4c6cf!important;
  border-color:rgba(255,255,255,.24)!important;
}
.home-page .vv-journey-section .journey-card.journey-multimedia .journey-action{
  color:#9f2f49!important;
  background:rgba(255,255,255,.9)!important;
  border-color:rgba(255,255,255,.38)!important;
}
.home-page .vv-journey-section .journey-card.journey-multimedia:hover .journey-action{
  color:#fff!important;
  background:var(--red)!important;
  border-color:var(--red)!important;
}
.home-page .vv-journey-section .journey-card.journey-multimedia .journey-media-label{
  color:#fff!important;
}

/* =========================================================
   V157 — Social Media: rail pulita + fotogrammi video reali
   ========================================================= */
.vv-social-media-item,
.vv-social-media-item:hover,
.vv-social-media-item.is-active{
  background:transparent!important;
}
.vv-social-media-item{
  padding:4px 0;
}
.vv-social-media-item:hover .vv-social-media-thumb,
.vv-social-media-item.is-active .vv-social-media-thumb{
  box-shadow:0 0 0 2px var(--red);
}
.vv-social-media-item.is-active .vv-social-media-item-copy strong{
  color:var(--red);
}
.vv-social-media-thumb video[poster]{
  object-fit:cover;
  background:#111;
}

/* =========================================================
   V159 — Social Media rail completamente flat
   Nessun fondo/box in light o dark; hover solo tipografico/immagine.
   ========================================================= */
.vv-social-media-rail .vv-social-media-item,
.vv-social-media-rail .vv-social-media-item:hover,
.vv-social-media-rail .vv-social-media-item:focus,
.vv-social-media-rail .vv-social-media-item:focus-visible,
.vv-social-media-rail .vv-social-media-item.is-active{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  outline:0;
}
.vv-social-media-rail .vv-social-media-item{
  padding:4px 0!important;
  border-radius:0!important;
}
.vv-social-media-rail .vv-social-media-thumb{
  box-shadow:none!important;
  transition:transform .18s ease,opacity .18s ease;
}
.vv-social-media-rail .vv-social-media-item:hover .vv-social-media-thumb,
.vv-social-media-rail .vv-social-media-item:focus-visible .vv-social-media-thumb,
.vv-social-media-rail .vv-social-media-item.is-active .vv-social-media-thumb{
  box-shadow:none!important;
  transform:translateY(-2px);
}
.vv-social-media-rail .vv-social-media-item:hover .vv-social-media-item-copy strong,
.vv-social-media-rail .vv-social-media-item:focus-visible .vv-social-media-item-copy strong,
.vv-social-media-rail .vv-social-media-item.is-active .vv-social-media-item-copy strong{
  color:var(--red)!important;
}
.vv-social-media-rail .vv-social-media-item-copy small{
  display:none!important;
}

/* =========================================================
   V160 — Social Media rail: scroll verticale desktop,
   carosello orizzontale swipe su mobile
   ========================================================= */
@media (min-width:981px){
  .vv-social-media-rail{
    max-height:620px;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:rgba(128,128,128,.38) transparent;
    padding-right:7px;
  }
  .vv-social-media-rail::-webkit-scrollbar{width:5px}
  .vv-social-media-rail::-webkit-scrollbar-track{background:transparent}
  .vv-social-media-rail::-webkit-scrollbar-thumb{
    background:rgba(128,128,128,.35);
    border-radius:999px;
  }
  .vv-social-media-rail::-webkit-scrollbar-thumb:hover{background:rgba(128,128,128,.55)}
}

@media (max-width:700px){
  .vv-social-media-layout{display:block}
  .vv-social-media-rail{
    display:flex!important;
    flex-direction:row!important;
    gap:14px;
    width:100%;
    max-height:none!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    margin-top:24px;
    padding:0 0 10px!important;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:0;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
  }
  .vv-social-media-rail::-webkit-scrollbar{display:none}
  .vv-social-media-rail .vv-social-media-item{
    display:flex!important;
    flex:0 0 min(78vw,310px);
    width:min(78vw,310px);
    flex-direction:column;
    align-items:stretch;
    gap:9px;
    padding:0!important;
    scroll-snap-align:start;
    text-align:left;
  }
  .vv-social-media-rail .vv-social-media-thumb{
    width:100%;
    aspect-ratio:16/9;
    border-radius:13px;
  }
  .vv-social-media-rail .vv-social-media-item-copy{display:block;min-width:0}
  .vv-social-media-rail .vv-social-media-item-copy strong{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    font-size:.92rem;
    line-height:1.25;
  }
}

/* =========================================================
   V163 — Località: titoli rail Social Media compatti
   Solo nelle pagine place; hub Multimedia invariato.
   ========================================================= */
@media (min-width:701px){
  .detail-page.type-place .vv-social-media-rail .vv-social-media-item{
    grid-template-columns:145px minmax(0,1fr);
    align-items:center;
  }
  .detail-page.type-place .vv-social-media-rail .vv-social-media-item-copy strong{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:.78rem;
    line-height:1.18;
    font-weight:800;
    max-height:3.54em;
  }
}

@media (min-width:981px){
  .detail-page.type-place .vv-social-media-rail .vv-social-media-item{
    min-height:82px;
  }
}


/* =========================================================
   V167 — Scelte di viaggio: ordine editoriale + carousel responsive
   ========================================================= */
.home-page .vv-journey-section .journey-carousel-shell{position:relative}
.home-page .vv-journey-section .journey-carousel-controls{display:flex;justify-content:flex-end;gap:8px;margin:0 0 14px}
.home-page .vv-journey-section .journey-carousel-controls button{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--ink);display:grid;place-items:center;font-size:1.15rem;cursor:pointer;transition:transform .2s ease,border-color .2s ease,opacity .2s ease}
.home-page .vv-journey-section .journey-carousel-controls button:hover:not(:disabled){transform:translateY(-2px);border-color:var(--red);color:var(--red)}
.home-page .vv-journey-section .journey-carousel-controls button:disabled{opacity:.28;cursor:default}
.home-page .vv-journey-section .journey-grid[class*="journey-grid-count-"]{display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start!important;gap:18px!important;width:100%!important;max-width:none!important;margin:0!important;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:2px 2px 12px}
.home-page .vv-journey-section .journey-grid[class*="journey-grid-count-"]::-webkit-scrollbar{display:none}
.home-page .vv-journey-section .journey-grid[class*="journey-grid-count-"]>.journey-card,
.home-page .vv-journey-section .journey-grid[class*="journey-grid-count-"]>.journey-card:last-child{flex:0 0 calc((100% - 54px)/4)!important;width:calc((100% - 54px)/4)!important;max-width:none!important;min-width:0;grid-column:auto!important;justify-self:auto!important;scroll-snap-align:start}
@media(max-width:1220px){
  .home-page .vv-journey-section .journey-grid[class*="journey-grid-count-"]>.journey-card,
  .home-page .vv-journey-section .journey-grid[class*="journey-grid-count-"]>.journey-card:last-child{flex-basis:calc((100% - 36px)/3)!important;width:calc((100% - 36px)/3)!important}
}
@media(max-width:900px){
  .home-page .vv-journey-section .journey-grid[class*="journey-grid-count-"]>.journey-card,
  .home-page .vv-journey-section .journey-grid[class*="journey-grid-count-"]>.journey-card:last-child{flex-basis:calc((100% - 18px)/2)!important;width:calc((100% - 18px)/2)!important}
}
@media(max-width:620px){
  .home-page .vv-journey-section .journey-carousel-controls{display:none}
  .home-page .vv-journey-section .journey-grid[class*="journey-grid-count-"]{gap:12px!important;padding-right:12vw}
  .home-page .vv-journey-section .journey-grid[class*="journey-grid-count-"]>.journey-card,
  .home-page .vv-journey-section .journey-grid[class*="journey-grid-count-"]>.journey-card:last-child{flex-basis:84%!important;width:84%!important}
}
\n\n/* V168 — Storia: card homepage */\n.home-page .vv-journey-section .journey-card.journey-history{background:linear-gradient(145deg,#f3e7dc 0%,#dbc0b3 58%,#cba395 100%);color:#2c251f}\n.home-page .vv-journey-section .journey-card.journey-history::before{background:linear-gradient(180deg,rgba(42,24,20,.04),rgba(42,24,20,.24))}\n.home-page .vv-journey-section .journey-card.journey-history h3{color:#2c251f!important}\n.home-page .vv-journey-section .journey-card.journey-history p{color:rgba(44,37,31,.76)!important}\n.home-page .vv-journey-section .journey-card.journey-history .journey-meta small{color:rgba(44,37,31,.62)!important}\n.home-page .vv-journey-section .journey-card.journey-history .journey-meta span{color:#972e47!important;border-color:rgba(151,46,71,.24)!important}\n.home-page .vv-journey-section .journey-card.journey-history .journey-action{color:#972e47!important;background:rgba(255,255,255,.74)!important;box-shadow:0 8px 24px rgba(60,29,24,.08)}\n[data-theme="dark"] .home-page .vv-journey-section .journey-card.journey-history{background:linear-gradient(145deg,#50182a 0%,#321d23 62%,#1d1719 100%);color:#fff}\n[data-theme="dark"] .home-page .vv-journey-section .journey-card.journey-history h3{color:#fff!important}\n[data-theme="dark"] .home-page .vv-journey-section .journey-card.journey-history p{color:rgba(255,255,255,.72)!important}\n[data-theme="dark"] .home-page .vv-journey-section .journey-card.journey-history .journey-meta small{color:rgba(255,255,255,.58)!important}\n[data-theme="dark"] .home-page .vv-journey-section .journey-card.journey-history .journey-meta span{color:#fff!important;border-color:rgba(255,255,255,.2)!important}\n[data-theme="dark"] .home-page .vv-journey-section .journey-card.journey-history .journey-action{color:#fff!important;background:rgba(255,255,255,.12)!important}

@media (max-width: 560px) {
}
/* ===== FINE ===== */

/* EXPERIENCE TESTI GIUSTIFICATI */
.experience-single-prose p,
.experience-single-prose li,
.experience-single-prose blockquote {
    text-align: justify !important;
}
/* FINE SINGLE JUSTIFY DEFAULT */

/* ===== SINGLE GLOBAL: TESTO SEMPRE GIUSTIFICATO ===== */
body.detail-page .prose p,
body.detail-page .prose > div,
body.detail-page .prose li,
body.detail-page .prose blockquote {
    text-align: justify !important;
}


/* LUOGHI: CORSIVO IDENTICO AL TESTO */
body.type-place.listing-single-page .prose em,
body.type-place.listing-single-page .prose i {
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    font-style: italic !important;
}

/* LUOGHI BODY = EXPERIENCE */
body.type-place.listing-single-page .prose > p,
body.type-place.listing-single-page .prose > p em,
body.type-place.listing-single-page .prose > p i,
body.type-place.listing-single-page .prose > div,
body.type-place.listing-single-page .prose > div em,
body.type-place.listing-single-page .prose > div i {
    font-family: var(--serif) !important;
    font-size: 1.18rem !important;
    line-height: 1.78 !important;
}

/* LUOGHI BODY = LINE HEIGHT EXPERIENCE */
body.type-place.listing-single-page .prose > p,
body.type-place.listing-single-page .prose > p em,
body.type-place.listing-single-page .prose > p i,
body.type-place.listing-single-page .prose > div,
body.type-place.listing-single-page .prose > div em,
body.type-place.listing-single-page .prose > div i,
body.type-place.listing-single-page .prose li {
    font-family: var(--font-main) !important;
    font-size: 1.18rem !important;
    line-height: 1.55 !important;
}

/* ===== STORIA: TYPOGRAPHY EXPERIENCE + MEDIA COERENTI ===== */
.history-page .history-copy {
    font-family: var(--serif) !important;
    font-size: clamp(1.04rem,1.15vw,1.13rem) !important;
    line-height: 1.82 !important;
}
.history-page .history-copy p {
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    margin: 0 0 2.15em !important;
    text-align: justify !important;
}
.history-rome-lead {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(360px,.9fr) !important;
    gap: clamp(32px,5vw,76px) !important;
    align-items: start !important;
}
.history-coins-inline {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 16px !important;
    margin: 0 !important;
}
.history-coins-inline figure {
    margin: 0 !important;
}
.history-coins-inline img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}
.history-rome-body {
    display: grid !important;
    grid-template-columns: minmax(220px,.55fr) minmax(0,1.45fr) minmax(220px,.65fr) !important;
    gap: clamp(28px,4vw,60px) !important;
    align-items: start !important;
}
.history-rome-body .history-rome-warrior {
    margin: 0 !important;
}
.history-rome-body .history-rome-warrior img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}
@media(max-width:1100px){
    .history-rome-lead{grid-template-columns:1fr !important}
    .history-rome-body{grid-template-columns:minmax(200px,.55fr) minmax(0,1.45fr) !important}
    .history-rome-body .history-route-callout{grid-column:1/-1 !important}
}
@media(max-width:760px){
    .history-page .history-copy{font-size:1rem !important;line-height:1.76 !important}
    .history-rome-body{grid-template-columns:1fr !important}
    .history-rome-body .history-route-callout{grid-column:auto !important}
    .history-coins-inline{grid-template-columns:1fr 1fr !important}
}
/* ===== FINE STORIA ===== */

/* ===== STORIA: NESSUN EFFETTO SCROLL ===== */
.history-page [data-history-reveal],
.history-page [data-history-chapter],
.history-page .history-chapter,
.history-page .history-section-head,
.history-page .history-copy,
.history-page figure,
.history-page .history-map-frame,
.history-page .history-coins,
.history-page .history-route-callout {
 opacity:1 !important;
 transform:none !important;
 translate:none !important;
 scale:1 !important;
 filter:none !important;
 clip-path:none !important;
 animation:none !important;
 transition:none !important;
 will-change:auto !important;
}
.history-page { scroll-behavior:auto !important; }
/* ===== FINE STORIA NO SCROLL ===== */

/* STORIA ROMA: LAYOUT DOPO RIMOZIONE GUERRIERO */
.history-page .history-rome-body {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(230px,300px) !important;
    gap:clamp(36px,5vw,72px) !important;
    align-items:start !important;
}
.history-page .history-rome-body .history-copy-wide {
    width:100
/* DMC EMAIL LUNGA: NIENTE OVERFLOW */
.experience-dmc-public-item:last-child{grid-column:1/-1!important;min-width:0!important}
.experience-dmc-public-item a[href^="mailto:"]{display:block!important;max-width:100%!important;overflow-wrap:anywhere!important;word-break:break-word!important;white-space:normal!important;font-size:clamp(.76rem,1vw,.91rem)!important}

/* DMC EXPERIENCE: DATI VERTICALI */
.experience-dmc-public{display:grid!important;grid-template-columns:1fr!important;align-items:start!important;text-align:left!important}
.experience-dmc-public-head{width:100%!important;text-align:left!important}
.experience-dmc-public-details{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;width:100%!important}
.experience-dmc-public-item,.experience-dmc-public-item:first-child,.experience-dmc-public-item:last-child{grid-column:1!important;width:100%!important;min-width:0!important}
.experience-dmc-public-item a[href^="mailto:"]{display:block!important;max-width:100%!important;overflow-wrap:anywhere!important;word-break:break-word!important;white-space:normal!important}

/* DMC: ETICHETTA PIU VICINA AL VALORE */
.experience-dmc-public-item{gap:2px!important}
.experience-dmc-public-item span{margin:0!important;line-height:1.1!important}
.experience-dmc-public-item strong,.experience-dmc-public-item a{margin:0!important;line-height:1.35!important}

/* DMC: ETICHETTA E VALORE PIU VICINI */
.experience-dmc-public-item{row-gap:0!important}
.experience-dmc-public-item span{margin:0 0 1px!important;line-height:1!important}
.experience-dmc-public-item strong,.experience-dmc-public-item a{margin:0!important;line-height:1.28!important}


/* =========================================================
   V173 — STORIE MOBILE STABILI (HOME + EVENTI)
   - dimensioni fisiche bloccate prima/dopo il caricamento immagini
   - niente size/layout containment su Safari iOS
   - niente scroll anchoring verticale provocato dai layout shift
   - il rail resta solo orizzontale
   ========================================================= */
@media (max-width:760px){
  .event-story-section,
  .event-story-section--home,
  .event-story-section--archive{
    contain:none!important;
    overflow-anchor:none!important;
  }

  .event-story-rail{
    contain:none!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:flex-start!important;
    gap:14px!important;

    width:100%!important;
    min-width:0!important;
    min-height:112px!important;

    margin-inline:-2px!important;
    padding:3px 2px 10px!important;

    overflow-x:auto!important;
    overflow-y:hidden!important;
    overflow-anchor:none!important;

    scroll-snap-type:none!important;
    scroll-behavior:auto!important;
    overscroll-behavior-x:contain!important;
    overscroll-behavior-y:none!important;
    -webkit-overflow-scrolling:touch;
  }

  .event-story-card{
    contain:none!important;
    box-sizing:border-box!important;

    display:grid!important;
    grid-template-rows:86px auto!important;
    align-content:start!important;
    justify-items:center!important;

    flex:0 0 86px!important;
    width:86px!important;
    min-width:86px!important;
    max-width:86px!important;

    height:auto!important;
    min-height:0!important;

    gap:8px!important;
    padding:0!important;
    margin:0!important;

    transform:none!important;
    transition:none!important;
    scroll-snap-align:none!important;
  }

  .event-story-card-ring,
  .event-story-card:hover .event-story-card-ring,
  .event-story-card:focus .event-story-card-ring,
  .event-story-card:focus-visible .event-story-card-ring{
    contain:none!important;
    box-sizing:border-box!important;

    display:block!important;

    width:86px!important;
    height:86px!important;
    min-width:86px!important;
    min-height:86px!important;
    max-width:86px!important;
    max-height:86px!important;

    padding:3px!important;
    margin:0!important;

    aspect-ratio:auto!important;
    border-radius:50%!important;

    transform:none!important;
    transition:none!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }

  .event-story-card-media{
    contain:none!important;
    box-sizing:border-box!important;

    position:relative!important;
    display:block!important;

    width:80px!important;
    height:80px!important;
    min-width:80px!important;
    min-height:80px!important;
    max-width:80px!important;
    max-height:80px!important;

    margin:0!important;
    aspect-ratio:auto!important;

    border:3px solid #151116!important;
    border-radius:50%!important;
    overflow:hidden!important;

    transform:none!important;
    transition:none!important;
  }

  .event-story-card-media img{
    position:absolute!important;
    inset:0!important;

    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-width:none!important;
    max-height:none!important;

    aspect-ratio:auto!important;
    object-fit:cover!important;
    object-position:center!important;

    transform:none!important;
    transition:none!important;
  }

  .event-story-card-placeholder{
    position:absolute!important;
    inset:0!important;
    display:grid!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    place-items:center!important;
    border-radius:50%!important;
    overflow:hidden!important;
  }

  .event-story-card-media::after{
    border-radius:50%!important;
  }

  .event-story-card-media i{
    left:50%!important;
    top:50%!important;
    right:auto!important;
    bottom:auto!important;

    width:29px!important;
    height:29px!important;

    transform:translate(-50%,-50%)!important;
  }

  .event-story-card-copy{
    box-sizing:border-box!important;
    display:block!important;

    width:86px!important;
    min-width:86px!important;
    max-width:86px!important;

    padding:0!important;
    margin:0!important;

    overflow:hidden!important;
    text-align:center!important;
  }

  .event-story-card-copy strong{
    display:block!important;
    width:100%!important;

    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;

    font-size:.62rem!important;
    line-height:1.25!important;
  }

  .event-story-card-copy small{
    display:none!important;
  }
}


/* =========================================================
   V174 — HOME MOBILE: CARD CAROSELLO PIÙ LARGHE
   Experience / Ispirati / Esplora / Organizza / Multimedia / Storia
   Mostra solo un piccolo accenno della card successiva.
   ========================================================= */
@media (max-width:760px){
  .home-page .vv-journey-section .journey-grid[class*="journey-grid-count-"]{
    gap:12px!important;
    padding-left:2px!important;
    padding-right:5vw!important;
    scroll-padding-left:2px!important;
  }

  .home-page .vv-journey-section .journey-grid[class*="journey-grid-count-"]>.journey-card,
  .home-page .vv-journey-section .journey-grid[class*="journey-grid-count-"]>.journey-card:last-child{
    flex:0 0 94%!important;
    flex-basis:94%!important;
    width:94%!important;
    max-width:94%!important;
  }
}


/* =========================================================
   V177 — CONSENSO PRIVACY / MEDIA ESTERNI
   ========================================================= */
.vv-footer-consent-link{
  appearance:none;border:0;background:none;padding:0;color:inherit;
  font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;
}
.vv-consent-root{position:relative;z-index:99990}
.vv-consent-root[hidden],
.vv-consent-banner[hidden],
.vv-consent-backdrop[hidden],
.vv-consent-preferences[hidden]{display:none!important}
.vv-consent-banner{
  position:fixed;left:50%;bottom:18px;z-index:99992;
  width:min(1160px,calc(100vw - 32px));
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;
  padding:18px 20px;
  color:#21161a;
  background:rgba(255,252,249,.96);
  border:1px solid rgba(151,46,71,.18);
  border-radius:26px;
  box-shadow:0 22px 70px rgba(43,16,25,.22),0 2px 8px rgba(43,16,25,.08);
  backdrop-filter:blur(20px) saturate(1.15);
  -webkit-backdrop-filter:blur(20px) saturate(1.15);
}
.vv-consent-brand{
  position:relative;display:grid;place-items:center;
  width:58px;height:58px;flex:0 0 58px;
  border-radius:18px;
  background:linear-gradient(145deg,#a73752,#742236);
  color:#fff;box-shadow:0 10px 24px rgba(151,46,71,.28);
  overflow:hidden;
}
.vv-consent-brand::before{
  content:"";position:absolute;inset:-24px;
  background:radial-gradient(circle at 25% 25%,rgba(255,255,255,.35),transparent 32%);
}
.vv-consent-brand span{position:relative;font-size:.78rem;font-weight:900;letter-spacing:.16em}
.vv-consent-brand i{position:absolute;right:8px;bottom:8px;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.16)}
.vv-consent-copy{min-width:0}
.vv-consent-eyebrow{
  display:block;margin:0 0 5px;color:#972e47;
  font-size:.69rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase
}
.vv-consent-copy h2,.vv-consent-preferences h2{
  margin:0;color:#27181e;font-family:inherit;font-size:clamp(1.08rem,1.8vw,1.42rem);
  line-height:1.15;letter-spacing:-.02em
}
.vv-consent-copy p,.vv-consent-preferences p{
  margin:7px 0 0;color:#67545b;font-size:.84rem;line-height:1.55
}
.vv-consent-copy a{color:#7f243a;font-weight:700;text-underline-offset:3px}
.vv-consent-actions{display:grid;grid-template-columns:auto auto;gap:8px;align-items:center}
.vv-consent-btn{
  appearance:none;border:1px solid rgba(45,23,31,.14);background:#f5eeef;color:#352229;
  min-height:42px;padding:0 15px;border-radius:13px;
  font:inherit;font-size:.78rem;font-weight:800;cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease
}
.vv-consent-btn:hover{transform:translateY(-1px);background:#efe4e7}
.vv-consent-btn.is-primary{
  border-color:#972e47;background:#972e47;color:#fff;
  box-shadow:0 8px 20px rgba(151,46,71,.2)
}
.vv-consent-btn.is-primary:hover{background:#7f243a}
.vv-consent-text-btn{
  grid-column:1/-1;appearance:none;border:0;background:none;color:#742236;
  padding:3px 5px;font:inherit;font-size:.75rem;font-weight:800;cursor:pointer
}
.vv-consent-backdrop{
  position:fixed;inset:0;z-index:99993;background:rgba(28,15,20,.54);
  backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)
}
.vv-consent-preferences{
  position:fixed;left:50%;top:50%;z-index:99994;transform:translate(-50%,-50%);
  width:min(720px,calc(100vw - 28px));max-height:min(760px,calc(100dvh - 28px));overflow:auto;
  padding:24px;
  color:#21161a;background:#fffaf8;border:1px solid rgba(151,46,71,.16);border-radius:28px;
  box-shadow:0 30px 90px rgba(34,13,20,.34)
}
.vv-consent-preferences-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid rgba(73,42,53,.1)}
.vv-consent-close{
  appearance:none;border:0;background:#f2e8eb;color:#6d2638;width:38px;height:38px;border-radius:50%;
  font-size:1.45rem;line-height:1;cursor:pointer
}
.vv-consent-category{
  display:flex;align-items:center;justify-content:space-between;gap:22px;
  padding:19px 0;border-bottom:1px solid rgba(73,42,53,.1)
}
.vv-consent-category strong{display:block;color:#2a1920;font-size:.94rem}
.vv-consent-category p{max-width:560px;margin-top:5px;font-size:.78rem}
.vv-consent-always{
  flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#f1e7ea;color:#742236;
  font-size:.67rem;font-weight:900;white-space:nowrap
}
.vv-consent-switch{position:relative;flex:0 0 50px;width:50px;height:29px;cursor:pointer}
.vv-consent-switch input{position:absolute;opacity:0;pointer-events:none}
.vv-consent-switch span{
  position:absolute;inset:0;border-radius:999px;background:#d7c9cd;box-shadow:inset 0 0 0 1px rgba(51,28,36,.08);
  transition:background .18s ease
}
.vv-consent-switch span::after{
  content:"";position:absolute;left:4px;top:4px;width:21px;height:21px;border-radius:50%;background:#fff;
  box-shadow:0 2px 7px rgba(33,17,23,.2);transition:transform .18s ease
}
.vv-consent-switch input:checked+span{background:#972e47}
.vv-consent-switch input:checked+span::after{transform:translateX(21px)}
.vv-consent-switch input:focus-visible+span{outline:3px solid rgba(151,46,71,.25);outline-offset:3px}
.vv-consent-preferences-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:20px}
body.vv-consent-modal-open{overflow:hidden!important}

/* Gate per YouTube / media esterni */
.vv-external-media-gate{
  position:absolute;inset:0;z-index:8;display:grid;place-items:center;padding:18px;
  background:linear-gradient(145deg,rgba(30,20,24,.92),rgba(74,29,42,.92));
  color:#fff;text-align:center
}
.vv-external-media-gate>div{max-width:330px}
.vv-external-media-gate strong{display:block;margin-bottom:6px;font-size:.9rem}
.vv-external-media-gate p{margin:0 0 12px;color:rgba(255,255,255,.78);font-size:.72rem;line-height:1.45}
.vv-external-media-gate button{
  appearance:none;border:1px solid rgba(255,255,255,.28);background:#fff;color:#742236;
  min-height:36px;padding:0 13px;border-radius:999px;font:inherit;font-size:.69rem;font-weight:900;cursor:pointer
}
.vv-social-media-player{position:relative}
.vv-social-youtube-thumb{
  display:grid;place-items:center;width:100%;height:100%;
  background:linear-gradient(145deg,#2e2025,#6c283b);color:#fff;font-size:.7rem;font-weight:900;letter-spacing:.08em
}

[data-theme="dark"] .vv-consent-banner{
  color:#f7eff1;background:rgba(25,19,21,.96);border-color:rgba(255,255,255,.1);
  box-shadow:0 22px 70px rgba(0,0,0,.42)
}
[data-theme="dark"] .vv-consent-copy h2,[data-theme="dark"] .vv-consent-preferences h2,
[data-theme="dark"] .vv-consent-category strong{color:#fff}
[data-theme="dark"] .vv-consent-copy p,[data-theme="dark"] .vv-consent-preferences p{color:#cdbfc4}
[data-theme="dark"] .vv-consent-preferences{color:#fff;background:#1c1618;border-color:rgba(255,255,255,.09)}
[data-theme="dark"] .vv-consent-category,[data-theme="dark"] .vv-consent-preferences-head{border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .vv-consent-btn{border-color:rgba(255,255,255,.09);background:#302528;color:#fff}
[data-theme="dark"] .vv-consent-always,[data-theme="dark"] .vv-consent-close{background:#33262b;color:#f3cbd5}

@media(max-width:760px){
  .vv-consent-banner{
    bottom:10px;width:calc(100vw - 18px);grid-template-columns:auto minmax(0,1fr);
    gap:12px;padding:15px;border-radius:22px
  }
  .vv-consent-brand{width:46px;height:46px;border-radius:14px}
  .vv-consent-copy h2{font-size:1rem}
  .vv-consent-copy p{font-size:.76rem;line-height:1.45}
  .vv-consent-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;width:100%}
  .vv-consent-btn{padding-inline:10px}
  .vv-consent-text-btn{padding-top:4px}
  .vv-consent-preferences{padding:18px;border-radius:22px}
  .vv-consent-category{align-items:flex-start}
  .vv-consent-preferences-actions{display:grid;grid-template-columns:1fr 1fr}
}

/* V178 — viewport stabile tra navigazioni */
html{background:var(--paper)}


/* =========================================================
   V179 — COOKIE BANNER: FIX LATO DESTRO / NO TAGLIO
   ========================================================= */
.vv-consent-banner{
  grid-template-columns:auto minmax(0,1fr) minmax(320px,auto)!important;
  overflow:hidden;
}
.vv-consent-actions{
  justify-self:end;
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:8px!important;
  max-width:100%!important;
}
.vv-consent-actions .vv-consent-btn{
  flex:0 1 auto;
  white-space:nowrap;
}
.vv-consent-actions .vv-consent-text-btn{
  grid-column:auto!important;
  width:100%;
  text-align:right!important;
  padding-right:4px!important;
}

@media (max-width: 1480px){
  .vv-consent-banner{
    grid-template-columns:auto minmax(0,1fr)!important;
  }
  .vv-consent-actions{
    grid-column:2!important;
    justify-self:stretch!important;
  }
}

@media (max-width:760px){
  .vv-consent-actions{
    grid-column:1/-1!important;
    justify-self:stretch!important;
  }
  .vv-consent-actions .vv-consent-text-btn{
    text-align:center!important;
    padding-right:0!important;
  }
}


/* =========================================================
   V180 — COOKIE BANNER: CENTRATURA FISICA, MAI FUORI VIEWPORT
   ========================================================= */
.vv-consent-banner{
  left:16px!important;
  right:16px!important;
  width:auto!important;
  max-width:1160px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
  transform:none!important;
  overflow:visible!important;

  grid-template-columns:auto minmax(0,1fr) minmax(0,420px)!important;
}

.vv-consent-copy{
  min-width:0!important;
}

.vv-consent-actions{
  min-width:0!important;
  width:100%!important;
  max-width:420px!important;
  justify-self:end!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:8px!important;
}

.vv-consent-actions .vv-consent-btn{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  padding-left:12px!important;
  padding-right:12px!important;
  white-space:normal!important;
  line-height:1.2!important;
}

.vv-consent-actions .vv-consent-text-btn{
  grid-column:1/-1!important;
  width:100%!important;
  text-align:center!important;
  padding-right:0!important;
}

@media (max-width:1180px){
  .vv-consent-banner{
    grid-template-columns:auto minmax(0,1fr)!important;
  }

  .vv-consent-actions{
    grid-column:2!important;
    justify-self:stretch!important;
    max-width:none!important;
  }
}

@media (max-width:760px){
  .vv-consent-banner{
    left:9px!important;
    right:9px!important;
    width:auto!important;
    max-width:none!important;
    grid-template-columns:auto minmax(0,1fr)!important;
  }

  .vv-consent-actions{
    grid-column:1/-1!important;
  }
}
