/*
Theme Name: 	dimaro
Description: 	Responsive WordPress Theme based on Boostrap and Font Awesome.
Version:     	1.0.1
Author:     	Ness Communication
Author URI:   http://www.nesscommunication.com
Site:         http://www.nesscommunication.com
Text Domain: 	dimaro
Domain Path: 	/languages
Tags:        	grid-layout, blog, custom-menu, featured-images, right-sidebar
License:    	GNU General Public License v3.0
License URI:	http://www.gnu.org/licenses/gpl-3.0.html
*/

body, html{ font-family: 'Poppins', sans-serif; font-size: 1em; color: #000;}
* { box-sizing: border-box; }

/*--------------------------
General
--------------------------*/

hr{border:none; border-bottom: 1px solid;}

/* form  */
input{border: 1px solid;}

input, textarea, select, button {
	width : auto;
	margin: 0;
	-webkit-box-sizing: border-box; /* For legacy WebKit based browsers */
	-moz-box-sizing: border-box; /* For legacy (Firefox <29) Gecko based browsers */
	box-sizing: border-box;
	border: 0;
}

pre{overflow: hidden}

/* Video Resposnive */
figure{margin:0;}
.video-container { position: relative; padding-bottom: 56.25%; /* 16:9 */ padding-top: 25px; height: 0;}
.video-container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%;}

