:root{--blue:#087fa7;--navy:#11354d;--orange:#f4a33b;--bg:#f3f7f8;--text:#18313e}*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.55}a{color:var(--blue)}img{max-width:100%;display:block}.wrap{width:min(1480px,calc(100% - 56px));margin:auto}.top{background:var(--navy);color:white}.top .wrap{display:flex;justify-content:space-between;padding:7px 0}.top a{color:white;text-decoration:none}header{background:#fff;position:sticky;top:0;z-index:10;box-shadow:0 3px 15px #0001}.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}.logo{width:210px}nav{display:flex;gap:20px}nav a{text-decoration:none;color:var(--text);font-weight:700}#menuBtn{display:none}.hero{min-height:630px;background:linear-gradient(90deg,#072f46cc,#072f4633),url('../img/hero.svg') center/cover;color:#fff;display:flex;align-items:center}.hero h1,.pagehead h1{font-family:Georgia,serif;font-size:clamp(3rem,7vw,6rem);line-height:.95;margin:.15em 0}.hero .lead{font-size:1.2rem;max-width:700px}.tag,.title p,.pagehead p{letter-spacing:.16em;font-weight:800;color:#ffd18f}.btn{display:inline-block;background:var(--orange);border:0;border-radius:999px;padding:13px 22px;font-weight:800;color:#153442;text-decoration:none;cursor:pointer}.secondary{background:transparent;border:2px solid var(--blue);color:var(--blue);padding:9px 16px}.section{padding:70px 0}.title{text-align:center;margin-bottom:34px}.title h2,.band h2,.content h2,.contact h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.2rem);margin:.2em 0}.title p{color:var(--orange)}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 15px 40px #1234;display:flex;flex-direction:column}.card-media{position:relative}.card>img,.card-media>img{width:100%;aspect-ratio:16/10;object-fit:cover}.cardbody{padding:20px;display:flex;flex-direction:column;flex:1}.cardbody>span{font-size:.75rem;letter-spacing:.14em;font-weight:800;color:var(--orange)}.card h3{font-family:Georgia,serif;font-size:1.4rem;line-height:1.15;margin:.4em 0}.card p{color:#62747d;font-size:.92rem;line-height:1.5}.card-description{text-align:justify;text-justify:inter-word}.meta{margin-top:auto;display:grid;gap:7px;font-size:.9rem}.meta-item{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.meta-label{font-weight:700;color:var(--navy)}.price{font-size:1.45rem;color:var(--blue);font-weight:800;margin:15px 0}.card-type-badge{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;min-height:32px;padding:7px 12px;border-radius:999px;background:var(--orange);color:#153442;font-size:.74rem;font-weight:900;letter-spacing:.04em;box-shadow:0 10px 24px rgba(17,53,77,.16)}.card-type-badge.gita{background:#0d87b0;color:#fff}.card-action-btn{display:block;width:100%;text-align:center}.band{background:white;padding:70px 0}.twocol{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px}.twocol img{border-radius:18px}.pagehead{background:linear-gradient(110deg,#0a789b,#173b53);color:white;padding:65px 0}.pagehead h1{font-size:clamp(2.7rem,6vw,5rem)}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.services div,form{background:white;padding:24px;border-radius:16px;box-shadow:0 14px 35px #1233}.album{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.album img{aspect-ratio:4/3;object-fit:cover;border-radius:14px}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}form{display:grid;gap:14px}label{font-weight:700}input,textarea{width:100%;display:block;padding:12px;margin-top:6px;border:1px solid #b7c8d0;border-radius:10px;font:inherit}.check{display:flex;gap:10px;font-weight:400}.check input{width:auto}.trap{position:absolute;left:-9999px}.notice{padding:12px;border-radius:9px}.ok{background:#e7f7ed;color:#176236}.bad{background:#fde9e9;color:#8e2222}footer{background:#102d3e;color:#dce9ed;padding-top:50px}.foot{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:35px}.foot img{width:210px}.foot a{color:white}.copy{text-align:center;border-top:1px solid #ffffff22;margin-top:30px;padding:16px}@media(max-width:1180px){.grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){#menuBtn{display:block;background:var(--navy);color:#fff;border:0;border-radius:8px;padding:10px 14px}nav{display:none;position:absolute;top:82px;left:0;right:0;background:white;flex-direction:column;padding:20px;box-shadow:0 15px 30px #1233}nav.open{display:flex}.grid,.services,.album{grid-template-columns:repeat(2,1fr)}.twocol,.contact{grid-template-columns:1fr}}@media(max-width:560px){.grid,.services,.album,.foot{grid-template-columns:1fr}.hero{min-height:560px}.section{padding:50px 0}.logo{width:170px}.top span{display:none}}
.wrap.wide{max-width:1440px}.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.price{display:flex;justify-content:space-between;align-items:center}.trip-hero{min-height:430px;background-size:cover;background-position:center;display:flex;align-items:flex-end;color:#fff;padding:70px 0}.trip-hero h1{font-size:clamp(2.3rem,5vw,4.5rem);max-width:900px;margin:.2em 0}.trip-meta{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.trip-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:50px;align-items:start}.trip-side{position:sticky;top:110px;background:#fff;border:1px solid #dbe4e9;border-radius:16px;padding:24px;box-shadow:0 12px 34px rgba(22,49,66,.08)}.big-price{font-size:2rem;font-weight:800;color:#007ba8;margin:10px 0 18px}.stage-public{display:grid;grid-template-columns:52px 1fr;gap:18px;border-bottom:1px solid #dfe7eb;padding:22px 0}.stage-number{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#008ab8;color:#fff;font-weight:800}.alt{background:#edf3f5}.tabs-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.tabs-content section{background:#fff;border-radius:16px;padding:28px;box-shadow:0 10px 28px rgba(22,49,66,.06)}
@media(max-width:1100px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trip-layout{grid-template-columns:1fr}.trip-side{position:static}}
@media(max-width:650px){.grid,.tabs-content{grid-template-columns:1fr}}

/* Patch 0015 - immagini tappe e giorno 0 */
.stage-public.senza-numero{grid-template-columns:1fr}
.immagini-tappa-pubbliche{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.immagini-tappa-pubbliche img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
@media(max-width:650px){.immagini-tappa-pubbliche{grid-template-columns:1fr}}

/* Patch 0016 - adattamento completo ai margini del dispositivo mobile */
html,body{width:100%;max-width:100%;overflow-x:hidden}
main,header,footer,.top,.trip-hero,.pagehead,.section,.band{width:100%;max-width:100%}
.wrap,.wrap.wide{width:min(1480px,calc(100% - 56px));max-width:none}
.trip-layout,.trip-layout>article,.stage-public>div,.tabs-content>section{min-width:0}
.stage-public h3,.stage-public p,.trip-hero h1{overflow-wrap:anywhere}

@media(max-width:650px){
  .wrap,.wrap.wide{width:100%;padding-left:18px;padding-right:18px}
  .top .wrap{padding-top:7px;padding-bottom:7px}
  .nav{width:100%;min-width:0}
  .trip-hero{width:100%;min-height:360px;background-size:cover;background-position:center}
  .trip-hero .wrap{width:100%}
  .trip-meta{gap:10px 16px}
  .section{width:100%;padding:42px 0}
  .trip-layout{width:100%;grid-template-columns:minmax(0,1fr);gap:28px}
  .stage-public{width:100%;grid-template-columns:38px minmax(0,1fr);gap:10px;padding:18px 0}
  .stage-public.senza-numero{grid-template-columns:minmax(0,1fr)}
  .stage-number{width:32px;height:32px;font-size:.9rem}
  .tabs-content{width:100%;grid-template-columns:minmax(0,1fr)}
  .tabs-content section{width:100%;padding:20px}
  .trip-side{width:100%}
  .album,.immagini-tappa-pubbliche{width:100%;grid-template-columns:minmax(0,1fr)}
  footer .wrap{width:100%}
}

/* Patch 0318 - copertine multiple nella testata del viaggio */
.trip-hero-detail.has-cover-carousel{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background-image:none!important;
}
.trip-cover-carousel{
  position:absolute;
  z-index:0;
  inset:0;
  overflow:hidden;
  background:#082d3f;
}
.trip-hero-detail.has-cover-carousel:after{z-index:1}
.trip-hero-detail.has-cover-carousel .trip-hero-content{z-index:2}
body[data-public-page="viaggio"] main .section>.wrap.album{display:none!important}
.trip-cover-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transform:scale(1.015);
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
  transition:opacity .65s ease,transform 5.5s ease;
}
.trip-cover-slide.is-active{
  opacity:1;
  transform:scale(1.04);
}
.trip-cover-carousel-controls{
  position:absolute;
  z-index:4;
  right:max(20px,calc((100% - 1180px)/2));
  bottom:22px;
  display:flex;
  align-items:center;
  gap:8px;
}
.trip-cover-carousel-button{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  padding:0;
  border:1px solid rgba(255,255,255,.55);
  border-radius:50%;
  background:rgba(5,35,50,.72);
  color:#fff;
  box-shadow:0 5px 18px rgba(0,0,0,.18);
  cursor:pointer;
  backdrop-filter:blur(5px);
}
.trip-cover-carousel-button:hover,
.trip-cover-carousel-button:focus-visible{
  border-color:#fff;
  background:#087fa8;
  outline:3px solid rgba(255,255,255,.28);
  outline-offset:2px;
}
.trip-cover-carousel-button svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.trip-cover-carousel-dots{
  display:flex;
  align-items:center;
  gap:5px;
  min-height:38px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(5,35,50,.68);
  backdrop-filter:blur(5px);
}
.trip-cover-carousel-dot{
  width:7px;
  height:7px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.5);
  cursor:pointer;
}
.trip-cover-carousel-dot.is-active{
  width:20px;
  border-radius:999px;
  background:#fff;
}
@media(max-width:760px){
  .trip-cover-carousel-controls{
    right:14px;
    bottom:14px;
  }
  .trip-cover-carousel-button{
    width:36px;
    height:36px;
  }
  .trip-cover-carousel-dots{
    min-height:36px;
    padding:0 8px;
  }
}
@media(prefers-reduced-motion:reduce){
  .trip-cover-slide{transition:opacity .2s linear;transform:none!important}
}

/* Patch 0018 - scheda viaggio editoriale e navigazione fissa */
:root{--topbar-height:38px}
.top{position:sticky;top:0;z-index:40;min-height:var(--topbar-height)}
.top .wrap{min-height:var(--topbar-height);align-items:center}
header{top:var(--topbar-height);z-index:39}

.trip-hero-detail{min-height:560px;position:relative;isolation:isolate;align-items:center;padding:90px 0 78px;background-position:center;background-size:cover}
.trip-hero-detail:after{content:"";position:absolute;inset:auto 0 0;height:130px;background:linear-gradient(transparent,rgba(5,28,44,.30));z-index:-1}
.trip-hero-content{position:relative}
.trip-kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 20px;font-size:.78rem;font-weight:900;letter-spacing:.22em;color:#ffd18f}
.trip-kicker:before{content:"";width:42px;height:2px;background:var(--orange)}
.trip-hero-detail h1{max-width:1020px;margin:0;font-family:Georgia,serif;font-size:clamp(3.4rem,7vw,6.8rem);line-height:.92;letter-spacing:-.035em;text-shadow:0 8px 28px rgba(0,0,0,.25)}
.trip-intro{max-width:760px;margin:24px 0 0;font-size:1.18rem;line-height:1.7;color:rgba(255,255,255,.88)}
.trip-facts{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.trip-fact{min-width:180px;padding:15px 18px;border:1px solid rgba(255,255,255,.26);border-radius:14px;background:rgba(255,255,255,.10);backdrop-filter:blur(8px)}
.trip-fact-label{display:block;margin-bottom:3px;font-size:.70rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#cde5ed}
.trip-fact strong{display:block;font-size:1.03rem;color:#fff}
.trip-fact-price strong{font-size:1.35rem;color:#ffd18f}

.trip-main-section{padding-top:86px}
.trip-program{min-width:0}
.trip-section-heading{margin-bottom:38px}
.trip-section-heading.centered{text-align:center;margin-bottom:42px}
.trip-section-kicker{margin:0 0 7px;font-size:.72rem;font-weight:900;letter-spacing:.18em;color:var(--orange)}
.trip-section-heading h2{margin:0;font-family:Georgia,serif;font-size:clamp(2.25rem,4vw,3.6rem);line-height:1.05;color:var(--navy)}
.trip-section-heading span{display:block;margin-top:12px;color:#667a84;font-size:1.02rem}

.stage-public{position:relative;grid-template-columns:62px minmax(0,1fr);gap:22px;padding:0 0 34px;margin-bottom:34px;border-bottom:1px solid #dce6ea}
.stage-public:last-child{margin-bottom:0}
.stage-public:before{content:"";position:absolute;left:30px;top:60px;bottom:-34px;width:1px;background:#cbdde4}
.stage-public:last-child:before,.stage-public.senza-numero:before{display:none}
.stage-number{width:60px;height:60px;background:linear-gradient(145deg,#0793bd,#087fa7);box-shadow:0 10px 24px rgba(8,127,167,.23);font-size:1.1rem}
.stage-content{min-width:0;padding-top:4px}
.stage-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.stage-title-row h3{margin:0;font-family:Georgia,serif;font-size:1.55rem;line-height:1.2;color:var(--navy)}
.stage-title-row small{flex:0 0 auto;padding:6px 10px;border-radius:999px;background:#e8f3f7;color:var(--blue);font-weight:800}
.stage-description{margin:14px 0;color:#455c67;font-size:1.02rem;line-height:1.75;text-align:justify;text-justify:inter-word;hyphens:auto}
.stage-details{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:16px}
.stage-details p{display:flex;gap:8px;align-items:center;margin:0;padding:8px 12px;border-radius:10px;background:#fff;border:1px solid #dde8ec}
.stage-details b{color:var(--navy)}
.stage-details span{color:#647984}

.trip-side{top:calc(var(--topbar-height) + 104px);padding:30px;border:0;border-radius:20px;box-shadow:0 18px 48px rgba(17,53,77,.12);background:linear-gradient(180deg,#fff,#f9fcfd)}
.trip-side-label{display:block;font-size:.72rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:#6a7f89}
.big-price{margin:7px 0 10px;font-family:Georgia,serif;font-size:2.35rem;line-height:1;color:var(--blue)}
.trip-side-note{margin:0 0 22px;color:#667a84}
.trip-cta{display:block;text-align:center;width:100%}

.trip-info-section{padding:90px 0}
.trip-info-grid{gap:26px}
.trip-info-card{position:relative;overflow:hidden;min-height:260px;padding:34px 34px 32px!important;border:1px solid #e1eaee;box-shadow:0 14px 36px rgba(17,53,77,.07)!important}
.trip-info-card:after{content:"";position:absolute;right:-38px;bottom:-48px;width:130px;height:130px;border-radius:50%;background:rgba(8,127,167,.055)}
.trip-info-number{font-family:Georgia,serif;font-size:2.6rem;line-height:1;color:#d5e7ed}
.trip-info-card h2{position:relative;margin:12px 0 18px;font-family:Georgia,serif;font-size:1.65rem;color:var(--navy)}
.trip-info-card h2:after{content:"";display:block;width:44px;height:3px;margin-top:12px;background:var(--orange);border-radius:10px}
.trip-info-card p{position:relative;margin:0;color:#506771;line-height:1.75}

@media(max-width:1100px){
  .trip-hero-detail{min-height:510px}
  .trip-side{top:auto}
}

@media(max-width:650px){
  :root{--topbar-height:38px}
  .trip-hero-detail{min-height:500px;padding:72px 0 56px;background-position:center}
  .trip-hero-detail h1{font-size:clamp(2.8rem,13vw,4.4rem)}
  .trip-intro{font-size:1rem}
  .trip-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}
  .trip-fact{min-width:0;padding:12px 13px}
  .trip-fact-price{grid-column:1/-1}
  .trip-main-section{padding-top:54px}
  .trip-section-heading{margin-bottom:28px}
  .trip-section-heading h2{font-size:2.35rem}
  .stage-public{grid-template-columns:44px minmax(0,1fr);gap:13px;padding-bottom:26px;margin-bottom:26px}
  .stage-public:before{left:21px;top:44px;bottom:-26px}
  .stage-number{width:42px;height:42px;font-size:.95rem}
  .stage-title-row{display:block}
  .stage-title-row h3{font-size:1.32rem}
  .stage-title-row small{display:inline-block;margin-top:9px}
  .stage-description{font-size:.97rem}
  .stage-details{display:grid;grid-template-columns:1fr}
  .stage-details p{align-items:flex-start;flex-direction:column;gap:2px}
  .trip-info-section{padding:58px 0}
  .trip-info-card{min-height:0;padding:26px 24px!important}
}


/* Patch 0023 - servizi inclusi in riepilogo */
.card-services{margin:18px 0 4px;padding-top:16px;border-top:1px solid #e1eaee;text-align:center}
.card-services-title,.trip-services-title{font-size:.84rem;font-weight:800;color:var(--navy);margin-bottom:10px;text-align:center}
.card-services-icons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center}
.card-service-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid #163f60;box-shadow:0 6px 16px rgba(17,53,77,.08)}
.card-service-icon img{width:34px;height:34px;object-fit:contain}
.trip-services-box{margin-top:24px;padding-top:18px;border-top:1px solid #e4edf1;text-align:center}
.trip-services-icons .card-service-icon{width:50px;height:50px}
.trip-services-icons .card-service-icon img{width:36px;height:36px}
.trip-services-public-section{padding-top:18px}
.trip-services-detail-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}
.trip-service-detail-item{width:calc((100% - 54px)/4);background:#fff;border:1px solid #e1eaee;border-radius:16px;padding:18px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;box-shadow:0 10px 26px rgba(17,53,77,.05);text-align:center}
.trip-service-detail-item span{font-weight:700;color:var(--navy);text-align:center;font-size:.95rem;line-height:1.25}
.trip-service-detail-icon{width:54px;height:54px}
.trip-service-detail-icon img{width:38px;height:38px}
@media(max-width:650px){.card-services-icons{gap:8px}.card-service-icon{width:42px;height:42px}.card-service-icon img{width:30px;height:30px}.trip-services-icons .card-service-icon{width:46px;height:46px}.trip-services-icons .card-service-icon img{width:32px;height:32px}.trip-services-detail-grid{gap:12px}.trip-service-detail-item{width:calc((100% - 12px)/2);padding:14px 12px}.trip-service-detail-icon{width:50px;height:50px}.trip-service-detail-icon img{width:34px;height:34px}}


/* Patch 0027 - home in quattro sezioni, slideshow e logo dinamico */
.logo{height:64px;object-fit:contain}.footer-logo-box{display:inline-flex;align-items:center;justify-content:center;max-width:250px;min-height:86px;padding:12px 16px;background:#fff;border-radius:12px}.footer-logo-box img{width:auto;max-width:215px;max-height:62px;object-fit:contain}.hero-slider{position:relative;min-height:630px;overflow:hidden;background:var(--navy)}.hero-slide{position:absolute;inset:0;display:flex;align-items:center;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s ease;background-position:center;background-size:cover;color:#fff}.hero-slide.active{opacity:1;visibility:visible}.hero-slide-content{position:relative;z-index:2}.hero-slide h1{font-family:Georgia,serif;font-size:clamp(3rem,7vw,6rem);line-height:.95;margin:.15em 0;max-width:920px}.hero-slide .lead{font-size:1.2rem;max-width:700px}.hero-slider-dots{position:absolute;z-index:4;left:50%;bottom:24px;display:flex;gap:10px;transform:translateX(-50%)}.hero-slider-dot{width:12px;height:12px;padding:0;border:2px solid #fff;border-radius:50%;background:transparent;cursor:pointer}.hero-slider-dot.active{background:#fff}.home-group{position:relative}.home-group+.home-group{border-top:1px solid #d9e5ea}.home-group-alt{background:#edf3f5}.home-section-heading{text-align:center;max-width:880px;margin:0 auto 38px}.home-section-heading>p{margin:0 0 7px;font-size:.76rem;font-weight:900;letter-spacing:.18em;color:var(--orange)}.home-section-heading h2{margin:0;font-family:Georgia,serif;font-size:clamp(2.35rem,4.5vw,4rem);line-height:1;color:var(--navy)}.home-section-heading span{display:block;margin-top:17px;color:#617680;font-size:1.03rem;line-height:1.7}.home-divider{width:78px;height:3px;margin:18px auto 0;border-radius:10px;background:var(--blue)}.featured-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}.featured-showcase{display:grid;grid-template-columns:minmax(230px,270px) minmax(0,1fr);min-height:300px;background:#fff;border:1px solid #d3e0e6;border-radius:20px;overflow:hidden;box-shadow:0 12px 28px rgba(17,53,77,.07)}.featured-showcase-info{padding:18px 18px 16px;display:flex;flex-direction:column;gap:0;background:#fff}.featured-showcase-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:11px}.featured-showcase-type{display:inline-flex;align-items:center;min-height:27px;padding:5px 10px;border-radius:999px;background:var(--orange);color:var(--navy);font-size:.66rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.featured-showcase-type.gita{background:var(--blue);color:#fff}.featured-showcase-country{font-size:.72rem;font-weight:900;color:var(--orange);letter-spacing:.09em;text-transform:uppercase;padding-top:5px;text-align:left}.featured-showcase-title{margin:0 0 14px;font-family:Georgia,serif;font-size:clamp(1.28rem,1.55vw,1.65rem);line-height:1.05;color:var(--navy);text-wrap:balance}.featured-showcase-meta{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:14px}.featured-showcase-meta-row{display:grid;gap:2px;min-width:0}.featured-showcase-meta-row span{font-size:.76rem;font-weight:800;color:var(--navy)}.featured-showcase-meta-row strong{font-size:.95rem;line-height:1.08;font-weight:900;color:var(--blue);white-space:nowrap}.featured-showcase-price-block{margin-top:auto;padding-top:12px;border-top:1px solid #e1eaee;text-align:center}.featured-showcase-price-label{display:block;font-size:.78rem;font-weight:800;color:var(--navy);margin-bottom:4px}.featured-showcase-price{font-size:1.95rem;line-height:.95;font-weight:900;color:var(--blue)}.featured-showcase-services-wrap{margin-top:9px}.featured-showcase-services-title{font-weight:800;color:var(--navy);text-align:center;margin:0 0 6px;font-size:.73rem}.featured-showcase-services{justify-content:center;gap:6px}.featured-showcase-services .card-service-icon{width:38px;height:38px}.featured-showcase-services .card-service-icon img{width:28px;height:28px}.featured-showcase-btn{margin-top:11px;width:100%;padding:8px 14px;text-align:center;font-size:.78rem}.featured-showcase-media{position:relative;min-height:300px;background:#d8e8ef}.featured-showcase-media img{width:100%;height:100%;object-fit:cover;aspect-ratio:auto}.card-primo-piano h3{font-size:1.75rem}.card-primo-piano .card-media>img{aspect-ratio:16/9}.card-primo-piano .cardbody{padding:24px}.home-group-action{display:flex;justify-content:center;margin-top:34px}.home-group-action .btn{min-width:230px;text-align:center}.home-empty{text-align:center;color:#687c86}
@media(max-width:1180px){.featured-rail{grid-template-columns:1fr}.featured-showcase{grid-template-columns:minmax(220px,260px) minmax(0,1fr);min-height:280px}.featured-showcase-media{min-height:280px}.featured-showcase-title{font-size:1.5rem}}
@media(max-width:650px){.hero-slider{min-height:560px}.hero-slide h1{font-size:clamp(2.8rem,13vw,4.4rem)}.hero-slide .lead{font-size:1rem}.featured-rail{grid-template-columns:1fr;gap:18px}.featured-showcase{grid-template-columns:1fr;border-radius:18px;min-height:0}.featured-showcase-info{order:2;padding:15px}.featured-showcase-media{order:1;min-height:190px}.featured-showcase-top{align-items:flex-start}.featured-showcase-country{font-size:.69rem;padding-top:5px}.featured-showcase-type{font-size:.62rem}.featured-showcase-title{font-size:1.45rem;margin-bottom:13px}.featured-showcase-meta{grid-template-columns:1fr;margin-bottom:13px;gap:8px}.featured-showcase-meta-row strong{font-size:.93rem;white-space:nowrap}.featured-showcase-price{font-size:1.85rem}.featured-showcase-services{justify-content:center}.featured-showcase-btn{margin-top:10px}.home-section-heading{margin-bottom:28px}.home-section-heading h2{font-size:2.45rem}.logo{height:54px;max-width:180px}}


/* Patch 0032 - immagine in evidenza nei consigliati per te */
.trip-recommended-box{margin-top:24px;padding-top:20px;border-top:1px solid #e4edf1}
.trip-recommended-title{margin-bottom:12px;text-align:center;font-family:Georgia,serif;font-size:1.18rem;font-weight:700;color:var(--navy)}
.trip-recommended-list{display:grid;gap:12px}
.trip-recommended-link{display:flex;flex-direction:column;overflow:hidden;border:1px solid #e1eaee;border-radius:13px;background:#fff;color:var(--navy);text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.trip-recommended-link:hover{transform:translateY(-2px);border-color:#b9d7e2;box-shadow:0 10px 24px rgba(17,53,77,.10)}
.trip-recommended-link[hidden]{display:none!important}
.trip-recommended-link img{width:100%;height:108px;border-radius:0;object-fit:cover}
.trip-recommended-link span{display:block;min-width:0;padding:10px 11px 11px}
.trip-recommended-link strong{display:block;font-size:.90rem;line-height:1.22;overflow-wrap:anywhere}
.trip-recommended-link small{display:block;margin-top:5px;color:#6b808a;font-size:.73rem;line-height:1.25}
@media(max-width:1100px){.trip-recommended-list{grid-template-columns:repeat(3,minmax(0,1fr))}.trip-recommended-link img{height:112px}}
@media(max-width:760px){.trip-recommended-list{grid-template-columns:1fr}.trip-recommended-link img{height:150px}}


/* Patch 0030 - prezzi senza decimali nelle anteprime */
.trip-recommended-price{color:var(--blue)!important;font-weight:800;font-size:.78rem!important}


/* Patch 0034 - scheda viaggio automatica e riquadri senza numerazione */
.trip-info-card h2{margin-top:0}
.trip-summary-list{display:grid;gap:10px;margin-top:4px}
.trip-summary-row{display:grid;grid-template-columns:minmax(120px,.75fr) minmax(0,1.25fr);gap:14px;align-items:baseline}
.trip-summary-row span{color:#315f86}
.trip-summary-row strong{color:#315f86;font-weight:800}
@media(max-width:650px){.trip-summary-row{grid-template-columns:1fr;gap:2px}.trip-summary-row span{font-size:.9rem}}


/* Patch 0040 - tipologia in alto a destra sopra l'immagine */
.featured-showcase-type-overlay{position:absolute;top:14px;right:14px;z-index:2;box-shadow:0 6px 16px rgba(17,53,77,.18)}


/* Patch 0041 - quote affiancate e liste uniformi */
.trip-info-grid{align-items:stretch}
.trip-info-grid>.trip-info-card{height:100%}
.trip-info-card-list{display:flex;flex-direction:column}
.trip-inclusion-list{position:relative;display:grid;gap:9px;margin:0;padding:0;list-style:none;color:#315f86;font-size:1rem;line-height:1.55}
.trip-inclusion-list li{position:relative;padding-left:18px;color:#315f86}
.trip-inclusion-list li:before{content:"";position:absolute;left:0;top:.68em;width:6px;height:6px;border-radius:50%;background:var(--blue)}
@media(max-width:650px){.trip-inclusion-list{font-size:.95rem;gap:8px}}


/* Patch 0044 - categorie raggruppate nella scheda viaggio */
.trip-category-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:0 0 20px;padding:14px;border:1px solid #dce8ed;border-radius:12px;background:#f6fafb}
.trip-category-item{display:grid;gap:3px;min-width:0}
.trip-category-item span{font-size:.76rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#087fa7}
.trip-category-item strong{font-size:.94rem;line-height:1.3;color:#315f86;overflow-wrap:anywhere}
@media(max-width:650px){.trip-category-group{grid-template-columns:1fr}}


/* Patch 0048 - condizioni quota automatiche */
.trip-quota-conditions{position:relative;display:grid;gap:8px;margin:0 0 18px;padding:15px 17px;border-left:4px solid var(--orange);border-radius:0 10px 10px 0;background:#fff8ed}.trip-quota-conditions p{margin:0!important;color:var(--navy)!important;font-weight:800;line-height:1.5!important}


/* Patch 0051 - ricerca viaggi in home e pagina risultati */
.home-search-section{position:relative;z-index:5;margin-top:-46px;padding:0 0 26px}.home-search-panel{position:relative;background:linear-gradient(180deg,#ffffff 0%,#f8fbfc 100%);border:1px solid #d7e4ea;border-radius:24px;padding:20px 28px 24px;box-shadow:0 18px 44px rgba(17,53,77,.13)}.home-search-panel:before{content:"";position:absolute;left:28px;right:28px;top:0;height:4px;border-radius:0 0 999px 999px;background:linear-gradient(90deg,var(--orange),#ffd08e)}.home-search-heading{text-align:center;max-width:760px;margin:0 auto 14px}.home-search-heading p{margin:0;color:var(--orange);font-size:.78rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.home-search-heading span{display:block;margin-top:6px;color:#647b86;font-size:.96rem}.travel-search-form{background:transparent;padding:0;border-radius:0;box-shadow:none}.travel-search-form-grid{display:grid;grid-template-columns:minmax(280px,1.7fr) repeat(3,minmax(160px,1fr)) minmax(170px,.9fr);align-items:stretch;gap:12px}.travel-search-field{display:flex;flex-direction:column;justify-content:center;margin:0;padding:8px 14px 9px;border:1px solid #d4e1e7;border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(17,53,77,.05)}.travel-search-field span{display:block;margin:0 0 5px;color:var(--navy);font-size:.79rem;font-weight:900;letter-spacing:.02em}.travel-search-form input,.travel-search-form select{height:32px;margin-top:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--text);font:inherit;outline:none;box-shadow:none}.travel-search-form input::placeholder{color:#8a9ca5}.travel-search-field:focus-within{border-color:#8cbfd0;box-shadow:0 12px 28px rgba(8,127,167,.11)}.travel-search-actions{display:flex}.travel-search-submit{width:100%;min-height:100%;white-space:nowrap;padding-inline:24px;border-radius:14px;box-shadow:0 12px 24px rgba(244,163,59,.28)}.search-pagehead{padding-bottom:84px}.search-results-section{padding-top:0}.travel-search-form-results{position:relative;margin-top:-46px;margin-bottom:28px;padding:24px;background:linear-gradient(180deg,#ffffff 0%,#f8fbfc 100%);border:1px solid #d7e4ea;border-radius:22px;box-shadow:0 15px 38px rgba(17,53,77,.11)}.search-results-summary{margin:0 0 20px;color:#5e7480}.search-results-summary strong{font-size:1.35rem;color:var(--blue)}.search-results-grid{align-items:stretch}.search-empty-state{padding:50px 25px;text-align:center;background:#fff;border:1px solid #dbe6eb;border-radius:18px}.search-empty-state h2{margin-top:0;font-family:Georgia,serif;color:var(--navy);font-size:2rem}.search-empty-state p{color:#617680}.search-empty-state>div{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:22px}
@media(max-width:1180px){.travel-search-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.travel-search-field-keyword{grid-column:1/-1}.travel-search-actions{grid-column:1/-1}.travel-search-submit{min-height:52px}}
@media(max-width:650px){.home-search-section{margin-top:-22px;padding-bottom:18px}.home-search-panel{padding:18px 14px 16px}.home-search-panel:before{left:14px;right:14px}.home-search-heading{margin-bottom:14px}.home-search-heading span{font-size:.92rem}.travel-search-form-grid{grid-template-columns:1fr;gap:10px}.travel-search-field,.travel-search-actions{grid-column:auto}.travel-search-field{padding:8px 12px}.travel-search-form-results{margin-top:-38px;padding:18px 15px}.search-pagehead{padding-bottom:62px}.travel-search-submit{min-height:50px}}


/* Patch 0055 - collegamenti social nella barra superiore */
.top-inner{display:flex;align-items:center;justify-content:space-between;gap:18px}
.top-actions{display:flex;align-items:center;gap:15px}
.top-social{display:flex;align-items:center;gap:7px}
.top-social a{display:grid;place-items:center;width:27px;height:27px;border:1px solid rgba(255,255,255,.38);border-radius:50%;color:#fff;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.top-social a:hover{background:var(--orange);border-color:var(--orange);color:var(--navy);transform:translateY(-1px)}
.top-social svg{width:15px;height:15px;fill:currentColor}
.top-phone{font-weight:800;white-space:nowrap}
@media(max-width:650px){.top-inner{gap:10px}.top-actions{width:100%;justify-content:space-between;gap:10px}.top-social{gap:6px}.top-social a{width:26px;height:26px}.top-phone{font-size:.86rem}.top-tagline{display:none}}


/* Patch 0056 - logo tour operator sopra il prezzo */
.trip-tour-operator-logo{display:flex;align-items:center;justify-content:center;margin:0 0 20px;padding:10px 0 18px;border-bottom:1px solid #e1eaee;min-height:118px}
.trip-tour-operator-logo img{display:block;width:min(100%,280px);height:100px;object-fit:contain}
@media(max-width:650px){.trip-tour-operator-logo{min-height:105px;margin-bottom:16px;padding:8px 0 15px}.trip-tour-operator-logo img{width:min(100%,245px);height:90px}}


/* Patch 0057 - barra mobile e consigliati in fondo su mobile */
.trip-recommended-mobile-section{display:none}
@media(max-width:850px){
  :root{--topbar-height:46px}
  .top{min-height:var(--topbar-height);overflow:visible}
  .top .wrap,.top-inner{min-height:var(--topbar-height);padding-top:5px!important;padding-bottom:5px!important}
  .top-actions{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
  .top-social{display:flex!important;position:static!important;inset:auto!important;flex-direction:row!important;align-items:center!important;gap:7px!important;padding:0!important;background:transparent!important;box-shadow:none!important;width:auto!important}
  .top-social a{display:grid!important;flex:0 0 auto}
  .top-phone{display:block;flex:0 1 auto;max-width:calc(100% - 112px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  header{top:var(--topbar-height)}
}
@media(max-width:760px){
  .trip-recommended-desktop{display:none!important}
  .trip-recommended-mobile-section{display:block;padding-top:56px;padding-bottom:56px;background:#edf3f5}
  .trip-recommended-mobile-section .trip-section-heading{margin-bottom:26px}
  .trip-recommended-mobile-list{grid-template-columns:1fr;gap:16px}
  .trip-recommended-mobile-list .trip-recommended-link{border-radius:16px;box-shadow:0 12px 28px rgba(17,53,77,.08)}
  .trip-recommended-mobile-list .trip-recommended-link img{height:190px}
  .trip-recommended-mobile-list .trip-recommended-link span{padding:14px 15px 16px}
  .trip-recommended-mobile-list .trip-recommended-link strong{font-size:1rem}
}
@media(max-width:420px){
  :root{--topbar-height:44px}
  .top-social{gap:5px!important}
  .top-social a{width:25px;height:25px}
  .top-phone{font-size:.82rem;max-width:calc(100% - 98px)}
}


/* Patch 0059 - servizi inclusi mostrati una sola volta su mobile */
@media(max-width:650px){
  .trip-side .trip-services-box{display:none!important}
}


/* Patch 0060 - etichetta Novità per i primi 7 giorni */
.novita-badge{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:7px 14px;border-radius:12px;background:linear-gradient(135deg,#ff5f7a 0%,#ff8a47 100%);color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(255,255,255,.36);box-shadow:0 14px 30px rgba(255,95,122,.30),inset 0 1px 0 rgba(255,255,255,.25);z-index:3}
.novita-badge:before{content:"★";font-size:.8rem;line-height:1}
.novita-badge-card{position:absolute;top:auto;right:14px;bottom:14px}
.novita-badge-featured{position:absolute;top:auto;right:auto;left:14px;bottom:14px}
.novita-badge-detail{margin-bottom:16px}
.trip-recommended-media{position:relative}
.trip-recommended-media>img{width:100%;height:108px;object-fit:cover}
.novita-badge-mini{position:absolute;top:auto;right:8px;bottom:8px;min-height:26px;padding:4px 8px;font-size:.61rem;border-radius:10px}
@media(max-width:1100px){.trip-recommended-media>img{height:112px}}
@media(max-width:760px){.trip-recommended-media>img{height:150px}}
@media(max-width:650px){.novita-badge{min-height:30px;padding:5px 10px;font-size:.66rem}.novita-badge-card{top:auto;right:10px;bottom:10px}.novita-badge-featured{top:auto;right:auto;left:10px;bottom:10px}.trip-recommended-mobile-list .trip-recommended-media>img{height:190px}}

/* Patch 0064 - badge sempre separati */
.card-media,.featured-showcase-media,.trip-recommended-media{isolation:isolate}.card-type-badge,.featured-showcase-type-overlay{z-index:4}.novita-badge-card,.novita-badge-featured,.novita-badge-mini{z-index:5;max-width:calc(100% - 28px)}

/* Patch 0065 - download programma PDF */
.trip-pdf-download{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:46px;min-height:46px;margin-top:11px;padding:8px 14px;box-sizing:border-box;text-align:center;white-space:nowrap;background:#fff;border-color:var(--blue);color:var(--blue);font-size:.88rem;line-height:1}
.trip-pdf-download span{display:inline-grid;place-items:center;flex:0 0 auto;min-width:30px;height:20px;padding:0 5px;border-radius:5px;background:var(--blue);color:#fff;font-size:.64rem;font-weight:900;letter-spacing:.04em}
.trip-pdf-download:hover{background:#edf7fa}
@media(max-width:650px){.trip-pdf-download{height:46px;min-height:46px;font-size:.86rem}}


/* Patch 0068 - logo desktop, privacy e gestione cookie */
@media(min-width:851px){.nav{min-height:104px}.logo{width:auto!important;height:82px!important;max-width:310px!important;object-fit:contain}}
.footer-legal-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:12px}.footer-legal-links a,.footer-legal-links button{color:#fff;background:transparent;border:0;padding:0;font:inherit;text-decoration:underline;cursor:pointer}.footer-legal-links button:hover,.footer-legal-links a:hover{color:#ffd18f}
.legal-section{padding-top:58px}.legal-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:46px;align-items:start}.legal-index{position:sticky;top:calc(var(--topbar-height) + 118px);display:grid;gap:8px;padding:20px;background:#fff;border:1px solid #dce7ec;border-radius:16px;box-shadow:0 12px 30px rgba(17,53,77,.07)}.legal-index strong{margin-bottom:5px;color:var(--navy)}.legal-index a{text-decoration:none;padding:6px 0;border-bottom:1px solid #edf2f4}.legal-content{min-width:0}.legal-content>section{scroll-margin-top:150px;background:#fff;border:1px solid #e0e9ed;border-radius:18px;padding:28px 30px;margin-bottom:22px;box-shadow:0 10px 26px rgba(17,53,77,.05)}.legal-content h2{margin:0 0 16px;font-family:Georgia,serif;font-size:1.8rem;color:var(--navy)}.legal-content h3{margin-top:24px;color:var(--navy)}.legal-content p,.legal-content li{color:#465e69;line-height:1.75}.legal-update{display:inline-flex;padding:7px 11px;margin-bottom:14px;border-radius:999px;background:#eaf3f7;color:var(--blue);font-weight:800;font-size:.82rem}.legal-intro{font-size:1.08rem}.legal-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.legal-facts>div{display:grid;gap:3px;padding:13px 15px;background:#f5f9fa;border-radius:12px}.legal-facts span{font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#6c818b}.legal-facts strong{color:var(--navy)}.legal-table,.cookie-table{display:grid;border:1px solid #dce7ec;border-radius:14px;overflow:hidden}.legal-row,.cookie-row{display:grid;grid-template-columns:1fr 1fr}.cookie-row{grid-template-columns:.8fr 1.7fr .7fr}.legal-row span,.cookie-row span{padding:13px 15px;border-bottom:1px solid #e6eef1}.legal-row span+span,.cookie-row span+span{border-left:1px solid #e6eef1}.legal-row:last-child span,.cookie-row:last-child span{border-bottom:0}.legal-row-head,.cookie-row-head{background:#eff6f8;font-weight:900;color:var(--navy)}.legal-note{padding:14px 16px;border-left:4px solid var(--orange);background:#fff8ee;border-radius:0 10px 10px 0}.legal-inline-button{padding:0;border:0;background:transparent;color:var(--blue);font:inherit;text-decoration:underline;cursor:pointer}.cookie-category-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cookie-category-list>div{padding:17px;border:1px solid #e0eaee;border-radius:13px;background:#f9fcfd}.cookie-category-list p{margin-bottom:0}.cookie-consent{position:fixed;inset:0;z-index:1000;pointer-events:none}.cookie-banner{pointer-events:auto;position:absolute;left:50%;bottom:20px;width:min(1120px,calc(100% - 32px));transform:translateX(-50%);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;align-items:center;padding:22px 24px;background:#fff;border:1px solid #d5e2e8;border-radius:20px;box-shadow:0 24px 70px rgba(6,38,56,.26)}.cookie-banner-copy h2{margin:2px 0 7px;font-family:Georgia,serif;color:var(--navy);font-size:1.7rem}.cookie-banner-copy p{margin:0;color:#526a75}.cookie-banner-copy a{display:inline-block;margin-top:8px}.cookie-banner-kicker{color:var(--orange);font-size:.7rem;font-weight:900;letter-spacing:.16em}.cookie-banner-actions{display:flex;gap:9px;align-items:center}.cookie-btn{min-height:44px;padding:10px 16px;border-radius:999px;border:2px solid transparent;font-weight:900;cursor:pointer;white-space:nowrap}.cookie-btn-primary{background:var(--orange);color:var(--navy)}.cookie-btn-outline{background:#fff;border-color:var(--blue);color:var(--blue)}.cookie-btn-light{background:#eaf3f7;color:var(--navy)}.cookie-modal-backdrop{pointer-events:auto;position:absolute;inset:0;display:grid;place-items:center;padding:20px;background:rgba(5,29,43,.64)}.cookie-modal{width:min(680px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;background:#fff;border-radius:22px;box-shadow:0 28px 80px rgba(0,0,0,.3)}.cookie-modal>header{position:static;display:flex;justify-content:space-between;align-items:flex-start;padding:24px 26px;border-bottom:1px solid #e3ebee;box-shadow:none}.cookie-modal h2{margin:3px 0 0;font-family:Georgia,serif;color:var(--navy)}.cookie-modal-close{width:38px;height:38px;border:0;border-radius:50%;background:#eaf2f5;color:var(--navy);font-size:1.5rem;cursor:pointer}.cookie-modal-body{padding:8px 26px}.cookie-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid #e5edef}.cookie-choice strong{color:var(--navy)}.cookie-choice p{margin:4px 0 0;color:#617680}.cookie-choice-disabled{opacity:.58}.cookie-switch{position:relative;display:inline-flex}.cookie-switch input{position:absolute;opacity:0}.cookie-switch span{width:48px;height:27px;border-radius:999px;background:#c8d5da;transition:.2s}.cookie-switch span:after{content:"";position:absolute;top:4px;left:4px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.2);transition:.2s}.cookie-switch input:checked+span{background:var(--blue)}.cookie-switch input:checked+span:after{transform:translateX(21px)}.cookie-switch input:disabled+span{cursor:not-allowed}.cookie-modal>footer{display:flex;justify-content:flex-end;gap:10px;padding:20px 26px;background:#f5f9fa;border-radius:0 0 22px 22px}.cookie-modal-open{overflow:hidden}
@media(max-width:850px){.legal-layout{grid-template-columns:1fr}.legal-index{position:static}.cookie-banner{grid-template-columns:1fr;gap:16px}.cookie-banner-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-banner-actions .cookie-btn-primary{grid-column:1/-1;grid-row:1}.legal-facts{grid-template-columns:1fr}.cookie-category-list{grid-template-columns:1fr}}
@media(max-width:560px){.legal-content>section{padding:21px 18px}.legal-row,.cookie-row{grid-template-columns:1fr}.legal-row span+span,.cookie-row span+span{border-left:0}.legal-row span:first-child,.cookie-row span:first-child{font-weight:900;color:var(--navy);padding-bottom:4px}.legal-row span:last-child,.cookie-row span:last-child{padding-top:4px}.cookie-banner{bottom:10px;padding:17px 16px;border-radius:16px}.cookie-banner-copy h2{font-size:1.45rem}.cookie-banner-actions{grid-template-columns:1fr}.cookie-banner-actions .cookie-btn-primary{grid-column:auto;grid-row:auto}.cookie-btn{width:100%}.cookie-modal>header,.cookie-modal-body,.cookie-modal>footer{padding-left:18px;padding-right:18px}.cookie-modal>footer{display:grid}}

/* Patch 0069 - rispetto persistente delle preferenze cookie */
.cookie-consent[hidden],.cookie-banner[hidden],.cookie-modal-backdrop[hidden]{display:none!important}


/* Patch 0072 - contatti, ragione sociale e mappa */
.footer-business-name{margin:0 0 8px;color:#fff;font-weight:800}
.contact-agency{min-width:0}
.contact-business-name{margin:-2px 0 22px;color:#5f7681;font-size:1.08rem;font-weight:700}
.contact-map{margin-top:24px;overflow:hidden;border:1px solid #d7e4ea;border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(17,53,77,.08)}
.contact-map iframe{display:block;width:100%;height:310px;border:0}
.contact-map-link{display:block;padding:11px 15px;text-align:center;background:#f6fafb;font-weight:800;text-decoration:none;border-top:1px solid #e0eaee}
@media(max-width:850px){.contact-map iframe{height:300px}}
@media(max-width:560px){.contact-business-name{margin-bottom:18px;font-size:1rem}.contact-map{margin-top:20px}.contact-map iframe{height:260px}}


/* Patch 0074 - pagina Chi siamo */
.about-pagehead{position:relative;overflow:hidden;padding:82px 0 88px;background:linear-gradient(112deg,#0b789d 0%,#123a52 72%,#102d3e 100%)}
.about-pagehead:after{content:"";position:absolute;right:-110px;top:-160px;width:440px;height:440px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 62px rgba(255,255,255,.035),0 0 0 124px rgba(255,255,255,.025)}
.about-pagehead-inner{position:relative;z-index:1}
.about-pagehead p{margin:0 0 10px;color:#ffd18f}
.about-pagehead h1{margin:0;font-size:clamp(3.5rem,7vw,6.2rem)}
.about-pagehead span{display:block;max-width:650px;margin-top:18px;color:rgba(255,255,255,.82);font-size:1.16rem}
.about-intro-section{padding:96px 0}
.about-intro{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:74px;align-items:center}
.about-intro-media{position:relative;min-height:520px;border-radius:28px;overflow:hidden;box-shadow:0 28px 70px rgba(17,53,77,.16)}
.about-intro-media>img{width:100%;height:100%;min-height:520px;object-fit:cover}
.about-intro-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(8,54,75,.38))}
.about-logo-card{position:absolute;left:28px;right:28px;bottom:28px;z-index:2;display:flex;align-items:center;gap:18px;padding:17px 20px;border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 16px 38px rgba(17,53,77,.16);backdrop-filter:blur(9px)}
.about-logo-card img{width:190px;max-height:70px;object-fit:contain}
.about-logo-card span{margin-left:auto;color:var(--navy);font-weight:800;text-align:right}
.about-kicker{margin:0 0 10px;color:var(--orange);font-size:.74rem;font-weight:900;letter-spacing:.18em}
.about-intro-copy h2,.about-section-heading h2,.about-process-copy h2,.about-final-cta h2{margin:0;font-family:Georgia,serif;color:var(--navy);line-height:1.08}
.about-intro-copy h2{font-size:clamp(2.5rem,4.4vw,4.25rem)}
.about-intro-copy>p:not(.about-kicker){color:#526a75;font-size:1.02rem;line-height:1.8;text-align:justify;text-justify:inter-word}
.about-intro-copy .about-lead{margin-top:26px;color:#294b5c!important;font-size:1.12rem!important}
.about-signature{display:flex;align-items:baseline;gap:10px;margin-top:28px;padding-top:22px;border-top:1px solid #dbe6eb}
.about-signature strong{font-family:Georgia,serif;color:var(--navy);font-size:1.35rem}
.about-signature span{color:#6a7d86;font-weight:700}
.about-values-section{padding:88px 0;background:#edf4f6}
.about-section-heading{max-width:820px;margin-bottom:42px}
.about-section-heading.centered{margin-left:auto;margin-right:auto;text-align:center}
.about-section-heading p{margin:0 0 8px;color:var(--orange);font-size:.72rem;font-weight:900;letter-spacing:.18em}
.about-section-heading h2{font-size:clamp(2.3rem,4vw,3.65rem)}
.about-section-heading span{display:block;margin-top:14px;color:#627884;font-size:1.03rem}
.about-values-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.about-value-card{min-height:285px;padding:28px;border:1px solid #dce7eb;border-radius:20px;background:#fff;box-shadow:0 14px 34px rgba(17,53,77,.06)}
.about-value-icon{display:grid;place-items:center;width:54px;height:54px;margin-bottom:22px;border-radius:17px;background:#e7f3f7;color:var(--blue)}
.about-value-icon svg{width:28px;height:28px;fill:currentColor}
.about-value-card h3,.about-services-grid h3,.about-process-steps h3{margin:0;color:var(--navy);font-family:Georgia,serif}
.about-value-card h3{font-size:1.35rem}
.about-value-card p{margin:13px 0 0;color:#5b717c;line-height:1.7}
.about-services-section{padding:96px 0}
.about-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.about-services-grid article{position:relative;min-height:220px;padding:28px 28px 26px;border:1px solid #dce6eb;border-radius:20px;background:#fff;box-shadow:0 13px 34px rgba(17,53,77,.055);overflow:hidden}
.about-services-grid article:after{content:"";position:absolute;right:-28px;bottom:-48px;width:118px;height:118px;border-radius:50%;background:rgba(8,127,167,.05)}
.about-services-grid article>span{display:block;margin-bottom:16px;color:var(--orange);font-size:.78rem;font-weight:900;letter-spacing:.12em}
.about-services-grid h3{position:relative;font-size:1.42rem}
.about-services-grid p{position:relative;margin:12px 0 0;color:#5b717c;line-height:1.7}
.about-process-section{padding:86px 0;background:linear-gradient(112deg,#12394d,#0a789b);color:#fff}
.about-process{display:grid;grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr);gap:72px;align-items:center}
.about-process-copy h2{font-size:clamp(2.4rem,4vw,3.7rem);color:#fff}
.about-process-copy>p:not(.about-kicker){margin:20px 0 28px;color:rgba(255,255,255,.78);font-size:1.06rem;line-height:1.75}
.about-process-steps{display:grid;gap:14px}
.about-process-steps article{display:grid;grid-template-columns:56px 1fr;gap:17px;align-items:start;padding:20px 22px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.07)}
.about-process-steps article>span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--orange);color:var(--navy);font-weight:900}
.about-process-steps h3{font-size:1.28rem;color:#fff}
.about-process-steps p{margin:5px 0 0;color:rgba(255,255,255,.72)}
.about-final-cta{padding:54px 0;background:#fff}
.about-final-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:36px 40px;border:1px solid #d9e5ea;border-radius:24px;background:linear-gradient(135deg,#f8fbfc,#edf5f7)}
.about-final-cta p{margin:0 0 6px;color:var(--orange);font-size:.72rem;font-weight:900;letter-spacing:.18em}
.about-final-cta h2{font-size:clamp(2rem,3.3vw,3rem)}
.about-final-cta-inner>div:last-child{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.about-final-cta .secondary{background:#fff}
@media(max-width:1180px){.about-intro{grid-template-columns:1fr;gap:46px}.about-intro-media{min-height:440px}.about-intro-media>img{min-height:440px}.about-values-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-process{grid-template-columns:1fr;gap:44px}}
@media(max-width:650px){.about-pagehead{padding:58px 0 62px}.about-pagehead h1{font-size:3.25rem}.about-pagehead span{font-size:1rem}.about-intro-section,.about-services-section{padding:58px 0}.about-intro{gap:34px}.about-intro-media{min-height:340px;border-radius:20px}.about-intro-media>img{min-height:340px}.about-logo-card{left:14px;right:14px;bottom:14px;display:block;padding:14px}.about-logo-card img{width:150px;max-height:55px}.about-logo-card span{display:block;margin:8px 0 0;text-align:left;font-size:.88rem}.about-intro-copy h2{font-size:2.45rem}.about-intro-copy>p:not(.about-kicker){font-size:.98rem;text-align:left}.about-signature{display:block}.about-signature span{display:block;margin-top:4px}.about-values-section{padding:58px 0}.about-section-heading{margin-bottom:28px}.about-section-heading h2{font-size:2.35rem}.about-values-grid,.about-services-grid{grid-template-columns:1fr}.about-value-card,.about-services-grid article{min-height:0;padding:23px}.about-process-section{padding:58px 0}.about-process{gap:32px}.about-process-copy h2{font-size:2.35rem}.about-process-steps article{grid-template-columns:46px 1fr;padding:17px}.about-process-steps article>span{width:40px;height:40px}.about-final-cta{padding:34px 0}.about-final-cta-inner{display:block;padding:26px 22px}.about-final-cta-inner>div:last-child{justify-content:flex-start;margin-top:20px}.about-final-cta-inner .btn{width:100%;text-align:center}}


/* Patch 0080 - temi grafici stagionali ed eventi speciali */
body.tema-estate{--blue:#087fa7;--navy:#11354d;--orange:#f4a33b;--bg:#f3f7f8;--text:#18313e;--theme-soft:#eaf5f8;--theme-accent-soft:#fff1dd;--theme-footer:#102d3e;--theme-gradient-start:#0a789b;--theme-gradient-end:#173b53;--theme-on-accent:#153442}
body.tema-autunno{--blue:#a14f2b;--navy:#512f28;--orange:#d79a36;--bg:#f8f1e8;--text:#3f2d28;--theme-soft:#f2e2d2;--theme-accent-soft:#faedcf;--theme-footer:#432820;--theme-gradient-start:#9d4828;--theme-gradient-end:#5a3028;--theme-on-accent:#3d291f}
body.tema-inverno{--blue:#3c83a8;--navy:#203b59;--orange:#9fc8dc;--bg:#f1f6fa;--text:#26394a;--theme-soft:#e2eef5;--theme-accent-soft:#edf6fa;--theme-footer:#1e344d;--theme-gradient-start:#4c91b5;--theme-gradient-end:#274665;--theme-on-accent:#17364a}
body.tema-primavera{--blue:#4f9068;--navy:#315d49;--orange:#e7a8b9;--bg:#f5f9f0;--text:#2d4938;--theme-soft:#e7f3e3;--theme-accent-soft:#fbeaf0;--theme-footer:#294d3c;--theme-gradient-start:#71a77d;--theme-gradient-end:#3f7057;--theme-on-accent:#3d3840}
body.tema-natale{--blue:#2f7655;--navy:#174b38;--orange:#c79a3b;--bg:#f7f4ee;--text:#253c32;--theme-soft:#e3efe8;--theme-accent-soft:#f6e9df;--theme-footer:#123c2d;--theme-gradient-start:#2d7352;--theme-gradient-end:#7a2630;--theme-on-accent:#2b2b22}
body.tema-halloween{--blue:#9b572e;--navy:#35203d;--orange:#d59045;--bg:#f7f0e8;--text:#3d3041;--theme-soft:#efe3ea;--theme-accent-soft:#f7e2cb;--theme-footer:#25172c;--theme-gradient-start:#6a3156;--theme-gradient-end:#2a1a31;--theme-on-accent:#2a1a2e}
body.tema-pasqua{--blue:#788f7b;--navy:#585172;--orange:#d6a26b;--bg:#fbf8fc;--text:#474257;--theme-soft:#eeeaf5;--theme-accent-soft:#f9e7ed;--theme-footer:#514a69;--theme-gradient-start:#8e7eac;--theme-gradient-end:#687d70;--theme-on-accent:#423c50}
body[class*="tema-"] .pagehead{background:linear-gradient(110deg,var(--theme-gradient-start),var(--theme-gradient-end))}
body[class*="tema-"] footer{background:var(--theme-footer)}
body[class*="tema-"] .alt,
body[class*="tema-"] .trip-section-soft,
body[class*="tema-"] .about-values-section{background:var(--theme-soft)}
body[class*="tema-"] .btn,
body[class*="tema-"] .card-type-badge{color:var(--theme-on-accent)}
body[class*="tema-"] .card-type-badge.gita,
body[class*="tema-"] .stage-number,
body[class*="tema-"] .trip-stage-number{background:var(--blue)}
body[class*="tema-"] .about-final-cta{background:linear-gradient(110deg,var(--theme-gradient-start),var(--theme-gradient-end))}
body[class*="tema-"] .search-panel,
body[class*="tema-"] .trip-booking-card{border-color:color-mix(in srgb,var(--blue) 22%,white)}
@supports not (color:color-mix(in srgb,red,white)){body[class*="tema-"] .search-panel,body[class*="tema-"] .trip-booking-card{border-color:#d6e1e6}}


/* Patch 0086 - testata pubblica realmente fissa */
:root{--site-fixed-header-height:120px}
body{padding-top:var(--site-fixed-header-height)}
.site-sticky-shell{position:fixed!important;top:0;right:0;left:0;z-index:10000;width:100%;background:#fff;box-shadow:0 3px 15px rgba(0,0,0,.12);transform:translateZ(0)}
.site-sticky-shell header{position:relative!important;top:auto!important;z-index:auto!important;box-shadow:none!important}
.site-sticky-shell .top,.site-sticky-shell header{width:100%}
.site-sticky-shell #menu{z-index:10001}
@media(max-width:850px){:root{--site-fixed-header-height:128px}}

/* Patch 0087 - badge tipologia sempre leggibili sulle fotografie */
.card-type-badge,
.featured-showcase-type{
  color:#fff;
  outline:1px solid rgba(255,255,255,.92);
  outline-offset:-1px;
  text-shadow:0 1px 2px rgba(0,0,0,.72);
  box-shadow:0 10px 24px rgba(17,53,77,.25),inset 0 1px 0 rgba(255,255,255,.18);
}
.card-type-badge.gita,
.featured-showcase-type.gita{
  color:#fff;
}


/* Patch 0088 - badge tipologia sfumati, testo bianco senza bordo o ombra */
.card-type-badge,
.featured-showcase-type{
  color:#fff!important;
  background:linear-gradient(180deg,rgba(255,255,255,.24) 0%,rgba(255,255,255,.08) 42%,rgba(0,0,0,.12) 100%),var(--orange);
  outline:none!important;
  border:none!important;
  text-shadow:none!important;
  box-shadow:0 7px 15px rgba(17,53,77,.22),inset 0 1px 0 rgba(255,255,255,.30),inset 0 -1px 0 rgba(0,0,0,.10);
}
.card-type-badge.gita,
.featured-showcase-type.gita{
  color:#fff!important;
  background:linear-gradient(180deg,rgba(255,255,255,.24) 0%,rgba(255,255,255,.08) 42%,rgba(0,0,0,.12) 100%),var(--blue);
}

/* Patch 0089 - protezione antispam modulo contatti */
.contact-captcha{display:grid;grid-template-columns:minmax(0,1fr) 110px;align-items:end;gap:16px;padding:14px 16px;border:1px solid #d5e1e6;border-radius:12px;background:#f7fafb}.contact-captcha span{display:block;font-weight:800}.contact-captcha small{display:block;margin-top:2px;color:#526b77;font-weight:400}.contact-captcha input[type=number]{margin:0;text-align:center;font-weight:800}@media(max-width:420px){.contact-captcha{grid-template-columns:1fr}.contact-captcha input[type=number]{width:100%}}

/* Patch 0098 - ordine stabile della testata fissa su iPad e tablet */
.site-sticky-shell{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  transform:none!important;
  isolation:isolate;
}
.site-sticky-shell>.top{
  position:relative!important;
  top:auto!important;
  order:1!important;
  z-index:2!important;
  flex:0 0 auto;
}
.site-sticky-shell>header{
  position:relative!important;
  top:auto!important;
  order:2!important;
  z-index:1!important;
  flex:0 0 auto;
}
@media (min-width:561px) and (max-width:1180px){
  .site-sticky-shell>.top{order:1!important}
  .site-sticky-shell>header{order:2!important}
}

/* Patch 0099: condivisione e newsletter */
.trip-share-compact{display:grid;grid-template-columns:repeat(5,32px);align-items:center;justify-content:center;gap:7px;margin:12px 0 14px;padding:0}.trip-share-icon{appearance:none;position:relative;width:32px;height:32px;min-width:32px;max-width:32px;padding:0;margin:0;border:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;text-decoration:none;color:#fff!important;box-shadow:0 5px 12px rgba(15,52,79,.16);transition:transform .16s ease,box-shadow .16s ease;line-height:0;font-size:0;vertical-align:middle}.trip-share-icon:hover,.trip-share-icon:focus-visible{transform:translateY(-1px);box-shadow:0 7px 15px rgba(15,52,79,.22)}.trip-share-icon svg{position:absolute;left:50%;top:50%;display:block;width:17px;height:17px;margin:0;fill:currentColor;transform:translate(-50%,-50%);transform-origin:center}.trip-share-icon.facebook{background:linear-gradient(180deg,#4278d1,#2457a7)}.trip-share-icon.instagram{background:linear-gradient(135deg,#833ab4,#e1306c 55%,#f77737)}.trip-share-icon.whatsapp{background:linear-gradient(180deg,#35c96d,#159447)}.trip-share-icon.email{background:linear-gradient(180deg,#45a6d8,#1d7fb5)}.trip-share-icon.native{background:linear-gradient(180deg,color-mix(in srgb,var(--accent,#1b78b5) 78%,#fff),var(--accent,#1b78b5))}.trip-share-feedback{grid-column:1/-1;min-height:0;text-align:center;font-size:.82rem;font-weight:700;color:var(--text-muted,#496477)}.trip-share-feedback:empty{display:none}.newsletter-band{padding:24px 0;background:linear-gradient(135deg,color-mix(in srgb,var(--accent,#1b78b5) 90%,#061d31),var(--accent-2,#58b5d8));color:#fff}.newsletter-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,1fr);gap:24px;align-items:center}.newsletter-inner h2{margin:.1rem 0 .35rem;font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.2}.newsletter-inner>div>p:last-child{margin:.35rem 0 0;line-height:1.45}.newsletter-form{display:grid;grid-template-columns:1fr 1.35fr auto;gap:10px;align-items:end;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.12);backdrop-filter:blur(6px)}.newsletter-form label{display:grid;gap:5px;font-weight:700}.newsletter-form input{min-width:0;padding:9px 11px;border:1px solid rgba(255,255,255,.55);border-radius:10px;background:#fff;color:#163042}.newsletter-consent{grid-column:1/-1!important;display:flex!important;align-items:flex-start;gap:9px;font-size:.9rem;font-weight:500!important}.newsletter-consent input{width:17px;min-width:17px;height:17px;margin-top:2px;padding:0}.newsletter-consent a{color:#fff;text-decoration:underline}.newsletter-honeypot{position:absolute!important;left:-9999px!important}.newsletter-message{grid-column:1/-1;padding:10px 12px;border-radius:10px;font-weight:700}.newsletter-message.ok{background:rgba(34,139,83,.85)}.newsletter-message.bad{background:rgba(168,35,43,.88)}@media(max-width:900px){.newsletter-band{padding:20px 0}.newsletter-inner{grid-template-columns:1fr;gap:16px}.newsletter-form{grid-template-columns:1fr 1fr auto}}@media(max-width:650px){.newsletter-form{grid-template-columns:1fr}.newsletter-consent,.newsletter-message{grid-column:1}.trip-share-compact{justify-content:center}}

/* Patch 0108: ripristino sfondo mobile e chiusura corretta del footer */
html{min-height:100%;background:var(--theme-footer,#102d3e)}
body{min-height:100%;margin-bottom:0;background:var(--bg,#f3f7f8)}
main{background:var(--bg,#f3f7f8)}
footer{margin-bottom:0;overflow:hidden;background:var(--theme-footer,#102d3e)}
.copy{margin-bottom:0;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}
@media(max-width:650px){
  html{min-height:100%;background:var(--theme-footer,#102d3e)}
  body{min-height:100%;background:var(--bg,#f3f7f8)}
  main,.section,.band{background-color:var(--bg,#f3f7f8)}
  footer{display:block;width:100%;margin:0;padding-bottom:0;background:var(--theme-footer,#102d3e)}
  footer .copy{margin:0;padding-left:16px;padding-right:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));background:var(--theme-footer,#102d3e)}
}


/* Patch 0113 - messaggio dedicato per viaggi non più pubblicati */
.trip-unavailable-section{padding:72px 0;background:var(--bg,#f3f7f8)}
.trip-unavailable-card{max-width:760px;margin:0 auto;padding:44px 42px;border:1px solid #d8e5ea;border-radius:24px;background:#fff;text-align:center;box-shadow:0 18px 48px rgba(17,53,77,.10)}
.trip-unavailable-icon{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 18px;border-radius:50%;background:linear-gradient(180deg,var(--blue),var(--navy));color:#fff;box-shadow:0 10px 24px rgba(17,53,77,.20)}
.trip-unavailable-icon svg{width:34px;height:34px;fill:currentColor}
.trip-unavailable-card h1{max-width:620px;margin:6px auto 14px;font-size:clamp(2rem,4vw,3rem);line-height:1.08}
.trip-unavailable-card>p:not(.trip-section-kicker){max-width:610px;margin:0 auto;color:#526b77;line-height:1.65}
.trip-unavailable-actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:28px}
.trip-unavailable-actions .btn{min-width:250px;text-align:center}
@media(max-width:650px){.trip-unavailable-section{padding:42px 0}.trip-unavailable-card{padding:32px 20px;border-radius:20px}.trip-unavailable-actions{align-items:stretch}.trip-unavailable-actions .btn{width:100%;min-width:0}}

/* Patch 0115 - condivisione viaggio via email coordinata */
.share-email-pagehead{padding-bottom:32px}
.share-email-section{padding-top:34px}
.share-email-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:28px;align-items:start;max-width:1120px}
.share-email-trip,.share-email-form{background:#fff;border:1px solid #dbe8ee;border-radius:18px;box-shadow:0 12px 34px rgba(18,57,76,.10);overflow:hidden}
.share-email-trip>img{display:block;width:100%;height:280px;object-fit:cover}
.share-email-trip>div{padding:26px 28px}
.share-email-trip h2{margin:5px 0 12px;color:#12394c;font-size:28px;line-height:1.2}
.share-email-trip p{color:#52707e;line-height:1.65}
.share-email-trip-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px}
.share-email-trip-meta span{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:12px;background:#f2f8fa;color:#183443;font-size:14px}
.share-email-trip-meta b{color:#087fa9;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.share-email-form{padding:28px}
.share-email-form label{display:flex;flex-direction:column;gap:7px;margin:0 0 18px;font-weight:700;color:#12394c}
.share-email-form input,.share-email-form textarea{width:100%;box-sizing:border-box;border:1px solid #bfd4dd;border-radius:10px;background:#fff;padding:12px 14px;font:inherit;color:#183443;transition:border-color .2s,box-shadow .2s}
.share-email-form textarea{resize:vertical;min-height:130px}
.share-email-form input:focus,.share-email-form textarea:focus{outline:none;border-color:#0788b5;box-shadow:0 0 0 3px rgba(7,136,181,.13)}
.share-email-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.share-email-note{margin:2px 0 20px;padding:12px 14px;border-radius:10px;background:#f2f8fa;color:#52707e;font-size:13px;line-height:1.55}
.share-email-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap}
.share-email-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:800px){.share-email-layout{grid-template-columns:1fr}.share-email-trip>img{height:220px}.share-email-form-grid{grid-template-columns:1fr}.share-email-actions{flex-direction:column-reverse;align-items:stretch}.share-email-actions .btn{width:100%;box-sizing:border-box;text-align:center}}
@media(max-width:520px){.share-email-section{padding-top:22px}.share-email-trip>div,.share-email-form{padding:20px}.share-email-trip h2{font-size:23px}.share-email-trip-meta{grid-template-columns:1fr}.share-email-trip>img{height:190px}}

/* Patch 0122 - etichette Sold Out */
.sold-out-badge{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:7px 13px;border-radius:999px;background:linear-gradient(135deg,#a8152d 0%,#e43f52 58%,#ff6b68 100%);color:#fff;font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 10px 24px rgba(130,18,42,.28),inset 0 1px 0 rgba(255,255,255,.28);white-space:nowrap;z-index:6}
.sold-out-badge-card{position:absolute;top:14px;right:14px}
.sold-out-badge-featured{position:absolute;top:14px;left:14px}
.sold-out-badge-detail{width:100%;margin:0 0 13px;text-align:center}
.sold-out-badge-mini{position:absolute;top:8px;left:8px;min-height:25px;padding:4px 8px;font-size:.59rem;box-shadow:0 6px 16px rgba(130,18,42,.24)}
@media(max-width:650px){.sold-out-badge-card{top:10px;right:10px}.sold-out-badge-featured{top:10px;left:10px}.sold-out-badge{min-height:29px;padding:5px 10px;font-size:.64rem}.sold-out-badge-mini{top:8px;left:8px;min-height:24px;padding:4px 7px;font-size:.57rem}}

/* Patch 0124: rimozione definitiva del blocco servizi dalla sidebar del dettaglio viaggio. */
.trip-side .trip-services-box,
.trip-side .trip-services-title,
.trip-side .trip-services-icons {
  display: none !important;
}

/* Patch 0141 - centratura uniforme del blocco quota/prezzo nel dettaglio viaggio */
.trip-side-label,
.big-price,
.trip-side-note {
  display: block;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
}

/* Patch 0144 - azioni rapide mobile/tablet isolate e non invasive */
.mobile-page-actions-v2 {
  display: none;
}

@media (max-width: 1024px) {
  .mobile-page-actions-v2 {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 900;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding: 0 14px 14px;
    padding-right: calc(14px + env(safe-area-inset-right));
    padding-bottom: calc(14px + env(safe-area-inset-bottom));
    padding-left: calc(14px + env(safe-area-inset-left));
    pointer-events: none;
  }

  .mobile-page-actions-v2[hidden] {
    display: none !important;
  }

  .mobile-page-action-v2 {
    display: inline-flex;
    min-width: 48px;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin: 0;
    padding: 10px 14px;
    border: 1px solid rgba(255,255,255,.78);
    border-radius: 999px;
    background: #12394c;
    color: #fff;
    box-shadow: 0 8px 24px rgba(5,35,50,.28);
    font: inherit;
    font-size: .8rem;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
    pointer-events: auto;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }

  .mobile-page-action-v2[hidden] {
    display: none !important;
  }

  .mobile-page-action-v2:hover,
  .mobile-page-action-v2:focus-visible {
    background: var(--blue, #087fa7);
    outline: 3px solid rgba(255,255,255,.82);
    outline-offset: 2px;
  }

  .mobile-page-action-v2-icon {
    display: inline-flex;
    width: 20px;
    height: 20px;
    align-items: center;
    justify-content: center;
    flex: 0 0 20px;
    font-size: 1.35rem;
    font-weight: 900;
    line-height: 1;
  }
}

@media (max-width: 360px) {
  .mobile-page-action-v2 {
    gap: 5px;
    padding-right: 11px;
    padding-left: 11px;
    font-size: .75rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-page-action-v2 {
    scroll-behavior: auto;
  }
}


/* Patch 0146 - barra superiore mobile entro i bordi e telefono completo */
.top-phone{
  display:inline-flex!important;
  align-items:center;
  gap:7px;
  min-width:0;
  color:#fff;
  text-decoration:none;
  font-weight:800;
  white-space:nowrap;
}
.top-phone:hover{color:#fff;text-decoration:none}
.top-phone svg{display:block;width:15px;height:15px;flex:0 0 15px;fill:currentColor;opacity:.94}
.top-phone-label{font-size:.69rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.8}
.top-phone-value{font-size:.96rem;font-weight:900;letter-spacing:.01em}

@media(max-width:650px){
  .top .wrap.top-inner{
    width:100%;
    max-width:100%;
    padding-left:calc(16px + env(safe-area-inset-left));
    padding-right:calc(16px + env(safe-area-inset-right));
  }
  .top-actions{
    width:100%;
    min-width:0;
    justify-content:space-between;
    gap:12px;
  }
  .top-social{
    flex:0 0 auto;
    min-width:0;
    gap:5px!important;
  }
  .top-social a{
    width:25px;
    height:25px;
  }
  .top-phone{
    display:inline-flex!important;
    flex:0 1 auto;
    justify-content:flex-end;
    gap:6px;
    max-width:none;
    overflow:visible;
    text-overflow:clip;
  }
  .top-phone svg{width:14px;height:14px;flex-basis:14px}
  .top-phone-label{display:none!important}
  .top-phone-value{display:inline!important;font-size:.84rem}
}

@media(max-width:380px){
  .top .wrap.top-inner{
    padding-left:calc(13px + env(safe-area-inset-left));
    padding-right:calc(13px + env(safe-area-inset-right));
  }
  .top-actions{gap:8px}
  .top-social{gap:4px!important}
  .top-social a{width:24px;height:24px}
  .top-social svg{width:14px;height:14px}
  .top-phone{gap:5px}
  .top-phone-value{font-size:.79rem}
}

/* Patch 0150 - banner programmabili e popup promozionali controllati */
.programmed-banners{position:relative;z-index:8;width:100%}.programmed-banner{border-bottom:1px solid rgba(17,53,77,.12);color:#fff}.programmed-banner-informazione{background:linear-gradient(100deg,#087fa7,#0b6d91)}.programmed-banner-promozione{background:linear-gradient(100deg,#f4a33b,#df7d20);color:#17384a}.programmed-banner-avviso{background:linear-gradient(100deg,#a83939,#7f2525)}.programmed-banner[hidden]{display:none!important}.programmed-banner-inner{display:flex;align-items:center;justify-content:center;gap:20px;min-height:58px;padding-top:10px;padding-bottom:10px}.programmed-banner-copy{display:flex;align-items:baseline;justify-content:center;gap:10px;min-width:0;text-align:center}.programmed-banner-copy strong{flex:0 0 auto;font-size:.93rem}.programmed-banner-copy span{font-size:.9rem;line-height:1.35}.programmed-banner-link{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:34px;padding:7px 13px;border:1px solid currentColor;border-radius:999px;color:inherit;text-decoration:none;font-size:.78rem;font-weight:900}.programmed-banner-link:hover{background:rgba(255,255,255,.14)}.programmed-banner-promozione .programmed-banner-link:hover{background:rgba(255,255,255,.35)}.programmed-banner-close{display:inline-grid;place-items:center;flex:0 0 32px;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.18);color:inherit;font-size:1.35rem;line-height:1;cursor:pointer}.programmed-banner-promozione .programmed-banner-close{background:rgba(255,255,255,.38)}
.promo-popup-layer{position:fixed;inset:0;z-index:900;display:grid;place-items:center;padding:calc(var(--site-fixed-header-height) + 18px) 18px 18px;background:rgba(4,26,39,.66);overflow:auto;overscroll-behavior:contain}.promo-popup-layer[hidden]{display:none!important}.promo-popup{position:relative;display:grid;grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr);width:min(850px,100%);max-height:calc(100vh - var(--site-fixed-header-height) - 36px);overflow:auto;border:1px solid rgba(255,255,255,.35);border-radius:24px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.34)}.promo-popup-media{min-height:360px;background:#dce9ee}.promo-popup-media img{width:100%;height:100%;object-fit:cover}.promo-popup-content{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:42px 44px}.promo-popup-kicker{margin:0 0 8px;color:var(--orange);font-size:.72rem;font-weight:900;letter-spacing:.16em}.promo-popup h2{margin:0 46px 16px 0;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.35rem);line-height:1;color:var(--navy)}.promo-popup-message{color:#526a75;font-size:1.02rem;line-height:1.7}.promo-popup-action{margin-top:24px}.promo-popup-close{position:absolute;top:18px;right:18px;display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:#eaf2f5;color:var(--navy);font-size:1.55rem;line-height:1;cursor:pointer}.promo-popup-open{overflow:hidden}
@media(max-width:850px){.programmed-banner-inner{justify-content:flex-start;gap:12px}.programmed-banner-copy{display:grid;gap:2px;text-align:left}.programmed-banner-copy strong{font-size:.86rem}.programmed-banner-copy span{font-size:.82rem}.programmed-banner-link{margin-left:auto}.promo-popup{grid-template-columns:1fr;width:min(620px,100%)}.promo-popup-media{min-height:210px;max-height:280px}.promo-popup-content{padding:32px 28px}.promo-popup h2{font-size:2.25rem}}
@media(max-width:600px){.programmed-banner-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;padding-top:11px;padding-bottom:11px}.programmed-banner-copy{grid-column:1;grid-row:1}.programmed-banner-link{grid-column:1;grid-row:2;justify-self:start;margin:2px 0 0}.programmed-banner-close{grid-column:2;grid-row:1/3;align-self:center}.promo-popup-layer{align-items:start;padding:calc(var(--site-fixed-header-height) + 10px) 8px 10px}.promo-popup{border-radius:18px;max-height:calc(100vh - var(--site-fixed-header-height) - 20px)}.promo-popup-media{min-height:170px;max-height:210px}.promo-popup-content{padding:27px 20px 24px}.promo-popup h2{margin-right:40px;font-size:1.9rem}.promo-popup-message{font-size:.94rem;line-height:1.6}.promo-popup-action{width:100%;text-align:center}.promo-popup-close{top:12px;right:12px}}

/* Patch 0151 - popup a immagine intera e promozione offerta */
.promo-popup-image-only,.promo-popup-offer{display:block;width:min(960px,100%);overflow:hidden;background:#fff}
.promo-popup-image-canvas,.promo-popup-offer-media{position:relative;min-height:280px;background:#e8f0f3}
.promo-popup-image-canvas img{display:block;width:100%;max-height:calc(100vh - var(--site-fixed-header-height) - 44px);object-fit:contain;background:#fff}
.promo-popup-image-action{display:flex;justify-content:center;padding:15px 18px 18px;background:#fff}
.promo-popup-image-action .btn{box-shadow:0 9px 24px rgba(17,53,77,.18)}
.promo-popup-close-overlay{z-index:4;background:rgba(255,255,255,.92);box-shadow:0 7px 22px rgba(0,0,0,.18)}
.promo-popup-offer-media{aspect-ratio:16/9;min-height:420px;overflow:hidden}
.promo-popup-offer-media>img{width:100%;height:100%;object-fit:cover}
.promo-popup-offer-media::after{content:"";position:absolute;inset:28% 0 0;background:linear-gradient(180deg,transparent,rgba(4,25,38,.88))}
.promo-popup-foreground{position:absolute;z-index:3;top:24px;left:24px;display:inline-flex;align-items:center;max-width:calc(100% - 96px);min-height:38px;padding:8px 15px;border-radius:999px;background:var(--orange);color:var(--navy);font-size:.82rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 10px 25px rgba(0,0,0,.2)}
.promo-popup-foreground.sold-out{background:#a92f2f;color:#fff}
.promo-popup-offer-overlay{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:72px 34px 32px;color:#fff}
.promo-popup-offer .promo-popup-kicker{color:#ffd08a}
.promo-popup-offer h2{max-width:760px;margin:0 0 15px;color:#fff;font-size:clamp(2rem,4.6vw,4rem);text-shadow:0 3px 18px rgba(0,0,0,.35)}
.promo-popup-offer-meta{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:20px;font-size:.95rem}
.promo-popup-offer-meta span{display:flex;gap:6px;align-items:baseline}
.promo-popup-offer-meta strong{font-size:1.08rem}
.promo-popup-offer .promo-popup-action{margin-top:0}
@media(max-width:700px){
  .promo-popup-image-only,.promo-popup-offer{width:100%}
  .promo-popup-image-canvas{min-height:0}
  .promo-popup-image-canvas img{max-height:calc(100vh - var(--site-fixed-header-height) - 24px)}
  .promo-popup-image-action{padding:12px 12px 14px}
  .promo-popup-image-action .btn{width:100%;text-align:center}
  .promo-popup-offer-media{aspect-ratio:auto;min-height:430px}
  .promo-popup-foreground{top:14px;left:14px;max-width:calc(100% - 74px);font-size:.7rem}
  .promo-popup-offer-overlay{padding:86px 20px 22px}
  .promo-popup-offer h2{font-size:2rem}
  .promo-popup-offer-meta{display:grid;gap:5px;margin-bottom:16px;font-size:.85rem}
  .promo-popup-offer .promo-popup-action{width:100%;text-align:center}
}

/* Patch 0168 - Trova il viaggio perfetto, calendario partenze e preferiti */
.nav-favorites-link{display:inline-flex;align-items:center;gap:7px}.nav-favorites-link [data-favorite-count]{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--orange);color:var(--navy);font-size:.72rem;font-weight:900}
.favorite-toggle{appearance:none;border:1px solid rgba(255,255,255,.82);background:rgba(255,255,255,.94);color:var(--navy);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:800;transition:transform .18s ease,background .18s ease,color .18s ease}.favorite-toggle:hover{transform:translateY(-1px)}.favorite-toggle[aria-pressed="true"]{background:var(--orange);color:var(--navy);border-color:var(--orange)}.favorite-toggle span[aria-hidden]{font-size:1.45rem;line-height:1}.favorite-toggle[aria-pressed="true"] span[aria-hidden]{font-size:0}.favorite-toggle[aria-pressed="true"] span[aria-hidden]:after{content:"♥";font-size:1.35rem}.favorite-toggle-media{position:absolute;right:14px;bottom:14px;z-index:6;width:44px;height:44px;padding:0;border-radius:50%;box-shadow:0 8px 22px rgba(17,53,77,.18)}.favorite-toggle-detail{margin-top:20px;padding:10px 17px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;backdrop-filter:blur(9px)}.favorite-toggle-detail[aria-pressed="true"]{color:var(--navy)}
.perfect-trip-pagehead span,.favorites-pagehead span{display:block;max-width:720px;font-size:1.08rem;color:#d9edf4}.perfect-trip-form{padding:28px;border:1px solid #dbe7ec;background:#fff;border-radius:22px;box-shadow:0 16px 42px rgba(17,53,77,.08)}.perfect-trip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.perfect-trip-grid label{display:grid;gap:7px}.perfect-trip-grid label>span{font-size:.79rem;letter-spacing:.06em;text-transform:uppercase;color:var(--navy)}.perfect-trip-grid select{width:100%;min-height:48px;padding:11px 13px;border:1px solid #b9ccd5;border-radius:11px;background:#fff;font:inherit;color:var(--text)}.perfect-trip-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:22px}.perfect-trip-results{margin-top:54px}.perfect-trip-results .section-heading p,.calendar-list-heading p{margin:0;color:var(--orange);font-size:.75rem;font-weight:900;letter-spacing:.16em}.perfect-trip-results .section-heading h2,.calendar-list-heading h2{margin:4px 0 25px;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3rem);color:var(--navy)}
.calendar-month-nav{display:flex;align-items:center;justify-content:center;gap:28px;margin-bottom:18px;text-align:center}.calendar-month-nav span{font-size:.72rem;font-weight:900;letter-spacing:.14em;color:#6d838e}.calendar-month-nav h2{margin:2px 0 0;font-family:Georgia,serif;font-size:2.3rem;color:var(--navy)}.calendar-arrow{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:2px solid var(--blue);text-decoration:none;font-size:2rem;font-weight:700}.calendar-month-shortcuts{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 16px;scrollbar-width:thin}.calendar-month-shortcuts a{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border:1px solid #cbdce4;border-radius:999px;background:#fff;text-decoration:none;font-weight:800;color:var(--navy)}.calendar-month-shortcuts a.active{background:var(--blue);color:#fff}.calendar-month-shortcuts span{display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:#e7f2f7;font-size:.7rem;color:var(--blue)}.departure-calendar{overflow:hidden;border:1px solid #d7e4e9;border-radius:18px;background:#fff;box-shadow:0 14px 36px rgba(17,53,77,.07)}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays span{padding:12px;text-align:center;background:var(--navy);color:#fff;font-size:.78rem;font-weight:900;letter-spacing:.08em}.calendar-day{position:relative;min-height:132px;padding:10px;border-right:1px solid #e5edf0;border-bottom:1px solid #e5edf0;background:#fff}.calendar-day:nth-child(7n){border-right:0}.calendar-day.empty{background:#f7fafb}.calendar-day.has-trips{background:#f9fcfd}.calendar-day-number{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-weight:900;color:var(--navy)}.calendar-day.has-trips .calendar-day-number{background:var(--orange)}.calendar-trip-chip{display:block;margin-top:7px;padding:7px 8px;border-radius:9px;background:#dff0f7;color:var(--navy);text-decoration:none;line-height:1.2}.calendar-trip-chip.gita{background:#fff0d9}.calendar-trip-chip strong{display:block;font-size:.76rem;overflow-wrap:anywhere}.calendar-trip-chip small{font-size:.66rem;color:#627985}.calendar-list-heading{margin-top:48px}.favorites-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:25px;padding:16px 18px;border-radius:15px;background:#fff;border:1px solid #dce7ec}.favorites-summary strong{font-size:1.8rem;color:var(--blue)}.favorites-summary .btn{margin-left:auto}.favorites-grid>[data-favorite-card][hidden]{display:none}.favorites-empty{text-align:center;padding:55px 20px;border:1px dashed #b8ccd5;border-radius:20px;background:#fff}.favorites-empty h2{font-family:Georgia,serif;font-size:2rem;color:var(--navy)}.favorites-empty>div{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.search-empty-state{padding:38px;text-align:center;border:1px dashed #b9cdd6;border-radius:20px;background:#fff}.search-empty-state h2{font-family:Georgia,serif;color:var(--navy)}
@media(max-width:1000px){.perfect-trip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-day{min-height:110px}.calendar-trip-chip strong{font-size:.7rem}}
@media(max-width:760px){.perfect-trip-grid{grid-template-columns:1fr}.perfect-trip-form{padding:20px}.perfect-trip-actions{justify-content:stretch}.perfect-trip-actions .btn{width:100%;text-align:center}.departure-calendar{border:0;box-shadow:none;background:transparent}.calendar-weekdays{display:none}.calendar-days{display:grid;grid-template-columns:1fr;gap:10px}.calendar-day,.calendar-day:nth-child(7n){min-height:0;border:1px solid #d9e5ea;border-radius:14px}.calendar-day.empty{display:none}.calendar-day:not(.has-trips){display:none}.calendar-day.has-trips{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;align-items:start;padding:12px}.calendar-day-number{grid-row:1 / span 20}.calendar-trip-chip{margin-top:0}.calendar-month-nav{gap:14px}.calendar-month-nav h2{font-size:1.8rem}.favorites-summary .btn{width:100%;margin-left:0}.favorite-toggle-detail{width:100%;justify-content:center}}
@media(max-width:560px){.favorite-toggle-media{right:10px;bottom:10px;width:40px;height:40px}.nav-favorites-link [data-favorite-count]{margin-left:auto}.perfect-trip-pagehead span,.favorites-pagehead span{font-size:.95rem}}
@media(max-width:1220px){header #menuBtn{display:block;background:var(--navy);color:#fff;border:0;border-radius:8px;padding:10px 14px}header #menu{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100vh - var(--site-sticky-offset,120px));overflow-y:auto;background:#fff;flex-direction:column;gap:0;padding:14px 24px 20px;box-shadow:0 15px 30px rgba(17,53,77,.16)}header #menu.open{display:flex}header #menu a{display:flex;align-items:center;min-height:44px;padding:8px 0;border-bottom:1px solid #e6edf0}header #menu a:last-child{border-bottom:0}}
.favorites-grid>[data-favorite-card]{min-width:0}.favorites-grid>[data-favorite-card]>.card{height:100%}

/* Patch 0323 - colori calendario coerenti con le schede viaggio. */
.calendar-trip-chip{
  background:#fff0d9;
  border-left:4px solid var(--orange);
}
.calendar-trip-chip.gita{
  background:#dff0f7;
  border-left-color:var(--blue);
}
.calendar-day.has-trips .calendar-day-number{
  background:var(--orange);
  color:var(--navy);
}
.calendar-day.has-trips:has(.calendar-trip-chip.gita):not(:has(.calendar-trip-chip:not(.gita))) .calendar-day-number{
  background:var(--blue);
  color:#fff;
}
.calendar-day.has-trips:has(.calendar-trip-chip.gita):has(.calendar-trip-chip:not(.gita)) .calendar-day-number{
  background:linear-gradient(135deg,var(--blue) 0 50%,var(--orange) 50% 100%);
  color:#fff;
}

/* Patch 0170 - disponibilità, lista d'attesa e avvisi */
.availability-badge{position:absolute;z-index:3;display:inline-flex;align-items:center;min-height:30px;padding:6px 11px;border-radius:999px;font-size:.72rem;font-weight:900;letter-spacing:.025em;box-shadow:0 4px 14px rgba(8,42,58,.14)}
.availability-badge-card{left:12px;bottom:12px}.availability-badge-featured{left:18px;bottom:18px}
.availability-badge.is-open,.availability-panel.is-open,.trip-availability-box.is-open{background:#e8f8ef;color:#17653b;border-color:#9bd6b5}
.availability-badge.is-low,.availability-panel.is-low,.trip-availability-box.is-low{background:#fff5df;color:#8a5700;border-color:#f2c76e}
.availability-badge.is-request,.availability-panel.is-request,.trip-availability-box.is-request{background:#edf6fb;color:#155d7c;border-color:#a9d3e5}
.availability-badge.is-full,.availability-panel.is-full,.trip-availability-box.is-full{background:#fff0f0;color:#9a2424;border-color:#efaaaa}
.trip-availability-box{display:grid;gap:5px;margin:0 0 18px;padding:14px 16px;border:1px solid;border-radius:15px}.trip-availability-box strong{font-size:1rem}.trip-availability-box span{font-size:.84rem;line-height:1.45}
.trip-alert-actions{display:grid;gap:9px;margin-top:16px}.trip-alert-actions .btn{display:flex;width:100%;align-items:center;justify-content:center;text-align:center}.trip-contact-primary{background:var(--orange);color:var(--theme-on-accent,var(--navy))}.trip-alert-secondary{background:transparent;border:2px solid var(--blue);color:var(--blue)}
.alert-trip-pagehead{padding:46px 0}.alert-trip-pagehead-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}.alert-trip-pagehead h1{max-width:980px;margin:.12em 0 0;font-size:clamp(2.35rem,5.2vw,4.7rem);overflow-wrap:anywhere}.alert-trip-pagehead .btn{flex:0 0 auto;min-width:190px;text-align:center;background:#fff;color:var(--blue);border-color:#fff}.alert-trip-public-section{background:var(--bg)}
.alert-trip-layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:42px;align-items:start}.alert-trip-copy{display:grid;gap:20px}.alert-trip-copy h2{margin:0;font-family:Georgia,serif;font-size:clamp(2rem,3.4vw,3.15rem);line-height:1.05;color:var(--navy)}.alert-trip-copy>p{margin:0;font-size:1.05rem;line-height:1.75;color:#4b6877}.availability-panel{display:grid;gap:5px;margin:0;padding:17px 19px;border:1px solid;border-radius:16px}.availability-panel strong{font-size:1.05rem}.availability-panel span{line-height:1.5}
.alert-trip-form-card{padding:26px;border-radius:22px;background:#fff;border:1px solid #dce8ee;box-shadow:0 18px 50px rgba(15,57,76,.09)}.alert-trip-form{display:grid;gap:17px;background:transparent;padding:0;border-radius:0;box-shadow:none}.alert-trip-form label{display:grid;gap:7px;color:#173f52;font-weight:800}.alert-trip-form input,.alert-trip-form select{width:100%;min-height:48px;padding:10px 13px;border:1px solid #c8dae3;border-radius:12px;background:#fff;color:#173f52;font:inherit}.alert-trip-form input:focus,.alert-trip-form select:focus{outline:none;border-color:#0d789f;box-shadow:0 0 0 3px rgba(13,120,159,.12)}.alert-trip-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.alert-channel-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.alert-channel{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:11px!important;padding:14px;border:1px solid #d5e3e9;border-radius:14px;background:#f8fbfc}.alert-channel input{width:20px!important;min-height:20px!important;margin-top:2px}.alert-channel span{display:grid;gap:3px}.alert-channel small{font-weight:500;color:#617b87;line-height:1.4}.alert-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.alert-trip-form .check{display:flex;align-items:flex-start;gap:9px;font-weight:500;line-height:1.5}.alert-trip-form .check input{flex:0 0 auto;width:18px;min-height:18px;margin-top:2px}.alert-trip-form .check span{display:block;min-width:0}.alert-trip-form .btn{justify-self:start;text-align:center}
@media(max-width:900px){.alert-trip-pagehead-inner{align-items:flex-start}.alert-trip-layout{grid-template-columns:1fr;gap:24px}.alert-trip-form-card{padding:20px}}
@media(max-width:620px){.alert-trip-pagehead{padding:34px 0}.alert-trip-pagehead-inner{display:grid;gap:20px}.alert-trip-pagehead h1{font-size:clamp(2.15rem,11vw,3.3rem)}.alert-trip-pagehead .btn{width:100%;min-width:0}.alert-trip-grid,.alert-channel-grid{grid-template-columns:1fr}.alert-trip-form-card{padding:17px;border-radius:16px}.alert-trip-form .btn{width:100%;justify-self:stretch}.availability-badge{font-size:.66rem;min-height:27px}.availability-badge-featured{left:10px;bottom:10px}}

/* Patch 0175 - badge Novità compatto e uniforme nelle card di riepilogo */
.novita-badge-card,
.novita-badge-featured{
  box-sizing:border-box;
  width:auto;
  height:34px;
  min-height:34px;
  max-height:34px;
  padding:7px 14px;
  line-height:1;
  white-space:nowrap;
  flex:0 0 auto;
}
.novita-badge-card::before,
.novita-badge-featured::before{
  line-height:1;
  flex:0 0 auto;
}
@media(max-width:650px){
  .novita-badge-card,
  .novita-badge-featured{
    height:30px;
    min-height:30px;
    max-height:30px;
    padding:5px 10px;
  }
}


/* Patch 0176 - badge Novità compatto nei consigliati */
.novita-badge-mini{
  box-sizing:border-box;
  width:auto;
  height:26px;
  min-height:26px;
  max-height:26px;
  padding:4px 9px;
  gap:4px;
  border-radius:9px;
  font-size:11px;
  line-height:1;
  letter-spacing:.055em;
  white-space:nowrap;
  flex:0 0 auto;
}
.novita-badge-mini::before{
  font-size:11px;
  line-height:1;
  flex:0 0 auto;
}
@media(max-width:650px){
  .trip-recommended-mobile-list .novita-badge-mini{
    right:8px;
    bottom:8px;
    height:26px;
    min-height:26px;
    max-height:26px;
    padding:4px 9px;
    font-size:11px;
    border-radius:9px;
  }
}

/* Patch 0178 - allineamento definitivo badge Novità mini */
/*
 * I selettori includono .trip-recommended-link per superare la regola
 * generica .trip-recommended-link span, che applicava padding ai due testi
 * interni e li spingeva fuori dal centro del badge.
 */
.trip-recommended-link .novita-badge-mini{
  position:absolute;
  top:auto;
  right:8px;
  bottom:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  width:auto;
  height:26px!important;
  min-height:26px!important;
  max-height:26px!important;
  margin:0!important;
  padding:0 9px!important;
  gap:4px;
  overflow:hidden;
  border-radius:9px;
  font-size:0;
  line-height:0;
  white-space:nowrap;
  vertical-align:middle;
  flex:0 0 auto;
}
.trip-recommended-link .novita-badge-mini::before{
  content:none;
  display:none;
}
.trip-recommended-link .novita-badge-mini-icon,
.trip-recommended-link .novita-badge-mini-text{
  display:block!important;
  box-sizing:border-box;
  min-width:0;
  height:12px!important;
  min-height:12px!important;
  max-height:12px!important;
  margin:0!important;
  padding:0!important;
  line-height:12px!important;
  text-align:center;
  transform:none;
}
.trip-recommended-link .novita-badge-mini-icon{
  width:12px;
  flex:0 0 12px;
  font-size:11px;
  letter-spacing:0;
}
.trip-recommended-link .novita-badge-mini-text{
  flex:0 0 auto;
  font-size:11px;
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
}
@media(max-width:650px){
  .trip-recommended-mobile-list .trip-recommended-link .novita-badge-mini{
    right:8px;
    bottom:8px;
    height:26px;
    min-height:26px;
    max-height:26px;
    padding:0 9px;
  }
}

/* Patch 0181 - Mappa, condivisione, QR code e recensioni */
.trip-share-icon.copy,.trip-share-icon.qr{background:#176f91;color:#fff}.trip-share-icon.copy svg,.trip-share-icon.qr svg{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.trip-share-icon.qr svg{fill:currentColor;stroke:none}.trip-share-qr-only{justify-content:center}.trip-share-feedback{flex-basis:100%;min-height:1.25rem;text-align:center;font-size:.82rem;color:#356074}
.trip-map-section{background:#f5fafc}.trip-map-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:24px;align-items:stretch}.trip-map-points{list-style:none;margin:0;padding:0;display:grid;gap:12px;align-content:start}.trip-map-points li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px;border:1px solid #d4e5ec;border-radius:18px;background:#fff;box-shadow:0 8px 20px rgba(16,57,76,.05)}.trip-map-points button{appearance:none;border:0;background:transparent;padding:0;display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:12px;text-align:left;align-items:center;color:#12394c;cursor:pointer;min-width:0}.trip-map-points button>span{grid-row:1/3;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#0b789f;color:#fff;font-weight:800}.trip-map-points strong,.trip-map-points small{grid-column:2;min-width:0}.trip-map-points strong{font-size:.98rem;line-height:1.25}.trip-map-points small{color:#66808d;line-height:1.3}.trip-map-points a{font-size:.75rem;font-weight:700;color:#0b789f;text-align:right;white-space:nowrap}
.trip-reviews-section{background:#fff}.trip-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:28px}.trip-review-card{padding:24px;border:1px solid #d6e6ed;border-radius:22px;background:#fbfdfe;box-shadow:0 10px 25px rgba(16,57,76,.05);min-width:0}.trip-review-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.trip-review-card-head>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.trip-review-card h3{margin:16px 0 8px;font-size:1.15rem;color:#12394c}.trip-review-card p{margin:0 0 14px;color:#456675;line-height:1.65}.trip-review-card>small{color:#738b96}.review-stars{color:#f3a333;letter-spacing:.08em;white-space:nowrap}.verified-traveler{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#e7f6ed;color:#267447;font-size:.7rem;font-weight:800}.trip-review-photo{display:block;width:100%;max-height:280px;object-fit:cover;border-radius:16px;margin:14px 0}.trip-review-form-card{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:28px;padding:28px;border:1px solid #cfe2ea;border-radius:24px;background:#f4fafc}.trip-review-form-card h3{margin:4px 0 10px;font-size:1.7rem;color:#12394c}.trip-review-form-card p{color:#52717f;line-height:1.6}.trip-review-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.trip-review-form>label:not(.check),.review-rating{display:grid;gap:7px;font-weight:700;color:#12394c}.trip-review-form input:not([type=radio]):not([type=checkbox]),.trip-review-form textarea{width:100%;border:1px solid #bdd6e1;border-radius:13px;background:#fff;padding:12px 14px;font:inherit;color:#12394c}.trip-review-form textarea{resize:vertical}.trip-review-form .full{grid-column:1/-1}.review-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.review-rating{border:0;margin:0;padding:0}.review-rating legend{margin-bottom:7px;font-weight:700}.review-rating>div{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:3px}.review-rating input{position:absolute;opacity:0;pointer-events:none}.review-rating label{font-size:2rem;line-height:1;color:#b9c8cf;cursor:pointer}.review-rating input:checked~label,.review-rating label:hover,.review-rating label:hover~label{color:#f3a333}.review-captcha{max-width:220px}.trip-review-submit{display:flex;justify-content:flex-end}.trip-review-submit .btn{min-width:220px}
.qr-pagehead{text-align:center}.qr-trip-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.75fr);gap:28px;align-items:stretch}.qr-trip-card,.qr-panel{border:1px solid #d4e5ec;border-radius:24px;background:#fff;overflow:hidden;box-shadow:0 14px 34px rgba(16,57,76,.08)}.qr-trip-card img{display:block;width:100%;height:360px;object-fit:cover}.qr-trip-card>div{padding:24px}.qr-trip-card h2{margin:5px 0 10px;color:#12394c;font-size:clamp(1.6rem,3vw,2.4rem)}.qr-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center}.qr-code-canvas{display:grid;place-items:center;width:min(100%,360px);aspect-ratio:1;padding:20px;border:1px solid #d7e5eb;border-radius:20px;background:#fff}.qr-code-canvas canvas,.qr-code-canvas img{display:block!important;width:100%!important;height:auto!important}.qr-panel>p{max-width:520px;color:#52717f;line-height:1.6}.qr-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px}
@media(max-width:900px){.trip-map-layout,.qr-trip-layout,.trip-review-form-card{grid-template-columns:1fr}.trip-review-grid{grid-template-columns:1fr}.qr-trip-card img{height:300px}}
@media(max-width:600px){.trip-map-section,.trip-reviews-section,.qr-trip-section{padding-inline:0}.trip-map-layout{gap:14px}.trip-map-points li{grid-template-columns:1fr;padding:9px}.trip-map-points a{text-align:left;padding-left:54px}.trip-review-form-card{padding:20px;border-radius:18px}.trip-review-form{grid-template-columns:1fr}.trip-review-form .full{grid-column:auto}.trip-review-card{padding:19px}.trip-review-card-head{display:grid}.qr-panel{padding:20px}.qr-code-canvas{padding:14px}.qr-actions{display:grid;width:100%}.qr-actions .btn{width:100%}.qr-trip-card img{height:240px}}
@media print{body[data-public-page="qr-viaggio"] .site-sticky-shell,body[data-public-page="qr-viaggio"] .top,body[data-public-page="qr-viaggio"] header,body[data-public-page="qr-viaggio"] .programmed-banners,body[data-public-page="qr-viaggio"] .qr-pagehead,body[data-public-page="qr-viaggio"] .qr-trip-card,body[data-public-page="qr-viaggio"] .newsletter-band,body[data-public-page="qr-viaggio"] footer,body[data-public-page="qr-viaggio"] [data-scroll-top]{display:none!important}body[data-public-page="qr-viaggio"] .qr-trip-section{padding:0}body[data-public-page="qr-viaggio"] .qr-trip-layout{display:block}body[data-public-page="qr-viaggio"] .qr-panel{border:0;box-shadow:none;min-height:190mm}body[data-public-page="qr-viaggio"] .qr-code-canvas{width:110mm}body[data-public-page="qr-viaggio"] .no-print{display:none!important}}
.trip-share-compact{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px}.trip-share-feedback{width:100%;flex:0 0 100%}
/* Patch 0181: i radio delle stelle restano accessibili senza ereditare la larghezza globale degli input. */
.review-rating input[type="radio"]{position:absolute!important;width:1px!important;height:1px!important;min-width:1px!important;max-width:1px!important;padding:0!important;margin:0!important;border:0!important;opacity:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;pointer-events:none!important}
@media(max-width:340px){.trip-review-form-card{padding:16px}.trip-review-form-card>div,.trip-review-form{min-width:0}.trip-review-form>label,.review-rating{min-width:0}.trip-review-submit .btn{min-width:0;width:100%}}

/* Patch 0183 - mappa compatta su richiesta, QR singolo e nessun tasto copia */
.trip-share-icon.copy{display:none!important}.trip-map-section{background:#f5fafc}.trip-map-disclosure{border:1px solid #cfe2ea;border-radius:22px;background:#fff;box-shadow:0 12px 28px rgba(16,57,76,.07);overflow:hidden}.trip-map-disclosure>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:16px 20px;cursor:pointer;color:#12394c;font-weight:800}.trip-map-disclosure>summary::-webkit-details-marker{display:none}.trip-map-disclosure>summary::after{content:'+';display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:#e9f5fa;color:#0b789f;font-size:1.4rem;line-height:1}.trip-map-disclosure[open]>summary::after{content:'−'}.trip-map-disclosure>summary span{font-size:1.05rem}.trip-map-disclosure>summary small{margin-left:auto;color:#66808d;font-size:.82rem;font-weight:700}.trip-map-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:20px;align-items:start;padding:0 20px 20px}.trip-map-frame{height:380px;min-height:380px;max-height:380px;border:1px solid #c8dfe9;border-radius:18px;overflow:hidden;background:#e8f2f6;contain:layout paint}.trip-map-frame iframe{display:block;width:100%;height:100%;border:0}.trip-map-points{max-height:380px;overflow:auto;align-content:start;padding-right:4px}.trip-map-points li{min-height:64px}.trip-map-points button{min-height:44px}.qr-code-canvas{width:min(100%,300px)!important;max-width:300px!important;height:300px!important;max-height:300px!important;aspect-ratio:1!important;padding:10px!important;overflow:hidden!important}.qr-code-canvas canvas,.qr-code-canvas img{max-width:100%!important;max-height:100%!important;object-fit:contain!important}.qr-code-canvas.qr-render-canvas canvas{display:block!important;width:100%!important;height:100%!important}.qr-code-canvas.qr-render-canvas img{display:none!important}.qr-code-canvas.qr-render-image canvas{display:none!important}.qr-code-canvas.qr-render-image img{display:block!important;width:100%!important;height:100%!important}.qr-panel{min-height:0!important}
@media(max-width:900px){.trip-map-layout{grid-template-columns:1fr}.trip-map-frame{height:340px;min-height:340px;max-height:340px}.trip-map-points{max-height:none;overflow:visible}}
@media(max-width:600px){.trip-map-disclosure{border-radius:16px}.trip-map-disclosure>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;min-height:58px;padding:13px 15px}.trip-map-disclosure>summary small{grid-column:1;margin:0}.trip-map-disclosure>summary::after{grid-column:2;grid-row:1/3}.trip-map-layout{padding:0 10px 12px;gap:12px}.trip-map-frame{height:280px;min-height:280px;max-height:280px;border-radius:14px}.qr-code-canvas{width:min(100%,250px)!important;max-width:250px!important;height:250px!important;max-height:250px!important;padding:8px!important}}
@media print{body[data-public-page="qr-viaggio"] .qr-panel{min-height:0!important;padding:10mm!important}body[data-public-page="qr-viaggio"] .qr-code-canvas{width:90mm!important;max-width:90mm!important;height:90mm!important;max-height:90mm!important}}

/* Patch 0185 - Guide di viaggio e album fotografici */
.editorial-pagehead span{display:block;max-width:820px;font-size:1.08rem;color:rgba(255,255,255,.86)}
.editorial-section{background:#f3f7f8}
.editorial-filter{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:end;margin:0 0 34px;padding:20px;border:1px solid #dce7eb;box-shadow:0 12px 30px rgba(17,53,77,.07)}
.editorial-filter label{margin:0}.editorial-filter select{width:100%;display:block;margin-top:6px;padding:12px;border:1px solid #b7c8d0;border-radius:10px;background:#fff;font:inherit}.editorial-filter .btn{white-space:nowrap}
.album-filter{grid-template-columns:minmax(0,1fr) minmax(180px,260px) auto auto}
.editorial-card-grid,.album-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.editorial-card,.album-card{min-width:0;background:#fff;border:1px solid #dfe8ec;border-radius:20px;overflow:hidden;box-shadow:0 16px 42px rgba(17,53,77,.09)}
.editorial-card-media,.album-card-media{display:block;position:relative;overflow:hidden;background:#dce8ed;text-decoration:none}
.editorial-card-media img,.album-card-media img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .25s ease}
.editorial-card:hover .editorial-card-media img,.album-card:hover .album-card-media img{transform:scale(1.025)}
.editorial-card-media>span{position:absolute;top:14px;left:14px;padding:7px 12px;border-radius:999px;background:var(--orange);color:#17384a;font-size:.74rem;font-weight:900}
.editorial-card-body,.album-card-body{display:flex;flex-direction:column;min-height:245px;padding:24px}
.editorial-card-body>p,.album-card-body>p{margin:0 0 8px;color:var(--orange);font-size:.74rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.editorial-card h2,.album-card h2{margin:0 0 12px;font-family:Georgia,serif;font-size:1.65rem;line-height:1.14}.editorial-card h2 a,.album-card h2 a{color:var(--navy);text-decoration:none}
.editorial-card-body>div,.album-card-body>span{color:#62747d}.editorial-card footer,.album-card footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding-top:22px;font-size:.88rem}.editorial-card footer a,.album-card footer a{font-weight:800}
.album-card-media>b{position:absolute;top:14px;left:14px;padding:7px 12px;border-radius:999px;background:#fff;color:var(--navy);box-shadow:0 8px 22px rgba(17,53,77,.14)}
.album-card-placeholder{display:grid;place-items:center;aspect-ratio:16/10;background:linear-gradient(135deg,#dcecf2,#f4f8fa);color:#57717d;font-weight:800}
.editorial-empty{padding:45px;text-align:center;background:#fff;border:1px dashed #b9cbd3;border-radius:18px}.editorial-empty h2{font-family:Georgia,serif;margin-top:0}
.editorial-detail-hero,.album-detail-hero{max-height:620px;overflow:hidden;background:#dce8ed}.editorial-detail-hero img,.album-detail-hero img{width:100%;height:min(58vw,620px);object-fit:cover}
.editorial-detail-head{padding-top:54px;padding-bottom:26px;text-align:center}.editorial-detail-head>p{margin:0;color:var(--orange);font-size:.76rem;font-weight:900;letter-spacing:.18em}.editorial-detail-head h1{max-width:980px;margin:.18em auto;font-family:Georgia,serif;font-size:clamp(2.8rem,6vw,5.4rem);line-height:.96}.editorial-detail-head>span{display:block;max-width:820px;margin:18px auto;color:#5d747f;font-size:1.1rem}.editorial-detail-meta{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;margin-top:18px}.editorial-detail-meta a{font-weight:800}
.editorial-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:54px;align-items:start}.editorial-prose{min-width:0;background:#fff;border-radius:20px;padding:38px;box-shadow:0 14px 38px rgba(17,53,77,.07)}.editorial-prose h2,.editorial-prose h3{font-family:Georgia,serif;color:var(--navy)}.editorial-prose h2{font-size:2rem;margin:1.25em 0 .45em}.editorial-prose h2:first-child{margin-top:0}.editorial-prose h3{font-size:1.45rem}.editorial-prose p,.editorial-prose li{font-size:1.02rem;line-height:1.8;color:#385463}.editorial-prose ul{padding-left:1.3em}
.editorial-related{position:sticky;top:130px;display:grid;gap:14px}.editorial-related h2{margin:0 0 6px;font-family:Georgia,serif}.editorial-related>a{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;align-items:center;padding:10px;background:#fff;border:1px solid #dce7eb;border-radius:14px;text-decoration:none}.editorial-related>a img{width:92px;height:76px;object-fit:cover;border-radius:10px}.editorial-related>a span{min-width:0}.editorial-related>a strong{display:block;color:var(--navy);line-height:1.25}.editorial-related>a small{display:block;margin-top:5px;color:#667c87}
.album-description{padding-top:20px;padding-bottom:20px}.album-description .content{max-width:920px;text-align:center;font-size:1.06rem}
.managed-album-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.managed-album-item{position:relative;display:block;width:100%;padding:0;border:0;border-radius:16px;overflow:hidden;background:#dce8ed;cursor:pointer;text-align:left}.managed-album-item img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .22s ease}.managed-album-item:hover img{transform:scale(1.025)}.managed-album-item span{position:absolute;left:0;right:0;bottom:0;padding:28px 13px 12px;background:linear-gradient(transparent,rgba(8,34,48,.78));color:#fff;font-size:.86rem;font-weight:700}
.album-lightbox{width:min(1100px,calc(100% - 28px));max-height:calc(100vh - 28px);padding:0;border:0;border-radius:18px;background:#0b2431;color:#fff;box-shadow:0 28px 90px rgba(0,0,0,.45)}.album-lightbox::backdrop{background:rgba(3,18,27,.82)}.album-lightbox figure{display:grid;place-items:center;margin:0;padding:28px 64px 22px;min-height:300px}.album-lightbox figure img{max-width:100%;max-height:calc(100vh - 130px);object-fit:contain}.album-lightbox figcaption{min-height:24px;margin-top:12px;text-align:center;color:#dce9ed}.album-lightbox-close,.album-lightbox-nav{position:absolute;z-index:2;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;cursor:pointer}.album-lightbox-close{top:12px;right:12px;width:42px;height:42px;font-size:28px}.album-lightbox-nav{top:50%;width:44px;height:58px;margin-top:-29px;font-size:34px}.album-lightbox-nav.prev{left:10px}.album-lightbox-nav.next{right:10px}
@media(max-width:1100px){.editorial-card-grid,.album-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editorial-detail-layout{grid-template-columns:1fr}.editorial-related{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.editorial-related>p,.editorial-related>h2{grid-column:1/-1}.managed-album-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.editorial-filter,.album-filter{grid-template-columns:1fr}.editorial-filter .btn{width:100%;text-align:center}.editorial-card-grid,.album-card-grid{grid-template-columns:1fr}.editorial-card-body,.album-card-body{min-height:0}.editorial-detail-head{padding-top:38px}.editorial-detail-hero img,.album-detail-hero img{height:62vw;min-height:260px}.editorial-prose{padding:24px}.editorial-related{grid-template-columns:1fr}.managed-album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.album-lightbox figure{padding:56px 12px 18px}.album-lightbox-nav{top:auto;bottom:10px}.album-lightbox-nav.prev{left:12px}.album-lightbox-nav.next{right:12px}}
@media(max-width:420px){.managed-album-grid{grid-template-columns:1fr}.editorial-detail-head h1{font-size:2.45rem}}


/* Patch 0186 - footer tablet, stili mappa e altezza controllata */
html{min-height:100%;background:var(--theme-footer,#102d3e)}
body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg,#f3f7f8)}
body>.site-sticky-shell{flex:0 0 auto}
body>main{flex:1 0 auto;width:100%}
body>.newsletter-band,body>footer{flex:0 0 auto;width:100%}
body>footer{margin-top:0}
.trip-map-frame{height:340px!important;min-height:340px!important;max-height:340px!important}
.trip-map-frame iframe{transform:translateZ(0);transform-origin:center}
.trip-map-frame.map-style-standard iframe{filter:none}
.trip-map-frame.map-style-chiara iframe{filter:saturate(.72) brightness(1.12) contrast(.92)}
.trip-map-frame.map-style-grigia iframe{filter:grayscale(1) contrast(.96) brightness(1.04)}
.trip-map-frame.map-style-contrasto iframe{filter:saturate(1.32) contrast(1.16) brightness(.98)}
@media(max-width:900px){.trip-map-frame{height:300px!important;min-height:300px!important;max-height:300px!important}.trip-map-points{max-height:280px;overflow:auto}}
@media(max-width:600px){.trip-map-frame{height:250px!important;min-height:250px!important;max-height:250px!important}.trip-map-points{max-height:240px}}

/* Patch 0187 - contenuti cartografici esterni caricati dopo consenso */
.contact-map-consent{min-height:210px}
.contact-map-placeholder{min-height:210px;padding:28px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;background:linear-gradient(145deg,#f7fbfd,#edf6f9)}
.contact-map-placeholder strong{font-size:1.2rem;color:#153c52}
.contact-map-placeholder p{margin:0;max-width:560px;color:#5e7886;line-height:1.55}
.contact-map-placeholder .btn{margin-top:4px}
.contact-map-placeholder .contact-map-link{width:100%;padding:8px 0 0;background:transparent;border:0;text-align:left}
.contact-map-consent.cookie-embed-active{min-height:0}
.contact-map-consent iframe[hidden],.contact-map-consent .contact-map-link-loaded[hidden]{display:none!important}
@media(max-width:560px){.contact-map-placeholder{min-height:190px;padding:22px}.contact-map-placeholder .btn{width:100%;text-align:center}}

/* Patch 0188: mappa itinerario multipunto, leggera e caricata solo su apertura */
.trip-map-disclosure{contain:layout style}
.trip-map-layout{grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr)!important;align-items:stretch!important}
.trip-map-frame{position:relative!important;height:clamp(280px,52dvh,420px)!important;min-height:280px!important;max-height:420px!important;overflow:hidden!important;contain:layout paint size!important;background:#e5eef2!important;touch-action:none;user-select:none;-webkit-user-select:none}
.trip-map-canvas{position:absolute;inset:0;overflow:hidden;cursor:grab;background:#e5eef2}
.trip-map-canvas.is-dragging{cursor:grabbing}
.trip-map-placeholder,.trip-map-error{position:absolute;inset:0;z-index:1;display:grid;place-content:center;gap:7px;margin:0;padding:30px;text-align:center;color:#456675;background:linear-gradient(135deg,#eef6f8,#dcebef)}
.trip-map-placeholder strong{color:#12394c;font-size:1.05rem}.trip-map-placeholder span{max-width:470px;line-height:1.5}
.trip-map-tile-layer,.trip-map-marker-layer,.trip-map-route-layer{position:absolute;inset:0;width:100%;height:100%}
.trip-map-tile-layer{z-index:1;overflow:hidden;transform:translateZ(0)}
.trip-map-tile-layer img{position:absolute;width:256px;height:256px;max-width:none!important;pointer-events:none;user-select:none;-webkit-user-drag:none}
.trip-map-route-layer{z-index:2;pointer-events:none;overflow:visible}.trip-map-route{fill:none;stroke:#087fa9;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke;filter:drop-shadow(0 1px 1px rgba(255,255,255,.9))}
.trip-map-marker-layer{z-index:3;pointer-events:none}.trip-map-marker{position:absolute;transform:translate(-50%,-100%);display:grid;place-items:center;width:34px;height:34px;min-height:34px;border:3px solid #fff;border-radius:50% 50% 50% 6px;background:#0b789f;color:#fff;font:800 .82rem/1 Arial,sans-serif;box-shadow:0 5px 14px rgba(8,50,70,.28);cursor:pointer;pointer-events:auto;touch-action:manipulation}.trip-map-marker.selected{width:40px;height:40px;background:#ef8d25;box-shadow:0 0 0 5px rgba(239,141,37,.25),0 6px 16px rgba(8,50,70,.3)}
.trip-map-controls{position:absolute;z-index:5;top:12px;right:12px;display:flex;gap:5px;padding:5px;border-radius:12px;background:rgba(255,255,255,.94);box-shadow:0 4px 14px rgba(18,57,76,.18);backdrop-filter:blur(4px)}
.trip-map-controls button{min-width:42px;min-height:42px;border:0;border-radius:8px;background:#e8f3f7;color:#12394c;font:800 .82rem/1 Arial,sans-serif;cursor:pointer;touch-action:manipulation}.trip-map-controls button[data-map-fit-all]{padding-inline:12px}.trip-map-controls button.active,.trip-map-controls button:hover{background:#0b789f;color:#fff}
.trip-map-attribution{position:absolute;z-index:5;right:5px;bottom:4px;padding:3px 6px;border-radius:5px;background:rgba(255,255,255,.88);color:#365767;font-size:.65rem;line-height:1.2}.trip-map-attribution a{color:inherit}
.trip-map-frame.map-style-standard .trip-map-tile-layer{filter:none}.trip-map-frame.map-style-chiara .trip-map-tile-layer{filter:saturate(.72) brightness(1.12) contrast(.92)}.trip-map-frame.map-style-grigia .trip-map-tile-layer{filter:grayscale(1) contrast(.96) brightness(1.04)}.trip-map-frame.map-style-contrasto .trip-map-tile-layer{filter:saturate(1.32) contrast(1.16) brightness(.98)}
.trip-map-sidebar{display:flex;flex-direction:column;min-height:0;max-height:420px;gap:12px}.trip-map-stage-filters{display:flex;gap:7px;flex-wrap:wrap}.trip-map-stage-filters button{min-height:40px;padding:8px 11px;border:1px solid #c9dfe8;border-radius:999px;background:#fff;color:#17485f;font:700 .78rem/1.25 Arial,sans-serif;cursor:pointer;touch-action:manipulation}.trip-map-stage-filters button.active,.trip-map-stage-filters button:hover{border-color:#0b789f;background:#e5f4fa;color:#076b8e}
.trip-map-sidebar .trip-map-points{flex:1 1 auto;min-height:0;max-height:none!important;overflow:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:4px}.trip-map-points button.active{border-radius:13px;background:#e8f5fa;box-shadow:0 0 0 3px rgba(11,120,159,.12)}
.trip-map-google-route{flex:0 0 auto;width:100%;box-sizing:border-box;text-align:center}
@media(max-width:900px){.trip-map-layout{grid-template-columns:1fr!important}.trip-map-frame{height:clamp(270px,48dvh,360px)!important;min-height:270px!important;max-height:360px!important}.trip-map-sidebar{max-height:none}.trip-map-sidebar .trip-map-points{max-height:300px!important}}
@media(max-width:600px){.trip-map-frame{height:clamp(250px,44dvh,320px)!important;min-height:250px!important;max-height:320px!important}.trip-map-controls{top:8px;right:8px}.trip-map-controls button{min-width:40px;min-height:40px}.trip-map-stage-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px;scrollbar-width:thin}.trip-map-stage-filters button{flex:0 0 auto}.trip-map-sidebar .trip-map-points{max-height:280px!important}.trip-map-route{stroke-width:4}}
@media(prefers-reduced-motion:reduce){.trip-map-marker,.trip-map-controls button{transition:none!important}}

/* Patch 0191: nel riepilogo della mappa pubblica restano soltanto ordine e titolo */
.trip-map-points li{grid-template-columns:minmax(0,1fr)!important}
.trip-map-points button{width:100%;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto;align-items:center}
.trip-map-points button>span{grid-row:1!important}
.trip-map-points strong{grid-column:2;align-self:center}
.trip-map-points small,.trip-map-points li>a,.trip-map-google-route{display:none!important}
@media(max-width:600px){.trip-map-points li{grid-template-columns:minmax(0,1fr)!important}.trip-map-points button{width:100%}}

/* Patch 0201 - album senza filigrana e azioni senza fascia di sfondo */
.album-card-body{gap:0}
.album-card-body>span{display:block;margin-bottom:0;font-size:1rem;line-height:1.55;color:#62747d}
.album-card-actions{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:auto;padding-top:22px;background:transparent!important;color:var(--text)!important}
.album-card-count{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 14px;border-radius:999px;background:#eef5f7;color:var(--navy);font-size:.9rem;font-weight:800}
.album-card-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 16px;border:2px solid var(--blue);border-radius:999px;background:#fff;color:var(--blue)!important;font-size:.88rem;font-weight:800;text-decoration:none;white-space:nowrap}
.album-card-link:hover{background:#f4fbfd;text-decoration:none!important}
@media(max-width:720px){
  .album-card-actions{align-items:stretch}
  .album-card-count,.album-card-link{width:100%;justify-content:center}
}

/* Patch 0202 - galleria album coerente con il progetto */
.album-gallery-section{padding-top:42px;background:linear-gradient(180deg,#f3f7f8 0%,#edf4f6 100%)}
.album-gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 26px;padding-bottom:20px;border-bottom:1px solid #d8e5ea}
.album-gallery-heading .trip-section-kicker{margin:0 0 6px;color:var(--orange)}
.album-gallery-heading h2{margin:0;font-family:Georgia,serif;font-size:clamp(2rem,3.7vw,3.25rem);line-height:1.06;color:var(--navy)}
.album-gallery-heading span{display:block;margin-top:10px;color:#607984;font-size:.96rem}
.managed-album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.managed-album-item{position:relative;display:block;width:100%;min-width:0;padding:0;border:1px solid #d7e3e8;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 12px 30px rgba(17,53,77,.08);cursor:pointer;text-align:left;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.managed-album-item:hover{transform:translateY(-3px);border-color:#b9d4df;box-shadow:0 18px 38px rgba(17,53,77,.13)}
.managed-album-item:focus-visible{outline:3px solid rgba(8,127,167,.3);outline-offset:3px}
.managed-album-item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .28s ease}
.managed-album-item:hover img{transform:scale(1.035)}
.managed-album-index{position:absolute;top:12px;left:12px;display:grid;place-items:center;min-width:34px;height:34px;padding:0 10px;border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 6px 16px rgba(17,53,77,.16);color:var(--navy);font-size:.82rem;font-weight:900}
.managed-album-caption{position:absolute;left:0;right:0;bottom:0;padding:38px 16px 14px;background:linear-gradient(transparent,rgba(13,47,65,.84));color:#fff;font-size:.9rem;font-weight:700;line-height:1.35}
.album-lightbox{width:min(1180px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;border-radius:24px;background:transparent;color:var(--text);overflow:hidden;box-shadow:0 30px 90px rgba(3,24,35,.38)}
.album-lightbox::backdrop{background:rgba(8,37,52,.74);backdrop-filter:blur(4px)}
.album-lightbox-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;max-height:calc(100dvh - 32px);overflow:hidden;border:1px solid rgba(255,255,255,.6);border-radius:24px;background:#fff}
.album-lightbox-header{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px;padding:13px 16px 13px 22px;border-bottom:1px solid #dce7eb;background:#fff}
.album-lightbox-header>div{display:grid;gap:2px;min-width:0}
.album-lightbox-header span{color:var(--orange);font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.album-lightbox-header strong{overflow:hidden;color:var(--navy);font-family:Georgia,serif;font-size:1.22rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.album-lightbox-close{position:static;display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;padding:0;border:2px solid #c7dce5;border-radius:50%;background:#fff;color:var(--navy);font-size:1.7rem;line-height:1;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}
.album-lightbox-close:hover{border-color:var(--blue);background:#edf7fa;color:var(--blue)}
.album-lightbox-stage{display:grid;grid-template-columns:56px minmax(0,1fr) 56px;align-items:center;gap:12px;min-height:0;padding:18px;background:#eef4f6;touch-action:pan-y}
.album-lightbox-stage figure{display:grid;place-items:center;min-width:0;min-height:0;margin:0;padding:12px;border-radius:16px;overflow:hidden;background:#e5eef2}
.album-lightbox-stage figure img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 220px);object-fit:contain}
.album-lightbox-stage.is-loading figure{position:relative;min-height:360px}
.album-lightbox-stage.is-loading figure::after{content:'Caricamento immagine…';position:absolute;inset:0;display:grid;place-items:center;color:#607984;font-weight:800;background:#e5eef2}
.album-lightbox-nav{position:static;display:grid;place-items:center;width:48px;height:48px;margin:0;padding:0;border:2px solid #bcd5df;border-radius:50%;background:#fff;color:var(--blue);box-shadow:0 8px 18px rgba(17,53,77,.1);font-size:2rem;line-height:1;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease}
.album-lightbox-nav:hover{transform:translateY(-1px);border-color:var(--orange);background:#fff8ee;color:var(--navy)}
.album-lightbox-nav:disabled{visibility:hidden}
.album-lightbox-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;padding:12px 22px;border-top:1px solid #dce7eb;background:#fff}
.album-lightbox-meta p{min-width:0;margin:0;color:var(--navy);font-weight:800;line-height:1.35}
.album-lightbox-meta p:empty{display:none}
.album-lightbox-meta span{margin-left:auto;color:#6a818c;font-size:.82rem;white-space:nowrap}
body.album-lightbox-open{overflow:hidden}
@media(max-width:900px){
  .managed-album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .album-lightbox-stage{grid-template-columns:48px minmax(0,1fr) 48px;gap:8px;padding:12px}
  .album-lightbox-nav{width:42px;height:42px;font-size:1.75rem}
}
@media(max-width:600px){
  .album-gallery-section{padding-top:30px}
  .album-gallery-heading{margin-bottom:18px;padding-bottom:16px}
  .album-gallery-heading h2{font-size:2rem}
  .managed-album-grid{grid-template-columns:1fr;gap:14px}
  .album-lightbox{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:18px}
  .album-lightbox-shell{max-height:calc(100dvh - 16px);border-radius:18px}
  .album-lightbox-header{min-height:62px;padding:10px 10px 10px 15px}
  .album-lightbox-header strong{font-size:1.05rem}
  .album-lightbox-close{flex-basis:40px;width:40px;height:40px}
  .album-lightbox-stage{position:relative;display:block;padding:8px 10px}
  .album-lightbox-stage figure{padding:6px;border-radius:12px}
  .album-lightbox-stage figure img{max-height:calc(100dvh - 185px)}
  .album-lightbox-stage.is-loading figure{min-height:220px}
  .album-lightbox-nav{position:absolute;z-index:3;top:50%;width:38px;height:38px;border-width:1px;font-size:1.6rem;transform:translateY(-50%)}
  .album-lightbox-nav:hover{transform:translateY(-50%)}
  .album-lightbox-nav.prev{left:14px}
  .album-lightbox-nav.next{right:14px}
  .album-lightbox-meta{min-height:54px;padding:10px 14px}
  .album-lightbox-meta span{display:none}
  .album-lightbox-meta p{font-size:.88rem}
}

/* Patch 0203 - galleria album stabile, crediti e protezione copie pubbliche */
.managed-album-index{display:none!important}
.managed-album-item img,[data-protected-album-image]{-webkit-user-drag:none;user-select:none;-webkit-user-select:none}
.managed-album-caption{display:block}
.album-lightbox{width:min(1180px,calc(100vw - 32px));height:min(820px,calc(100dvh - 32px));max-height:none}
.album-lightbox-shell{width:100%;height:100%;max-height:none;grid-template-rows:72px minmax(0,1fr) 70px}
.album-lightbox-stage{min-height:0;height:100%;overflow:hidden}
.album-lightbox-stage figure{width:100%;height:100%;min-height:0;padding:12px}
.album-lightbox-stage figure img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.album-lightbox-stage.is-loading figure{min-height:0}
.album-lightbox-meta{height:70px;min-height:70px}
.album-lightbox-texts{display:grid;gap:3px;min-width:0}
.album-lightbox-texts p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.album-lightbox-texts small{color:#617984;font-size:.8rem;font-weight:700}
.album-lightbox-meta.is-empty .album-lightbox-texts{display:none}
@media(max-width:600px){
  .album-lightbox{height:calc(100dvh - 16px);max-height:none}
  .album-lightbox-shell{height:100%;max-height:none;grid-template-rows:62px minmax(0,1fr) 54px}
  .album-lightbox-stage figure{height:100%;min-height:0}
  .album-lightbox-stage figure img{max-height:100%}
  .album-lightbox-meta{height:54px;min-height:54px}
  .album-lightbox-texts p{font-size:.84rem}
  .album-lightbox-texts small{font-size:.74rem}
}

/* Patch 0205 - lightbox album: immagine completa senza ritagli */
.album-lightbox-stage figure{
  overflow:hidden;
}
.album-lightbox-stage figure img[data-album-lightbox-image]{
  display:block;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
}

/* Patch 0210 - Guide di viaggio editoriali AI */
.guide-list-pagehead{position:relative;overflow:hidden;background:linear-gradient(118deg,#0b789c,#173b53 68%,#244e62)}
.guide-list-pagehead:after{content:"";position:absolute;right:-80px;bottom:-180px;width:480px;height:480px;border:1px solid rgba(255,255,255,.15);border-radius:50%;box-shadow:0 0 0 58px rgba(255,255,255,.04),0 0 0 118px rgba(255,255,255,.03)}
.guide-list-pagehead .wrap{position:relative;z-index:1}
.guide-filter{grid-template-columns:minmax(0,1fr) auto auto}
.guide-list-card .editorial-card-body{min-height:310px}
.guide-list-card .editorial-card-body>div{display:-webkit-box;overflow:hidden;-webkit-line-clamp:4;-webkit-box-orient:vertical}
.guide-card-tags{display:flex!important;flex-wrap:wrap;gap:7px;margin-top:15px}
.guide-card-tags span{padding:5px 9px;border-radius:999px;background:#edf5f7;color:#56717d;font-size:.73rem;font-weight:800}
.travel-guide-detail{background:#f3f7f8}
.travel-guide-hero{position:relative;display:flex;align-items:flex-end;min-height:min(720px,78vh);overflow:hidden;background:linear-gradient(120deg,#0a789b,#173b53);color:#fff}
.travel-guide-hero.without-image{min-height:520px}
.travel-guide-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.travel-guide-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,34,50,.9) 0,rgba(5,34,50,.68) 47%,rgba(5,34,50,.2) 100%),linear-gradient(0deg,rgba(5,34,50,.62),transparent 55%)}
.travel-guide-hero-content{position:relative;z-index:1;padding-top:120px;padding-bottom:72px}
.travel-guide-hero-content>p{margin:0 0 12px;color:#ffd18f;font-size:.78rem;font-weight:900;letter-spacing:.2em}
.travel-guide-hero-content h1{max-width:980px;margin:0;font-family:Georgia,serif;font-size:clamp(3.1rem,7vw,6.5rem);line-height:.96;text-wrap:balance}
.travel-guide-hero-content>span{display:block;max-width:780px;margin-top:22px;color:#edf8fb;font-size:1.12rem;line-height:1.75}
.travel-guide-hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:28px}
.travel-guide-hero-meta>*{display:inline-flex;align-items:center;min-height:34px;padding:6px 12px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(8,44,61,.35);color:#fff;font-size:.82rem;text-decoration:none;backdrop-filter:blur(5px)}
.travel-guide-facts-section{position:relative;z-index:2;margin-top:-30px}
.travel-guide-facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:hidden;border:1px solid #d7e4e9;border-radius:20px;background:#fff;box-shadow:0 18px 45px rgba(17,53,77,.12)}
.travel-guide-facts>div{display:grid;align-content:start;gap:6px;min-width:0;padding:22px;border-right:1px solid #e3ecef}
.travel-guide-facts>div:last-child{border-right:0}
.travel-guide-facts small{color:#6c818b;font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.travel-guide-facts strong{color:var(--navy);font-size:1.02rem;line-height:1.35;overflow-wrap:anywhere}
.travel-guide-index{position:sticky;top:var(--site-sticky-offset,82px);z-index:8;margin-top:32px;border-top:1px solid #dae7eb;border-bottom:1px solid #dae7eb;background:rgba(255,255,255,.96);box-shadow:0 8px 22px rgba(17,53,77,.05);backdrop-filter:blur(10px)}
.travel-guide-index .wrap{display:flex;align-items:center;gap:20px;min-height:64px}
.travel-guide-index span{flex:0 0 auto;color:var(--navy);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.travel-guide-index div div{display:flex;gap:7px;overflow-x:auto;padding:8px 0;scrollbar-width:thin}
.travel-guide-index a{flex:0 0 auto;padding:7px 11px;border-radius:999px;background:#edf4f6;color:#42616e;font-size:.78rem;font-weight:800;text-decoration:none}
.travel-guide-index a:hover{background:var(--blue);color:#fff}
.travel-guide-content-section{padding-top:55px}
.travel-guide-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.travel-guide-section-card{display:grid;grid-template-columns:58px minmax(0,1fr);gap:18px;min-width:0;padding:28px;border:1px solid #dce7eb;border-radius:20px;background:#fff;box-shadow:0 12px 30px rgba(17,53,77,.055);scroll-margin-top:160px}
.travel-guide-section-card:nth-child(3n+2){background:linear-gradient(145deg,#fff,#f1f8fa)}
.travel-guide-section-card:nth-child(3n){background:linear-gradient(145deg,#fff,#fff8ee)}
.travel-guide-section-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:#e7f4f8;color:var(--blue)}
.travel-guide-section-card:nth-child(3n) .travel-guide-section-icon{background:#fff0db;color:#c87916}
.travel-guide-section-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.travel-guide-section-copy{min-width:0}
.travel-guide-section-number{margin:0 0 2px;color:var(--orange);font-size:.7rem;font-weight:900;letter-spacing:.16em}
.travel-guide-section-copy h2{margin:0 0 15px;font-family:Georgia,serif;font-size:clamp(1.65rem,2.4vw,2.25rem);line-height:1.08;color:var(--navy)}
.travel-guide-prose p{margin:0 0 14px;color:#48636f;line-height:1.75}
.travel-guide-prose h3{margin:20px 0 8px;color:var(--navy);font-size:1.08rem}
.travel-guide-prose ul{display:grid;gap:9px;margin:15px 0 0;padding:0;list-style:none}
.travel-guide-prose li{position:relative;padding-left:22px;color:#48636f;line-height:1.6}
.travel-guide-prose li:before{content:"";position:absolute;left:0;top:.65em;width:8px;height:8px;border-radius:50%;background:var(--orange)}
.travel-guide-weather-section{background:#0f3549;color:#fff}
.travel-guide-section-heading{max-width:860px;margin:0 auto 34px;text-align:center}
.travel-guide-section-heading>p{margin:0;color:var(--orange);font-size:.74rem;font-weight:900;letter-spacing:.18em}
.travel-guide-section-heading h2{margin:6px 0 10px;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;color:var(--navy)}
.travel-guide-section-heading span{color:#607985;line-height:1.65}
.travel-guide-weather-section .travel-guide-section-heading h2{color:#fff}
.travel-guide-weather-section .travel-guide-section-heading span{color:#c9dce4}
.travel-guide-weather-table-wrap{overflow:auto;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.06)}
.travel-guide-weather-table{width:100%;min-width:880px;border-collapse:collapse}
.travel-guide-weather-table th,.travel-guide-weather-table td{padding:15px 17px;border-bottom:1px solid rgba(255,255,255,.11);text-align:left;vertical-align:top}
.travel-guide-weather-table thead th{color:#ffd18f;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em}
.travel-guide-weather-table tbody th{color:#fff}
.travel-guide-weather-table td{color:#d7e7ed}
.travel-guide-weather-table tr:last-child>*{border-bottom:0}
.travel-guide-related-section{background:#fff}
.travel-guide-trip-grid,.travel-guide-album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.travel-guide-trip-card,.travel-guide-album-card{display:grid;grid-template-rows:220px minmax(0,1fr);overflow:hidden;border:1px solid #dce7eb;border-radius:20px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 12px 30px rgba(17,53,77,.07);transition:transform .2s ease,box-shadow .2s ease}
.travel-guide-trip-card:hover,.travel-guide-album-card:hover{transform:translateY(-4px);box-shadow:0 20px 42px rgba(17,53,77,.13)}
.travel-guide-trip-card img,.travel-guide-album-card img{width:100%;height:220px;object-fit:cover}
.travel-guide-trip-card>span,.travel-guide-album-card>span{display:grid;align-content:start;gap:6px;padding:20px}
.travel-guide-trip-card small,.travel-guide-album-card small{color:var(--orange);font-size:.72rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.travel-guide-trip-card strong,.travel-guide-album-card strong{font-family:Georgia,serif;font-size:1.45rem;line-height:1.15;color:var(--navy)}
.travel-guide-trip-card b,.travel-guide-album-card b{color:var(--blue);font-size:.84rem}
.travel-guide-albums-section{background:#eef4f6}
.travel-guide-sources-section{padding-top:30px}
.travel-guide-sources-card{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:35px;padding:30px;border:1px solid #dce7eb;border-radius:20px;background:#fff}
.travel-guide-sources-card h2{margin:5px 0 10px;font-family:Georgia,serif;color:var(--navy)}
.travel-guide-sources-card p{color:#58717d;line-height:1.65}
.travel-guide-sources-card>div>small{color:#71858e}
.travel-guide-source-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.travel-guide-source-list a{display:grid;gap:3px;min-width:0;padding:12px 14px;border:1px solid #e0e9ed;border-radius:11px;background:#f8fbfc;text-decoration:none;overflow-wrap:anywhere}
.travel-guide-source-list strong{color:var(--navy);font-size:.86rem}
.travel-guide-source-list small{color:#6b818b;font-size:.72rem}
@media(max-width:1180px){.travel-guide-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.travel-guide-facts>div:nth-child(3n){border-right:0}.travel-guide-section-grid{grid-template-columns:1fr}.travel-guide-trip-grid,.travel-guide-album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.guide-filter{grid-template-columns:1fr}.travel-guide-hero{min-height:620px}.travel-guide-hero-shade{background:linear-gradient(0deg,rgba(5,34,50,.9),rgba(5,34,50,.25))}.travel-guide-hero-content{padding-bottom:48px}.travel-guide-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.travel-guide-facts>div{border-right:1px solid #e3ecef;border-bottom:1px solid #e3ecef}.travel-guide-facts>div:nth-child(2n){border-right:0}.travel-guide-index{position:relative;top:auto}.travel-guide-index .wrap{display:block;padding-top:10px;padding-bottom:10px}.travel-guide-index span{display:block;margin-bottom:4px}.travel-guide-sources-card{grid-template-columns:1fr}.travel-guide-source-list{grid-template-columns:1fr}}
@media(max-width:600px){.travel-guide-hero{min-height:560px}.travel-guide-hero-content{padding-top:90px}.travel-guide-hero-content h1{font-size:clamp(2.75rem,15vw,4.4rem)}.travel-guide-facts-section{margin-top:-18px}.travel-guide-facts{grid-template-columns:1fr 1fr;border-radius:16px}.travel-guide-facts>div{padding:16px}.travel-guide-section-card{grid-template-columns:1fr;padding:21px 18px}.travel-guide-section-icon{width:46px;height:46px}.travel-guide-trip-grid,.travel-guide-album-grid{grid-template-columns:1fr}.travel-guide-trip-card,.travel-guide-album-card{grid-template-rows:190px minmax(0,1fr)}.travel-guide-trip-card img,.travel-guide-album-card img{height:190px}.travel-guide-sources-card{padding:22px 18px}}
.travel-guide-facts>div:nth-child(5n){border-right:0}
@media(max-width:1180px){.travel-guide-facts>div:nth-child(5n){border-right:1px solid #e3ecef}.travel-guide-facts>div:nth-child(3n){border-right:0}}
@media(max-width:850px){.travel-guide-facts>div:nth-child(3n){border-right:1px solid #e3ecef}.travel-guide-facts>div:nth-child(2n){border-right:0}}

/* Patch 0218 - dettaglio Guide: layout lineare, descrizione mobile completa e clima stagionale */
.editorial-card-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:auto;padding-top:18px;border-top:1px solid #e6eef1;background:transparent}
.guide-card-date{display:inline-flex;align-items:center;min-height:36px;padding:8px 14px;border-radius:999px;background:#eef5f7;color:var(--navy);font-size:.9rem;font-weight:800}
.guide-card-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 16px;border:2px solid var(--blue);border-radius:999px;background:#fff;color:var(--blue)!important;font-size:.88rem;font-weight:800;text-decoration:none;white-space:nowrap}
.guide-card-link:hover{background:#f4fbfd;text-decoration:none!important}
.travel-guide-section-grid{grid-template-columns:1fr;max-width:1120px;margin:0 auto}
.travel-guide-section-card{grid-template-columns:64px minmax(0,1fr);gap:20px}
.travel-guide-section-copy h2{margin-top:0}
.travel-guide-weather-table-wrap{max-width:760px;margin:0 auto;overflow:hidden}
.travel-guide-weather-table{min-width:0;table-layout:fixed}
.travel-guide-weather-table th,.travel-guide-weather-table td{padding:12px 15px}
.travel-guide-weather-table thead th:not(:first-child),.travel-guide-weather-table tbody td{text-align:center}
@media(max-width:720px){
  .editorial-card-footer{align-items:stretch}
  .guide-card-date,.guide-card-link{width:100%;justify-content:center}
}
@media(max-width:600px){
  .travel-guide-hero{display:block;min-height:0;padding-top:min(62vw,300px);overflow:hidden;background:var(--navy)}
  .travel-guide-hero.without-image{min-height:0;padding-top:0}
  .travel-guide-hero>img{inset:0 0 auto;width:100%;height:min(62vw,300px);object-fit:cover}
  .travel-guide-hero-shade{inset:0 0 auto;height:min(62vw,300px);background:linear-gradient(0deg,rgba(5,34,50,.68),rgba(5,34,50,.08))}
  .travel-guide-hero.without-image .travel-guide-hero-shade{inset:0;height:100%;background:linear-gradient(120deg,#0a789b,#173b53)}
  .travel-guide-hero-content{padding-top:30px;padding-bottom:38px}
  .travel-guide-hero-content h1{max-width:100%;font-size:clamp(1.95rem,10.2vw,3.15rem);line-height:.98;overflow-wrap:anywhere;word-break:break-word;hyphens:auto;text-wrap:pretty}
  .travel-guide-hero-content>span{display:block;max-width:none;max-height:none;margin-top:18px;overflow:visible;color:#edf8fb;font-size:1rem;line-height:1.65;white-space:normal}
  .travel-guide-section-card{grid-template-columns:1fr;gap:14px}
  .travel-guide-weather-table-wrap{border-radius:14px}
  .travel-guide-weather-table th,.travel-guide-weather-table td{padding:10px 8px;font-size:.84rem}
  .travel-guide-weather-table thead th{font-size:.66rem;letter-spacing:.03em}
}

@media(max-width:420px){.travel-guide-hero-content{padding-right:6px}.travel-guide-hero-content h1{font-size:clamp(1.8rem,9.4vw,2.7rem);line-height:.96;letter-spacing:-.01em}.travel-guide-hero-content>p{font-size:.72rem;letter-spacing:.16em}}

/* Patch 0223 - guida collegata e altre informazioni in stile sito */
.trip-guide-facts-block{margin-top:24px;padding:22px 22px 20px;border:1px solid #dce9ef;border-radius:24px;background:linear-gradient(180deg,#f9fcfd 0%,#f3f8fa 100%)}
.trip-guide-facts-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.trip-guide-facts-heading-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.trip-guide-facts-kicker{font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--orange)}
.trip-guide-facts-destination{font-size:1.24rem;line-height:1.2;color:var(--navy);font-weight:800}
.trip-guide-facts-link{flex:0 0 auto;white-space:nowrap}
.trip-guide-facts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.trip-guide-fact-item{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:18px;background:#fff;border:1px solid #e1eaee;box-shadow:0 10px 24px rgba(17,53,77,.05)}
.trip-guide-fact-item span{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#4d7588}
.trip-guide-fact-item strong{font-size:1rem;line-height:1.45;color:var(--navy);font-weight:800}

.trip-linked-guide-section{padding:0 0 86px}
.trip-linked-guide-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;padding:28px 30px;border:1px solid #dce9ef;border-radius:30px;background:linear-gradient(135deg,#ffffff 0%,#f4fafc 55%,#eef6f8 100%);box-shadow:0 18px 44px rgba(17,53,77,.08)}
.trip-linked-guide-icon{display:flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:22px;background:linear-gradient(135deg,var(--blue),#2e8fb7);box-shadow:0 16px 28px rgba(11,120,159,.22)}
.trip-linked-guide-icon svg{width:30px;height:30px;display:block;fill:#fff}
.trip-linked-guide-copy{min-width:0}
.trip-linked-guide-copy .trip-section-kicker{margin-bottom:10px}
.trip-linked-guide-copy h2{margin:0 0 10px;font-family:Georgia,serif;font-size:clamp(1.7rem,2.8vw,2.2rem);line-height:1.08;color:var(--navy)}
.trip-linked-guide-copy>p{margin:0;color:#506771;line-height:1.72}
.trip-linked-guide-button{justify-self:end;white-space:nowrap}
.trip-linked-guide-more{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin-top:14px;color:#577180;font-size:.95rem}
.trip-linked-guide-more span{font-weight:700;color:#456677}
.trip-linked-guide-more a{display:inline-flex;align-items:center;min-height:34px;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid #d8e7ee;color:var(--blue)!important;font-weight:700;text-decoration:none}
.trip-linked-guide-more a:hover{background:#f4fbfd;text-decoration:none}

@media(max-width:900px){
  .trip-linked-guide-card{grid-template-columns:1fr;justify-items:start;padding:24px}
  .trip-linked-guide-button{justify-self:start}
}
@media(max-width:720px){
  .trip-guide-facts-heading{flex-direction:column;align-items:stretch}
  .trip-guide-facts-link{width:100%;justify-content:center}
  .trip-guide-facts-grid{grid-template-columns:1fr}
  .trip-guide-facts-block{padding:20px 18px 18px;border-radius:22px}
  .trip-linked-guide-section{padding:0 0 70px}
  .trip-linked-guide-card{padding:22px 20px;border-radius:26px;gap:18px}
  .trip-linked-guide-icon{width:56px;height:56px;border-radius:18px}
  .trip-linked-guide-icon svg{width:24px;height:24px}
  .trip-linked-guide-copy h2{font-size:1.5rem}
  .trip-linked-guide-button{width:100%;justify-content:center}
}

/* Patch 0225 - guida collegata nella pagina viaggio */
.trip-guide-facts-block{margin-top:26px;padding:24px 24px 22px;border:1px solid #dce9ef;border-radius:26px;background:linear-gradient(180deg,#fbfdfe 0%,#f3f8fa 100%)}
.trip-guide-facts-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.trip-guide-facts-heading-copy{display:flex;flex-direction:column;gap:6px;min-width:0}
.trip-guide-facts-heading-copy .trip-section-kicker{margin:0}
.trip-guide-facts-heading-copy h3{margin:0;font-family:Georgia,serif;font-size:1.55rem;line-height:1.08;color:var(--navy)}
.trip-guide-facts-heading-copy>span{color:#5f7783;font-size:.98rem;line-height:1.55}
.trip-guide-facts-link{flex:0 0 auto;white-space:nowrap}
.trip-guide-facts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.trip-guide-fact-item{display:flex;flex-direction:column;gap:7px;padding:15px 16px;border-radius:18px;background:#fff;border:1px solid #e0eaee;box-shadow:0 10px 22px rgba(17,53,77,.05)}
.trip-guide-fact-label{display:block;font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#4f7486}
.trip-guide-fact-value{display:block;font-size:1rem;line-height:1.52;color:var(--navy);font-weight:800}

.trip-linked-guide-section{padding:0 0 88px}
.trip-linked-guide-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;padding:30px;border:1px solid #dce9ef;border-radius:30px;background:linear-gradient(135deg,#ffffff 0%,#f5fafc 58%,#eef6f8 100%);box-shadow:0 18px 44px rgba(17,53,77,.08)}
.trip-linked-guide-copy{min-width:0}
.trip-linked-guide-badge{display:inline-flex;align-items:center;gap:12px;margin-bottom:14px}
.trip-linked-guide-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,var(--blue),#2f8ab0);color:#fff;box-shadow:0 14px 26px rgba(11,120,159,.22)}
.trip-linked-guide-icon svg{width:24px;height:24px;display:block;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none}
.trip-linked-guide-badge-text{font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--orange)}
.trip-linked-guide-copy h2{margin:0 0 10px;font-family:Georgia,serif;font-size:clamp(1.7rem,2.6vw,2.15rem);line-height:1.08;color:var(--navy)}
.trip-linked-guide-copy>p{margin:0;color:#516972;line-height:1.72}
.trip-linked-guide-actions{display:flex;align-items:center;justify-content:flex-end}
.trip-linked-guide-button{white-space:nowrap}
.trip-linked-guide-more{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin-top:16px;color:#55707b;font-size:.95rem}
.trip-linked-guide-more span{font-weight:800;color:#486876}
.trip-linked-guide-more a{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border-radius:999px;background:#fff;border:1px solid #d8e7ee;color:var(--blue)!important;font-weight:700;text-decoration:none}
.trip-linked-guide-more a:hover{background:#f5fbfd;text-decoration:none}

@media(max-width:900px){
  .trip-linked-guide-card{grid-template-columns:1fr;gap:20px;padding:26px}
  .trip-linked-guide-actions{justify-content:flex-start}
}
@media(max-width:720px){
  .trip-guide-facts-block{padding:20px 18px 18px;border-radius:22px}
  .trip-guide-facts-heading{flex-direction:column;align-items:stretch}
  .trip-guide-facts-heading-copy h3{font-size:1.4rem}
  .trip-guide-facts-link{width:100%;justify-content:center}
  .trip-guide-facts-grid{grid-template-columns:1fr}
  .trip-linked-guide-section{padding:0 0 72px}
  .trip-linked-guide-card{padding:22px 20px;border-radius:26px}
  .trip-linked-guide-badge{margin-bottom:12px}
  .trip-linked-guide-icon{width:42px;height:42px;border-radius:14px}
  .trip-linked-guide-icon svg{width:21px;height:21px}
  .trip-linked-guide-copy h2{font-size:1.55rem}
  .trip-linked-guide-button{width:100%;justify-content:center}
}

/* Patch 0302 - dati delle guide in un riquadro dedicato sotto le quote */
.trip-info-card-guide-facts{grid-column:1/-1;height:auto!important;min-height:0}
.trip-info-card-guide-facts>.trip-guide-facts-intro{margin:-6px 0 20px}
.trip-info-card-guide-facts>.trip-guide-facts-block{margin-top:0}
.trip-info-card-guide-facts>.trip-guide-facts-block+.trip-guide-facts-block{margin-top:20px}

/* Patch 0303 - centra le righe incomplete di guide e album nella scheda viaggio */
@media(min-width:1101px){
  .trip-linked-guides-section .trip-linked-content-count-1{grid-template-columns:minmax(0,calc((100% - 40px)/3));justify-content:center}
  .trip-linked-guides-section .trip-linked-content-count-2{grid-template-columns:repeat(2,minmax(0,calc((100% - 40px)/3)));justify-content:center}
  .trip-linked-albums-section .trip-linked-content-count-1{grid-template-columns:minmax(0,calc((100% - 52px)/3));justify-content:center}
  .trip-linked-albums-section .trip-linked-content-count-2{grid-template-columns:repeat(2,minmax(0,calc((100% - 52px)/3)));justify-content:center}
}
@media(min-width:721px) and (max-width:1100px){
  .trip-linked-guides-section .trip-linked-content-count-1{grid-template-columns:minmax(0,calc((100% - 20px)/2));justify-content:center}
  .trip-linked-albums-section .trip-linked-content-count-1{grid-template-columns:minmax(0,calc((100% - 26px)/2));justify-content:center}
}

/* Patch 0305 - scadenza quota nello stile delle condizioni automatiche */
.trip-summary-row-deadline{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:8px 0 0;padding:15px 17px;border:0;border-left:4px solid var(--orange);border-radius:0 10px 10px 0;background:#fff8ed;box-shadow:none}
.trip-summary-row-deadline span{flex:1 1 auto;min-width:0;color:var(--navy);font-size:1rem;font-weight:800;letter-spacing:0;text-transform:none;white-space:nowrap}
.trip-summary-row-deadline strong{flex:0 0 auto;display:block;width:auto;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--navy);font-size:1rem;line-height:1.5;font-weight:800;box-shadow:none;white-space:nowrap}
@media(max-width:650px){.trip-summary-row-deadline{gap:10px;padding:13px 14px}.trip-summary-row-deadline span,.trip-summary-row-deadline strong{font-size:.9rem}}

/* Patch 0306 - album collegati come gallerie scorrevoli compatte */
.trip-linked-albums-section{overflow:hidden;background:#eef4f6}
.trip-album-carousel-list{display:grid;gap:28px}
.trip-album-carousel{min-width:0;padding:22px 24px 24px;border:1px solid #dce7eb;border-radius:22px;background:#fff;box-shadow:0 14px 34px rgba(17,53,77,.07)}
.trip-album-carousel-heading{position:static;z-index:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:17px;background:transparent;box-shadow:none}
.trip-album-carousel-title{min-width:0}
.trip-album-carousel-title p{margin:0 0 5px;color:var(--orange);font-size:.74rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.trip-album-carousel-title h3{margin:0;color:var(--navy);font-family:Georgia,serif;font-size:clamp(1.45rem,2.2vw,1.9rem);line-height:1.08}
.trip-album-carousel-meta{display:flex;flex:0 0 auto;align-items:center;gap:15px;white-space:nowrap}
.trip-album-carousel-meta>span{color:#66808c;font-size:.84rem;font-weight:800}
.trip-album-carousel-meta>a{display:inline-flex;align-items:center;gap:7px;color:var(--blue);font-size:.88rem;font-weight:900;text-decoration:none}
.trip-album-carousel-meta>a:hover{text-decoration:underline}
.trip-album-slider-shell{position:relative;min-width:0}
.trip-album-slider{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 54px)/4);gap:18px;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;scroll-behavior:smooth;scroll-snap-type:inline mandatory;scrollbar-width:none}
.trip-album-slider::-webkit-scrollbar{display:none}
.trip-album-slide{position:relative;display:block;width:auto;height:184px;padding:0;overflow:hidden;border:0;border-radius:16px;background:#dfe9ed;box-shadow:0 8px 20px rgba(17,53,77,.09);scroll-snap-align:start;text-decoration:none;cursor:zoom-in}
.trip-album-slide img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease,filter .25s ease}
.trip-album-slide:hover img{transform:scale(1.035);filter:saturate(1.05)}
.trip-album-slide:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.trip-album-slider-arrow{position:absolute;z-index:2;top:50%;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:#fff;color:var(--navy);box-shadow:0 8px 24px rgba(17,53,77,.22);font:700 2rem/1 Georgia,serif;cursor:pointer;transform:translateY(-50%);transition:opacity .18s ease,transform .18s ease,background .18s ease}
.trip-album-slider-arrow span{display:block;margin-top:-3px}
.trip-album-slider-arrow:hover:not(:disabled){background:var(--navy);color:#fff;transform:translateY(-50%) scale(1.05)}
.trip-album-slider-arrow:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.trip-album-slider-arrow:disabled{opacity:0;pointer-events:none}
.trip-album-slider-prev{left:-15px}
.trip-album-slider-next{right:-15px}
@media(max-width:1050px){.trip-album-slider{grid-auto-columns:calc((100% - 32px)/3);gap:16px}.trip-album-slide{height:170px}}
@media(max-width:720px){.trip-linked-albums-section{padding-top:58px}.trip-album-carousel{padding:19px 18px 20px;border-radius:20px}.trip-album-carousel-heading{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:15px}.trip-album-carousel-meta{width:100%;justify-content:space-between;gap:12px}.trip-album-slider{grid-auto-columns:82%;gap:12px}.trip-album-slide{height:150px;border-radius:14px}.trip-album-slider-prev{left:-10px}.trip-album-slider-next{right:-10px}.trip-album-slider-arrow{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){.trip-album-slider{scroll-behavior:auto}.trip-album-slide img,.trip-album-slider-arrow{transition:none}}

/* Patch 0308 - album subito dopo le quote, guide a seguire */
.trip-guide-facts-public-section{padding-top:0;background:#eef4f6}
.trip-guide-facts-public-section .trip-info-card-guide-facts{height:auto!important;min-height:0}
@media(max-width:720px){.trip-guide-facts-public-section{padding-bottom:58px}}

/* Patch 0309 - Sold Out standard anche nelle card Consigliati per te */
.trip-recommended-link .trip-recommended-media>.sold-out-badge-mini{
  position:absolute;
  top:8px;
  left:8px;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  width:auto;
  height:auto!important;
  min-height:32px!important;
  max-height:none!important;
  margin:0!important;
  padding:7px 13px!important;
  border-radius:999px;
  font-size:.7rem!important;
  line-height:1!important;
  letter-spacing:.08em;
  white-space:nowrap;
  flex:0 0 auto;
}
@media(max-width:650px){
  .trip-recommended-mobile-list .trip-recommended-link .trip-recommended-media>.sold-out-badge-mini{
    min-height:29px!important;
    padding:5px 10px!important;
    font-size:.64rem!important;
  }
}

/* Patch 0230 - pagina guide completamente ricostruita */
.guide-hub-hero{position:relative;overflow:hidden;background:linear-gradient(118deg,#087fa7 0%,#11536f 48%,#12384f 100%);color:#fff}
.guide-hub-hero:before,.guide-hub-hero:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.guide-hub-hero:before{width:420px;height:420px;right:-140px;top:-180px;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 58px rgba(255,255,255,.035),0 0 0 116px rgba(255,255,255,.025)}
.guide-hub-hero:after{width:260px;height:260px;left:-130px;bottom:-150px;background:rgba(255,255,255,.035)}
.guide-hub-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:center;gap:54px;min-height:520px;padding-top:72px;padding-bottom:72px}
.guide-hub-hero-copy{min-width:0}
.guide-hub-hero-copy>p{margin:0 0 12px;color:#ffd18f;font-size:.78rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase}
.guide-hub-hero-copy h1{margin:0;font-family:Georgia,serif;font-size:clamp(3.6rem,7vw,6.6rem);line-height:.92;letter-spacing:-.03em}
.guide-hub-hero-copy>span{display:block;max-width:760px;margin-top:24px;color:rgba(255,255,255,.88);font-size:1.14rem;line-height:1.72}
.guide-hub-hero-stats{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.guide-hub-hero-stats>div{display:flex;align-items:baseline;gap:8px;min-width:132px;padding:12px 16px;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(6,45,63,.24);backdrop-filter:blur(5px)}
.guide-hub-hero-stats strong{font-family:Georgia,serif;font-size:1.7rem;line-height:1;color:#fff}
.guide-hub-hero-stats span{font-size:.84rem;font-weight:800;color:#dceff5}
.guide-hub-hero-art{display:flex;align-items:center;justify-content:center;min-width:0}
.guide-hub-hero-art svg{display:block;width:min(100%,430px);height:auto;stroke:#c9edf7;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;fill:none;opacity:.9}

.guide-hub-main{padding:64px 0 110px;background:linear-gradient(180deg,#f3f7f8 0%,#eef4f6 100%)}
.guide-hub-search{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:24px;align-items:center;margin:0 0 54px;padding:26px 28px;border:1px solid #d8e6ec;border-radius:26px;background:#fff;box-shadow:0 18px 42px rgba(17,53,77,.08)}
.guide-hub-search label{display:flex;flex-direction:column;gap:4px;margin:0;min-width:0}
.guide-hub-search label>span{color:var(--navy);font-family:Georgia,serif;font-size:1.5rem;line-height:1.1}
.guide-hub-search label>small{color:#657b85;font-size:.9rem;font-weight:400}
.guide-hub-search-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;min-width:0}
.guide-hub-search input{width:100%;height:52px;margin:0;padding:12px 16px;border:1px solid #bfd0d8;border-radius:14px;background:#f9fbfc;color:var(--text);font:inherit;box-shadow:none}
.guide-hub-search input:focus{outline:3px solid rgba(8,127,167,.13);border-color:#6ea9bd}
.guide-hub-search .btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding-inline:26px;white-space:nowrap}
.guide-hub-search-reset{grid-column:2;justify-self:start;color:var(--blue);font-weight:800;text-decoration:none}
.guide-hub-search-reset:hover{text-decoration:underline}

.guide-hub-directory-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 20px}
.guide-hub-directory-head>div{min-width:0}
.guide-hub-directory-head p{margin:0 0 7px;color:var(--orange);font-size:.75rem;font-weight:900;letter-spacing:.18em}
.guide-hub-directory-head h2{margin:0;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.1rem);line-height:1;color:var(--navy)}
.guide-hub-directory-head>span{flex:0 0 auto;padding:9px 14px;border-radius:999px;background:#fff;border:1px solid #dbe8ed;color:#52717f;font-size:.84rem;font-weight:900}

.guide-hub-continent-grid{display:grid;grid-template-columns:1fr;gap:18px;margin:0 0 68px}
.guide-hub-continent-card{--hub-accent:#0b789f;--hub-soft:#e1f2f7;display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr) 56px;align-items:center;gap:26px;min-width:0;padding:22px;border:1px solid #d9e7ec;border-radius:28px;background:#fff;color:var(--navy);text-decoration:none;box-shadow:0 12px 30px rgba(17,53,77,.06);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.guide-hub-continent-card:hover{transform:translateY(-3px);border-color:#b9d4de;box-shadow:0 20px 38px rgba(17,53,77,.1);text-decoration:none}
.guide-hub-continent-art{display:flex;align-items:center;justify-content:center;width:100%;min-height:156px;height:156px;border-radius:24px;background:var(--hub-soft);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.guide-hub-continent-art svg{display:block;width:132px;height:96px;stroke:var(--hub-accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;fill:none}.guide-hub-continent-art img{display:block;width:100%;height:100%;object-fit:cover}
.guide-hub-continent-card-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.guide-hub-continent-card-copy>small{color:var(--orange);font-size:.8rem;font-weight:900;letter-spacing:.18em}
.guide-hub-continent-card-copy>strong{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.1rem);line-height:.98;color:var(--navy);overflow-wrap:break-word}
.guide-hub-continent-card-copy>em{font-style:normal;color:#507080;font-size:1.1rem;font-weight:800}
.guide-hub-continent-card-copy>span{display:block;margin-top:6px;color:#6a7e87;font-size:.95rem;line-height:1.5;overflow-wrap:break-word}
.guide-hub-continent-card>b{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--hub-soft);color:var(--hub-accent);font-size:1.7rem;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}

.guide-hub-continent-europa{--hub-accent:#176d90;--hub-soft:#e2f2f8}
.guide-hub-continent-asia{--hub-accent:#3b7b72;--hub-soft:#e4f3f0}
.guide-hub-continent-africa{--hub-accent:#9a682e;--hub-soft:#f8edda}
.guide-hub-continent-america_nord{--hub-accent:#2d7358;--hub-soft:#e5f1eb}
.guide-hub-continent-america_sud{--hub-accent:#a65c3f;--hub-soft:#f8e8e1}
.guide-hub-continent-americhe{--hub-accent:#39715d;--hub-soft:#e8f1ec}
.guide-hub-continent-oceania{--hub-accent:#287589;--hub-soft:#e1f2f7}
.guide-hub-continent-altre{--hub-accent:#5d7480;--hub-soft:#eaf0f2}

.guide-hub-sections{display:grid;gap:78px}
.guide-hub-continent-section{--hub-accent:#0b789f;--hub-soft:#e1f2f7;min-width:0;scroll-margin-top:150px}
.guide-hub-continent-header{display:grid;grid-template-columns:minmax(300px,430px) minmax(0,1fr) auto;align-items:center;gap:28px;padding:30px;border-radius:30px;background:linear-gradient(135deg,#fff 0%,#f9fcfd 56%,var(--hub-soft) 160%);border:1px solid #d7e6ec;box-shadow:0 18px 40px rgba(17,53,77,.07)}
.guide-hub-continent-header-art{display:flex;align-items:center;justify-content:center;min-height:220px;height:220px;border-radius:26px;background:var(--hub-soft);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.guide-hub-continent-header-art svg{display:block;width:180px;height:132px;stroke:var(--hub-accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;fill:none}.guide-hub-continent-header-art img{display:block;width:100%;height:100%;object-fit:cover}
.guide-hub-continent-header-copy{min-width:0}
.guide-hub-continent-header-copy p{margin:0 0 7px;color:var(--orange);font-size:.72rem;font-weight:900;letter-spacing:.17em;text-transform:uppercase}
.guide-hub-continent-header-copy h2{margin:0;font-family:Georgia,serif;font-size:clamp(2.2rem,4vw,3.4rem);line-height:.98;color:var(--navy);overflow-wrap:break-word}
.guide-hub-continent-header-copy>span{display:block;max-width:760px;margin-top:12px;color:#58717d;font-size:1.05rem;line-height:1.7}
.guide-hub-continent-header-stats{display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:12px}
.guide-hub-continent-header-stats>div{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:92px;padding:14px;border-radius:20px;background:#fff;border:1px solid #dce8ed}
.guide-hub-continent-header-stats strong{font-family:Georgia,serif;font-size:1.8rem;line-height:1;color:var(--hub-accent)}
.guide-hub-continent-header-stats span{margin-top:5px;color:#667d87;font-size:.78rem;font-weight:900}

.guide-hub-country-nav{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0 28px;padding:0}
.guide-hub-country-nav a{display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:8px 12px;border:1px solid #d5e4ea;border-radius:999px;background:#fff;color:var(--navy);font-size:.88rem;font-weight:800;text-decoration:none;box-shadow:0 5px 14px rgba(17,53,77,.04)}
.guide-hub-country-nav a:hover{background:var(--hub-soft);border-color:#c4dce5;text-decoration:none}
.guide-hub-country-nav small{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--hub-soft);color:var(--hub-accent);font-size:.72rem;font-weight:900}

.guide-hub-countries{display:grid;gap:42px}
.guide-hub-country{min-width:0;scroll-margin-top:150px}
.guide-hub-country-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 16px;padding:0 2px 12px;border-bottom:1px solid #d6e4ea}
.guide-hub-country-header>div{min-width:0}
.guide-hub-country-header p{margin:0 0 3px;color:var(--orange);font-size:.7rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.guide-hub-country-header h3{margin:0;font-family:Georgia,serif;font-size:clamp(1.75rem,3vw,2.35rem);line-height:1;color:var(--navy);overflow-wrap:break-word}
.guide-hub-country-header>span{flex:0 0 auto;padding:7px 11px;border-radius:999px;background:#fff;border:1px solid #d8e6eb;color:#537481;font-size:.78rem;font-weight:900}

.guide-hub-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.guide-hub-guide-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #d8e6ec;border-radius:24px;background:#fff;box-shadow:0 14px 34px rgba(17,53,77,.07)}
.guide-hub-guide-media{position:relative;display:block;overflow:hidden;background:#dbe9ee}
.guide-hub-guide-media img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .35s ease}
.guide-hub-guide-media:hover img{transform:scale(1.035)}
.guide-hub-guide-media>span{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border-radius:999px;background:var(--orange);color:#18313e;font-size:.7rem;font-weight:900;box-shadow:0 8px 18px rgba(17,53,77,.16)}
.guide-hub-guide-body{display:flex;flex-direction:column;flex:1;min-width:0;padding:20px}
.guide-hub-guide-body>p{margin:0 0 7px;color:var(--orange);font-size:.7rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.guide-hub-guide-body h4{margin:0;font-family:Georgia,serif;font-size:1.48rem;line-height:1.08;color:var(--navy)}
.guide-hub-guide-body h4 a{color:inherit;text-decoration:none}
.guide-hub-guide-body h4 a:hover{color:var(--blue)}
.guide-hub-guide-summary{display:-webkit-box;margin-top:12px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4;color:#617681;font-size:.92rem;line-height:1.58}
.guide-hub-guide-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}
.guide-hub-guide-tags span{padding:5px 9px;border-radius:999px;background:#eef5f7;color:#57717c;font-size:.72rem;font-weight:800}
.guide-hub-guide-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;padding-top:20px}
.guide-hub-guide-footer small{color:#71848c;font-size:.74rem}
.guide-hub-guide-footer a{display:inline-flex;align-items:center;gap:7px;color:var(--blue);font-size:.84rem;font-weight:900;text-decoration:none;white-space:nowrap}
.guide-hub-guide-footer a:hover{text-decoration:underline}
.guide-hub-guide-footer a span{font-size:1.05rem}
.guide-hub-empty{padding:54px 24px}

@media(max-width:1180px){
  .guide-hub-continent-card{grid-template-columns:minmax(220px,280px) minmax(0,1fr) 52px;gap:20px}
  .guide-hub-continent-art{min-height:146px;height:146px}
  .guide-hub-continent-header{grid-template-columns:minmax(260px,340px) minmax(0,1fr)}
  .guide-hub-continent-header-art{min-height:190px;height:190px}
  .guide-hub-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .guide-hub-hero-inner{grid-template-columns:1fr;gap:28px;min-height:0;padding-top:60px;padding-bottom:58px}
  .guide-hub-hero-art{max-width:380px;justify-self:center}
  .guide-hub-search{grid-template-columns:1fr;gap:18px;margin-bottom:44px}
  .guide-hub-search-reset{grid-column:1}
  .guide-hub-continent-card{grid-template-columns:1fr;gap:18px;padding:18px}
  .guide-hub-continent-art{min-height:180px;height:180px}
  .guide-hub-continent-card>b{justify-self:end}
  .guide-hub-continent-header{grid-template-columns:1fr}
  .guide-hub-continent-header-art{min-height:210px;height:210px}
  .guide-hub-continent-header-stats{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,150px));justify-content:start}
}
@media(max-width:720px){
  .guide-hub-hero-inner{gap:22px;padding-top:44px;padding-bottom:46px}
  .guide-hub-hero-copy>p{font-size:.7rem;letter-spacing:.15em}
  .guide-hub-hero-copy h1{font-size:clamp(2.8rem,14vw,4.2rem);line-height:.96}
  .guide-hub-hero-copy>span{margin-top:18px;font-size:1rem;line-height:1.62}
  .guide-hub-hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:24px}
  .guide-hub-hero-stats>div{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;padding:11px 7px;text-align:center}
  .guide-hub-hero-stats strong{font-size:1.45rem}
  .guide-hub-hero-stats span{font-size:.7rem}
  .guide-hub-hero-art{max-width:250px}
  .guide-hub-main{padding:38px 0 130px}
  .guide-hub-search{margin-bottom:38px;padding:20px 18px;border-radius:22px}
  .guide-hub-search label>span{font-size:1.35rem}
  .guide-hub-search-control{grid-template-columns:1fr}
  .guide-hub-search .btn{width:100%}
  .guide-hub-directory-head{display:block;margin-bottom:16px}
  .guide-hub-directory-head>span{display:inline-flex;margin-top:12px}
  .guide-hub-continent-grid{grid-template-columns:1fr;gap:12px;margin-bottom:54px}
  .guide-hub-continent-card{grid-template-columns:1fr;gap:14px;padding:14px 14px 16px;border-radius:22px}
  .guide-hub-continent-art{min-height:168px;height:168px;border-radius:18px}
  .guide-hub-continent-art svg{width:110px;height:82px}
  .guide-hub-continent-card-copy>small{font-size:.72rem}
  .guide-hub-continent-card-copy>strong{font-size:1.9rem}
  .guide-hub-continent-card-copy>em{font-size:.98rem}
  .guide-hub-continent-card-copy>span{display:block;font-size:.86rem}
  .guide-hub-continent-card>b{width:42px;height:42px;font-size:1.25rem;justify-self:end}
  .guide-hub-sections{gap:58px}
  .guide-hub-continent-section,.guide-hub-country{scroll-margin-top:125px}
  .guide-hub-continent-header{grid-template-columns:1fr;gap:18px;padding:20px 18px;border-radius:24px}
  .guide-hub-continent-header-art{min-height:176px;height:176px;border-radius:20px}
  .guide-hub-continent-header-art svg{width:130px;height:96px}
  .guide-hub-continent-header-copy h2{font-size:2rem}
  .guide-hub-continent-header-copy>span{font-size:.95rem;line-height:1.58}
  .guide-hub-continent-header-stats{grid-column:auto;grid-template-columns:repeat(2,minmax(0,1fr))}
  .guide-hub-continent-header-stats>div{min-height:72px}
  .guide-hub-country-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 24px}
  .guide-hub-country-nav a{justify-content:space-between;width:100%;min-width:0;border-radius:14px}
  .guide-hub-countries{gap:34px}
  .guide-hub-country-header{align-items:flex-start}
  .guide-hub-country-header h3{font-size:1.75rem}
  .guide-hub-guide-grid{grid-template-columns:1fr;gap:16px}
  .guide-hub-guide-body{padding:18px}
}
@media(max-width:460px){
  .guide-hub-hero-inner,.guide-hub-main>.wrap{width:min(100%,calc(100% - 28px))}
  .guide-hub-hero-copy h1{font-size:clamp(2.55rem,13vw,3.5rem)}
  .guide-hub-hero-art{max-width:210px}
  .guide-hub-search{padding:18px 14px}
  .guide-hub-country-nav{grid-template-columns:1fr}
  .guide-hub-country-header{display:grid;grid-template-columns:1fr;gap:9px}
  .guide-hub-country-header>span{justify-self:start}
  .guide-hub-guide-footer{align-items:flex-start;flex-direction:column}
}


/* Patch 0231 - intestazioni editoriali guide senza stile header globale */
.guide-hub-directory-head,.guide-hub-continent-header,.guide-hub-country-header{position:relative;top:auto;left:auto;right:auto;z-index:auto;width:auto;max-width:none;min-height:0;box-shadow:none}
.guide-hub-directory-head,.guide-hub-country-header{background:transparent}
.guide-hub-directory-head{padding:0}
.guide-hub-country-header{border-radius:0}

/* Patch 0232 - memoria delle partenze archiviate */
.travel-history-section{padding-top:18px;padding-bottom:72px}
.travel-history-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:20px;align-items:center;padding:26px 28px;border:1px solid #dce9ef;border-radius:26px;background:linear-gradient(135deg,#fff 0%,#f3f9fb 100%);box-shadow:0 16px 38px rgba(17,53,77,.07)}
.travel-history-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:20px;background:#e7f4f7;color:var(--blue)}
.travel-history-icon svg,.editorial-last-departure svg{display:block;width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.travel-history-card p{margin:0 0 6px;color:var(--orange);font-size:.76rem;font-weight:900;letter-spacing:.15em}
.travel-history-card h2{margin:0 0 8px;font-family:Georgia,serif;font-size:clamp(1.55rem,3vw,2.15rem);line-height:1.08;color:var(--navy)}
.travel-history-card div>span{display:block;color:#58717d;line-height:1.65}
.editorial-last-departure{display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;align-items:center;max-width:760px;margin-top:20px;padding:15px 17px;border:1px solid #dce9ef;border-radius:18px;background:#f5fafc;color:#56717e}
.editorial-last-departure>span{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:#e5f2f6;color:var(--blue)}
.editorial-last-departure p{display:flex;flex-direction:column;gap:3px;margin:0;line-height:1.5}
.editorial-last-departure strong{color:var(--navy);font-size:.9rem}
@media(max-width:650px){.travel-history-section{padding-bottom:58px}.travel-history-card{grid-template-columns:1fr;padding:22px 19px}.travel-history-icon{width:54px;height:54px}.editorial-last-departure{grid-template-columns:1fr;align-items:start}.editorial-last-departure>span{width:38px;height:38px}}

/* Patch 0233 - collegamenti Guide e Album in fondo alla home */
.home-discover-section{position:relative;overflow:hidden;border-top:1px solid #d8e5ea;background:linear-gradient(180deg,#f8fbfc 0%,#edf4f6 100%)}
.home-discover-section:before{content:"";position:absolute;top:-150px;right:-110px;width:360px;height:360px;border:1px solid rgba(8,127,167,.10);border-radius:50%;box-shadow:0 0 0 55px rgba(8,127,167,.035),0 0 0 110px rgba(8,127,167,.022)}
.home-discover-section>.wrap{position:relative;z-index:1}
.home-discover-heading{margin-bottom:34px}
.home-discover-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.home-discover-card{position:relative;display:grid;grid-template-columns:160px minmax(0,1fr);align-items:center;gap:26px;min-height:250px;padding:30px;border:1px solid #d5e4ea;border-radius:26px;background:#fff;color:var(--text);text-decoration:none;box-shadow:0 16px 38px rgba(17,53,77,.075);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.home-discover-card:after{content:"";position:absolute;right:-56px;bottom:-70px;width:190px;height:190px;border-radius:50%;background:rgba(8,127,167,.045)}
.home-discover-card:hover{transform:translateY(-4px);border-color:#bdd7e1;box-shadow:0 22px 48px rgba(17,53,77,.12);text-decoration:none}
.home-discover-graphic{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:160px;height:160px;border-radius:50%;background:linear-gradient(145deg,#e5f4f8,#f6fbfc)}
.home-discover-graphic svg{width:102px;height:102px;fill:none;stroke:var(--blue);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.home-discover-card-albums .home-discover-graphic{background:linear-gradient(145deg,#fff0db,#fff9ef)}
.home-discover-card-albums .home-discover-graphic svg{stroke:#c47b22}
.home-discover-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.home-discover-copy>small{margin-bottom:8px;color:var(--orange);font-size:.73rem;font-weight:900;letter-spacing:.16em}
.home-discover-copy>strong{font-family:Georgia,serif;font-size:clamp(1.9rem,3vw,2.65rem);line-height:1.02;color:var(--navy)}
.home-discover-copy>span{display:block;margin-top:14px;color:#5c737e;font-size:1rem;line-height:1.65}
.home-discover-copy>b{display:inline-flex;align-items:center;gap:10px;margin-top:22px;color:var(--blue);font-size:.93rem;font-weight:900}
.home-discover-card-albums .home-discover-copy>b{color:#a96718}
.home-discover-copy>b i{font-style:normal;font-size:1.25rem;line-height:1;transition:transform .22s ease}
.home-discover-card:hover .home-discover-copy>b i{transform:translateX(4px)}

@media(max-width:900px){
  .home-discover-grid{grid-template-columns:1fr}
  .home-discover-card{min-height:0}
}
@media(max-width:650px){
  .home-discover-section{padding-top:56px;padding-bottom:66px}
  .home-discover-heading{margin-bottom:26px}
  .home-discover-card{grid-template-columns:1fr;gap:18px;padding:24px 20px;border-radius:22px;text-align:center}
  .home-discover-graphic{width:118px;height:118px;margin:0 auto}
  .home-discover-graphic svg{width:76px;height:76px}
  .home-discover-copy{align-items:center}
  .home-discover-copy>strong{font-size:2rem}
  .home-discover-copy>span{font-size:.96rem}
  .home-discover-copy>b{margin-top:18px}
}
.home-discover-card:only-child{grid-column:1/-1;width:100%;max-width:850px;justify-self:center}

/* Patch 0246 - dettaglio guida: immagine libera, introduzione leggibile e indice senza scrollbar */
body[data-public-page="guida-dettaglio"] .travel-guide-hero{
  display:block;
  min-height:0;
  aspect-ratio:16/5;
  overflow:hidden;
  background:linear-gradient(135deg,#dceef4,#f7fbfc);
  color:inherit;
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero>img{
  position:static;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero.without-image{aspect-ratio:16/5}
body[data-public-page="guida-dettaglio"] .travel-guide-hero-placeholder{
  width:100%;height:100%;
  background:radial-gradient(circle at 25% 30%,rgba(255,255,255,.7),transparent 28%),linear-gradient(135deg,#0a789b,#173b53);
}
body[data-public-page="guida-dettaglio"] .travel-guide-intro-section{
  position:relative;
  z-index:2;
  padding:0 0 30px;
  background:#f7fafb;
}
body[data-public-page="guida-dettaglio"] .travel-guide-intro-card{
  margin-top:-1px;
  padding:44px 48px 38px;
  border:1px solid #dce8ed;
  border-top:0;
  border-radius:0 0 28px 28px;
  background:#fff;
  box-shadow:0 18px 45px rgba(17,53,77,.08);
}
body[data-public-page="guida-dettaglio"] .travel-guide-kicker{
  margin:0 0 12px;
  color:var(--orange);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
body[data-public-page="guida-dettaglio"] .travel-guide-intro-card h1{
  max-width:1040px;
  margin:0;
  color:var(--navy);
  font-family:Georgia,serif;
  font-size:clamp(2.25rem,4.7vw,4.8rem);
  line-height:1.02;
  letter-spacing:-.025em;
  text-wrap:balance;
}
body[data-public-page="guida-dettaglio"] .travel-guide-summary{
  max-width:900px;
  margin-top:20px;
  color:#496571;
  font-size:1.02rem;
  line-height:1.75;
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero-meta{margin-top:24px}
body[data-public-page="guida-dettaglio"] .travel-guide-hero-meta>*{
  min-height:36px;
  padding:7px 13px;
  border:1px solid #d9e6eb;
  background:#f7fafb;
  color:var(--navy);
  backdrop-filter:none;
}
body[data-public-page="guida-dettaglio"] .travel-guide-facts-section{margin-top:0;padding-top:4px;background:#f7fafb}
body[data-public-page="guida-dettaglio"] .travel-guide-index{
  position:relative;
  top:auto;
  z-index:1;
  margin:0;
  padding:26px 0 8px;
  border:0;
  background:#f7fafb;
  box-shadow:none;
  backdrop-filter:none;
}
body[data-public-page="guida-dettaglio"] .travel-guide-index .wrap{display:block;min-height:0}
body[data-public-page="guida-dettaglio"] .travel-guide-index-card{
  display:grid;
  grid-template-columns:minmax(180px,240px) minmax(0,1fr);
  gap:24px;
  padding:24px;
  border:1px solid #dce8ed;
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 32px rgba(17,53,77,.065);
}
body[data-public-page="guida-dettaglio"] .travel-guide-index-heading{display:flex;flex-direction:column;justify-content:center;gap:5px}
body[data-public-page="guida-dettaglio"] .travel-guide-index-heading>span{
  color:var(--navy);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body[data-public-page="guida-dettaglio"] .travel-guide-index-heading>small{color:#6a818b;font-size:.84rem;line-height:1.45}
body[data-public-page="guida-dettaglio"] .travel-guide-index-links{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  overflow:visible;
  padding:0;
}
body[data-public-page="guida-dettaglio"] .travel-guide-index-links a{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  min-height:48px;
  padding:9px 11px;
  border:1px solid #e0eaee;
  border-radius:14px;
  background:#f7fafb;
  color:#315363;
  font-size:.78rem;
  font-weight:800;
  line-height:1.25;
  white-space:normal;
}
body[data-public-page="guida-dettaglio"] .travel-guide-index-links a b{
  display:grid;
  place-items:center;
  flex:0 0 26px;
  width:26px;
  height:26px;
  border-radius:9px;
  background:#e5f2f6;
  color:var(--blue);
  font-size:.68rem;
}
body[data-public-page="guida-dettaglio"] .travel-guide-index-links a span{min-width:0}
body[data-public-page="guida-dettaglio"] .travel-guide-index-links a:hover,
body[data-public-page="guida-dettaglio"] .travel-guide-index-links a:focus-visible{
  border-color:#9dcfdf;
  background:#edf8fb;
  color:var(--navy);
  transform:translateY(-1px);
}
body[data-public-page="guida-dettaglio"] .travel-guide-content-section{padding-top:38px}
@media(max-width:1100px){
  body[data-public-page="guida-dettaglio"] .travel-guide-index-links{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:850px){
  body[data-public-page="guida-dettaglio"] .travel-guide-hero{aspect-ratio:16/6}
  body[data-public-page="guida-dettaglio"] .travel-guide-intro-card{padding:32px 30px 30px;border-radius:0 0 22px 22px}
  body[data-public-page="guida-dettaglio"] .travel-guide-index-card{grid-template-columns:1fr;gap:16px;padding:20px}
  body[data-public-page="guida-dettaglio"] .travel-guide-index-links{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  body[data-public-page="guida-dettaglio"] .travel-guide-hero,
  body[data-public-page="guida-dettaglio"] .travel-guide-hero.without-image{padding-top:0;aspect-ratio:16/9}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero>img{position:static;height:100%}
  body[data-public-page="guida-dettaglio"] .travel-guide-intro-section{padding-bottom:20px}
  body[data-public-page="guida-dettaglio"] .travel-guide-intro-card{padding:26px 20px 24px}
  body[data-public-page="guida-dettaglio"] .travel-guide-intro-card h1{font-size:clamp(2rem,10.5vw,3rem);line-height:1.02;overflow-wrap:normal;word-break:normal;hyphens:none}
  body[data-public-page="guida-dettaglio"] .travel-guide-summary{font-size:.96rem;line-height:1.65}
  body[data-public-page="guida-dettaglio"] .travel-guide-index{padding-top:18px}
  body[data-public-page="guida-dettaglio"] .travel-guide-index-card{padding:16px;border-radius:18px}
  body[data-public-page="guida-dettaglio"] .travel-guide-index-links{grid-template-columns:1fr}
  body[data-public-page="guida-dettaglio"] .travel-guide-index-links a{min-height:46px}
}

/* Patch 0248 - indice guida armonioso, leggibile e senza composizioni compresse */
body[data-public-page="guida-dettaglio"] .travel-guide-index{
  padding:30px 0 12px;
}
body[data-public-page="guida-dettaglio"] .travel-guide-index-card{
  display:block;
  padding:30px;
  border:1px solid #d8e6eb;
  border-radius:26px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdfe 100%);
  box-shadow:0 16px 42px rgba(17,53,77,.075);
}
body[data-public-page="guida-dettaglio"] .travel-guide-index-heading{
  position:relative;
  display:block;
  margin:0 0 22px;
  padding:0 0 18px 18px;
  border-bottom:1px solid #e1ebef;
}
body[data-public-page="guida-dettaglio"] .travel-guide-index-heading:before{
  content:"";
  position:absolute;
  left:0;
  top:2px;
  width:5px;
  height:38px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--blue),#56b8cf);
}
body[data-public-page="guida-dettaglio"] .travel-guide-index-heading>span{
  display:block;
  color:var(--navy);
  font-size:1rem;
  font-weight:900;
  letter-spacing:.08em;
}
body[data-public-page="guida-dettaglio"] .travel-guide-index-heading>small{
  display:block;
  margin-top:5px;
  color:#657d88;
  font-size:.91rem;
  line-height:1.45;
}
body[data-public-page="guida-dettaglio"] .travel-guide-index-links{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
}
body[data-public-page="guida-dettaglio"] .travel-guide-index-links a{
  position:relative;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 20px;
  align-items:center;
  gap:12px;
  min-height:66px;
  padding:12px 14px;
  border:1px solid #dce8ed;
  border-radius:17px;
  background:#fff;
  color:#24495b;
  font-size:.87rem;
  font-weight:800;
  line-height:1.35;
  letter-spacing:0;
  text-transform:none;
  box-shadow:0 5px 16px rgba(17,53,77,.045);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background .2s ease;
}
body[data-public-page="guida-dettaglio"] .travel-guide-index-links a:after{
  content:"›";
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  color:#75909d;
  font-size:1.4rem;
  font-weight:500;
  line-height:1;
}
body[data-public-page="guida-dettaglio"] .travel-guide-index-links a b{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:12px;
  background:linear-gradient(145deg,#e6f5f9,#f2fafc);
  color:var(--blue);
  font-size:.74rem;
  font-weight:900;
  box-shadow:inset 0 0 0 1px rgba(8,127,167,.06);
}
body[data-public-page="guida-dettaglio"] .travel-guide-index-links a span{
  min-width:0;
  overflow-wrap:anywhere;
}
body[data-public-page="guida-dettaglio"] .travel-guide-index-links a:hover,
body[data-public-page="guida-dettaglio"] .travel-guide-index-links a:focus-visible{
  border-color:#9fcfdd;
  background:#f6fbfd;
  color:var(--navy);
  box-shadow:0 10px 24px rgba(17,53,77,.09);
  transform:translateY(-2px);
}
body[data-public-page="guida-dettaglio"] .travel-guide-index-links a:hover:after,
body[data-public-page="guida-dettaglio"] .travel-guide-index-links a:focus-visible:after{color:var(--blue)}
@media(max-width:980px){
  body[data-public-page="guida-dettaglio"] .travel-guide-index-links{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  body[data-public-page="guida-dettaglio"] .travel-guide-index{padding-top:20px}
  body[data-public-page="guida-dettaglio"] .travel-guide-index-card{padding:20px 16px;border-radius:20px}
  body[data-public-page="guida-dettaglio"] .travel-guide-index-heading{margin-bottom:16px;padding:0 0 15px 15px}
  body[data-public-page="guida-dettaglio"] .travel-guide-index-heading:before{height:34px}
  body[data-public-page="guida-dettaglio"] .travel-guide-index-heading>span{font-size:.9rem}
  body[data-public-page="guida-dettaglio"] .travel-guide-index-heading>small{font-size:.84rem}
  body[data-public-page="guida-dettaglio"] .travel-guide-index-links{grid-template-columns:1fr;gap:9px}
  body[data-public-page="guida-dettaglio"] .travel-guide-index-links a{min-height:60px;padding:10px 12px;grid-template-columns:34px minmax(0,1fr) 18px;font-size:.84rem}
  body[data-public-page="guida-dettaglio"] .travel-guide-index-links a b{width:34px;height:34px;border-radius:11px}
}

/* Patch 0249 - riprogettazione completa e coerente del dettaglio Guida */
body[data-public-page="guida-dettaglio"] .travel-guide-detail{
  --guide-page-width:1180px;
  background:#f4f8fa;
}
body[data-public-page="guida-dettaglio"] .travel-guide-detail .wrap.wide{
  width:min(var(--guide-page-width),calc(100% - 48px));
  padding-left:0;
  padding-right:0;
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero{
  width:100%;
  height:clamp(230px,21vw,330px);
  aspect-ratio:auto;
  border:0;
  border-radius:0;
  background:#dceef4;
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero.without-image{
  height:clamp(230px,21vw,330px);
  aspect-ratio:auto;
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero>img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}
body[data-public-page="guida-dettaglio"] .travel-guide-intro-section{
  padding:28px 0 18px;
  background:#f4f8fa;
}
body[data-public-page="guida-dettaglio"] .travel-guide-intro-card{
  margin:0;
  padding:30px 34px 28px;
  border:1px solid #d9e6eb;
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 30px rgba(17,53,77,.06);
}
body[data-public-page="guida-dettaglio"] .travel-guide-kicker{
  margin-bottom:8px;
  font-size:.72rem;
  letter-spacing:.14em;
}
body[data-public-page="guida-dettaglio"] .travel-guide-intro-card h1{
  max-width:980px;
  font-size:clamp(2rem,3.4vw,3.55rem);
  line-height:1.04;
}
body[data-public-page="guida-dettaglio"] .travel-guide-summary{
  max-width:920px;
  margin-top:14px;
  font-size:.98rem;
  line-height:1.68;
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero-meta{
  gap:8px;
  margin-top:18px;
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero-meta>*{
  min-height:32px;
  padding:5px 11px;
  font-size:.8rem;
}
body[data-public-page="guida-dettaglio"] .travel-guide-facts-section{
  padding:0 0 18px;
  background:#f4f8fa;
}
body[data-public-page="guida-dettaglio"] .travel-guide-facts{
  border:1px solid #d9e6eb;
  border-radius:18px;
  box-shadow:0 10px 26px rgba(17,53,77,.05);
}
body[data-public-page="guida-dettaglio"] .travel-guide-facts>div{
  min-height:74px;
  padding:15px 18px;
}
body[data-public-page="guida-dettaglio"] .travel-guide-index{
  padding:0 0 22px;
  background:#f4f8fa;
}
body[data-public-page="guida-dettaglio"] .travel-guide-index-card{
  padding:20px 22px;
  border-radius:20px;
  box-shadow:0 10px 28px rgba(17,53,77,.055);
}
body[data-public-page="guida-dettaglio"] .travel-guide-index-heading{
  display:flex;
  flex-direction:row;
  align-items:baseline;
  gap:12px;
  margin:0 0 14px;
  padding:0 0 12px;
  border-bottom:1px solid #e3ecef;
}
body[data-public-page="guida-dettaglio"] .travel-guide-index-heading:before{display:none}
body[data-public-page="guida-dettaglio"] .travel-guide-index-heading>span{
  flex:0 0 auto;
  font-size:.82rem;
  letter-spacing:.09em;
}
body[data-public-page="guida-dettaglio"] .travel-guide-index-heading>small{
  margin:0;
  font-size:.8rem;
}
body[data-public-page="guida-dettaglio"] .travel-guide-index-links{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
body[data-public-page="guida-dettaglio"] .travel-guide-index-links a{
  grid-template-columns:28px minmax(0,1fr) 12px;
  gap:8px;
  min-height:44px;
  padding:7px 9px;
  border-radius:12px;
  font-size:.75rem;
  line-height:1.2;
  box-shadow:none;
}
body[data-public-page="guida-dettaglio"] .travel-guide-index-links a b{
  width:28px;
  height:28px;
  border-radius:9px;
  font-size:.64rem;
}
body[data-public-page="guida-dettaglio"] .travel-guide-index-links a:after{
  width:12px;
  height:18px;
  font-size:1.05rem;
}
body[data-public-page="guida-dettaglio"] .travel-guide-content-section{
  padding:18px 0 54px;
  background:#fff;
}
body[data-public-page="guida-dettaglio"] .travel-guide-section-grid{
  width:100%;
  max-width:none;
  margin:0;
  gap:16px;
}
body[data-public-page="guida-dettaglio"] .travel-guide-section-card{
  grid-template-columns:48px minmax(0,1fr);
  gap:16px;
  width:100%;
  padding:24px 26px;
  border-radius:18px;
  box-shadow:0 8px 24px rgba(17,53,77,.05);
  scroll-margin-top:118px;
}
body[data-public-page="guida-dettaglio"] .travel-guide-section-icon{
  width:46px;
  height:46px;
  border-radius:14px;
}
body[data-public-page="guida-dettaglio"] .travel-guide-section-icon svg{
  width:24px;
  height:24px;
}
body[data-public-page="guida-dettaglio"] .travel-guide-section-copy h2{
  margin:0 0 10px;
  font-size:clamp(1.45rem,2vw,1.9rem);
}
body[data-public-page="guida-dettaglio"] .travel-guide-prose p,
body[data-public-page="guida-dettaglio"] .travel-guide-prose li{
  font-size:.96rem;
  line-height:1.7;
}
body[data-public-page="guida-dettaglio"] .travel-guide-weather-section,
body[data-public-page="guida-dettaglio"] .travel-guide-related-section,
body[data-public-page="guida-dettaglio"] .travel-history-section,
body[data-public-page="guida-dettaglio"] .travel-guide-albums-section,
body[data-public-page="guida-dettaglio"] .travel-guide-sources-section{
  padding-left:0;
  padding-right:0;
}
@media(max-width:1050px){
  body[data-public-page="guida-dettaglio"] .travel-guide-index-links{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
  body[data-public-page="guida-dettaglio"] .travel-guide-detail .wrap.wide{width:min(100% - 32px,var(--guide-page-width))}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero,
  body[data-public-page="guida-dettaglio"] .travel-guide-hero.without-image{height:clamp(210px,34vw,280px)}
  body[data-public-page="guida-dettaglio"] .travel-guide-intro-card{padding:26px 24px 24px}
  body[data-public-page="guida-dettaglio"] .travel-guide-index-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-public-page="guida-dettaglio"] .travel-guide-index-heading{align-items:flex-start;flex-direction:column;gap:3px}
}
@media(max-width:600px){
  body[data-public-page="guida-dettaglio"] .travel-guide-detail .wrap.wide{width:100%;padding-left:14px;padding-right:14px}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero,
  body[data-public-page="guida-dettaglio"] .travel-guide-hero.without-image{height:190px;aspect-ratio:auto}
  body[data-public-page="guida-dettaglio"] .travel-guide-intro-section{padding:14px 0 12px}
  body[data-public-page="guida-dettaglio"] .travel-guide-intro-card{padding:21px 18px 20px;border-radius:17px}
  body[data-public-page="guida-dettaglio"] .travel-guide-intro-card h1{font-size:clamp(1.85rem,9vw,2.55rem)}
  body[data-public-page="guida-dettaglio"] .travel-guide-summary{font-size:.92rem;line-height:1.6}
  body[data-public-page="guida-dettaglio"] .travel-guide-index{padding-bottom:14px}
  body[data-public-page="guida-dettaglio"] .travel-guide-index-card{padding:16px 14px;border-radius:17px}
  body[data-public-page="guida-dettaglio"] .travel-guide-index-links{grid-template-columns:1fr;gap:7px}
  body[data-public-page="guida-dettaglio"] .travel-guide-index-links a{min-height:42px}
  body[data-public-page="guida-dettaglio"] .travel-guide-content-section{padding-top:12px;padding-bottom:38px}
  body[data-public-page="guida-dettaglio"] .travel-guide-section-card{grid-template-columns:40px minmax(0,1fr);gap:12px;padding:19px 16px;border-radius:16px}
  body[data-public-page="guida-dettaglio"] .travel-guide-section-icon{width:40px;height:40px;border-radius:12px}
  body[data-public-page="guida-dettaglio"] .travel-guide-section-copy h2{font-size:1.4rem}
}


/* Patch 0250 - hero guida con immagine di sfondo e pannello testo sfocato */
body[data-public-page="guida-dettaglio"] .travel-guide-detail{
  --guide-page-width:1180px;
  background:#f4f8fa;
}
body[data-public-page="guida-dettaglio"] .travel-guide-detail .wrap.wide{
  width:min(var(--guide-page-width),calc(100% - 48px));
  padding-left:0;
  padding-right:0;
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero,
body[data-public-page="guida-dettaglio"] .travel-guide-hero.without-image{
  position:relative;
  display:block;
  width:100%;
  height:clamp(280px,30vw,420px);
  min-height:0;
  aspect-ratio:auto;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:#153a53;
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  transform:scale(1.01);
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(6,24,40,.08) 0%,rgba(6,24,40,.18) 40%,rgba(6,24,40,.52) 100%);
  pointer-events:none;
}
body[data-public-page="guida-dettaglio"] .travel-guide-intro-section{
  position:relative;
  z-index:2;
  margin-top:clamp(-190px,-14vw,-130px);
  padding:0 0 18px;
  background:transparent;
}
body[data-public-page="guida-dettaglio"] .travel-guide-intro-card{
  max-width:min(780px,100%);
  margin:0;
  padding:28px 30px 26px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(9,31,49,.78),rgba(10,72,108,.56));
  box-shadow:0 22px 55px rgba(9,31,49,.18);
  color:#fff;
  backdrop-filter:blur(16px) saturate(128%);
  -webkit-backdrop-filter:blur(16px) saturate(128%);
}
body[data-public-page="guida-dettaglio"] .travel-guide-kicker{
  margin-bottom:10px;
  color:#ffd18f;
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.18em;
}
body[data-public-page="guida-dettaglio"] .travel-guide-intro-card h1{
  max-width:100%;
  margin:0;
  color:#fff;
  font-size:clamp(2.1rem,3.6vw,4rem);
  line-height:1.02;
  text-wrap:balance;
}
body[data-public-page="guida-dettaglio"] .travel-guide-summary{
  max-width:100%;
  margin-top:16px;
  color:rgba(244,250,253,.96);
  font-size:1rem;
  line-height:1.72;
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero-meta{
  gap:8px 10px;
  margin-top:20px;
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero-meta>*{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:6px 12px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:.82rem;
  font-weight:600;
  box-shadow:none;
}
body[data-public-page="guida-dettaglio"] .travel-guide-facts-section{
  padding:0 0 18px;
  background:transparent;
}
body[data-public-page="guida-dettaglio"] .travel-guide-facts{
  background:#fff;
  border:1px solid #d9e6eb;
  border-radius:20px;
  box-shadow:0 12px 30px rgba(17,53,77,.06);
}
body[data-public-page="guida-dettaglio"] .travel-guide-index{
  padding:0 0 22px;
  background:transparent;
}
@media(max-width:1050px){
  body[data-public-page="guida-dettaglio"] .travel-guide-hero,
  body[data-public-page="guida-dettaglio"] .travel-guide-hero.without-image{height:clamp(250px,33vw,360px)}
  body[data-public-page="guida-dettaglio"] .travel-guide-intro-section{margin-top:clamp(-150px,-15vw,-110px)}
  body[data-public-page="guida-dettaglio"] .travel-guide-intro-card{max-width:min(740px,100%);padding:26px 26px 24px}
}
@media(max-width:820px){
  body[data-public-page="guida-dettaglio"] .travel-guide-detail .wrap.wide{width:min(100% - 32px,var(--guide-page-width))}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero,
  body[data-public-page="guida-dettaglio"] .travel-guide-hero.without-image{height:300px}
  body[data-public-page="guida-dettaglio"] .travel-guide-intro-section{margin-top:-120px;padding-bottom:16px}
  body[data-public-page="guida-dettaglio"] .travel-guide-intro-card{max-width:100%;padding:24px 22px 22px;border-radius:22px}
}
@media(max-width:600px){
  body[data-public-page="guida-dettaglio"] .travel-guide-detail .wrap.wide{width:100%;padding-left:14px;padding-right:14px}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero,
  body[data-public-page="guida-dettaglio"] .travel-guide-hero.without-image{height:220px}
  body[data-public-page="guida-dettaglio"] .travel-guide-intro-section{margin-top:-64px;padding-bottom:12px}
  body[data-public-page="guida-dettaglio"] .travel-guide-intro-card{padding:20px 18px 18px;border-radius:18px;backdrop-filter:blur(12px) saturate(122%);-webkit-backdrop-filter:blur(12px) saturate(122%)}
  body[data-public-page="guida-dettaglio"] .travel-guide-kicker{font-size:.69rem;letter-spacing:.14em}
  body[data-public-page="guida-dettaglio"] .travel-guide-intro-card h1{font-size:clamp(1.85rem,8.8vw,2.7rem)}
  body[data-public-page="guida-dettaglio"] .travel-guide-summary{font-size:.93rem;line-height:1.62}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero-meta>*{min-height:32px;padding:5px 10px;font-size:.78rem}
}


/* Patch 0251 - riduzione effettiva dell'altezza della copertina Guida */
body[data-public-page="guida-dettaglio"] .travel-guide-hero,
body[data-public-page="guida-dettaglio"] .travel-guide-hero.without-image{
  height:clamp(220px,16vw,270px);
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero>img{
  object-position:center top;
}
body[data-public-page="guida-dettaglio"] .travel-guide-intro-section{
  margin-top:clamp(-118px,-8vw,-92px);
}
body[data-public-page="guida-dettaglio"] .travel-guide-intro-card{
  max-width:min(760px,100%);
}
@media(max-width:1050px){
  body[data-public-page="guida-dettaglio"] .travel-guide-hero,
  body[data-public-page="guida-dettaglio"] .travel-guide-hero.without-image{height:235px}
  body[data-public-page="guida-dettaglio"] .travel-guide-intro-section{margin-top:-92px}
}
@media(max-width:820px){
  body[data-public-page="guida-dettaglio"] .travel-guide-hero,
  body[data-public-page="guida-dettaglio"] .travel-guide-hero.without-image{height:215px}
  body[data-public-page="guida-dettaglio"] .travel-guide-intro-section{margin-top:-76px}
}
@media(max-width:600px){
  body[data-public-page="guida-dettaglio"] .travel-guide-hero,
  body[data-public-page="guida-dettaglio"] .travel-guide-hero.without-image{height:175px}
  body[data-public-page="guida-dettaglio"] .travel-guide-intro-section{margin-top:-44px}
}


/* Patch 0253 - titolo sopra, immagine sotto, senza sovrapposizioni */
body[data-public-page="guida-dettaglio"] .travel-guide-detail{
  background:#f4f8fa;
}
body[data-public-page="guida-dettaglio"] .travel-guide-intro-section{
  position:relative;
  z-index:auto;
  margin:0;
  padding:34px 0 16px;
  background:#f4f8fa;
}
body[data-public-page="guida-dettaglio"] .travel-guide-intro-card{
  width:100%;
  max-width:none;
  margin:0;
  padding:30px 34px 28px;
  border:1px solid #d7e4ea;
  border-radius:22px;
  background:linear-gradient(135deg,#10364e 0%,#1a5877 58%,#6f99ad 100%);
  box-shadow:0 14px 34px rgba(18,55,77,.10);
  color:#fff;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
body[data-public-page="guida-dettaglio"] .travel-guide-intro-card h1{
  max-width:980px;
  font-size:clamp(2.25rem,3.55vw,4rem);
  line-height:1.02;
}
body[data-public-page="guida-dettaglio"] .travel-guide-summary{
  max-width:940px;
  color:rgba(248,252,254,.96);
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero-section{
  padding:0 0 18px;
  background:#f4f8fa;
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero,
body[data-public-page="guida-dettaglio"] .travel-guide-hero.without-image{
  position:relative;
  display:block;
  width:100%;
  height:clamp(250px,22vw,340px);
  min-height:0;
  overflow:hidden;
  border:1px solid #d7e4ea;
  border-radius:22px;
  background:#dceef4;
  box-shadow:0 14px 34px rgba(18,55,77,.08);
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  transform:none;
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero:after{display:none}
body[data-public-page="guida-dettaglio"] .travel-guide-facts-section{
  padding:0 0 18px;
  background:#f4f8fa;
}
@media(max-width:820px){
  body[data-public-page="guida-dettaglio"] .travel-guide-intro-section{padding:24px 0 14px}
  body[data-public-page="guida-dettaglio"] .travel-guide-intro-card{padding:26px 24px 24px}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero,
  body[data-public-page="guida-dettaglio"] .travel-guide-hero.without-image{height:260px}
}
@media(max-width:600px){
  body[data-public-page="guida-dettaglio"] .travel-guide-intro-section{padding:14px 0 10px}
  body[data-public-page="guida-dettaglio"] .travel-guide-intro-card{padding:21px 18px 20px;border-radius:17px}
  body[data-public-page="guida-dettaglio"] .travel-guide-intro-card h1{font-size:clamp(1.9rem,9vw,2.65rem)}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero-section{padding-bottom:12px}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero,
  body[data-public-page="guida-dettaglio"] .travel-guide-hero.without-image{height:190px;border-radius:17px}
}

/* Patch 0255 - dettaglio Guida riallineato allo stile hero dei viaggi */
body[data-public-page="guida-dettaglio"] .travel-guide-detail{
  --guide-page-width:1440px;
  background:#f4f8fa;
}
body[data-public-page="guida-dettaglio"] .travel-guide-detail .wrap.wide{
  width:min(var(--guide-page-width),calc(100% - 64px));
  max-width:var(--guide-page-width);
  padding-left:0;
  padding-right:0;
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero,
body[data-public-page="guida-dettaglio"] .travel-guide-hero.without-image{
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  width:100%;
  height:auto;
  min-height:clamp(520px,64vh,690px);
  overflow:hidden;
  border:0;
  border-radius:0;
  background:#153a53;
  box-shadow:none;
  color:#fff;
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero>img{
  position:absolute;
  z-index:-3;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  transform:none;
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero-placeholder{
  position:absolute;
  z-index:-3;
  inset:0;
  background:linear-gradient(135deg,#0b3852,#087ca0 58%,#73aec1);
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero:after{display:none}
body[data-public-page="guida-dettaglio"] .travel-guide-hero-overlay{
  position:absolute;
  z-index:-2;
  inset:0;
  background:
    linear-gradient(90deg,rgba(4,29,47,.94) 0%,rgba(4,29,47,.86) 34%,rgba(4,29,47,.48) 58%,rgba(4,29,47,.12) 100%),
    linear-gradient(0deg,rgba(4,29,47,.46) 0%,rgba(4,29,47,.05) 54%);
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero-layout{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  min-height:inherit;
  padding-top:74px;
  padding-bottom:64px;
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero-content{
  position:relative;
  width:min(760px,62%);
  padding:0;
  color:#fff;
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero-content:before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-46px -58px -48px -72px;
  background:linear-gradient(90deg,rgba(5,34,52,.58),rgba(5,34,52,.18) 76%,transparent);
  filter:blur(18px);
  opacity:.72;
  pointer-events:none;
}
body[data-public-page="guida-dettaglio"] .travel-guide-kicker{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 20px;
  color:#ffd18f;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.2em;
  text-transform:uppercase;
}
body[data-public-page="guida-dettaglio"] .travel-guide-kicker:before{
  content:"";
  flex:0 0 38px;
  width:38px;
  height:2px;
  background:#f3a323;
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero-content h1{
  max-width:780px;
  margin:0;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(3.2rem,6vw,6.5rem);
  font-weight:700;
  line-height:.94;
  letter-spacing:-.035em;
  text-shadow:0 8px 28px rgba(0,0,0,.27);
  text-wrap:balance;
}
body[data-public-page="guida-dettaglio"] .travel-guide-summary{
  max-width:720px;
  margin-top:24px;
  color:rgba(255,255,255,.96);
  font-size:1.04rem;
  line-height:1.68;
  text-shadow:0 2px 12px rgba(0,0,0,.34);
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px 12px;
  margin-top:28px;
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero-meta>*{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:8px 14px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:999px;
  background:rgba(9,36,54,.42);
  color:#fff;
  font-size:.83rem;
  font-weight:700;
  box-shadow:0 8px 22px rgba(0,0,0,.12);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
body[data-public-page="guida-dettaglio"] .travel-guide-intro-section,
body[data-public-page="guida-dettaglio"] .travel-guide-hero-section{display:none}
body[data-public-page="guida-dettaglio"] .travel-guide-facts-section{
  position:relative;
  z-index:2;
  margin-top:-28px;
  padding:0 0 22px;
  background:transparent;
}
body[data-public-page="guida-dettaglio"] .travel-guide-facts{
  border:1px solid #d8e5ea;
  border-radius:20px;
  background:#fff;
  box-shadow:0 16px 36px rgba(15,49,70,.11);
}
body[data-public-page="guida-dettaglio"] .travel-guide-index{padding:0 0 24px}

@media(max-width:1050px){
  body[data-public-page="guida-dettaglio"] .travel-guide-detail .wrap.wide{width:min(100% - 40px,var(--guide-page-width))}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero,
  body[data-public-page="guida-dettaglio"] .travel-guide-hero.without-image{min-height:560px}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero-content{width:min(700px,72%)}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero-content h1{font-size:clamp(3rem,7vw,5.4rem)}
}
@media(max-width:820px){
  body[data-public-page="guida-dettaglio"] .travel-guide-detail .wrap.wide{width:min(100% - 32px,var(--guide-page-width))}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero,
  body[data-public-page="guida-dettaglio"] .travel-guide-hero.without-image{min-height:540px;align-items:flex-end}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero-overlay{
    background:linear-gradient(0deg,rgba(4,29,47,.96) 0%,rgba(4,29,47,.79) 48%,rgba(4,29,47,.18) 100%);
  }
  body[data-public-page="guida-dettaglio"] .travel-guide-hero-layout{align-items:flex-end;padding-top:120px;padding-bottom:58px}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero-content{width:100%}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero-content:before{display:none}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero-content h1{max-width:760px;font-size:clamp(2.8rem,10vw,4.8rem)}
  body[data-public-page="guida-dettaglio"] .travel-guide-summary{max-width:680px}
}
@media(max-width:600px){
  body[data-public-page="guida-dettaglio"] .travel-guide-detail .wrap.wide{width:100%;padding-left:16px;padding-right:16px}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero,
  body[data-public-page="guida-dettaglio"] .travel-guide-hero.without-image{min-height:500px}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero>img{object-position:center center}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero-layout{padding-top:116px;padding-bottom:48px}
  body[data-public-page="guida-dettaglio"] .travel-guide-kicker{gap:9px;margin-bottom:14px;font-size:.68rem;letter-spacing:.15em;line-height:1.45}
  body[data-public-page="guida-dettaglio"] .travel-guide-kicker:before{flex-basis:24px;width:24px}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero-content h1{font-size:clamp(2.45rem,13vw,3.8rem);line-height:.95}
  body[data-public-page="guida-dettaglio"] .travel-guide-summary{margin-top:18px;font-size:.94rem;line-height:1.58}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero-meta{margin-top:20px;gap:8px}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero-meta>*{min-height:34px;padding:6px 10px;font-size:.76rem}
  body[data-public-page="guida-dettaglio"] .travel-guide-facts-section{margin-top:-18px;padding-bottom:16px}
}


/* Patch 0256 - hero guida con misura tipografica coerente e area testo più larga */
body[data-public-page="guida-dettaglio"] .travel-guide-hero-layout{
  padding-top:88px;
  padding-bottom:52px;
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero-content{
  width:min(980px,74%);
  max-width:980px;
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero-content h1{
  max-width:960px;
  font-size:clamp(2.65rem,4.8vw,4.95rem);
  line-height:1.01;
  letter-spacing:-.028em;
  text-wrap:pretty;
  overflow-wrap:anywhere;
}
body[data-public-page="guida-dettaglio"] .travel-guide-summary{
  max-width:860px;
  margin-top:20px;
  font-size:1rem;
  line-height:1.64;
}
body[data-public-page="guida-dettaglio"] .travel-guide-hero-meta{
  margin-top:24px;
}
@media (min-width:1400px){
  body[data-public-page="guida-dettaglio"] .travel-guide-hero-content{width:min(1040px,76%);max-width:1040px}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero-content h1{max-width:1020px;font-size:4.95rem}
}
@media(max-width:1050px){
  body[data-public-page="guida-dettaglio"] .travel-guide-hero-content{width:min(860px,78%);max-width:860px}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero-content h1{max-width:840px;font-size:clamp(2.45rem,5.8vw,4.2rem);line-height:1}
  body[data-public-page="guida-dettaglio"] .travel-guide-summary{max-width:760px}
}
@media(max-width:820px){
  body[data-public-page="guida-dettaglio"] .travel-guide-hero-layout{padding-top:112px;padding-bottom:54px}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero-content{width:100%;max-width:none}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero-content h1{max-width:100%;font-size:clamp(2.3rem,8.3vw,3.8rem)}
  body[data-public-page="guida-dettaglio"] .travel-guide-summary{max-width:100%;font-size:.98rem;line-height:1.6}
}
@media(max-width:600px){
  body[data-public-page="guida-dettaglio"] .travel-guide-hero-layout{padding-top:108px;padding-bottom:42px}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero-content h1{font-size:clamp(2.05rem,8.8vw,3.05rem);line-height:.98}
  body[data-public-page="guida-dettaglio"] .travel-guide-summary{margin-top:16px;font-size:.92rem;line-height:1.56}
  body[data-public-page="guida-dettaglio"] .travel-guide-hero-meta{margin-top:18px}
}


/* Patch 0259 - schede riepilogo interamente cliccabili */
[data-summary-card]{
  position:relative;
  cursor:pointer;
  transform:translateZ(0);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
[data-summary-card] img{
  transition:transform .32s ease;
}
@media (hover:hover) and (pointer:fine){
  [data-summary-card]:hover{
    transform:translateY(-4px) scale(1.012);
    border-color:rgba(11,120,159,.34);
    box-shadow:0 20px 44px rgba(17,53,77,.14);
  }
  [data-summary-card]:hover .card-media>img,
  [data-summary-card]:hover .featured-showcase-media>img,
  [data-summary-card]:hover .guide-hub-guide-media>img,
  [data-summary-card]:hover .album-card-media>img{
    transform:scale(1.035);
  }
}
[data-summary-card]:focus-visible{
  outline:3px solid rgba(11,120,159,.38);
  outline-offset:4px;
  border-color:var(--blue);
}
[data-summary-card] a,
[data-summary-card] button{
  position:relative;
  z-index:2;
}
@media (prefers-reduced-motion:reduce){
  [data-summary-card],
  [data-summary-card] img{transition:none}
  [data-summary-card]:hover{transform:none}
  [data-summary-card]:hover img{transform:none}
}


/* Patch 0261 - Novità per Guide e Album */
.guide-hub-guide-media,.album-card-media{position:relative}
.editorial-novita-badge{position:absolute;right:12px;bottom:12px;z-index:3}
.album-card-media>.editorial-novita-badge{top:auto;left:auto}
.editorial-detail-novita{display:inline-flex;align-items:center;margin-left:10px;padding:4px 9px;border-radius:999px;background:#ff6f61;color:#fff;font-size:.7rem;font-weight:900;letter-spacing:.08em;vertical-align:middle}
.travel-guide-hero-meta .novita-badge{border-color:rgba(255,255,255,.45);background:#ff6f61}
@media(max-width:600px){.editorial-novita-badge{right:9px;bottom:9px}.editorial-detail-novita{margin-left:7px}}


/* Patch 0262 - badge Novità Guide e Album uniforme alle card Viaggi */
.guide-hub-guide-media>.editorial-novita-badge,
.album-card-media>.editorial-novita-badge{
  position:absolute!important;
  top:auto!important;
  right:12px!important;
  bottom:12px!important;
  left:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  width:auto!important;
  min-width:0!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  margin:0!important;
  padding:0 11px!important;
  gap:5px!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.42)!important;
  border-radius:10px!important;
  background:linear-gradient(135deg,#ff5f7a 0%,#ff7a55 100%)!important;
  color:#fff!important;
  font-size:0!important;
  line-height:0!important;
  letter-spacing:0!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  box-shadow:0 10px 22px rgba(255,95,122,.28),inset 0 1px 0 rgba(255,255,255,.22)!important;
  z-index:5!important;
}
.guide-hub-guide-media>.editorial-novita-badge::before,
.album-card-media>.editorial-novita-badge::before{
  content:none!important;
  display:none!important;
}
.guide-hub-guide-media>.editorial-novita-badge .novita-badge-mini-icon,
.guide-hub-guide-media>.editorial-novita-badge .novita-badge-mini-text,
.album-card-media>.editorial-novita-badge .novita-badge-mini-icon,
.album-card-media>.editorial-novita-badge .novita-badge-mini-text{
  display:block!important;
  box-sizing:border-box!important;
  height:12px!important;
  min-height:12px!important;
  max-height:12px!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  line-height:12px!important;
  text-align:center!important;
}
.guide-hub-guide-media>.editorial-novita-badge .novita-badge-mini-icon,
.album-card-media>.editorial-novita-badge .novita-badge-mini-icon{
  width:12px!important;
  flex:0 0 12px!important;
  font-size:11px!important;
  letter-spacing:0!important;
}
.guide-hub-guide-media>.editorial-novita-badge .novita-badge-mini-text,
.album-card-media>.editorial-novita-badge .novita-badge-mini-text{
  flex:0 0 auto!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.055em!important;
}
.travel-guide-hero-meta .novita-badge{
  width:auto!important;
  min-width:0!important;
  max-width:max-content!important;
  height:34px!important;
  min-height:34px!important;
  max-height:34px!important;
  padding:0 12px!important;
  border-radius:10px!important;
  background:linear-gradient(135deg,#ff5f7a 0%,#ff7a55 100%)!important;
}
.travel-guide-hero-meta .novita-badge::before{content:none!important;display:none!important}
@media(max-width:600px){
  .guide-hub-guide-media>.editorial-novita-badge,
  .album-card-media>.editorial-novita-badge{right:9px!important;bottom:9px!important;height:28px!important;min-height:28px!important;max-height:28px!important;padding:0 9px!important}
}

/* Patch 0271 - pagina Esplora destinazioni, completamente circoscritta. */
body[data-public-page="esplora-destinazioni"] .explore-destinations-pagehead{padding:58px 0;background:linear-gradient(135deg,#eaf5f8,#f8fbfc)}
body[data-public-page="esplora-destinazioni"] .explore-destinations-pagehead .wrap{display:grid;gap:10px}
body[data-public-page="esplora-destinazioni"] .explore-destinations-pagehead p{margin:0;color:var(--orange);font-size:.76rem;font-weight:900;letter-spacing:.18em}
body[data-public-page="esplora-destinazioni"] .explore-destinations-pagehead h1{max-width:900px;margin:0;font-family:Georgia,serif;font-size:clamp(2.45rem,6vw,5rem);line-height:.98;color:var(--navy)}
body[data-public-page="esplora-destinazioni"] .explore-destinations-pagehead span{max-width:780px;color:#5d7480;font-size:1.06rem;line-height:1.65}
body[data-public-page="esplora-destinazioni"] .explore-destinations-section{padding-top:54px;background:#f7fafb}
body[data-public-page="esplora-destinazioni"] .explore-section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,520px);gap:36px;align-items:end;margin-bottom:28px}
body[data-public-page="esplora-destinazioni"] .explore-section-heading h2{margin:2px 0 0;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.25rem);line-height:1.05;color:var(--navy)}
body[data-public-page="esplora-destinazioni"] .explore-section-heading>p{margin:0;color:#657a84;line-height:1.65}
.explore-continent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.explore-continent-card{position:relative;min-height:360px;overflow:hidden;border-radius:20px;background:#173b53;color:#fff;text-decoration:none;box-shadow:0 16px 38px rgba(17,53,77,.16);isolation:isolate;transition:transform .2s ease,box-shadow .2s ease}
.explore-continent-card:hover{transform:translateY(-4px);box-shadow:0 22px 46px rgba(17,53,77,.22)}
.explore-continent-card:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.explore-continent-media{position:absolute;inset:0;display:block;background:#d9e8ed}
.explore-continent-media img,.explore-continent-media svg{width:100%;height:100%;object-fit:cover}
.explore-continent-media svg{padding:54px;stroke:#0d6f94;fill:none;stroke-width:3;background:linear-gradient(145deg,#d9edf3,#b9d9e4)}
.explore-continent-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,35,51,.05) 15%,rgba(7,35,51,.88) 100%);z-index:1}
.explore-continent-content{position:absolute;inset:auto 0 0;z-index:2;display:grid;gap:8px;padding:26px}
.explore-continent-kicker{font-size:.7rem;font-weight:900;letter-spacing:.18em;color:#ffd18f}
.explore-continent-content>strong{font-family:Georgia,serif;font-size:2rem;line-height:1.05;color:#fff}
.explore-continent-description{max-width:42ch;font-size:.9rem;line-height:1.5;color:rgba(255,255,255,.84)}
.explore-continent-stats{display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:6px;font-size:.75rem;color:rgba(255,255,255,.86)}
.explore-continent-stats b{color:#fff}
body[data-public-page="esplora-destinazioni"] .explore-selected-header{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:34px;align-items:stretch;margin-bottom:34px;padding:26px;border:1px solid #dbe7ec;border-radius:22px;background:#fff;box-shadow:0 14px 34px rgba(17,53,77,.08)}
body[data-public-page="esplora-destinazioni"] .explore-selected-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:12px 8px}
body[data-public-page="esplora-destinazioni"] .explore-back-link{align-self:flex-start;margin-bottom:22px;font-weight:800;text-decoration:none}
body[data-public-page="esplora-destinazioni"] .explore-selected-copy h2{margin:0 0 12px;font-family:Georgia,serif;font-size:clamp(2.3rem,5vw,4rem);line-height:1;color:var(--navy)}
body[data-public-page="esplora-destinazioni"] .explore-selected-copy>p:not(.trip-section-kicker){max-width:700px;margin:0;color:#607580;line-height:1.7}
body[data-public-page="esplora-destinazioni"] .explore-selected-media{min-height:300px;overflow:hidden;border-radius:17px;background:#d9e8ed}
body[data-public-page="esplora-destinazioni"] .explore-selected-media img,body[data-public-page="esplora-destinazioni"] .explore-selected-media svg{width:100%;height:100%;object-fit:cover}
body[data-public-page="esplora-destinazioni"] .explore-selected-media svg{padding:48px;stroke:#0d6f94;fill:none;stroke-width:3;background:linear-gradient(145deg,#d9edf3,#b9d9e4)}
body[data-public-page="esplora-destinazioni"] .explore-selected-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
body[data-public-page="esplora-destinazioni"] .explore-selected-stats span{display:grid;min-width:112px;padding:12px 14px;border:1px solid #dbe7ec;border-radius:13px;background:#f6fafb;color:#617681;font-size:.75rem}
body[data-public-page="esplora-destinazioni"] .explore-selected-stats strong{font-size:1.35rem;line-height:1.1;color:var(--blue)}
body[data-public-page="esplora-destinazioni"] .explore-country-grid{display:grid;grid-template-columns:1fr;gap:22px}
body[data-public-page="esplora-destinazioni"] .explore-country-card{position:relative;display:grid;grid-template-columns:minmax(330px,38%) minmax(0,1fr);min-height:326px;overflow:hidden;border:1px solid #d7e5ea;border-radius:22px;background:#fff;box-shadow:0 14px 34px rgba(17,53,77,.08);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
body[data-public-page="esplora-destinazioni"] .explore-country-card:hover{transform:translateY(-2px);border-color:#c5dce4;box-shadow:0 20px 42px rgba(17,53,77,.13)}
body[data-public-page="esplora-destinazioni"] .explore-country-card::after{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--blue),var(--orange));z-index:4}
body[data-public-page="esplora-destinazioni"] .explore-country-media{position:relative;min-width:0;min-height:326px;overflow:hidden;background:#173f52}
body[data-public-page="esplora-destinazioni"] .explore-country-visual{position:absolute;inset:0;display:block;width:100%;height:100%}
body[data-public-page="esplora-destinazioni"] .explore-country-mosaic{display:grid;width:100%;height:100%;gap:3px;background:#fff}
body[data-public-page="esplora-destinazioni"] .explore-country-visual-mosaic.is-count-1 .explore-country-mosaic{grid-template-columns:1fr}
body[data-public-page="esplora-destinazioni"] .explore-country-visual-mosaic.is-count-2 .explore-country-mosaic{grid-template-columns:1.32fr .68fr}
body[data-public-page="esplora-destinazioni"] .explore-country-visual-mosaic.is-count-3 .explore-country-mosaic{grid-template-columns:1.32fr .68fr;grid-template-rows:1fr 1fr}
body[data-public-page="esplora-destinazioni"] .explore-country-visual-mosaic.is-count-2 .explore-country-photo-1{grid-column:1;grid-row:1}
body[data-public-page="esplora-destinazioni"] .explore-country-visual-mosaic.is-count-2 .explore-country-photo-2{grid-column:2;grid-row:1}
body[data-public-page="esplora-destinazioni"] .explore-country-visual-mosaic.is-count-3 .explore-country-photo-1{grid-column:1;grid-row:1/3}
body[data-public-page="esplora-destinazioni"] .explore-country-visual-mosaic.is-count-3 .explore-country-photo-2{grid-column:2;grid-row:1}
body[data-public-page="esplora-destinazioni"] .explore-country-visual-mosaic.is-count-3 .explore-country-photo-3{grid-column:2;grid-row:2}
body[data-public-page="esplora-destinazioni"] .explore-country-photo{position:relative;display:block;min-width:0;min-height:0;overflow:hidden;background:#d5e5e9}
body[data-public-page="esplora-destinazioni"] .explore-country-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(5,31,43,.22));pointer-events:none}
body[data-public-page="esplora-destinazioni"] .explore-country-photo img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
body[data-public-page="esplora-destinazioni"] .explore-country-card:hover .explore-country-photo img{transform:scale(1.035)}
body[data-public-page="esplora-destinazioni"] .explore-country-media-label{position:absolute;left:18px;bottom:16px;z-index:3;max-width:calc(100% - 36px);padding:7px 11px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(7,42,57,.72);box-shadow:0 8px 22px rgba(0,0,0,.16);color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.04em;backdrop-filter:blur(8px)}
body[data-public-page="esplora-destinazioni"] .explore-country-signature{isolation:isolate;overflow:hidden;background:linear-gradient(135deg,var(--country-a),var(--country-b));color:#fff}
body[data-public-page="esplora-destinazioni"] .explore-country-signature::before{content:"";position:absolute;inset:-18%;z-index:-1;background:repeating-radial-gradient(circle at 74% 46%,transparent 0 18px,rgba(255,255,255,.11) 19px 20px);transform:rotate(-8deg)}
body[data-public-page="esplora-destinazioni"] .explore-country-signature::after{content:"";position:absolute;inset:auto -12% -42% 14%;height:76%;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.2),transparent 68%)}
body[data-public-page="esplora-destinazioni"] .explore-country-signature-orbit{position:absolute;right:11%;top:13%;width:128px;height:128px;border:1px solid rgba(255,255,255,.34);border-radius:50%}
body[data-public-page="esplora-destinazioni"] .explore-country-signature-orbit::before,body[data-public-page="esplora-destinazioni"] .explore-country-signature-orbit::after{content:"";position:absolute;inset:17px;border:1px solid rgba(255,255,255,.24);border-radius:50%}
body[data-public-page="esplora-destinazioni"] .explore-country-signature-orbit::after{inset:36px;border-color:var(--country-accent);opacity:.84}
body[data-public-page="esplora-destinazioni"] .explore-country-signature-compass{position:absolute;right:calc(11% + 49px);top:calc(13% + 45px);color:var(--country-accent);font-size:2rem;line-height:1}
body[data-public-page="esplora-destinazioni"] .explore-country-signature-code{position:absolute;left:28px;bottom:68px;font-family:Georgia,serif;font-size:clamp(4.2rem,8vw,7.2rem);font-weight:700;line-height:.78;letter-spacing:-.08em;text-shadow:0 8px 24px rgba(0,0,0,.2)}
body[data-public-page="esplora-destinazioni"] .explore-country-signature-continent{position:absolute;left:31px;bottom:35px;color:rgba(255,255,255,.86);font-size:.72rem;font-weight:900;letter-spacing:.17em;text-transform:uppercase}
body[data-public-page="esplora-destinazioni"] .explore-country-signature-caption{position:absolute;right:20px;bottom:18px;max-width:140px;color:rgba(255,255,255,.72);font-size:.63rem;line-height:1.35;text-align:right}
body[data-public-page="esplora-destinazioni"] .explore-country-body{display:flex;flex-direction:column;min-width:0;padding:27px 30px 25px}
body[data-public-page="esplora-destinazioni"] .explore-country-title-row{display:flex;justify-content:space-between;gap:24px;align-items:center;padding-bottom:18px;border-bottom:1px solid #e2ebef}
body[data-public-page="esplora-destinazioni"] .explore-country-title-row p{margin:0 0 5px;color:var(--orange);font-size:.68rem;font-weight:900;letter-spacing:.17em}
body[data-public-page="esplora-destinazioni"] .explore-country-title-row h3{margin:0;font-family:Georgia,serif;font-size:clamp(1.75rem,3vw,2.35rem);line-height:1.04;color:var(--navy);overflow-wrap:anywhere}
body[data-public-page="esplora-destinazioni"] .explore-country-counts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;max-width:340px}
body[data-public-page="esplora-destinazioni"] .explore-country-counts span{display:inline-flex;align-items:baseline;gap:4px;padding:7px 10px;border:1px solid #d9e8ed;border-radius:999px;background:#f3f8fa;color:#56727f;font-size:.7rem;white-space:nowrap}
body[data-public-page="esplora-destinazioni"] .explore-country-counts strong{color:var(--blue);font-size:.82rem}
body[data-public-page="esplora-destinazioni"] .explore-country-resources{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 28px;padding-top:21px}
body[data-public-page="esplora-destinazioni"] .explore-country-resources section{min-width:0}
body[data-public-page="esplora-destinazioni"] .explore-country-resources h4{margin:0 0 9px;color:var(--navy);font-size:.77rem;letter-spacing:.04em;text-transform:uppercase}
body[data-public-page="esplora-destinazioni"] .explore-resource-links{display:grid;gap:7px}
body[data-public-page="esplora-destinazioni"] .explore-resource-links a{display:grid;gap:2px;color:#346173;font-size:.86rem;line-height:1.35;text-decoration:none;overflow-wrap:anywhere}
body[data-public-page="esplora-destinazioni"] .explore-resource-links a:hover{text-decoration:underline;color:var(--blue)}
body[data-public-page="esplora-destinazioni"] .explore-resource-links a:focus-visible{outline:2px solid var(--orange);outline-offset:2px;border-radius:3px}
body[data-public-page="esplora-destinazioni"] .explore-resource-links small{color:#788c95;font-size:.72rem}
body[data-public-page="esplora-destinazioni"] .explore-last-departure{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 12px;align-items:center;margin-top:auto;padding:14px 16px;border-left:4px solid var(--orange);border-radius:0 12px 12px 0;background:#fff8ed}
body[data-public-page="esplora-destinazioni"] .explore-last-departure span{grid-column:1;grid-row:1/3;align-self:stretch;display:flex;align-items:center;max-width:118px;font-size:.65rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#9a6420}
body[data-public-page="esplora-destinazioni"] .explore-last-departure strong{grid-column:2/4;grid-row:1;min-width:0;color:var(--navy);font-size:.9rem;overflow-wrap:anywhere}
body[data-public-page="esplora-destinazioni"] .explore-last-departure small{grid-column:2/4;grid-row:2;color:#6f7e85}
body[data-public-page="esplora-destinazioni"] .explore-empty-state{padding:48px 24px;border:1px solid #dbe7ec;border-radius:20px;background:#fff;text-align:center}
body[data-public-page="esplora-destinazioni"] .explore-empty-state h2{margin:0 0 10px;font-family:Georgia,serif;color:var(--navy)}
body[data-public-page="esplora-destinazioni"] .explore-empty-state p{margin:0;color:#617681}
@media(max-width:1120px){.explore-continent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-public-page="esplora-destinazioni"] .explore-country-card{grid-template-columns:minmax(290px,35%) minmax(0,1fr)}body[data-public-page="esplora-destinazioni"] .explore-country-resources{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){body[data-public-page="esplora-destinazioni"] .explore-section-heading,body[data-public-page="esplora-destinazioni"] .explore-selected-header{grid-template-columns:1fr}body[data-public-page="esplora-destinazioni"] .explore-selected-media{min-height:240px;order:-1}body[data-public-page="esplora-destinazioni"] .explore-selected-copy{padding:4px}body[data-public-page="esplora-destinazioni"] .explore-country-card{grid-template-columns:1fr}body[data-public-page="esplora-destinazioni"] .explore-country-media{min-height:245px}body[data-public-page="esplora-destinazioni"] .explore-country-visual{position:absolute}body[data-public-page="esplora-destinazioni"] .explore-country-resources{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){body[data-public-page="esplora-destinazioni"] .explore-destinations-pagehead{padding:42px 0}body[data-public-page="esplora-destinazioni"] .explore-destinations-pagehead span{font-size:.96rem}body[data-public-page="esplora-destinazioni"] .explore-destinations-section{padding-top:38px}.explore-continent-grid{grid-template-columns:1fr;gap:17px}.explore-continent-card{min-height:315px}.explore-continent-content{padding:21px}body[data-public-page="esplora-destinazioni"] .explore-selected-header{padding:15px;gap:20px}body[data-public-page="esplora-destinazioni"] .explore-selected-media{min-height:205px}body[data-public-page="esplora-destinazioni"] .explore-selected-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}body[data-public-page="esplora-destinazioni"] .explore-selected-stats span{min-width:0}body[data-public-page="esplora-destinazioni"] .explore-country-media{min-height:205px}body[data-public-page="esplora-destinazioni"] .explore-country-body{padding:20px 18px}body[data-public-page="esplora-destinazioni"] .explore-country-title-row{display:grid;gap:14px;align-items:start}body[data-public-page="esplora-destinazioni"] .explore-country-counts{justify-content:flex-start;max-width:none}body[data-public-page="esplora-destinazioni"] .explore-country-resources{grid-template-columns:1fr}body[data-public-page="esplora-destinazioni"] .explore-last-departure{grid-template-columns:1fr;gap:4px}body[data-public-page="esplora-destinazioni"] .explore-last-departure span,body[data-public-page="esplora-destinazioni"] .explore-last-departure strong,body[data-public-page="esplora-destinazioni"] .explore-last-departure small{grid-row:auto;grid-column:auto;max-width:none}body[data-public-page="esplora-destinazioni"] .explore-country-signature-code{font-size:4.4rem}}

/* Patch 0278 - storico partenze multiplo e richiesta nuova programmazione */
.travel-history-card-multiple{align-items:flex-start}
.travel-history-content{min-width:0}
.travel-history-list{display:grid;gap:12px;margin-top:18px}
.travel-history-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:14px 16px;border:1px solid #dce9ef;border-radius:16px;background:#fff}
.travel-history-list article>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.travel-history-list strong{color:var(--navy);font-size:1rem;line-height:1.3}
.travel-history-list span{color:#58717d;font-size:.9rem;line-height:1.45}
.travel-history-list .btn{white-space:nowrap}
.album-history-section{padding-top:30px}
@media(max-width:720px){
  .travel-history-list article{grid-template-columns:1fr;align-items:start}
  .travel-history-list .btn{width:100%;justify-content:center;white-space:normal;text-align:center}
}


/* Patch 0279 - collegamento gratuito WhatsApp Business, attivabile da impostazioni */
.whatsapp-business-floating{position:fixed;right:22px;bottom:22px;z-index:85;display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:10px 16px 10px 12px;border:1px solid rgba(255,255,255,.38);border-radius:999px;background:linear-gradient(180deg,#35c96d,#159447);color:#fff!important;text-decoration:none;font-size:.9rem;font-weight:800;box-shadow:0 14px 32px rgba(14,92,52,.28);transition:transform .18s ease,box-shadow .18s ease}.whatsapp-business-floating:hover,.whatsapp-business-floating:focus-visible{transform:translateY(-2px) scale(1.02);box-shadow:0 18px 38px rgba(14,92,52,.34)}.whatsapp-business-floating svg{width:27px;height:27px;fill:currentColor;flex:0 0 auto}.whatsapp-business-floating span{white-space:nowrap}@media(max-width:600px){.whatsapp-business-floating{right:14px;bottom:14px;width:52px;height:52px;min-height:52px;padding:0;justify-content:center}.whatsapp-business-floating span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.whatsapp-business-floating svg{width:29px;height:29px}}@media(prefers-reduced-motion:reduce){.whatsapp-business-floating{transition:none}}

/* Patch 0280 - contenitore neutro per ordinamento configurabile della Home */
.home-sections-managed{display:flex;flex-direction:column;width:100%;min-width:0}


/* Patch 0281 - Fase 2 Home: hero più editoriale e Prossime partenze */
body[data-public-page="home"] .hero-slider{
  min-height:clamp(510px,68vh,650px);
  background:var(--navy);
}
body[data-public-page="home"] .hero-slide{background-position:center}
body[data-public-page="home"] .hero-slide-content{
  max-width:1480px;
  padding-top:70px;
  padding-bottom:86px;
}
body[data-public-page="home"] .hero-slide .tag{
  max-width:760px;
  margin:0 0 12px;
  font-size:.76rem;
  line-height:1.45;
}
body[data-public-page="home"] .hero-slide h1{
  max-width:980px;
  margin:.12em 0;
  font-size:clamp(2.75rem,5.4vw,5.35rem);
  line-height:.97;
  letter-spacing:-.025em;
  text-wrap:balance;
}
body[data-public-page="home"] .hero-slide .lead{
  max-width:720px;
  margin:18px 0 0;
  font-size:1.08rem;
  line-height:1.65;
  text-shadow:0 2px 14px rgba(0,0,0,.24);
}
body[data-public-page="home"] .hero-slide-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:11px;
  margin-top:26px;
}
body[data-public-page="home"] .hero-slide-actions .btn{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
body[data-public-page="home"] .hero-slide-secondary{
  border-color:rgba(255,255,255,.78);
  background:rgba(8,43,63,.34);
  color:#fff;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
body[data-public-page="home"] .hero-slide-secondary:hover,
body[data-public-page="home"] .hero-slide-secondary:focus-visible{
  border-color:#fff;
  background:rgba(255,255,255,.14);
  color:#fff;
}
body[data-public-page="home"] .home-upcoming-section{background:#fff}
body[data-public-page="home"] .home-upcoming-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:1220px;
  margin:0 auto;
}
body[data-public-page="home"] .home-upcoming-actions{flex-wrap:wrap;gap:10px}
body[data-public-page="home"] .home-upcoming-actions .btn{min-width:220px}
@media(max-width:1100px){
  body[data-public-page="home"] .home-upcoming-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:850px){
  body[data-public-page="home"] .hero-slider{min-height:560px}
  body[data-public-page="home"] .hero-slide-content{padding-top:82px;padding-bottom:82px}
  body[data-public-page="home"] .hero-slide h1{max-width:760px;font-size:clamp(2.65rem,9vw,4.6rem)}
  body[data-public-page="home"] .hero-slide .lead{max-width:620px;font-size:1rem}
}
@media(max-width:600px){
  body[data-public-page="home"] .hero-slider{min-height:530px}
  body[data-public-page="home"] .hero-slide-content{padding-top:70px;padding-bottom:72px}
  body[data-public-page="home"] .hero-slide h1{font-size:clamp(2.35rem,11.5vw,3.55rem);line-height:.98}
  body[data-public-page="home"] .hero-slide .lead{margin-top:15px;font-size:.94rem;line-height:1.55}
  body[data-public-page="home"] .hero-slide-actions{align-items:stretch;gap:9px;margin-top:22px}
  body[data-public-page="home"] .hero-slide-actions .btn{width:100%;min-height:44px}
  body[data-public-page="home"] .home-upcoming-grid{grid-template-columns:1fr}
  body[data-public-page="home"] .home-upcoming-actions{align-items:stretch}
  body[data-public-page="home"] .home-upcoming-actions .btn{width:100%;min-width:0}
}


/* Patch 0282 - Fase 3 Home: “Scegli come vuoi partire” riusa le card editoriali esistenti */
body[data-public-page="home"] .home-choice-section{background:linear-gradient(180deg,#edf4f6 0%,#f7fafb 100%)}
body[data-public-page="home"] .home-choice-heading{max-width:820px;margin-bottom:26px}
body[data-public-page="home"] .home-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
body[data-public-page="home"] .home-choice-grid .home-discover-card{grid-template-columns:68px minmax(0,1fr);align-items:center;gap:14px;min-height:154px;padding:18px;border-radius:20px;box-shadow:0 10px 26px rgba(17,53,77,.065)}
body[data-public-page="home"] .home-choice-grid .home-discover-card:after{right:-74px;bottom:-92px;width:170px;height:170px}
body[data-public-page="home"] .home-choice-grid .home-discover-graphic{width:68px;height:68px;margin:0}
body[data-public-page="home"] .home-choice-grid .home-discover-graphic svg{width:39px;height:39px;stroke-width:2.4}
body[data-public-page="home"] .home-choice-grid .home-discover-copy{align-items:flex-start;text-align:left}
body[data-public-page="home"] .home-choice-grid .home-discover-copy>small{margin-bottom:5px;font-size:.62rem;letter-spacing:.12em}
body[data-public-page="home"] .home-choice-grid .home-discover-copy>strong{font-size:1.2rem;line-height:1.05}
body[data-public-page="home"] .home-choice-grid .home-discover-copy>span{margin-top:7px;font-size:.79rem;line-height:1.45}
body[data-public-page="home"] .home-choice-grid .home-discover-copy>b{margin-top:10px;font-size:.76rem}
@media(max-width:1180px){body[data-public-page="home"] .home-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}body[data-public-page="home"] .home-choice-grid .home-discover-card{min-height:142px}}
@media(max-width:650px){body[data-public-page="home"] .home-choice-heading{margin-bottom:22px}body[data-public-page="home"] .home-choice-grid{grid-template-columns:1fr;gap:10px}body[data-public-page="home"] .home-choice-grid .home-discover-card{grid-template-columns:58px minmax(0,1fr);gap:13px;min-height:0;padding:15px 14px;border-radius:17px;text-align:left}body[data-public-page="home"] .home-choice-grid .home-discover-graphic{width:58px;height:58px}body[data-public-page="home"] .home-choice-grid .home-discover-graphic svg{width:33px;height:33px}body[data-public-page="home"] .home-choice-grid .home-discover-copy{align-items:flex-start}body[data-public-page="home"] .home-choice-grid .home-discover-copy>strong{font-size:1.12rem}body[data-public-page="home"] .home-choice-grid .home-discover-copy>span{font-size:.77rem}}


/* Patch 0286 - Fase 7 Home: recensioni compatte, riuso delle card del dettaglio Viaggio */
.home-reviews-section{background:#edf3f5}
.home-review-summary{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;max-width:720px;margin:-12px auto 28px;padding:12px 18px;border:1px solid #d4e3e9;border-radius:999px;background:#fff;color:#58717d;box-shadow:0 8px 22px rgba(16,57,76,.05)}
.home-review-score{font-family:Georgia,serif;font-size:1.55rem;font-weight:700;line-height:1;color:var(--navy)}
.home-review-summary>span:last-child{font-size:.84rem}
.home-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.home-review-card{display:flex;flex-direction:column;min-height:100%;background:#fff}
.home-review-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}
.home-review-card .home-review-trip{display:grid;gap:3px;margin-top:auto;padding-top:14px;border-top:1px solid #e1eaee}
.home-review-trip>span{font-size:.66rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--orange)}
.home-review-trip>a,.home-review-trip>strong{color:var(--navy);font-size:.86rem;font-weight:800;line-height:1.3;text-decoration:none}
.home-review-trip>a:hover{text-decoration:underline}
.home-review-card>small{display:block;margin-top:10px}
@media(max-width:900px){.home-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.home-review-summary{gap:8px 10px;margin-top:-8px;margin-bottom:20px;padding:10px 14px;border-radius:18px}.home-review-grid{grid-template-columns:1fr;gap:14px}.home-review-card{padding:19px}.home-review-card p{-webkit-line-clamp:4}}


/* Patch 0290 - Fase 11: footer più ricco, ordinato e modulare */
body>.site-footer{
  margin-top:0;
  padding:58px 0 0;
  overflow:hidden;
  background:var(--theme-footer,#102d3e);
  color:#dce9ed;
}
.site-footer-main{
  display:grid;
  grid-template-columns:minmax(260px,1.25fr) minmax(210px,.9fr) minmax(190px,.72fr) minmax(220px,.9fr);
  gap:34px 42px;
  align-items:start;
}
.site-footer-brand{min-width:0}
.site-footer-brand .footer-logo-box{max-width:260px;min-height:82px}
.site-footer-tagline{max-width:390px;margin:18px 0 0;color:rgba(232,243,247,.82);font-size:.98rem;line-height:1.65}
.site-footer-brand-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.site-footer-primary-link,.site-footer-newsletter{display:inline-flex;align-items:center;gap:9px;color:#fff!important;font-weight:850;text-decoration:none}
.site-footer-primary-link span,.site-footer-newsletter span{color:#ffd18f;font-size:1.15rem;transition:transform .18s ease}
.site-footer-primary-link:hover span,.site-footer-primary-link:focus-visible span,.site-footer-newsletter:hover span,.site-footer-newsletter:focus-visible span{transform:translateX(3px)}
.site-footer-whatsapp{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:7px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);color:#fff!important;text-decoration:none;font-size:.82rem;font-weight:850;transition:background .18s ease,transform .18s ease}
.site-footer-whatsapp:hover,.site-footer-whatsapp:focus-visible{background:rgba(255,255,255,.14);transform:translateY(-1px)}
.site-footer-whatsapp svg{width:19px;height:19px;fill:#51d984;flex:0 0 auto}
.site-footer-block{min-width:0}
.site-footer-block h3{margin:2px 0 18px;color:#fff;font-size:.82rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.site-footer-business{display:block;margin:-7px 0 13px;color:#fff;font-size:.94rem}
.site-footer-contact-list{display:grid;gap:12px}
.site-footer-contact-list>a,.site-footer-contact-list>span{display:grid;grid-template-columns:22px minmax(0,1fr);gap:9px;align-items:start;color:#dce9ed;text-decoration:none;font-size:.9rem;line-height:1.45}
.site-footer-contact-list>a:hover,.site-footer-contact-list>a:focus-visible{color:#fff}
.site-footer-contact-list svg{width:18px;height:18px;margin-top:2px;fill:none;stroke:#80c9df;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-footer-nav{display:grid;grid-template-columns:1fr;gap:8px}
.site-footer-nav a{display:flex;align-items:center;min-height:28px;color:#dce9ed;text-decoration:none;font-size:.9rem;font-weight:650}
.site-footer-nav a:hover,.site-footer-nav a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:4px}
.site-footer-stay p{margin:-3px 0 13px;color:rgba(220,233,237,.78);font-size:.9rem;line-height:1.55}
.site-footer-newsletter{font-size:.9rem}
.site-footer-social{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.site-footer-social a{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(255,255,255,.06);color:#fff;transition:transform .18s ease,background .18s ease}
.site-footer-social a:hover,.site-footer-social a:focus-visible{background:rgba(255,255,255,.14);transform:translateY(-2px)}
.site-footer-social svg{width:20px;height:20px;fill:currentColor}
.site-footer-bottom{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-top:42px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12)}
.site-footer-legal-copy{display:flex;flex-wrap:wrap;gap:7px 18px;max-width:760px;color:rgba(220,233,237,.72);font-size:.78rem;line-height:1.55}
.site-footer-legal-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 15px}
.site-footer-legal-links a,.site-footer-legal-links button{padding:0;border:0;background:transparent;color:#fff;font:inherit;font-size:.8rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.site-footer-legal-links a:hover,.site-footer-legal-links a:focus-visible,.site-footer-legal-links button:hover,.site-footer-legal-links button:focus-visible{color:#ffd18f}
.site-footer .copy{margin-top:20px;padding:15px 0;border-top:1px solid rgba(255,255,255,.08);color:rgba(220,233,237,.62);font-size:.78rem}
@media(max-width:1180px){
  .site-footer-main{grid-template-columns:minmax(260px,1.15fr) repeat(2,minmax(190px,.85fr))}
  .site-footer-stay{grid-column:2/4}
}
@media(max-width:850px){
  body>.site-footer{padding-top:46px}
  .site-footer-main{grid-template-columns:1fr 1fr;gap:32px}
  .site-footer-brand{grid-column:1/-1}
  .site-footer-stay{grid-column:auto}
  .site-footer-bottom{flex-direction:column;gap:15px}
  .site-footer-legal-links{justify-content:flex-start}
}
@media(max-width:560px){
  body>.site-footer{padding-top:38px}
  .site-footer-main{grid-template-columns:1fr;gap:30px}
  .site-footer-brand,.site-footer-stay{grid-column:auto}
  .site-footer-brand .footer-logo-box{max-width:235px}
  .site-footer-brand-actions{align-items:flex-start;flex-direction:column}
  .site-footer-whatsapp{max-width:100%}
  .site-footer-bottom{margin-top:32px}
}

/* Patch 0346 - riepilogo commerciale delle schede viaggio e gita */
.card:not(.card-primo-piano) .cardbody .meta{
  order:20;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  width:100%;
  margin:auto 0 0;
  padding:0;
  font-size:inherit;
}
.card:not(.card-primo-piano) .cardbody .meta-item{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto auto;
  gap:3px;
  min-width:0;
  padding:11px 8px;
  align-items:center;
  border:0;
  border-radius:0;
  background:transparent;
  text-align:center;
}
.card:not(.card-primo-piano) .cardbody .meta-item:only-child{
  grid-column:1 / -1;
}
.card:not(.card-primo-piano) .cardbody .meta-item::before{
  display:none;
  content:none;
}
.card:not(.card-primo-piano) .cardbody .meta-item--departure::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23087f97' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3v3M17 3v3M4 9h16M5 5h14a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E");
}
.card:not(.card-primo-piano) .cardbody .meta-item--duration::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23087f97' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}
.card:not(.card-primo-piano) .cardbody .meta-label{
  grid-column:1;
  grid-row:1;
  display:block;
  color:var(--orange);
  font-size:.61rem;
  font-weight:900;
  line-height:1.1;
  letter-spacing:.07em;
  text-transform:uppercase;
  white-space:nowrap;
}
.card:not(.card-primo-piano) .cardbody .meta-item b{
  grid-column:1;
  grid-row:2;
  min-width:0;
  color:#123a46;
  font-size:.79rem;
  font-weight:800;
  line-height:1.2;
  white-space:nowrap;
}
.card:not(.card-primo-piano) .cardbody .price{
  order:22;
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  width:100%;
  margin:10px 0 0;
  padding:13px 15px 13px 18px;
  align-items:center;
  border:1px solid #cfe2e8;
  border-radius:14px;
  background:linear-gradient(110deg,#edf7fa 0%,#fff 78%);
  color:var(--navy);
  font-size:.72rem;
  font-weight:900;
  line-height:1.1;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.card:not(.card-primo-piano) .cardbody .price::before{
  position:absolute;
  top:11px;
  bottom:11px;
  left:0;
  width:3px;
  border-radius:0 3px 3px 0;
  background:var(--orange);
  content:"";
}
.card:not(.card-primo-piano) .cardbody .price strong{
  color:#087f97;
  font-family:Georgia,serif;
  font-size:1.65rem;
  font-weight:700;
  line-height:1;
  letter-spacing:0;
  text-transform:none;
  white-space:nowrap;
}
.card:not(.card-primo-piano) .cardbody .card-services{
  order:21;
  margin:13px 0 5px;
  padding-top:12px;
  border-top:1px solid #e1eaee;
}
.card:not(.card-primo-piano) .cardbody .card-services-title{
  margin-bottom:8px;
  color:#667a82;
  font-size:.7rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.card:not(.card-primo-piano) .cardbody .card-service-icon{
  width:38px;
  height:38px;
  border-color:#d6e4e8;
  box-shadow:none;
}
.card:not(.card-primo-piano) .cardbody .card-service-icon img{
  width:27px;
  height:27px;
}
.card:not(.card-primo-piano) .cardbody .card-action-btn{
  order:23;
  margin-top:8px;
}
@media(max-width:560px){
  .card:not(.card-primo-piano) .cardbody .meta{
    gap:8px;
  }
  .card:not(.card-primo-piano) .cardbody .meta-item{
    grid-template-columns:minmax(0,1fr);
    padding:10px 8px;
  }
  .card:not(.card-primo-piano) .cardbody .meta-item::before{
    width:32px;
    height:32px;
    background-size:18px 18px;
  }
  .card:not(.card-primo-piano) .cardbody .meta-item b{
    font-size:.76rem;
  }
  .card:not(.card-primo-piano) .cardbody .price{
    padding-right:13px;
  }
  .card:not(.card-primo-piano) .cardbody .price strong{
    font-size:1.5rem;
  }
}

@media(prefers-reduced-motion:reduce){.site-footer-primary-link span,.site-footer-newsletter span,.site-footer-whatsapp,.site-footer-social a{transition:none}}


/* Patch 0291 - menu pubblico mobile compatto e leggibile */
@media(max-width:1220px){
  .site-sticky-shell header .nav{position:relative}
  .site-sticky-shell header #menu{
    display:none;
    position:absolute;
    top:calc(100% + 10px);
    left:14px;
    right:14px;
    width:auto;
    max-height:calc(100dvh - var(--site-sticky-offset,120px) - 24px);
    overflow-y:auto;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    padding:12px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
    background:linear-gradient(145deg,var(--navy),#0b2b3e);
    box-shadow:0 20px 46px rgba(7,35,52,.28);
    scrollbar-width:thin;
    overscroll-behavior:contain;
  }
  .site-sticky-shell header #menu.open{display:grid}
  .site-sticky-shell header #menu a{
    display:flex;
    align-items:center;
    min-width:0;
    min-height:46px;
    padding:10px 12px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:12px;
    background:rgba(255,255,255,.065);
    color:#fff!important;
    font-size:.9rem;
    font-weight:800;
    line-height:1.25;
    text-decoration:none;
    overflow-wrap:anywhere;
  }
  .site-sticky-shell header #menu a:last-child{border-bottom:1px solid rgba(255,255,255,.10)}
  .site-sticky-shell header #menu a:hover,
  .site-sticky-shell header #menu a:focus-visible{
    background:rgba(255,255,255,.15);
    border-color:rgba(255,255,255,.22);
    color:#fff!important;
    outline:none;
  }
  .site-sticky-shell header #menu .nav-favorites-link [data-favorite-count]{margin-left:auto;flex:0 0 auto}
}
@media(max-width:850px){
  /* I nav secondari non devono ereditare il vecchio comportamento del menu principale. */
  .site-sticky-shell .top-social{
    display:flex!important;
    position:static!important;
    inset:auto!important;
    width:auto!important;
    max-height:none!important;
    overflow:visible!important;
    flex-direction:row!important;
    gap:6px!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .site-footer .site-footer-nav{
    display:grid!important;
    position:static!important;
    inset:auto!important;
    width:auto!important;
    max-height:none!important;
    overflow:visible!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
}
@media(max-width:560px){
  .site-sticky-shell header #menu{
    top:calc(100% + 8px);
    left:10px;
    right:10px;
    gap:7px;
    padding:10px;
    border-radius:16px;
  }
  .site-sticky-shell header #menu a{
    min-height:44px;
    padding:9px 10px;
    border-radius:11px;
    font-size:.84rem;
  }
}

/* Patch 0355 - componente definitivo dei metadati nelle card
   Testo reale, icone semantiche e un'unica griglia senza pseudo-etichette. */
.card:not(.card-primo-piano) .cardbody .meta{
  order:20;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  width:100%;
  margin:auto 0 0;
  padding:4px 0;
  border-top:1px solid #dce8ec;
  border-bottom:1px solid #dce8ec;
}
.card:not(.card-primo-piano) .cardbody .meta-item{
  position:relative;
  display:grid;
  grid-template-columns:15px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:7px;
  row-gap:3px;
  min-width:0;
  padding:8px 9px;
  align-items:center;
  border:0;
  border-radius:0;
  background:transparent;
  text-align:left;
}
/* Patch 0356 - asse centrale condiviso solo nelle card con Partenza e Durata. */
.card:not(.card-primo-piano) .cardbody .meta-item:not(:only-child){
  display:flex;
  flex-direction:column;
  gap:3px;
  align-items:center;
  justify-content:center;
}
.card:not(.card-primo-piano) .cardbody .meta-item + .meta-item{
  border-left:1px solid #e2ecef;
}
.card:not(.card-primo-piano) .cardbody .meta-item:only-child{
  grid-column:1 / -1;
  width:max-content;
  max-width:100%;
  justify-self:center;
}
.card:not(.card-primo-piano) .cardbody .meta-item::before{
  display:block;
  grid-column:1;
  grid-row:1;
  width:15px;
  height:15px;
  margin:0;
  align-self:center;
  content:"";
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  background-image:var(--card-meta-icon);
}
.card:not(.card-primo-piano) .cardbody .meta-item--departure{
  --card-meta-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23087fa7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3v3M17 3v3M4 9h16M5 5h14a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E");
}
.card:not(.card-primo-piano) .cardbody .meta-item--duration{
  --card-meta-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23087fa7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}
.card:not(.card-primo-piano) .cardbody .meta-label{
  display:block;
  grid-column:2;
  grid-row:1;
  width:auto;
  min-width:0;
  margin:0;
  color:var(--orange);
  font-size:.61rem;
  font-weight:900;
  line-height:1.1;
  letter-spacing:.07em;
  text-align:left;
  text-transform:uppercase;
  white-space:nowrap;
}
.card:not(.card-primo-piano) .cardbody .meta-label::before,
.card:not(.card-primo-piano) .cardbody .meta-label::after{
  display:none;
  content:none;
}
.card:not(.card-primo-piano) .cardbody .meta-item:not(:only-child)::before{
  display:none;
  content:none;
}
.card:not(.card-primo-piano) .cardbody .meta-item:not(:only-child) .meta-label{
  display:inline-flex;
  gap:7px;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.card:not(.card-primo-piano) .cardbody .meta-item:not(:only-child) .meta-label::before{
  display:block;
  width:15px;
  height:15px;
  flex:0 0 15px;
  content:"";
  background-image:var(--card-meta-icon);
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
}
.card:not(.card-primo-piano) .cardbody .meta-item b{
  display:block;
  grid-column:1 / -1;
  grid-row:2;
  min-width:0;
  margin:0;
  color:#123a46;
  font-size:clamp(.64rem,1vw,.78rem);
  font-variant-numeric:tabular-nums;
  font-weight:850;
  line-height:1.15;
  text-align:center;
  white-space:nowrap;
}
.card:not(.card-primo-piano) .cardbody .card-services{
  order:21;
  margin:13px 0 5px;
  padding-top:12px;
  border-top:0;
}
.card:not(.card-primo-piano) .cardbody .price{
  order:22;
}
.card-action-btn,
.featured-showcase-btn{
  display:none!important;
}

/* Offerte in primo piano: Partenza e Durata su due righe autonome. */
.featured-showcase-info{
  display:flex;
}
.featured-showcase-media{
  overflow:hidden;
}
.featured-showcase-meta{
  order:20;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:0;
  width:100%;
  margin:auto 0 0;
  padding:4px 0;
  border-top:1px solid #dce8ec;
  border-bottom:1px solid #dce8ec;
}
.featured-showcase-meta-row,
.featured-showcase-meta-row:only-child{
  display:grid;
  grid-column:1;
  grid-template-columns:max-content minmax(0,1fr);
  gap:12px;
  min-width:0;
  padding:8px 4px;
  align-items:center;
  border:0;
  text-align:left;
}
.featured-showcase-meta-row + .featured-showcase-meta-row{
  border-top:1px solid #e2ecef;
}
.featured-showcase-meta-row span{
  display:grid;
  grid-template-columns:15px max-content;
  column-gap:6px;
  align-items:center;
  width:max-content;
  max-width:100%;
  min-width:0;
  margin:0;
  color:var(--orange);
  font-size:.58rem;
  font-weight:900;
  line-height:1.1;
  letter-spacing:.06em;
  text-align:left;
  text-transform:uppercase;
  white-space:nowrap;
}
.featured-showcase-meta-row span::before{
  display:block;
  grid-column:1;
  width:15px;
  height:15px;
  margin:0;
  content:"";
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
}
.featured-showcase-meta-row--departure span::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23087fa7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3v3M17 3v3M4 9h16M5 5h14a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E");
}
.featured-showcase-meta-row--duration span::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23087fa7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}
.featured-showcase-meta-row span::after{
  display:none;
  content:none;
}
.featured-showcase-meta-row strong{
  display:block;
  min-width:0;
  color:var(--navy);
  font-size:.77rem;
  font-variant-numeric:tabular-nums;
  font-weight:900;
  line-height:1.15;
  text-align:right;
  white-space:nowrap;
}
.featured-showcase-services-wrap{
  order:21;
  margin-top:10px;
}
.featured-showcase-price-block{
  order:22;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  margin-top:10px;
  padding:11px 12px 11px 15px;
  align-items:center;
  border:1px solid #cfe2e8;
  border-left:3px solid var(--orange);
  border-radius:13px;
  background:linear-gradient(110deg,#edf7fa 0%,#fff 78%);
  text-align:left;
}
.featured-showcase-price-label{
  margin:0;
  color:var(--navy);
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.featured-showcase-price{
  color:var(--blue);
  font-family:Georgia,serif;
  font-size:1.55rem;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
}

@media(max-width:560px){
  .card:not(.card-primo-piano) .cardbody .meta-item{
    grid-template-columns:14px minmax(0,1fr);
    column-gap:6px;
    padding:8px 7px;
  }
  .card:not(.card-primo-piano) .cardbody .meta-item::before{
    width:14px;
    height:14px;
  }
  .card:not(.card-primo-piano) .cardbody .meta-item:not(:only-child) .meta-label{
    gap:6px;
  }
  .card:not(.card-primo-piano) .cardbody .meta-item:not(:only-child) .meta-label::before{
    width:14px;
    height:14px;
    flex-basis:14px;
  }
  .card:not(.card-primo-piano) .cardbody .meta-item b{
    font-size:clamp(.58rem,2.9vw,.75rem);
  }
  .featured-showcase-meta-row{
    gap:10px;
  }
  .featured-showcase-meta-row span{
    grid-template-columns:14px max-content;
    column-gap:5px;
  }
  .featured-showcase-meta-row span::before{
    width:14px;
    height:14px;
  }
}

/* Patch 0357 - tema Libero e card compatte dei viaggi consigliati */
body.tema-personalizzato{
  --blue:#087fa7;
  --navy:#11354d;
  --orange:#f4a33b;
  --bg:#f3f7f8;
  --text:#18313e;
  --theme-soft:#eaf5f8;
  --theme-accent-soft:#fff1dd;
  --theme-footer:#102d3e;
  --theme-gradient-start:#0a789b;
  --theme-gradient-end:#173b53;
  --theme-on-accent:#153442;
}
body.tema-personalizzato .home-group-alt,
body.tema-personalizzato .trip-recommended-mobile-section{
  background:var(--theme-soft);
}
.trip-recommended-link>.trip-recommended-content{
  display:grid;
  gap:10px;
  min-width:0;
  padding:12px 12px 13px;
}
.trip-recommended-link .trip-recommended-card-title{
  display:block;
  margin:0;
  color:var(--navy);
  font-size:.91rem;
  font-weight:800;
  line-height:1.23;
  overflow-wrap:anywhere;
}
.trip-recommended-facts{
  display:grid;
  gap:7px;
  padding-top:9px;
  border-top:1px solid #e2ebef;
}
.trip-recommended-fact{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:8px;
  min-width:0;
  align-items:center;
}
.trip-recommended-link .trip-recommended-fact>.trip-recommended-fact-icon{
  display:grid;
  place-items:center;
  width:28px;
  min-width:28px;
  height:28px;
  margin:0;
  padding:0;
  border-radius:50%;
  background:var(--theme-soft,#eaf5f8);
  color:var(--blue);
}
.trip-recommended-fact-icon svg{
  display:block;
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.trip-recommended-link .trip-recommended-fact>.trip-recommended-fact-copy{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  min-width:0;
  margin:0;
  padding:0;
  align-items:baseline;
}
.trip-recommended-fact-copy small{
  display:block;
  min-width:0;
  margin:0;
  padding:0;
  color:var(--orange);
  font-size:.6rem;
  font-weight:900;
  line-height:1.1;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.trip-recommended-fact-copy b{
  min-width:0;
  color:var(--navy);
  font-size:.76rem;
  font-variant-numeric:tabular-nums;
  font-weight:850;
  line-height:1.1;
  text-align:right;
  white-space:nowrap;
}
.trip-recommended-fact--price{
  grid-template-columns:28px minmax(0,1fr);
  gap:8px;
  align-items:center;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.trip-recommended-fact--price .trip-recommended-fact-icon{
  background:var(--theme-soft,#eaf5f8);
  color:var(--blue);
  box-shadow:none;
}
.trip-recommended-fact--price .trip-recommended-fact-copy b{
  color:var(--blue);
  font-family:Georgia,serif;
  font-size:.96rem;
  font-weight:700;
}
@media(max-width:760px){
  .trip-recommended-mobile-list .trip-recommended-link>.trip-recommended-content{
    padding:14px 15px 16px;
  }
  .trip-recommended-mobile-list .trip-recommended-card-title{
    font-size:1rem;
  }
  .trip-recommended-mobile-list .trip-recommended-fact{
    grid-template-columns:32px minmax(0,1fr);
  }
  .trip-recommended-mobile-list .trip-recommended-fact>.trip-recommended-fact-icon{
    width:32px;
    min-width:32px;
    height:32px;
  }
  .trip-recommended-mobile-list .trip-recommended-fact-copy small{font-size:.64rem}
  .trip-recommended-mobile-list .trip-recommended-fact-copy b{font-size:.82rem}
  .trip-recommended-mobile-list .trip-recommended-fact--price .trip-recommended-fact-copy b{font-size:1.05rem}
}

/* Patch 0365 - Natale “Casa di Babbo Natale”: ricco, ordinato e senza cornici stirate. */
body.tema-natale.natale-decorazioni{
  --natale-verde:#123f30;
  --natale-verde-profondo:#092c23;
  --natale-bordeaux:#7f1827;
  --natale-bordeaux-scuro:#55101b;
  --natale-oro:#d7ad4b;
  --natale-oro-chiaro:#f3d78a;
  background:
    radial-gradient(circle at 12% 15%,rgba(215,173,75,.11),transparent 28rem),
    radial-gradient(circle at 88% 38%,rgba(127,24,39,.075),transparent 32rem),
    #faf7f0;
}
body.tema-natale.natale-decorazioni main{background:transparent}
body.tema-natale.natale-decorazioni .site-sticky-shell{
  overflow:visible;
  background:#fffaf1;
  box-shadow:0 8px 28px rgba(9,44,35,.20),0 1px 0 rgba(215,173,75,.65);
}
body.tema-natale.natale-decorazioni .site-sticky-shell>.top{
  background:
    radial-gradient(circle at 18% 0,rgba(255,255,255,.10),transparent 24rem),
    linear-gradient(105deg,var(--natale-bordeaux-scuro),var(--natale-bordeaux) 44%,var(--natale-verde) 44%,var(--natale-verde-profondo));
  border-bottom:1px solid rgba(243,215,138,.65);
  color:#fffaf0;
}
body.tema-natale.natale-decorazioni .site-sticky-shell>header{
  background:linear-gradient(180deg,#fffefb,#fff8e9);
  box-shadow:inset 0 -1px 0 rgba(215,173,75,.42)!important;
}
body.tema-natale.natale-decorazioni .site-sticky-shell::after{
  content:"";
  position:absolute;
  z-index:3;
  right:0;
  bottom:-22px;
  left:0;
  height:46px;
  background:url('../img/tema-natale-card-0364-t.png') center bottom/auto 46px repeat-x;
  filter:drop-shadow(0 8px 8px rgba(9,44,35,.28));
  pointer-events:none;
}
body.tema-natale.natale-decorazioni .site-sticky-shell .logo{filter:drop-shadow(0 5px 9px rgba(10,55,42,.12))}
body.tema-natale.natale-decorazioni .top-social a{
  border-color:rgba(243,215,138,.72);
  background:rgba(255,250,240,.08);
  color:#fff7df;
}
body.tema-natale.natale-decorazioni .top-social a:hover,
body.tema-natale.natale-decorazioni .top-social a:focus-visible{background:var(--natale-oro);border-color:var(--natale-oro-chiaro);color:var(--natale-verde-profondo)}
body.tema-natale.natale-decorazioni .top-phone{color:#fff7df}
body.tema-natale.natale-decorazioni .top-phone-label{color:var(--natale-oro-chiaro);opacity:1}
body.tema-natale.natale-decorazioni header #menu{gap:4px}
body.tema-natale.natale-decorazioni header #menu>a{
  min-height:40px;
  padding:8px 11px;
  border:1px solid transparent;
  border-radius:999px;
  color:var(--natale-verde-profondo);
  transition:color .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
body.tema-natale.natale-decorazioni header #menu>a:hover,
body.tema-natale.natale-decorazioni header #menu>a:focus-visible{
  border-color:rgba(215,173,75,.70);
  background:linear-gradient(180deg,#fffdf7,#f9ebc8);
  color:var(--natale-bordeaux);
  box-shadow:0 7px 17px rgba(85,16,27,.10),inset 0 0 0 1px rgba(255,255,255,.72);
  outline:none;
  transform:translateY(-1px);
}
body.tema-natale.natale-decorazioni header #menuBtn{
  min-width:92px;
  border:1px solid var(--natale-oro-chiaro);
  border-radius:999px;
  background:linear-gradient(180deg,#a4293c,var(--natale-bordeaux-scuro));
  color:#fffaf0;
  box-shadow:0 8px 18px rgba(85,16,27,.22),inset 0 1px 0 rgba(255,255,255,.22);
  font-weight:850;
}
body.tema-natale.natale-decorazioni .hero-slider,
body.tema-natale.natale-decorazioni .pagehead,
body.tema-natale.natale-decorazioni .trip-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  box-shadow:inset 0 0 0 2px rgba(243,215,138,.62),inset 0 -9px 24px rgba(9,44,35,.18);
}
body.tema-natale.natale-decorazioni .hero-slider{border-bottom:4px solid var(--natale-oro)}
body.tema-natale.natale-decorazioni .hero-slide{
  position:absolute;
  inset:0;
  isolation:isolate;
  overflow:hidden;
}
body.tema-natale.natale-decorazioni .hero-slide-content,
body.tema-natale.natale-decorazioni .pagehead>.wrap,
body.tema-natale.natale-decorazioni .trip-hero-content{position:relative;z-index:2}
body.tema-natale.natale-decorazioni[data-public-page="home"] .hero-slide-content{padding-right:min(40vw,590px)}
body.tema-natale.natale-decorazioni .hero-slide .tag,
body.tema-natale.natale-decorazioni .pagehead p{color:var(--natale-oro-chiaro);text-shadow:0 2px 12px rgba(0,0,0,.38)}
body.tema-natale.natale-decorazioni .hero-slide h1,
body.tema-natale.natale-decorazioni .pagehead h1,
body.tema-natale.natale-decorazioni .trip-hero h1{text-shadow:0 3px 22px rgba(0,0,0,.45)}
body.tema-natale.natale-neve .hero-slide::before,
body.tema-natale.natale-neve .pagehead::before,
body.tema-natale.natale-neve .trip-hero::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:-230px -80px -80px;
  background-image:
    radial-gradient(circle,rgba(255,255,255,.96) 0 1.9px,transparent 2.35px),
    radial-gradient(circle,rgba(255,255,255,.78) 0 1.3px,transparent 1.75px),
    radial-gradient(circle,rgba(255,255,255,.52) 0 1px,transparent 1.5px);
  background-size:132px 138px,196px 204px,286px 294px;
  background-position:17px -35px,68px -108px,9px -172px;
  opacity:.78;
  animation:nitorin-natale-neve 24s linear infinite;
  pointer-events:none;
  will-change:background-position;
}
body.tema-natale.natale-decorazioni[data-public-page="home"] .hero-slide::after{
  content:"";
  position:absolute;
  z-index:1;
  right:1.5%;
  bottom:3%;
  width:min(41vw,610px);
  aspect-ratio:3/2;
  background:none;
  filter:drop-shadow(0 20px 24px rgba(4,25,19,.44));
  pointer-events:none;
}
body.tema-natale.natale-decorazioni .btn{
  border:1px solid #efd27c;
  background:linear-gradient(180deg,#f1cc69,#c9942e);
  color:#26382e;
  box-shadow:0 10px 24px rgba(85,16,27,.16),inset 0 1px 0 rgba(255,255,255,.55);
}
body.tema-natale.natale-decorazioni .btn:hover,
body.tema-natale.natale-decorazioni .btn:focus-visible{background:linear-gradient(180deg,#f6dc96,#d8a743);transform:translateY(-1px)}
body.tema-natale.natale-decorazioni .btn.secondary{
  border-color:rgba(255,255,255,.76);
  background:rgba(9,44,35,.34);
  color:#fff;
  backdrop-filter:blur(5px);
}
body.tema-natale.natale-decorazioni .home-group-alt,
body.tema-natale.natale-decorazioni .home-reviews-section,
body.tema-natale.natale-decorazioni .home-choice-section{
  background:linear-gradient(180deg,#f3eee2,#fffaf1);
}
body.tema-natale.natale-decorazioni .home-section-heading h2,
body.tema-natale.natale-decorazioni .title h2{color:var(--natale-verde-profondo)}
body.tema-natale.natale-decorazioni .home-section-heading>p,
body.tema-natale.natale-decorazioni .title>p,
body.tema-natale.natale-decorazioni .trip-section-kicker{color:var(--natale-bordeaux)}
body.tema-natale.natale-decorazioni .home-divider{
  width:112px;
  height:5px;
  margin-top:18px;
  background:linear-gradient(90deg,var(--natale-verde) 0 31%,var(--natale-oro) 31% 69%,var(--natale-bordeaux) 69% 100%);
  box-shadow:0 2px 8px rgba(85,16,27,.18);
}
body.tema-natale.natale-decorazioni .grid,
body.tema-natale.natale-decorazioni .featured-rail{gap:34px;overflow:visible}

/* Le decorazioni coprono il perimetro reale senza diventare il bordo della card. */
body.tema-natale.natale-decorazioni .card,
body.tema-natale.natale-decorazioni .featured-showcase{
  position:relative;
  isolation:isolate;
  overflow:visible;
  border:1px solid rgba(215,173,75,.42);
  border-radius:20px;
  background:#fff;
  box-shadow:0 18px 42px rgba(9,44,35,.13),0 4px 12px rgba(85,16,27,.07);
}
body.tema-natale.natale-decorazioni .card::before,
body.tema-natale.natale-decorazioni .featured-showcase::before{
  content:"";
  position:absolute;
  z-index:4;
  inset:-12px;
  border-radius:29px;
  background:
    url('../img/tema-natale-card-0364-t.png') center top/auto 24px repeat-x,
    url('../img/tema-natale-card-0364-b.png') center bottom/auto 24px repeat-x,
    url('../img/tema-natale-card-0364-l.png') left center/24px auto repeat-y,
    url('../img/tema-natale-card-0364-r.png') right center/24px auto repeat-y;
  filter:drop-shadow(0 7px 7px rgba(9,44,35,.19));
  pointer-events:none;
}
body.tema-natale.natale-decorazioni .card>*:not(.card-type-badge),
body.tema-natale.natale-decorazioni .featured-showcase>*{position:relative;z-index:1}
body.tema-natale.natale-decorazioni .card .card-type-badge,
body.tema-natale.natale-decorazioni .featured-showcase .featured-showcase-type,
body.tema-natale.natale-decorazioni .card .card-status-badge{z-index:5}
body.tema-natale.natale-decorazioni .card-media,
body.tema-natale.natale-decorazioni .card-media>img,
body.tema-natale.natale-decorazioni .featured-showcase-media,
body.tema-natale.natale-decorazioni .featured-showcase-media>img{border-radius:18px 18px 0 0}
body.tema-natale.natale-decorazioni .trip-recommended-link{
  position:relative;
  isolation:isolate;
  overflow:visible;
  border:1px solid rgba(215,173,75,.38);
  border-radius:15px;
  background:#fff;
}
body.tema-natale.natale-decorazioni .trip-recommended-link::before{
  content:"";
  position:absolute;
  z-index:4;
  inset:-5px;
  border-radius:18px;
  background:
    url('../img/tema-natale-card-0364-t.png') center top/auto 11px repeat-x,
    url('../img/tema-natale-card-0364-b.png') center bottom/auto 11px repeat-x,
    url('../img/tema-natale-card-0364-l.png') left center/11px auto repeat-y,
    url('../img/tema-natale-card-0364-r.png') right center/11px auto repeat-y;
  pointer-events:none;
}
body.tema-natale.natale-decorazioni .trip-recommended-link>*{position:relative;z-index:1}
body.tema-natale.natale-decorazioni .card-type-badge,
body.tema-natale.natale-decorazioni .featured-showcase-type{
  border:1px solid rgba(255,244,207,.72)!important;
  background:linear-gradient(180deg,#a72a3d,var(--natale-bordeaux))!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(85,16,27,.28),inset 0 1px 0 rgba(255,255,255,.24);
}
body.tema-natale.natale-decorazioni .card-type-badge.gita,
body.tema-natale.natale-decorazioni .featured-showcase-type.gita{background:linear-gradient(180deg,#277354,var(--natale-verde))!important}
body.tema-natale.natale-decorazioni[data-public-page="home"] .home-search-section{position:relative;z-index:6;background:transparent}
body.tema-natale.natale-decorazioni[data-public-page="home"] .hero-slider + .home-search-section{margin-top:-40px}
body.tema-natale.natale-decorazioni .search-panel,
body.tema-natale.natale-decorazioni .trip-booking-card{
  border-color:rgba(215,173,75,.52);
  background:linear-gradient(180deg,#fff,#fffaf0);
  box-shadow:0 18px 42px rgba(9,44,35,.12);
}

body.tema-natale.natale-decorazioni>.site-footer{
  position:relative;
  isolation:isolate;
  padding-top:94px;
  background:
    radial-gradient(circle at 16% 20%,rgba(215,173,75,.18),transparent 30rem),
    radial-gradient(circle at 92% 88%,rgba(127,24,39,.38),transparent 34rem),
    linear-gradient(135deg,var(--natale-verde),var(--natale-verde-profondo) 58%,#061f19);
  border-top:2px solid var(--natale-oro);
}
body.tema-natale.natale-decorazioni>.site-footer::before{
  content:"";
  position:absolute;
  z-index:3;
  top:-2px;
  right:0;
  left:0;
  height:66px;
  background:url('../img/tema-natale-card-0364-t.png') center top/auto 66px repeat-x;
  filter:drop-shadow(0 10px 10px rgba(4,24,18,.36));
  pointer-events:none;
}
body.tema-natale.natale-decorazioni>.site-footer::after{
  content:"";
  position:absolute;
  z-index:0;
  right:-65px;
  bottom:-25px;
  width:min(38vw,560px);
  aspect-ratio:3/2;
  background:none;
  opacity:.13;
  filter:saturate(.85);
  pointer-events:none;
}
body.tema-natale.natale-decorazioni>.site-footer .site-footer-main,
body.tema-natale.natale-decorazioni>.site-footer .site-footer-bottom,
body.tema-natale.natale-decorazioni>.site-footer .copy{position:relative;z-index:2}
body.tema-natale.natale-decorazioni>.site-footer .site-footer-main{gap:28px}
body.tema-natale.natale-decorazioni>.site-footer .site-footer-block{
  min-height:100%;
  padding:22px 20px;
  border:1px solid rgba(243,215,138,.30);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(255,250,240,.10),rgba(255,255,255,.035));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 12px 28px rgba(0,0,0,.10);
  backdrop-filter:blur(3px);
}
body.tema-natale.natale-decorazioni>.site-footer .footer-logo-box{
  border:1px solid rgba(243,215,138,.72);
  background:linear-gradient(180deg,#fff,#fff7df);
  box-shadow:0 12px 30px rgba(0,0,0,.20),inset 0 0 0 4px rgba(215,173,75,.09);
}
body.tema-natale.natale-decorazioni>.site-footer .site-footer-tagline{color:#fff7df}
body.tema-natale.natale-decorazioni>.site-footer .site-footer-block h3{
  padding-bottom:10px;
  border-bottom:1px solid rgba(243,215,138,.38);
  color:var(--natale-oro-chiaro);
}
body.tema-natale.natale-decorazioni>.site-footer .site-footer-contact-list>a,
body.tema-natale.natale-decorazioni>.site-footer .site-footer-contact-list>span,
body.tema-natale.natale-decorazioni>.site-footer .site-footer-nav a,
body.tema-natale.natale-decorazioni>.site-footer .site-footer-stay p{color:rgba(255,250,240,.88)}
body.tema-natale.natale-decorazioni>.site-footer .site-footer-contact-list svg{stroke:var(--natale-oro-chiaro)}
body.tema-natale.natale-decorazioni>.site-footer .site-footer-social a,
body.tema-natale.natale-decorazioni>.site-footer .site-footer-whatsapp{
  border-color:rgba(243,215,138,.48);
  background:linear-gradient(180deg,rgba(127,24,39,.86),rgba(85,16,27,.86));
  box-shadow:0 7px 16px rgba(0,0,0,.16);
}
body.tema-natale.natale-decorazioni>.site-footer .site-footer-bottom{border-top-color:rgba(243,215,138,.38)}
body.tema-natale.natale-decorazioni>.site-footer .copy{border-top-color:rgba(243,215,138,.24);color:rgba(255,247,223,.72)}

@keyframes nitorin-natale-neve{
  from{background-position:17px -35px,68px -108px,9px -172px}
  to{background-position:83px 655px,2px 708px,152px 778px}
}
@media(max-width:1220px){
  body.tema-natale.natale-decorazioni .site-sticky-shell header #menu{
    top:calc(100% + 19px);
    padding:40px 15px 15px;
    border:2px solid var(--natale-oro);
    border-radius:22px;
    background:
      url('../img/tema-natale-card-0364-t.png') center top/auto 32px repeat-x,
      radial-gradient(circle at 100% 0,rgba(215,173,75,.18),transparent 18rem),
      linear-gradient(145deg,var(--natale-bordeaux-scuro),var(--natale-verde-profondo) 62%);
    box-shadow:0 25px 54px rgba(4,24,18,.42),inset 0 0 0 1px rgba(255,255,255,.08);
  }
  body.tema-natale.natale-decorazioni .site-sticky-shell header #menu a{
    border:1px solid rgba(243,215,138,.24);
    border-radius:13px;
    background:rgba(255,250,240,.08);
    color:#fffaf0!important;
  }
  body.tema-natale.natale-decorazioni .site-sticky-shell header #menu a:hover,
  body.tema-natale.natale-decorazioni .site-sticky-shell header #menu a:focus-visible{
    border-color:rgba(243,215,138,.68);
    background:linear-gradient(180deg,rgba(164,41,60,.96),rgba(127,24,39,.96));
    color:#fff!important;
  }
}
@media(max-width:1100px){
  body.tema-natale.natale-decorazioni[data-public-page="home"] .hero-slide-content{padding-right:min(36vw,365px)}
  body.tema-natale.natale-decorazioni[data-public-page="home"] .hero-slide::after{right:1%;width:min(38vw,390px)}
}
@media(max-width:760px){
  body.tema-natale.natale-decorazioni .site-sticky-shell::after{bottom:-16px;height:34px;background-size:auto 34px}
  body.tema-natale.natale-decorazioni .site-sticky-shell header #menu{top:calc(100% + 14px);padding-top:35px}
  body.tema-natale.natale-neve .hero-slide::before,
  body.tema-natale.natale-neve .pagehead::before,
  body.tema-natale.natale-neve .trip-hero::before{opacity:.58;background-size:160px 168px,232px 244px,330px 342px}
  body.tema-natale.natale-decorazioni[data-public-page="home"] .hero-slide-content{padding-top:132px;padding-right:18px}
  body.tema-natale.natale-decorazioni[data-public-page="home"] .hero-slide::after{top:16px;right:12px;bottom:auto;width:190px;opacity:.96}
  body.tema-natale.natale-decorazioni .home-divider{width:94px;height:4px;margin-top:16px}
  body.tema-natale.natale-decorazioni[data-public-page="home"] .hero-slider + .home-search-section{margin-top:-22px}
  body.tema-natale.natale-decorazioni .grid,
  body.tema-natale.natale-decorazioni .featured-rail{gap:30px}
  body.tema-natale.natale-decorazioni .card::before,
  body.tema-natale.natale-decorazioni .featured-showcase::before{
    inset:-9px;
    border-radius:25px;
    background-size:auto 20px,auto 20px,20px auto,20px auto;
  }
  body.tema-natale.natale-decorazioni>.site-footer{padding-top:76px}
  body.tema-natale.natale-decorazioni>.site-footer::before{height:52px;background-size:auto 52px}
  body.tema-natale.natale-decorazioni>.site-footer::after{right:-90px;width:390px;opacity:.09}
  body.tema-natale.natale-decorazioni>.site-footer .site-footer-block{padding:19px 17px}
}
@media(max-width:430px){
  body.tema-natale.natale-decorazioni[data-public-page="home"] .hero-slide-content{padding-top:112px}
  body.tema-natale.natale-decorazioni[data-public-page="home"] .hero-slide::after{top:12px;right:7px;width:158px}
  body.tema-natale.natale-decorazioni .card::before,
  body.tema-natale.natale-decorazioni .featured-showcase::before{
    inset:-7px;
    background-size:auto 17px,auto 17px,17px auto,17px auto;
  }
}
@media(prefers-reduced-motion:reduce){
  body.tema-natale.natale-neve .hero-slide::before,
  body.tema-natale.natale-neve .pagehead::before,
  body.tema-natale.natale-neve .trip-hero::before{animation:none;will-change:auto}
}
@media print{
  body.tema-natale.natale-decorazioni .site-sticky-shell::after,
  body.tema-natale.natale-decorazioni .hero-slide::before,
  body.tema-natale.natale-decorazioni .hero-slide::after,
  body.tema-natale.natale-decorazioni .pagehead::before,
  body.tema-natale.natale-decorazioni .trip-hero::before,
  body.tema-natale.natale-decorazioni .card::before,
  body.tema-natale.natale-decorazioni .featured-showcase::before,
  body.tema-natale.natale-decorazioni .trip-recommended-link::before,
  body.tema-natale.natale-decorazioni>.site-footer::before,
  body.tema-natale.natale-decorazioni>.site-footer::after{display:none!important}
}

/* Patch 0366 - angoli naturali e slider senza effetto adesivo. */
body.tema-natale.natale-decorazioni[data-public-page="home"] .hero-slide-content{
  padding-right:0;
}
body.tema-natale.natale-decorazioni[data-public-page="home"] .hero-slide::after{
  top:0;
  right:0;
  bottom:auto;
  width:min(29vw,410px);
  height:175px;
  aspect-ratio:auto;
  background:
    radial-gradient(circle at 84% 22%,rgba(255,238,179,.92) 0 2px,rgba(255,206,83,.35) 3px 8px,transparent 18px),
    radial-gradient(circle at 63% 42%,rgba(255,244,202,.86) 0 1.6px,rgba(255,207,91,.28) 3px 7px,transparent 15px),
    radial-gradient(circle at 92% 62%,rgba(255,240,190,.78) 0 1.4px,rgba(255,201,70,.23) 3px 6px,transparent 13px),
    radial-gradient(ellipse at 100% 0,rgba(215,173,75,.20),transparent 68%);
  opacity:.66;
  filter:none;
  mix-blend-mode:screen;
  -webkit-mask-image:linear-gradient(135deg,#000 0 34%,rgba(0,0,0,.72) 58%,transparent 88%);
  mask-image:linear-gradient(135deg,#000 0 34%,rgba(0,0,0,.72) 58%,transparent 88%);
}
body.tema-natale.natale-decorazioni>.site-footer::after{
  right:0;
  bottom:0;
  width:100%;
  height:100%;
  aspect-ratio:auto;
  background:
    radial-gradient(circle at 88% 78%,rgba(215,173,75,.13) 0 2px,transparent 3px),
    radial-gradient(circle at 92% 70%,rgba(255,244,202,.10) 0 1.5px,transparent 2.5px),
    radial-gradient(ellipse at 100% 100%,rgba(127,24,39,.34),transparent 52%);
  background-size:92px 96px,137px 143px,100% 100%;
  opacity:.72;
  filter:none;
}

/* I quattro ritagli quadrati sono rimossi: i lati si uniscono sotto un unico raggio arrotondato. */
body.tema-natale.natale-decorazioni .card::before,
body.tema-natale.natale-decorazioni .featured-showcase::before{
  z-index:2;
  inset:-9px;
  border-radius:27px;
  background:
    url('../img/tema-natale-card-0364-t.png') center top/auto 19px repeat-x,
    url('../img/tema-natale-card-0364-b.png') center bottom/auto 19px repeat-x,
    url('../img/tema-natale-card-0364-l.png') left center/19px auto repeat-y,
    url('../img/tema-natale-card-0364-r.png') right center/19px auto repeat-y;
  background-clip:border-box;
  filter:drop-shadow(0 6px 6px rgba(9,44,35,.16));
}
body.tema-natale.natale-decorazioni .card::after,
body.tema-natale.natale-decorazioni .featured-showcase::after{
  content:"";
  position:absolute;
  z-index:0;
  right:-18px;
  bottom:-18px;
  width:66px;
  height:66px;
  background:url('../img/tema-natale-fiocco-corner-0366.png') center/contain no-repeat;
  filter:drop-shadow(0 7px 7px rgba(85,16,27,.22));
  pointer-events:none;
}
body.tema-natale.natale-decorazioni .trip-recommended-link::before{
  inset:-4px;
  border-radius:18px;
  background:
    url('../img/tema-natale-card-0364-t.png') center top/auto 9px repeat-x,
    url('../img/tema-natale-card-0364-b.png') center bottom/auto 9px repeat-x,
    url('../img/tema-natale-card-0364-l.png') left center/9px auto repeat-y,
    url('../img/tema-natale-card-0364-r.png') right center/9px auto repeat-y;
}
@media(max-width:760px){
  body.tema-natale.natale-decorazioni[data-public-page="home"] .hero-slide-content{
    padding-top:0;
    padding-right:18px;
  }
  body.tema-natale.natale-decorazioni[data-public-page="home"] .hero-slide::after{
    top:4px;
    right:2px;
    width:180px;
    height:96px;
    opacity:.48;
  }
  body.tema-natale.natale-decorazioni .card::before,
  body.tema-natale.natale-decorazioni .featured-showcase::before{
    inset:-7px;
    border-radius:24px;
    background-size:auto 16px,auto 16px,16px auto,16px auto;
  }
  body.tema-natale.natale-decorazioni .card::after,
  body.tema-natale.natale-decorazioni .featured-showcase::after{
    right:-14px;
    bottom:-14px;
    width:56px;
    height:56px;
  }
}
@media(max-width:430px){
  body.tema-natale.natale-decorazioni[data-public-page="home"] .hero-slide-content{padding-top:0}
  body.tema-natale.natale-decorazioni[data-public-page="home"] .hero-slide::after{top:2px;right:0;width:142px;height:78px;opacity:.40}
}
@media print{
  body.tema-natale.natale-decorazioni .card::after,
  body.tema-natale.natale-decorazioni .featured-showcase::after{display:none!important}
}

/* Patch 0367 - temi completi Halloween e Pasqua. */
body.tema-halloween.halloween-decorazioni{
  --season-deep:#241529;
  --season-mid:#63314f;
  --season-accent:#c87532;
  --season-accent-light:#edbd76;
  --season-paper:#fffaf5;
  --season-soft:#f3e8e1;
  --season-shadow:rgba(45,20,44,.22);
  background:
    radial-gradient(circle at 11% 14%,rgba(200,117,50,.12),transparent 27rem),
    radial-gradient(circle at 91% 38%,rgba(99,49,79,.10),transparent 31rem),
    #f7f0e8;
}
body.tema-pasqua.pasqua-decorazioni{
  --season-deep:#514a69;
  --season-mid:#7e6e9e;
  --season-accent:#c99764;
  --season-accent-light:#efd6ad;
  --season-paper:#fffdfb;
  --season-soft:#f5eff7;
  --season-shadow:rgba(81,74,105,.16);
  background:
    radial-gradient(circle at 10% 14%,rgba(218,177,194,.16),transparent 28rem),
    radial-gradient(circle at 90% 40%,rgba(133,156,132,.13),transparent 32rem),
    #fbf8fc;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) main{background:transparent}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell{
  overflow:visible;
  background:var(--season-paper);
  box-shadow:0 8px 28px var(--season-shadow),0 1px 0 rgba(201,151,100,.48);
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell>.top{
  border-bottom:1px solid color-mix(in srgb,var(--season-accent-light) 66%,transparent);
  background:
    radial-gradient(circle at 17% 0,rgba(255,255,255,.12),transparent 25rem),
    linear-gradient(108deg,var(--season-mid),var(--season-deep) 62%,color-mix(in srgb,var(--season-deep) 82%,#000));
  color:#fffaf4;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell>header{
  background:linear-gradient(180deg,#fff,var(--season-paper));
  box-shadow:inset 0 -1px 0 color-mix(in srgb,var(--season-accent) 38%,transparent)!important;
}
body.tema-halloween.halloween-decorazioni .site-sticky-shell>header{
  background:
    url('../img/tema-halloween-ragnatela-0367.svg') right -10px top -12px/150px auto no-repeat,
    linear-gradient(180deg,#fff,#fff8f0);
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell::after{
  content:"";
  position:absolute;
  z-index:3;
  right:0;
  left:0;
  pointer-events:none;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell .logo{filter:drop-shadow(0 5px 9px var(--season-shadow))}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .top-social a{
  border-color:color-mix(in srgb,var(--season-accent-light) 68%,transparent);
  background:rgba(255,255,255,.08);
  color:#fffaf4;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .top-social a:hover,
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .top-social a:focus-visible{
  border-color:var(--season-accent-light);
  background:var(--season-accent);
  color:var(--season-deep);
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .top-phone{color:#fffaf4}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .top-phone-label{color:var(--season-accent-light);opacity:1}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) header #menu{gap:4px}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) header #menu>a{
  min-height:40px;
  padding:8px 11px;
  border:1px solid transparent;
  border-radius:999px;
  color:var(--season-deep);
  transition:color .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) header #menu>a:hover,
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) header #menu>a:focus-visible{
  border-color:color-mix(in srgb,var(--season-accent) 66%,transparent);
  background:linear-gradient(180deg,#fff,var(--season-soft));
  color:var(--season-mid);
  box-shadow:0 7px 17px var(--season-shadow),inset 0 0 0 1px rgba(255,255,255,.72);
  outline:none;
  transform:translateY(-1px);
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) header #menuBtn{
  min-width:92px;
  border:1px solid var(--season-accent-light);
  border-radius:999px;
  background:linear-gradient(180deg,var(--season-mid),var(--season-deep));
  color:#fffaf4;
  box-shadow:0 8px 18px var(--season-shadow),inset 0 1px 0 rgba(255,255,255,.22);
  font-weight:850;
}

body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.hero-slider,.pagehead,.trip-hero){
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-bottom:3px solid var(--season-accent);
  box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--season-accent-light) 48%,transparent),inset 0 -8px 22px var(--season-shadow);
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .hero-slide{position:absolute;inset:0;isolation:isolate;overflow:hidden}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.hero-slide-content,.pagehead>.wrap,.trip-hero-content){position:relative;z-index:2}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.hero-slide .tag,.pagehead p){color:var(--season-accent-light);text-shadow:0 2px 12px rgba(0,0,0,.38)}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.hero-slide h1,.pagehead h1,.trip-hero h1){text-shadow:0 3px 22px rgba(0,0,0,.46)}
body.tema-halloween.halloween-decorazioni[data-public-page="home"] .hero-slide::after{
  content:"";
  position:absolute;
  z-index:1;
  top:2%;
  right:1.5%;
  width:min(40vw,520px);
  height:min(27vw,300px);
  background:
    url('../img/tema-halloween-luna-strega-0367.svg') right top/contain no-repeat;
  opacity:.62;
  filter:drop-shadow(0 10px 18px rgba(21,10,24,.24));
  pointer-events:none;
}
body.tema-pasqua.pasqua-decorazioni[data-public-page="home"] .hero-slide::after{
  content:"";
  position:absolute;
  z-index:1;
  top:0;
  right:0;
  width:min(36vw,470px);
  height:190px;
  background:
    radial-gradient(circle at 82% 23%,rgba(255,244,226,.88) 0 3px,rgba(235,197,210,.30) 4px 13px,transparent 24px),
    radial-gradient(circle at 62% 49%,rgba(255,255,255,.84) 0 2px,rgba(191,210,193,.28) 3px 10px,transparent 21px),
    radial-gradient(ellipse at 100% 0,rgba(229,202,230,.27),transparent 70%);
  opacity:.78;
  pointer-events:none;
}
body.tema-halloween.halloween-effetti :is(.hero-slide,.pagehead,.trip-hero)::before,
body.tema-pasqua.pasqua-petali :is(.hero-slide,.pagehead,.trip-hero)::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:-120px -80px;
  pointer-events:none;
  will-change:background-position,transform;
}
body.tema-halloween.halloween-effetti :is(.hero-slide,.pagehead,.trip-hero)::before{
  background:
    radial-gradient(ellipse at 25% 70%,rgba(238,184,116,.16),transparent 34%),
    radial-gradient(ellipse at 70% 52%,rgba(160,116,151,.15),transparent 38%),
    linear-gradient(100deg,transparent 8%,rgba(237,189,118,.06) 42%,transparent 75%);
  filter:blur(9px);
  animation:nitorin-halloween-nebbia 18s ease-in-out infinite alternate;
}
body.tema-pasqua.pasqua-petali :is(.hero-slide,.pagehead,.trip-hero)::before{
  background-image:
    radial-gradient(ellipse at center,rgba(255,232,239,.86) 0 2px,transparent 3px),
    radial-gradient(ellipse at center,rgba(229,220,244,.72) 0 1.7px,transparent 2.8px),
    radial-gradient(ellipse at center,rgba(239,215,185,.55) 0 1.3px,transparent 2.4px);
  background-size:152px 164px,217px 231px,304px 318px;
  background-position:12px -80px,80px -145px,24px -205px;
  opacity:.64;
  animation:nitorin-pasqua-petali 26s linear infinite;
}

body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .btn{
  border:1px solid var(--season-accent-light);
  background:linear-gradient(180deg,var(--season-accent-light),var(--season-accent));
  color:var(--season-deep);
  box-shadow:0 10px 24px var(--season-shadow),inset 0 1px 0 rgba(255,255,255,.55);
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .btn:hover,
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .btn:focus-visible{filter:brightness(1.045);transform:translateY(-1px)}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .btn.secondary{
  border-color:rgba(255,255,255,.76);
  background:color-mix(in srgb,var(--season-deep) 52%,transparent);
  color:#fff;
  backdrop-filter:blur(5px);
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.home-group-alt,.home-reviews-section,.home-choice-section){background:linear-gradient(180deg,var(--season-soft),var(--season-paper))}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.home-section-heading h2,.title h2){color:var(--season-deep)}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.home-section-heading>p,.title>p,.trip-section-kicker){color:var(--season-mid)}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .home-divider{
  width:108px;
  height:4px;
  margin-top:18px;
  background:linear-gradient(90deg,var(--season-mid),var(--season-accent-light),var(--season-accent));
  box-shadow:0 2px 8px var(--season-shadow);
}

body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.grid,.featured-rail){gap:34px;overflow:visible}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card,.featured-showcase){
  position:relative;
  isolation:isolate;
  overflow:visible;
  border:1px solid color-mix(in srgb,var(--season-accent) 35%,#d8e2e6);
  border-radius:20px;
  background:#fff;
  box-shadow:0 18px 42px var(--season-shadow),0 4px 12px rgba(27,33,38,.06);
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card,.featured-showcase)::before{
  content:"";
  position:absolute;
  pointer-events:none;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card>*:not(.card-type-badge),
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase>*{position:relative;z-index:1}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card .card-type-badge,.featured-showcase .featured-showcase-type,.card .card-status-badge){z-index:5}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card-media,.card-media>img,.featured-showcase-media,.featured-showcase-media>img){border-radius:18px 18px 0 0}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .trip-recommended-link{
  position:relative;
  isolation:isolate;
  overflow:visible;
  border:1px solid color-mix(in srgb,var(--season-accent) 32%,#d8e2e6);
  border-radius:15px;
  background:#fff;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .trip-recommended-link::before{
  content:"";
  position:absolute;
  z-index:2;
  pointer-events:none;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .trip-recommended-link>*{position:relative;z-index:1}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card-type-badge,.featured-showcase-type){
  border:1px solid color-mix(in srgb,var(--season-accent-light) 74%,#fff)!important;
  background:linear-gradient(180deg,var(--season-mid),var(--season-deep))!important;
  color:#fff!important;
  box-shadow:0 8px 18px var(--season-shadow),inset 0 1px 0 rgba(255,255,255,.24);
}
body.tema-halloween.halloween-decorazioni :is(.card-type-badge.gita,.featured-showcase-type.gita){background:linear-gradient(180deg,#9b572e,#68351f)!important}
body.tema-pasqua.pasqua-decorazioni :is(.card-type-badge.gita,.featured-showcase-type.gita){background:linear-gradient(180deg,#829c82,#647d68)!important}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)[data-public-page="home"] .home-search-section{position:relative;z-index:6;background:transparent}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.search-panel,.home-search-panel,.trip-booking-card){
  border-color:color-mix(in srgb,var(--season-accent) 40%,#d7e4ea);
  background:linear-gradient(180deg,#fff,var(--season-paper));
  box-shadow:0 18px 42px var(--season-shadow);
}

body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)>.site-footer{
  position:relative;
  isolation:isolate;
  padding-top:88px;
  border-top:2px solid var(--season-accent);
  background:
    radial-gradient(circle at 15% 18%,color-mix(in srgb,var(--season-accent) 18%,transparent),transparent 30rem),
    radial-gradient(circle at 92% 88%,color-mix(in srgb,var(--season-mid) 42%,transparent),transparent 34rem),
    linear-gradient(135deg,var(--season-mid),var(--season-deep) 60%,color-mix(in srgb,var(--season-deep) 84%,#000));
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)>.site-footer::before{
  content:"";
  position:absolute;
  z-index:3;
  top:-2px;
  right:0;
  left:0;
  filter:drop-shadow(0 9px 9px var(--season-shadow));
  pointer-events:none;
}
body.tema-halloween.halloween-decorazioni>.site-footer::after{
  content:"";
  position:absolute;
  z-index:0;
  top:26px;
  right:0;
  width:min(34vw,430px);
  height:310px;
  background:url('../img/tema-halloween-ragnatela-0367.svg') right top/contain no-repeat;
  opacity:.19;
  pointer-events:none;
}
body.tema-pasqua.pasqua-decorazioni>.site-footer::after{
  content:"";
  position:absolute;
  z-index:0;
  right:0;
  bottom:0;
  width:100%;
  height:100%;
  background:
    radial-gradient(circle at 88% 76%,rgba(255,239,246,.16) 0 2px,transparent 3px),
    radial-gradient(circle at 92% 68%,rgba(220,235,222,.13) 0 1.5px,transparent 2.5px),
    radial-gradient(ellipse at 100% 100%,rgba(185,159,197,.28),transparent 54%);
  background-size:92px 96px,137px 143px,100% 100%;
  opacity:.76;
  pointer-events:none;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)>.site-footer :is(.site-footer-main,.site-footer-bottom,.copy){position:relative;z-index:2}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)>.site-footer .site-footer-main{gap:28px}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)>.site-footer .site-footer-block{
  min-height:100%;
  padding:22px 20px;
  border:1px solid color-mix(in srgb,var(--season-accent-light) 32%,transparent);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.035));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 12px 28px rgba(0,0,0,.11);
  backdrop-filter:blur(3px);
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)>.site-footer .footer-logo-box{
  border:1px solid color-mix(in srgb,var(--season-accent-light) 72%,#fff);
  background:linear-gradient(180deg,#fff,var(--season-paper));
  box-shadow:0 12px 30px rgba(0,0,0,.18),inset 0 0 0 4px color-mix(in srgb,var(--season-accent) 9%,transparent);
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)>.site-footer .site-footer-tagline{color:#fffaf2}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)>.site-footer .site-footer-block h3{
  padding-bottom:10px;
  border-bottom:1px solid color-mix(in srgb,var(--season-accent-light) 38%,transparent);
  color:var(--season-accent-light);
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)>.site-footer :is(.site-footer-contact-list>a,.site-footer-contact-list>span,.site-footer-nav a,.site-footer-stay p){color:rgba(255,250,244,.88)}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)>.site-footer .site-footer-contact-list svg{stroke:var(--season-accent-light)}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)>.site-footer :is(.site-footer-social a,.site-footer-whatsapp){
  border-color:color-mix(in srgb,var(--season-accent-light) 48%,transparent);
  background:linear-gradient(180deg,color-mix(in srgb,var(--season-mid) 88%,transparent),color-mix(in srgb,var(--season-deep) 88%,transparent));
  box-shadow:0 7px 16px rgba(0,0,0,.16);
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)>.site-footer .site-footer-bottom{border-top-color:color-mix(in srgb,var(--season-accent-light) 38%,transparent)}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)>.site-footer .copy{border-top-color:color-mix(in srgb,var(--season-accent-light) 24%,transparent);color:rgba(255,250,244,.72)}

@keyframes nitorin-halloween-nebbia{
  from{transform:translate3d(-3%,0,0) scale(1.02);opacity:.72}
  to{transform:translate3d(4%,1.5%,0) scale(1.08);opacity:1}
}
@keyframes nitorin-pasqua-petali{
  from{background-position:12px -80px,80px -145px,24px -205px}
  to{background-position:92px 610px,8px 690px,148px 760px}
}

@media(max-width:1220px){
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell header #menu{
    top:calc(100% + 16px);
    padding:38px 15px 15px;
    border:2px solid var(--season-accent);
    border-radius:22px;
    background:
      radial-gradient(circle at 100% 0,color-mix(in srgb,var(--season-accent) 19%,transparent),transparent 18rem),
      linear-gradient(145deg,var(--season-mid),var(--season-deep) 64%);
    box-shadow:0 25px 54px var(--season-shadow),inset 0 0 0 1px rgba(255,255,255,.08);
  }
  body.tema-halloween.halloween-decorazioni .site-sticky-shell header #menu{
    background:
      url('../img/tema-halloween-ragnatela-0367.svg') right top/145px auto no-repeat,
      linear-gradient(145deg,var(--season-mid),var(--season-deep) 64%);
  }
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell header #menu a{
    border:1px solid color-mix(in srgb,var(--season-accent-light) 26%,transparent);
    border-radius:13px;
    background:rgba(255,255,255,.075);
    color:#fffaf4!important;
  }
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell header #menu a:hover,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell header #menu a:focus-visible{
    border-color:color-mix(in srgb,var(--season-accent-light) 68%,transparent);
    background:linear-gradient(180deg,var(--season-mid),var(--season-deep));
    color:#fff!important;
  }
}
@media(max-width:760px){
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell header #menu{top:calc(100% + 12px);padding-top:33px}
  body.tema-halloween.halloween-decorazioni[data-public-page="home"] .hero-slide::after{top:4px;right:2px;width:185px;height:108px;opacity:.48}
  body.tema-pasqua.pasqua-decorazioni[data-public-page="home"] .hero-slide::after{top:3px;right:2px;width:175px;height:102px;opacity:.58}
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .home-divider{width:92px}
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.grid,.featured-rail){gap:30px}
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)>.site-footer{padding-top:72px}
  body.tema-halloween.halloween-decorazioni>.site-footer::after{width:270px;height:195px;opacity:.13}
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)>.site-footer .site-footer-block{padding:19px 17px}
}
@media(max-width:430px){
  body.tema-halloween.halloween-decorazioni[data-public-page="home"] .hero-slide::after{width:148px;height:86px;opacity:.40}
  body.tema-pasqua.pasqua-decorazioni[data-public-page="home"] .hero-slide::after{width:142px;height:84px;opacity:.48}
}

/* Patch 0368 - ogni lato stagionale è un unico elemento continuo, mai ripetuto. */

/* Patch 0370 - fregi vettoriali continui e Halloween riconoscibile.
 * Un solo elemento proporzionato per ogni superficie: nessun collage,
 * nessuna ripetizione e nessuna deformazione. */
body.tema-halloween.halloween-decorazioni{
  --season-festoon:url('../img/tema-halloween-fregio-0370.svg');
  --season-frame-line:rgba(124,58,83,.72);
  --season-frame-soft:rgba(200,117,50,.30);
  --season-card-band:clamp(24px,3vw,42px);
  --season-mini-band:clamp(18px,2vw,26px);
  --season-header-band:clamp(28px,6vw,72px);
}
body.tema-pasqua.pasqua-decorazioni{
  --season-festoon:url('../img/tema-pasqua-fregio-0370.svg');
  --season-frame-line:rgba(126,110,158,.60);
  --season-frame-soft:rgba(201,151,100,.24);
  --season-card-band:clamp(24px,3vw,42px);
  --season-mini-band:clamp(18px,2vw,26px);
  --season-header-band:clamp(28px,6vw,72px);
}

/* La testata riserva uno spazio reale al fregio: il logo resta sempre libero. */
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell>header{
  overflow:hidden;
  background:linear-gradient(180deg,#fff,var(--season-paper));
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell>header .nav{
  padding-bottom:var(--season-header-band);
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell::after{
  right:auto;
  bottom:0;
  left:50%;
  width:min(100%,1200px);
  height:auto;
  aspect-ratio:1600/96;
  background:var(--season-festoon) center/contain no-repeat;
  filter:drop-shadow(0 5px 7px var(--season-shadow));
  transform:translateX(-50%);
}

/* Una sola cornice sottile; il fregio ha una fascia propria prima della foto. */
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card,.featured-showcase){
  overflow:hidden;
  padding-top:var(--season-card-band);
  border:2px solid transparent;
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(135deg,var(--season-accent),var(--season-deep) 52%,var(--season-accent-light)) border-box;
  box-shadow:0 18px 42px var(--season-shadow);
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card,.featured-showcase)::before{
  content:""!important;
  display:block!important;
  z-index:3;
  top:0;
  right:0;
  bottom:auto;
  left:0;
  height:var(--season-card-band);
  border:0;
  border-radius:0;
  background:var(--season-festoon) center/contain no-repeat;
  filter:drop-shadow(0 3px 4px var(--season-shadow));
  transform:none;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card,.featured-showcase)::after{
  content:none!important;
  display:none!important;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card .card-type-badge,.featured-showcase .featured-showcase-type,.card .card-status-badge,.card .favorite-toggle){z-index:6}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card-media,.featured-showcase-media){border-radius:0}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card-media>img,.featured-showcase-media>img){border-radius:0}

/* Le proposte consigliate mantengono lo stesso linguaggio, in versione più leggera. */
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .trip-recommended-link{
  overflow:hidden;
  padding-top:var(--season-mini-band);
  border:1px solid transparent;
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(135deg,var(--season-accent),var(--season-deep),var(--season-accent-light)) border-box;
  box-shadow:0 10px 24px var(--season-shadow);
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .trip-recommended-link::before{
  z-index:3;
  top:0;
  right:0;
  bottom:auto;
  left:0;
  height:var(--season-mini-band);
  border:0;
  border-radius:0;
  background:var(--season-festoon) center/contain no-repeat;
  filter:drop-shadow(0 2px 3px var(--season-shadow));
  transform:none;
}

/* Il footer riprende il fregio intero in una sola fascia continua. */
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)>.site-footer{
  padding-top:clamp(68px,calc(6vw + 24px),112px);
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)>.site-footer::before{
  top:10px;
  right:auto;
  left:50%;
  width:min(100%,1500px);
  height:auto;
  aspect-ratio:1600/96;
  background:var(--season-festoon) center/contain no-repeat;
  transform:translateX(-50%);
}

/* Halloween: strega e luna tornano protagoniste nello slider; la ragnatela resta
 * una presenza di atmosfera nel footer, non un adesivo sopra il logo. */
body.tema-halloween.halloween-decorazioni[data-public-page="home"] .hero-slide::after{
  top:clamp(8px,2vw,24px);
  right:clamp(2px,2vw,28px);
  width:min(44vw,560px);
  height:min(28vw,320px);
  opacity:.76;
  filter:drop-shadow(0 12px 22px rgba(21,10,24,.34));
}
body.tema-halloween.halloween-decorazioni>.site-footer::after{
  top:34px;
  right:0;
  width:min(31vw,390px);
  height:280px;
  opacity:.18;
}

@media(max-width:1220px){
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell header #menu,
  body.tema-halloween.halloween-decorazioni .site-sticky-shell header #menu{
    padding-top:18px;
    background:
      radial-gradient(circle at 100% 0,color-mix(in srgb,var(--season-accent) 19%,transparent),transparent 18rem),
      linear-gradient(145deg,var(--season-mid),var(--season-deep) 64%);
  }
}
@media(max-width:760px){
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.grid,.featured-rail){gap:30px}
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card,.featured-showcase){
    border-width:1.5px;
    box-shadow:0 15px 34px var(--season-shadow);
  }
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)>.site-footer{padding-top:58px}
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)>.site-footer::before{
    top:8px;
    width:100%;
  }
  body.tema-halloween.halloween-decorazioni[data-public-page="home"] .hero-slide::after{
    top:8px;
    right:0;
    width:210px;
    height:122px;
    opacity:.58;
  }
  body.tema-halloween.halloween-decorazioni>.site-footer::after{width:250px;height:180px;opacity:.12}
}
@media(max-width:430px){
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni){--season-card-band:24px;--season-mini-band:18px;--season-header-band:28px}
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)>.site-footer{padding-top:50px}
  body.tema-halloween.halloween-decorazioni[data-public-page="home"] .hero-slide::after{width:168px;height:98px;opacity:.50}
}
@media(prefers-reduced-motion:reduce){
  body.tema-halloween.halloween-effetti :is(.hero-slide,.pagehead,.trip-hero)::before,
  body.tema-pasqua.pasqua-petali :is(.hero-slide,.pagehead,.trip-hero)::before{animation:none;will-change:auto}
}
@media print{
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card,.featured-showcase)::after{display:none!important}
}
@media print{
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell::after,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.hero-slide,.pagehead,.trip-hero)::before,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .hero-slide::after,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card,.featured-showcase)::before,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .trip-recommended-link::before,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)>.site-footer::before,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)>.site-footer::after{display:none!important}
}

/* Patch 0371 - Halloween ricostruito da zero: dimora stregata di lusso.
 * Nessuna fascia ornamentale sulle card e nessun adesivo sulle fotografie. */
body.tema-halloween.halloween-decorazioni{
  --halloween-nero:#120d17;
  --halloween-notte:#211426;
  --halloween-prugna:#552846;
  --halloween-prugna-chiaro:#7f4568;
  --halloween-oro:#bd9151;
  --halloween-oro-chiaro:#e0c27f;
  --halloween-avorio:#fbf7f0;
  --season-deep:var(--halloween-nero);
  --season-mid:var(--halloween-prugna);
  --season-accent:var(--halloween-oro);
  --season-accent-light:var(--halloween-oro-chiaro);
  --season-paper:var(--halloween-avorio);
  --season-soft:#eee6eb;
  --season-shadow:rgba(30,16,30,.20);
  background:
    radial-gradient(circle at 8% 14%,rgba(189,145,81,.11),transparent 27rem),
    radial-gradient(circle at 92% 44%,rgba(85,40,70,.10),transparent 34rem),
    linear-gradient(180deg,#f8f3ec,#f3ece8 52%,#f7f2ec);
}
body.tema-halloween.halloween-decorazioni main{background:transparent}

/* Testata: logo e menu restano puliti; Halloween vive nei materiali e nei dettagli. */
body.tema-halloween.halloween-decorazioni .site-sticky-shell{
  overflow:visible;
  background:var(--halloween-avorio);
  box-shadow:0 9px 28px rgba(18,13,23,.20);
}
body.tema-halloween.halloween-decorazioni .site-sticky-shell>.top{
  border-bottom:1px solid rgba(224,194,127,.52);
  background:
    radial-gradient(circle at 18% 0,rgba(255,255,255,.08),transparent 25rem),
    linear-gradient(108deg,#6e375b,var(--halloween-prugna) 38%,var(--halloween-notte) 70%,var(--halloween-nero));
  color:#fffaf3;
}
body.tema-halloween.halloween-decorazioni .site-sticky-shell>header{
  overflow:hidden;
  background:linear-gradient(180deg,#fffdf9,var(--halloween-avorio));
  box-shadow:inset 0 -1px 0 rgba(189,145,81,.40)!important;
}
body.tema-halloween.halloween-decorazioni .site-sticky-shell>header::before{
  content:"";
  position:absolute;
  z-index:0;
  top:-16px;
  right:-18px;
  width:clamp(112px,13vw,190px);
  aspect-ratio:4/3;
  background:url('../img/tema-halloween-ragnatela-angolo-0371.svg') right top/contain no-repeat;
  opacity:.15;
  pointer-events:none;
}
body.tema-halloween.halloween-decorazioni .site-sticky-shell>header .nav{
  position:relative;
  z-index:1;
  padding-bottom:0;
}
body.tema-halloween.halloween-decorazioni .site-sticky-shell::after{
  right:0;
  bottom:-10px;
  left:0;
  width:100%;
  height:22px;
  aspect-ratio:auto;
  background:
    url('../img/tema-halloween-sigillo-0371.svg') center/88px 22px no-repeat,
    linear-gradient(90deg,transparent,rgba(189,145,81,.62) 8% 92%,transparent) center/100% 1px no-repeat;
  filter:drop-shadow(0 4px 5px rgba(18,13,23,.20));
  transform:none;
}
body.tema-halloween.halloween-decorazioni .top-social a{
  border-color:rgba(224,194,127,.62);
  background:rgba(255,255,255,.06);
  color:#fffaf3;
}
body.tema-halloween.halloween-decorazioni .top-social a:hover,
body.tema-halloween.halloween-decorazioni .top-social a:focus-visible{border-color:var(--halloween-oro-chiaro);background:var(--halloween-oro);color:var(--halloween-nero)}
body.tema-halloween.halloween-decorazioni .top-phone{color:#fffaf3}
body.tema-halloween.halloween-decorazioni .top-phone-label{color:var(--halloween-oro-chiaro)}
body.tema-halloween.halloween-decorazioni header #menu>a{color:var(--halloween-notte)}
body.tema-halloween.halloween-decorazioni header #menu>a:hover,
body.tema-halloween.halloween-decorazioni header #menu>a:focus-visible{
  border-color:rgba(189,145,81,.62);
  background:linear-gradient(180deg,#fffdf9,#efe2e9);
  color:var(--halloween-prugna);
  box-shadow:0 7px 17px rgba(31,16,30,.12),inset 0 0 0 1px rgba(255,255,255,.76);
}
body.tema-halloween.halloween-decorazioni header #menuBtn{
  border:1px solid var(--halloween-oro-chiaro);
  background:linear-gradient(180deg,#6e375b,var(--halloween-notte));
  color:#fffaf3;
  box-shadow:0 8px 18px rgba(31,16,30,.24),inset 0 1px 0 rgba(255,255,255,.18);
}

/* Lo slider torna libero: rimossa definitivamente la vecchia strega poligonale. */
body.tema-halloween.halloween-decorazioni[data-public-page="home"] .hero-slide::after{
  content:none!important;
  display:none!important;
  background:none!important;
}
body.tema-halloween.halloween-decorazioni :is(.hero-slider,.pagehead,.trip-hero){
  border-bottom:3px solid var(--halloween-oro);
  box-shadow:
    inset 0 0 0 1px rgba(224,194,127,.50),
    inset 0 -22px 42px rgba(18,13,23,.28);
}
body.tema-halloween.halloween-decorazioni .hero-slide .tag,
body.tema-halloween.halloween-decorazioni .pagehead p{color:#f0d89d}
body.tema-halloween.halloween-decorazioni .btn{
  border-color:#e6ca8a;
  background:linear-gradient(180deg,#e3c37a,#ac7b3d);
  color:#251828;
  box-shadow:0 10px 24px rgba(31,16,30,.20),inset 0 1px 0 rgba(255,255,255,.48);
}
body.tema-halloween.halloween-decorazioni .btn:hover,
body.tema-halloween.halloween-decorazioni .btn:focus-visible{background:linear-gradient(180deg,#efd99d,#bd8d4d)}
body.tema-halloween.halloween-decorazioni .btn.secondary{
  border-color:rgba(255,248,232,.74);
  background:rgba(28,16,31,.48);
  color:#fff;
}

/* Sezioni editoriali: atmosfera notturna senza compromettere leggibilità. */
body.tema-halloween.halloween-decorazioni :is(.home-group-alt,.home-reviews-section,.home-choice-section){
  background:linear-gradient(180deg,#eee6e9,#faf6ef);
}
body.tema-halloween.halloween-decorazioni :is(.home-section-heading h2,.title h2){color:var(--halloween-notte)}
body.tema-halloween.halloween-decorazioni :is(.home-section-heading>p,.title>p,.trip-section-kicker){color:var(--halloween-prugna)}
body.tema-halloween.halloween-decorazioni .home-divider{
  width:150px;
  height:25px;
  margin-top:13px;
  background:
    url('../img/tema-halloween-sigillo-0371.svg') center/74px 19px no-repeat,
    linear-gradient(90deg,transparent,var(--halloween-oro) 16% 84%,transparent) center/100% 1px no-repeat;
  box-shadow:none;
}

/* Card: un solo sigillo proporzionato vive sul bordo, senza fasce o ripetizioni. */
body.tema-halloween.halloween-decorazioni :is(.grid,.featured-rail){gap:38px;overflow:visible;padding-top:18px}
body.tema-halloween.halloween-decorazioni :is(.card,.featured-showcase){
  position:relative;
  isolation:isolate;
  overflow:visible;
  padding-top:0;
  border:2px solid transparent;
  border-radius:20px;
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(145deg,#6e375b 0,#d5b672 24%,#2b172b 52%,#b88749 78%,#6e375b 100%) border-box;
  box-shadow:0 19px 44px rgba(31,16,30,.16),0 4px 12px rgba(77,40,67,.08);
  transition:transform .20s ease,box-shadow .20s ease;
}
body.tema-halloween.halloween-decorazioni :is(.card,.featured-showcase):hover{
  box-shadow:0 23px 50px rgba(31,16,30,.22),0 5px 14px rgba(77,40,67,.11);
}
body.tema-halloween.halloween-decorazioni :is(.card,.featured-showcase)::before{
  content:none!important;
  display:none!important;
}
body.tema-halloween.halloween-decorazioni :is(.card,.featured-showcase)::after{
  content:""!important;
  display:block!important;
  position:absolute;
  z-index:7;
  top:-22px;
  left:50%;
  width:124px;
  height:31px;
  background:url('../img/tema-halloween-sigillo-0371.svg') center/contain no-repeat;
  filter:drop-shadow(0 5px 6px rgba(18,13,23,.34));
  transform:translateX(-50%);
  pointer-events:none;
}
body.tema-halloween.halloween-decorazioni .featured-showcase::after{top:-26px;width:148px;height:37px}
body.tema-halloween.halloween-decorazioni .card-media,
body.tema-halloween.halloween-decorazioni .card-media>img{overflow:hidden;border-radius:18px 18px 0 0}
body.tema-halloween.halloween-decorazioni .cardbody{border-radius:0 0 18px 18px;background:linear-gradient(180deg,#fff,#fdfaf6)}
body.tema-halloween.halloween-decorazioni .featured-showcase-media,
body.tema-halloween.halloween-decorazioni .featured-showcase-media>img{overflow:hidden;border-radius:0 18px 18px 0}
body.tema-halloween.halloween-decorazioni .featured-showcase-info{border-radius:18px 0 0 18px;background:linear-gradient(180deg,#fff,#fdfaf6)}
body.tema-halloween.halloween-decorazioni :is(.card-type-badge,.featured-showcase-type){
  border-color:rgba(238,216,165,.72)!important;
  background:linear-gradient(180deg,#70405f,var(--halloween-notte))!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(18,13,23,.28),inset 0 1px 0 rgba(255,255,255,.20);
}
body.tema-halloween.halloween-decorazioni :is(.card-type-badge.gita,.featured-showcase-type.gita){background:linear-gradient(180deg,#805031,#4a2b24)!important}

body.tema-halloween.halloween-decorazioni .trip-recommended-link{
  position:relative;
  isolation:isolate;
  overflow:visible;
  padding-top:0;
  border:1px solid transparent;
  border-radius:15px;
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(145deg,#6e375b,#d5b672 38%,#2b172b 72%,#b88749) border-box;
  box-shadow:0 11px 26px rgba(31,16,30,.13);
}
body.tema-halloween.halloween-decorazioni .trip-recommended-link::before{
  content:""!important;
  display:block!important;
  z-index:4;
  top:-14px;
  right:auto;
  bottom:auto;
  left:50%;
  width:80px;
  height:20px;
  border:0;
  border-radius:0;
  background:url('../img/tema-halloween-sigillo-0371.svg') center/contain no-repeat;
  filter:drop-shadow(0 3px 4px rgba(18,13,23,.24));
  transform:translateX(-50%);
}
body.tema-halloween.halloween-decorazioni .trip-recommended-link>*{position:relative;z-index:1}
body.tema-halloween.halloween-decorazioni :is(.search-panel,.home-search-panel,.trip-booking-card){
  border-color:rgba(189,145,81,.46);
  background:linear-gradient(180deg,#fff,#fdf9f2);
  box-shadow:0 18px 42px rgba(31,16,30,.12);
}

/* Footer scenografico: la dimora, la strega e le presenze sono un unico sfondo
 * atmosferico con bordi trasparenti, mai un adesivo sui contenuti. */
body.tema-halloween.halloween-decorazioni>.site-footer{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding-top:92px;
  border-top:1px solid var(--halloween-oro);
  background:
    radial-gradient(circle at 12% 15%,rgba(189,145,81,.12),transparent 28rem),
    radial-gradient(circle at 92% 80%,rgba(98,50,77,.30),transparent 36rem),
    linear-gradient(135deg,#352039,var(--halloween-notte) 48%,var(--halloween-nero));
}
body.tema-halloween.halloween-decorazioni>.site-footer::before{
  content:"";
  position:absolute;
  z-index:3;
  top:6px;
  right:0;
  left:0;
  width:100%;
  height:42px;
  aspect-ratio:auto;
  background:
    url('../img/tema-halloween-sigillo-0371.svg') center/150px 38px no-repeat,
    linear-gradient(90deg,transparent,rgba(224,194,127,.62) 8% 92%,transparent) center/100% 1px no-repeat;
  filter:drop-shadow(0 6px 7px rgba(0,0,0,.28));
  transform:none;
  pointer-events:none;
}
body.tema-halloween.halloween-decorazioni>.site-footer::after{
  content:"";
  position:absolute;
  z-index:0;
  right:-2%;
  bottom:-2%;
  width:min(96%,1500px);
  height:96%;
  background:url('../img/tema-halloween-dimora-0371.png') right bottom/contain no-repeat;
  opacity:.44;
  filter:saturate(.84) contrast(1.06);
  pointer-events:none;
}
body.tema-halloween.halloween-decorazioni>.site-footer :is(.site-footer-main,.site-footer-bottom,.copy){position:relative;z-index:2}
body.tema-halloween.halloween-decorazioni>.site-footer .site-footer-block{
  border-color:rgba(224,194,127,.26);
  background:linear-gradient(145deg,rgba(25,14,28,.78),rgba(48,27,45,.61));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 14px 30px rgba(0,0,0,.18);
  backdrop-filter:blur(5px);
}
body.tema-halloween.halloween-decorazioni>.site-footer .footer-logo-box{
  border-color:rgba(224,194,127,.68);
  background:linear-gradient(180deg,#fffdf9,#f4eadc);
  box-shadow:0 12px 30px rgba(0,0,0,.22),inset 0 0 0 4px rgba(189,145,81,.08);
}
body.tema-halloween.halloween-decorazioni>.site-footer .site-footer-tagline{color:#fff8ed}
body.tema-halloween.halloween-decorazioni>.site-footer .site-footer-block h3{color:#ebd29a}
body.tema-halloween.halloween-decorazioni>.site-footer :is(.site-footer-social a,.site-footer-whatsapp){
  border-color:rgba(224,194,127,.42);
  background:linear-gradient(180deg,rgba(104,52,83,.90),rgba(28,16,31,.92));
}

@media(max-width:1220px){
  body.tema-halloween.halloween-decorazioni .site-sticky-shell header #menu{
    top:calc(100% + 12px);
    overflow:hidden;
    padding:20px 15px 15px;
    border:1px solid var(--halloween-oro);
    background:linear-gradient(145deg,#60344f,var(--halloween-notte) 58%,var(--halloween-nero));
  }
  body.tema-halloween.halloween-decorazioni .site-sticky-shell header #menu::before{
    content:"";
    position:absolute;
    z-index:0;
    top:-20px;
    right:-18px;
    width:142px;
    aspect-ratio:4/3;
    background:url('../img/tema-halloween-ragnatela-angolo-0371.svg') right top/contain no-repeat;
    opacity:.18;
    pointer-events:none;
  }
  body.tema-halloween.halloween-decorazioni .site-sticky-shell header #menu a{position:relative;z-index:1}
}
@media(max-width:760px){
  body.tema-halloween.halloween-decorazioni .site-sticky-shell::after{bottom:-9px;height:20px;background-size:78px 20px,100% 1px}
  body.tema-halloween.halloween-decorazioni .site-sticky-shell>header::before{width:122px;opacity:.10}
  body.tema-halloween.halloween-decorazioni :is(.grid,.featured-rail){gap:34px}
  body.tema-halloween.halloween-decorazioni :is(.card,.featured-showcase){border-width:1.5px}
  body.tema-halloween.halloween-decorazioni :is(.card,.featured-showcase)::after{top:-20px;width:112px;height:28px}
  body.tema-halloween.halloween-decorazioni .featured-showcase-media,
  body.tema-halloween.halloween-decorazioni .featured-showcase-media>img{border-radius:18px 18px 0 0}
  body.tema-halloween.halloween-decorazioni .featured-showcase-info{border-radius:0 0 18px 18px}
  body.tema-halloween.halloween-decorazioni>.site-footer{padding-top:76px}
  body.tema-halloween.halloween-decorazioni>.site-footer::before{top:4px;height:36px;background-size:126px 32px,100% 1px}
  body.tema-halloween.halloween-decorazioni>.site-footer::after{
    right:-215px;
    bottom:-8px;
    width:720px;
    height:430px;
    opacity:.36;
  }
}
@media(max-width:430px){
  body.tema-halloween.halloween-decorazioni :is(.grid,.featured-rail){padding-top:15px}
  body.tema-halloween.halloween-decorazioni :is(.card,.featured-showcase)::after{top:-18px;width:102px;height:25px}
  body.tema-halloween.halloween-decorazioni .trip-recommended-link::before{top:-11px;width:70px;height:18px}
  body.tema-halloween.halloween-decorazioni>.site-footer::after{right:-245px;width:700px;opacity:.32}
}
@media print{
  body.tema-halloween.halloween-decorazioni .site-sticky-shell>header::before,
  body.tema-halloween.halloween-decorazioni .site-sticky-shell header #menu::before,
  body.tema-halloween.halloween-decorazioni :is(.card,.featured-showcase)::after,
  body.tema-halloween.halloween-decorazioni .trip-recommended-link::before,
  body.tema-halloween.halloween-decorazioni>.site-footer::before,
  body.tema-halloween.halloween-decorazioni>.site-footer::after{display:none!important}
}

/* Patch 0372 - Halloween e Pasqua scenografici, ricchi ma ordinati.
 * Ogni fregio e' un'unica composizione trasparente e proporzionata:
 * mai repeat, mai stretch, mai collage di elementi separati. */
body.tema-halloween.halloween-decorazioni{
  --festival-fregio:url('../img/tema-halloween-fregio-premium-0372.png');
  --festival-ratio:2172/724;
  --festival-bordo-1:#4d263f;
  --festival-bordo-2:#d2a85e;
  --festival-bordo-3:#19101d;
  --festival-carta:#fffdfa;
  --festival-carta-2:#f7f0eb;
  --festival-ombra:rgba(29,14,28,.25);
}
body.tema-pasqua.pasqua-decorazioni{
  --festival-fregio:url('../img/tema-pasqua-fregio-premium-0372.png');
  --festival-ratio:2135/736;
  --festival-bordo-1:#806891;
  --festival-bordo-2:#d0aa68;
  --festival-bordo-3:#526c5d;
  --festival-carta:#fffdf9;
  --festival-carta-2:#f6eff5;
  --festival-ombra:rgba(74,54,81,.20);
  --pasqua-salvia:#526c5d;
  --pasqua-salvia-chiara:#819989;
  --pasqua-lavanda:#6f5b82;
  --pasqua-rosa:#ba758f;
  --pasqua-oro:#caa565;
  --pasqua-avorio:#fffaf3;
  --season-deep:#463d56;
  --season-mid:#6f5b82;
  --season-accent:#caa565;
  --season-accent-light:#ecd8a9;
  --season-paper:#fffaf3;
  --season-soft:#f2eaf2;
  --season-shadow:rgba(74,54,81,.18);
  --blue:#637d6b;
  --navy:#4d425e;
  --orange:#b8798f;
  --text:#4c4654;
  --theme-footer:#463d56;
  background:
    radial-gradient(circle at 8% 16%,rgba(202,165,101,.13),transparent 28rem),
    radial-gradient(circle at 92% 38%,rgba(186,117,143,.13),transparent 34rem),
    linear-gradient(180deg,#fffaf5,#f5eef4 48%,#f7f4ee);
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) main{background:transparent}

/* Testata: fregio grande, intero e realmente riconoscibile in una zona dedicata. */
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell{overflow:visible}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell>header{overflow:hidden}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell>header .nav{
  padding-bottom:clamp(84px,8vw,96px);
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell::after{
  content:"";
  position:absolute;
  z-index:5;
  right:auto;
  bottom:-38px;
  left:50%;
  width:clamp(310px,27vw,380px);
  height:auto;
  aspect-ratio:var(--festival-ratio);
  background:var(--festival-fregio) center/contain no-repeat;
  filter:drop-shadow(0 9px 11px var(--festival-ombra));
  transform:translateX(-50%);
  pointer-events:none;
}
body.tema-halloween.halloween-decorazioni .site-sticky-shell>header::before{
  width:clamp(150px,15vw,220px);
  opacity:.20;
}
body.tema-pasqua.pasqua-decorazioni .site-sticky-shell>.top{
  border-bottom:1px solid rgba(236,216,169,.64);
  background:
    radial-gradient(circle at 16% 0,rgba(255,255,255,.10),transparent 24rem),
    linear-gradient(108deg,#7f6a91,#625473 45%,#526c5d);
  color:#fff;
}
body.tema-pasqua.pasqua-decorazioni .site-sticky-shell>header{
  background:linear-gradient(180deg,#fff,#fffaf3);
  box-shadow:inset 0 -1px 0 rgba(202,165,101,.46)!important;
}
body.tema-pasqua.pasqua-decorazioni .top-social a{border-color:rgba(236,216,169,.72);background:rgba(255,255,255,.07);color:#fff}
body.tema-pasqua.pasqua-decorazioni .top-phone{color:#fff}
body.tema-pasqua.pasqua-decorazioni .top-phone-label{color:#f2dfb8}
body.tema-pasqua.pasqua-decorazioni header #menu>a{color:#51445f}
body.tema-pasqua.pasqua-decorazioni header #menu>a:hover,
body.tema-pasqua.pasqua-decorazioni header #menu>a:focus-visible{
  border-color:rgba(202,165,101,.58);
  background:linear-gradient(180deg,#fff,#f2e8f1);
  color:#6f5b82;
  box-shadow:0 7px 17px rgba(74,54,81,.13),inset 0 0 0 1px rgba(255,255,255,.76);
}
body.tema-pasqua.pasqua-decorazioni header #menuBtn{
  border:1px solid #ecd8a9;
  background:linear-gradient(180deg,#806b92,#526c5d);
  color:#fff;
  box-shadow:0 8px 18px rgba(74,54,81,.22),inset 0 1px 0 rgba(255,255,255,.20);
}

/* Hero e testate interne: decorazione laterale atmosferica, sempre dietro ai testi. */
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.hero-slider,.pagehead,.trip-hero){
  position:relative;
  isolation:isolate;
  border-bottom:3px solid var(--festival-bordo-2);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),inset 0 -28px 50px var(--festival-ombra);
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)[data-public-page="home"] .hero-slide::after,
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.pagehead,.trip-hero)::after{
  content:""!important;
  display:block!important;
  position:absolute;
  z-index:1;
  top:auto;
  right:-34px;
  bottom:-42px;
  width:clamp(350px,39vw,570px);
  height:auto;
  aspect-ratio:var(--festival-ratio);
  background:var(--festival-fregio) center/contain no-repeat!important;
  opacity:.62;
  filter:drop-shadow(0 12px 20px rgba(0,0,0,.26));
  pointer-events:none;
}
body.tema-pasqua.pasqua-decorazioni[data-public-page="home"] .hero-slide::after,
body.tema-pasqua.pasqua-decorazioni :is(.pagehead,.trip-hero)::after{opacity:.72}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.hero-slide-content,.pagehead>.wrap,.trip-hero-content){position:relative;z-index:2}

/* Separatore editoriale ricco: non e' una barretta astratta. */
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .home-divider{
  width:clamp(180px,18vw,245px);
  height:auto;
  aspect-ratio:var(--festival-ratio);
  margin-top:8px;
  background:var(--festival-fregio) center/contain no-repeat;
  box-shadow:none;
  filter:drop-shadow(0 5px 7px var(--festival-ombra));
}

/* Card: fregio ampio, fuori dal bordo e in parte sulla foto; controlli sotto in zona sicura. */
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.grid,.featured-rail){
  gap:54px 30px;
  overflow:visible;
  padding-top:70px;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card,.featured-showcase){
  position:relative;
  isolation:isolate;
  overflow:visible;
  padding-top:0;
  border:2px solid transparent;
  border-radius:21px;
  background:
    linear-gradient(var(--festival-carta),var(--festival-carta)) padding-box,
    linear-gradient(145deg,var(--festival-bordo-1),var(--festival-bordo-2) 34%,var(--festival-bordo-3) 68%,var(--festival-bordo-2)) border-box;
  box-shadow:0 21px 48px var(--festival-ombra),0 4px 13px rgba(0,0,0,.07);
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card,.featured-showcase)::before{
  content:none!important;
  display:none!important;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card::after,
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase::after{
  content:""!important;
  display:block!important;
  position:absolute;
  z-index:7;
  height:auto;
  aspect-ratio:var(--festival-ratio);
  background:var(--festival-fregio) center/contain no-repeat;
  filter:drop-shadow(0 9px 10px var(--festival-ombra));
  pointer-events:none;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card::after{
  top:-42px;
  left:50%;
  width:min(94%,310px);
  transform:translateX(-50%);
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase::after{
  top:-48px;
  right:3%;
  left:auto;
  width:min(56%,410px);
  transform:none;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card-media,
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card-media>img{overflow:hidden;border-radius:19px 19px 0 0}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .cardbody{border-radius:0 0 19px 19px;background:linear-gradient(180deg,var(--festival-carta),var(--festival-carta-2))}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase-media,
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase-media>img{overflow:hidden;border-radius:0 19px 19px 0}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase-info{border-radius:19px 0 0 19px;background:linear-gradient(180deg,var(--festival-carta),var(--festival-carta-2))}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card .card-type-badge,
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card .sold-out-badge-card{top:72px!important}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase :is(.featured-showcase-type-overlay,.sold-out-badge-featured){top:82px!important}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(
  .card-type-badge,.featured-showcase-type-overlay,
  .sold-out-badge-card,.sold-out-badge-featured,
  .novita-badge-card,.novita-badge-featured,
  .availability-badge-card,.availability-badge-featured,
  .favorite-toggle-media
){z-index:9}
body.tema-halloween.halloween-decorazioni :is(.card-type-badge,.featured-showcase-type){
  border-color:rgba(235,205,142,.72)!important;
  background:linear-gradient(180deg,#70405f,#211426)!important;
  color:#fff!important;
}
body.tema-pasqua.pasqua-decorazioni :is(.card-type-badge,.featured-showcase-type){
  border-color:rgba(255,247,227,.82)!important;
  background:linear-gradient(180deg,#8b739a,#526c5d)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(74,54,81,.22),inset 0 1px 0 rgba(255,255,255,.24);
}
body.tema-pasqua.pasqua-decorazioni :is(.card-type-badge.gita,.featured-showcase-type.gita){background:linear-gradient(180deg,#7f9a87,#526c5d)!important}

body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .trip-recommended-link{
  position:relative;
  isolation:isolate;
  overflow:visible;
  margin-top:34px;
  padding-top:0;
  border:1px solid transparent;
  border-radius:16px;
  background:
    linear-gradient(var(--festival-carta),var(--festival-carta)) padding-box,
    linear-gradient(145deg,var(--festival-bordo-1),var(--festival-bordo-2),var(--festival-bordo-3)) border-box;
  box-shadow:0 12px 28px var(--festival-ombra);
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .trip-recommended-link::before{
  content:""!important;
  display:block!important;
  position:absolute;
  z-index:4;
  top:-28px;
  right:auto;
  bottom:auto;
  left:50%;
  width:min(78%,180px);
  height:auto;
  aspect-ratio:var(--festival-ratio);
  border:0;
  background:var(--festival-fregio) center/contain no-repeat;
  filter:drop-shadow(0 5px 6px var(--festival-ombra));
  transform:translateX(-50%);
  pointer-events:none;
}

/* Pasqua: sezioni, pulsanti e footer diventano una vera scenografia primaverile. */
body.tema-pasqua.pasqua-decorazioni :is(.home-group-alt,.home-reviews-section,.home-choice-section){
  background:linear-gradient(180deg,#f1e8f1,#fffaf3);
}
body.tema-pasqua.pasqua-decorazioni :is(.home-section-heading h2,.title h2){color:#51445f}
body.tema-pasqua.pasqua-decorazioni :is(.home-section-heading>p,.title>p,.trip-section-kicker){color:#9c6078}
body.tema-pasqua.pasqua-decorazioni .btn{
  border-color:#f0dcb0;
  background:linear-gradient(180deg,#edd6a1,#c59b58);
  color:#493d52;
  box-shadow:0 10px 24px rgba(74,54,81,.18),inset 0 1px 0 rgba(255,255,255,.55);
}
body.tema-pasqua.pasqua-decorazioni .btn.secondary{
  border-color:rgba(255,255,255,.78);
  background:rgba(75,61,88,.46);
  color:#fff;
}
body.tema-pasqua.pasqua-decorazioni :is(.search-panel,.home-search-panel,.trip-booking-card){
  border-color:rgba(202,165,101,.43);
  background:linear-gradient(180deg,#fff,#fff8f1);
  box-shadow:0 18px 42px rgba(74,54,81,.12);
}
body.tema-pasqua.pasqua-decorazioni>.site-footer{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding-top:154px;
  border-top:1px solid #d5b36f;
  background:
    radial-gradient(circle at 12% 18%,rgba(236,216,169,.15),transparent 29rem),
    radial-gradient(circle at 90% 82%,rgba(186,117,143,.23),transparent 36rem),
    linear-gradient(135deg,#6f5b82,#51465f 48%,#40584c);
}
body.tema-pasqua.pasqua-decorazioni>.site-footer::before{
  content:"";
  position:absolute;
  z-index:3;
  top:-18px;
  right:auto;
  left:50%;
  width:clamp(400px,44vw,610px);
  height:auto;
  aspect-ratio:var(--festival-ratio);
  background:var(--festival-fregio) center/contain no-repeat;
  filter:drop-shadow(0 10px 12px rgba(49,37,55,.25));
  transform:translateX(-50%);
  pointer-events:none;
}
body.tema-pasqua.pasqua-decorazioni>.site-footer::after{
  content:"";
  position:absolute;
  z-index:0;
  right:-2%;
  bottom:-2%;
  width:min(96%,1500px);
  height:96%;
  background:url('../img/tema-pasqua-giardino-0372.png') right bottom/contain no-repeat;
  opacity:.40;
  filter:saturate(.88) contrast(1.03);
  pointer-events:none;
}
body.tema-pasqua.pasqua-decorazioni>.site-footer :is(.site-footer-main,.site-footer-bottom,.copy){position:relative;z-index:2}
body.tema-pasqua.pasqua-decorazioni>.site-footer .site-footer-block{
  border-color:rgba(240,220,176,.31);
  background:linear-gradient(145deg,rgba(68,55,78,.81),rgba(64,88,76,.65));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 14px 30px rgba(42,31,47,.18);
  backdrop-filter:blur(5px);
}
body.tema-pasqua.pasqua-decorazioni>.site-footer .footer-logo-box{
  border-color:rgba(236,216,169,.75);
  background:linear-gradient(180deg,#fff,#fff8ef);
  box-shadow:0 12px 30px rgba(42,31,47,.22),inset 0 0 0 4px rgba(202,165,101,.09);
}
body.tema-pasqua.pasqua-decorazioni>.site-footer .site-footer-block h3{color:#f0dcb0}
body.tema-pasqua.pasqua-decorazioni>.site-footer .site-footer-tagline{color:#fffaf3}
body.tema-pasqua.pasqua-decorazioni>.site-footer :is(.site-footer-social a,.site-footer-whatsapp){
  border-color:rgba(240,220,176,.46);
  background:linear-gradient(180deg,rgba(128,107,146,.92),rgba(64,88,76,.92));
}

/* Menu mobile: decorazione in una fascia propria, nessun link coperto. */
@media(max-width:1220px){
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell header #menu{
    top:calc(100% + 18px);
    overflow:hidden;
    padding:108px 15px 15px;
    border:1px solid var(--festival-bordo-2);
  }
  body.tema-halloween.halloween-decorazioni .site-sticky-shell header #menu{background:linear-gradient(145deg,#60344f,#211426 60%,#120d17)}
  body.tema-pasqua.pasqua-decorazioni .site-sticky-shell header #menu{background:linear-gradient(145deg,#806b92,#5d506d 55%,#40584c)}
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell header #menu::before{
    content:"";
    position:absolute;
    z-index:0;
    top:5px;
    right:auto;
    left:50%;
    width:300px;
    height:auto;
    aspect-ratio:var(--festival-ratio);
    background:var(--festival-fregio) center/contain no-repeat;
    opacity:1;
    filter:drop-shadow(0 6px 8px rgba(0,0,0,.28));
    transform:translateX(-50%);
    pointer-events:none;
  }
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell header #menu a{position:relative;z-index:1}
}
@media(max-width:760px){
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell>header .nav{padding-bottom:72px}
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell::after{bottom:-38px;width:320px}
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)[data-public-page="home"] .hero-slide::after,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.pagehead,.trip-hero)::after{
    right:-92px;
    bottom:-20px;
    width:330px;
    opacity:.34;
  }
  body.tema-pasqua.pasqua-decorazioni[data-public-page="home"] .hero-slide::after,
  body.tema-pasqua.pasqua-decorazioni :is(.pagehead,.trip-hero)::after{opacity:.42}
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.grid,.featured-rail){gap:48px;padding-top:58px}
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card,.featured-showcase){border-width:1.5px}
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card::after,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase::after{
    top:-38px;
    right:auto;
    left:50%;
    width:min(94%,290px);
    transform:translateX(-50%);
  }
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase-media,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase-media>img{border-radius:19px 19px 0 0}
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase-info{border-radius:0 0 19px 19px}
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card .card-type-badge,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card .sold-out-badge-card,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase :is(.featured-showcase-type-overlay,.sold-out-badge-featured){top:68px!important}
  body.tema-pasqua.pasqua-decorazioni>.site-footer{padding-top:126px}
  body.tema-pasqua.pasqua-decorazioni>.site-footer::before{top:-4px;width:370px}
  body.tema-pasqua.pasqua-decorazioni>.site-footer::after{right:-220px;bottom:-10px;width:760px;height:480px;opacity:.34}
}
@media(max-width:430px){
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell>header .nav{padding-bottom:70px}
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell::after{bottom:-34px;width:290px}
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .home-divider{width:170px}
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.grid,.featured-rail){padding-top:54px}
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card::after,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase::after{top:-34px;width:min(94%,265px)}
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card .card-type-badge,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card .sold-out-badge-card,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase :is(.featured-showcase-type-overlay,.sold-out-badge-featured){top:65px!important}
  body.tema-pasqua.pasqua-decorazioni>.site-footer::before{width:330px}
  body.tema-pasqua.pasqua-decorazioni>.site-footer::after{right:-260px;width:720px;opacity:.30}
}
@media print{
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell::after,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)[data-public-page="home"] .hero-slide::after,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.pagehead,.trip-hero)::after,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card,.featured-showcase)::after,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .trip-recommended-link::before,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell header #menu::before,
  body.tema-pasqua.pasqua-decorazioni>.site-footer::before,
  body.tema-pasqua.pasqua-decorazioni>.site-footer::after{display:none!important}
}

/* Patch 0373 - Halloween e Pasqua: cornici vere come il Natale approvato.
 * Le composizioni centrali della 0372 sono neutralizzate. Ogni tema usa
 * quattro lati e quattro angoli indipendenti, sempre in proporzione naturale.
 * Nessun soggetto viene ripetuto, stirato o usato come border-image. */
body.tema-halloween.halloween-decorazioni{
  --festival-frame-tl:url('../img/tema-halloween-cornice-0373-tl.png');
  --festival-frame-t:url('../img/tema-halloween-cornice-0373-t.png');
  --festival-frame-tr:url('../img/tema-halloween-cornice-0373-tr.png');
  --festival-frame-r:url('../img/tema-halloween-cornice-0373-r.png');
  --festival-frame-br:url('../img/tema-halloween-cornice-0373-br.png');
  --festival-frame-b:url('../img/tema-halloween-cornice-0373-b.png');
  --festival-frame-bl:url('../img/tema-halloween-cornice-0373-bl.png');
  --festival-frame-l:url('../img/tema-halloween-cornice-0373-l.png');
  --festival-frame-header:url('../img/tema-halloween-cornice-0373-header.png');
  --festival-frame-line:#4d263f;
  --festival-frame-accent:#d2a85e;
  --festival-frame-glow:rgba(199,122,53,.52);
  --festival-frame-shadow:rgba(23,10,24,.32);
}
body.tema-pasqua.pasqua-decorazioni{
  --festival-frame-tl:url('../img/tema-pasqua-cornice-0373-tl.png');
  --festival-frame-t:url('../img/tema-pasqua-cornice-0373-t.png');
  --festival-frame-tr:url('../img/tema-pasqua-cornice-0373-tr.png');
  --festival-frame-r:url('../img/tema-pasqua-cornice-0373-r.png');
  --festival-frame-br:url('../img/tema-pasqua-cornice-0373-br.png');
  --festival-frame-b:url('../img/tema-pasqua-cornice-0373-b.png');
  --festival-frame-bl:url('../img/tema-pasqua-cornice-0373-bl.png');
  --festival-frame-l:url('../img/tema-pasqua-cornice-0373-l.png');
  --festival-frame-header:url('../img/tema-pasqua-cornice-0373-header.png');
  --festival-frame-line:#7c6790;
  --festival-frame-accent:#caa565;
  --festival-frame-glow:rgba(238,190,206,.56);
  --festival-frame-shadow:rgba(74,54,81,.24);
}

/* Ripristino delle spaziature reali: la cornice non occupa una falsa testata. */
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell,
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell>header{
  overflow:visible;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell>header .nav{
  padding-bottom:24px!important;
}

/* Decorazione continua sotto l'header: fascia dedicata, non un medaglione. */
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell::after{
  content:""!important;
  display:block!important;
  position:absolute;
  z-index:6;
  top:auto;
  right:0;
  bottom:-51px;
  left:0;
  width:auto;
  height:86px;
  aspect-ratio:auto;
  border:0;
  border-radius:0;
  background:
    var(--festival-frame-bl) left bottom/86px 86px no-repeat,
    var(--festival-frame-br) right bottom/86px 86px no-repeat,
    var(--festival-frame-header) center bottom/auto 76px no-repeat,
    linear-gradient(90deg,transparent 0,var(--festival-frame-line) 9%,var(--festival-frame-accent) 48% 52%,var(--festival-frame-line) 91%,transparent 100%) center 37px/100% 3px no-repeat;
  filter:drop-shadow(0 8px 8px var(--festival-frame-shadow));
  opacity:1;
  transform:none;
  pointer-events:none;
}

/* Niente adesivi su slider, testate interne o divisori. L'atmosfera resta
 * affidata a nebbia e petali, dietro ai testi. */
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)[data-public-page="home"] .hero-slide::after,
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.pagehead,.trip-hero)::after{
  content:none!important;
  display:none!important;
  width:0!important;
  height:0!important;
  background:none!important;
  filter:none!important;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .home-divider{
  width:112px;
  height:5px;
  aspect-ratio:auto;
  margin-top:18px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--festival-frame-line) 0 31%,var(--festival-frame-accent) 31% 69%,var(--festival-frame-line) 69% 100%);
  box-shadow:0 2px 8px var(--festival-frame-shadow);
  filter:none;
}

/* Card e primo piano: perimetro completo in otto parti, senza repeat. */
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.grid,.featured-rail){
  gap:34px 30px;
  overflow:visible;
  padding-top:0;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card,.featured-showcase){
  position:relative;
  isolation:isolate;
  overflow:visible;
  padding-top:0;
  border:1px solid transparent;
  border-radius:20px;
  background:
    linear-gradient(var(--festival-carta),var(--festival-carta)) padding-box,
    linear-gradient(145deg,var(--festival-frame-line),var(--festival-frame-accent) 42%,var(--festival-frame-line)) border-box;
  box-shadow:0 18px 42px var(--festival-frame-shadow),0 4px 12px rgba(0,0,0,.06);
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card,.featured-showcase)::before{
  content:""!important;
  display:block!important;
  position:absolute;
  z-index:4;
  inset:-12px;
  border:0;
  border-radius:29px;
  background:
    var(--festival-frame-tl) left top/72px 72px no-repeat,
    var(--festival-frame-tr) right top/72px 72px no-repeat,
    var(--festival-frame-bl) left bottom/72px 72px no-repeat,
    var(--festival-frame-br) right bottom/72px 72px no-repeat,
    var(--festival-frame-t) center top/auto 38px no-repeat,
    var(--festival-frame-b) center bottom/auto 38px no-repeat,
    var(--festival-frame-l) left center/38px auto no-repeat,
    var(--festival-frame-r) right center/38px auto no-repeat,
    linear-gradient(90deg,transparent,var(--festival-frame-line) 13%,var(--festival-frame-accent) 50%,var(--festival-frame-line) 87%,transparent) center 11px/calc(100% - 64px) 3px no-repeat,
    linear-gradient(90deg,transparent,var(--festival-frame-line) 13%,var(--festival-frame-accent) 50%,var(--festival-frame-line) 87%,transparent) center calc(100% - 11px)/calc(100% - 64px) 3px no-repeat,
    linear-gradient(180deg,transparent,var(--festival-frame-line) 13%,var(--festival-frame-accent) 50%,var(--festival-frame-line) 87%,transparent) 11px center/3px calc(100% - 64px) no-repeat,
    linear-gradient(180deg,transparent,var(--festival-frame-line) 13%,var(--festival-frame-accent) 50%,var(--festival-frame-line) 87%,transparent) calc(100% - 11px) center/3px calc(100% - 64px) no-repeat;
  filter:drop-shadow(0 7px 8px var(--festival-frame-shadow));
  transform:none;
  pointer-events:none;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card::after,
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase::after{
  content:none!important;
  display:none!important;
  background:none!important;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card-media,.featured-showcase-media){
  position:relative;
  z-index:1;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.cardbody,.featured-showcase-info){
  position:relative;
  z-index:1;
  padding:28px 30px 40px;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card .card-type-badge,
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card .sold-out-badge-card,
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase :is(.featured-showcase-type-overlay,.sold-out-badge-featured){
  top:14px!important;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(
  .card-type-badge,.featured-showcase-type,.featured-showcase-type-overlay,
  .sold-out-badge-card,.sold-out-badge-featured,
  .novita-badge-card,.novita-badge-featured,
  .availability-badge-card,.availability-badge-featured,
  .favorite-toggle,.favorite-toggle-media
){z-index:9}

/* Consigliati: cornice compatta, senza personaggi duplicati. */
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .trip-recommended-link{
  position:relative;
  isolation:isolate;
  overflow:visible;
  margin-top:0;
  padding-top:0;
  border:1px solid transparent;
  border-radius:15px;
  background:
    linear-gradient(var(--festival-carta),var(--festival-carta)) padding-box,
    linear-gradient(145deg,var(--festival-frame-line),var(--festival-frame-accent),var(--festival-frame-line)) border-box;
  box-shadow:0 11px 26px var(--festival-frame-shadow);
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .trip-recommended-link::before{
  content:""!important;
  display:block!important;
  position:absolute;
  z-index:4;
  inset:-5px;
  width:auto;
  height:auto;
  aspect-ratio:auto;
  border:0;
  border-radius:19px;
  background:
    var(--festival-frame-t) center top/auto 14px no-repeat,
    var(--festival-frame-b) center bottom/auto 14px no-repeat,
    var(--festival-frame-l) left center/14px auto no-repeat,
    var(--festival-frame-r) right center/14px auto no-repeat,
    linear-gradient(90deg,transparent,var(--festival-frame-line) 12%,var(--festival-frame-accent) 50%,var(--festival-frame-line) 88%,transparent) center 4px/calc(100% - 30px) 2px no-repeat,
    linear-gradient(90deg,transparent,var(--festival-frame-line) 12%,var(--festival-frame-accent) 50%,var(--festival-frame-line) 88%,transparent) center calc(100% - 4px)/calc(100% - 30px) 2px no-repeat,
    linear-gradient(180deg,transparent,var(--festival-frame-line) 12%,var(--festival-frame-accent) 50%,var(--festival-frame-line) 88%,transparent) 4px center/2px calc(100% - 30px) no-repeat,
    linear-gradient(180deg,transparent,var(--festival-frame-line) 12%,var(--festival-frame-accent) 50%,var(--festival-frame-line) 88%,transparent) calc(100% - 4px) center/2px calc(100% - 30px) no-repeat;
  filter:drop-shadow(0 4px 5px var(--festival-frame-shadow));
  transform:none;
  pointer-events:none;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .trip-recommended-link>*{
  position:relative;
  z-index:5;
}

/* Pasqua conserva il giardino della 0372, ma il bordo alto diventa una
 * composizione continua raccordata agli estremi. */
body.tema-pasqua.pasqua-decorazioni>.site-footer{
  padding-top:100px;
}
body.tema-pasqua.pasqua-decorazioni>.site-footer::before{
  content:""!important;
  display:block!important;
  position:absolute;
  z-index:3;
  top:-20px;
  right:0;
  bottom:auto;
  left:0;
  width:auto;
  height:96px;
  aspect-ratio:auto;
  background:
    var(--festival-frame-bl) left bottom/122px 122px no-repeat,
    var(--festival-frame-br) right bottom/122px 122px no-repeat,
    var(--festival-frame-header) center bottom/auto 84px no-repeat,
    linear-gradient(90deg,transparent,var(--festival-frame-line) 8%,var(--festival-frame-accent) 48% 52%,var(--festival-frame-line) 92%,transparent) center 39px/100% 3px no-repeat;
  filter:drop-shadow(0 9px 10px rgba(49,37,55,.23));
  opacity:1;
  transform:none;
  pointer-events:none;
}

/* Menu mobile: una fascia superiore propria; i link iniziano sotto. */
@media(max-width:1220px){
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell header #menu{
    top:calc(100% + 16px);
    overflow:hidden;
    padding:50px 15px 15px;
    border:1px solid var(--festival-frame-accent);
  }
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell header #menu::before{
    content:""!important;
    display:block!important;
    position:absolute;
    z-index:0;
    top:0;
    right:0;
    left:0;
    width:auto;
    height:45px;
    aspect-ratio:auto;
    background:
      var(--festival-frame-header) center top/auto 40px no-repeat,
      linear-gradient(90deg,transparent,var(--festival-frame-line) 10%,var(--festival-frame-accent) 50%,var(--festival-frame-line) 90%,transparent) center bottom/100% 2px no-repeat;
    opacity:1;
    filter:drop-shadow(0 5px 6px rgba(0,0,0,.23));
    transform:none;
    pointer-events:none;
  }
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell header #menu a{
    position:relative;
    z-index:1;
  }
}

@media(max-width:760px){
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell>header .nav{
    padding-bottom:18px!important;
  }
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell::after{
    bottom:-32px;
    height:58px;
    background:
      var(--festival-frame-bl) left bottom/58px 58px no-repeat,
      var(--festival-frame-br) right bottom/58px 58px no-repeat,
      var(--festival-frame-header) center bottom/auto 52px no-repeat,
      linear-gradient(90deg,transparent,var(--festival-frame-line) 8%,var(--festival-frame-accent) 48% 52%,var(--festival-frame-line) 92%,transparent) center 25px/100% 2px no-repeat;
  }
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.grid,.featured-rail){
    gap:30px;
    padding-top:0;
  }
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.cardbody,.featured-showcase-info){
    padding:24px 26px 36px;
  }
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card,.featured-showcase)::before{
    inset:-9px;
    border-radius:25px;
    background:
      var(--festival-frame-tl) left top/62px 62px no-repeat,
      var(--festival-frame-tr) right top/62px 62px no-repeat,
      var(--festival-frame-bl) left bottom/62px 62px no-repeat,
      var(--festival-frame-br) right bottom/62px 62px no-repeat,
      var(--festival-frame-t) center top/auto 32px no-repeat,
      var(--festival-frame-b) center bottom/auto 32px no-repeat,
      var(--festival-frame-l) left center/32px auto no-repeat,
      var(--festival-frame-r) right center/32px auto no-repeat,
      linear-gradient(90deg,transparent,var(--festival-frame-line) 13%,var(--festival-frame-accent) 50%,var(--festival-frame-line) 87%,transparent) center 7px/calc(100% - 62px) 2px no-repeat,
      linear-gradient(90deg,transparent,var(--festival-frame-line) 13%,var(--festival-frame-accent) 50%,var(--festival-frame-line) 87%,transparent) center calc(100% - 7px)/calc(100% - 62px) 2px no-repeat,
      linear-gradient(180deg,transparent,var(--festival-frame-line) 13%,var(--festival-frame-accent) 50%,var(--festival-frame-line) 87%,transparent) 7px center/2px calc(100% - 62px) no-repeat,
      linear-gradient(180deg,transparent,var(--festival-frame-line) 13%,var(--festival-frame-accent) 50%,var(--festival-frame-line) 87%,transparent) calc(100% - 7px) center/2px calc(100% - 62px) no-repeat;
  }
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card .card-type-badge,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card .sold-out-badge-card,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase :is(.featured-showcase-type-overlay,.sold-out-badge-featured){
    top:10px!important;
  }
  body.tema-pasqua.pasqua-decorazioni>.site-footer{padding-top:78px}
  body.tema-pasqua.pasqua-decorazioni>.site-footer::before{
    top:-12px;
    height:72px;
    background:
      var(--festival-frame-bl) left bottom/72px 72px no-repeat,
      var(--festival-frame-br) right bottom/72px 72px no-repeat,
      var(--festival-frame-header) center bottom/auto 64px no-repeat,
      linear-gradient(90deg,transparent,var(--festival-frame-line) 8%,var(--festival-frame-accent) 48% 52%,var(--festival-frame-line) 92%,transparent) center 30px/100% 2px no-repeat;
  }
}

@media(max-width:430px){
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell::after{
    bottom:-29px;
    height:53px;
    background:
      var(--festival-frame-bl) left bottom/53px 53px no-repeat,
      var(--festival-frame-br) right bottom/53px 53px no-repeat,
      var(--festival-frame-header) center bottom/auto 47px no-repeat,
      linear-gradient(90deg,transparent,var(--festival-frame-line) 8%,var(--festival-frame-accent) 48% 52%,var(--festival-frame-line) 92%,transparent) center 23px/100% 2px no-repeat;
  }
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card,.featured-showcase)::before{
    inset:-7px;
    border-radius:24px;
    background:
      var(--festival-frame-tl) left top/56px 56px no-repeat,
      var(--festival-frame-tr) right top/56px 56px no-repeat,
      var(--festival-frame-bl) left bottom/56px 56px no-repeat,
      var(--festival-frame-br) right bottom/56px 56px no-repeat,
      var(--festival-frame-t) center top/auto 30px no-repeat,
      var(--festival-frame-b) center bottom/auto 30px no-repeat,
      var(--festival-frame-l) left center/30px auto no-repeat,
      var(--festival-frame-r) right center/30px auto no-repeat,
      linear-gradient(90deg,transparent,var(--festival-frame-line) 13%,var(--festival-frame-accent) 50%,var(--festival-frame-line) 87%,transparent) center 6px/calc(100% - 56px) 2px no-repeat,
      linear-gradient(90deg,transparent,var(--festival-frame-line) 13%,var(--festival-frame-accent) 50%,var(--festival-frame-line) 87%,transparent) center calc(100% - 6px)/calc(100% - 56px) 2px no-repeat,
      linear-gradient(180deg,transparent,var(--festival-frame-line) 13%,var(--festival-frame-accent) 50%,var(--festival-frame-line) 87%,transparent) 6px center/2px calc(100% - 56px) no-repeat,
      linear-gradient(180deg,transparent,var(--festival-frame-line) 13%,var(--festival-frame-accent) 50%,var(--festival-frame-line) 87%,transparent) calc(100% - 6px) center/2px calc(100% - 56px) no-repeat;
  }
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .home-divider{width:96px;height:4px}
}

@media(prefers-reduced-motion:reduce){
  body.tema-halloween.halloween-effetti :is(.hero-slide,.pagehead,.trip-hero)::before,
  body.tema-pasqua.pasqua-petali :is(.hero-slide,.pagehead,.trip-hero)::before{
    animation:none;
    will-change:auto;
  }
}

@media print{
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell::after,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card,.featured-showcase)::before,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .trip-recommended-link::before,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell header #menu::before,
  body.tema-pasqua.pasqua-decorazioni>.site-footer::before{
    display:none!important;
  }
}

/* Patch 0374 - cornici stagionali ricostruite senza ritagli, ripetizioni o
 * deformazioni. Header e footer hanno fasce autonome; le card usano un vero
 * perimetro continuo e quattro ornamenti d'angolo proporzionati. */
body.tema-halloween.halloween-decorazioni{
  --f374-frame-tl:url('../img/tema-halloween-frame-tl-0374.png');
  --f374-frame-tr:url('../img/tema-halloween-frame-tr-0374.png');
  --f374-frame-bl:url('../img/tema-halloween-frame-bl-0374.png');
  --f374-frame-br:url('../img/tema-halloween-frame-br-0374.png');
  --f374-frame-t:url('../img/tema-halloween-frame-t-0374.png');
  --f374-frame-r:url('../img/tema-halloween-frame-r-0374.png');
  --f374-frame-b:url('../img/tema-halloween-frame-b-0374.png');
  --f374-frame-l:url('../img/tema-halloween-frame-l-0374.png');
  --f374-header:url('../img/tema-halloween-header-0374.png');
  --f374-header-mobile:url('../img/tema-halloween-header-mobile-0374.png');
  --f374-footer:url('../img/tema-halloween-footer-bordo-0374.png');
  --f374-footer-mobile:url('../img/tema-halloween-footer-bordo-mobile-0374.png');
}
body.tema-pasqua.pasqua-decorazioni{
  --f374-frame-tl:url('../img/tema-pasqua-frame-tl-0374.png');
  --f374-frame-tr:url('../img/tema-pasqua-frame-tr-0374.png');
  --f374-frame-bl:url('../img/tema-pasqua-frame-bl-0374.png');
  --f374-frame-br:url('../img/tema-pasqua-frame-br-0374.png');
  --f374-frame-t:url('../img/tema-pasqua-frame-t-0374.png');
  --f374-frame-r:url('../img/tema-pasqua-frame-r-0374.png');
  --f374-frame-b:url('../img/tema-pasqua-frame-b-0374.png');
  --f374-frame-l:url('../img/tema-pasqua-frame-l-0374.png');
  --f374-header:url('../img/tema-pasqua-header-0374.png');
  --f374-header-mobile:url('../img/tema-pasqua-header-mobile-0374.png');
  --f374-footer:url('../img/tema-pasqua-footer-bordo-0374.png');
  --f374-footer-mobile:url('../img/tema-pasqua-footer-bordo-mobile-0374.png');
}

body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni){
  --f374-header-h:clamp(64px,7.3vw,106px);
  --f374-footer-h:clamp(74px,7.3vw,106px);
  --f374-corner:96px;
  --f374-edge-gap:160px;
  --f374-edge-max:440px;
  --f374-side-shift:-32px;
  --f374-control-inset:52px;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.grid,.featured-rail){
  gap:52px 42px;
}

/* La fascia dell'header e' dentro il box misurato dallo script della testata:
 * il contenuto della pagina inizia quindi sempre sotto la decorazione. */
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell{
  overflow:visible!important;
  padding-bottom:var(--f374-header-h)!important;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell>header{
  overflow:visible!important;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell>header .nav{
  padding-bottom:0!important;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:5!important;
  top:auto!important;
  right:0!important;
  bottom:0!important;
  left:0!important;
  width:auto!important;
  height:var(--f374-header-h)!important;
  aspect-ratio:auto!important;
  border:0!important;
  border-radius:0!important;
  background:
    var(--f374-header) center top/min(calc(100% - 24px),1400px) auto no-repeat,
    linear-gradient(90deg,transparent,var(--festival-frame-line) 6%,var(--festival-frame-accent) 50%,var(--festival-frame-line) 94%,transparent) center bottom/100% 2px no-repeat!important;
  filter:drop-shadow(0 8px 9px var(--festival-frame-shadow))!important;
  opacity:1!important;
  transform:none!important;
  pointer-events:none!important;
}

/* Cornice card: un unico perimetro chiude tutti i lati. Gli otto elementi
 * ornamentali sono autonomi, trasparenti e usati una volta sola. */
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card,.featured-showcase){
  position:relative;
  isolation:isolate;
  overflow:visible;
  padding-top:0;
  border:2px solid var(--festival-frame-line);
  border-radius:20px;
  background:linear-gradient(180deg,var(--festival-carta),var(--festival-carta-2));
  box-shadow:0 18px 42px var(--festival-frame-shadow),0 4px 12px rgba(0,0,0,.06);
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card,.featured-showcase)::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:2!important;
  inset:-18px!important;
  width:auto!important;
  height:auto!important;
  aspect-ratio:auto!important;
  border:0!important;
  border-radius:36px!important;
  background:
    var(--f374-frame-tl) left top/var(--f374-corner) auto no-repeat,
    var(--f374-frame-tr) right top/var(--f374-corner) auto no-repeat,
    var(--f374-frame-bl) left bottom/var(--f374-corner) auto no-repeat,
    var(--f374-frame-br) right bottom/var(--f374-corner) auto no-repeat,
    var(--f374-frame-t) center top/min(calc(100% - var(--f374-edge-gap)),var(--f374-edge-max)) auto no-repeat,
    var(--f374-frame-b) center bottom/min(calc(100% - var(--f374-edge-gap)),var(--f374-edge-max)) auto no-repeat,
    var(--f374-frame-l) left var(--f374-side-shift) center/auto min(calc(100% - var(--f374-edge-gap)),620px) no-repeat,
    var(--f374-frame-r) right var(--f374-side-shift) center/auto min(calc(100% - var(--f374-edge-gap)),620px) no-repeat!important;
  box-shadow:none!important;
  filter:drop-shadow(0 7px 8px var(--festival-frame-shadow))!important;
  opacity:1!important;
  transform:none!important;
  pointer-events:none!important;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card,.featured-showcase)::after{
  content:none!important;
  display:none!important;
  background:none!important;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .cardbody{padding:20px}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card-primo-piano .cardbody{padding:24px}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase-info{padding:18px 18px 16px}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.cardbody,.featured-showcase-info){
  position:relative!important;
  z-index:3!important;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card-media,.featured-showcase-media){
  z-index:auto!important;
  isolation:auto!important;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase{
  --f374-side-shift:-16px;
  --f374-edge-max:1200px;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card :is(.card-type-badge,.sold-out-badge-card),
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase :is(.featured-showcase-type-overlay,.sold-out-badge-featured){
  top:calc(var(--f374-corner) - 4px)!important;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card :is(.card-type-badge,.availability-badge-card){
  left:var(--f374-control-inset)!important;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase :is(.sold-out-badge-featured,.availability-badge-featured){
  left:var(--f374-control-inset)!important;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card :is(.sold-out-badge-card,.favorite-toggle-media),
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase :is(.featured-showcase-type-overlay,.favorite-toggle-media){
  right:var(--f374-control-inset)!important;
}
@media(min-width:651px){
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase .favorite-toggle-media{
    bottom:calc(var(--f374-corner) - 4px)!important;
  }
}

/* Le card consigliate conservano una cornice completa ma compatta: nessun
 * personaggio viene miniaturizzato o duplicato. */
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .trip-recommended-link{
  margin-top:0;
  border:2px solid var(--festival-frame-line);
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .trip-recommended-link::before{
  content:none!important;
  display:none!important;
}

/* Bordo superiore del footer in una fascia riservata. Lo sfondo scenografico
 * della dimora Halloween e il giardino Pasqua restano intatti in ::after. */
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)>.site-footer{
  position:relative;
  isolation:isolate;
  padding-top:calc(var(--f374-footer-h) + 18px)!important;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)>.site-footer::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:3!important;
  top:0!important;
  right:0!important;
  bottom:auto!important;
  left:0!important;
  width:auto!important;
  height:var(--f374-footer-h)!important;
  aspect-ratio:auto!important;
  background:
    var(--f374-footer) center top/min(calc(100% - 24px),1400px) auto no-repeat,
    linear-gradient(90deg,transparent,var(--festival-frame-line) 6%,var(--festival-frame-accent) 50%,var(--festival-frame-line) 94%,transparent) center top/100% 2px no-repeat!important;
  filter:drop-shadow(0 9px 10px rgba(0,0,0,.26))!important;
  opacity:1!important;
  transform:none!important;
  pointer-events:none!important;
}

/* Il menu mobile apre sotto l'intera testata, inclusa la nuova fascia. */
@media(max-width:1220px){
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell header #menu{
    top:calc(100% + var(--f374-header-h) + 8px)!important;
    max-height:calc(100dvh - var(--site-fixed-header-height) - 16px)!important;
    overflow-y:auto!important;
    padding:54px 15px 15px!important;
  }
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell header #menu::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    z-index:0!important;
    top:4px!important;
    right:0!important;
    left:0!important;
    width:auto!important;
    height:46px!important;
    aspect-ratio:auto!important;
    background:
      var(--f374-header) center top/min(calc(100% - 18px),680px) auto no-repeat,
      linear-gradient(90deg,transparent,var(--festival-frame-line) 8%,var(--festival-frame-accent) 50%,var(--festival-frame-line) 92%,transparent) center bottom/100% 2px no-repeat!important;
    filter:drop-shadow(0 5px 6px rgba(0,0,0,.23))!important;
    opacity:1!important;
    transform:none!important;
    pointer-events:none!important;
  }
}

@media(max-width:760px){
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni){
    --f374-header-h:64px;
    --f374-footer-h:78px;
    --f374-corner:94px;
    --f374-edge-gap:150px;
    --f374-side-shift:-28px;
    --f374-control-inset:48px;
  }
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card,.featured-showcase)::before{
    inset:-16px!important;
    border-radius:34px!important;
  }
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.grid,.featured-rail){gap:48px}
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .cardbody{padding:20px}
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card-primo-piano .cardbody{padding:24px}
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase-info{padding:15px}
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase :is(.sold-out-badge-featured,.availability-badge-featured){
    left:var(--f374-control-inset)!important;
  }
}

@media(max-width:650px){
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni){
    --f374-header-h:66px;
    --f374-footer-h:74px;
    --f374-corner:92px;
  }
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell::after{
    background:
      var(--f374-header-mobile) center top/min(calc(100% - 10px),440px) auto no-repeat,
      linear-gradient(90deg,transparent,var(--festival-frame-line) 5%,var(--festival-frame-accent) 50%,var(--festival-frame-line) 95%,transparent) center bottom/100% 2px no-repeat!important;
  }
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)>.site-footer::before{
    background:
      var(--f374-footer-mobile) center top/min(calc(100% - 10px),440px) auto no-repeat,
      linear-gradient(90deg,transparent,var(--festival-frame-line) 5%,var(--festival-frame-accent) 50%,var(--festival-frame-line) 95%,transparent) center top/100% 2px no-repeat!important;
  }
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell header #menu{padding-top:60px!important}
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell header #menu::before{
    height:52px!important;
    background:
      var(--f374-header-mobile) center top/min(calc(100% - 12px),430px) auto no-repeat,
      linear-gradient(90deg,transparent,var(--festival-frame-line) 5%,var(--festival-frame-accent) 50%,var(--festival-frame-line) 95%,transparent) center bottom/100% 2px no-repeat!important;
  }
}

@media(max-width:430px){
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni){
    --f374-header-h:66px;
    --f374-footer-h:72px;
    --f374-corner:90px;
    --f374-edge-gap:142px;
    --f374-side-shift:-26px;
  }
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card,.featured-showcase)::before{
    inset:-15px!important;
    border-radius:33px!important;
  }
}

@media print{
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell{padding-bottom:0!important}
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)>.site-footer{padding-top:0!important}
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell::after,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card,.featured-showcase)::before,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .trip-recommended-link::before,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell header #menu::before,
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni)>.site-footer::before{display:none!important}
}

/* Patch 0375 - etichette nelle coordinate originali e fregio della testata
 * integrato nell'altezza standard. La cornice si adatta ai componenti, non li
 * sposta: badge e controlli conservano le posizioni della baseline 0373. */
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni){
  --f375-header-extra:14px;
  --f375-header-overlap:clamp(30px,2.2vw,42px);
}

/* La decorazione occupa soltanto 14 px aggiuntivi su una testata desktop da
 * 142 px (9,86%). Il resto del fregio vive dentro l'header, dietro logo e menu. */
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell{
  padding-bottom:var(--f375-header-extra)!important;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell::after{
  content:none!important;
  display:none!important;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell>header{
  overflow:visible!important;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell>header .nav{
  position:relative;
  z-index:1!important;
  padding-bottom:0!important;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell>header::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:0!important;
  top:auto!important;
  right:0!important;
  bottom:calc(0px - var(--f375-header-extra))!important;
  left:0!important;
  width:auto!important;
  height:calc(var(--f375-header-extra) + var(--f375-header-overlap))!important;
  aspect-ratio:auto!important;
  border:0!important;
  border-radius:0!important;
  background:
    var(--f374-header) center bottom/min(calc(100% - 24px),1400px) auto no-repeat,
    linear-gradient(90deg,transparent,var(--festival-frame-line) 6%,var(--festival-frame-accent) 50%,var(--festival-frame-line) 94%,transparent) center bottom/100% 2px no-repeat!important;
  filter:drop-shadow(0 4px 5px var(--festival-frame-shadow))!important;
  opacity:1!important;
  transform:none!important;
  pointer-events:none!important;
}

/* Ripristino completo delle coordinate approvate delle etichette. */
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card :is(.card-type-badge,.sold-out-badge-card),
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase :is(.featured-showcase-type-overlay,.sold-out-badge-featured){
  top:14px!important;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card .card-type-badge{
  left:14px!important;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card .availability-badge-card{
  left:12px!important;
  bottom:12px!important;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase .sold-out-badge-featured{
  left:14px!important;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase .availability-badge-featured{
  left:18px!important;
  bottom:18px!important;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card :is(.sold-out-badge-card,.favorite-toggle-media),
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase :is(.featured-showcase-type-overlay,.favorite-toggle-media){
  right:14px!important;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card,.featured-showcase) .favorite-toggle-media{
  bottom:14px!important;
}

@media(max-width:1220px){
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell header #menu{
    top:calc(100% + var(--f375-header-extra) + 8px)!important;
    max-height:calc(100dvh - var(--site-fixed-header-height) - 16px)!important;
  }
}

@media(max-width:850px){
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni){
    --f375-header-extra:12px;
    --f375-header-overlap:28px;
  }
}

@media(max-width:760px){
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card :is(.card-type-badge,.sold-out-badge-card),
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase :is(.featured-showcase-type-overlay,.sold-out-badge-featured){
    top:10px!important;
  }
}

@media(max-width:650px){
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell>header::after{
    background:
      var(--f374-header-mobile) center bottom/min(calc(100% - 10px),440px) auto no-repeat,
      linear-gradient(90deg,transparent,var(--festival-frame-line) 5%,var(--festival-frame-accent) 50%,var(--festival-frame-line) 95%,transparent) center bottom/100% 2px no-repeat!important;
  }
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .card .sold-out-badge-card{
    right:10px!important;
  }
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase .sold-out-badge-featured{
    left:10px!important;
  }
}

@media(max-width:620px){
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .featured-showcase .availability-badge-featured{
    left:10px!important;
    bottom:10px!important;
  }
}

@media(max-width:560px){
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) :is(.card,.featured-showcase) .favorite-toggle-media{
    right:10px!important;
    bottom:10px!important;
  }
}

@media print{
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell{
    padding-bottom:0!important;
  }
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell>header::after{
    content:none!important;
    display:none!important;
  }
}

/* Patch 0377 - richiamo editoriale premium per occasioni e festivita' in Home.
 * Il componente resta nel flusso della card, sempre fuori dalla fotografia. */
.home-trip-highlight{
  --trip-callout-bg:#8a4b2a;
  --trip-callout-fg:#fff8ec;
  border-color:color-mix(in srgb,var(--trip-callout-bg) 44%,#d7e3e8)!important;
  box-shadow:0 20px 46px rgba(17,53,77,.12),0 12px 34px color-mix(in srgb,var(--trip-callout-bg) 18%,transparent)!important;
}
.home-trip-callout{
  --trip-callout-bg:#8a4b2a;
  --trip-callout-fg:#fff8ec;
  position:relative;
  z-index:7;
  isolation:isolate;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
  width:100%;
  min-width:0;
  min-height:74px;
  margin:0;
  padding:12px 15px 13px;
  overflow:hidden;
  border-top:1px solid color-mix(in srgb,var(--trip-callout-fg) 28%,transparent);
  border-bottom:1px solid color-mix(in srgb,var(--trip-callout-bg) 78%,#000);
  background:var(--trip-callout-bg);
  background:linear-gradient(135deg,color-mix(in srgb,var(--trip-callout-bg) 88%,#000),var(--trip-callout-bg) 55%,color-mix(in srgb,var(--trip-callout-bg) 86%,#fff));
  color:var(--trip-callout-fg);
  box-shadow:inset 0 1px rgba(255,255,255,.22),inset 0 -1px rgba(0,0,0,.12);
}
.home-trip-callout::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-45% -10%;
  background:
    radial-gradient(circle at 11% 48%,color-mix(in srgb,var(--trip-callout-fg) 18%,transparent),transparent 27%),
    radial-gradient(circle at 76% 2%,color-mix(in srgb,var(--trip-callout-fg) 13%,transparent),transparent 25%),
    linear-gradient(112deg,transparent 26%,color-mix(in srgb,var(--trip-callout-fg) 7%,transparent) 47%,transparent 68%);
  transform:rotate(-4deg);
  pointer-events:none;
}
.home-trip-callout::after{
  content:"";
  position:absolute;
  right:12px;
  bottom:4px;
  left:12px;
  height:1px;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--trip-callout-fg) 38%,transparent) 20% 80%,transparent);
  pointer-events:none;
}
.home-trip-callout-icon{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border:1px solid color-mix(in srgb,var(--trip-callout-fg) 47%,transparent);
  border-radius:50%;
  background:color-mix(in srgb,var(--trip-callout-fg) 10%,transparent);
  box-shadow:inset 0 0 0 4px color-mix(in srgb,var(--trip-callout-bg) 72%,transparent),0 5px 14px rgba(0,0,0,.12);
  transition:transform .25s ease;
}
.home-trip-callout-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.home-trip-callout-copy{display:grid;gap:3px;min-width:0;color:inherit}
.home-trip-callout-copy small{overflow-wrap:anywhere;color:inherit;font-size:.61rem;font-weight:900;letter-spacing:.16em;line-height:1.2;opacity:.78}
.home-trip-callout-copy strong{overflow-wrap:anywhere;color:inherit;font-family:Georgia,serif;font-size:1.04rem;font-weight:700;line-height:1.08;text-wrap:balance}
.home-trip-callout-filigree{display:flex;align-items:center;gap:4px;color:inherit;opacity:.68}
.home-trip-callout-filigree i{display:block;width:10px;height:1px;background:currentColor}
.home-trip-callout-filigree b{font-size:.68rem;line-height:1}
.home-trip-highlight:hover .home-trip-callout-icon{transform:rotate(-4deg) scale(1.045)}
.home-trip-callout--featured{
  min-height:62px;
  margin:0 0 13px;
  padding:10px 11px;
  border:1px solid color-mix(in srgb,var(--trip-callout-fg) 27%,transparent);
  border-radius:13px;
  box-shadow:0 9px 22px color-mix(in srgb,var(--trip-callout-bg) 19%,transparent),inset 0 1px rgba(255,255,255,.2);
}
.home-trip-callout--featured .home-trip-callout-icon{width:39px;height:39px}
.home-trip-callout--featured .home-trip-callout-icon svg{width:22px;height:22px}
.home-trip-callout--featured .home-trip-callout-copy small{font-size:.53rem;letter-spacing:.12em}
.home-trip-callout--featured .home-trip-callout-copy strong{font-size:.9rem}
.home-trip-callout--featured .home-trip-callout-filigree i{width:6px}
.home-trip-callout--mercatini_natale::before{
  background:
    radial-gradient(circle at 12% 24%,color-mix(in srgb,var(--trip-callout-fg) 22%,transparent) 0 1px,transparent 1.6px) 0 0/18px 18px,
    radial-gradient(circle at 73% 0,color-mix(in srgb,var(--trip-callout-fg) 16%,transparent),transparent 28%),
    linear-gradient(112deg,transparent 26%,color-mix(in srgb,var(--trip-callout-fg) 8%,transparent) 47%,transparent 68%);
}
.home-trip-callout--festivita::before{
  background:radial-gradient(circle at 13% 50%,color-mix(in srgb,var(--trip-callout-fg) 18%,transparent),transparent 28%),radial-gradient(circle at 84% 18%,color-mix(in srgb,var(--trip-callout-fg) 17%,transparent) 0 2px,transparent 2.5px) 0 0/21px 21px;
}
@media(max-width:1180px){
  .home-trip-callout{grid-template-columns:auto minmax(0,1fr);gap:10px;padding:11px 13px}
  .home-trip-callout-filigree{display:none}
}
@media(max-width:620px){
  .home-trip-callout{min-height:66px;padding:10px 12px}
  .home-trip-callout-icon{width:42px;height:42px}
  .home-trip-callout-icon svg{width:24px;height:24px}
  .home-trip-callout-copy small{font-size:.57rem;letter-spacing:.13em}
  .home-trip-callout-copy strong{font-size:1rem}
  .home-trip-callout--featured{margin-bottom:11px}
}
@media(prefers-reduced-motion:reduce){.home-trip-callout-icon{transition:none}}
@media print{
  .home-trip-highlight{box-shadow:none!important}
  .home-trip-callout{color:var(--trip-callout-fg)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* Patch 0380 - richiamo editoriale in primo piano e vetrina Mercatini di Natale. */
.featured-showcase-info .home-trip-callout--featured{
  grid-template-columns:48px minmax(0,1fr);
  grid-template-areas:"icon copy" "icon filigree";
  column-gap:13px;
  row-gap:5px;
  min-height:76px;
  margin:0 0 15px;
  padding:12px 14px 12px 12px;
  border:1px solid color-mix(in srgb,var(--trip-callout-fg) 34%,transparent);
  border-radius:5px 18px 5px 18px;
  background:
    linear-gradient(90deg,color-mix(in srgb,var(--trip-callout-bg) 76%,#000) 0 4px,transparent 4px),
    linear-gradient(135deg,color-mix(in srgb,var(--trip-callout-bg) 90%,#000),var(--trip-callout-bg) 58%,color-mix(in srgb,var(--trip-callout-bg) 88%,#fff));
  box-shadow:0 11px 23px color-mix(in srgb,var(--trip-callout-bg) 20%,transparent),inset 0 1px rgba(255,255,255,.22);
}
.featured-showcase-info .home-trip-callout--featured::after{
  right:15px;
  bottom:8px;
  left:73px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--trip-callout-fg) 42%,transparent),transparent);
}
.featured-showcase-info .home-trip-callout--featured .home-trip-callout-icon{
  grid-area:icon;
  align-self:center;
  width:48px;
  height:48px;
  border-width:1px;
  box-shadow:inset 0 0 0 4px color-mix(in srgb,var(--trip-callout-bg) 70%,transparent),0 6px 16px rgba(0,0,0,.16);
}
.featured-showcase-info .home-trip-callout--featured .home-trip-callout-icon svg{width:27px;height:27px}
.featured-showcase-info .home-trip-callout--featured .home-trip-callout-copy{grid-area:copy;gap:4px;align-self:end}
.featured-showcase-info .home-trip-callout--featured .home-trip-callout-copy small{font-size:.57rem;letter-spacing:.15em;opacity:.82}
.featured-showcase-info .home-trip-callout--featured .home-trip-callout-copy strong{font-size:1.03rem;line-height:1.08}
.featured-showcase-info .home-trip-callout--featured .home-trip-callout-filigree{
  grid-area:filigree;
  display:flex;
  justify-self:start;
  align-self:start;
  gap:5px;
  opacity:.6;
}
.featured-showcase-info .home-trip-callout--featured .home-trip-callout-filigree i{width:22px}

.home-christmas-markets-section{
  padding:clamp(44px,6vw,78px) 0;
  background:
    radial-gradient(circle at 8% 13%,rgba(255,226,148,.13),transparent 25%),
    radial-gradient(circle at 93% 82%,rgba(224,71,66,.13),transparent 28%),
    linear-gradient(145deg,#071f1b 0%,#0d382d 46%,#061c19 100%);
  overflow:hidden;
}
.home-christmas-markets-shell{
  position:relative;
  isolation:isolate;
  padding:clamp(26px,4vw,50px);
  border:1px solid rgba(244,207,121,.78);
  border-radius:30px;
  background:
    radial-gradient(circle,rgba(255,246,214,.55) 0 1px,transparent 1.7px) 0 0/31px 31px,
    linear-gradient(145deg,rgba(8,47,38,.98),rgba(16,67,51,.96) 52%,rgba(8,41,34,.98));
  box-shadow:0 24px 60px rgba(0,0,0,.28),inset 0 0 0 5px rgba(246,218,150,.08),inset 0 0 0 7px rgba(246,218,150,.3);
}
.home-christmas-markets-shell::before,
.home-christmas-markets-shell::after{
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
}
.home-christmas-markets-shell::before{
  inset:13px;
  border:1px solid rgba(244,207,121,.24);
  border-radius:20px;
}
.home-christmas-markets-shell::after{
  top:0;
  right:10%;
  left:10%;
  height:5px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,transparent,#9c2431 13%,#d6aa50 30%,#f2d78d 50%,#d6aa50 70%,#9c2431 87%,transparent);
  box-shadow:0 4px 18px rgba(242,215,141,.3);
}
.home-christmas-markets-heading{position:relative;max-width:880px;margin:0 auto clamp(27px,4vw,42px);text-align:center;color:#fff8e8}
.home-christmas-markets-kicker{display:block;margin-bottom:8px;color:#e9c46f;font-size:.72rem;font-weight:900;letter-spacing:.24em;line-height:1.4}
.home-christmas-markets-heading h2{margin:0;color:#fffaf0;font-family:Georgia,serif;font-size:clamp(2.35rem,4.8vw,4.25rem);line-height:1;text-wrap:balance;text-shadow:0 3px 18px rgba(0,0,0,.3)}
.home-christmas-markets-heading p{max-width:700px;margin:13px auto 0;color:#e9e2d1;font-size:1.04rem;line-height:1.65}
.home-christmas-markets-ornament{display:flex;align-items:center;justify-content:center;gap:9px;margin:17px auto 0;color:#e9c46f}
.home-christmas-markets-ornament i{display:block;width:54px;height:1px;background:linear-gradient(90deg,transparent,currentColor)}
.home-christmas-markets-ornament i:last-child{transform:scaleX(-1)}
.home-christmas-markets-ornament b{font-size:.64rem;line-height:1}
.home-christmas-markets-ornament span{display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(233,196,111,.66);border-radius:50%;font-size:.86rem;box-shadow:0 0 18px rgba(233,196,111,.22)}
.home-christmas-markets-grid{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:stretch;
  gap:24px;
}
.home-christmas-markets-grid>.card{
  flex:0 1 calc((100% - 72px)/4);
  min-width:0;
  border:2px solid #c99b4d;
  border-radius:21px;
  background:#fffdf7;
  box-shadow:0 18px 40px rgba(0,0,0,.25),0 0 0 5px rgba(255,255,255,.07);
}
.home-christmas-markets-grid>.card .cardbody{background:linear-gradient(180deg,#fffdf8,#fff 58%)}
.home-christmas-markets-grid>.card .cardbody>span{color:#a66c23}
.home-christmas-markets-grid>.card .card-action-btn{border-color:#9b2633;background:#9b2633;color:#fff}
.home-christmas-markets-grid>.card .card-action-btn:hover,.home-christmas-markets-grid>.card .card-action-btn:focus-visible{background:#741b26;color:#fff}
@media(max-width:1180px){
  .home-christmas-markets-grid>.card{flex-basis:calc((100% - 48px)/3)}
}
@media(max-width:1100px){
  .home-christmas-markets-grid>.card{flex-basis:calc((100% - 24px)/2)}
}
@media(max-width:650px){
  .featured-showcase-info .home-trip-callout--featured{min-height:72px;margin-bottom:14px;padding:11px 12px 11px 10px;grid-template-columns:44px minmax(0,1fr);column-gap:11px}
  .featured-showcase-info .home-trip-callout--featured .home-trip-callout-icon{width:44px;height:44px}
  .featured-showcase-info .home-trip-callout--featured .home-trip-callout-icon svg{width:24px;height:24px}
  .featured-showcase-info .home-trip-callout--featured .home-trip-callout-copy strong{font-size:.96rem}
  .featured-showcase-info .home-trip-callout--featured .home-trip-callout-filigree{display:flex}
  .home-christmas-markets-section{padding:34px 0}
  .home-christmas-markets-shell{padding:27px 15px 20px;border-radius:23px}
  .home-christmas-markets-shell::before{inset:9px;border-radius:16px}
  .home-christmas-markets-heading{margin-bottom:25px;padding:0 8px}
  .home-christmas-markets-heading h2{font-size:2.45rem}
  .home-christmas-markets-heading p{font-size:.96rem;line-height:1.55}
  .home-christmas-markets-kicker{font-size:.64rem;letter-spacing:.18em}
  .home-christmas-markets-grid>.card{border-radius:18px}
}
@media(max-width:560px){
  .home-christmas-markets-grid>.card{flex-basis:100%}
}
@media print{
  .home-christmas-markets-section{background:#fff!important}
  .home-christmas-markets-shell{border:2px solid #0d382d;background:#fff!important;box-shadow:none}
  .home-christmas-markets-heading,.home-christmas-markets-heading h2,.home-christmas-markets-heading p{color:#123f36!important;text-shadow:none}
}

/* Patch 0376 - header definitivamente libero da decorazioni sovrapposte.
 * Logo e navigazione restano in un box pulito; il tema vive soltanto in un
 * bordo basso autonomo, non in un'immagine dietro ai contenuti. */
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni){
  --f376-header-border-h:10px;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell{
  overflow:visible!important;
  padding-bottom:var(--f376-header-border-h)!important;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell>header{
  overflow:visible!important;
}
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell>header .nav{
  position:relative;
  z-index:1!important;
  padding-bottom:0!important;
}

/* Disattiva sia il fregio 0375 sia ogni vecchio elemento stagionale rimasto
 * dentro l'header: nessun pixel decorativo puo' attraversare logo o menu. */
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell>header::before,
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell>header::after{
  content:none!important;
  display:none!important;
  width:0!important;
  height:0!important;
  background:none!important;
  filter:none!important;
}

/* Bordo inferiore autonomo: due linee sfumate e tre piccoli punti centrali.
 * Nessuna immagine, ripetizione, deformazione o invasione della testata. */
body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:6!important;
  top:auto!important;
  right:0!important;
  bottom:0!important;
  left:0!important;
  width:auto!important;
  height:var(--f376-header-border-h)!important;
  aspect-ratio:auto!important;
  border:0!important;
  border-radius:0!important;
  background:
    radial-gradient(circle,var(--festival-frame-accent) 0 2px,transparent 2.5px) calc(50% - 13px) center/7px 7px no-repeat,
    radial-gradient(circle,var(--festival-frame-accent) 0 3px,transparent 3.5px) center/9px 9px no-repeat,
    radial-gradient(circle,var(--festival-frame-accent) 0 2px,transparent 2.5px) calc(50% + 13px) center/7px 7px no-repeat,
    linear-gradient(90deg,transparent 0,var(--festival-frame-line) 7%,var(--festival-frame-accent) 47% 53%,var(--festival-frame-line) 93%,transparent 100%) center 42%/100% 2px no-repeat,
    linear-gradient(90deg,transparent 0,color-mix(in srgb,var(--festival-frame-accent) 42%,transparent) 16%,transparent 39% 61%,color-mix(in srgb,var(--festival-frame-accent) 42%,transparent) 84%,transparent 100%) center 78%/100% 1px no-repeat,
    linear-gradient(180deg,rgba(255,255,255,.82),color-mix(in srgb,var(--festival-frame-line) 8%,#fff))!important;
  box-shadow:0 4px 8px var(--festival-frame-shadow)!important;
  filter:none!important;
  opacity:1!important;
  transform:none!important;
  pointer-events:none!important;
}

@media(max-width:1220px){
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell header #menu{
    top:calc(100% + var(--f376-header-border-h) + 8px)!important;
    max-height:calc(100dvh - var(--site-fixed-header-height) - 16px)!important;
  }
}

@media(max-width:850px){
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni){
    --f376-header-border-h:8px;
  }
}

@media print{
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell{
    padding-bottom:0!important;
  }
  body:is(.tema-halloween.halloween-decorazioni,.tema-pasqua.pasqua-decorazioni) .site-sticky-shell::after{
    content:none!important;
    display:none!important;
  }
}
/* Patch 0382 - anteprime viaggio "Prossimamente" */
.card-prossimamente{cursor:default;isolation:isolate;border-color:rgba(16,75,96,.2);box-shadow:0 15px 38px rgba(13,55,72,.09)}
.card-prossimamente:hover{transform:none}
.card-prossimamente .coming-soon-media{position:relative}
.card-prossimamente .coming-soon-media:after{content:"";position:absolute;right:0;bottom:0;left:0;height:5px;background:linear-gradient(90deg,#0b718e 0%,#d2a34a 50%,#0b718e 100%);pointer-events:none}
.coming-soon-cardbody{display:flex;min-height:0;flex:1;flex-direction:column;padding-top:26px}
.coming-soon-cardbody h3{margin:.4em 0}
.coming-soon-description{margin:0;color:#5e727b;font-size:1rem;line-height:1.65}
.coming-soon-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0 0}
.coming-soon-dates>span{display:grid;gap:4px;min-width:0;padding:12px 14px;border:1px solid rgba(12,114,144,.15);border-radius:12px;background:#f7fbfc}
.coming-soon-dates small{color:#b17928;font-size:.66rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.coming-soon-dates strong{color:#153f52;font-size:.9rem;line-height:1.25}
.coming-soon-status{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;margin-top:auto;padding:12px 16px;border:1px solid rgba(181,130,47,.34);border-radius:14px;background:linear-gradient(135deg,#fffaf0 0%,#f4fbfc 50%,#fff9ec 100%);color:#143f52;box-shadow:inset 0 0 0 3px rgba(255,255,255,.7)}
.coming-soon-cardbody .coming-soon-status{margin-top:24px}
.coming-soon-status strong{font-family:Georgia,"Times New Roman",serif;font-size:1.22rem;letter-spacing:.025em}
.coming-soon-status>span{color:#c0903f;font-size:.72rem}
.featured-showcase-prossimamente{cursor:default;border-color:rgba(16,75,96,.2);box-shadow:0 18px 46px rgba(13,55,72,.1)}
.featured-showcase-prossimamente:hover{transform:none}
.featured-coming-soon-info{display:flex;flex-direction:column}
.featured-coming-soon-info .featured-showcase-title{margin-bottom:18px}
.featured-coming-soon-info .coming-soon-status{margin-top:auto}
.featured-coming-soon-media{position:relative}
.featured-coming-soon-media:after{content:"";position:absolute;top:0;bottom:0;left:0;width:5px;background:linear-gradient(180deg,#0b718e 0%,#d2a34a 50%,#0b718e 100%);pointer-events:none}
@media(max-width:760px){.coming-soon-cardbody{padding-top:22px}.coming-soon-dates{grid-template-columns:1fr}.coming-soon-status{min-height:50px}.featured-coming-soon-media:after{top:0;right:0;bottom:auto;left:0;width:auto;height:5px}}

/* Patch 0384 - allineamento schede Mercatini, incluse le anteprime Prossimamente */
.home-christmas-markets-grid>.card .cardbody{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto auto minmax(0,1fr) auto 104px auto;
  align-content:stretch;
}
.home-christmas-markets-grid>.card .cardbody>span{grid-row:1;align-self:start}
.home-christmas-markets-grid>.card .cardbody>h3{grid-row:2;align-self:start}
.home-christmas-markets-grid>.card .cardbody>.meta{
  grid-row:4;
  align-self:end;
  order:initial;
  margin:0;
}
.home-christmas-markets-grid>.card .cardbody>.card-services{
  grid-row:5;
  align-self:start;
  order:initial;
  min-height:0;
}
.home-christmas-markets-grid>.card .cardbody>.price{
  grid-row:6;
  align-self:end;
  order:initial;
}
.home-christmas-markets-grid>.card-prossimamente .coming-soon-cardbody>h3{margin:.4em 0}
.home-christmas-markets-grid>.card-prossimamente .coming-soon-market-meta{
  grid-row:4;
  align-self:end;
  order:initial;
  margin:0;
}
.home-christmas-markets-grid>.card-prossimamente .coming-soon-status{
  grid-row:6;
  align-self:end;
  order:initial;
  width:100%;
  min-height:54px;
  margin:10px 0 0;
}

/* Patch 0387 - richiamo compatto nei Viaggi in primo piano */
.featured-showcase-info .home-trip-callout--featured{
  grid-template-columns:36px minmax(0,1fr);
  grid-template-areas:"icon copy";
  column-gap:10px;
  row-gap:0;
  min-height:56px;
  margin:0 0 13px;
  padding:8px 11px 8px 9px;
  border-radius:12px;
}
.featured-showcase-info .home-trip-callout--featured::after{
  display:none;
  content:none;
}
.featured-showcase-info .home-trip-callout--featured .home-trip-callout-icon{
  width:36px;
  height:36px;
  box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--trip-callout-bg) 70%,transparent),0 4px 11px rgba(0,0,0,.14);
}
.featured-showcase-info .home-trip-callout--featured .home-trip-callout-icon svg{
  width:20px;
  height:20px;
}
.featured-showcase-info .home-trip-callout--featured .home-trip-callout-copy{
  grid-area:copy;
  gap:2px;
  align-self:center;
}
.featured-showcase-info .home-trip-callout--featured .home-trip-callout-copy small{
  overflow:hidden;
  font-size:.48rem;
  letter-spacing:.09em;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.featured-showcase-info .home-trip-callout--featured .home-trip-callout-copy strong{
  overflow:hidden;
  font-size:.9rem;
  line-height:1.05;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.featured-showcase-info .home-trip-callout--featured .home-trip-callout-filigree{
  display:none!important;
}
@media(max-width:650px){
  .featured-showcase-info .home-trip-callout--featured{
    grid-template-columns:36px minmax(0,1fr);
    min-height:56px;
    margin-bottom:13px;
    padding:8px 11px 8px 9px;
    column-gap:10px;
  }
  .featured-showcase-info .home-trip-callout--featured .home-trip-callout-icon{width:36px;height:36px}
  .featured-showcase-info .home-trip-callout--featured .home-trip-callout-icon svg{width:20px;height:20px}
  .featured-showcase-info .home-trip-callout--featured .home-trip-callout-copy strong{font-size:.9rem}
  .featured-showcase-info .home-trip-callout--featured .home-trip-callout-filigree{display:none!important}
}

/* Patch 0388 - partenza speciale nel dettaglio e allineamento globale Prossimamente */
.trip-special-departure{
  padding:26px 0 0;
  background:var(--bg);
}
.trip-special-departure .home-trip-callout--detail{
  grid-template-columns:44px minmax(0,1fr) 34px;
  gap:14px;
  width:min(100%,980px);
  min-height:72px;
  margin:0 auto;
  padding:12px 17px;
  border:1px solid color-mix(in srgb,var(--trip-callout-fg) 34%,transparent);
  border-radius:16px;
  box-shadow:0 14px 32px color-mix(in srgb,var(--trip-callout-bg) 18%,transparent),inset 0 1px rgba(255,255,255,.22);
}
.trip-special-departure .home-trip-callout--detail::after{
  display:none;
  content:none;
}
.trip-special-departure .home-trip-callout--detail .home-trip-callout-icon{
  width:44px;
  height:44px;
}
.trip-special-departure .home-trip-callout--detail .home-trip-callout-icon svg{
  width:24px;
  height:24px;
}
.trip-special-departure .home-trip-callout--detail .home-trip-callout-copy{gap:3px}
.trip-special-departure .home-trip-callout--detail .home-trip-callout-copy small{
  font-size:.62rem;
  letter-spacing:.13em;
  line-height:1.2;
}
.trip-special-departure .home-trip-callout--detail .home-trip-callout-copy strong{
  font-size:1.15rem;
  line-height:1.08;
}
.trip-special-departure .home-trip-callout--detail .home-trip-callout-filigree{justify-self:end}
.trip-special-departure .home-trip-callout--detail .home-trip-callout-filigree i{display:none}
.trip-special-departure .home-trip-callout--detail .home-trip-callout-filigree b{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border:1px solid color-mix(in srgb,var(--trip-callout-fg) 40%,transparent);
  border-radius:50%;
}
.trip-main-section-with-special{padding-top:42px}

.card-prossimamente .coming-soon-cardbody{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto auto minmax(min-content,1fr) auto 104px auto;
  align-content:stretch;
}
.card-prossimamente .coming-soon-cardbody>span{
  grid-row:1;
  align-self:start;
}
.card-prossimamente .coming-soon-cardbody>h3{
  grid-row:2;
  align-self:start;
  margin:.4em 0;
}
.card-prossimamente .coming-soon-cardbody>.card-description{
  grid-row:3;
  align-self:start;
}
.card-prossimamente .coming-soon-cardbody>.coming-soon-meta{
  grid-row:4;
  align-self:end;
  order:initial;
  margin:0;
}
.card-prossimamente .coming-soon-cardbody>.coming-soon-status{
  grid-row:6;
  align-self:end;
  order:initial;
  width:100%;
  min-height:54px;
  margin:10px 0 0;
}

@media(max-width:650px){
  .trip-special-departure{padding-top:18px}
  .trip-special-departure .home-trip-callout--detail{
    grid-template-columns:38px minmax(0,1fr);
    min-height:64px;
    padding:10px 12px;
    gap:10px;
    border-radius:14px;
  }
  .trip-special-departure .home-trip-callout--detail .home-trip-callout-icon{
    width:38px;
    height:38px;
  }
  .trip-special-departure .home-trip-callout--detail .home-trip-callout-icon svg{
    width:21px;
    height:21px;
  }
  .trip-special-departure .home-trip-callout--detail .home-trip-callout-copy small{
    font-size:.53rem;
    letter-spacing:.08em;
  }
  .trip-special-departure .home-trip-callout--detail .home-trip-callout-copy strong{font-size:1rem}
  .trip-special-departure .home-trip-callout--detail .home-trip-callout-filigree{display:none}
  .trip-main-section-with-special{padding-top:32px}
}

@media(max-width:560px){
  .card-prossimamente .coming-soon-cardbody{
    grid-template-rows:auto auto minmax(min-content,1fr) auto 20px auto;
  }
}

/* Patch 0389 - partenza speciale integrata nella copertina del viaggio */
.trip-special-departure{display:none!important}
.trip-hero-special-context{
  position:relative;
  display:inline-grid;
  grid-template-columns:40px minmax(0,auto);
  gap:11px;
  min-height:42px;
  margin:0 0 20px 20px;
  padding:0 0 0 21px;
  align-items:center;
  vertical-align:middle;
}
.trip-hero-special-context::before{
  position:absolute;
  top:4px;
  bottom:4px;
  left:0;
  width:1px;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.72),transparent);
  content:"";
}
.trip-hero-special-icon{
  display:grid;
  width:40px;
  height:40px;
  place-items:center;
  border:1px solid rgba(255,255,255,.42);
  border-radius:50%;
  background:var(--trip-special-bg);
  color:var(--trip-special-fg);
  box-shadow:0 8px 22px color-mix(in srgb,var(--trip-special-bg) 34%,transparent),inset 0 1px rgba(255,255,255,.24);
}
.trip-hero-special-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.trip-hero-special-copy{
  display:grid;
  gap:3px;
  min-width:0;
  padding-right:4px;
}
.trip-hero-special-copy small{
  color:rgba(255,255,255,.72);
  font-size:.55rem;
  font-weight:900;
  letter-spacing:.13em;
  line-height:1.15;
  text-transform:uppercase;
}
.trip-hero-special-copy strong{
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1rem;
  font-weight:700;
  line-height:1.08;
  text-shadow:0 3px 14px rgba(0,0,0,.38);
}
.trip-hero-special-copy::after{
  display:block;
  width:52px;
  height:2px;
  margin-top:3px;
  border-radius:2px;
  background:var(--trip-special-bg);
  box-shadow:0 0 10px color-mix(in srgb,var(--trip-special-bg) 55%,transparent);
  content:"";
}

@media(max-width:760px){
  .trip-hero-special-context{
    grid-template-columns:36px minmax(0,1fr);
    gap:9px;
    min-height:38px;
    max-width:100%;
    margin:0 0 20px 0;
    padding:0;
  }
  .trip-hero-special-context::before{display:none}
  .trip-hero-special-icon{
    width:36px;
    height:36px;
  }
  .trip-hero-special-icon svg{
    width:20px;
    height:20px;
  }
  .trip-hero-special-copy small{
    font-size:.5rem;
    letter-spacing:.09em;
  }
  .trip-hero-special-copy strong{font-size:.94rem}
}

/* Patch 0390 - disponibilità fuori dalle fotografie e integrata nei contenuti */
.availability-badge-card,
.availability-badge-featured,
.sold-out-badge-card,
.sold-out-badge-featured,
.sold-out-badge-mini{
  display:none!important;
}
.card-availability-line{
  --availability-accent:#197b9c;
  --availability-ink:#155d7c;
  position:relative;
  display:grid;
  grid-template-columns:auto 7px minmax(0,1fr);
  gap:8px;
  min-width:0;
  min-height:34px;
  margin:10px 0 4px;
  padding:7px 4px 7px 13px;
  align-items:center;
  background:linear-gradient(90deg,color-mix(in srgb,var(--availability-accent) 8%,transparent),transparent 76%);
}
.card-availability-line::before{
  position:absolute;
  top:6px;
  bottom:6px;
  left:0;
  width:3px;
  border-radius:3px;
  background:var(--availability-accent);
  content:"";
}
.card-availability-line>span{
  color:#6a7d85;
  font-size:.59rem;
  font-weight:900;
  letter-spacing:.09em;
  line-height:1.1;
  text-transform:uppercase;
}
.card-availability-line>i{
  display:block;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--availability-accent);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--availability-accent) 14%,transparent);
}
.card-availability-line>strong{
  min-width:0;
  color:var(--availability-ink);
  font-size:.82rem;
  font-weight:900;
  line-height:1.15;
  overflow-wrap:anywhere;
}
.card-availability-line.is-open{
  --availability-accent:#2d8a5d;
  --availability-ink:#17653b;
}
.card-availability-line.is-low{
  --availability-accent:#d18a16;
  --availability-ink:#8a5700;
}
.card-availability-line.is-request{
  --availability-accent:#2482a5;
  --availability-ink:#155d7c;
}
.card-availability-line.is-full{
  --availability-accent:#d43a4e;
  --availability-ink:#9a2424;
}
.card-availability-line.is-coming{
  --availability-accent:#bd8731;
  --availability-ink:#815818;
}

.featured-showcase-info>.card-availability-line{
  flex:0 0 auto;
  margin:12px 0 8px;
}
.home-christmas-markets-grid>.card .cardbody>.card-availability-line{
  grid-row:3;
  align-self:start;
  order:initial;
  margin:10px 0 0;
}
.card-prossimamente .coming-soon-cardbody>.card-availability-line{
  grid-row:6;
  align-self:end;
  order:initial;
  width:100%;
  min-height:54px;
  margin:10px 0 0;
}
.featured-coming-soon-info>.card-availability-line{
  margin-top:auto;
}
.trip-recommended-content>.card-availability-line--mini{
  grid-template-columns:auto 6px minmax(0,1fr);
  gap:6px;
  min-height:28px;
  margin:8px 0 0;
  padding:5px 2px 5px 9px;
}
.trip-recommended-content>.card-availability-line--mini::before{
  top:5px;
  bottom:5px;
  width:2px;
}
.trip-recommended-content>.card-availability-line--mini>span{
  font-size:.5rem;
  letter-spacing:.06em;
}
.trip-recommended-content>.card-availability-line--mini>i{
  width:6px;
  height:6px;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--availability-accent) 13%,transparent);
}
.trip-recommended-content>.card-availability-line--mini>strong{
  font-size:.7rem;
}

@media(max-width:560px){
  .card-availability-line{
    grid-template-columns:auto 6px minmax(0,1fr);
    gap:7px;
    min-height:32px;
    margin-top:8px;
    padding:6px 2px 6px 11px;
  }
  .card-availability-line>span{font-size:.54rem}
  .card-availability-line>strong{font-size:.77rem}
  .card-prossimamente .coming-soon-cardbody>.card-availability-line{
    min-height:46px;
  }
}

/* Patch 0391 - disponibilità integrata sotto la fotografia */
.card-availability-line{
  width:100%;
  min-height:42px;
  margin:0!important;
  padding:8px 15px;
  display:flex;
  flex:0 0 auto;
  justify-content:flex-end;
  align-items:center;
  gap:8px;
  border:0;
  background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--availability-accent) 3%,transparent) 28%,color-mix(in srgb,var(--availability-accent) 10%,transparent) 62%,color-mix(in srgb,var(--availability-accent) 22%,transparent) 100%);
  text-align:right;
}
.card-availability-line::before{
  content:none;
  display:none;
}
.card-availability-line>span{
  display:block;
  min-width:0;
  padding:0!important;
  color:color-mix(in srgb,var(--availability-ink) 72%,#657780);
  font-size:.59rem;
  white-space:nowrap;
}
.card-availability-line>i{
  width:7px;
  height:7px;
  flex:0 0 7px;
}
.card-availability-line>strong{
  flex:0 1 auto;
  color:var(--availability-ink);
  font-size:.84rem;
  overflow-wrap:normal;
  text-align:right;
}
.card-media+.card-availability-line,
.trip-recommended-media+.card-availability-line,
.featured-showcase-media+.card-availability-line{
  margin-top:0!important;
}
.featured-showcase-visual{
  display:flex;
  min-width:0;
  min-height:300px;
  flex-direction:column;
  background:#fff;
}
.featured-showcase-visual>.featured-showcase-media{
  min-height:0;
  flex:1 1 auto;
}
.featured-showcase-visual>.card-availability-line{
  min-height:42px;
}
.trip-recommended-link>.card-availability-line--mini{
  min-height:34px;
  padding:6px 11px;
  gap:6px;
}
.trip-recommended-link>.card-availability-line--mini>span{font-size:.5rem}
.trip-recommended-link>.card-availability-line--mini>strong{font-size:.7rem}
.card-prossimamente .coming-soon-media::after,
.featured-coming-soon-media::after{
  content:none;
  display:none;
}
.card-prossimamente .coming-soon-cardbody{
  grid-template-rows:auto auto minmax(min-content,1fr) auto;
}
@media(max-width:1180px){
  .featured-showcase-visual{min-height:280px}
}
@media(max-width:650px){
  .featured-showcase-visual{
    min-height:0;
    order:1;
  }
  .featured-showcase-visual>.featured-showcase-media{
    min-height:190px;
    order:initial;
  }
  .card-availability-line{
    min-height:38px;
    padding:7px 12px;
    gap:7px;
  }
  .card-availability-line>span{font-size:.54rem}
  .card-availability-line>strong{font-size:.78rem}
  .featured-showcase-visual>.card-availability-line{min-height:38px}
}

/* Patch 0392 - solo stato nella fascia e Prossimamente nuovamente in evidenza */
.card-availability-line{
  min-height:38px;
  padding:7px 15px;
  gap:9px;
}
.card-availability-line>span{display:none!important}
.card-availability-line>strong{
  font-size:.88rem;
  letter-spacing:.01em;
}
.card-prossimamente .coming-soon-cardbody{
  grid-template-rows:auto auto minmax(min-content,1fr) auto 104px auto;
}
.card-prossimamente .coming-soon-cardbody>.coming-soon-status{
  grid-row:6;
  align-self:end;
  width:100%;
  margin:10px 0 0;
}
.featured-coming-soon-info>.coming-soon-status{margin-top:auto}
@media(max-width:560px){
  .card-availability-line{
    min-height:34px;
    padding:6px 12px;
  }
  .card-availability-line>strong{font-size:.8rem}
  .card-prossimamente .coming-soon-cardbody{
    grid-template-rows:auto auto minmax(min-content,1fr) auto 20px auto;
  }
}

/* Patch 0393 - stato incorporato nella fascia di partenza speciale */
.home-trip-callout--with-state{
  grid-template-columns:auto minmax(0,1fr) auto;
}
.home-trip-callout-state{
  --callout-state:#52c98c;
  display:inline-flex;
  min-width:0;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  padding:7px 0 7px 14px;
  border-left:1px solid color-mix(in srgb,var(--trip-callout-fg) 25%,transparent);
  color:var(--trip-callout-fg);
  white-space:nowrap;
}
.home-trip-callout-state>i{
  display:block;
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
  background:var(--callout-state);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--callout-state) 18%,transparent);
}
.home-trip-callout-state>strong{
  color:inherit;
  font-size:.78rem;
  font-weight:900;
  line-height:1;
}
.home-trip-callout-state.is-open{--callout-state:#52c98c}
.home-trip-callout-state.is-low{--callout-state:#ffc35b}
.home-trip-callout-state.is-request{--callout-state:#69c8ef}
.home-trip-callout-state.is-full{--callout-state:#ff7584}
.featured-showcase-info .home-trip-callout--featured.home-trip-callout--with-state{
  grid-template-columns:36px minmax(0,1fr);
  grid-template-areas:"icon copy" "icon state";
}
.featured-showcase-info .home-trip-callout--featured .home-trip-callout-state{
  grid-area:state;
  justify-self:end;
  padding:5px 0 0;
  border-left:0;
}
.featured-showcase-info .home-trip-callout--featured .home-trip-callout-state>strong{font-size:.7rem}
@media(max-width:620px){
  .home-trip-callout--with-state{
    grid-template-columns:42px minmax(0,1fr) auto;
    gap:9px;
  }
  .home-trip-callout-state{
    gap:6px;
    padding-left:9px;
  }
  .home-trip-callout-state>strong{font-size:.7rem}
}

/* Patch 0394 - Paese e stato sulla stessa fascia */
.card-availability-line{
  display:grid;
  grid-template-columns:minmax(0,1fr) 7px auto;
  justify-content:normal;
  column-gap:9px;
}
.card-availability-line>.card-availability-country{
  display:block!important;
  min-width:0;
  margin:0;
  padding:0!important;
  overflow:hidden;
  color:var(--orange);
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.13em;
  line-height:1.1;
  text-align:left;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
.trip-recommended-link>.card-availability-line--mini>.card-availability-country{
  font-size:.5rem;
  letter-spacing:.09em;
}
@media(max-width:560px){
  .card-availability-line{
    grid-template-columns:minmax(0,1fr) 7px auto;
    column-gap:8px;
  }
  .card-availability-line>.card-availability-country{
    font-size:.56rem;
    letter-spacing:.1em;
  }
}

/* Patch 0395 - titolo avvicinato alla fascia nelle card verticali */
.card:not(.card-prossimamente)>.card-availability-line+.cardbody{
  padding-top:12px;
}
.card:not(.card-prossimamente)>.card-availability-line+.cardbody>h3:first-child{
  margin-top:0;
}
@media(max-width:560px){
  .card:not(.card-prossimamente)>.card-availability-line+.cardbody{
    padding-top:10px;
  }
}

/* Patch 0395 - fascia evento verticale pulita, uniforme e senza ritorni a capo */
.home-trip-callout--card{
  grid-template-columns:38px minmax(0,1fr);
  gap:7px;
  height:58px;
  min-height:58px;
  padding:8px 10px;
  box-sizing:border-box;
}
.home-trip-callout--card .home-trip-callout-icon{
  width:38px;
  height:38px;
}
.home-trip-callout--card .home-trip-callout-icon svg{
  width:21px;
  height:21px;
}
.home-trip-callout--card .home-trip-callout-copy{
  min-width:0;
}
.home-trip-callout--card .home-trip-callout-copy small,
.home-trip-callout--card .home-trip-callout-copy strong{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.home-trip-callout--card .home-trip-callout-copy small{
  font-size:.49rem;
  letter-spacing:.08em;
}
.home-trip-callout--card .home-trip-callout-copy strong{
  font-size:.88rem;
}
.home-trip-callout--card .home-trip-callout-filigree,
.home-trip-callout--card .home-trip-callout-state{
  display:none;
}

/* Patch 0396 - disponibilita' del Primo piano contenuta sul mobile */
.card-availability-line--featured{
  grid-template-columns:7px max-content;
  justify-content:end;
  column-gap:9px;
  box-sizing:border-box;
  overflow:hidden;
}
.card-availability-line--featured>i{
  grid-column:1;
}
.card-availability-line--featured>strong{
  grid-column:2;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media(max-width:650px){
  .card-availability-line--featured{
    grid-template-columns:7px minmax(0,max-content);
    width:100%;
    padding-right:12px;
  }
}

/* Patch 0397 - Paese piu' leggibile senza aumentare la fascia */
.card-availability-line>.card-availability-country{
  font-size:.7rem;
  letter-spacing:.1em;
  line-height:1;
}
.trip-recommended-link>.card-availability-line--mini>.card-availability-country{
  font-size:.57rem;
  letter-spacing:.07em;
}
@media(max-width:560px){
  .card-availability-line>.card-availability-country{
    font-size:.68rem;
    letter-spacing:.08em;
  }
}

/* Patch 0398 - Paese nella fascia disponibilita' del Primo piano su mobile */
.card-availability-line--featured>.card-availability-country{
  display:none!important;
}
@media(max-width:650px){
  .featured-showcase:not(.featured-showcase-prossimamente) .featured-showcase-top{
    display:none;
  }
  .card-availability-line--featured{
    grid-template-columns:minmax(0,1fr) 7px auto;
    justify-content:normal;
    column-gap:9px;
  }
  .card-availability-line--featured>.card-availability-country{
    display:block!important;
    grid-column:1;
  }
  .card-availability-line--featured>i{
    grid-column:2;
  }
  .card-availability-line--featured>strong{
    grid-column:3;
  }
}

/* Patch 0399 - firma CodiceRotta nel footer */
.site-footer .copy{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:8px 13px;
}
.site-footer-powered{
  display:inline-flex;
  align-items:baseline;
  gap:4px;
  padding-left:13px;
  border-left:1px solid rgba(255,255,255,.22);
  color:inherit;
  text-decoration:none;
  white-space:nowrap;
}
.site-footer-powered span{
  font-weight:500;
}
.site-footer-powered strong{
  color:#fff;
  font-weight:900;
  letter-spacing:.02em;
}
.site-footer-powered:hover strong,
.site-footer-powered:focus-visible strong{
  color:#ffd18f;
}
.site-footer-powered:focus-visible{
  outline:2px solid #ffd18f;
  outline-offset:4px;
  border-radius:4px;
}
@media(max-width:420px){
  .site-footer-powered{
    padding-left:0;
    border-left:0;
  }
}