a{color: #000;}
img{width: 100%;height: auto;}



.privacy-policy .site-header, .cmplz-document .site-header { background: #fff; color: var(--ink); --logo-ink: var(--red); box-shadow: 0 2px 24px rgba(33, 29, 26, .10); }
.privacy-policy .content, .cmplz-document .content{padding: 100px 0;}
.privacy-policy h2{ font-size: 2em; margin-top: 30px; margin-bottom: 10px; }

#cmplz-document{max-width: 100%;}


/*--------------------------
Layout
--------------------------*/

h1,h2,h3,h4,h5{font-weight: 500;margin:0;}
h1{font-size: 3em;}
h2{font-size: 3em;}
h3{font-size: 2.5;}
h4{font-size: 2em;}
h5{font-size: 1.5em;}
p{margin: 0;line-height: 26px;}

.p-0{padding: 0;}
.pl-0{padding-left:0;}
.pr-0{padding-right:0;}

.p-10{padding: 10px;}
.p-20{padding: 20px;}
.p-30{padding: 30px;}
.p-40{padding: 40px;}
.p-50{padding: 50px;}
.p-60{padding: 60px;}

.pb-0{padding-bottom: 0;}
.pb-10{padding-bottom: 10px;}
.pb-20{padding-bottom: 20px;}
.pb-30{padding-bottom: 30px;}
.pb-40{padding-bottom: 40px;}
.pb-60{padding-bottom: 60px;}

.pt-10{padding-top: 10px;}
.pt-20{padding-top: 20px;}
.pt-30{padding-top: 30px;}
.pt-40{padding-top: 40px;}
.pt-50{padding-top: 50px;}
.pt-60{padding-top: 60px;}

.m-0{margin: 0;}
.ml-0{margin-left:0;}
.mr-0{margin-right:0;}

.m-10{margin: 10px;}
.m-20{margin: 20px;}
.m-30{margin: 30px;}
.m-40{margin: 40px;}
.m-50{margin: 50px;}
.m-60{margin: 60px;}

.mb-0{margin-bottom: 0;}
.mb-10{margin-bottom: 10px;}
.mb-20{margin-bottom: 20px;}
.mb-30{margin-bottom: 30px;}
.mb-40{margin-bottom: 40px;}
.mb-60{margin-bottom: 60px;}

.mt-10{margin-top: 10px;}
.mt-20{margin-top: 20px;}
.mt-30{margin-top: 30px;}
.mt-40{margin-top: 40px;}
.mt-50{margin-top: 50px;}
.mt-60{margin-top: 60px;}

.d-f{display: flex;flex-wrap: wrap;}
.fd-c{flex-direction: column;}

.jc-c{justify-content: center;}
.jc-sb{justify-content: space-between;}
.jc-fs{justify-content: flex-start;}
.jc-fe{justify-content: flex-end;}

.ac-c{align-content: center;}
.ac-fs{align-content: flex-start;}
.ac-fe{align-content: flex-end;}

.ai-c{align-items: center;}
.ai-fs{align-items: flex-start;}
.ai-fe{align-items: flex-end;}

.ta-l{text-align: left;}
.ta-c{text-align: center;}
.ta-r{text-align: right;}

.fw-1{font-weight: 100;}
.fw-2{font-weight: 200;}
.fw-3{font-weight: 300;}
.fw-4{font-weight: 400;}
.fw-5{font-weight: 500;}
.fw-6{font-weight: 600;}
.fw-7{font-weight: 700;}
.fw-8{font-weight: 800;}
.fw-9{font-weight: 900;}

.fs-12{font-size: 0.75em;}
.fs-13{font-size: 0.8125em;}
.fs-14{font-size: 0.875em;}
.fs-15{font-size: 0.9375em;}
.fs-16{font-size: 1em;}
.fs-17{font-size: 1.0625em;}
.fs-18{font-size: 1.125em;}
.fs-19{font-size: 1.1875em;}
.fs-20{font-size: 1.25em;}
.fs-21{font-size: 1.312em;}
.fs-22{font-size: 1.375em;}
.fs-23{font-size: 1.4375em;}
.fs-24{font-size: 1.5em;}
.fs-25{font-size: 1.5em;}
.fs-26{font-size: 1.625em;}
.fs-27{font-size: 1.6875em;}
.fs-28{font-size: 1.75em;}
.fs-29{font-size: 1.8125em;}
.fs-30{font-size: 1.875em;}
.fs-31{font-size: 1.9375em;}
.fs-32{font-size: 2em;}
.fs-33{font-size: 2.0625em;}
.fs-34{font-size: 2.125em;}
.fs-35{font-size: 2.1875em;}
.fs-36{font-size: 2.25em;}
.fs-37{font-size: 2.3125em;}
.fs-38{font-size: 2.375em;}
.fs-39{font-size: 2.4375em;}
.fs-40{font-size: 2.5em;}
.fs-41{font-size: 2.5625em;}
.fs-42{font-size: 2.625em;}
.fs-100{font-size: 6.25em;}

.tt-u{text-transform: uppercase;}

.w-33{width: 33.33%;}
.w-50{width: 50%;}
.w-66{width: 66.66%;}
.w-100{width: 100%;}
.h-100{height: 100%}

.width-wrap{max-width: 1440px;margin: 0 auto; padding: 0 20px;}

.wpcf7 p {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;align-content: center;}
.wpcf7 p .wpcf7-form-control-wrap[data-name="acceptance"] { margin: 0; font-size: 12px; line-height: 18px; width: 70%; margin-right: auto; padding-left: 20px; }
.wpcf7 p .wpcf7-form-control-wrap input[type="checkbox"] { width: auto; margin: 0;}
.wpcf7 p .wpcf7-form-control-wrap input { width: 100%; text-transform: uppercase;margin-bottom: 20px;padding: 5px 10px;}
.wpcf7 p .wpcf7-form-control-wrap { width: calc(50% - 20px); }
.wpcf7 p .wpcf7-form-control-wrap[data-name="your-email"] { width: calc(100% - 20px); }
.wpcf7 p .wpcf7-form-control-wrap[data-name="your-message"] { width: calc(100% - 20px);}
.wpcf7 p .wpcf7-form-control-wrap textarea{width: 100%;height: 150px;padding: 5px 10px;margin-bottom: 20px;text-transform: uppercase;}
.wpcf7 p .wpcf7-form-control-wrap[data-name="acceptance"] a{display: inline-block; margin: 0; font-weight: 400;padding: 0;} 
.wpcf7-list-item{margin: 0;}
.wpcf7 p input[type="submit"]{background:#0d3857; color:#fff; border:none; width: calc(30% - 20px);padding: 10px;}
span.wpcf7-spinner{position: absolute;bottom: 40px;}

.button { padding: 5px 30px; border: 1px solid; width: auto; text-align: center; display: inline-block; border-radius: 20px; text-decoration: none; margin-left: 5px; text-transform: uppercase; font-size: 14px; font-weight: 600; }


/*--------------------------
Header
--------------------------*/

.header { width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; align-content: center; align-items: center; padding:0; position: fixed; top: 0; width: 100%; z-index: 999; background: #fff; }
.header__logo { color: #fff; text-decoration: none; display: block; width: 200px; }
.header__menu{padding:0;margin:0;list-style-type: none;text-align: center;}
.header__menu .menu-item{display: inline-block;}
.header__menu .menu-item a { padding: 12px 20px; text-decoration: none; font-size: 15px; line-height: 15px; font-weight: 500; display: inline-block; }
.header__menu .menu-item.current-menu-item a{text-decoration: underline;}
.header__icon-bar { display: none; }





/*--------------------------
Home
--------------------------*/


  :root{
    --red:#a50016; --red-dark:#7d0010;
    --orange:#ee8624; --gold:#f6b21b;
    --ink:#211d1a; --stone:#6b635c;
    --snow:#fbf9f6; --cloud:#ffffff;
    --line:rgba(33,29,26,.10);
    --winter:#2f6d8c; --winter-deep:#1d4a5e;
    --r:14px;
    --display:"Bricolage Grotesque",system-ui,sans-serif;
    --body:"Hanken Grotesk",system-ui,sans-serif;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:var(--body);color:var(--ink);background:var(--snow);line-height:1.6;-webkit-font-smoothing:antialiased}
  h1,h2,h3{font-family:var(--display);font-weight:800;line-height:1.04;letter-spacing:-.02em}
  a{color:inherit;text-decoration:none}
  img,svg{display:block}
  .wrap{max-width:1440px;margin:0 auto;padding:0 24px}
  .eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--red)}
  .btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--body);font-weight:600;font-size:.95rem;
    padding:.8em 1.5em;border-radius:100px;border:1.5px solid transparent;cursor:pointer;transition:transform .2s,background .2s,color .2s,border-color .2s}
  .btn-primary{background:var(--red);color:#fff}
  .btn-primary:hover{background:var(--red-dark);transform:translateY(-2px)}
  .btn-ghost{border-color:currentColor}
  .btn-ghost:hover{background:var(--red);color:#fff!important;border-color:var(--red);transform:translateY(-2px)}
  :focus-visible{outline:3px solid var(--red);outline-offset:3px;border-radius:4px}

  /* ---------- HEADER ---------- */
  .site-header{position:fixed;top:0;left:0;right:0;z-index:50;--logo-ink:#fff;color:#fff;transition:background .3s,color .3s,box-shadow .3s}
  .site-header.scrolled{background:#fff;color:var(--ink);--logo-ink:var(--red);box-shadow:0 2px 24px rgba(33,29,26,.10)}
  .header-inner{display:flex;align-items:center;gap:28px;height:84px;max-width:1440px;margin:0 auto;padding:0 24px}

  
  a.brand { flex: 1; }

  .brand-logo{width:160px;height:auto}
  .brand-logo path[fill="#fff"],.brand-logo rect[fill="#fff"]{fill:var(--logo-ink);transition:fill .3s}
  .main-nav { display: flex; gap: 20px; font-weight: 600; font-size: 1em; flex: 4; justify-content: center; }
  .main-nav a{position:relative;padding:4px 10px}
  .main-nav>a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--red);transition:width .25s}
  .main-nav>a:hover::after,.main-nav a:focus-visible::after{width:100%}
  .header-tools{margin-left:auto;display:flex;align-items:center;gap:18px}
  .tool{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;opacity:.9}
  button.tool{background:none;border:none;padding:0;margin:0;font-family:inherit;color:inherit;cursor:pointer}
  .tool:hover{opacity:1;color:var(--red)}
  .tool svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7}
  .nav-toggle{display:none;margin-left:auto;background:none;border:0;color:inherit;cursor:pointer;padding:0}
  .nav-toggle svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:2}


.site-header .header-tools img{transition: all .3s;}
.site-header.scrolled .header-tools img.trentino{filter: invert(1);}

.single .site-header, .search .site-header, .error404 .site-header{background:#fff;color:var(--ink);--logo-ink:var(--red);box-shadow:0 2px 24px rgba(33,29,26,.10)}
.single .site-header .header-tools img.trentino, .search .site-header .header-tools img.trentino, .error404 .site-header .header-tools img.trentino{filter: invert(1);}

.error404 article { min-height: 100dvh; display: flex; flex-wrap: wrap; align-items: center; align-content: center; justify-content: center; flex-direction: column; gap: 20px; }

.trp-shortcode-switcher__wrapper { display: flex; align-items: center; }
.trp-language-item{padding: 0!important;min-height: auto!important;}

  /* ---------- HERO ---------- */


  .hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;color:#fff; padding: 100px 0;}

  .home .hero { min-height: 70vh; padding: 100px 0; }

  .hero-sky { position: absolute; inset: 0; z-index: 0; background-size: cover; background-position: center; }
  .hero-sky img { width: 100%; height: 100%; object-fit: cover; }
  .hero-sky svg{width:100%;height:100%}
  .hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(40,12,8,.978),rgba(40,12,8,.50) 55%,rgba(40,12,8,.3));}
  .hero-content { position: relative; z-index: 2; padding: 100px 24px; max-width: 1440px; margin: 0 auto; width: 100%; text-align: center; }
  .hero .eyebrow { color: var(--gold); font-weight: 900; font-size: 1em; }
  .hero h1{font-size:5em;margin:20px 0 30px;text-shadow:0 2px 30px rgba(0,0,0,.25)}
  .hero p{font-size:1.25em;color:rgba(255,255,255,.92);font-weight:400;max-width: 600px;margin: 0 auto;}
  .hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; justify-content: center; }
  .hero-actions .btn-ghost{color:#fff}
  .hero-actions .btn-ghost:hover{background:#fff;color:var(--ink)!important;border-color:#fff}
  .scroll-cue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:2;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;opacity:.8;display:flex;flex-direction:column;align-items:center;gap:8px}
  .scroll-cue span{width:1px;height:34px;background:#fff;animation:cue 1.8s infinite}
  @keyframes cue{0%{transform:scaleY(.2);transform-origin:top;opacity:.4}50%{transform:scaleY(1);opacity:1}100%{transform:scaleY(.2);transform-origin:bottom;opacity:.4}}




  /* ---------- SECTION + SCOPRI IL TERRITORIO ---------- */
  .section{padding:96px 0}
  .section-head{max-width:620px;margin-bottom:48px}
  .section-head h2{font-size:3em;margin:.3em 0 .4em}
  .section-head p{color:var(--stone);font-size:1.08rem}
  .territory-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
  .territory-media{position:relative;border-radius:var(--r);overflow:hidden;min-height:460px;background:linear-gradient(160deg,#7a4a2c,#3c2415)}
  .territory-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .territory-text .eyebrow{display:block;margin-bottom:12px}
  .territory-text h2{font-size:3em;margin-bottom:20px}
  .territory-text p{color:var(--stone);font-size:1.06rem;margin-bottom:18px}
  .territory-text p strong{color:var(--ink);font-weight:600}
  .territory-text .btn{margin-top:8px}

  /* ---------- SEASONS (signature split) ---------- */
  .seasons{padding:0}
  .seasons-head{text-align:center;padding:90px 24px 40px;max-width:680px;margin:0 auto}
  .seasons-head h2{font-size:3em;}
  .seasons-head p{color:var(--stone);margin-top:14px;font-size:1.08rem}
  .split{display:flex;min-height:560px}
  .panel{position:relative;flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding:52px 48px;color:#fff;overflow:hidden;transition:flex .5s ease;cursor:pointer}
  .panel img { position: absolute; width: 100%; height: 100%; left: 0; bottom: 0; right: 0; object-fit: cover; top: 0; }
  .panel-summer:before { content: ''; background: linear-gradient(150deg, #e8861f 0%, #b5470d 70%, #8a3206 100%); position: absolute; left: 0; right: 0; top: 0; bottom: 0; opacity: .6; z-index: 1;}
  .panel-winter:before { content: ''; background: linear-gradient(150deg,#4a90ad 0%,#2f6d8c 55%,#163b4c 100%); position: absolute; left: 0; right: 0; top: 0; bottom: 0; opacity: .6;  z-index: 1;}
  .split:hover .panel{flex:.8}
  .split:hover .panel:hover{flex:1.5}
  .panel .season-tag{font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;opacity:.9}
  .panel h3{font-size:3em;margin:.18em 0 .5em}
  .panel ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
  .panel li{font-size:.86rem;font-weight:500;padding:.4em .9em;border-radius:100px;background:rgba(255,255,255,.16);backdrop-filter:blur(2px)}
  .panel .btn{align-self:flex-start;background:#fff;color:var(--ink)}
  .panel .btn:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}

  .testo { position: relative; z-index: 2; }

  /* ---------- STAY / hotel filter ---------- */
  .stay{background:var(--cloud)}
  .stay-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center}
  .stay-visual{position:relative;border-radius:var(--r);overflow:hidden;min-height:420px;background:linear-gradient(160deg,#b22130,#7d0010);color:#fff;display:flex;align-items:flex-end;padding:32px}
  .stay-visual .badge{font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
  .stay-visual h3{font-size:1.9rem;margin-top:8px}

  .stay-visual div { position: relative; z-index: 1; }
  .stay-visual img { position: absolute; left: 0; right: 0; width: 100%; height: 100%; object-fit: cover; top: 0; filter: brightness(0.6); }

  .filter-card{background:var(--snow);border:1px solid var(--line);border-radius:var(--r);padding:30px}
  .filter-card .eyebrow{margin-bottom:10px;display:block}
  .filter-card h2{font-size:2.5em;margin-bottom:8px}
  .filter-card>p{color:var(--stone);margin-bottom:22px}
  .chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
  .chip{font-family:var(--body);font-size:.9rem;font-weight:500;padding:.6em 1.1em;border-radius:100px;border:1.5px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;transition:all .18s;display:inline-flex;align-items:center;gap:7px}
  .chip:hover{border-color:var(--red)}
  .chip.is-active{background:var(--red);color:#fff;border-color:var(--red)}
  .chip .dot{width:7px;height:7px;border-radius:50%;background:var(--red);opacity:.35;transition:.18s}
  .chip.is-active .dot{background:#fff;opacity:1}
  .filter-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
  .filter-count{font-size:.9rem;color:var(--stone)}
  .filter-count b{color:var(--red)}

  /* ---------- GUEST CARD ---------- */
  .guestcard{background:var(--red);color:#fff}
  .gc-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center;padding:84px 24px;}
  .gc-visual img{width:100%;height:auto;display:block;filter:drop-shadow(0 24px 44px rgba(0,0,0,.35))}
  .gc-inner .eyebrow{color:var(--gold)}
  .gc-inner h2{font-size:3em;margin:.3em 0 .4em}
  .gc-inner>div>p{color:rgba(255,255,255,.9);max-width:460px}
  .gc-inner .btn{background:#fff;color:var(--red);margin-top:26px}
  .gc-inner .btn:hover{background:var(--gold);color:var(--ink)}
  .gc-perks{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:40px}
  .perk{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);border-radius:var(--r);padding:22px}
  .perk svg{width:26px;height:26px;stroke:var(--gold);fill:none;stroke-width:1.6;margin-bottom:10px}
  .perk h4{font-family:var(--display);font-weight:600;font-size:1.05rem;margin-bottom:4px}
  .perk p{font-size:.88rem;color:rgba(255,255,255,.82)}

  /* ---------- EVENTS + NEWS ---------- */
  .eventi-evidenza{padding:90px 0 100px;overflow:hidden}
  .eventi-evidenza .eyebrow{color:var(--gold)}
  .eventi-evidenza .section-head h2{font-size:2.3em}
  .eventi-evidenza .btn-ghost{border-color:rgba(255,255,255,.4);color:#fff}
  .eventi-evidenza .btn-ghost:hover{background:#fff;color:var(--ink)!important;border-color:#fff}
  .eventi-swiper { padding: 0 0 60px!important; }
  .eventi-swiper .swiper-slide{height:auto}
  .eventi-swiper .swiper-slide .card{height:100%;display:flex;flex-direction:column}
  .eventi-swiper .card-body{flex:1;display:flex;flex-direction:column}
  .eventi-swiper .swiper-pagination-bullet{opacity:.5}
  .eventi-swiper .swiper-pagination-bullet-active{background:var(--gold);opacity:1}
  .eventi-swiper .swiper-button-prev,.eventi-swiper .swiper-button-next{color:#fff;--swiper-navigation-size:20px}
  .eventi-swiper .swiper-button-prev:hover,.eventi-swiper .swiper-button-next:hover{color:var(--gold)}
  .evt-status{position:absolute;top:16px;right:16px;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.4em .8em;border-radius:100px;color:var(--ink)}
  .evt-status-corso{background:var(--gold)}
  .evt-status-passato{background:#fff;color:var(--stone)}
  .card.evt-passato{opacity:.75}
  .card.evt-passato .card-img img{filter:grayscale(.4)}
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .card{background:var(--cloud);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:transform .25s,box-shadow .25s}
  .card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(33,29,26,.10)}
  .card-img{position:relative;overflow:hidden}
  .card-img img{width:100%;height:100%;object-fit:cover;display:block}
  .card-tag{position:absolute;top:16px;left:16px;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;background:#fff;color:var(--red);padding:.4em .8em;border-radius:100px}
  .card-body{padding:22px}
  .card-date{font-size:.82rem;font-weight:600;color:var(--orange);margin-bottom:8px}
  .card-body h3 { font-family: var(--display); font-size: 1.2rem; font-weight: 600; line-height: 1.2; color: var(--ink); }
  .card-body p{font-size:.92rem;color:var(--stone);margin-top:8px}
  .news-list{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
  .news-item{border-top:2px solid var(--red);padding-top:18px}
  .news-item time{font-size:.8rem;font-weight:600;color:var(--stone)}
  .news-item h3{font-family:var(--display);font-size:1.08rem;font-weight:600;margin-top:8px;line-height:1.22}
  .news-item:hover h3{color:var(--red)}
  .section-head.row{display:flex;justify-content:space-between;align-items:flex-end;max-width:none}

  /* ---------- SERVICE STRIP ---------- */
  .service{background:var(--ink);color:#fff}
  .service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:56px 20px}
  .svc{display:flex;gap:18px;align-items:flex-start;padding:24px;border:1px solid rgba(255,255,255,.14);border-radius:var(--r);transition:border-color .2s}
  .svc:hover{border-color:var(--gold)}
  .svc-ic{flex:0 0 46px;height:46px;border-radius:12px;background:rgba(246,178,27,.14);display:flex;align-items:center;justify-content:center}
  .svc-ic svg{width:24px;height:24px;stroke:var(--gold);fill:none;stroke-width:1.7}
  .svc h3{font-family:var(--display);font-size:1.15rem;font-weight:600}
  .svc p{font-size:.88rem;color:rgba(255,255,255,.72);margin-top:4px}

  /* ---------- FOOTER ---------- */
  .site-footer{background:#16120f;color:rgba(255,255,255,.8);padding:64px 0 30px}
  .foot-grid { display: flex; gap: 40px; padding-bottom: 48px; border-bottom: 1px solid rgba(255, 255, 255, .12); justify-content: space-between; }
  .foot-brand .brand-logo{--logo-ink:#fff;width:170px;margin-bottom:18px}
  .foot-brand p{font-size:.9rem;}
  .foot-brand h4 { margin-top: 10px; font-family: var(--display); font-size: .95rem; font-weight: 600; color: #fff; margin-top: 14px; text-transform: uppercase; letter-spacing: .08em; }
  .foot-brand ul {padding: 0 20px;}
  .foot-brand ul li{font-size: .9rem;}
  .foot-col h4{font-family:var(--display);font-size:.95rem;font-weight:600;color:#fff;margin-bottom:14px;text-transform:uppercase;letter-spacing:.08em}
  .foot-col a{display:block;font-size:.9rem;padding:5px 0;color:rgba(255,255,255,.72)}
  .foot-col a:hover{color:var(--gold)}
  .foot-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding-top:24px;font-size:.84rem;color:rgba(255,255,255,.55)}
  .langs{display:flex;gap:14px}
  .langs a:hover{color:#fff}

  /* ---------- RESPONSIVE ---------- */
  
  
  
  
  /* mobile drawer */
  .drawer { position: fixed; inset: 0; z-index: 60; background: #fff; color: var(--ink); transform: translateX(100%); transition: transform .3s; padding: 70px 15px 20px; display: flex; flex-direction: column; gap: 4px; overflow-y: scroll;}
  .drawer.open{transform:translateX(0)}
  .drawer a{font-family:var(--display);font-weight:600;font-size:1.5rem;padding:14px 0;border-bottom:1px solid var(--line)}

  /* Sottomenu drawer mobile (voci con figli - click per aprire/chiudere) */
  .drawer-item{border-bottom:1px solid var(--line)}
  .drawer-item-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
  .drawer .drawer-item-link{flex:1;font-family:var(--display);font-weight:600;font-size:1rem;
    padding:14px 0;color:var(--ink);text-decoration:none;border-bottom:none}
  .drawer-item-toggle{flex-shrink:0;display:flex;align-items:center;justify-content:center;
    width:44px;height:44px;background:none;border:0;cursor:pointer;margin:-14px 0}
  .drawer-chevron{width:11px;height:11px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);
    transform:rotate(45deg);transition:transform .25s ease;flex-shrink:0}
  .drawer-item.open .drawer-chevron{transform:rotate(-135deg)}
  .drawer .drawer-submenu{max-height:0;overflow:hidden;transition:max-height .3s ease}
  .drawer-item.open .drawer-submenu{max-height:600px}
  .drawer .drawer-submenu a{display:block;font-family:var(--body);font-weight:500;font-size:1.05rem;
    padding:10px 0 10px 16px;border-bottom:none;color:var(--stone)}
  .drawer .drawer-submenu a:last-child{padding-bottom:16px}
  .drawer-close{position:absolute;top:24px;right:15px;background:none;border:0;cursor:pointer}
  .drawer-close svg{width:30px;height:30px;stroke:var(--ink);stroke-width:2;fill:none}

  /* Overlay ricerca a tutta pagina */
  .search-overlay{position:fixed;inset:0;z-index:70;background:var(--snow);
    display:flex;align-items:center;justify-content:center;
    opacity:0;visibility:hidden;transform:translateY(-12px);
    transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s}
  .search-overlay.open{opacity:1;visibility:visible;transform:translateY(0);
    transition:opacity .25s ease,transform .25s ease,visibility 0s linear 0s}
  .search-overlay-close{position:absolute;top:24px;right:24px;background:none;border:0;cursor:pointer;z-index:1}
  .search-overlay-close svg{width:30px;height:30px;stroke:var(--ink);stroke-width:2;fill:none}
  .search-overlay-inner{width:100%;max-width:760px;padding:0 28px;text-align:center}
  .search-overlay-form{display:flex;align-items:center;gap:16px;border-bottom:2px solid var(--ink);padding-bottom:18px}
  .search-overlay-input{flex:1;border:0;background:none;outline:none;
    font-family:var(--display);font-weight:600;font-size:2.4rem;color:var(--ink);
    letter-spacing:-.01em}
  .search-overlay-input::placeholder{color:var(--stone);opacity:.6}
  .search-overlay-submit{background:none;border:0;cursor:pointer;flex-shrink:0;padding:6px}
  .search-overlay-submit svg{width:30px;height:30px;stroke:var(--red);stroke-width:2;fill:none}
  .search-overlay-suggestions{margin-top:28px;display:flex;align-items:center;flex-wrap:wrap;
    justify-content:center;gap:10px;font-size:.85rem}
  .search-overlay-suggestions-label{color:var(--stone);font-weight:600}
  .search-overlay-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
  .search-overlay-chips a{display:inline-block;padding:.5em 1.1em;border-radius:100px;
    border:1.5px solid var(--line);color:var(--ink);font-weight:600;font-size:.85rem;transition:all .18s}
  .search-overlay-chips a:hover{border-color:var(--red);color:var(--red)}
  body.search-open{overflow:hidden}

  



  

  /*--------------------------
Pagina Webcam (page-webcam.php)
Embed live full-width (Panomax/Feratel) + riuso .terr-cultura-grid/card per la griglia statica
--------------------------*/
.webcam-embed-row { display: flex; gap: 40px; max-width: 1440px; margin: 0 auto; flex-wrap: wrap; }
.webcam-embed-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  display:flex;flex-direction:column;width: 100%;}
.webcam-embed-card iframe{width:100%;height:360px;border:0;display:block;background:var(--snow)}
.webcam-embed-caption{padding:14px 20px;font-family:var(--body);font-size:.8rem;font-weight:600;
  color:var(--ink);letter-spacing:.02em;border-top:1px solid var(--line)}



/*--------------------------
Pagina Meteo (page-meteo.php)
Box per widget esterno (3bMeteo/ilMeteo)
--------------------------*/
.meteo-widget-box{background:#fff;border:1px solid var(--line);border-radius:var(--r);
  max-width:900px;margin:0 auto;padding:24px;box-shadow:0 6px 28px rgba(0,0,0,.06)}
.meteo-widget-box iframe{width:100%;border:0;display:block}
.meteo-widget-placeholder{padding:64px 24px;text-align:center;background:var(--snow);border-radius:calc(var(--r) - 4px);
  color:var(--stone);font-size:.9rem;font-weight:500}



/*--------------------------
Index, Single, Page
--------------------------*/

.content{width: 100%;}
.content__title{font-size: 42px;}

	.post{padding:40px; border-bottom: 1px solid #eee;}
  .post img{max-width: 100%; height: auto;}

  .content .tag {margin-top:40px;}
	.content .tag a{background: #666; color:#fff; padding:5px 10px; text-decoration: none; display: inline-block;;margin-top:5px;font-size: 12px;}

	/* Comments */
	.comments{margin: 40px 0; border-top: 1px solid #eee}
	.commentlist,
	.commentlist .children{list-style-type: none}

	.comment-body{margin: 40px 0}
	.comment-author.vcard img{border-radius: 100%;}

	.comment-form-comment textarea{background: #eee; width:100%;border: 1px solid #ddd;margin-top:5px;}
	.comment-form-author input,
	.comment-form-email input,
	.comment-form-url input{background: #eee; width:200px; max-width:300px;border: 1px solid #ddd;padding:5px}

	.comment-form-author label,
	.comment-form-email label,
	.comment-form-url label{ width:100px;display: inline-block;}

	.form-submit input{background: #333; color:#fff; border:none;font-size: 16px;padding: 10px 15px;width: auto;}

  /* Pagination */
  .pagination{padding:40px;}
  .pagination a,
  .pagination span{padding: 10px 15px; border: 1px solid #ddd; text-decoration: none;}
  .pagination a:hover{background: #eee}

  /* Caption Images */
  .wp-caption { margin-bottom: 20px; padding: 10px; max-width: 97%; border: 1px solid #ddd; text-align: center; }
  .wp-caption img { margin: 0; padding: 0; width: 100%!important; height: auto; border: 0 none; }
  .wp-caption p.wp-caption-text { margin: 0; padding: 8px; font-size: 1em; line-height: 17px; }

  /* Gallery */
  .gallery { padding: 40px 0 40px 0; width: 100%; }
  .gallery-item {  width: 33.333333%; text-align: center; }
  .gallery img { margin: 0 5% 0 5%; width: 90%; height: auto; border: none!important; }
  .gallery-caption { width: 90%;margin:10px 0 0 0;}


/*--------------------------
Sidebar
--------------------------*/

.sidebar{width:30%;}
	.widget{padding:40px;}
	.widget ul{padding: 0;list-style-type: none;}
	.widget ul li a{text-decoration: none;display: block;border-bottom: 1px solid #eee;padding:10px 15px}

	.widget_search label{display: none;}


	footer{background-color: #f3f5f6;}
	footer p{font-size: 14px;}
	footer .copyright{padding: 40px;text-align: center;}


/*--------------------------
Desktop
--------------------------*/











/*--------------------------
Tablet
--------------------------*/




/*--------------------------
Smartphone
--------------------------*/








/*--------------------------
Appartamenti (CPT) - single + archive
--------------------------*/

/* =========================================================
   Appartamenti — single + archive
   Riusa la palette del front-page (rosso/oro/inchiostro).
   ========================================================= */
:root{
  --app-red:#a50016; --app-red-dark:#7d0010;
  --app-gold:#f6b21b; --app-orange:#ee8624;
  --app-ink:#211d1a; --app-stone:#6b635c;
  --app-snow:#fbf9f6; --app-line:rgba(33,29,26,.10);
  --app-r:14px;
  --app-display:"Bricolage Grotesque",system-ui,sans-serif;
  --app-body:"Hanken Grotesk",system-ui,sans-serif;
}

.app-wrap{max-width:1320px;margin:0 auto;padding:0 24px}

/*--------------------------
Eventi (CPT "evento") - archive + single
Usa le variabili globali del tema (--red/--ink/--stone/--line/--r), non le
--app-* (quelle sono storiche della sezione Servizi/ex-Appartamenti).
--------------------------*/

/* Filtro categoria (chip semplici, link ?categoria=slug - niente JS) */
.evt-filter-chips{display:flex;flex-wrap:wrap;gap:10px}
.evt-filter-chip{display:inline-block;padding:.55em 1.2em;border-radius:100px;
  border:1.5px solid var(--line);color:var(--ink);font-weight:600;font-size:.85rem;transition:all .18s}
.evt-filter-chip:hover{border-color:var(--red);color:var(--red)}
.evt-filter-chip.is-active{background:var(--red);border-color:var(--red);color:#fff}

/* Griglia archivio */

.wrap-eventi-nav{padding:32px 24px 0}
.wrap-eventi{padding: 40px 24px 80px;}
.evt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.evt-card{display:block;text-decoration:none;color:var(--ink);border-radius:var(--r);overflow:hidden;
  background:#fff;border:1px solid var(--line);transition:transform .2s,box-shadow .2s}
.evt-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(33,29,26,.1)}
.evt-card-img{position:relative;aspect-ratio:4/3;background-size:cover;background-position:center}
.evt-card-tag{position:absolute;top:14px;left:14px;background:#fff;color:var(--red);font-size:.72rem;
  font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.4em .9em;border-radius:100px}
.evt-card-body{padding:20px 22px 24px}
.evt-card-date{font-size:.78rem;font-weight:700;color:var(--red);text-transform:uppercase;letter-spacing:.03em;margin:0 0 8px}
.evt-card-body h3{font-family:var(--display);font-size:1.15rem;margin:0 0 8px}
.evt-card-body p{font-size:.88rem;color:var(--stone);line-height:1.5;margin:0}




/* Scheda singola evento */

.single h2{font-size: 2em;}

.evt-head{display:grid;grid-template-columns:1.5fr 1fr;gap:56px;padding:36px 0 80px;align-items:start}
.evt-head-media .app-descr{color:var(--ink)}
.evt-head-media .app-descr p{margin-bottom:16px;line-height:1.7}

.evt-info-box{padding:20px 0;border-bottom:1px solid var(--line)}
.evt-info-box:first-of-type{padding-top:0}
.evt-info-box h3{font-family:var(--display);font-size:.85rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.04em;margin:0 0 10px;color:var(--ink)}
.evt-info-box p{font-size:.92rem;color:var(--stone);margin:0 0 4px;line-height:1.5}
.evt-info-strong{color:var(--ink)!important;font-weight:700;font-size:1rem!important}

/* Sezione Dettagli (Costo/Durata/Numero partecipanti/Iscrizioni entro) */
.evt-details-section{background:var(--snow);border-radius:var(--r);padding:40px 44px;margin:8px 0 56px}
.evt-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px 60px;position:relative}
.evt-details-grid::before{content:"";position:absolute;top:-40px;bottom:-40px;left:50%;width:1px;
  background:var(--line);display:block}
.evt-detail-item{position:relative}
.evt-detail-dash{display:block;width:44px;height:4px;background:var(--red);border-radius:2px;margin-bottom:14px}
.evt-detail-item h4{font-family:var(--display);font-size:1.05rem;font-weight:800;color:var(--ink);margin:0 0 10px}
.evt-detail-item p{font-size:.92rem;color:var(--stone);line-height:1.6;margin:0}
.evt-detail-item p strong,.evt-detail-item p b{color:var(--ink);font-weight:700}



/*--------------------------
Cataloghi (CPT "catalogo") - archive-catalogo.php
Riusa .evt-filter-chips (gia' definite sopra per gli eventi) per il filtro categoria.
--------------------------*/
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.cat-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.cat-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(33,29,26,.1)}
.cat-card-img{aspect-ratio:3/4;background-size:cover;background-position:center;background-color:var(--snow)}
.cat-card-body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.cat-card-body h3{font-family:var(--display);font-size:1.1rem;margin:0}
.cat-card-body p{font-size:.88rem;color:var(--stone);line-height:1.5;margin:0;flex:1}
.cat-card-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.cat-card-actions .btn{padding:.6em 1.4em;font-size:.85rem}







/*--------------------------
News (single.php / index.php) - articoli WordPress classici
--------------------------*/
.news-article{max-width:820px;margin:0 auto;padding:12px 0 40px}
.news-article h1{font-family:var(--display);font-weight:800;font-size:2.4rem;margin:12px 0 6px;line-height:1.15}
.news-article-meta{color:var(--stone);font-size:.9rem;margin:0 0 28px}
.news-article-cover{border-radius:var(--r);overflow:hidden;margin-bottom:32px;aspect-ratio:16/9}
.news-article-cover img{width:100%;height:100%;object-fit:cover;display:block}
.news-article-content{font-size:1.05rem;max-width:720px}
.news-article-content h2,.news-article-content h3{font-family:var(--display);margin:32px 0 14px}
.news-article-content img{max-width:100%;height:auto;border-radius:var(--r);margin:20px 0}
.news-article-tags{margin-top:32px;padding-top:24px;border-top:1px solid var(--line);font-size:.9rem;color:var(--stone)}
.news-article-tags a{color:var(--ink);text-decoration:underline;margin-right:6px}
.news-article-comments{max-width:820px;margin:0 auto 80px}



/* ---------- Breadcrumb ---------- */
.app-breadcrumb{display:flex;align-items:center;justify-content:space-between;gap:16px;
  font-family:var(--app-body);font-size:.85rem;color:var(--app-stone);margin:120px 0 28px;flex-wrap:wrap}
.app-breadcrumb a{color:var(--app-ink);font-weight:600}
.app-breadcrumb a:hover{color:var(--app-red)}
.app-breadcrumb .sep{margin:0 8px;opacity:.5}
.app-breadcrumb .current{color:var(--app-red);font-weight:700}
.app-breadcrumb .back{font-weight:600;color:var(--app-ink)}
.app-breadcrumb .back:hover{color:var(--app-red)}

/* ---------- Header scheda ---------- */
.app-head{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start;margin-bottom:48px}
.app-head-media img{width:100%;border-radius:var(--app-r);aspect-ratio:4/3;object-fit:cover}
.app-head-media{position:relative}
.app-head-info h1{font-family:var(--app-display);font-weight:800;font-size:2rem;letter-spacing:-.02em;margin:0 0 6px}
.app-tipologia{font-size:.95rem;color:var(--app-stone);margin-bottom:18px}
.app-localita{font-weight:700;color:var(--app-red);margin-bottom:2px}
.app-indirizzo{color:var(--app-stone);margin-bottom:22px}

.app-rating{display:inline-flex;align-items:center;gap:12px;margin-bottom:26px}
.app-rating .score{background:#2f6d8c;color:#fff;font-weight:800;border-radius:8px;
  padding:6px 10px;font-size:1.1rem;font-family:var(--app-display)}
.app-rating .meta{font-size:.9rem}
.app-rating .meta strong{display:block;font-weight:700}
.app-rating .meta span{color:var(--app-stone)}

.app-cta{display:inline-flex;align-items:center;gap:.5em;font-family:var(--app-body);font-weight:600;font-size:.95rem;
  padding:.8em 1.6em;border-radius:100px;border:none;cursor:pointer;background:var(--app-red);color:#fff;
  text-decoration:none;transition:background .2s,transform .2s}
.app-cta:hover{background:var(--app-red-dark);transform:translateY(-2px)}

.app-contacts{border-top:1px solid var(--app-line);margin-top:28px;padding-top:22px}
.app-contacts h3{font-family:var(--app-display);font-size:1.05rem;margin-bottom:14px}
.app-contacts-list{display:flex;flex-wrap:wrap;gap:28px}
.app-contacts-list a,.app-contacts-list span{display:flex;align-items:center;gap:10px;font-weight:600;font-size:.92rem;color:var(--app-ink)}
.app-contacts-list .ic{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--app-ink);flex-shrink:0}
.app-contacts-list .ic.web{background:var(--app-red)}
.app-contacts-list .ic svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:1.8}

/* ---------- Tabs ---------- */
.app-tabs{display:flex;gap:30px;border-bottom:1px solid var(--app-line);flex-wrap:wrap;margin-bottom:0}
.app-tab-btn{font-family:var(--app-body);font-weight:700;font-size:.95rem;color:var(--app-ink);
  background:none;border:none;padding:14px 0;cursor:pointer;position:relative;opacity:.55}
.app-tab-btn::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--app-red);
  transform:scaleX(0);transition:transform .2s}
.app-tab-btn.is-active{opacity:1;color:var(--app-red)}
.app-tab-btn.is-active::after{transform:scaleX(1)}

.app-tab-panels{background:var(--app-snow);border-radius:var(--app-r);padding:48px;margin-top:0}
.app-tab-panel{display:none;grid-template-columns:1.4fr .9fr;gap:48px}
.app-tab-panel.is-active{display:grid}
.app-tab-panel.full{grid-template-columns:1fr}
.app-descr p{margin-bottom:16px;line-height:1.7;color:var(--app-ink)}

/* ---------- Galleria immagini (layout alloggio) ---------- */
.app-gallery-main{border-radius:var(--app-r);overflow:hidden;}
.app-gallery-main img{width:100%;height:auto;object-fit:cover;display:block}
.app-gallery-thumbs{display:flex;gap:8px;margin-top:8px;overflow-x:auto;padding-bottom:2px}
.app-gallery-thumb{flex:0 0 76px;width:76px;height:56px;border-radius:8px;overflow:hidden;padding:0;
  border:2px solid transparent;cursor:pointer;background:none;opacity:.6;transition:opacity .18s,border-color .18s}
.app-gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.app-gallery-thumb:hover{opacity:.85}
.app-gallery-thumb.is-active{opacity:1;border-color:var(--app-red)}

/* ---------- Rating + pulsante Richiedi sulla stessa riga ---------- */
.app-rating-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.app-rating-row .app-rating{margin-bottom:0}
.app-rating--big{margin-bottom:24px}

/* ---------- CIN ---------- */
.app-cin{font-size:.85rem;color:var(--app-stone);margin-top:8px}

/* ---------- Promo Val di Sole Guest Card ---------- */
.app-gc-promo{display:flex;align-items:center;gap:16px;margin-top:24px;padding:16px 20px;
  border:1px solid var(--app-line);border-radius:var(--app-r);text-decoration:none;color:var(--app-ink);
  transition:box-shadow .2s,transform .2s}
.app-gc-promo:hover{box-shadow:0 8px 24px rgba(33,29,26,.1);transform:translateY(-2px)}
.app-gc-promo img{width:64px;height:auto;border-radius:6px;flex-shrink:0}
.app-gc-promo-text{flex:1;display:flex;flex-direction:column;gap:2px;font-family:var(--app-body)}
.app-gc-promo-text strong{font-family:var(--app-display);font-size:1.02rem}
.app-gc-promo-text span{font-size:.85rem;color:var(--app-stone)}
.app-gc-promo-link{font-weight:700;font-size:.85rem;color:var(--app-red);white-space:nowrap}

/* ---------- Recensioni (tab) ---------- */
.app-recensioni-empty{color:var(--app-stone)}

/* ---------- Layout semplice (ristoranti/negozi/altro) ---------- */
.app-simple-title { font-family: var(--app-display); font-weight: 800; font-size: 2rem; margin: 0 0 20px; }
.app-simple-cover { margin-top: 0; border-radius: var(--app-r); overflow: hidden; aspect-ratio: 21 / 9; max-height: 420px; margin-bottom: 30px; }
.app-simple-cover img{width:100%;height:100%;object-fit:cover;display:block}
.app-simple-layout{display:grid;grid-template-columns:1.4fr .9fr;gap:48px;margin-top:32px;padding-bottom:80px}
.app-simple-main h2,.app-simple-side h2{font-family:var(--app-display);font-weight:800;font-size:1.15rem;
  text-transform:uppercase;letter-spacing:.03em;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--app-line)}
.app-info-list{display:flex;flex-direction:column;gap:16px}
.app-info-item{display:flex;align-items:center;gap:14px;font-size:.95rem}
.app-info-item .ic{width:38px;height:38px;border-radius:8px;display:flex;align-items:center;justify-content:center;
  color:#fff;background:var(--app-ink);flex-shrink:0}
.app-info-item .ic svg{width:17px;height:17px;stroke:#fff;fill:none;stroke-width:1.8}
.app-info-item a{color:var(--app-ink);font-weight:600}
.app-info-item a:hover{color:var(--app-red)}
.app-info-item strong{color:var(--app-red)}



/* Servizi (accordion — sostituisce i vecchi cerchi con hover) */
.app-servizi h3{font-family:var(--app-display);font-size:1.05rem;margin-bottom:16px}
.app-servizi-accordion{border-top:1px solid var(--app-line)}
.app-servizi-item{border-bottom:1px solid var(--app-line)}
.app-servizi-item summary{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:16px 4px;cursor:pointer;list-style:none;font-family:var(--app-body);font-weight:700;
  font-size:.92rem;color:var(--app-ink)}
.app-servizi-item summary::-webkit-details-marker{display:none}
.app-servizi-item-label{display:flex;align-items:center;gap:12px}
.app-servizi-item-icon{width:22px;height:22px;object-fit:contain;flex-shrink:0}
.app-servizi-item-chevron{width:10px;height:10px;border-right:2px solid var(--app-stone);
  border-bottom:2px solid var(--app-stone);transform:rotate(45deg);transition:transform .2s;flex-shrink:0}
.app-servizi-item[open] .app-servizi-item-chevron{transform:rotate(-135deg)}
.app-servizi-item[open] summary{color:var(--app-red)}
.app-servizi-item[open] .app-servizi-item-chevron{border-color:var(--app-red)}
.app-servizi-item-list{list-style:none;margin:0;padding:0 4px 18px;display:grid;
  grid-template-columns:repeat(2,1fr);gap:8px 24px}
.app-servizi-item-list li{font-size:.88rem;color:var(--app-stone);padding-left:16px;position:relative}
.app-servizi-item-list li::before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;
  border-radius:50%;background:var(--app-red)}

/* Mappa */
.app-map{border-radius:var(--app-r);overflow:hidden;height:420px}
.app-map iframe{width:100%;height:100%;border:0}

/* Prezzi */
.app-prezzi p{margin-bottom:14px;line-height:1.7}
.app-prezzi a{color:var(--app-red);text-decoration:underline}

/* ---------- Richiedi: form Contact Form 7 (tab Richiedi) ---------- */
.app-richiedi .wpcf7-form{display:flex;flex-direction:column;gap:18px;max-width:640px}
.app-richiedi .cf7-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.app-richiedi p{margin:0}

.app-richiedi input[type="text"],
.app-richiedi input[type="email"],
.app-richiedi input[type="tel"],
.app-richiedi input[type="date"],
.app-richiedi select,
.app-richiedi textarea{
  width:100%;padding:.85em 1.1em;border:1.5px solid var(--app-line);border-radius:10px;
  font-family:var(--app-body);font-size:.95rem;color:var(--app-ink);background:#fff;
  transition:border-color .18s;
}
.app-richiedi textarea{min-height:130px;resize:vertical}
.app-richiedi input:focus,.app-richiedi select:focus,.app-richiedi textarea:focus{outline:none;border-color:var(--app-red)}
.app-richiedi ::placeholder{color:var(--app-stone);opacity:1}

.app-richiedi .wpcf7-acceptance .wpcf7-list-item{margin:0;display:flex;align-items:flex-start;gap:10px}
.app-richiedi .wpcf7-acceptance input[type="checkbox"]{accent-color:var(--app-red);margin-top:3px;width:auto;flex-shrink:0}
.app-richiedi .wpcf7-acceptance label{font-size:.85rem;color:var(--app-stone);line-height:1.5}
.app-richiedi .wpcf7-acceptance a{color:var(--app-red);text-decoration:underline}

.app-richiedi input[type="submit"]{background:var(--app-red);color:#fff;border:none;border-radius:100px;
  padding:.9em 2.6em;font-family:var(--app-body);font-weight:700;font-size:.95rem;cursor:pointer;
  align-self:flex-start;transition:background .2s,transform .2s}
.app-richiedi input[type="submit"]:hover{background:var(--app-red-dark);transform:translateY(-2px)}
.app-richiedi input[type="submit"]:disabled{opacity:.6;cursor:default;transform:none}
.app-richiedi .wpcf7-spinner{margin-left:10px;vertical-align:middle}

.app-richiedi .wpcf7-not-valid-tip{display:block;color:var(--app-red);font-size:.8rem;margin-top:5px;font-weight:600}
.app-richiedi input.wpcf7-not-valid,.app-richiedi textarea.wpcf7-not-valid{border-color:var(--app-red)}

.app-richiedi .wpcf7-response-output{border-radius:10px;padding:14px 18px;font-size:.9rem;
  margin:4px 0 0!important;border:1.5px solid var(--app-line)}
.app-richiedi form.sent .wpcf7-response-output{border-color:#2f8c4a;color:#2f8c4a;background:rgba(47,140,74,.08)}
.app-richiedi form.failed .wpcf7-response-output,
.app-richiedi form.aborted .wpcf7-response-output,
.app-richiedi form.spam .wpcf7-response-output{border-color:var(--app-red);color:var(--app-red);background:rgba(165,0,22,.06)}





/* ---------- Archivio ---------- */
.app-archive-head{padding:120px 0 40px}
.app-archive-head h1{font-family:var(--app-display);font-weight:800;font-size:2.2rem;margin-bottom:10px}
.app-archive-head p{color:var(--app-stone)}

.app-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding-bottom:80px}
.app-card{display:block;border-radius:var(--app-r);overflow:hidden;background:#fff;border:1px solid var(--app-line);
  text-decoration:none;color:var(--app-ink);transition:transform .2s,box-shadow .2s}
.app-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(33,29,26,.12)}
.app-card-img{aspect-ratio:4/3;background-size:cover;background-position:center;position:relative}
.app-card-body{padding:18px 20px 22px}
.app-card-tipologia{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--app-red);font-weight:700;margin-bottom:6px}
.app-card-body h3{font-family:var(--app-display);font-size:1.15rem;margin-bottom:6px}
.app-card-localita{color:var(--app-stone);font-size:.88rem}





/*--------------------------
Pagina Territorio (page-territorio.php)
--------------------------*/

/* Hero */

.terr-hero { position: relative; min-height: 100vh; display: flex; align-items: center; overflow: hidden; color: #fff; }
.terr-hero:after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, rgba(40, 12, 8, .978), rgba(40, 12, 8, .50) 55%, rgba(40, 12, 8, .3)); }
.terr-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.terr-hero-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(33,29,26,.92) 0%,rgba(33,29,26,.35) 55%,rgba(33,29,26,.05) 100%)}
.terr-hero-inner{position:relative;z-index:2;padding:160px 24px 64px;max-width:860px;margin:0 auto;width:100%}
.terr-hero .eyebrow { margin-bottom: 20px; color: var(--gold); font-weight: 900; font-size: 1em; }
.terr-hero h1{font-family:var(--display);font-weight:800;letter-spacing:-.02em;
  font-size:clamp(40px,6.5vw,76px);line-height:.98;margin-bottom:24px}
.terr-hero p{font-size:1.05rem;font-weight:300;line-height:1.7;color:rgba(255,255,255,.82);margin-bottom:32px;max-width:480px}
.terr-hero .btn-group{display:flex;gap:14px;flex-wrap:wrap}

/* Strip localizzazione */
.terr-strip{background:var(--red);color:#fff;padding:24px 24px;display:flex;align-items:center;gap:32px;flex-wrap:wrap;justify-content: center;}
.terr-strip-label{font-size:.65rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);white-space:nowrap}
.terr-strip-text{font-family:var(--display);font-size:1.15rem;font-style:italic}

/* Sezione scura comune (Borghi / Acqua) */
.terr-dark{background:var(--ink);color:#fff;padding:72px 0}
.terr-dark#acqua{background:var(--winter-deep)}
.terr-dark .eyebrow{color:var(--gold)}
.terr-dark h2{font-family:var(--display);font-weight:800;color:#fff;font-size:clamp(28px,4vw,46px);margin:10px 0 6px}
.terr-dark .sub{font-size:.9rem;font-weight:300;color:rgba(255,255,255,.45)}
.terr-section-head{padding:0 24px 40px;max-width:1440px;margin:0 auto}

/* Borghi: carosello drag-scroll */
.terr-track { display: flex; max-width: 1440px; margin: 0 auto; padding: 0px 20px; justify-content: space-between; gap: 5px;}
.terr-track::-webkit-scrollbar{display:none}
.terr-borgo { flex: 1; height: 440px; position: relative; overflow: hidden; border-radius: var(--r); cursor: auto; }

/* Variante a griglia 3x2: con 6 card in fila lo spazio per il pannello hover
   diventa troppo stretto per leggere il testo (vedi screenshot). */
.terr-track--grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.terr-track--grid .terr-borgo{height:360px}

.terr-track--grid--winter {
    grid-template-columns: repeat(2, 1fr);
}

.terr-borgo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.25,.46,.45,.94)}
.terr-borgo:hover img{transform:scale(1.07)}
.terr-borgo::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(20,15,10,.92) 0%,rgba(20,15,10,.1) 55%,transparent 100%);
  transition:background .4s;pointer-events:none}
.terr-borgo.is-active::after{background:linear-gradient(to top,rgba(165,0,22,.92) 0%,rgba(165,0,22,.2) 55%,transparent 100%)}
.terr-borgo-info{position:absolute;bottom:0;left:0;right:0;padding:28px 24px;z-index:2}
.terr-borgo-num{font-size:.62rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.terr-borgo-name{font-family:var(--display);font-size:2rem;font-weight:800;color:#fff;line-height:1}
.terr-borgo-panel{position:absolute;top:0;right:0;bottom:0;width:0;overflow:hidden;background:var(--red);z-index:10;
  transition:width .45s cubic-bezier(.77,0,.18,1);display:flex;align-items:flex-end}
.terr-borgo.is-active .terr-borgo-panel{width:100%}
.terr-borgo-panel-inner{padding:32px 28px;opacity:0;transform:translateX(20px);
  transition:opacity .3s .2s ease,transform .3s .2s ease;white-space:normal;min-width:270px}
.terr-borgo.is-active .terr-borgo-panel-inner{opacity:1;transform:none}
.terr-bp-tag{font-size:.62rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:8px}
.terr-bp-name{font-family:var(--display);font-size:1.4rem;font-weight:800;color:#fff;margin-bottom:14px;line-height:1.15}
.terr-bp-body{font-size:.82rem;font-weight:300;line-height:1.65;color:rgba(255,255,255,.85);margin-bottom:16px}
.terr-bp-pills{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}
.terr-bp-pill{font-size:.72rem;font-weight:500;color:rgba(255,255,255,.75);display:flex;align-items:center;gap:7px}
.terr-bp-pill::before{content:"";width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.5);flex-shrink:0}
.terr-bp-cta{display:inline-flex;align-items:center;gap:8px;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:3px;transition:gap .2s;margin-bottom:10px}
.terr-bp-cta:hover{gap:14px}
.terr-bp-cta::after{content:"→"}
.terr-bp-map{display:block;margin-top:6px;font-size:.66rem;font-weight:500;color:rgba(255,255,255,.55);text-decoration:none;transition:color .2s}
.terr-bp-map:hover{color:rgba(255,255,255,.9)}
.terr-hint{padding:18px 24px 0;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.25);text-align:center}

/* Acqua strip (4 card) */
.terr-acqua-row{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;max-width:1440px;margin:0 auto;padding:0 24px}
.terr-aq-card{position:relative;height:300px;overflow:hidden;cursor:pointer;text-decoration:none;display:block;border-radius:var(--r)}
.terr-aq-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease;filter:brightness(.78)}
.terr-aq-card:hover img{transform:scale(1.08);filter:brightness(.55)}
.terr-aq-card::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(20,15,10,.88) 0%,rgba(20,15,10,.1) 55%,transparent 100%);transition:background .4s}
.terr-aq-card:hover::after{background:linear-gradient(to top,rgba(165,0,22,.85) 0%,rgba(165,0,22,.2) 55%,transparent 100%)}
.terr-aq-info{position:absolute;bottom:0;left:0;right:0;padding:20px 18px;z-index:2;color:#fff}
.terr-aq-icon{font-size:1.4rem;display:block;margin-bottom:6px}
.terr-aq-name{font-family:var(--display);font-size:1.25rem;font-weight:800;line-height:1.1}
.terr-aq-hover{max-height:0;overflow:hidden;opacity:0;transition:max-height .4s,opacity .35s;margin-top:0}
.terr-aq-card:hover .terr-aq-hover{max-height:90px;opacity:1;margin-top:8px}
.terr-aq-fact{font-size:.74rem;font-weight:300;color:rgba(255,255,255,.8);line-height:1.5;margin-bottom:6px}
.terr-aq-cta-sm{font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;display:inline-flex;align-items:center;gap:5px}
.terr-aq-cta-sm::after{content:"→"}
.terr-cta-wrap{margin-top:32px;text-align:center}

/* Parchi (2 card grandi) */
.terr-parchi{background:var(--snow);padding:80px 0}
.terr-parchi h2,.terr-cultura h2{font-family:var(--display);font-weight:800;color:var(--ink);font-size:clamp(28px,4vw,46px);margin-top:10px}
.terr-parchi-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;max-width:1440px;margin:0 auto;padding:0 24px}
.terr-parco{position:relative;height:420px;overflow:hidden;cursor:pointer;text-decoration:none;display:block;border-radius:var(--r)}
.terr-parco img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease;filter:brightness(.65) saturate(.85)}
.terr-parco:hover img{transform:scale(1.05);filter:brightness(.5) saturate(.75)}
.terr-parco-inner{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:36px}
.terr-parco-tag{font-size:.65rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.terr-parco-name{font-family:var(--display);font-size:1.7rem;font-weight:800;color:#fff;line-height:1.15}
.terr-parco-hover{max-height:0;overflow:hidden;opacity:0;transition:max-height .4s,opacity .4s;margin-top:0}
.terr-parco:hover .terr-parco-hover{max-height:130px;opacity:1;margin-top:14px}
.terr-parco-body{font-size:.82rem;font-weight:300;line-height:1.6;color:rgba(255,255,255,.78);margin-bottom:10px}
.terr-parco-link{font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:5px}
.terr-parco-link::after{content:"→"}

/* Cultura (3 card) */
.terr-cultura{background:#fff;padding:80px 0}
.terr-cultura-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;max-width:1440px;margin:0 auto;padding:0 24px}
.terr-cultura-grid--4col{grid-template-columns:repeat(4,1fr)}


.terr-cultura-card{position:relative;height:380px;overflow:hidden;border-radius:var(--r);
  display:flex;flex-direction:column;justify-content:flex-end;padding:28px;cursor:pointer}
.terr-cultura-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  z-index:0;transition:transform .7s ease,filter .4s ease;filter:brightness(.72)}
.terr-cultura-card:hover img{transform:scale(1.06);filter:brightness(.5)}
.terr-cultura-card::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to top,rgba(20,15,10,.92) 0%,rgba(20,15,10,.15) 60%,transparent 100%)}
.terr-cc-title{position:relative;z-index:2;font-family:var(--display);font-size:1.3rem;font-weight:800;color:#fff;line-height:1.2}
.terr-cc-hover{position:relative;z-index:2;max-height:0;overflow:hidden;opacity:0;transition:max-height .4s ease,opacity .35s ease;margin-top:0}
.terr-cultura-card:hover .terr-cc-hover{max-height:180px;opacity:1;margin-top:14px}
.terr-cc-body{font-size:.82rem;font-weight:300;line-height:1.65;color:rgba(255,255,255,.78);margin-bottom:14px}
.terr-cc-link{font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);text-decoration:none;display:inline-flex;align-items:center;gap:5px}
.terr-cc-link::after{content:"→"}

/* Sostenibilità (split img + testo) */
.terr-sost{background:var(--snow);padding:80px 24px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;max-width:1440px;margin:0 auto}
.terr-sost-img{position:relative;height:440px;overflow:hidden;border-radius:var(--r)}
.terr-sost-img img{width:100%;height:100%;object-fit:cover;display:block}
.terr-sost-badge{position:absolute;bottom:24px;right:24px;background:#fff;padding:14px 18px;box-shadow:0 6px 28px rgba(0,0,0,.1);border-radius:8px}
.terr-sost-badge-num{font-family:var(--display);font-size:2rem;font-weight:800;color:var(--red);line-height:1}
.terr-sost-badge-sub{font-size:.62rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--stone);margin-top:4px}
.terr-sost h2{font-family:var(--display);font-size:clamp(28px,3.5vw,42px);font-weight:800;color:var(--ink);line-height:1.12;margin-bottom:12px}
.terr-sost-lead{font-size:1rem;font-weight:300;line-height:1.65;color:var(--stone);margin-bottom:24px}
.terr-sost-pills{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:28px}
.terr-sost-pill{background:#fff;border:1px solid var(--line);padding:7px 14px;border-radius:40px;font-size:.8rem;color:var(--ink)}
.terr-sost-link{font-size:.76rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--red);text-decoration:none;
  border-bottom:1px solid var(--red);padding-bottom:3px;display:inline-flex;align-items:center;gap:8px;transition:gap .2s}
.terr-sost-link:hover{gap:14px}
.terr-sost-link::after{content:"→"}

/* Finale CTA */
.terr-finale { background: var(--red); padding: 72px 24px; color: #fff; margin: 0 auto; }
.terr-finale .width-wrap { display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap; }
.terr-finale .eyebrow{color:rgba(255,255,255,.55)}
.terr-finale h2{font-family:var(--display);font-size:clamp(30px,4.5vw,52px);font-weight:800;color:#fff;line-height:1.1}
.terr-finale h2 em{font-style:italic;color:var(--gold)}
.terr-finale .btn-group{display:flex;flex-direction:column;gap:12px;flex-shrink:0}




/* Reveal scroll */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}
.reveal.visible{opacity:1;transform:none}



/*--------------------------
Componenti condivisi pagine stagione (estate/inverno) — page-estate.php, page-inverno.php
Il carosello attivita' riusa terr-track/terr-borgo* (stesso pattern dei borghi),
la riga gusto riusa terr-aq-card/terr-aq-* (stesso pattern delle card acqua).
--------------------------*/

/* Hero: badge periodo + pillole tag, sub-componenti opzionali per qualsiasi .hero */
.hero-badge{display:inline-block;background:var(--orange);color:#fff;font-size:.62rem;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;padding:6px 14px;margin-bottom:22px;border-radius:30px}
.hero-pills{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0;justify-content:center}
.hero-pill{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:#fff;
  padding:6px 14px;border-radius:30px;font-size:.78rem;font-weight:500;backdrop-filter:blur(6px)}

/* Alias leggeri per riusare sfondi/sezioni gia' definiti senza nomi legati a "territorio" */
.feat-light{background:#fff;padding:80px 0;position:relative;overflow:hidden}
.feat-snow{background:var(--snow);padding:80px 0;position:relative;overflow:hidden}

/* Riga foto con hover (Gusto): stessa logica di .terr-aq-card, solo 3 colonne invece di 4 */
.feat-photo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;max-width:1440px;margin:0 auto;padding:0 24px;overflow:hidden}

/* Card icona + reveal hover (Famiglia, ecc.) */
.feat-icon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;max-width:1440px;margin:0 auto;padding:0 24px}
.feat-icon-card{background:var(--snow);padding:44px 32px;position:relative;overflow:hidden;transition:background .35s;border-radius:var(--r)}
.feat-icon-card:hover{background:var(--ink)}
.feat-icon{font-size:1.8rem;display:block;margin-bottom:16px}
.feat-icon-title{font-family:var(--display);font-size:1.3rem;font-weight:800;color:var(--ink);line-height:1.2;transition:color .35s}
.feat-icon-card:hover .feat-icon-title{color:#fff}
.feat-icon-hover{max-height:0;overflow:hidden;opacity:0;transition:max-height .4s ease,opacity .35s ease;margin-top:0}
.feat-icon-card:hover .feat-icon-hover{max-height:180px;opacity:1;margin-top:14px}
.feat-icon-body{font-size:.82rem;font-weight:300;line-height:1.65;color:rgba(255,255,255,.7);margin-bottom:14px}
.feat-icon-link{font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);text-decoration:none;display:inline-flex;align-items:center;gap:5px}
.feat-icon-link::after{content:"→"}

/* Split grande con scheda specifiche (es. Rafting) */
.feat-split{display:grid;grid-template-columns:1fr 1fr;min-height:520px}
.feat-split-media{position:relative;overflow:hidden}
.feat-split-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s}
.feat-split-media:hover img{transform:scale(1.04)}
.feat-split-badge{position:absolute;bottom:24px;left:24px;background:var(--red);padding:14px 18px;border-radius:8px;max-width:320px}
.feat-split-quote{font-family:var(--display);font-size:.92rem;font-style:italic;color:#fff;line-height:1.5}
.feat-split-text{background:#fff;padding:64px;display:flex;flex-direction:column;justify-content:center}
.feat-split-text .btn{align-self:flex-start}
.feat-split-text h2{font-family:var(--display);font-size:2rem;font-weight:800;color:var(--ink);margin-bottom:16px;line-height:1.15}
.feat-split-text p{font-size:1rem;font-weight:300;line-height:1.7;color:var(--stone);margin-bottom:10px}
.feat-specs{margin:22px 0 28px;display:flex;flex-direction:column;gap:9px}
.feat-spec{display:flex;align-items:baseline;gap:12px;border-bottom:1px solid var(--line);padding-bottom:9px}
.feat-spec-label{font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--stone);flex-shrink:0;min-width:118px}
.feat-spec-val{font-size:.85rem;color:var(--ink)}





/*--------------------------
Pagina Inverno — componenti aggiuntivi 
--------------------------*/

/* Hero: statistiche numeriche (km piste, impianti, quota) */
.hero-stats{display:flex;gap:40px;margin:24px 0;justify-content:center;flex-wrap:wrap}
.hero-stat-num{font-family:var(--display);font-size:2.6rem;font-weight:800;color:#fff;line-height:1}
.hero-stat-num small{font-size:.55em;font-family:var(--body);font-weight:500}
.hero-stat-label{font-size:.68rem;font-weight:400;color:rgba(255,255,255,.5);letter-spacing:.04em;margin-top:4px}

/* Piste per livello: card colorate per grado di difficolta' */
.snow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:1440px;margin:0 auto;padding:0 24px}
.snow-card{padding:40px 26px;border-radius:var(--r);transition:transform .3s}
.snow-card:hover{transform:translateY(-4px)}
.snow-card.verde{background:#0f2b10}
.snow-card.blu{background:#0a1a2e}
.snow-card.rossa{background:#2a0808}
.snow-card.nera{background:#1a1a1a;border:1px solid rgba(255,255,255,.12)}
.snow-dot{width:16px;height:16px;border-radius:50%;margin-bottom:16px}
.snow-card.verde .snow-dot{background:#4CAF50}
.snow-card.blu .snow-dot{background:#2196F3}
.snow-card.rossa .snow-dot{background:var(--red)}
.snow-card.nera .snow-dot{background:#fff}
.snow-level{font-size:.62rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:8px}
.snow-name{font-family:var(--display);font-size:1.3rem;font-weight:800;color:#fff;margin-bottom:10px}
.snow-body{font-size:.8rem;font-weight:300;line-height:1.6;color:rgba(255,255,255,.6)}





/*--------------------------
Pagina Dove Dormire — page-dove-dormire.php
--------------------------*/

/* Sezione filtri orizzontale (dopo hero standard) */
.dorm-filter-section{background:var(--snow);padding:64px 0}
.dorm-filter-wrap{display:flex;flex-direction:column;gap:20px}
.dorm-filter-head h2{font-family:var(--display);font-weight:800;font-size:2rem;color:var(--ink);margin:.3em 0 .3em}
.dorm-filter-head p{color:var(--stone);margin-bottom:0}
.dorm-filter-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:4px}
.filter-status{font-size:.88rem;color:var(--stone)}

/* Zone alloggio: griglia a 3 col (variante di terr-parchi-grid) */
/*--------------------------
Pagina Servizi (page-servizi.php) — sidebar filtri + risultati
Sostituisce le vecchie chip decorative (.dorm-filter-section, lasciate
sotto solo perche' potrebbero essere riusate altrove - non referenziate
piu' da page-servizi.php).
--------------------------*/
.srv-section{background:var(--snow);padding:56px 0 72px;position:relative}
.srv-layout{display:block}

/* Pulsante fisso sul lato sinistro dello schermo, apre/chiude la sidebar */
.srv-filter-fab{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:75;
  background:var(--red);color:#fff;border:none;border-radius:0 12px 12px 0;
  padding:14px 10px;display:flex;flex-direction:column;align-items:center;gap:6px;
  cursor:pointer;box-shadow:4px 0 16px rgba(33,29,26,.18);transition:padding .2s}
.srv-filter-fab:hover{padding-left:14px}
.srv-filter-fab svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:1.8}
.srv-filter-fab span{font-family:var(--display);font-weight:700;font-size:.72rem;
  letter-spacing:.03em;text-transform:uppercase}

/* Sfondo scuro dietro la sidebar aperta */
.srv-sidebar-overlay{position:fixed;inset:0;background:rgba(20,15,10,.45);z-index:79;
  opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s}
.srv-sidebar-overlay.open{opacity:1;visibility:visible;transition:opacity .3s ease,visibility 0s linear 0s}

/* Sidebar: pannello fisso a comparsa da sinistra, nascosto di default */
.srv-sidebar{position:fixed;top:0;left:0;height:100vh;width:300px;max-width:85vw;
  background:#fff;border:none;border-radius:0;padding:64px 24px 24px;
  transform:translateX(-100%);transition:transform .3s ease;
  z-index:80;overflow-y:auto;box-shadow:10px 0 32px rgba(33,29,26,.18)}
.srv-sidebar.open{transform:translateX(0)}
.srv-sidebar-close{position:absolute;top:18px;right:18px;background:none;border:0;cursor:pointer;padding:4px}
.srv-sidebar-close svg{width:22px;height:22px;stroke:var(--ink);stroke-width:2;fill:none}

.srv-filter-group{padding:16px 0;border-bottom:1px solid var(--line)}
.srv-filter-group:first-child{padding-top:0}
.srv-filter-group h3{font-family:var(--display);font-size:.85rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.04em;color:var(--ink);margin:0 0 12px}

.srv-check{display:flex;align-items:center;gap:9px;font-size:.9rem;color:var(--ink);padding:5px 0;cursor:pointer}
.srv-check input{accent-color:var(--red);width:16px;height:16px;flex-shrink:0}
.srv-check span:first-of-type{flex:1}
.srv-check-count{color:var(--stone);font-size:.78rem}

.srv-select,.srv-text{width:100%;padding:.7em .9em;border:1.5px solid var(--line);border-radius:8px;
  font-family:var(--body);font-size:.9rem;color:var(--ink);background:#fff}
.srv-select:focus,.srv-text:focus{outline:none;border-color:var(--red)}

.srv-filter-actions{padding-top:18px;display:flex;flex-direction:column;gap:10px}
.srv-filter-actions .btn{width:100%;text-align:center;justify-content:center}
.srv-reset{text-align:center;font-size:.85rem;color:var(--stone);text-decoration:underline}
.srv-reset:hover{color:var(--red)}

.srv-results-head{margin-bottom:20px}
.srv-empty{color:var(--stone);padding:40px 0}
.srv-empty a{color:var(--red);font-weight:600}

.srv-pagination{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;justify-content:center}
.srv-page-link{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;
  border-radius:8px;border:1.5px solid var(--line);color:var(--ink);font-weight:600;font-size:.9rem;background:#fff}
.srv-page-link:hover{border-color:var(--red);color:var(--red)}
.srv-page-link.is-active{background:var(--red);border-color:var(--red);color:#fff}



/* Badge categoria nella scheda singolo servizio (single-servizio.php) */
.app-categoria-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.app-categoria-badge{display:inline-block;font-family:var(--app-body);font-size:.72rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;color:var(--app-red);background:rgba(165,0,22,.08);
  padding:.4em .9em;border-radius:100px}
.app-categoria-badge:hover{background:var(--app-red);color:#fff}

.dorm-zone-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;max-width:1440px;margin:0 auto;padding:0 24px}


/* Proposte vacanza */
.dorm-prop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;max-width:1440px;margin:0 auto;padding:0 24px}
.dorm-prop-card{background:var(--snow);padding:44px 32px;position:relative;overflow:hidden;
  transition:background .35s;border-radius:var(--r);cursor:default}
.dorm-prop-card:hover{background:var(--ink)}
.dorm-pc-stagione{font-size:.62rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--red);margin-bottom:12px;transition:color .35s}
.dorm-prop-card:hover .dorm-pc-stagione{color:var(--gold)}
.dorm-pc-title{font-family:var(--display);font-size:1.3rem;font-weight:800;color:var(--ink);
  line-height:1.2;transition:color .35s}
.dorm-prop-card:hover .dorm-pc-title{color:#fff}
.dorm-pc-hover{max-height:0;overflow:hidden;opacity:0;transition:max-height .45s ease,opacity .35s ease;margin-top:0}
.dorm-prop-card:hover .dorm-pc-hover{max-height:280px;opacity:1;margin-top:16px}
.dorm-pc-body{font-size:.82rem;font-weight:300;line-height:1.7;color:rgba(255,255,255,.72);margin-bottom:14px}
.dorm-pc-includes{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.dorm-pc-item{font-size:.78rem;font-weight:500;color:rgba(255,255,255,.68);display:flex;align-items:center;gap:8px}
.dorm-pc-item::before{content:"✓";color:var(--gold);font-weight:700;font-size:.72rem}
.dorm-pc-cta{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--gold);text-decoration:none;display:inline-flex;align-items:center;gap:5px}
.dorm-pc-cta::after{content:"→"}

/* Come prenotare — 3 passi */
.dorm-steps{background:var(--ink);color:#fff;padding:80px 0}
.dorm-steps-inner{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:center;max-width:1440px;margin:0 auto;padding:0 24px}
.dorm-steps h2{font-family:var(--display);font-weight:800;color:#fff;font-size:clamp(28px,3.5vw,48px);margin-bottom:12px;line-height:1.1}
.dorm-steps>div>p{font-size:1rem;font-weight:300;color:rgba(255,255,255,.6);margin-bottom:28px}
.dorm-step-list{display:flex;flex-direction:column;gap:0}
.dorm-step{padding:24px 0;border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:flex-start;gap:20px}
.dorm-step:last-child{border-bottom:none;padding-bottom:0}
.dorm-step-num{font-family:var(--display);font-size:2rem;font-weight:800;color:var(--red);line-height:1;flex-shrink:0;width:32px}
.dorm-step-title{font-size:.92rem;font-weight:600;color:#fff;margin-bottom:5px}
.dorm-step-body{font-size:.82rem;font-weight:300;color:rgba(255,255,255,.5);line-height:1.65}





/*--------------------------
Pagina Borghi (page-borghi.php) — split alternati + nav ancoraggi
--------------------------*/

/* Nav ancoraggi borghi — sticky subito sotto l'header */
.borghi-nav{position:sticky;top:84px;z-index:40;background:#fff;border-bottom:1px solid var(--line);
  display:flex;gap:0;overflow-x:auto;scrollbar-width:none}
.borghi-nav::-webkit-scrollbar{display:none}
.borghi-nav a{flex:1;min-width:max-content;padding:16px 24px;font-family:var(--body);font-size:.82rem;
  font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--stone);text-decoration:none;
  text-align:center;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;white-space:nowrap}
.borghi-nav a:hover{color:var(--red)}
.borghi-nav a.is-active{color:var(--red);border-bottom-color:var(--red)}

/* Sezione borgo: split alternato */
.borgo-section{display:grid;grid-template-columns:1fr 1fr;min-height:600px;scroll-margin-top:168px}
.borgo-section--flip{direction:rtl}
.borgo-section--flip>*{direction:ltr}
.borgo-media{position:relative;overflow:hidden; aspect-ratio: 4 / 3;}
.borgo-media img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .9s ease}
.borgo-section:hover .borgo-media img{transform:scale(1.03)}
.borgo-text{padding:80px 72px;display:flex;flex-direction:column;justify-content:center;background:#fff}
.borgo-text h2{font-family:var(--display);font-weight:800;font-size:clamp(2rem,3.5vw,3rem);
  color:var(--ink);line-height:1.1;margin-bottom:6px}
.borgo-text .sub-loc{font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--stone);margin-bottom:20px;display:block}
.borgo-text p{font-size:1rem;font-weight:300;line-height:1.75;color:var(--stone);margin-bottom:16px}
.borgo-text p:last-of-type{margin-bottom:0}
.borgo-pills{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}
.borgo-pill{background:var(--snow);border:1px solid var(--line);padding:6px 14px;border-radius:30px;
  font-size:.78rem;color:var(--ink);font-weight:500}
.borgo-text .btn{align-self:flex-start;margin-top:8px}

/* Sfondo alternato per le sezioni pari */
.borgo-section:nth-child(even) .borgo-text{background:var(--snow)}

/* Separatore decorativo tra sezioni */
.borgo-sep{height:2px;background:linear-gradient(90deg,transparent,var(--line),transparent);
  max-width:1440px;margin:0 auto}




/*--------------------------
Pagina Acqua (page-acqua.php) — split alternati + nav ancoraggi
Stessa struttura di page-borghi.php, riusa .borgo-section/.borghi-nav/.borgo-* 
con variante di colore azzurro/petrolio per il tema acquatico.
--------------------------*/

/* Nav acqua: variante colore (sfondo petrolio come .terr-dark#acqua) */
.acqua-nav{position:sticky;top:84px;z-index:40;background:var(--winter-deep);border-bottom:1px solid rgba(255,255,255,.1);
  display:flex;gap:0;overflow-x:auto;scrollbar-width:none}
.acqua-nav::-webkit-scrollbar{display:none}
.acqua-nav a{flex:1;min-width:max-content;padding:16px 24px;font-family:var(--body);font-size:.82rem;
  font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.5);text-decoration:none;
  text-align:center;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;white-space:nowrap}
.acqua-nav a:hover{color:#fff}
.acqua-nav a.is-active{color:#fff;border-bottom-color:var(--gold)}

/* Sezione acqua: split alternato (riusa .borgo-text/.borgo-media/.borgo-section--flip) */
.acqua-section{display:grid;grid-template-columns:1fr 1fr;min-height:600px;scroll-margin-top:170px}
.acqua-section--flip{direction:rtl}
.acqua-section--flip>*{direction:ltr}
.acqua-section:hover .borgo-media img{transform:scale(1.03)}
.acqua-section:nth-child(even) .borgo-text{background:var(--snow)}




/*--------------------------
Pagine Parchi, Cultura, Sostenibilità
--------------------------*/

/* Nav parchi/cultura: variante verde per i parchi */
.parchi-nav{position:sticky;top:84px;z-index:40;background:#0f2b10;border-bottom:1px solid rgba(255,255,255,.1);
  display:flex;gap:0;overflow-x:auto;scrollbar-width:none}
.parchi-nav::-webkit-scrollbar{display:none}
.parchi-nav a{flex:1;min-width:max-content;padding:16px 24px;font-family:var(--body);font-size:.82rem;
  font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.5);text-decoration:none;
  text-align:center;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;white-space:nowrap}
.parchi-nav a:hover{color:#fff}
.parchi-nav a.is-active{color:#fff;border-bottom-color:#4CAF50}

/* Nav cultura: bianca */
.cultura-nav{position:sticky;top:84px;z-index:40;background:#fff;border-bottom:1px solid var(--line);
  display:flex;gap:0;overflow-x:auto;scrollbar-width:none}
.cultura-nav::-webkit-scrollbar{display:none}
.cultura-nav a{flex:1;min-width:max-content;padding:16px 24px;font-family:var(--body);font-size:.82rem;
  font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--stone);text-decoration:none;
  text-align:center;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;white-space:nowrap}
.cultura-nav a:hover{color:var(--red)}
.cultura-nav a.is-active{color:var(--red);border-bottom-color:var(--red)}

/* Sezioni parchi/cultura: riusa .acqua-section/.borgo-* */
.parco-section{display:grid;grid-template-columns:1fr 1fr;min-height:600px;scroll-margin-top:170px}
.parco-section--flip{direction:rtl}
.parco-section--flip>*{direction:ltr}
.parco-section:nth-child(even) .borgo-text{background:var(--snow)}

/* Scheda specifiche parco (stessa di .feat-specs) */
.parco-specs{margin:22px 0 28px;display:flex;flex-direction:column;gap:9px}
.parco-spec{display:flex;align-items:baseline;gap:12px;border-bottom:1px solid var(--line);padding-bottom:9px}
.parco-spec-label{font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--stone);flex-shrink:0;min-width:130px}
.parco-spec-val{font-size:.85rem;color:var(--ink)}

/* Sostenibilità: sezione a 4 numeri chiave */
.sost-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;max-width:1440px;margin:0 auto;padding:0 24px}
.sost-kpi-card{background:var(--ink);padding:48px 32px;border-radius:var(--r)}
.sost-kpi-num{font-family:var(--display);font-size:2.6rem;font-weight:800;color:var(--gold);line-height:1;margin-bottom:8px}
.sost-kpi-label{font-size:.8rem;font-weight:300;line-height:1.55;color:rgba(255,255,255,.7)}

/* Sostenibilità: lista impegni (riusa .feat-split + .feat-specs) */
.sost-items{display:flex;flex-direction:column;gap:0}
.sost-item{padding:24px 0;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;gap:20px}
.sost-item:last-child{border-bottom:none;padding-bottom:0}
.sost-item-icon{font-size:1.6rem;flex-shrink:0;width:36px;text-align:center;line-height:1}
.sost-item-title{font-size:.92rem;font-weight:700;color:var(--ink);margin-bottom:4px}
.sost-item-body{font-size:.85rem;font-weight:300;color:var(--stone);line-height:1.65}





/*--------------------------
Dropdown sottomenu nav desktop — Dimaro_Desktop_Nav_Walker
Solo CSS, nessun JS. Struttura:
  .nav-item.has-dropdown > a          link padre
  .nav-item.has-dropdown .nav-dropdown pannello sub-voci
--------------------------*/

/* Wrapper item con figli: deve essere inline per stare in linea con gli altri link */
.main-nav .nav-item{
  position:relative;
  display:inline-flex;
  align-items:center
}

/* Freccia-chevron sul link padre */
.main-nav .has-dropdown > a.menu-item-has-children::after {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    margin-left: 6px;
    opacity: .55;
    transition: transform .22s ease, opacity .22s ease;
    flex-shrink: 0;
    position: absolute;
    top: 50%;
    right: 0;
    transform: rotate(45deg) translateY(calc(-50% + -2px));
}
.main-nav .has-dropdown:hover > a.menu-item-has-children::after{
  transform:rotate(225deg) translateY(2px);
  opacity:1
}

/* Pannello dropdown */
.nav-dropdown{
  position:absolute;
  top:calc(100% + 10px);
  left:50%;
  transform:translateX(-50%) translateY(6px);
  background:#fff;
  border-top:2px solid var(--red);
  border-radius:0 0 var(--r) var(--r);
  box-shadow:0 18px 44px rgba(33,29,26,.13);
  min-width:220px;
  padding:6px 0;
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease,transform .22s ease;
  z-index:200;
  white-space:nowrap
}

/* "Ponte" invisibile tra il link e il pannello per evitare che il mouse perda il hover */
.nav-dropdown::before{
  content:"";
  position:absolute;
  top:-12px;
  left:0;
  right:0;
  height:12px
}

.nav-item:hover .nav-dropdown{
  opacity:1;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0)
}

/* Singoli link del dropdown */
.nav-dropdown a{
  display:block;
  padding:12px 22px;
  font-family:var(--body);
  font-size:.82rem;
  font-weight:600;
  letter-spacing:.04em;
  color:var(--ink);
  text-decoration:none;
  border-bottom:1px solid rgba(33,29,26,.06);
  transition:color .18s,background .18s,padding-left .18s
}
.nav-dropdown a:last-child{border-bottom:none}
.nav-dropdown a:hover{
  color:var(--red);
  padding-left:30px
}

/* Stato scrolled: header bianco, il dropdown è già bianco — ok */
/* Su mobile il dropdown non appare (nav desktop è nascosta sotto i 998px) */



/*--------------------------
Pagina Impianti e piste (page-impianti.php)
Tab ski-tabs + accordion ski-acc + tabelle ski-table
--------------------------*/

/* Tab bar sticky su sfondo --ink */
.ski-tabs-wrap{background:var(--ink);position:sticky;top:84px;z-index:40}
.ski-tabs{display:flex;max-width:1440px;margin:0 auto;padding:0 24px}
.ski-tab-btn{padding:18px 32px;font-family:var(--body);font-size:.9rem;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.45);
  background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;
  transition:color .2s,border-color .2s;white-space:nowrap}
.ski-tab-btn:hover{color:#fff}
.ski-tab-btn.is-active{color:#fff;border-bottom-color:var(--gold)}

/* Accordion aree */
.ski-accordion{max-width:1440px;margin:0 auto;padding:0 24px}
.ski-acc-head{display:flex;align-items:center;justify-content:space-between;
  padding:20px 0;border-bottom:1px solid var(--line);cursor:pointer;gap:16px;
  user-select:none}
.ski-acc-title{font-family:var(--display);font-size:1.1rem;font-weight:800;color:var(--ink)}
.ski-acc-count{font-size:.78rem;color:var(--stone);flex-shrink:0}
.ski-acc-chevron{width:9px;height:9px;border-right:2px solid var(--stone);
  border-bottom:2px solid var(--stone);transform:rotate(45deg) translateY(-2px);
  flex-shrink:0;transition:transform .25s ease;margin-right:4px}
.ski-acc-item.open .ski-acc-chevron{transform:rotate(225deg) translateY(2px)}
.ski-acc-body{display:none;padding-bottom:16px}
.ski-acc-item.open .ski-acc-body{display:block}

/* Tabella impianti/piste */
.ski-table{width:100%;border-collapse:collapse;margin-top:4px}
.ski-table th{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--stone);padding:10px 14px;border-bottom:2px solid var(--line);text-align:left}
.ski-table th:not(:first-child){text-align:center}
.ski-table td{padding:10px 14px;border-bottom:1px solid rgba(33,29,26,.05);
  font-size:.88rem;color:var(--ink)}
.ski-table td:not(:first-child){text-align:center}
.ski-table tr:last-child td{border-bottom:none}
.ski-table tr:hover td{background:var(--snow)}

/* Pallino difficoltà piste */
.diff-dot{display:inline-block;width:14px;height:14px;border-radius:50%;vertical-align:middle}
.diff-dot.verde{background:#2e8b27}
.diff-dot.blu{background:#1a6fbf}
.diff-dot.rossa{background:var(--red)}
.diff-dot.nera{background:#1a1a1a;border:1px solid rgba(0,0,0,.2)}
.diff-dot.speciale{background:var(--gold)}

/* Etichetta tipo impianto */
.imp-tipo{display:inline-block;font-size:.7rem;font-weight:600;padding:2px 8px;
  border-radius:20px;background:var(--snow);color:var(--stone);border:1px solid var(--line)}

/* Tab panel visibility */
.ski-panel{display:none;padding:48px 0}
.ski-panel.is-active{display:block}






/*--------------------------
Pagina risultati ricerca (search.php)
Riusa .app-wrap/.app-archive-head/.app-grid/.app-card (gia' esistenti per
la griglia servizi) + .srv-text/.srv-pagination (gia' esistenti per i
filtri di page-servizi.php). Qui sotto solo le regole nuove: il mini-form
di affinamento ricerca e lo stile per l'output nativo di paginate_links()
(che usa la classe .page-numbers, diversa dai link custom .srv-page-link
gia' stilizzati altrove).
--------------------------*/
.search-refine-form{display:flex;gap:12px;max-width:480px;margin-top:24px}
.search-refine-form .srv-text{flex:1}

.srv-pagination{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 60px;justify-content:center}
.srv-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;
  height:38px;padding:0 10px;border-radius:8px;border:1.5px solid var(--line);color:var(--ink);
  font-weight:600;font-size:.9rem;background:#fff;text-decoration:none}
.srv-pagination a.page-numbers:hover{border-color:var(--red);color:var(--red)}
.srv-pagination .page-numbers.current{background:var(--red);border-color:var(--red);color:#fff}
.srv-pagination .page-numbers.dots{border:none;background:none}


/*--------------------------
Pulsante WhatsApp fisso (footer.php)
--------------------------*/
.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:80;width:58px;height:58px;
  border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 20px rgba(37,211,102,.45);transition:transform .2s,box-shadow .2s}
.whatsapp-float:hover{transform:scale(1.08);box-shadow:0 8px 26px rgba(37,211,102,.55)}
.whatsapp-float svg{width:30px;height:30px;color:#fff}



/*--------------------------
Mobile: contenuti "solo hover" resi sempre visibili
--------------------------*/
/*
 * Sul desktop diversi componenti (borghi, acqua, cultura, servizi neve,
 * proposte vacanza) mostrano informazioni aggiuntive solo al passaggio del
 * mouse (:hover). Su un dispositivo touch questo hover non esiste davvero:
 * l'utente non puo' scoprire quel contenuto senza un tap che spesso attiva
 * anche il link/click sottostante, con risultati confusi. Sotto i 998px
 * questi pannelli vengono quindi mostrati sempre, senza bisogno di interagire.
 * !important e' voluto qui: deve vincere sia lo stato "chiuso" di base sia
 * l'eventuale regola :hover, che su mobile non scattera mai comunque.
 */

/*--------------------------
Breakpoint 1920px
--------------------------*/
@media (max-width:1920px){



}

/*--------------------------
Breakpoint 1440px
--------------------------*/
@media (max-width:1440px){

  .hero h1{font-size: 3em;}
  .scroll-cue span{height: 20px;}



}

/*--------------------------
Breakpoint 1280px
--------------------------*/
@media (max-width:1280px){

    a.brand{flex: auto;}
    .main-nav{flex: auto;}
  

	

}


/*--------------------------
Breakpoint 1180px
--------------------------*/
@media (max-width:1180px){

	.header__menu { width: 80%; overflow: hidden; -webkit-transition: all 0.3s ease-out; transition: all 0.3s ease-out; position: fixed; top: 0; bottom: 0; height: 100vh; background: #fff; left: 0; z-index: 9; transform: translateX(-100%); 
		display: flex; flex-wrap: wrap; align-content: flex-start; flex-direction: column; justify-content: center; text-align: left; padding-left: 30px; }

	.header__icon-bar {display: block; position: relative; width: 24px; height: 60px; transition-duration: 0.5s;z-index: 11;}
	.header__icon-bar .icon-left { transition-duration: 0.5s; position: absolute; height: 3px; width: 12px; top: 50%; transform: translateY(-50%); background-color: #41311c;}
	.header__icon-bar .icon-left:before { transition-duration: 0.5s; position: absolute; width: 12px; height: 3px; background-color: #41311c; content: ""; top: -8px;margin: 0;}
	.header__icon-bar .icon-left:after { transition-duration: 0.5s; position: absolute; width: 12px; height: 3px; background-color: #41311c; content: ""; top: 8px;}
	.header__icon-bar .icon-left:hover { cursor: pointer;}
	.header__icon-bar .icon-right { transition-duration: 0.5s; position: absolute; height: 3px; width: 12px; top: 50%; transform: translateY(-50%); background-color: #41311c; left: 11px;}
	.header__icon-bar .icon-right:before { transition-duration: 0.5s; position: absolute; width: 12px; height: 3px; background-color: #41311c; content: ""; top: -8px;margin: 0;}
	.header__icon-bar .icon-right:after { transition-duration: 0.5s; position: absolute; width: 12px; height: 3px; background-color: #41311c; content: ""; top: 8px;}
	.header__icon-bar.open .icon-left { transition-duration: 0.5s; background: transparent;}
	.header__icon-bar.open .icon-left:before {transform: rotateZ(45deg) scaleX(1.4) translate(2px, 2px);
	  -webkit-transform: rotateZ(45deg) scaleX(1.4) translate(2px, 2px);
	  -moz-transform: rotateZ(45deg) scaleX(1.4) translate(2px, 2px);
	  -o-transform: rotateZ(45deg) scaleX(1.4) translate(2px, 2px);
	  -ms-transform: rotateZ(45deg) scaleX(1.4) translate(2px, 2px);
	}
	.header__icon-bar.open .icon-left:after {
	  transform: rotateZ(-45deg) scaleX(1.4) translate(2px, -2px);
	  -webkit-transform: rotateZ(-45deg) scaleX(1.4) translate(2px, -2px);
	  -moz-transform: rotateZ(-45deg) scaleX(1.4) translate(2px, -2px);
	  -o-transform: rotateZ(-45deg) scaleX(1.4) translate(2px, -2px);
	  -ms-transform: rotateZ(-45deg) scaleX(1.4) translate(2px, -2px);
	}
	.header__icon-bar.open .icon-right { transition-duration: 0.5s; background: transparent;}
	.header__icon-bar.open .icon-right:before {
	  transform: rotateZ(-45deg) scaleX(1.4) translate(-2px, 2px);
	  -webkit-transform: rotateZ(-45deg) scaleX(1.4) translate(-2px, 2px);
	  -moz-transform: rotateZ(-45deg) scaleX(1.4) translate(-2px, 2px);
	  -o-transform: rotateZ(-45deg) scaleX(1.4) translate(-2px, 2px);
	  -ms-transform: rotateZ(-45deg) scaleX(1.4) translate(-2px, 2px);
	}
	.header__icon-bar.open .icon-right:after {
	  transform: rotateZ(45deg) scaleX(1.4) translate(-2px, -2px);
	  -webkit-transform: rotateZ(45deg) scaleX(1.4) translate(-2px, -2px);
	  -moz-transform: rotateZ(45deg) scaleX(1.4) translate(-2px, -2px);
	  -o-transform: rotateZ(45deg) scaleX(1.4) translate(-2px, -2px);
	  -ms-transform: rotateZ(45deg) scaleX(1.4) translate(-2px, -2px);
	}
	.header__icon-bar:hover { cursor: pointer;}
	.show-menu{transform: translateX(0);}
	
    .main-nav{display: none;}
    .nav-toggle{display:block}
    .header-tools .tool{display: none;}
    .header-tools .btn-primary{display: none;}

}

/*--------------------------
Breakpoint 1000px
--------------------------*/
@media (max-width:1000px){

 .evt-grid{grid-template-columns:repeat(2,1fr)} 

 .cat-grid{grid-template-columns:repeat(2,1fr)} 

}

/*--------------------------
Breakpoint 998px
--------------------------*/
@media (max-width:998px){

  .webcam-embed-row{grid-template-columns:1fr}
  .webcam-embed-card iframe{height:280px}


  .home .hero { min-height: 100vh; padding: 100px 0; }

  .evt-head{grid-template-columns:1fr;gap:32px}
  /* Su mobile il markup mette prima galleria+descrizione e poi titolo/info
     (ordine pensato per l'affiancamento a due colonne del desktop) - qui
     si vedeva quindi prima la descrizione e poi il titolo. "order" inverte
     solo l'ordine VISIVO, senza toccare l'HTML (il titolo resta il primo
     elemento nel codice sorgente, corretto per SEO/lettori di schermo). */
  .evt-head-side{order:-1}
  .evt-head-media{order:1}

  .app-simple-layout{grid-template-columns:1fr;gap:32px}

  .app-head{grid-template-columns:1fr}
  .app-tab-panel{grid-template-columns:1fr}
  .app-servizi-item-list{grid-template-columns:1fr}
  .app-tab-panels{padding:28px}

.terr-track--grid{grid-template-columns:repeat(2,1fr)}

  .feat-split{grid-template-columns:1fr}
  .feat-split-text{padding:48px 28px}
  .feat-photo-row,.feat-icon-grid{grid-template-columns:repeat(2,1fr)}

.snow-grid{grid-template-columns:repeat(2,1fr)}

  .dorm-zone-grid,.dorm-prop-grid{grid-template-columns:repeat(2,1fr)}
  .dorm-steps-inner{grid-template-columns:1fr}

  .borghi-nav{top:80px}
  .borgo-section{grid-template-columns:1fr}
  .borgo-section--flip{direction:ltr}
  .borgo-media{height:55vw;min-height:260px}
  .borgo-text{padding:48px 28px}

  .acqua-nav{top:80px}
  .acqua-section{grid-template-columns:1fr}
  .acqua-section--flip{direction:ltr}

  .parchi-nav,.cultura-nav{top:80px}
  .parco-section{grid-template-columns:1fr}
  .parco-section--flip{direction:ltr}
  .sost-kpi{grid-template-columns:repeat(2,1fr)}

  .main-nav .nav-item{display:none}

  .ski-tabs-wrap{top:80px}
  .ski-tab-btn{padding:14px 16px;font-size:.78rem}
  .ski-table th,.ski-table td{padding:8px 8px;font-size:.8rem}

  .terr-aq-hover{max-height:90px!important;opacity:1!important;margin-top:8px!important}
  .terr-parco-hover{max-height:130px!important;opacity:1!important;margin-top:14px!important}
  .terr-cc-hover{max-height:180px!important;opacity:1!important;margin-top:14px!important}
  .feat-icon-hover{max-height:180px!important;opacity:1!important;margin-top:14px!important}
  .dorm-pc-hover{max-height:280px!important;opacity:1!important;margin-top:16px!important}

  
.dorm-pc-body, .dorm-pc-item{color: #000;}

  /* Pannello borghi (page-territorio.php): normalmente attivato via JS al
     mouseenter/mouseleave (classe .is-active) - su mobile niente hover reale,
     quindi lo mostriamo aperto di default indipendentemente dalla classe. */
     
.terr-track{flex-wrap: wrap;gap: 10px;}
    .terr-track--grid .terr-borgo{height: auto;}
 .terr-borgo {
    flex: 0 0 calc(50% - 5px);height: auto;}
    .terr-borgo img{height: 300px;}
  .terr-borgo-panel{width:100%!important;position: relative;}
  .terr-borgo-panel-inner{opacity:1!important;transform:none!important}
  .terr-borgo::after{background:linear-gradient(to top,rgba(165,0,22,.92) 0%,rgba(165,0,22,.2) 55%,transparent 100%)!important}

  .terr-finale .width-wrap{justify-content: center;}


  .feat-light{padding: 40px 0;}


    .territory-grid,.stay-grid,.gc-inner{grid-template-columns:1fr;gap:32px}
    .cards,.service-grid{grid-template-columns:1fr}
    .news-list{grid-template-columns:repeat(2,1fr)}
    .foot-grid { flex-direction: column; }
    .split{flex-direction:column}
    .panel{min-height:380px}
    .split:hover .panel,.split:hover .panel:hover{flex:1}
  

.app-grid{grid-template-columns:repeat(2,1fr)}

.terr-cultura-grid--4col{grid-template-columns:repeat(2,1fr)}

  .terr-acqua-row{grid-template-columns:repeat(2,1fr)}
  .terr-parchi-grid,.terr-cultura-grid{grid-template-columns:1fr}
  .terr-sost{grid-template-columns:1fr}
  .terr-finale{flex-direction:column;text-align:center}

.section{padding:40px 0}
  .seasons-head{padding: 40px 24px;}
  .section-head.row{flex-wrap: wrap;}

}

/*--------------------------
Breakpoint 782px
--------------------------*/
@media (max-width:782px){



}

/*--------------------------
Breakpoint 640px
--------------------------*/
@media (max-width:640px){

    .search-overlay-input{font-size:1.5rem}
    .search-overlay-form{gap:10px}
  

 .evt-grid{grid-template-columns:1fr} 

  .evt-details-section{padding:15px}
  .evt-details-grid{grid-template-columns:1fr;gap:28px}
  .evt-details-grid::before{display:none}

 .cat-grid{grid-template-columns:1fr} 

  .app-richiedi .cf7-row{grid-template-columns:1fr}

  .whatsapp-float{right:16px;bottom:16px;width:52px;height:52px}
  .whatsapp-float svg{width:26px;height:26px}

}

/*--------------------------
Breakpoint 620px
--------------------------*/
@media (max-width:620px){

.app-grid{grid-template-columns:1fr}

}

/*--------------------------
Breakpoint 600px
--------------------------*/
@media (max-width:600px){

.feat-photo-row,.feat-icon-grid{grid-template-columns:1fr}

}

/*--------------------------
Breakpoint 560px
--------------------------*/
@media (max-width:560px){

  h1{font-size: 2.5em;}
  h2{font-size: 2em;}

  .header-inner{gap: 10px;padding: 0 15px;}

    .news-list,.gc-perks{grid-template-columns:1fr}
    
    .header-inner{height:70px}
    .brand-logo { width: auto; height: 45px; }

    .site-header .header-tools img{height: 20px;}
  
.wrap{padding: 0 15px;}

/*HOME*/

.hero h1 { font-size: 2.5em; margin: 10px 0 15px; }
.hero .eyebrow{font-size: .875em;}
.hero p{font-size: 1em;}
.hero p br{display: none;}

.eyebrow{font-size: .875em!important;}

.territory-text p{font-size: 1em;}
.territory-text h2, .seasons-head h2, .panel h3, .stay-visual h3, .filter-card h2, .gc-inner h2, .section-head h2{font-size: 2em;}

.seasons-head{padding: 40px 15px;}
.seasons-head p{font-size: 1em;}

.panel{padding: 15px; justify-content: center;}
.panel .season-tag{font-size: .875em;}

.stay-visual{padding: 15px;}
.stay-visual .badge{font-size: .875em;}

.filter-card{padding: 15px;}
.gc-inner{padding: 40px 15px;}
.service-grid{padding: 40px 15px;}


/*IL TERRITORIO*/
.terr-strip{padding: 40px 15px; gap: 15px; text-align: center;}
.terr-dark{padding: 40px 0;}
.terr-dark h2, .terr-parchi h2, .terr-cultura h2{font-size: 2em;}
.terr-section-head{padding: 0 15px 40px;}

.terr-track--grid{grid-template-columns:1fr}

.terr-borgo { flex: auto; height: auto; }

.terr-borgo-panel-inner{padding: 15px;}

.terr-acqua-row, .terr-parchi-grid{padding: 0 15px;gap: 10px;}

.terr-parchi, .terr-cultura{padding: 40px 0;}

.terr-cultura-grid{padding: 0 15px;gap: 10px;}
.terr-cultura-grid--4col{grid-template-columns:1fr}
.terr-cultura-card{padding: 15px;}

.terr-sost{padding: 40px 15px;gap: 20px;}

.terr-parco-inner{padding: 15px;}

.terr-acqua-row{grid-template-columns:1fr}

/*TERRITORIO PAG INTERNA*/

 
  .parchi-nav,.cultura-nav, .acqua-nav, .ski-tabs-nav, .borghi-nav{top:70px}
.borgo-text{padding: 40px 15px;}
.borgo-text h2{font-size: 2em;}

/*SOSTENIBILITA'*/

.sost-kpi{padding: 0;}
.sost-kpi-card{padding: 15px;}
.feat-split-text{padding: 40px 15px;}
.terr-finale{padding: 40px 15px;}

/*SERVIZI*/
.section-head{margin-bottom: 20px;}
.srv-section, .feat-snow{padding: 40px 0;}
.dorm-zone-grid,.dorm-prop-grid{grid-template-columns:1fr;padding: 0 15px; gap: 10px;}
.gc-perks{gap: 10px;}
.dorm-prop-card{padding: 15px;}
.dorm-step{padding: 20px 0;}
.dorm-steps{padding: 40px 0;}
.dorm-steps-inner{gap: 40px;padding: 0 15px;}

/*SERVIZIO*/
.app-head{margin-bottom: 20px;}
.app-wrap{padding: 0 15px;}
.app-tab-panels{padding: 15px;}
.app-tabs{gap: 15px;}
.app-tab-btn{padding: 10px 0;}



/*EVENTI*/
.wrap-eventi-nav{padding:20px 15px 0}
.wrap-eventi{padding: 20px 15px 40px;}


/*EVENTO*/
.evt-head{padding: 20px 0 40px;}

.snow-grid{grid-template-columns:1fr}


.sost-kpi{grid-template-columns:1fr}

/*Footer*/
.site-footer{padding: 40px 0;}
.foot-brand .brand-logo{width: auto;height: 45px;}

.foot-col, .foot-brand{text-align: left!important;}

}

/*--------------------------
Breakpoint 480px
--------------------------*/
@media (max-width:480px){



  .search-refine-form{flex-direction:column;max-width:none}

}

/*--------------------------
Accessibilità: riduzione animazioni (prefers-reduced-motion)
--------------------------*/
@media (prefers-reduced-motion:reduce){

    *{animation:none!important;transition:none!important;scroll-behavior:auto}
  

.reveal{opacity:1;transform:none;transition:none}

}