:root{--ink:#243128;--muted:#687068;--paper:#f7f4ee;--white:#fff;--sage:#dfe7df;--line:#d9ddd7;--deep:#294237;--accent:#966b48;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:"DM Sans",system-ui,sans-serif;line-height:1.55}a{color:inherit}
.topbar{height:82px;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;background:rgba(247,244,238,.95);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(36,49,40,.08);backdrop-filter:blur(12px)}
.brand{text-decoration:none;display:flex;flex-direction:column}.brand-name{font-family:"Playfair Display",serif;font-size:1.45rem;line-height:1.1}.brand-sub{color:var(--muted);font-size:.72rem;margin-top:4px}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:0 24px;background:var(--deep);color:#fff;text-decoration:none;font-weight:600;border-radius:2px;transition:.18s}.button:hover{transform:translateY(-1px);opacity:.92}.button-small{min-height:42px;padding:0 18px;font-size:.9rem}
.hero{min-height:72vh;display:grid;align-items:end;position:relative;overflow:hidden;background:linear-gradient(125deg,#496353 0%,#718473 38%,#c3b79f 100%);background-size:cover;background-position:center}.hero.has-photo{background-image:var(--hero)}.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.18),transparent 28%),radial-gradient(circle at 15% 90%,rgba(0,0,0,.12),transparent 32%)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,31,25,.64),rgba(20,31,25,.08) 62%)}
.hero-content{position:relative;z-index:2;width:min(var(--max),calc(100% - 48px));margin:0 auto;padding:90px 0 84px;color:#fff}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:600}.hero h1,.section h2,.final-cta h2,.booking-intro h2{font-family:"Playfair Display",serif;font-weight:500;letter-spacing:-.025em}.hero h1{max-width:760px;font-size:clamp(3.5rem,8vw,7.5rem);line-height:.92;margin:18px 0 24px}.hero-copy{max-width:650px;font-size:1.08rem;color:rgba(255,255,255,.88);margin-bottom:30px}
.booking-strip{width:min(var(--max),calc(100% - 48px));margin:-28px auto 0;position:relative;z-index:5;background:#fff;padding:30px;display:grid;grid-template-columns:1.25fr .75fr;gap:28px;align-items:center;box-shadow:0 18px 55px rgba(31,42,35,.12)}.booking-intro h2{margin:4px 0 8px;font-size:2rem}.booking-intro p{margin:0;color:var(--muted);max-width:650px}.booking-button{text-decoration:none;background:var(--deep);color:#fff;padding:22px 24px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:94px}.booking-button span{opacity:.72;font-size:.8rem}.booking-button strong{margin-top:6px;font-size:1.05rem}
.section{width:min(var(--max),calc(100% - 48px));margin:0 auto;padding:110px 0}.section-soft{width:100%;max-width:none;padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:max(24px,calc((100vw - var(--max))/2));background:var(--sage)}.section-heading{max-width:780px;margin-bottom:48px}.section-heading.compact{margin-bottom:34px}.section-heading h2{font-size:clamp(2.2rem,5vw,4.3rem);line-height:1.02;margin:8px 0 18px}.section-heading p{color:var(--muted);font-size:1.02rem}
.offers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.offer-card{background:#fff;padding:30px;min-height:290px;display:flex;flex-direction:column;border:1px solid var(--line)}.offer-card.featured{background:var(--deep);color:#fff;transform:translateY(-10px)}.offer-nights{color:var(--accent);font-weight:600}.featured .offer-nights{color:#dcb896}.offer-card h3{font-family:"Playfair Display",serif;font-size:1.65rem;line-height:1.1;margin:14px 0}.offer-card p{color:var(--muted);flex:1}.featured p{color:rgba(255,255,255,.72)}.offer-card a{font-weight:600;text-decoration-thickness:1px;text-underline-offset:4px}.fineprint{color:var(--muted);font-size:.82rem;margin-top:22px}
.benefits{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(36,49,40,.18)}.benefits div{padding:24px 18px 0 0;display:flex;flex-direction:column}.benefits strong{font-size:1.04rem}.benefits span{color:var(--muted);font-size:.9rem;margin-top:5px}
.rooms{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.room{background:#fff;border:1px solid var(--line);overflow:hidden}.room-image,.room-photo{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.room-image.placeholder{background:linear-gradient(135deg,#a9b79f,#cfbfaa)}.room-body{padding:24px}.room-body span{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:var(--accent)}.room-body h3{font-family:"Playfair Display",serif;font-size:1.55rem;margin:8px 0}.room-body p{margin:0;color:var(--muted)}
.gallery-block{margin-top:54px}.gallery-block h3{font-family:"Playfair Display",serif;font-size:2rem;font-weight:500}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gallery-item{border:0;padding:0;background:none;cursor:pointer;overflow:hidden}.gallery-item img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;transition:transform .25s}.gallery-item:hover img{transform:scale(1.025)}
.final-cta{width:min(var(--max),calc(100% - 48px));margin:0 auto 80px;background:var(--deep);color:#fff;padding:48px;display:flex;align-items:end;justify-content:space-between;gap:30px}.final-cta h2{font-size:clamp(2.2rem,5vw,4rem);margin:8px 0;line-height:1}.final-cta p{color:rgba(255,255,255,.72);margin:0}.button-light{background:#fff;color:var(--deep);flex:0 0 auto}
footer{width:min(var(--max),calc(100% - 48px));margin:0 auto;padding:32px 0 60px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.84rem}footer div{display:flex;flex-direction:column}footer strong{color:var(--ink)}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:100;display:grid;place-items:center;padding:24px}.lightbox[hidden]{display:none}.lightbox img{max-width:96vw;max-height:90vh}.lightbox-close{position:absolute;top:12px;right:18px;background:none;border:0;color:#fff;font-size:2.4rem;cursor:pointer}
@media(max-width:780px){.topbar{height:72px;padding:0 18px}.brand-sub{display:none}.topbar .button-small{display:none}.hero{min-height:68vh}.hero-content{width:calc(100% - 36px);padding:70px 0 56px}.hero h1{font-size:clamp(3.1rem,17vw,5.3rem)}.booking-strip{width:calc(100% - 28px);grid-template-columns:1fr;padding:22px;gap:18px}.section{width:calc(100% - 36px);padding:76px 0}.section-soft{width:100%;padding-left:18px;padding-right:18px}.offers,.benefits,.rooms{grid-template-columns:1fr}.offer-card.featured{transform:none}.benefits div{padding:18px 0;border-bottom:1px solid rgba(36,49,40,.12)}.gallery-grid{grid-template-columns:repeat(2,1fr)}.final-cta{width:calc(100% - 36px);padding:30px;align-items:flex-start;flex-direction:column}footer{width:calc(100% - 36px);padding-bottom:50px;flex-direction:column}}


/* ===== Podere Cafasso V2: header + booking hub ===== */
.hero::before{
  background:linear-gradient(90deg,rgba(15,25,20,.32) 0%,rgba(15,25,20,.14) 38%,rgba(15,25,20,0) 68%) !important;
}
.hero-overlay{display:none !important;}

.brand-sub{
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.66rem;
}

.booking-hub{
  width:min(var(--max),calc(100% - 48px));
  margin:-28px auto 0;
  position:relative;
  z-index:5;
  background:#fff;
  box-shadow:0 18px 55px rgba(31,42,35,.12);
}

.booking-main{
  padding:30px;
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:28px;
  align-items:center;
}

.stay-more{
  border-top:1px solid var(--line);
  padding:28px 30px 30px;
}

.stay-more-heading{
  display:grid;
  grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);
  column-gap:34px;
  row-gap:4px;
  align-items:end;
  margin-bottom:22px;
}

.stay-more-heading .section-kicker{grid-column:1 / -1;}

.stay-more-heading h3{
  margin:0;
  font-family:"Playfair Display",serif;
  font-weight:500;
  letter-spacing:-.02em;
  font-size:clamp(1.9rem,3.4vw,3.15rem);
  line-height:1.02;
}

.stay-more-heading p{
  margin:0 0 4px;
  color:var(--muted);
  max-width:620px;
}

.stay-options{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid var(--line);
}

.stay-option{
  min-height:142px;
  padding:22px 24px;
  text-decoration:none;
  display:flex;
  flex-direction:column;
  border-right:1px solid var(--line);
  background:#fff;
  transition:background .18s ease,color .18s ease;
}

.stay-option:last-child{border-right:0;}
.stay-option:hover{background:#f5f3ed;}

.stay-option.featured{
  background:var(--deep);
  color:#fff;
}
.stay-option.featured:hover{background:#21382f;}

.stay-nights{
  color:var(--accent);
  font-weight:600;
  font-size:.84rem;
  margin-bottom:9px;
}
.stay-option.featured .stay-nights{color:#dcb896;}

.stay-option strong{
  font-family:"Playfair Display",serif;
  font-size:1.34rem;
  line-height:1.08;
  font-weight:500;
  max-width:220px;
}

.stay-cta{
  margin-top:auto;
  padding-top:18px;
  font-size:.84rem;
  font-weight:600;
}

.booking-note{
  margin:15px 0 0;
  color:var(--muted);
  font-size:.76rem;
}

@media (max-width:780px){
  .brand-sub{
    display:block;
    margin-top:5px;
    max-width:290px;
    font-size:.55rem;
    letter-spacing:.06em;
    line-height:1.25;
  }

  .topbar{
    min-height:82px;
    height:auto;
    padding-top:12px;
    padding-bottom:12px;
  }

  .hero.has-photo{
    background-position:66% center;
  }

  .hero h1{
    font-size:clamp(3rem,14vw,4.6rem);
    line-height:.94;
  }

  .booking-hub{
    width:calc(100% - 28px);
    margin:-28px auto 0;
  }

  .booking-main{
    grid-template-columns:1fr;
    padding:22px;
    gap:18px;
  }

  .stay-more{
    padding:25px 22px 24px;
  }

  .stay-more-heading{
    display:block;
    margin-bottom:20px;
  }

  .stay-more-heading h3{
    font-size:2.15rem;
    margin:6px 0 10px;
  }

  .stay-more-heading p{
    font-size:.94rem;
    margin:0;
  }

  .stay-options{
    grid-template-columns:1fr;
    border-bottom:0;
  }

  .stay-option{
    min-height:0;
    padding:17px 16px;
    border-right:0;
    border-bottom:1px solid var(--line);
    display:grid;
    grid-template-columns:72px 1fr auto;
    gap:12px;
    align-items:center;
  }

  .stay-nights{
    margin:0;
    font-size:.78rem;
  }

  .stay-option strong{
    font-family:"DM Sans",system-ui,sans-serif;
    font-size:.95rem;
    line-height:1.2;
    font-weight:600;
    max-width:none;
  }

  .stay-cta{
    margin:0;
    padding:0;
    font-size:0;
    white-space:nowrap;
  }

  .stay-cta::after{
    content:"→";
    font-size:1.15rem;
  }

  .booking-note{
    margin-top:13px;
    font-size:.72rem;
  }
}


/* ===== Podere Cafasso V3: booking nella Hero + long stay subito sotto ===== */

.hero-booking{
  margin-top:28px;
  display:flex;
  align-items:end;
  gap:22px;
  flex-wrap:wrap;
}

.hero-booking-copy{
  min-width:260px;
}

.hero-booking-copy .section-kicker{
  color:rgba(255,255,255,.78);
}

.hero-booking-copy h2{
  margin:5px 0 0;
  font-family:"Playfair Display",serif;
  font-size:clamp(1.7rem,2.7vw,2.55rem);
  line-height:1;
  font-weight:500;
  letter-spacing:-.02em;
  color:#fff;
}

.hero-booking-button{
  min-height:50px;
  background:#294237;
  box-shadow:0 8px 22px rgba(0,0,0,.12);
}

.stay-hub{
  width:min(var(--max),calc(100% - 48px));
  margin:-34px auto 0;
  position:relative;
  z-index:6;
  background:#fff;
  box-shadow:0 18px 55px rgba(31,42,35,.12);
}

.stay-hub .stay-more{
  border-top:0;
  padding:30px;
}

/* the old V2 booking container is no longer used */
.booking-hub,
.booking-main{
  display:none !important;
}

@media (max-width:780px){
  .hero-booking{
    margin-top:24px;
    display:block;
  }

  .hero-booking-copy{
    min-width:0;
    margin-bottom:14px;
  }

  .hero-booking-copy h2{
    font-size:2rem;
  }

  .hero-booking-button{
    width:auto;
    min-height:54px;
    padding:0 20px;
  }

  .stay-hub{
    width:calc(100% - 28px);
    margin:-22px auto 0;
  }

  .stay-hub .stay-more{
    padding:24px 20px 22px;
  }

  .stay-more-heading h3{
    font-size:2rem;
  }
}


/* ===== Podere Cafasso V4: long stay a due colonne ===== */

@media (min-width: 781px) {
  .stay-hub .stay-more{
    display:grid;
    grid-template-columns:minmax(290px,.78fr) minmax(0,1.42fr);
    grid-template-areas:
      "heading options"
      "heading note";
    column-gap:34px;
    row-gap:14px;
    align-items:start;
  }

  .stay-more-heading{
    grid-area:heading;
    display:block;
    margin:0;
    padding-right:8px;
  }

  .stay-more-heading .section-kicker{
    display:block;
    margin-bottom:8px;
  }

  .stay-more-heading h3{
    margin:0 0 16px;
    font-size:clamp(2.25rem,3.25vw,3.35rem);
    line-height:.98;
  }

  .stay-more-heading p{
    margin:0;
    max-width:390px;
    font-size:.96rem;
    line-height:1.55;
  }

  .stay-options{
    grid-area:options;
    align-self:start;
  }

  .stay-option{
    min-height:166px;
    padding:20px 18px;
  }

  .stay-option strong{
    font-size:1.18rem;
    max-width:180px;
  }

  .stay-cta{
    font-size:.78rem;
  }

  .booking-note{
    grid-area:note;
    margin:0;
  }
}


/* ===== Podere Cafasso V5: long stay + prezzi dinamici ===== */

@media (min-width: 781px) {
  .stay-hub .stay-more{
    grid-template-columns:minmax(340px,.92fr) minmax(0,1.58fr);
    column-gap:38px;
  }

  .stay-more-heading h3{
    font-size:clamp(2.05rem,2.75vw,2.85rem);
    line-height:1.02;
    max-width:430px;
    margin-bottom:14px;
  }

  .stay-more-heading p{
    max-width:430px;
    font-size:.92rem;
    line-height:1.5;
  }

  .stay-options{
    min-width:0;
  }

  .stay-option{
    min-height:186px;
    padding:22px 20px;
  }

  .stay-option strong{
    font-size:1.2rem;
    max-width:200px;
  }
}

.stay-price{
  margin-top:auto;
  padding-top:20px;
  display:flex;
  align-items:baseline;
  gap:8px;
  flex-wrap:wrap;
}

.stay-price del{
  color:var(--muted);
  font-size:.9rem;
  text-decoration-thickness:1px;
}

.stay-option.featured .stay-price del{
  color:rgba(255,255,255,.58);
}

.stay-price b{
  font-size:1.35rem;
  line-height:1;
}

.stay-price small{
  font-size:.76rem;
  font-weight:500;
  opacity:.78;
}

.stay-price-note{
  margin-top:7px;
  font-size:.74rem;
  color:var(--muted);
}

.stay-option.featured .stay-price-note{
  color:rgba(255,255,255,.7);
}

@media (max-width:780px){
  .stay-option:has(.stay-price){
    grid-template-columns:72px 1fr;
    align-items:start;
  }

  .stay-option:has(.stay-price) .stay-price{
    grid-column:2;
    margin-top:8px;
    padding-top:0;
  }

  .stay-option:has(.stay-price) .stay-price-note{
    grid-column:2;
  }
}


/* ===== Podere Cafasso V6: prezzi long stay ===== */

.stay-price{
  gap:10px;
}

.stay-price del{
  color:#c63f32;
  font-size:1rem;
  font-weight:600;
  text-decoration-color:#c63f32;
  text-decoration-thickness:2px;
  opacity:1;
}

.stay-price b{
  margin-left:4px;
  font-size:1.38rem;
}

.stay-option.featured .stay-price del{
  color:#f08b80;
  text-decoration-color:#f08b80;
  opacity:1;
}


/* ===== Podere Cafasso V7: prezzi stile Booking ===== */

.stay-price{
  gap:8px;
  align-items:baseline;
}

.stay-price del{
  color:#d4111e;
  font-size:.82rem;
  font-weight:400;
  line-height:1;
  text-decoration-color:#d4111e;
  text-decoration-thickness:1px;
  text-decoration-skip-ink:auto;
  opacity:1;
}

.stay-price b{
  margin-left:2px;
  font-size:1.34rem;
  font-weight:700;
  line-height:1;
}

.stay-price small{
  margin-left:2px;
  font-size:.72rem;
  font-weight:400;
  color:var(--muted);
  opacity:1;
}

.stay-option.featured .stay-price del{
  color:#ff8d8d;
  text-decoration-color:#ff8d8d;
  font-weight:400;
}

.stay-option.featured .stay-price small{
  color:rgba(255,255,255,.72);
}


/* ===== Podere Cafasso V8: risparmio + reputation ===== */

.stay-price-note{
  font-weight:700;
}

/* Reputation strip */
.reviews-strip{
  width:min(var(--max),calc(100% - 48px));
  margin:58px auto 0;
  display:grid;
  grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);
  gap:30px;
  align-items:stretch;
}

.reviews-heading{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.reviews-heading h2{
  margin:7px 0 0;
  font-family:"Playfair Display",serif;
  font-size:clamp(2rem,3vw,3.15rem);
  line-height:1;
  font-weight:500;
  letter-spacing:-.02em;
}

.review-platforms{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid var(--line);
  background:#fff;
}

.review-platform{
  min-height:132px;
  padding:20px 22px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-decoration:none;
  border-right:1px solid var(--line);
  transition:background .18s ease,transform .18s ease;
}

.review-platform:last-child{
  border-right:0;
}

a.review-platform:hover{
  background:#f5f3ed;
}

.review-source{
  font-size:.8rem;
  font-weight:600;
  color:var(--muted);
  margin-bottom:8px;
}

.review-score{
  display:flex;
  align-items:baseline;
  gap:3px;
}

.review-score strong{
  font-family:"Playfair Display",serif;
  font-size:2rem;
  line-height:1;
  font-weight:600;
  color:var(--ink);
}

.review-score small{
  font-size:.75rem;
  color:var(--muted);
}

.review-count{
  margin-top:8px;
  font-size:.76rem;
  color:var(--muted);
}

@media(max-width:780px){
  .reviews-strip{
    width:calc(100% - 36px);
    margin:42px auto 0;
    grid-template-columns:1fr;
    gap:18px;
  }

  .reviews-heading h2{
    font-size:2.2rem;
  }

  .review-platforms{
    grid-template-columns:1fr;
  }

  .review-platform{
    min-height:0;
    padding:16px 18px;
    border-right:0;
    border-bottom:1px solid var(--line);
    display:grid;
    grid-template-columns:1fr auto;
    grid-template-areas:
      "source score"
      "count score";
    gap:3px 14px;
    align-items:center;
  }

  .review-platform:last-child{
    border-bottom:0;
  }

  .review-source{
    grid-area:source;
    margin:0;
  }

  .review-score{
    grid-area:score;
  }

  .review-count{
    grid-area:count;
    margin:0;
  }
}


/* ===== Podere Cafasso V9: reputation bar più elegante ===== */

.reviews-strip{
  width:min(var(--max),calc(100% - 48px));
  margin:42px auto 0;
  padding:18px 0;
  display:grid;
  grid-template-columns:minmax(250px,.72fr) minmax(0,2.28fr);
  gap:28px;
  align-items:center;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.reviews-heading{
  display:block;
}

.reviews-heading .section-kicker{
  display:block;
  margin-bottom:5px;
}

.reviews-heading h2{
  margin:0;
  font-family:"Playfair Display",serif;
  font-size:1.7rem;
  line-height:1.05;
  font-weight:500;
  letter-spacing:-.015em;
  white-space:nowrap;
}

.review-platforms{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:0;
  background:transparent;
}

.review-platform{
  min-height:0;
  padding:4px 22px;
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-areas:
    "source score"
    "count score";
  gap:2px 12px;
  align-items:center;
  justify-content:stretch;
  border:0;
  border-left:1px solid var(--line);
  background:transparent;
}

.review-platform:last-child{
  border-right:0;
}

a.review-platform:hover{
  background:transparent;
}

.review-source{
  grid-area:source;
  margin:0;
  font-size:.78rem;
  font-weight:600;
  color:var(--ink);
}

.review-score{
  grid-area:score;
  display:flex;
  align-items:baseline;
  gap:2px;
}

.review-score strong{
  font-family:"DM Sans",system-ui,sans-serif;
  font-size:1.55rem;
  line-height:1;
  font-weight:700;
  color:var(--ink);
}

.review-score small{
  font-size:.68rem;
  color:var(--muted);
}

.review-count{
  grid-area:count;
  margin:0;
  font-size:.7rem;
  color:var(--muted);
}

@media(max-width:780px){
  .reviews-strip{
    width:calc(100% - 36px);
    margin:34px auto 0;
    padding:18px 0 8px;
    grid-template-columns:1fr;
    gap:14px;
  }

  .reviews-heading h2{
    font-size:1.85rem;
    white-space:normal;
  }

  .review-platforms{
    grid-template-columns:1fr;
  }

  .review-platform{
    padding:12px 0;
    border-left:0;
    border-top:1px solid var(--line);
  }

  .review-platform:first-child{
    border-top:0;
  }

  .review-score strong{
    font-size:1.4rem;
  }
}


/* ===== Podere Cafasso V10: punteggi nella head ===== */

.reviews-strip{
  display:none !important;
}

.header-right{
  display:flex;
  align-items:center;
  gap:22px;
  margin-left:auto;
}

.header-reviews{
  display:flex;
  align-items:center;
  gap:0;
  white-space:nowrap;
}

.header-review{
  display:flex;
  align-items:baseline;
  gap:7px;
  padding:2px 16px;
  border-left:1px solid var(--line);
  text-decoration:none;
  color:var(--ink);
  transition:opacity .16s ease;
}

.header-review:first-child{
  border-left:0;
}

a.header-review:hover{
  opacity:.68;
}

.header-review-name{
  font-size:.66rem;
  color:var(--muted);
  font-weight:500;
}

.header-review-score{
  display:inline-flex;
  align-items:baseline;
  gap:2px;
}

.header-review-score strong{
  font-family:"DM Sans",system-ui,sans-serif;
  font-size:.92rem;
  line-height:1;
  font-weight:700;
}

.header-review-score small{
  font-size:.56rem;
  color:var(--muted);
  font-weight:400;
}

@media (max-width: 980px) and (min-width: 781px){
  .header-review{
    padding-left:10px;
    padding-right:10px;
  }

  .header-review-name{
    display:none;
  }
}

@media (max-width:780px){
  .topbar{
    display:grid;
    grid-template-columns:1fr;
    align-items:start;
    gap:9px;
    padding:12px 18px 11px;
    min-height:0;
    height:auto;
  }

  .brand{
    width:100%;
  }

  .brand-sub{
    display:block;
    max-width:none;
    font-size:.52rem;
    letter-spacing:.055em;
  }

  .header-right{
    width:100%;
    margin:0;
    display:block;
  }

  .header-reviews{
    width:100%;
    display:flex;
    justify-content:flex-start;
    overflow-x:auto;
    scrollbar-width:none;
    border-top:1px solid rgba(36,49,40,.08);
    padding-top:8px;
  }

  .header-reviews::-webkit-scrollbar{
    display:none;
  }

  .header-review{
    flex:0 0 auto;
    padding:0 13px;
    gap:5px;
    border-left:1px solid rgba(36,49,40,.12);
  }

  .header-review:first-child{
    padding-left:0;
    border-left:0;
  }

  .header-review-name{
    display:inline;
    font-size:.59rem;
  }

  .header-review-score strong{
    font-size:.78rem;
  }

  .header-review-score small{
    display:none;
  }

  .topbar .button-small{
    display:none;
  }
}


/* ===== HEAD PIU' GRANDE - stato attuale ===== */

.topbar {
  min-height: 102px;
  padding-top: 16px;
  padding-bottom: 16px;
}

.brand-name {
  font-size: 1.9rem;
}

.brand-sub {
  font-size: .76rem;
  margin-top: 7px;
}

.header-review-name {
  font-size: .76rem;
}

.header-review-score strong {
  font-size: 1.15rem;
}

.header-review-score small {
  font-size: .66rem;
}

.header-review {
  padding-left: 21px;
  padding-right: 21px;
}

.topbar .button-small {
  min-height: 48px;
  padding-left: 23px;
  padding-right: 23px;
  font-size: .95rem;
}


/* ===== V11: long stay mobile più compatto ===== */

@media (max-width:780px){

  .stay-hub .stay-more{
    padding:22px 20px 18px;
  }

  .stay-more-heading{
    margin-bottom:16px;
  }

  .stay-more-heading h3{
    font-size:1.9rem;
    line-height:1.02;
    margin:5px 0 9px;
  }

  .stay-more-heading p{
    font-size:.9rem;
    line-height:1.45;
  }

  .stay-options{
    border:1px solid var(--line);
  }

  .stay-option{
    padding:14px 14px;
    min-height:0;
    display:grid;
    grid-template-columns:68px 1fr;
    grid-template-areas:
      "nights title"
      "nights price"
      "nights note";
    column-gap:10px;
    row-gap:5px;
    align-items:start;
  }

  .stay-nights{
    grid-area:nights;
    margin:1px 0 0;
    font-size:.76rem;
    line-height:1.2;
  }

  .stay-option strong{
    grid-area:title;
    font-family:"DM Sans",system-ui,sans-serif;
    font-size:.93rem;
    line-height:1.18;
    font-weight:600;
    max-width:none;
  }

  .stay-price{
    grid-area:price;
    margin:1px 0 0;
    padding:0;
    gap:7px;
    align-items:baseline;
  }

  .stay-price del{
    font-size:.78rem;
  }

  .stay-price b{
    font-size:1.2rem;
    margin-left:1px;
  }

  .stay-price small{
    font-size:.68rem;
  }

  .stay-price-note{
    grid-area:note;
    margin:0;
    font-size:.72rem;
    line-height:1.2;
    font-weight:700;
  }

  .booking-note{
    margin-top:10px;
    font-size:.66rem;
    line-height:1.35;
  }
}


/* ===== Micro ritocchi consolidati ===== */
@media (max-width:780px){
  .stay-price{
    margin-top:3px;
  }

  .stay-price-note{
    margin-top:3px;
    font-size:.71rem;
    line-height:1.22;
  }

  .booking-note{
    margin-top:8px;
    font-size:.62rem;
    line-height:1.3;
    color:rgba(104,112,104,.82);
    max-width:34ch;
  }

  .header-review-score small{
    display:inline;
    font-size:.55rem;
    margin-left:1px;
    color:var(--muted);
  }
}

/* ===== V12: modulo TeamSystem nella Hero ===== */

.hero-booking{
  display:block;
  max-width:1000px;
}

.hero-booking-copy{
  margin-bottom:14px;
}

.hero-search{
  display:grid;
  grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) 100px auto;
  gap:10px;
  align-items:end;
  max-width:900px;
}

.hero-search-field{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin:0;
}

.hero-search-field > span{
  font-size:.67rem;
  line-height:1;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(255,255,255,.78);
}

.hero-search input,
.hero-search select{
  width:100%;
  height:50px;
  padding:0 13px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:2px;
  background:rgba(250,248,243,.96);
  color:var(--ink);
  font:600 .9rem "DM Sans",system-ui,sans-serif;
  outline:none;
  color-scheme:light;
}

.hero-search input:focus,
.hero-search select:focus{
  border-color:#fff;
  box-shadow:0 0 0 2px rgba(255,255,255,.18);
}

.hero-search .hero-booking-button{
  height:50px;
  min-height:50px;
  border:0;
  white-space:nowrap;
  cursor:pointer;
}

.hero-booking-status{
  min-height:17px;
  margin:8px 0 0;
  color:rgba(255,255,255,.82);
  font-size:.72rem;
  font-weight:500;
}

.hero-search.has-error input:invalid{
  border-color:#e6a7a1;
}

.stay-option.is-selected{
  box-shadow:inset 0 0 0 2px var(--accent);
}

.stay-option.featured.is-selected{
  box-shadow:inset 0 0 0 2px #dcb896;
}

@media(max-width:780px){
  .hero-booking{
    margin-top:23px;
  }

  .hero-booking-copy{
    margin-bottom:12px;
  }

  .hero-booking-copy h2{
    font-size:1.85rem;
  }

  .hero-search{
    grid-template-columns:1fr 1fr;
    gap:9px;
    max-width:none;
  }

  .hero-search-guests{
    grid-column:1;
  }

  .hero-search .hero-booking-button{
    grid-column:2;
    width:100%;
    height:50px;
    min-height:50px;
    padding:0 13px;
    font-size:.82rem;
  }

  .hero-search input,
  .hero-search select{
    height:48px;
    padding:0 9px;
    font-size:.82rem;
  }

  .hero-search-field > span{
    font-size:.6rem;
  }

  .hero-booking-status{
    margin-top:7px;
    font-size:.66rem;
  }
}

@media(max-width:420px){
  .hero-search{
    grid-template-columns:1fr 1fr;
  }

  .hero-search .hero-booking-button{
    font-size:.76rem;
    letter-spacing:-.01em;
  }
}


/* ===== V13: interazione offerte più intuitiva ===== */

.stay-action{
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid rgba(36,49,40,.10);
  font-size:.76rem;
  font-weight:700;
  line-height:1.2;
}
.stay-option.featured .stay-action{border-top-color:rgba(255,255,255,.16);}
.stay-action-selected{display:none;}
.stay-option.is-selected .stay-action-default{display:none;}
.stay-option.is-selected .stay-action-selected{display:inline;}

.hero-booking-status{
  display:none;
  min-height:0;
  margin:10px 0 0;
  max-width:900px;
  padding:11px 14px;
  border-radius:2px;
  font-size:.78rem;
  line-height:1.35;
  font-weight:700;
  text-shadow:none;
}
.hero-booking-status.is-active{display:block;}
.hero-booking-status.is-info{
  color:#243128;
  background:#f4efe3;
  border-left:4px solid #b28659;
}
.hero-booking-status.is-success{
  color:#173026;
  background:#e5eee7;
  border-left:4px solid #294237;
}
.hero-booking-status.is-warning{
  color:#5a2c26;
  background:#f6e7e4;
  border-left:4px solid #b74a3d;
}

.hero-search input.needs-attention{
  animation:arrivalPulse 1.1s ease 0s 2;
  border-color:#d8b277;
  box-shadow:0 0 0 4px rgba(216,178,119,.28);
}
@keyframes arrivalPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(216,178,119,.05);}
  45%{box-shadow:0 0 0 5px rgba(216,178,119,.34);}
}

@media(max-width:780px){
  .stay-action{
    grid-column:2;
    margin-top:3px;
    padding-top:7px;
    font-size:.7rem;
  }
  .hero-booking-status{
    margin-top:9px;
    padding:10px 12px;
    font-size:.72rem;
    line-height:1.32;
  }
}


/* ===== V14: stato offerta ad alta visibilità ===== */

.hero-booking-status{
  position:relative;
  margin-top:10px;
  padding:13px 16px 13px 18px;
  border:0;
  border-radius:2px;
  font-size:.84rem;
  line-height:1.35;
  font-weight:800;
  box-shadow:0 8px 22px rgba(0,0,0,.16);
}

.hero-booking-status::before{
  display:block;
  margin-bottom:3px;
  font-size:.62rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.hero-booking-status.is-info{
  color:#1d281f;
  background:#f0c75e;
  border-left:0;
}

.hero-booking-status.is-info::before{
  content:"Offerta selezionata";
  color:rgba(29,40,31,.72);
}

.hero-booking-status.is-success{
  color:#fff;
  background:#294237;
  border-left:0;
}

.hero-booking-status.is-success::before{
  content:"Date impostate";
  color:rgba(255,255,255,.72);
}

.hero-booking-status.is-warning{
  color:#fff;
  background:#b4473b;
  border-left:0;
}

.hero-booking-status.is-warning::before{
  content:"Attenzione";
  color:rgba(255,255,255,.76);
}

@media(max-width:780px){
  .hero-booking-status{
    margin-top:9px;
    padding:12px 14px;
    font-size:.76rem;
    line-height:1.32;
  }

  .hero-booking-status::before{
    font-size:.58rem;
  }
}


/* ===== V15: offerta selezionata più evidente ===== */

.stay-option.is-selected{
  position:relative;
  box-shadow:inset 0 0 0 2px #b28659;
  background:#fffaf1;
}

.stay-option.is-selected::after{
  content:"SCELTA";
  position:absolute;
  top:10px;
  right:10px;
  padding:4px 7px;
  border-radius:999px;
  background:#b28659;
  color:#fff;
  font-size:.56rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.1em;
}

.stay-option.featured.is-selected{
  background:var(--deep);
  box-shadow:inset 0 0 0 2px #dcb896;
}

.stay-option.featured.is-selected::after{
  background:#dcb896;
  color:#243128;
}

.stay-action-selected{
  display:none;
  margin-top:2px;
  font-size:.79rem;
  font-weight:800;
}

.stay-option.is-selected .stay-action{
  border-top-color:rgba(178,134,89,.35);
}

.stay-option.featured.is-selected .stay-action{
  border-top-color:rgba(220,184,150,.35);
}

.stay-option.is-selected .stay-action-selected{
  display:inline-flex;
  align-items:center;
  gap:5px;
}

.stay-option.is-selected .stay-action-selected::before{
  content:"✓";
  display:inline-grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#b28659;
  color:#fff;
  font-size:.68rem;
  font-weight:900;
}

.stay-option.featured.is-selected .stay-action-selected::before{
  background:#dcb896;
  color:#243128;
}

@media(max-width:780px){
  .stay-option.is-selected::after{
    top:9px;
    right:9px;
    font-size:.52rem;
    padding:4px 6px;
  }

  .stay-action-selected{
    font-size:.72rem;
  }
}


/* ===== V16: placeholder visibile nei campi data su iPhone ===== */

.date-field{
  position:relative;
}

.date-visual-placeholder{
  position:absolute;
  left:13px;
  bottom:14px;
  z-index:3;
  pointer-events:none;
  color:#59645b;
  font:600 .9rem "DM Sans",system-ui,sans-serif;
  line-height:1;
}

.date-field.has-value .date-visual-placeholder{
  display:none;
}

/* Evita sovrapposizioni con il formato nativo vuoto nei browser che lo mostrano */
.date-field.is-empty input[type="date"]{
  color:transparent;
}

.date-field.is-empty input[type="date"]::-webkit-datetime-edit{
  color:transparent;
}

.date-field.is-empty input[type="date"]::-webkit-date-and-time-value{
  color:transparent;
}

/* Mantiene visibile l'icona/calendario dove il browser la fornisce */
.date-field input[type="date"]::-webkit-calendar-picker-indicator{
  opacity:.8;
}

@media(max-width:780px){
  .date-visual-placeholder{
    left:10px;
    bottom:13px;
    font-size:.82rem;
    font-weight:600;
  }
}


/* ===== V17: date control robusto per Safari/iPhone ===== */

/* Disattiva il precedente placeholder V16 */
.date-visual-placeholder{
  display:none !important;
}

.date-field{
  position:relative;
}

.date-control{
  position:relative;
  display:flex;
  align-items:center;
  width:100%;
  height:50px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:2px;
  background:rgba(250,248,243,.96);
  overflow:hidden;
}

.date-display{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  padding:0 42px 0 13px;
  color:#59645b;
  font:600 .9rem "DM Sans",system-ui,sans-serif;
  line-height:50px;
  text-align:left;
  white-space:nowrap;
}

.date-field.has-value .date-display{
  color:var(--ink);
}

/* Il vero input date resta sopra tutto ed è tappabile,
   ma invisibile: Safari apre comunque il suo picker nativo. */
.date-control input[type="date"]{
  position:absolute;
  inset:0;
  z-index:3;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  border:0;
  opacity:.001;
  cursor:pointer;
  appearance:auto;
  -webkit-appearance:auto;
}

/* Piccola icona calendario nostra, sempre visibile */
.date-control::after{
  content:"▣";
  position:absolute;
  right:13px;
  top:50%;
  z-index:2;
  transform:translateY(-50%);
  color:#59645b;
  font-size:.78rem;
  pointer-events:none;
}

/* Il focus del vero input viene mostrato sul contenitore */
.date-field:focus-within .date-control{
  border-color:#fff;
  box-shadow:0 0 0 2px rgba(255,255,255,.18);
}

.date-field .needs-attention + .date-display{
  animation:none;
}

/* L'animazione già usata per attirare l'attenzione ora colpisce il box */
.date-field:has(input.needs-attention) .date-control{
  animation:arrivalBoxPulse 1.1s ease 0s 2;
  border-color:#d8b277;
}

@keyframes arrivalBoxPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(216,178,119,.05);}
  45%{box-shadow:0 0 0 5px rgba(216,178,119,.34);}
}

@media(max-width:780px){
  .date-control{
    height:48px;
  }

  .date-display{
    padding-left:10px;
    padding-right:36px;
    font-size:.82rem;
    line-height:48px;
  }

  .date-control::after{
    right:10px;
    font-size:.72rem;
  }
}


/* ===== V22: vantaggi fotografici - sezione pulita ===== */

.benefits-section{
  padding-top:86px;
  padding-bottom:78px;
  display:grid;
  grid-template-columns:minmax(300px,.66fr) minmax(0,1.34fr);
  gap:46px;
  align-items:start;
}

.benefits-section .section-heading{
  margin:0;
  max-width:410px;
}

.benefits-section .section-heading .section-kicker{
  display:block;
  margin-bottom:12px;
}

.benefits-section .section-heading h2{
  margin:0;
  max-width:8.5ch;
  font-size:clamp(3rem,4.35vw,4.65rem);
  line-height:.98;
}

/* griglia delle quattro card */
.benefits-section .benefits{
  counter-reset:benefit;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  border:0;
  min-width:0;
}

/* reset esplicito delle vecchie regole .benefits div */
.benefits-section .benefits > .benefit-card{
  counter-increment:benefit;
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,56%) minmax(0,44%);
  min-width:0;
  min-height:208px;
  padding:0;
  margin:0;
  overflow:hidden;
  background:rgba(255,255,255,.52);
  border:1px solid rgba(36,49,40,.16);
}

.benefits-section .benefits > .benefit-card.no-photo{
  grid-template-columns:1fr;
}

/* Numero 01-04: ora incrementa una sola volta per card */
.benefits-section .benefits > .benefit-card::before{
  content:counter(benefit, decimal-leading-zero);
  position:absolute;
  z-index:4;
  top:22px;
  left:22px;
  color:var(--accent);
  font-size:.64rem;
  line-height:1;
  font-weight:700;
  letter-spacing:.08em;
}

.benefits-section .benefits > .benefit-card::after{
  content:"";
  position:absolute;
  z-index:4;
  top:26px;
  left:48px;
  width:30px;
  height:1px;
  background:rgba(36,49,40,.35);
}

/* IMPORTANTISSIMO: annulla la vecchia decorazione/counter sui div interni */
.benefits-section .benefits > .benefit-card > div{
  counter-increment:none !important;
  min-width:0;
  margin:0;
  border:0;
}

.benefits-section .benefits > .benefit-card > div::before,
.benefits-section .benefits > .benefit-card > div::after{
  content:none !important;
  display:none !important;
}

/* testo */
.benefits-section .benefits > .benefit-card > .benefit-copy{
  position:relative;
  display:block;
  min-height:208px;
  padding:58px 20px 25px 22px;
  background:transparent;
}

.benefits-section .benefit-card strong{
  display:block;
  margin:0 0 8px;
  font-family:"Playfair Display",serif;
  font-size:1.58rem;
  line-height:1.02;
  font-weight:500;
  letter-spacing:-.015em;
}

.benefits-section .benefit-card span{
  display:block;
  margin:0;
  max-width:180px;
  color:var(--muted);
  font-size:.86rem;
  line-height:1.4;
}

/* foto: riempie davvero tutta la porzione destra */
.benefits-section .benefits > .benefit-card > .benefit-photo-wrap{
  display:block;
  width:100%;
  height:100%;
  min-height:208px;
  padding:0 !important;
  overflow:hidden;
  background:#d9ddd7;
}

.benefits-section .benefit-photo{
  display:block;
  width:100%;
  height:100%;
  min-height:208px;
  margin:0;
  object-fit:cover;
  object-position:center center;
  transition:transform .35s ease;
}

.benefits-section .benefit-card:nth-child(1) .benefit-photo{
  object-position:center 52%;
}

.benefits-section .benefit-card:nth-child(2) .benefit-photo{
  object-position:center center;
}

.benefits-section .benefit-card:nth-child(3) .benefit-photo{
  object-position:center 54%;
}

.benefits-section .benefit-card:nth-child(4) .benefit-photo{
  object-position:center 22%;
}

.benefits-section .benefit-card:hover .benefit-photo{
  transform:scale(1.025);
}

@media(max-width:1020px) and (min-width:781px){
  .benefits-section{
    grid-template-columns:minmax(270px,.62fr) minmax(0,1.38fr);
    gap:34px;
  }

  .benefits-section .benefits > .benefit-card{
    grid-template-columns:minmax(0,58%) minmax(0,42%);
    min-height:190px;
  }

  .benefits-section .benefits > .benefit-card > .benefit-copy,
  .benefits-section .benefits > .benefit-card > .benefit-photo-wrap,
  .benefits-section .benefit-photo{
    min-height:190px;
  }

  .benefits-section .benefit-card strong{
    font-size:1.42rem;
  }
}

@media(max-width:780px){
  .benefits-section{
    display:block;
    padding-top:58px;
    padding-bottom:56px;
  }

  .benefits-section .section-heading{
    max-width:none;
    margin-bottom:30px;
  }

  .benefits-section .section-heading .section-kicker{
    margin-bottom:8px;
  }

  .benefits-section .section-heading h2{
    max-width:10.5ch;
    font-size:2.65rem;
    line-height:1;
  }

  .benefits-section .benefits{
    grid-template-columns:1fr;
    gap:12px;
  }

  .benefits-section .benefits > .benefit-card,
  .benefits-section .benefits > .benefit-card.no-photo{
    display:block;
    min-height:0;
    padding:0;
    background:rgba(255,255,255,.5);
  }

  .benefits-section .benefits > .benefit-card::before{
    top:18px;
    left:18px;
    font-size:.61rem;
  }

  .benefits-section .benefits > .benefit-card::after{
    top:22px;
    left:44px;
    width:26px;
  }

  .benefits-section .benefits > .benefit-card > .benefit-copy{
    min-height:0;
    padding:46px 18px 18px;
  }

  .benefits-section .benefit-card strong{
    margin-bottom:6px;
    font-size:1.4rem;
  }

  .benefits-section .benefit-card span{
    max-width:none;
    font-size:.84rem;
  }

  /* Come concordato: foto sotto, ma fascia bassa e compatta */
  .benefits-section .benefits > .benefit-card > .benefit-photo-wrap{
    width:100%;
    height:104px;
    min-height:104px;
    padding:0 !important;
  }

  .benefits-section .benefit-photo{
    width:100%;
    height:104px;
    min-height:104px;
    object-fit:cover;
  }

  /* Sul selfie teniamo i volti nella fascia bassa mobile */
  .benefits-section .benefit-card:nth-child(4) .benefit-photo{
    object-position:center 20%;
  }
}


/* ===== V21: blocco servizio biciclette ===== */

.bike-service-section{
  padding-top:18px;
  padding-bottom:84px;
}

.bike-service-card{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);
  min-height:310px;
  overflow:hidden;
  background:#f0ece3;
  border:1px solid rgba(36,49,40,.14);
}

.bike-service-card.no-photo{
  grid-template-columns:1fr;
}

.bike-service-photo-wrap{
  min-width:0;
  min-height:310px;
  overflow:hidden;
}

.bike-service-photo{
  width:100%;
  height:100%;
  min-height:310px;
  display:block;
  object-fit:cover;
  object-position:center center;
}

.bike-service-copy{
  padding:52px 48px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}

.bike-service-copy .section-kicker{
  margin-bottom:12px;
}

.bike-service-copy h2{
  margin:0;
  max-width:10ch;
  font-family:"Playfair Display",serif;
  font-size:clamp(2.4rem,3.7vw,4rem);
  line-height:.98;
  font-weight:500;
  letter-spacing:-.025em;
}

.bike-service-copy p{
  margin:22px 0 0;
  max-width:390px;
  color:var(--muted);
  font-size:1rem;
  line-height:1.55;
}

@media(max-width:900px) and (min-width:781px){
  .bike-service-card{
    grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);
  }

  .bike-service-copy{
    padding:42px 34px;
  }
}

@media(max-width:780px){
  .bike-service-section{
    padding-top:8px;
    padding-bottom:58px;
  }

  .bike-service-card,
  .bike-service-card.no-photo{
    display:flex;
    flex-direction:column;
    min-height:0;
  }

  .bike-service-copy{
    order:1;
    padding:28px 22px 24px;
  }

  .bike-service-photo-wrap{
    order:2;
    width:100%;
    min-height:0;
    height:142px;
  }

  .bike-service-photo{
    min-height:0;
    height:142px;
    object-fit:cover;
    object-position:center 58%;
  }

  .bike-service-copy .section-kicker{
    margin-bottom:8px;
  }

  .bike-service-copy h2{
    max-width:12ch;
    font-size:2.25rem;
    line-height:1;
  }

  .bike-service-copy p{
    margin-top:14px;
    font-size:.9rem;
  }
}


/* ===== V23: correzione titolo sezione vantaggi ===== */

/* Il titolo a sinistra non deve invadere le card */
@media (min-width: 781px){
  .benefits-section{
    grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr);
    gap:38px;
  }

  .benefits-section .section-heading{
    min-width:0;
    max-width:none;
  }

  .benefits-section .section-heading h2{
    max-width:10.5ch;
    font-size:clamp(2.65rem,3.7vw,4.15rem);
    line-height:.98;
    overflow-wrap:normal;
    word-break:normal;
  }
}

/* Fascia desktop/intermedia: leggermente più compatta */
@media (min-width:781px) and (max-width:1150px){
  .benefits-section{
    grid-template-columns:minmax(320px,.74fr) minmax(0,1.26fr);
    gap:30px;
  }

  .benefits-section .section-heading h2{
    max-width:10.8ch;
    font-size:clamp(2.55rem,3.55vw,3.35rem);
  }
}


/* ===== V24: CTA WhatsApp nella card Contatto diretto ===== */

.benefits-section .benefit-contact .benefit-copy{
  padding-bottom:18px;
}

.benefit-whatsapp{
  display:inline-flex !important;
  align-items:center;
  gap:7px;
  width:auto !important;
  max-width:100%;
  margin-top:14px !important;
  padding:9px 12px;
  background:var(--green);
  color:#fff !important;
  text-decoration:none;
  font-size:.72rem !important;
  line-height:1 !important;
  font-weight:700;
  letter-spacing:.01em;
  white-space:nowrap;
  transition:transform .18s ease, opacity .18s ease;
}

.benefit-whatsapp span{
  display:inline !important;
  color:inherit !important;
  font-size:1em !important;
  line-height:1 !important;
}

.benefit-whatsapp:hover{
  transform:translateY(-1px);
  opacity:.92;
}

@media(max-width:780px){
  .benefits-section .benefit-contact .benefit-copy{
    padding-bottom:18px;
  }

  .benefit-whatsapp{
    margin-top:12px !important;
    padding:9px 12px;
    font-size:.72rem !important;
  }
}


/* ===== V25: WhatsApp CTA classica e ben visibile ===== */

.benefits-section .benefit-contact .benefit-whatsapp{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  width:auto !important;
  max-width:100% !important;
  margin-top:14px !important;
  padding:9px 12px !important;
  border:0 !important;
  border-radius:999px !important;
  background:#25D366 !important;
  color:#fff !important;
  text-decoration:none !important;
  box-shadow:0 2px 7px rgba(0,0,0,.12) !important;
  font-family:"DM Sans",system-ui,sans-serif !important;
  font-size:.7rem !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
  opacity:1 !important;
  visibility:visible !important;
}

.benefits-section .benefit-contact .benefit-whatsapp:hover{
  background:#20bd5a !important;
  color:#fff !important;
  transform:translateY(-1px);
  opacity:1 !important;
}

.benefits-section .benefit-contact .benefit-whatsapp-icon{
  flex:0 0 auto;
  width:15px;
  height:15px;
  display:block;
  color:#fff;
}

.benefits-section .benefit-contact .benefit-whatsapp-label{
  display:inline !important;
  margin:0 !important;
  max-width:none !important;
  color:#fff !important;
  font:inherit !important;
  line-height:1 !important;
}

@media(max-width:780px){
  .benefits-section .benefit-contact .benefit-whatsapp{
    margin-top:12px !important;
    padding:9px 13px !important;
    font-size:.72rem !important;
  }

  .benefits-section .benefit-contact .benefit-whatsapp-icon{
    width:16px;
    height:16px;
  }
}


/* ===== V26: micro-rifiniture mobile vantaggi ===== */

@media(max-width:780px){
  /* Titolo sezione leggermente meno dominante su iPhone */
  .benefits-section .section-heading h2{
    font-size:2.42rem;
    line-height:1.01;
    max-width:10.8ch;
  }

  /* Colazione: inquadra di più la parte del buffet */
  .benefits-section .benefit-card:nth-child(1) .benefit-photo{
    object-position:center 68%;
  }
}


/* ===== V27: servizio biciclette più compatto ===== */

/* Deve essere un richiamo, non una sezione protagonista */
@media(min-width:781px){
  .bike-service-section{
    padding-top:8px;
    padding-bottom:56px;
  }

  .bike-service-card{
    grid-template-columns:44% 56%;
    height:238px;
    min-height:0;
  }

  .bike-service-photo-wrap{
    height:238px;
    min-height:0;
  }

  .bike-service-photo{
    height:238px;
    min-height:0;
    object-fit:cover;
    object-position:center 58%;
  }

  .bike-service-copy{
    padding:30px 38px;
  }

  .bike-service-copy .section-kicker{
    margin-bottom:9px;
  }

  .bike-service-copy h2{
    max-width:13ch;
    font-size:clamp(2.05rem,2.7vw,2.85rem);
    line-height:1;
  }

  .bike-service-copy p{
    margin-top:14px;
    font-size:.92rem;
  }
}

@media(max-width:780px){
  .bike-service-section{
    padding-top:4px;
    padding-bottom:48px;
  }

  .bike-service-copy{
    padding:23px 20px 20px;
  }

  .bike-service-copy h2{
    max-width:13ch;
    font-size:2rem;
  }

  .bike-service-copy p{
    margin-top:11px;
    font-size:.88rem;
  }

  .bike-service-photo-wrap,
  .bike-service-photo{
    height:112px;
  }
}


/* ===== V28: avvicina la sezione Camere al blocco biciclette ===== */

@media(min-width:781px){
  /* Prima c'erano 56px sotto le bici + 110px sopra le camere:
     il vuoto risultava eccessivo. */
  .bike-service-section{
    padding-bottom:22px;
  }

  .bike-service-section + .section{
    padding-top:52px;
  }
}

@media(max-width:780px){
  .bike-service-section{
    padding-bottom:28px;
  }

  .bike-service-section + .section{
    padding-top:42px;
  }
}


/* ===== V29: logo nel footer ===== */

.site-footer{
  width:min(var(--max),calc(100% - 48px));
  margin:0 auto;
  padding:34px 0 54px;
  border-top:1px solid var(--line);
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:42px;
  color:var(--muted);
  font-size:.82rem;
}

.site-footer .footer-brand{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:22px;
  min-width:0;
}

.site-footer .footer-logo{
  display:block;
  width:128px;
  height:auto;
  flex:0 0 auto;
  mix-blend-mode:multiply;
}

.site-footer .footer-brand-copy{
  display:flex;
  flex-direction:column;
  max-width:380px;
}

.site-footer .footer-brand-copy span{
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:.68rem;
  line-height:1.5;
}

.site-footer .footer-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:5px;
  text-align:right;
  white-space:nowrap;
}

@media(max-width:780px){
  .site-footer{
    width:calc(100% - 36px);
    padding:30px 0 44px;
    flex-direction:column;
    align-items:flex-start;
    gap:22px;
  }

  .site-footer .footer-brand{
    gap:17px;
    align-items:center;
  }

  .site-footer .footer-logo{
    width:102px;
  }

  .site-footer .footer-brand-copy span{
    font-size:.62rem;
  }

  .site-footer .footer-meta{
    align-items:flex-start;
    text-align:left;
    white-space:normal;
  }
}


/* ===== V30: comfort e dotazioni + nuova gerarchia pagina ===== */

.amenities-section{
  padding-top:78px;
  padding-bottom:58px;
  display:grid;
  grid-template-columns:minmax(290px,.72fr) minmax(0,1.28fr);
  gap:58px;
  align-items:start;
}

.amenities-heading{
  max-width:420px;
}

.amenities-heading .section-kicker{
  display:block;
  margin-bottom:10px;
}

.amenities-heading h2{
  margin:0;
  max-width:9ch;
  font-family:"Playfair Display",serif;
  font-size:clamp(2.65rem,3.8vw,4rem);
  line-height:.98;
  font-weight:500;
  letter-spacing:-.02em;
}

.amenities-heading p{
  margin:18px 0 0;
  max-width:390px;
  color:var(--muted);
  font-size:.95rem;
  line-height:1.55;
}

.amenities-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--line);
}

.amenity-item{
  min-width:0;
  min-height:96px;
  padding:18px 20px 18px 0;
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:14px;
  align-items:center;
  border-bottom:1px solid var(--line);
}

.amenity-item:nth-child(odd){
  padding-right:28px;
}

.amenity-item:nth-child(even){
  padding-left:24px;
  border-left:1px solid var(--line);
}

.amenity-icon{
  width:42px;
  height:42px;
  border:1px solid rgba(150,107,72,.34);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--accent);
  background:rgba(255,255,255,.45);
}

.amenity-icon svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.amenity-copy strong{
  display:block;
  margin:0 0 4px;
  color:var(--ink);
  font-size:.95rem;
  line-height:1.25;
  font-weight:700;
}

.amenity-copy span{
  display:block;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.4;
}

/* Le camere salgono subito dopo i comfort */
.rooms-section{
  padding-top:48px;
  padding-bottom:54px;
}

/* Le bici diventano un plus successivo alle camere */
.rooms-section + .bike-service-section{
  padding-top:8px;
  padding-bottom:54px;
}

/* Annulla la vecchia regola V28, che era pensata quando le bici stavano prima delle camere */
.bike-service-section + .section{
  padding-top:110px;
}

@media(max-width:900px) and (min-width:781px){
  .amenities-section{
    grid-template-columns:minmax(250px,.64fr) minmax(0,1.36fr);
    gap:36px;
  }

  .amenity-item{
    grid-template-columns:38px minmax(0,1fr);
    gap:11px;
  }

  .amenity-icon{
    width:36px;
    height:36px;
  }

  .amenity-icon svg{
    width:21px;
    height:21px;
  }
}

@media(max-width:780px){
  .amenities-section{
    display:block;
    padding-top:56px;
    padding-bottom:38px;
  }

  .amenities-heading{
    max-width:none;
    margin-bottom:28px;
  }

  .amenities-heading h2{
    max-width:10.5ch;
    font-size:2.45rem;
    line-height:1;
  }

  .amenities-heading p{
    margin-top:14px;
    font-size:.9rem;
  }

  .amenities-list{
    grid-template-columns:1fr;
  }

  .amenity-item,
  .amenity-item:nth-child(odd),
  .amenity-item:nth-child(even){
    min-height:0;
    padding:15px 0;
    grid-template-columns:40px minmax(0,1fr);
    gap:13px;
    border-left:0;
  }

  .amenity-icon{
    width:38px;
    height:38px;
  }

  .amenity-icon svg{
    width:22px;
    height:22px;
  }

  .amenity-copy strong{
    font-size:.92rem;
  }

  .amenity-copy span{
    font-size:.8rem;
  }

  .rooms-section{
    padding-top:38px;
    padding-bottom:38px;
  }

  .rooms-section + .bike-service-section{
    padding-top:4px;
    padding-bottom:42px;
  }

  .bike-service-section + .section{
    padding-top:58px;
  }
}


/* ===== V31: menu vero + teaser camere + pagine interne ===== */

/* Navigazione principale */
.site-nav{
  display:flex;
  align-items:center;
  gap:18px;
  margin:0 20px 0 34px;
  white-space:nowrap;
}

.site-nav a{
  position:relative;
  color:var(--ink);
  text-decoration:none;
  font-size:.76rem;
  font-weight:600;
  line-height:1;
  transition:opacity .16s ease;
}

.site-nav a:hover{
  opacity:.62;
}

.site-nav a.is-active::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-9px;
  height:1px;
  background:var(--accent);
}

.site-nav .nav-prenota{
  display:none;
}

/* Con il menu presente, header desktop un po' più efficiente */
@media(min-width:981px){
  .topbar{
    gap:10px;
  }
  .header-right{
    gap:12px;
  }
  .header-review{
    padding-left:11px;
    padding-right:11px;
  }
  .header-review-name{
    font-size:.66rem;
  }
  .header-review-score strong{
    font-size:.98rem;
  }
  .header-review-score small{
    font-size:.58rem;
  }
  .topbar .button-small{
    min-height:44px;
    padding-left:18px;
    padding-right:18px;
    font-size:.88rem;
  }
}

@media(max-width:1180px) and (min-width:781px){
  .site-nav{
    gap:13px;
    margin-left:22px;
    margin-right:12px;
  }
  .site-nav a{
    font-size:.7rem;
  }
  .header-review-name{
    display:none;
  }
  .header-review{
    padding-left:8px;
    padding-right:8px;
  }
}

@media(max-width:780px){
  .site-nav{
    order:3;
    width:100%;
    margin:0;
    padding-top:9px;
    border-top:1px solid rgba(36,49,40,.08);
    display:flex;
    justify-content:space-between;
    gap:8px;
    overflow:visible;
  }

  .site-nav a{
    flex:0 0 auto;
    font-size:.61rem;
    letter-spacing:0;
  }

  .site-nav a.is-active::after{
    bottom:-5px;
  }

  .site-nav .nav-prenota{
    display:inline;
    color:var(--accent);
  }

  .header-right{
    order:2;
  }
}

/* Teaser camere in home */
.rooms-teaser-section{
  padding-top:48px;
  padding-bottom:64px;
}

.rooms-teaser-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:36px;
  margin-bottom:34px;
}

.rooms-teaser-heading > div{
  max-width:760px;
}

.rooms-teaser-heading h2{
  margin:8px 0 12px;
  max-width:12ch;
  font-family:"Playfair Display",serif;
  font-size:clamp(2.8rem,4.5vw,4.8rem);
  line-height:.98;
  font-weight:500;
  letter-spacing:-.025em;
}

.rooms-teaser-heading p{
  margin:0;
  max-width:650px;
  color:var(--muted);
  font-size:.96rem;
  line-height:1.55;
}

.text-link{
  flex:0 0 auto;
  color:var(--ink);
  text-decoration:none;
  padding-bottom:4px;
  border-bottom:1px solid var(--accent);
  font-size:.86rem;
  font-weight:600;
}

.rooms-teaser-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.room-teaser-card{
  min-width:0;
  text-decoration:none;
  color:var(--ink);
  background:#fff;
  border:1px solid var(--line);
  overflow:hidden;
  transition:transform .18s ease;
}

.room-teaser-card:hover{
  transform:translateY(-2px);
}

.room-teaser-card img,
.room-teaser-placeholder{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  background:linear-gradient(135deg,#a9b79f,#cfbfaa);
}

.room-teaser-copy{
  padding:22px 22px 24px;
}

.room-teaser-copy > span{
  display:block;
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.66rem;
  font-weight:600;
}

.room-teaser-copy h3{
  margin:7px 0 8px;
  font-family:"Playfair Display",serif;
  font-size:1.7rem;
  line-height:1.04;
  font-weight:500;
}

.room-teaser-copy p{
  margin:0;
  min-height:58px;
  color:var(--muted);
  font-size:.84rem;
  line-height:1.45;
}

.room-teaser-copy b{
  display:block;
  margin-top:18px;
  font-size:.76rem;
  font-weight:700;
}

/* Hero pagine interne */
.internal-hero{
  width:min(var(--max),calc(100% - 48px));
  margin:0 auto;
  padding:96px 0 72px;
  border-bottom:1px solid var(--line);
}

.internal-hero h1{
  margin:10px 0 20px;
  max-width:900px;
  font-family:"Playfair Display",serif;
  font-size:clamp(4rem,7vw,7rem);
  line-height:.9;
  font-weight:500;
  letter-spacing:-.035em;
}

.internal-hero p{
  margin:0;
  max-width:690px;
  color:var(--muted);
  font-size:1.05rem;
  line-height:1.6;
}

/* Pagina camere */
.room-list-section{
  padding-top:66px;
}

.room-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.room-detail-card{
  background:#fff;
  border:1px solid var(--line);
  overflow:hidden;
}

.room-detail-photo{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}

.room-detail-placeholder{
  background:linear-gradient(135deg,#a9b79f,#cfbfaa);
}

.room-detail-body{
  padding:22px 22px 25px;
}

.room-detail-meta{
  display:flex;
  justify-content:space-between;
  gap:12px;
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.62rem;
  font-weight:600;
}

.room-detail-body h2{
  margin:9px 0 9px;
  font-family:"Playfair Display",serif;
  font-size:2rem;
  line-height:1;
  font-weight:500;
}

.room-detail-body p{
  margin:0;
  color:var(--muted);
  font-size:.86rem;
  line-height:1.5;
}

.internal-cta{
  width:min(var(--max),calc(100% - 48px));
  margin:0 auto 86px;
  padding:42px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:34px;
  background:var(--deep);
  color:#fff;
}

.internal-cta h2{
  margin:7px 0 8px;
  font-family:"Playfair Display",serif;
  font-size:clamp(2.2rem,4vw,3.8rem);
  line-height:1;
  font-weight:500;
}

.internal-cta p{
  margin:0;
  max-width:640px;
  color:rgba(255,255,255,.72);
}

/* Prime basi per le pagine Il Podere / Dintorni / Come arrivare */
.story-placeholder,
.destination-grid,
.arrival-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  padding-top:66px;
}

.story-placeholder-card,
.destination-grid article,
.arrival-grid article{
  padding:28px;
  border:1px solid var(--line);
  background:#fff;
}

.story-placeholder-card > span,
.arrival-grid article > span{
  color:var(--accent);
  font-size:.68rem;
  font-weight:700;
}

.story-placeholder-card h2,
.destination-grid h2,
.arrival-grid h2{
  margin:12px 0 10px;
  font-family:"Playfair Display",serif;
  font-size:2rem;
  line-height:1.02;
  font-weight:500;
}

.story-placeholder-card p,
.destination-grid p,
.arrival-grid p{
  margin:0;
  color:var(--muted);
  font-size:.87rem;
  line-height:1.5;
}

.destination-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

@media(max-width:780px){
  .rooms-teaser-section{
    padding-top:38px;
    padding-bottom:46px;
  }

  .rooms-teaser-heading{
    display:block;
    margin-bottom:24px;
  }

  .rooms-teaser-heading h2{
    max-width:10.5ch;
    font-size:2.5rem;
  }

  .rooms-teaser-heading p{
    font-size:.88rem;
  }

  .rooms-teaser-heading .text-link{
    display:inline-block;
    margin-top:17px;
  }

  .rooms-teaser-grid{
    grid-template-columns:1fr;
    gap:12px;
  }

  .room-teaser-card{
    display:grid;
    grid-template-columns:38% 62%;
  }

  .room-teaser-card img,
  .room-teaser-placeholder{
    height:100%;
    min-height:170px;
    aspect-ratio:auto;
  }

  .room-teaser-copy{
    padding:18px 16px;
  }

  .room-teaser-copy h3{
    font-size:1.42rem;
  }

  .room-teaser-copy p{
    min-height:0;
    font-size:.78rem;
  }

  .room-teaser-copy b{
    margin-top:12px;
    font-size:.7rem;
  }

  .internal-hero{
    width:calc(100% - 36px);
    padding:62px 0 48px;
  }

  .internal-hero h1{
    font-size:3.6rem;
    line-height:.92;
  }

  .internal-hero p{
    font-size:.92rem;
  }

  .room-list-section{
    padding-top:42px;
  }

  .room-detail-grid{
    grid-template-columns:1fr;
    gap:13px;
  }

  .room-detail-card{
    display:grid;
    grid-template-columns:42% 58%;
  }

  .room-detail-photo{
    height:100%;
    min-height:190px;
    aspect-ratio:auto;
  }

  .room-detail-body{
    padding:18px 16px;
  }

  .room-detail-meta{
    display:block;
  }

  .room-detail-meta span{
    display:block;
    margin-bottom:4px;
  }

  .room-detail-body h2{
    font-size:1.7rem;
  }

  .room-detail-body p{
    font-size:.78rem;
  }

  .internal-cta{
    width:calc(100% - 36px);
    margin-bottom:56px;
    padding:28px 22px;
    display:block;
  }

  .internal-cta h2{
    font-size:2.4rem;
  }

  .internal-cta .button{
    margin-top:22px;
  }

  .story-placeholder,
  .destination-grid,
  .arrival-grid{
    grid-template-columns:1fr;
    gap:12px;
    padding-top:42px;
  }
}


/* ===== V32: posizione corretta del link Prenota ===== */

/*
Quando si clicca "Prenota" nell'header, il browser porta #prenota
troppo in alto e la testata sticky copre il titolo del booking.
Lo scroll-margin lascia il blocco "Prenotazione diretta" visibile
subito sotto l'header, come nello screenshot desiderato.
*/
#prenota{
  scroll-margin-top:126px;
}

@media(max-width:780px){
  /* Su mobile l'header è più alto perché contiene anche recensioni e menu. */
  #prenota{
    scroll-margin-top:178px;
  }
}


/* ===== V33: menu principale più leggibile ===== */

/* I link di navigazione devono avere un peso visivo simile ai punteggi,
   senza però competere con il brand o con il pulsante Prenota. */
@media(min-width:981px){
  .site-nav{
    gap:21px;
  }

  .site-nav a{
    font-size:.83rem;
    font-weight:600;
  }

  /* I punteggi restano importanti, ma leggermente meno dominanti. */
  .header-review-name{
    font-size:.64rem;
  }

  .header-review-score strong{
    font-size:.94rem;
  }

  .header-review-score small{
    font-size:.56rem;
  }
}

@media(max-width:1180px) and (min-width:781px){
  .site-nav{
    gap:15px;
  }

  .site-nav a{
    font-size:.77rem;
  }
}


/* ===== V34: micro-aumento menu header ===== */

@media(min-width:981px){
  .site-nav a{
    font-size:.86rem;
  }
}

@media(max-width:1180px) and (min-width:781px){
  .site-nav a{
    font-size:.79rem;
  }
}


/* ===== V38 SERVER-BASE: prompt data fluido e visibile ===== */

/*
Il vero input[type=date] è trasparente (necessario per Safari/iPhone).
Per questo il focus nativo non può mostrare un cursore visibile.
Quando si sceglie un'offerta, evidenziamo quindi il controllo VISIBILE:
sembra che il cursore sia già sui "gg/mm/aaaa", ma il calendario
si apre soltanto al click dell'utente.
*/

.date-control:focus{
  outline:none;
}

.date-field.is-prompted .date-control{
  border-color:#c59a61 !important;
  box-shadow:0 0 0 4px rgba(197,154,97,.22) !important;
}

.date-field.is-prompted.is-empty .date-display{
  position:relative;
  color:#243128;
  padding-left:21px;
}

/* cursore visivo davanti a gg/mm/aaaa */
.date-field.is-prompted.is-empty .date-display::before{
  content:"";
  position:absolute;
  left:12px;
  top:50%;
  width:1px;
  height:18px;
  transform:translateY(-50%);
  background:#243128;
  animation:datePromptCaret .85s steps(1,end) infinite;
}

@keyframes datePromptCaret{
  0%,49%{opacity:1}
  50%,100%{opacity:0}
}

@media(max-width:780px){
  .date-field.is-prompted.is-empty .date-display{
    padding-left:18px;
  }

  .date-field.is-prompted.is-empty .date-display::before{
    left:9px;
    height:16px;
  }
}


/* ===== V41: galleria fino a 4 foto per ogni camera ===== */

.room-detail-gallery{
  min-width:0;
  background:#f1eee7;
}

.room-detail-gallery .room-detail-photo{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
}

.room-gallery-thumbs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:3px;
  padding:3px;
  background:#f1eee7;
}

.room-gallery-thumb{
  appearance:none;
  -webkit-appearance:none;
  display:block;
  min-width:0;
  padding:0;
  margin:0;
  border:2px solid transparent;
  background:none;
  cursor:pointer;
  overflow:hidden;
  opacity:.7;
  transition:opacity .15s ease,border-color .15s ease;
}

.room-gallery-thumb:hover{
  opacity:1;
}

.room-gallery-thumb.is-active{
  opacity:1;
  border-color:var(--accent);
}

.room-gallery-thumb img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
}

@media(max-width:780px){
  .room-detail-card{
    display:block;
  }

  .room-detail-gallery .room-detail-photo{
    min-height:0;
    height:auto;
    aspect-ratio:16/10;
  }

  .room-gallery-thumbs{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .room-gallery-thumb img{
    aspect-ratio:4/3;
  }
}


/* ===== V42: pagina Camere con galleria aperta al click ===== */

/* Le card tornano pulite: una sola foto di copertina */
.room-detail-open{
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease;
}

.room-detail-open:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 28px rgba(36,49,40,.08);
}

.room-detail-open:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
}

.room-detail-cover-wrap{
  position:relative;
  overflow:hidden;
}

.room-detail-cover-wrap .room-detail-photo{
  transition:transform .35s ease;
}

.room-detail-open:hover .room-detail-cover-wrap .room-detail-photo{
  transform:scale(1.018);
}

.room-gallery-count,
.room-gallery-open-label{
  position:absolute;
  z-index:2;
  color:#fff;
  background:rgba(25,39,31,.72);
  backdrop-filter:blur(5px);
}

.room-gallery-count{
  top:12px;
  right:12px;
  padding:6px 9px;
  font-size:.68rem;
  font-weight:700;
  border-radius:999px;
}

.room-gallery-open-label{
  left:12px;
  bottom:12px;
  padding:7px 10px;
  font-size:.7rem;
  font-weight:700;
}

/* Nasconde eventuali vecchie miniature inline V41 */
.room-detail-gallery .room-gallery-thumbs{
  display:none !important;
}

/* Modal gallery */
.room-gallery-modal[hidden]{
  display:none;
}

.room-gallery-modal{
  position:fixed;
  inset:0;
  z-index:9999;
}

.room-gallery-backdrop{
  position:absolute;
  inset:0;
  background:rgba(13,20,16,.86);
  backdrop-filter:blur(6px);
}

.room-gallery-dialog{
  position:relative;
  z-index:2;
  width:min(1100px,calc(100% - 48px));
  height:min(88vh,820px);
  margin:6vh auto;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  background:#111813;
  color:#fff;
  box-shadow:0 30px 90px rgba(0,0,0,.35);
}

.room-gallery-topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding:16px 18px;
  border-bottom:1px solid rgba(255,255,255,.12);
}

.room-gallery-topbar h2{
  margin:0;
  font-family:"Playfair Display",serif;
  font-size:1.7rem;
  font-weight:500;
}

.room-gallery-close{
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.1);
  color:#fff;
  font-size:1.65rem;
  line-height:1;
  cursor:pointer;
}

.room-gallery-stage{
  position:relative;
  min-height:0;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#0d120f;
}

.room-gallery-modal-main{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  user-select:none;
  -webkit-user-drag:none;
}

.room-gallery-nav{
  position:absolute;
  z-index:3;
  top:50%;
  transform:translateY(-50%);
  width:46px;
  height:46px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:2rem;
  line-height:1;
  cursor:pointer;
}

.room-gallery-prev{left:16px;}
.room-gallery-next{right:16px;}

.room-gallery-modal-thumbs{
  display:flex;
  gap:7px;
  padding:10px 12px;
  overflow-x:auto;
  border-top:1px solid rgba(255,255,255,.1);
}

.room-gallery-modal-thumb{
  flex:0 0 74px;
  padding:0;
  border:2px solid transparent;
  background:none;
  opacity:.58;
  cursor:pointer;
}

.room-gallery-modal-thumb.is-active{
  border-color:#d3ad7d;
  opacity:1;
}

.room-gallery-modal-thumb img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}

body.room-gallery-modal-open{
  overflow:hidden;
}

@media(max-width:780px){
  .room-detail-card{
    display:block;
  }

  .room-detail-cover-wrap .room-detail-photo{
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:16/10;
    object-fit:cover;
  }

  .room-gallery-open-label{
    font-size:.68rem;
  }

  .room-gallery-dialog{
    width:100%;
    height:100dvh;
    margin:0;
  }

  .room-gallery-topbar{
    padding:14px 16px;
  }

  .room-gallery-topbar h2{
    font-size:1.45rem;
  }

  .room-gallery-nav{
    width:40px;
    height:40px;
    font-size:1.7rem;
  }

  .room-gallery-prev{left:9px;}
  .room-gallery-next{right:9px;}

  .room-gallery-modal-thumbs{
    padding:8px 9px calc(8px + env(safe-area-inset-bottom));
  }

  .room-gallery-modal-thumb{
    flex-basis:62px;
  }
}

/* ===== V46: Dintorni hub + guide editoriali ===== */

.dintorni-page,
.guide-page{
  background:#e7ece7;
}

.dintorni-page .site-footer,
.guide-page .site-footer{
  background:var(--paper);
}

.dintorni-intro{
  width:min(var(--max),calc(100% - 48px));
  margin:0 auto;
  padding:78px 0 38px;
}

.dintorni-intro h1{
  margin:10px 0 18px;
  max-width:900px;
  font-family:"Playfair Display",serif;
  font-size:clamp(3.5rem,6.3vw,6.4rem);
  line-height:.94;
  font-weight:500;
  letter-spacing:-.035em;
}

.dintorni-intro p{
  margin:0;
  max-width:760px;
  color:var(--muted);
  font-size:1rem;
  line-height:1.65;
}

.dintorni-list{
  width:min(var(--max),calc(100% - 48px));
  margin:0 auto;
  padding:0 0 62px;
  display:grid;
  gap:12px;
}

.dintorni-card{
  min-height:315px;
  display:grid;
  grid-template-columns:minmax(320px,38%) minmax(0,62%);
  color:var(--ink);
  text-decoration:none;
  background:#fff;
  border:1px solid var(--line);
  overflow:hidden;
  transition:transform .18s ease,box-shadow .18s ease;
}

.dintorni-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(36,49,40,.07);
}

.dintorni-card-copy{
  padding:28px 34px 30px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.dintorni-card-num{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:22px;
  color:var(--accent);
  font-size:.7rem;
  font-weight:700;
}

.dintorni-card-num i{
  display:block;
  width:34px;
  height:1px;
  background:#aeb7af;
}

.dintorni-card h2{
  margin:8px 0 10px;
  font-family:"Playfair Display",serif;
  font-size:clamp(2rem,3vw,3.35rem);
  line-height:.98;
  font-weight:500;
  letter-spacing:-.025em;
}

.dintorni-card p{
  margin:0;
  color:var(--muted);
  font-size:.9rem;
  line-height:1.55;
  max-width:430px;
}

.dintorni-card b{
  margin-top:auto;
  padding-top:20px;
  color:var(--accent);
  font-size:.8rem;
  font-weight:700;
}

.dintorni-card-media,
.dintorni-photo-placeholder{
  min-height:315px;
}

.dintorni-card-media img,
.dintorni-photo-placeholder{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.dintorni-photo-placeholder,
.guide-media-placeholder{
  background:linear-gradient(135deg,#bac6bb,#ddd2c2);
}

.dintorni-cta,
.guide-related{
  width:min(var(--max),calc(100% - 48px));
  margin:0 auto 70px;
  padding:36px 42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  border:1px solid rgba(41,66,55,.16);
  background:rgba(255,255,255,.38);
}

.dintorni-cta h2,
.guide-related h2{
  margin:7px 0 0;
  max-width:760px;
  font-family:"Playfair Display",serif;
  font-size:clamp(2rem,4vw,3.8rem);
  line-height:1;
  font-weight:500;
  letter-spacing:-.025em;
}

/* Guide interne */
.guide-hero{
  position:relative;
  min-height:520px;
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
}

.guide-hero.no-photo{
  background:linear-gradient(135deg,#b9c8bb,#e5dacb);
}

.guide-hero-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(20,34,27,.58) 0%,rgba(20,34,27,.30) 45%,rgba(20,34,27,.04) 78%);
}

.guide-hero-copy{
  position:relative;
  z-index:2;
  width:min(var(--max),calc(100% - 48px));
  margin:0 auto;
  padding:80px 0 60px;
  color:#fff;
}

.guide-back{
  display:inline-block;
  margin-bottom:28px;
  color:rgba(255,255,255,.82);
  text-decoration:none;
  font-size:.78rem;
  font-weight:600;
}

.guide-hero .section-kicker{
  color:rgba(255,255,255,.84);
}

.guide-hero h1{
  margin:10px 0 16px;
  max-width:820px;
  font-family:"Playfair Display",serif;
  font-size:clamp(4rem,7vw,7rem);
  line-height:.9;
  font-weight:500;
  letter-spacing:-.04em;
}

.guide-hero p{
  margin:0;
  max-width:620px;
  color:rgba(255,255,255,.9);
  font-size:1rem;
  line-height:1.6;
}

.guide-facts{
  width:min(var(--max),calc(100% - 48px));
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  background:#fff;
  border:1px solid var(--line);
  border-top:0;
}

.guide-fact{
  padding:22px 24px;
  border-right:1px solid var(--line);
}
.guide-fact:last-child{border-right:0;}
.guide-fact span{
  display:block;
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.62rem;
  font-weight:700;
  margin-bottom:6px;
}
.guide-fact strong{
  display:block;
  color:var(--ink);
  font-size:.88rem;
  line-height:1.35;
  font-weight:600;
}

.guide-content{
  padding-top:72px;
  padding-bottom:58px;
}

.guide-story-list{
  display:grid;
  gap:22px;
}

.guide-story{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:390px;
  background:#fff;
  border:1px solid var(--line);
  overflow:hidden;
}

.guide-story.is-reverse .guide-story-media{order:2;}
.guide-story.is-reverse .guide-story-copy{order:1;}

.guide-story-media img,
.guide-media-placeholder{
  width:100%;
  height:100%;
  min-height:390px;
  display:block;
  object-fit:cover;
}

.guide-story-copy{
  padding:44px 46px;
  align-self:center;
}

.guide-story-copy h2{
  margin:8px 0 16px;
  font-family:"Playfair Display",serif;
  font-size:clamp(2.3rem,4vw,4rem);
  line-height:.98;
  font-weight:500;
  letter-spacing:-.03em;
}

.guide-story-copy p{
  margin:0;
  color:var(--muted);
  font-size:.96rem;
  line-height:1.65;
}

.guide-band{
  width:100%;
  background:rgba(255,255,255,.34);
  border-top:1px solid rgba(41,66,55,.1);
  border-bottom:1px solid rgba(41,66,55,.1);
}

.guide-band-inner{
  width:min(var(--max),calc(100% - 48px));
  margin:0 auto;
  padding:44px 0;
}

.must-see-grid{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.must-see-grid article{
  min-height:155px;
  padding:24px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:18px;
  background:#fff;
  border:1px solid var(--line);
}

.must-number{
  color:var(--accent);
  font-family:"Playfair Display",serif;
  font-size:2.4rem;
  line-height:1;
}

.must-see-grid h3{
  margin:0 0 8px;
  font-family:"Playfair Display",serif;
  font-size:1.35rem;
  line-height:1.05;
  font-weight:500;
}

.must-see-grid p{
  margin:0;
  color:var(--muted);
  font-size:.8rem;
  line-height:1.45;
}

.guide-tip-wrap{
  width:min(var(--max),calc(100% - 48px));
  margin:26px auto 0;
}

.guide-tip{
  padding:28px 32px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:24px;
  align-items:start;
  background:#dfe6df;
  border:1px solid rgba(41,66,55,.1);
}

.guide-tip-mark{
  font-family:"Playfair Display",serif;
  font-size:2.2rem;
  color:var(--accent);
  line-height:1;
}

.guide-tip p{
  margin:7px 0 0;
  max-width:900px;
  font-family:"Playfair Display",serif;
  font-size:1.35rem;
  line-height:1.3;
}

.guide-practical{
  padding-top:48px;
  padding-bottom:42px;
}

.practical-grid{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.practical-grid article{
  padding:21px 24px;
  background:#fff;
  border:1px solid var(--line);
}

.practical-grid span{
  display:block;
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:.6rem;
  font-weight:700;
  margin-bottom:5px;
}

.practical-grid strong{
  font-size:.88rem;
  font-weight:600;
  line-height:1.4;
}

.guide-gallery{
  padding-top:22px;
  padding-bottom:50px;
}

.guide-gallery h2{
  margin:7px 0 20px;
  font-family:"Playfair Display",serif;
  font-size:clamp(2rem,4vw,3.5rem);
  font-weight:500;
}

.guide-gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}

.guide-gallery-grid img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}

@media(max-width:780px){
  .dintorni-intro{
    width:calc(100% - 36px);
    padding:48px 0 28px;
  }

  .dintorni-intro h1{
    font-size:3.25rem;
    max-width:10ch;
  }

  .dintorni-intro p{
    font-size:.9rem;
  }

  .dintorni-list{
    width:calc(100% - 36px);
    gap:12px;
    padding-bottom:40px;
  }

  .dintorni-card{
    display:flex;
    flex-direction:column;
    min-height:0;
  }

  .dintorni-card-media{
    order:1;
    min-height:0;
  }

  .dintorni-card-copy{
    order:2;
    padding:20px 22px 22px;
  }

  .dintorni-card-media img,
  .dintorni-photo-placeholder{
    height:auto;
    min-height:0;
    aspect-ratio:16/6.4;
    object-fit:cover;
  }

  .dintorni-card-num{
    margin-bottom:13px;
  }

  .dintorni-card h2{
    font-size:2rem;
    margin-top:6px;
  }

  .dintorni-card p{
    font-size:.82rem;
  }

  .dintorni-card b{
    margin-top:14px;
    padding-top:0;
  }

  .dintorni-cta,
  .guide-related{
    width:calc(100% - 36px);
    margin-bottom:50px;
    padding:27px 22px;
    display:block;
  }

  .dintorni-cta h2,
  .guide-related h2{
    font-size:2.35rem;
  }

  .dintorni-cta .button,
  .guide-related .button{
    display:inline-block;
    margin-top:22px;
  }

  .guide-hero{
    min-height:500px;
    background-position:center;
  }

  .guide-hero-shade{
    background:linear-gradient(180deg,rgba(20,34,27,.10) 0%,rgba(20,34,27,.28) 42%,rgba(20,34,27,.72) 100%);
  }

  .guide-hero-copy{
    width:calc(100% - 36px);
    padding:54px 0 34px;
  }

  .guide-back{
    margin-bottom:18px;
  }

  .guide-hero h1{
    font-size:3.45rem;
    line-height:.92;
  }

  .guide-hero p{
    font-size:.88rem;
    line-height:1.55;
  }

  .guide-facts{
    width:calc(100% - 36px);
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .guide-fact{
    padding:17px 15px;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  .guide-fact:nth-child(2n){border-right:0;}
  .guide-fact:nth-last-child(-n+2){border-bottom:0;}
  .guide-fact strong{font-size:.78rem;}

  .guide-content{
    padding-top:40px;
    padding-bottom:34px;
  }

  .guide-story-list{gap:13px;}

  .guide-story,
  .guide-story.is-reverse{
    display:flex;
    flex-direction:column;
    min-height:0;
  }

  .guide-story .guide-story-media,
  .guide-story.is-reverse .guide-story-media{order:1;}
  .guide-story .guide-story-copy,
  .guide-story.is-reverse .guide-story-copy{order:2;}

  .guide-story-media img,
  .guide-media-placeholder{
    min-height:0;
    height:auto;
    aspect-ratio:16/10;
  }

  .guide-story-copy{
    padding:24px 22px 27px;
  }

  .guide-story-copy h2{
    font-size:2.25rem;
  }

  .guide-story-copy p{
    font-size:.84rem;
  }

  .guide-band-inner{
    width:calc(100% - 36px);
    padding:34px 0;
  }

  .must-see-grid{
    grid-template-columns:1fr;
    gap:9px;
  }

  .must-see-grid article{
    min-height:0;
    padding:20px;
  }

  .guide-tip-wrap{
    width:calc(100% - 36px);
    margin-top:18px;
  }

  .guide-tip{
    padding:23px 21px;
    grid-template-columns:1fr;
    gap:10px;
  }

  .guide-tip-mark{font-size:1.8rem;}
  .guide-tip p{font-size:1.18rem;}

  .guide-practical{
    padding-top:36px;
    padding-bottom:26px;
  }

  .practical-grid{
    grid-template-columns:1fr;
    gap:8px;
  }

  .guide-gallery{
    padding-top:18px;
    padding-bottom:38px;
  }

  .guide-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
  }

  .guide-gallery-grid img:first-child{
    grid-column:1 / -1;
    aspect-ratio:16/9;
  }
}


/* ===== V47: Reel Instagram nelle guide Dintorni ===== */

.guide-reels{
  padding-top:34px;
  padding-bottom:34px;
}

.guide-reels-head{
  display:flex;
  justify-content:space-between;
  gap:28px;
  align-items:end;
  margin-bottom:18px;
}

.guide-reels-head h2{
  margin:.3rem 0 .35rem;
  font-family:"Playfair Display",serif;
  font-size:clamp(1.85rem,3vw,2.65rem);
  font-weight:500;
  color:var(--green);
}

.guide-reels-head p{
  max-width:720px;
  margin:0;
  color:var(--muted);
}

.guide-reels-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.guide-reel-card{
  display:grid;
  grid-template-rows:auto 1fr;
  min-width:0;
  border:1px solid rgba(41,66,55,.18);
  background:rgba(255,255,255,.62);
  color:inherit;
  text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.guide-reel-card:hover{
  transform:translateY(-2px);
  border-color:rgba(150,107,72,.55);
  box-shadow:0 10px 24px rgba(34,49,40,.07);
}

.guide-reel-poster{
  position:relative;
  overflow:hidden;
  aspect-ratio:16/10;
  background:#e8ebe6;
}

.guide-reel-poster img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .3s ease;
}

.guide-reel-card:hover .guide-reel-poster img{
  transform:scale(1.018);
}

.guide-reel-play{
  position:absolute;
  left:14px;
  bottom:14px;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  padding-left:2px;
  border:1px solid rgba(255,255,255,.8);
  border-radius:50%;
  background:rgba(24,36,29,.62);
  color:#fff;
  font-size:.9rem;
  backdrop-filter:blur(5px);
}

.guide-reel-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:17px 18px 18px;
}

.guide-reel-label{
  margin-bottom:7px;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--accent);
}

.guide-reel-copy h3{
  margin:0 0 7px;
  font-family:"Playfair Display",serif;
  font-size:1.35rem;
  font-weight:500;
  line-height:1.12;
  color:var(--green);
}

.guide-reel-copy p{
  margin:0 0 10px;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.5;
}

.guide-reel-author{
  margin:auto 0 11px;
  color:var(--muted);
  font-size:.78rem;
}

.guide-reel-copy strong{
  color:var(--accent);
  font-size:.84rem;
  font-weight:600;
}

@media(max-width:780px){
  .guide-reels{
    padding-top:24px;
    padding-bottom:24px;
  }

  .guide-reels-head{
    margin-bottom:14px;
  }

  .guide-reels-grid{
    grid-template-columns:1fr;
    gap:10px;
  }

  .guide-reel-card{
    grid-template-columns:116px minmax(0,1fr);
    grid-template-rows:1fr;
  }

  .guide-reel-poster{
    height:100%;
    min-height:150px;
    aspect-ratio:auto;
  }

  .guide-reel-play{
    width:34px;
    height:34px;
    left:10px;
    bottom:10px;
    font-size:.72rem;
  }

  .guide-reel-copy{
    padding:14px 14px 13px;
  }

  .guide-reel-copy h3{
    font-size:1.17rem;
  }

  .guide-reel-copy p{
    font-size:.84rem;
    line-height:1.4;
  }
}


/* ===== V50: icone + tempi di percorrenza multimodali ===== */

.guide-travel{
  display:grid;
  grid-template-columns:minmax(170px,.85fr) repeat(4,minmax(150px,1fr)) minmax(180px,.95fr);
  width:100%;
  background:rgba(250,249,245,.96);
  border-bottom:1px solid rgba(41,66,55,.12);
}

.guide-travel > div{
  min-width:0;
  padding:18px 22px;
  border-right:1px solid rgba(41,66,55,.13);
}

.guide-travel > div:last-child{
  border-right:0;
}

.guide-travel-intro,
.guide-travel-ideal{
  display:flex;
  align-items:center;
  gap:12px;
}

.guide-travel-intro span:not(.guide-travel-icon),
.guide-travel-ideal span:not(.guide-travel-icon){
  display:block;
  margin-bottom:2px;
  font-size:.72rem;
  color:var(--muted);
}

.guide-travel-intro strong,
.guide-travel-ideal strong{
  display:block;
  font-size:.88rem;
  line-height:1.25;
  color:var(--green);
}

.guide-travel-icon{
  flex:0 0 26px;
  display:grid;
  place-items:center;
  color:#56645c;
}

.guide-travel-icon svg,
.practical-icon svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.guide-travel-destination{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
}

.guide-travel-name{
  font-size:.9rem;
  color:var(--green);
}

.guide-travel-modes{
  display:flex;
  flex-wrap:wrap;
  gap:7px 12px;
}

.guide-travel-mode{
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.guide-travel-mode .guide-travel-icon{
  flex-basis:20px;
}

.guide-travel-mode .guide-travel-icon svg{
  width:20px;
  height:20px;
}

.guide-travel-mode small,
.guide-travel-mode b{
  display:block;
  line-height:1.05;
}

.guide-travel-mode small{
  margin-bottom:3px;
  font-size:.59rem;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:var(--muted);
}

.guide-travel-mode b{
  font-size:.78rem;
  color:var(--green);
}

.practical-grid .practical-card{
  display:flex;
  align-items:center;
  gap:14px;
}

.practical-icon{
  flex:0 0 38px;
  display:grid;
  place-items:center;
  color:#536159;
}

.practical-icon svg{
  width:31px;
  height:31px;
}

.practical-card > div{
  min-width:0;
}

.travel-admin-modes{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin-top:10px;
}

.travel-admin-mode{
  padding:9px;
  border:1px solid #ddd9d1;
  background:#faf9f6;
}

.travel-admin-mode input[type="text"]{
  margin-top:7px;
}

@media(max-width:1100px){
  .guide-travel{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .guide-travel > div{
    border-bottom:1px solid rgba(41,66,55,.13);
  }
}

@media(max-width:780px){
  .guide-travel{
    display:block;
    padding:0 28px 14px;
    background:var(--paper);
  }

  .guide-travel > div{
    border:1px solid rgba(41,66,55,.14);
    border-bottom:0;
    padding:13px 15px;
    background:rgba(255,255,255,.64);
  }

  .guide-travel > div:last-child{
    border-bottom:1px solid rgba(41,66,55,.14);
  }

  .guide-travel-destination{
    gap:9px;
  }

  .guide-travel-modes{
    gap:9px 16px;
  }

  .guide-travel-name{
    font-family:"Playfair Display",serif;
    font-size:1.08rem;
    font-weight:500;
  }

  .travel-admin-modes{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:520px){
  .travel-admin-modes{
    grid-template-columns:1fr;
  }
}


/* ===== V54: pagina Come arrivare ===== */

.arrival-page{
  background:var(--paper);
}

.arrival-hero{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:60px;
  align-items:end;
  padding:70px max(5vw,34px) 56px;
  background:#e7ece7;
}

.arrival-hero h1{
  max-width:820px;
  margin:.35rem 0 1rem;
  font-family:"Playfair Display",serif;
  font-size:clamp(3.2rem,6vw,6.5rem);
  line-height:.94;
  font-weight:500;
  color:var(--green);
}

.arrival-hero > div > p{
  max-width:720px;
  margin:0;
  color:var(--muted);
  font-size:1.05rem;
  line-height:1.6;
}

.arrival-location{
  display:flex;
  gap:15px;
  align-items:flex-start;
  padding:22px;
  border:1px solid rgba(41,66,55,.18);
  background:rgba(255,255,255,.6);
}

.arrival-location span:not(.arrival-icon){
  display:block;
  margin-bottom:4px;
  color:var(--muted);
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.arrival-location strong{
  display:block;
  color:var(--green);
  line-height:1.35;
}

.arrival-location a,
.arrival-route-card a,
.arrival-simple-grid a{
  display:inline-block;
  margin-top:12px;
  color:var(--accent);
  text-decoration:none;
  font-weight:600;
  font-size:.86rem;
}

.arrival-icon{
  flex:0 0 34px;
  display:grid;
  place-items:center;
  color:#56645c;
}

.arrival-icon svg{
  width:30px;
  height:30px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.arrival-section{
  padding-top:58px;
  padding-bottom:58px;
}

.arrival-section-soft{
  background:#e7ece7;
}

.arrival-section-head{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:14px;
  max-width:850px;
  margin-bottom:28px;
}

.arrival-section-head .arrival-icon{
  margin-top:5px;
}

.arrival-section-head h2{
  margin:.25rem 0 .55rem;
  font-family:"Playfair Display",serif;
  font-size:clamp(2.3rem,4vw,4rem);
  font-weight:500;
  line-height:1;
  color:var(--green);
}

.arrival-section-head p{
  margin:0;
  color:var(--muted);
  line-height:1.55;
}

.arrival-route-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.arrival-route-card{
  min-width:0;
  padding:22px;
  border:1px solid rgba(41,66,55,.16);
  background:rgba(255,255,255,.72);
}

.arrival-route-number{
  display:block;
  margin-bottom:26px;
  color:var(--accent);
  font-size:.72rem;
  font-weight:700;
}

.arrival-route-card h3,
.arrival-simple-grid h3,
.arrival-last-leg h3{
  margin:0;
  font-family:"Playfair Display",serif;
  font-size:1.65rem;
  font-weight:500;
  color:var(--green);
}

.arrival-route-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px 12px;
  align-items:baseline;
  margin:10px 0 13px;
}

.arrival-route-meta strong{
  font-size:1rem;
  color:var(--green);
}

.arrival-route-meta span{
  color:var(--muted);
  font-size:.84rem;
}

.arrival-route-card p,
.arrival-simple-grid p,
.arrival-last-leg p{
  margin:.55rem 0 0;
  color:var(--muted);
  line-height:1.5;
  font-size:.92rem;
}

.arrival-last-leg{
  display:flex;
  gap:15px;
  align-items:flex-start;
  margin-top:16px;
  padding:20px 22px;
  border:1px solid rgba(41,66,55,.16);
  background:#e7ece7;
}

.arrival-simple-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.arrival-simple-grid article{
  padding:24px;
  border:1px solid rgba(41,66,55,.16);
  background:rgba(255,255,255,.7);
}

.arrival-final{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 30px;
  padding:42px max(5vw,34px);
  background:#dfe7df;
}

.arrival-final .section-kicker{
  width:100%;
}

.arrival-final h2{
  margin:0;
  font-family:"Playfair Display",serif;
  font-size:clamp(2rem,4vw,3.5rem);
  font-weight:500;
  color:var(--green);
}

.arrival-final p{
  flex:1 1 420px;
  margin:0;
  color:var(--muted);
}

@media(max-width:980px){
  .arrival-hero{
    grid-template-columns:1fr;
    gap:26px;
  }

  .arrival-route-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:780px){
  .arrival-hero{
    padding:36px 28px 32px;
  }

  .arrival-hero h1{
    font-size:clamp(3rem,15vw,4.8rem);
  }

  .arrival-section{
    padding-top:38px;
    padding-bottom:38px;
  }

  .arrival-section-head{
    grid-template-columns:36px minmax(0,1fr);
  }

  .arrival-section-head h2{
    font-size:2.4rem;
  }

  .arrival-route-grid,
  .arrival-simple-grid{
    grid-template-columns:1fr;
  }

  .arrival-route-card{
    padding:19px;
  }

  .arrival-route-number{
    margin-bottom:16px;
  }

  .arrival-final{
    padding:32px 28px;
  }
}


/* ===== V56: foto nell’ultimo tratto ===== */
.arrival-last-leg.has-photo{
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(360px,1.22fr);
  gap:24px;
  align-items:stretch;
  padding:0;
  background:transparent;
  border:1px solid rgba(41,66,55,.16);
}

.arrival-last-leg-copy{
  display:flex;
  gap:15px;
  align-items:flex-start;
  padding:24px;
  background:#e7ece7;
}

.arrival-last-leg-photo{
  margin:0;
  min-height:280px;
  display:flex;
  flex-direction:column;
  background:#dfe4de;
}

.arrival-last-leg-photo img{
  display:block;
  width:100%;
  height:100%;
  min-height:240px;
  object-fit:cover;
  flex:1 1 auto;
}

.arrival-last-leg-photo figcaption{
  padding:10px 14px;
  color:var(--muted);
  font-size:.8rem;
  line-height:1.4;
  background:rgba(255,255,255,.8);
}

@media(max-width:780px){
  .arrival-last-leg.has-photo{
    grid-template-columns:1fr;
    gap:0;
  }
  .arrival-last-leg-photo{
    min-height:0;
  }
  .arrival-last-leg-photo img{
    min-height:220px;
  }
}


/* =========================================================
   V57 — COME ARRIVARE, LAYOUT EDITORIALE
   ========================================================= */

.arrival-page-v57{background:#f5f1e9}

.arrival-hero-v57{
  position:relative;
  min-height:620px;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 18%,rgba(150,107,72,.22),transparent 30%),
    linear-gradient(125deg,#dfe8df 0%,#e8ece4 48%,#d7d0be 100%);
  background-size:cover;
  background-position:center;
}
.arrival-hero-v57.has-photo{background-image:var(--arrival-hero)}
.arrival-hero-v57-overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(247,244,238,.94) 0%,rgba(247,244,238,.77) 44%,rgba(247,244,238,.18) 72%,rgba(36,49,40,.14) 100%);
}
.arrival-hero-v57-inner{
  position:relative;z-index:2;
  width:min(var(--max),calc(100% - 48px));
  margin:0 auto;
  min-height:620px;
  padding:82px 0 58px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.arrival-hero-v57-copy{max-width:660px}
.arrival-hero-v57-copy .section-kicker{color:var(--deep)}
.arrival-hero-v57 h1{
  margin:14px 0 22px;
  max-width:760px;
  font-family:"Playfair Display",serif;
  font-size:clamp(4rem,7vw,7.4rem);
  line-height:.91;
  letter-spacing:-.035em;
  font-weight:500;
  color:var(--deep);
}
.arrival-hero-v57-copy>p{
  max-width:610px;margin:0;
  color:#5e665f;
  font-size:1.08rem;line-height:1.62;
}
.arrival-location-v57{
  width:min(470px,100%);
  margin-top:34px;
  display:flex;gap:16px;align-items:flex-start;
  padding:21px 24px;
  background:rgba(255,255,255,.91);
  border:1px solid rgba(41,66,55,.14);
  box-shadow:0 14px 42px rgba(37,49,40,.08);
  backdrop-filter:blur(7px);
}
.arrival-location-v57>div>span{
  display:block;color:#747a74;font-size:.7rem;text-transform:uppercase;letter-spacing:.13em
}
.arrival-location-v57 strong{display:block;margin-top:4px;color:var(--deep);font-size:1.05rem;line-height:1.35}
.arrival-location-v57 a{display:inline-block;margin-top:10px;color:var(--accent);font-weight:600;text-decoration:none;font-size:.88rem}

.arrival-auto-v57{background:#f6f2eb}
.arrival-auto-v57-inner,
.arrival-practical-v57-inner,
.arrival-train-v57-inner,
.arrival-air-v57-inner{
  width:min(var(--max),calc(100% - 48px));margin:0 auto;padding:74px 0;
}
.arrival-editorial-head{max-width:840px;margin-bottom:34px}
.arrival-editorial-head h2{
  margin:8px 0 10px;
  font-family:"Playfair Display",serif;
  font-size:clamp(2.7rem,5vw,5rem);
  line-height:.98;
  font-weight:500;
  letter-spacing:-.025em;
  color:var(--deep);
}
.arrival-editorial-head p{margin:0;color:var(--muted);font-size:1.02rem;line-height:1.6}
.arrival-editorial-head.compact h2{font-size:clamp(2.35rem,4.5vw,4.3rem)}
.arrival-editorial-head-with-icon{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px}
.arrival-editorial-head-with-icon>.arrival-icon{margin-top:5px}

.arrival-route-list-v57{display:grid;gap:15px}
.arrival-route-card-v57{
  position:relative;overflow:hidden;
  display:grid;
  grid-template-columns:58px minmax(0,1fr) minmax(210px,30%);
  gap:18px;
  align-items:stretch;
  min-height:200px;
  padding:22px 22px 22px 18px;
  background:#fffdfa;
  border:1px solid rgba(41,66,55,.13);
  box-shadow:0 8px 26px rgba(43,57,47,.035);
}
.arrival-route-card-v57::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent);opacity:.8
}
.arrival-route-card-v57-number{
  padding-top:7px;
  color:var(--accent);
  font-weight:700;font-size:.78rem;
}
.arrival-route-card-v57-main{align-self:center;padding:6px 0}
.arrival-route-card-v57-main h3{
  margin:0;
  font-family:"Playfair Display",serif;
  font-size:2.25rem;
  font-weight:500;line-height:1;
  color:var(--deep);
}
.arrival-route-card-v57 .arrival-route-meta{margin:10px 0 11px}
.arrival-route-card-v57-main p{
  margin:0;
  max-width:650px;
  color:var(--muted);
  line-height:1.5;
}
.arrival-route-card-v57-main a{
  display:inline-block;margin-top:12px;
  color:var(--accent);font-weight:600;text-decoration:none;font-size:.88rem
}
.arrival-route-card-v57-art{
  position:relative;
  min-height:155px;
  display:flex;align-items:flex-end;justify-content:center;
  overflow:hidden;
  color:var(--accent);
}
.arrival-route-card-v57-art svg{
  width:100%;height:100%;
  max-height:145px;
  fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;
  opacity:.45;
}
.arrival-route-card-v57-art>span{
  position:absolute;right:10px;bottom:0;
  font-family:"Playfair Display",serif;
  font-style:italic;font-size:1rem;color:rgba(150,107,72,.72)
}
.arrival-route-card-v57-art.has-photo{border-radius:1px}
.arrival-route-card-v57-art.has-photo img{width:100%;height:100%;min-height:155px;object-fit:cover;filter:saturate(.85) contrast(.95)}
.arrival-route-card-v57-art.has-photo::after{
  content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,253,250,.55),transparent 38%)
}

.arrival-practical-v57{background:#e8eee8;border-top:1px solid rgba(41,66,55,.08);border-bottom:1px solid rgba(41,66,55,.08)}
.arrival-practical-grid-v57{display:grid;grid-template-columns:1.15fr .9fr .95fr;gap:14px}
.arrival-practical-card-v57{
  display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;
  padding:22px;
  min-height:210px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(41,66,55,.13)
}
.arrival-practical-card-v57 h3{
  margin:0 0 8px;
  font-family:"Playfair Display",serif;
  font-size:1.65rem;font-weight:500;color:var(--deep)
}
.arrival-practical-card-v57 p{margin:0;color:var(--muted);line-height:1.48;font-size:.92rem}
.arrival-practical-card-v57 figure{margin:15px 0 0}
.arrival-practical-card-v57 figure img{display:block;width:100%;height:118px;object-fit:cover}
.arrival-practical-card-v57 figcaption{padding-top:7px;color:#737970;font-size:.74rem;line-height:1.35}
.arrival-practical-card-v57 ul{margin:5px 0 0;padding-left:18px;color:var(--muted);font-size:.9rem;line-height:1.45}
.arrival-practical-card-v57 li+li{margin-top:5px}
.arrival-taxi-link{display:inline-block;margin-top:14px;color:var(--accent);text-decoration:none;font-weight:600;font-size:.86rem}

.arrival-train-v57{background:#f6f2eb}
.arrival-train-line-v57{
  display:inline-flex;align-items:center;
  margin:-8px 0 24px;padding:8px 12px;
  border:1px solid rgba(150,107,72,.25);
  color:var(--accent);
  font-size:.78rem;font-weight:600;letter-spacing:.02em;
  background:#fffdfa;
}
.arrival-station-grid-v57{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.arrival-station-card-v57{
  padding:24px;
  min-height:250px;
  background:#fffdfa;
  border:1px solid rgba(41,66,55,.13);
  position:relative;overflow:hidden
}
.arrival-station-card-v57::after{
  content:"";
  position:absolute;right:-35px;bottom:-45px;width:120px;height:120px;
  border:1px solid rgba(150,107,72,.15);border-radius:50%;
  box-shadow:0 0 0 18px rgba(150,107,72,.045),0 0 0 36px rgba(150,107,72,.025);
}
.arrival-station-card-v57 h3{
  margin:0 0 8px;
  font-family:"Playfair Display",serif;
  font-size:1.8rem;font-weight:500;color:var(--deep);line-height:1.05
}
.arrival-station-service{
  display:inline-block;margin-bottom:14px;padding:5px 8px;
  background:#e8eee8;color:#536158;
  font-size:.72rem;font-weight:600
}
.arrival-station-meta{display:flex;gap:8px 12px;flex-wrap:wrap;margin:0 0 12px;font-size:.85rem}
.arrival-station-meta strong{color:var(--deep)}
.arrival-station-meta span{color:var(--muted)}
.arrival-station-card-v57 p{position:relative;z-index:1;margin:0;color:var(--muted);line-height:1.48;font-size:.92rem}
.arrival-station-card-v57 a{position:relative;z-index:1;display:inline-block;margin-top:13px;color:var(--accent);text-decoration:none;font-weight:600;font-size:.84rem}
.arrival-rail-links-v57{
  display:flex;flex-wrap:wrap;gap:9px;
  margin-top:15px
}
.arrival-rail-links-v57 a{
  padding:10px 13px;
  border:1px solid rgba(41,66,55,.14);
  background:#fffdfa;
  color:var(--accent);
  text-decoration:none;font-size:.82rem;font-weight:600
}

.arrival-air-v57{background:#e8eee8}
.arrival-air-grid-v57{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.arrival-air-grid-v57 article{
  padding:24px;background:rgba(255,255,255,.8);border:1px solid rgba(41,66,55,.13)
}
.arrival-air-grid-v57 h3{margin:0;font-family:"Playfair Display",serif;font-size:1.8rem;font-weight:500;color:var(--deep)}
.arrival-air-grid-v57 p{margin:9px 0 0;color:var(--muted)}
.arrival-air-grid-v57 a{display:inline-block;margin-top:12px;color:var(--accent);font-weight:600;text-decoration:none;font-size:.85rem}

.arrival-final-v57{
  padding:54px max(24px,calc((100vw - var(--max))/2));
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 28px;align-items:center;
  background:#d9e3da;
}
.arrival-final-v57 .section-kicker{grid-column:1/-1}
.arrival-final-v57 h2{
  margin:0;font-family:"Playfair Display",serif;font-size:clamp(2.6rem,4vw,4.4rem);font-weight:500;color:var(--deep)
}
.arrival-final-v57 p{margin:5px 0 0;color:var(--muted);max-width:700px}

@media(max-width:980px){
  .arrival-route-card-v57{grid-template-columns:48px minmax(0,1fr) 185px}
  .arrival-practical-grid-v57{grid-template-columns:1fr 1fr}
  .arrival-practical-card-v57:first-child{grid-column:1/-1}
  .arrival-station-grid-v57{grid-template-columns:1fr 1fr}
}

@media(max-width:780px){
  .arrival-hero-v57{min-height:0}
  .arrival-hero-v57-overlay{
    background:linear-gradient(180deg,rgba(247,244,238,.84) 0%,rgba(247,244,238,.92) 62%,rgba(247,244,238,.98) 100%)
  }
  .arrival-hero-v57-inner{
    min-height:0;
    width:calc(100% - 48px);
    padding:64px 0 48px
  }
  .arrival-hero-v57 h1{font-size:clamp(4rem,17vw,6.1rem);line-height:.9}
  .arrival-hero-v57-copy>p{font-size:1rem}
  .arrival-location-v57{margin-top:28px;padding:18px}

  .arrival-auto-v57-inner,
  .arrival-practical-v57-inner,
  .arrival-train-v57-inner,
  .arrival-air-v57-inner{
    width:calc(100% - 48px);
    padding:50px 0
  }
  .arrival-editorial-head h2{font-size:clamp(2.7rem,12vw,4.5rem)}
  .arrival-editorial-head-with-icon{grid-template-columns:34px minmax(0,1fr);gap:12px}

  .arrival-route-card-v57{
    grid-template-columns:34px minmax(0,1fr);
    min-height:0;padding:20px 18px 20px 14px
  }
  .arrival-route-card-v57-art{
    position:absolute;right:8px;top:8px;
    width:125px;height:88px;min-height:0;
    opacity:.44;
    pointer-events:none
  }
  .arrival-route-card-v57-art.has-photo{
    position:relative;right:auto;top:auto;
    grid-column:1/-1;
    width:auto;height:150px;opacity:1;
    margin:7px 0 0 34px
  }
  .arrival-route-card-v57-art.has-photo img{min-height:150px}
  .arrival-route-card-v57-main{position:relative;z-index:2;padding-right:2px}
  .arrival-route-card-v57-main h3{font-size:2.2rem;max-width:70%}
  .arrival-route-card-v57-main p{font-size:.92rem}

  .arrival-practical-grid-v57,
  .arrival-station-grid-v57,
  .arrival-air-grid-v57{grid-template-columns:1fr}
  .arrival-practical-card-v57:first-child{grid-column:auto}
  .arrival-practical-card-v57{min-height:0}
  .arrival-station-card-v57{min-height:0}

  .arrival-final-v57{
    grid-template-columns:1fr;
    padding:40px 24px
  }
  .arrival-final-v57 .section-kicker{grid-column:auto}
  .arrival-final-v57 .button{margin-top:8px}
}


/* =========================================================
   V58 — AEROPORTI: COLLEGAMENTI E LINK UTILI
   ========================================================= */

.arrival-air-grid-v58{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.arrival-air-card-v58{
  position:relative;
  overflow:hidden;
  padding:26px;
  min-height:320px;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(41,66,55,.13);
}

.arrival-air-card-v58::after{
  content:"";
  position:absolute;
  right:-45px;
  top:-45px;
  width:150px;
  height:150px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(150,107,72,.12),rgba(150,107,72,.025) 58%,transparent 60%);
  pointer-events:none;
}

.arrival-air-card-v58-top{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:12px;
  align-items:start;
  margin-bottom:22px;
}

.arrival-air-tag-v58{
  display:inline-block;
  margin-bottom:7px;
  padding:5px 8px;
  background:#f0e6dc;
  color:var(--accent);
  font-size:.7rem;
  line-height:1;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.arrival-air-card-v58 h3{
  margin:0;
  font-family:"Playfair Display",serif;
  font-size:2rem;
  font-weight:500;
  line-height:1.05;
  color:var(--deep);
}

.arrival-air-card-v58 h4{
  margin:0 0 9px;
  color:var(--deep);
  font-size:1rem;
  font-weight:600;
}

.arrival-air-card-v58 p{
  margin:0;
  max-width:560px;
  color:var(--muted);
  line-height:1.52;
  font-size:.94rem;
}

.arrival-air-detail-v58{
  display:inline-block;
  margin-top:15px;
  padding:8px 10px;
  background:#e8eee8;
  color:#536158;
  font-size:.8rem;
  font-weight:600;
}

.arrival-air-links-v58{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
}

.arrival-air-links-v58 a{
  display:inline-block;
  padding:9px 11px;
  border:1px solid rgba(41,66,55,.13);
  background:#fffdfa;
  color:var(--accent);
  text-decoration:none;
  font-size:.8rem;
  font-weight:600;
}

@media(max-width:780px){
  .arrival-air-grid-v58{grid-template-columns:1fr}
  .arrival-air-card-v58{min-height:0;padding:22px}
}


/* =========================================================
   V59 — HERO FOTOGRAFICA + CARTOLINE VINTAGE
   ========================================================= */

.arrival-hero-v57.has-photo{
  background-image:var(--arrival-hero);
  background-position:var(--arrival-position,center center);
}
.arrival-hero-v57-overlay{
  background:
    linear-gradient(
      90deg,
      rgba(247,244,238,calc(.52 + var(--arrival-overlay,.58) * .65)) 0%,
      rgba(247,244,238,calc(.35 + var(--arrival-overlay,.58) * .55)) 42%,
      rgba(247,244,238,calc(.10 + var(--arrival-overlay,.58) * .28)) 72%,
      rgba(36,49,40,calc(.04 + var(--arrival-overlay,.58) * .15)) 100%
    );
}

.arrival-route-card-v57-art img{
  object-position:var(--route-image-position,center center);
}

/* Effetto cartolina anni '50: carta calda, stampa morbida, bordo leggero */
.arrival-route-card-v57.is-postcard .arrival-route-card-v57-art.has-photo{
  margin:7px 2px;
  border:8px solid #f7efe2;
  box-shadow:0 5px 13px rgba(54,46,38,.09);
  transform:rotate(-.45deg);
  background:#f7efe2;
}
.arrival-route-card-v57.is-postcard:nth-child(even) .arrival-route-card-v57-art.has-photo{
  transform:rotate(.35deg);
}

.arrival-route-card-v57.is-postcard .arrival-route-card-v57-art.has-photo img{
  min-height:145px;
  filter:saturate(.82) contrast(.94) sepia(.10) brightness(1.03);
}
.arrival-route-card-v57.is-postcard.tint-soft .arrival-route-card-v57-art.has-photo img{
  filter:saturate(.72) contrast(.90) sepia(.05) brightness(1.06);
}
.arrival-route-card-v57.is-postcard.tint-natural .arrival-route-card-v57-art.has-photo img{
  filter:saturate(.94) contrast(.96) brightness(1.02);
}
.arrival-route-card-v57.is-postcard .arrival-route-card-v57-art.has-photo::before{
  content:"";
  position:absolute;
  inset:8px;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(255,244,224,.08),rgba(155,105,68,.06)),
    repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 3px);
  mix-blend-mode:multiply;
}
.arrival-route-card-v57.is-postcard .arrival-route-card-v57-art.has-photo>span{
  z-index:2;
  right:18px;
  bottom:13px;
  font-size:1.05rem;
  color:#8f6241;
  text-shadow:0 1px 0 rgba(255,255,255,.65);
}

/* Fallback sobrio: niente più pseudo-illustrazioni lineari */
.arrival-route-card-v57-art.no-photo{
  min-height:150px;
  display:grid;
  place-items:center;
  border-left:1px solid rgba(150,107,72,.10);
  background:
    radial-gradient(circle at 60% 40%,rgba(150,107,72,.08),transparent 35%),
    linear-gradient(135deg,#f5ede0,#fbf7f0);
}
.arrival-postcard-fallback{
  width:88%;
  height:72%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(150,107,72,.18);
  background:#fbf6ed;
  box-shadow:0 5px 14px rgba(75,56,39,.05);
  transform:rotate(-.4deg);
  color:var(--accent);
}
.arrival-city-mark-word{
  font-family:"Playfair Display",serif;
  font-size:clamp(1.55rem,2.8vw,2.4rem);
  letter-spacing:.05em;
}
.arrival-postcard-fallback em{
  margin-top:5px;
  font-family:"Playfair Display",serif;
  font-size:.84rem;
  opacity:.65;
}

@media(max-width:780px){
  .arrival-hero-v57.has-photo{
    background-image:var(--arrival-hero-mobile,var(--arrival-hero));
    background-position:var(--arrival-mobile-position,center center);
  }
  .arrival-route-card-v57.is-postcard .arrival-route-card-v57-art.has-photo{
    margin:9px 0 0 34px;
    border-width:7px;
  }
}


/* =========================================================
   V60 — FIX CARTOLINE: NIENTE SEGNAPOSTO TIPOGRAFICO
   ========================================================= */

.arrival-route-card-v57.no-city-media{
  grid-template-columns:58px minmax(0,1fr);
}

.arrival-route-card-v57.no-city-media .arrival-route-card-v57-main{
  max-width:820px;
}

.arrival-route-card-v57.no-city-media .arrival-route-card-v57-main h3{
  max-width:none;
}

@media(max-width:780px){
  .arrival-route-card-v57.no-city-media{
    grid-template-columns:34px minmax(0,1fr);
  }
}


/* V62 — fix sicuro: mantieni la struttura della cartolina ma nascondi il doppio nome senza toccare il markup */
.arrival-route-card-v57-art.has-photo img{display:block;}
.arrival-route-card-v57.is-postcard .arrival-route-card-v57-art.has-photo>span{
  opacity:0 !important;
  font-size:0 !important;
  line-height:0 !important;
  text-shadow:none !important;
  pointer-events:none !important;
}
@media(max-width:780px){
  .arrival-route-card-v57.is-postcard .arrival-route-card-v57-art.has-photo{display:block;}
  .arrival-route-card-v57.is-postcard .arrival-route-card-v57-art.has-photo img{display:block;width:100%;height:100%;}
}


/* =========================================================
   V63 — MARE E COSTIERA CILENTANA
   Accenti costieri, solo sulla guida dedicata.
   ========================================================= */

.guide-mare-costiera-cilentana{
  --sea-ink:#31565a;
  --sea-soft:#e6efed;
  --sea-sand:#eee4d3;
  --sea-line:rgba(49,86,90,.17);
}

.guide-mare-costiera-cilentana .guide-travel{
  background:linear-gradient(90deg,#e9f0ed 0%,#f4f1e8 100%);
  border-color:var(--sea-line);
}

.guide-mare-costiera-cilentana .guide-travel-icon,
.guide-mare-costiera-cilentana .must-number,
.guide-mare-costiera-cilentana .practical-icon{
  color:var(--sea-ink);
}

.guide-mare-costiera-cilentana .guide-story-media{
  background:linear-gradient(135deg,#dfe9e7,#ece5d7);
}

.guide-mare-costiera-cilentana .guide-must-see{
  background:linear-gradient(120deg,#dfe9e6 0%,#edf0e7 58%,#eee5d7 100%);
}

.guide-mare-costiera-cilentana .must-see-grid article{
  border-color:var(--sea-line);
}

.guide-mare-costiera-cilentana .guide-tip{
  background:#f7f2e8;
  border-color:rgba(49,86,90,.16);
}

.guide-mare-costiera-cilentana .guide-tip-mark{
  color:var(--sea-ink);
}

.guide-mare-costiera-cilentana .practical-card{
  background:#fbfaf6;
  border-color:var(--sea-line);
}

.guide-mare-costiera-cilentana .guide-gallery{
  position:relative;
}

.guide-mare-costiera-cilentana .guide-gallery::before{
  content:"";
  position:absolute;
  left:0;
  top:72px;
  width:84px;
  height:1px;
  background:var(--sea-ink);
  opacity:.45;
}

@media(max-width:780px){
  .guide-mare-costiera-cilentana .guide-gallery::before{
    top:58px;
    width:50px;
  }
}


/* =========================================================
   V64 — PARCO NAZIONALE
   Verde bosco, pietra calcarea e atmosfera dell'entroterra.
   ========================================================= */

.guide-parco-cilento-vallo-diano{
  --park-forest:#314b3d;
  --park-moss:#69765d;
  --park-stone:#d9d2c4;
  --park-soft:#e7ebe2;
  --park-line:rgba(49,75,61,.17);
}

.guide-parco-cilento-vallo-diano .guide-facts,
.guide-parco-cilento-vallo-diano .guide-travel{
  background:linear-gradient(100deg,#e5ebe2 0%,#eee9df 100%);
  border-color:var(--park-line);
}

.guide-parco-cilento-vallo-diano .guide-story-media{
  background:
    radial-gradient(circle at 70% 20%,rgba(255,255,255,.24),transparent 30%),
    linear-gradient(135deg,#dfe6dc,#d8d0c1);
}

.guide-parco-cilento-vallo-diano .guide-must-see{
  background:linear-gradient(125deg,#dbe4d9 0%,#e8e8dd 58%,#ddd4c5 100%);
}

.guide-parco-cilento-vallo-diano .must-number,
.guide-parco-cilento-vallo-diano .guide-travel-icon,
.guide-parco-cilento-vallo-diano .practical-icon{
  color:var(--park-forest);
}

.guide-parco-cilento-vallo-diano .must-see-grid article{
  border-color:var(--park-line);
}

.guide-parco-cilento-vallo-diano .guide-tip{
  background:#f3efe6;
  border-color:rgba(49,75,61,.17);
}

.guide-parco-cilento-vallo-diano .guide-tip-mark{
  color:var(--park-forest);
}

.guide-parco-cilento-vallo-diano .practical-card{
  background:#faf8f2;
  border-color:var(--park-line);
}

.guide-parco-cilento-vallo-diano .guide-gallery{
  background:
    linear-gradient(to bottom,transparent 0 72%,rgba(49,75,61,.035) 72% 100%);
}

.guide-parco-cilento-vallo-diano .guide-gallery-grid img{
  filter:saturate(.92) contrast(.98);
}


/* =========================================================
   V65 — SALERNO / COSTIERA / POMPEI / ERCOLANO / NAPOLI
   Mediterraneo urbano: pietra chiara, blu polveroso, rame.
   ========================================================= */

.guide-giornata-verso-nord{
  --north-blue:#48656a;
  --north-deep:#2f4648;
  --north-sand:#e8dfd1;
  --north-stone:#ece9e2;
  --north-line:rgba(72,101,106,.17);
}

.guide-giornata-verso-nord .guide-hero h1{
  max-width:1080px;
  font-size:clamp(3.2rem,6.2vw,6.6rem);
  line-height:.94;
}

.guide-giornata-verso-nord .guide-facts,
.guide-giornata-verso-nord .guide-travel{
  background:linear-gradient(100deg,#e6eceb 0%,#f1ece3 100%);
  border-color:var(--north-line);
}

.guide-giornata-verso-nord .guide-story-media{
  background:linear-gradient(135deg,#dfe8e7,#e7ded0);
}

.guide-giornata-verso-nord .guide-must-see{
  background:
    radial-gradient(circle at 84% 14%,rgba(255,255,255,.22),transparent 25%),
    linear-gradient(120deg,#dde7e5 0%,#ebe8df 58%,#e6d9c8 100%);
}

.guide-giornata-verso-nord .must-number,
.guide-giornata-verso-nord .guide-travel-icon,
.guide-giornata-verso-nord .practical-icon{
  color:var(--north-blue);
}

.guide-giornata-verso-nord .must-see-grid article,
.guide-giornata-verso-nord .practical-card{
  border-color:var(--north-line);
}

.guide-giornata-verso-nord .guide-tip{
  background:#f5f0e7;
  border-color:rgba(72,101,106,.16);
}

.guide-giornata-verso-nord .guide-tip-mark{
  color:var(--north-blue);
}

.guide-giornata-verso-nord .practical-card{
  background:#fbfaf6;
}

.guide-giornata-verso-nord .guide-gallery{
  background:
    linear-gradient(to bottom,transparent 0 68%,rgba(72,101,106,.035) 68% 100%);
}

@media(max-width:780px){
  .guide-giornata-verso-nord .guide-hero h1{
    font-size:clamp(2.75rem,13vw,4.8rem);
    line-height:.96;
  }
}


/* =========================================================
   V68 — RIGHE UNIFORMI SENZA TAGLIARE I TESTI
   ========================================================= */

@media(min-width:781px){
  .guide-giornata-verso-nord .guide-story-list{
    grid-auto-rows:1fr;
  }

  .guide-giornata-verso-nord .guide-story{
    height:auto;
    min-height:390px;
    max-height:none;
  }

  .guide-giornata-verso-nord .guide-story-media{
    height:auto;
    min-height:0;
  }

  .guide-giornata-verso-nord .guide-story-media img,
  .guide-giornata-verso-nord .guide-media-placeholder{
    width:100%;
    height:100%;
    min-height:390px;
    object-fit:cover;
  }

  .guide-giornata-verso-nord .guide-story-copy{
    overflow:visible;
  }
}


/* =========================================================
   V69 — COME ARRIVARE: HERO EDITORIALE SPLIT
   Testo su crema a sinistra, foto piena a destra.
   ========================================================= */

.arrival-hero-v69{
  position:relative;
  min-height:660px;
  overflow:hidden;
  background:#f6f2e9;
}

.arrival-hero-v69.has-photo{
  background:#f6f2e9 !important;
  background-image:none !important;
}

.arrival-hero-v69.has-photo .arrival-hero-v57-overlay{
  display:none;
}

.arrival-hero-v69 .arrival-hero-v57-inner{
  position:relative;
  z-index:3;
  min-height:660px;
  width:min(var(--max),calc(100% - 96px));
  margin:0 auto;
  padding:72px 0 64px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}

.arrival-hero-v69 .arrival-hero-v57-copy{
  width:min(620px,42vw);
  max-width:none;
}

.arrival-hero-v69 .arrival-hero-v57-copy .section-kicker{
  letter-spacing:.18em;
}

.arrival-hero-v69 .arrival-hero-v57-copy h1{
  max-width:620px;
  margin:18px 0 24px;
  font-size:clamp(4.65rem,5.55vw,6.75rem);
  line-height:.91;
  letter-spacing:-.042em;
}

.arrival-hero-v69 .arrival-hero-v57-copy>p{
  max-width:590px;
  font-size:1.08rem;
  line-height:1.7;
  color:#646b65;
}

.arrival-hero-v69 .arrival-location-v57{
  width:min(535px,40vw);
  margin-top:34px;
  padding:23px 28px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(41,66,55,.12);
  box-shadow:0 15px 40px rgba(37,49,40,.055);
  backdrop-filter:none;
}

.arrival-hero-v69 .arrival-location-v57 strong{
  font-family:"Playfair Display",serif;
  font-weight:500;
  font-size:1.3rem;
  line-height:1.28;
}

.arrival-hero-v69-media{
  position:absolute;
  z-index:1;
  top:0;
  right:0;
  bottom:0;
  width:54%;
  margin:0;
  overflow:hidden;
  background:#d8d1c5;
}

.arrival-hero-v69-media picture,
.arrival-hero-v69-media img{
  display:block;
  width:100%;
  height:100%;
}

.arrival-hero-v69-media img{
  object-fit:cover;
  object-position:var(--arrival-position,center center);
}

/* Una lieve sfumatura solo sul punto di incontro: la foto resta piena. */
.arrival-hero-v69-media::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0 auto 0 0;
  width:14%;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(246,242,233,calc(.28 + var(--arrival-overlay,.58) * .62)) 0%,
    rgba(246,242,233,calc(.08 + var(--arrival-overlay,.58) * .18)) 48%,
    rgba(246,242,233,0) 100%
  );
}

@media(max-width:1120px) and (min-width:781px){
  .arrival-hero-v69-media{width:51%}
  .arrival-hero-v69 .arrival-hero-v57-inner{
    width:calc(100% - 64px);
  }
  .arrival-hero-v69 .arrival-hero-v57-copy{
    width:45vw;
  }
  .arrival-hero-v69 .arrival-hero-v57-copy h1{
    font-size:clamp(4rem,6.2vw,5.4rem);
  }
  .arrival-hero-v69 .arrival-location-v57{
    width:43vw;
  }
}

@media(max-width:780px){
  .arrival-hero-v69,
  .arrival-hero-v69.has-photo{
    min-height:0;
    display:flex;
    flex-direction:column;
    background:#f6f2e9 !important;
  }

  .arrival-hero-v69 .arrival-hero-v57-inner{
    order:1;
    min-height:0;
    width:calc(100% - 40px);
    padding:52px 0 38px;
  }

  .arrival-hero-v69 .arrival-hero-v57-copy,
  .arrival-hero-v69 .arrival-location-v57{
    width:100%;
    max-width:none;
  }

  .arrival-hero-v69 .arrival-hero-v57-copy h1{
    max-width:none;
    margin:14px 0 20px;
    font-size:clamp(3.65rem,15.5vw,5.25rem);
    line-height:.91;
  }

  .arrival-hero-v69 .arrival-hero-v57-copy>p{
    font-size:1rem;
    line-height:1.62;
  }

  .arrival-hero-v69 .arrival-location-v57{
    margin-top:27px;
    padding:19px 20px;
  }

  .arrival-hero-v69 .arrival-location-v57 strong{
    font-size:1.16rem;
  }

  .arrival-hero-v69-media{
    position:relative;
    order:2;
    inset:auto;
    width:100%;
    height:clamp(285px,74vw,430px);
  }

  .arrival-hero-v69-media::before{
    display:none;
  }

  .arrival-hero-v69-media img{
    object-position:var(--arrival-mobile-position,center center);
  }
}


/* =========================================================
   V73 — TAXI / NCC MULTIPLI
   ========================================================= */

.arrival-taxi-list-v73{
  display:grid;
  gap:0;
  margin-top:15px;
  border-top:1px solid rgba(41,66,55,.12);
}

.arrival-taxi-contact-v73{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:12px 0;
  border-bottom:1px solid rgba(41,66,55,.12);
}

.arrival-taxi-contact-copy-v73 strong{
  display:block;
  color:var(--deep);
  font-size:.92rem;
  line-height:1.3;
}

.arrival-taxi-contact-copy-v73 span{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:.76rem;
  line-height:1.35;
}

.arrival-taxi-contact-v73 .arrival-taxi-link{
  margin:0;
  white-space:nowrap;
  font-size:.78rem;
}

@media(max-width:780px){
  .arrival-taxi-contact-v73{
    grid-template-columns:1fr;
    gap:8px;
  }

  .arrival-taxi-contact-v73 .arrival-taxi-link{
    justify-self:start;
  }
}


/* =========================================================
   V74 — INFORMAZIONI PRATICHE: LAYOUT EDITORIALE
   ========================================================= */

@media(min-width:981px){
  .arrival-practical-grid-v57{
    grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
    grid-template-areas:
      "last notes"
      "taxi taxi";
    gap:16px;
    align-items:stretch;
  }

  .arrival-last-card-v74{grid-area:last}
  .arrival-notes-card-v74{grid-area:notes}
  .arrival-taxi-card-v74{grid-area:taxi}
}

/* Ultimo tratto: più fotografico, meno scheda tecnica */
.arrival-last-card-v74{
  min-height:0;
  background:#fbfaf6;
}

.arrival-last-card-v74 figure{
  margin-top:18px;
}

.arrival-last-card-v74 figure img{
  height:190px;
  border-radius:1px;
  object-fit:cover;
}

.arrival-last-card-v74 figcaption{
  padding-top:9px;
  font-size:.76rem;
}

/* Note: più leggere e leggibili */
.arrival-notes-card-v74{
  min-height:0;
  background:rgba(255,255,255,.72);
}

.arrival-notes-card-v74 ul{
  margin-top:10px;
  padding-left:20px;
  line-height:1.6;
}

/* Taxi/NCC: un unico blocco largo, non una colonna compressa */
.arrival-taxi-card-v74{
  min-height:0;
  background:#f7f3ea;
  border-color:rgba(150,107,72,.17);
}

.arrival-taxi-card-v74>div{
  min-width:0;
}

.arrival-taxi-card-v74>div>p{
  max-width:760px;
}

.arrival-taxi-list-v73{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:18px;
  border-top:0;
}

.arrival-taxi-contact-v74{
  min-height:104px;
  padding:15px 16px;
  border:1px solid rgba(41,66,55,.12);
  background:rgba(255,255,255,.72);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.arrival-taxi-contact-copy-v73 strong{
  font-family:"Playfair Display",serif;
  font-size:1.08rem;
  font-weight:500;
  color:var(--deep);
}

.arrival-taxi-contact-copy-v73 span{
  margin-top:5px;
  font-size:.78rem;
  line-height:1.45;
}

.arrival-taxi-actions-v74{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
}

.arrival-taxi-contact-v73 .arrival-taxi-link{
  margin:0;
}

.arrival-taxi-call-v74{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 11px;
  background:var(--deep);
  color:#fff !important;
  font-size:.76rem !important;
  line-height:1;
  text-decoration:none;
  border-radius:2px;
}

.arrival-taxi-site-v74{
  color:var(--accent);
  font-size:.76rem;
  font-weight:700;
  text-decoration:none;
}

.arrival-taxi-site-v74:hover,
.arrival-taxi-call-v74:hover{
  opacity:.82;
}

@media(max-width:980px){
  .arrival-practical-grid-v57{
    grid-template-columns:1fr 1fr;
  }

  .arrival-last-card-v74{
    grid-column:1/-1;
  }

  .arrival-taxi-card-v74{
    grid-column:1/-1;
  }

  .arrival-taxi-list-v73{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:780px){
  .arrival-practical-grid-v57{
    grid-template-columns:1fr;
  }

  .arrival-last-card-v74,
  .arrival-notes-card-v74,
  .arrival-taxi-card-v74{
    grid-column:auto;
  }

  .arrival-last-card-v74 figure img{
    height:170px;
  }

  .arrival-taxi-list-v73{
    grid-template-columns:1fr;
  }

  .arrival-taxi-contact-v74{
    min-height:0;
  }
}

/* =========================================================
   V76 — COME ARRIVARE DESKTOP COMPATTO (FIX STRUTTURA)
   ========================================================= */
html{scroll-behavior:smooth}
.arrival-page-v57 #in-auto,.arrival-page-v57 #in-treno,.arrival-page-v57 #in-aereo,.arrival-page-v57 #ultimo-tratto{scroll-margin-top:92px}

.arrival-quick-v76{background:#e8eee8;border-top:1px solid rgba(41,66,55,.08);border-bottom:1px solid rgba(41,66,55,.08)}
.arrival-quick-v76-inner{width:min(1480px,calc(100% - 72px));margin:0 auto;padding:34px 0 38px}
.arrival-quick-head-v76{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:22px}
.arrival-quick-head-v76 h2{margin:6px 0 0;font-family:"Playfair Display",serif;font-size:clamp(2.5rem,3.3vw,4rem);line-height:.95;font-weight:500;color:var(--deep)}
.arrival-quick-head-v76>p{width:min(480px,42%);margin:0;color:var(--muted);line-height:1.55}
.arrival-quick-grid-v76{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.arrival-quick-card-v76{min-width:0;min-height:174px;display:grid;grid-template-columns:42px minmax(0,1fr) 20px;gap:12px;align-items:start;padding:22px 18px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,255,255,.68));border:1px solid rgba(41,66,55,.12);color:inherit;text-decoration:none;transition:.18s ease}
.arrival-quick-card-v76:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(37,49,40,.06);border-color:rgba(41,66,55,.25)}
.arrival-quick-icon-v76{width:40px;height:40px;display:grid;place-items:center;color:#866044}
.arrival-quick-icon-v76 svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8}
.arrival-quick-copy-v76{min-width:0;display:flex;flex-direction:column}
.arrival-quick-copy-v76 strong{font-family:"Playfair Display",serif;font-size:1.42rem;line-height:1.05;font-weight:500;color:var(--deep)}
.arrival-quick-copy-v76>span{margin-top:8px;font-family:"Playfair Display",serif;font-size:.9rem;line-height:1.35;color:#465049;overflow-wrap:anywhere}
.arrival-quick-copy-v76 small{margin-top:9px;color:var(--muted);font-size:.77rem;line-height:1.4}
.arrival-quick-arrow-v76{align-self:end;justify-self:end;color:var(--accent);font-size:1.3rem}

.arrival-auto-v76 .arrival-auto-v57-inner{width:min(1480px,calc(100% - 72px));padding:58px 0 64px}
.arrival-auto-head-v76{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
.arrival-auto-head-v76>div:first-child{max-width:760px}
.arrival-hand-v76{margin:0 30px 8px 0;font-family:"Caveat",cursive;font-size:clamp(2.2rem,3vw,3.2rem);font-weight:500;line-height:1;color:#4f4c47;transform:rotate(-3deg);white-space:nowrap}
.arrival-hand-v76::after{content:"";display:block;width:82%;height:2px;margin:8px 0 0 15%;background:var(--accent);transform:rotate(-3deg);opacity:.8}

@media(min-width:1181px){
  .arrival-auto-v76 .arrival-route-list-v57{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
  .arrival-auto-v76 .arrival-route-card-v57{display:grid;grid-template-columns:minmax(0,1fr) 112px;grid-template-rows:auto 1fr;gap:10px 10px;min-height:385px;padding:18px;align-content:start}
  .arrival-auto-v76 .arrival-route-card-v57-number{grid-column:1;grid-row:1;padding-top:2px}
  .arrival-auto-v76 .arrival-route-card-v57-main{grid-column:1/-1;grid-row:2;align-self:start;padding:0}
  .arrival-auto-v76 .arrival-route-card-v57-main h3{font-size:1.65rem;max-width:none}
  .arrival-auto-v76 .arrival-route-card-v57-main p{font-size:.82rem;line-height:1.46}
  .arrival-auto-v76 .arrival-route-card-v57-main a{font-size:.78rem}
  .arrival-auto-v76 .arrival-route-card-v57-art.has-photo{position:relative;right:auto;top:auto;grid-column:2;grid-row:1;width:112px;height:84px;min-height:0;margin:0;opacity:1;align-self:start}
  .arrival-auto-v76 .arrival-route-card-v57-art.has-photo img{width:100%;height:100%;min-height:0;object-fit:cover}
  .arrival-auto-v76 .arrival-route-card-v57.is-postcard .arrival-route-card-v57-art.has-photo,.arrival-auto-v76 .arrival-route-card-v57.is-postcard:nth-child(even) .arrival-route-card-v57-art.has-photo{margin:0;border:4px solid #f7efe2;transform:none;box-shadow:0 4px 10px rgba(54,46,38,.08)}
}

.arrival-transport-pair-v76{width:min(1480px,calc(100% - 72px));margin:0 auto;padding:0 0 64px;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.arrival-transport-pair-v76 .arrival-train-v57,.arrival-transport-pair-v76 .arrival-air-v57{min-width:0;background:#f8f5ef;border:1px solid rgba(41,66,55,.11)}
.arrival-transport-pair-v76 .arrival-train-v57-inner,.arrival-transport-pair-v76 .arrival-air-v57-inner{width:auto;margin:0;padding:34px}
.arrival-transport-pair-v76 .arrival-editorial-head{margin-bottom:22px}
.arrival-transport-pair-v76 .arrival-editorial-head h2{font-size:clamp(2.35rem,3.1vw,3.55rem)}
.arrival-transport-pair-v76 .arrival-station-grid-v57,.arrival-transport-pair-v76 .arrival-air-grid-v58{grid-template-columns:1fr;gap:10px}
.arrival-transport-pair-v76 .arrival-station-card-v57,.arrival-transport-pair-v76 .arrival-air-card-v58{min-height:0}
.arrival-transport-pair-v76 .arrival-air-card-v58{padding:20px}

.arrival-practical-v76 .arrival-practical-v57-inner{width:min(1480px,calc(100% - 72px))}

@media(max-width:1180px) and (min-width:781px){
  .arrival-quick-grid-v76{grid-template-columns:repeat(2,minmax(0,1fr))}
  .arrival-auto-v76 .arrival-route-list-v57{grid-template-columns:repeat(2,minmax(0,1fr))}
  .arrival-transport-pair-v76{grid-template-columns:1fr;width:calc(100% - 64px)}
}

@media(max-width:780px){
  .arrival-quick-v76-inner{width:calc(100% - 36px);padding:32px 0 36px}
  .arrival-quick-head-v76{display:block}
  .arrival-quick-head-v76>p{width:auto;margin-top:12px}
  .arrival-quick-grid-v76{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;margin-right:-18px;scrollbar-width:none}
  .arrival-quick-grid-v76::-webkit-scrollbar{display:none}
  .arrival-quick-card-v76{flex:0 0 82%;min-height:160px;scroll-snap-align:start}
  .arrival-auto-v76 .arrival-auto-v57-inner,.arrival-practical-v76 .arrival-practical-v57-inner{width:calc(100% - 36px)}
  .arrival-auto-head-v76{display:block}
  .arrival-hand-v76{display:none}
  .arrival-transport-pair-v76{display:block;width:auto;padding:0}
  .arrival-transport-pair-v76 .arrival-train-v57,.arrival-transport-pair-v76 .arrival-air-v57{border-left:0;border-right:0}
  .arrival-transport-pair-v76 .arrival-train-v57-inner,.arrival-transport-pair-v76 .arrival-air-v57-inner{width:calc(100% - 36px);margin:0 auto;padding:50px 0}
}

/* =========================================================
   V77 — Arrivare in auto: firma a destra e cartoline più grandi
   ========================================================= */
@media(min-width:1181px){
  .arrival-auto-head-v76{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
    gap:24px;
    margin-bottom:16px;
  }

  .arrival-auto-head-v76>div:first-child{
    max-width:680px;
  }

  .arrival-hand-v76{
    justify-self:end;
    align-self:center;
    margin:0 8px 4px 0;
    text-align:right;
    font-size:clamp(2.35rem,3vw,3.45rem);
  }

  .arrival-hand-v76::after{
    width:86%;
    margin:8px 0 0 auto;
  }

  .arrival-auto-v76 .arrival-route-list-v57{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
  }

  .arrival-auto-v76 .arrival-route-card-v57{
    grid-template-columns:minmax(0,1fr) 156px;
    gap:14px 14px;
    min-height:372px;
    padding:20px 18px 18px;
  }

  .arrival-auto-v76 .arrival-route-card-v57-main h3{
    font-size:1.7rem;
  }

  .arrival-auto-v76 .arrival-route-card-v57-main p{
    font-size:.84rem;
    line-height:1.48;
  }

  .arrival-auto-v76 .arrival-route-card-v57-art.has-photo{
    width:156px;
    height:118px;
    border-width:5px;
    box-shadow:0 6px 14px rgba(54,46,38,.10);
  }

  .arrival-auto-v76 .arrival-route-card-v57.is-postcard .arrival-route-card-v57-art.has-photo,
  .arrival-auto-v76 .arrival-route-card-v57.is-postcard:nth-child(even) .arrival-route-card-v57-art.has-photo{
    width:156px;
    height:118px;
    border:5px solid #f7efe2;
    box-shadow:0 6px 14px rgba(54,46,38,.10);
  }

  .arrival-auto-v76 .arrival-route-card-v57.is-postcard .arrival-route-card-v57-art.has-photo img{
    filter:saturate(.84) contrast(.95) sepia(.08) brightness(1.03);
  }
}

@media(max-width:1400px) and (min-width:1181px){
  .arrival-auto-head-v76>div:first-child{
    max-width:620px;
  }

  .arrival-auto-v76 .arrival-route-card-v57{
    grid-template-columns:minmax(0,1fr) 144px;
    min-height:382px;
  }

  .arrival-auto-v76 .arrival-route-card-v57-art.has-photo,
  .arrival-auto-v76 .arrival-route-card-v57.is-postcard .arrival-route-card-v57-art.has-photo,
  .arrival-auto-v76 .arrival-route-card-v57.is-postcard:nth-child(even) .arrival-route-card-v57-art.has-photo{
    width:144px;
    height:108px;
  }
}

/* =========================================================
   V78 — Auto: firma davvero a destra + cartoline intere
   ========================================================= */
@media(min-width:1181px){
  /* Il vecchio max-width dell'header impediva alla firma di arrivare a destra */
  .arrival-auto-v76 .arrival-auto-head-v76{
    width:100%;
    max-width:none;
    grid-template-columns:minmax(0,680px) 1fr;
  }

  .arrival-auto-v76 .arrival-hand-v76{
    justify-self:end;
    margin-right:10px;
  }

  /* Rapporto più vicino a quello originale delle cartoline: niente taglio della scritta città */
  .arrival-auto-v76 .arrival-route-card-v57{
    grid-template-columns:minmax(0,1fr) 180px;
  }

  .arrival-auto-v76 .arrival-route-card-v57-art.has-photo,
  .arrival-auto-v76 .arrival-route-card-v57.is-postcard .arrival-route-card-v57-art.has-photo,
  .arrival-auto-v76 .arrival-route-card-v57.is-postcard:nth-child(even) .arrival-route-card-v57-art.has-photo{
    width:180px;
    height:120px;
    overflow:hidden;
  }

  .arrival-auto-v76 .arrival-route-card-v57-art.has-photo img,
  .arrival-auto-v76 .arrival-route-card-v57.is-postcard .arrival-route-card-v57-art.has-photo img{
    width:100%;
    height:100%;
    min-height:0;
    object-fit:contain;
    object-position:center center;
    background:#f7efe2;
  }
}

@media(max-width:1400px) and (min-width:1181px){
  .arrival-auto-v76 .arrival-route-card-v57{
    grid-template-columns:minmax(0,1fr) 164px;
  }

  .arrival-auto-v76 .arrival-route-card-v57-art.has-photo,
  .arrival-auto-v76 .arrival-route-card-v57.is-postcard .arrival-route-card-v57-art.has-photo,
  .arrival-auto-v76 .arrival-route-card-v57.is-postcard:nth-child(even) .arrival-route-card-v57-art.has-photo{
    width:164px;
    height:109px;
  }
}


/* =========================================================
   V79 — COME ARRIVARE
   Informazioni pratiche subito dopo Auto + foto ultimo tratto intera
   ========================================================= */

.arrival-practical-v76{
  scroll-margin-top:92px;
}

/* La foto dell'uscita deve essere informativa: niente crop del cartello CAFASSO. */
.arrival-last-card-v74 figure{
  background:#f4f1e9;
  overflow:hidden;
}

.arrival-last-card-v74 figure img{
  display:block;
  width:100%;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#f4f1e9;
}

/* Dopo le card auto il blocco pratico deve apparire come naturale prosecuzione. */
@media(min-width:981px){
  .arrival-auto-v76 .arrival-auto-v57-inner{
    padding-bottom:42px;
  }

  .arrival-practical-v76 .arrival-practical-v57-inner{
    padding-top:54px;
    padding-bottom:58px;
  }

  .arrival-transport-pair-v76{
    padding-top:58px;
  }
}


/* =========================================================
   V82 — GALLERIA CAMERE: FOTO INTERE + INFO CAMERA
   ========================================================= */

.room-gallery-topbar{
  align-items:flex-start;
  padding:15px 18px 14px;
}

.room-gallery-heading{
  flex:1 1 auto;
  min-width:0;
}

.room-gallery-title-row{
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
}

.room-gallery-title-row h2{
  flex:0 0 auto;
}

.room-gallery-amenities{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  min-width:0;
}

.room-gallery-amenities span{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:4px 8px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;
  background:rgba(255,255,255,.065);
  color:rgba(255,255,255,.82);
  font-size:.66rem;
  font-weight:600;
  line-height:1.15;
  white-space:nowrap;
}

.room-gallery-rest{
  margin:7px 0 0;
  max-width:850px;
  color:#d3ad7d;
  font-family:"Playfair Display",serif;
  font-size:.88rem;
  line-height:1.35;
}

/* La foto principale non deve mai essere ritagliata. */
.room-gallery-stage{
  padding:14px 58px;
}

.room-gallery-modal-main{
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
}

@media(max-width:780px){
  .room-gallery-topbar{
    padding:12px 14px 11px;
  }

  .room-gallery-title-row{
    display:block;
  }

  .room-gallery-amenities{
    margin-top:8px;
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:2px;
    scrollbar-width:none;
  }

  .room-gallery-amenities::-webkit-scrollbar{
    display:none;
  }

  .room-gallery-amenities span{
    flex:0 0 auto;
  }

  .room-gallery-rest{
    font-size:.78rem;
    margin-top:6px;
  }

  .room-gallery-stage{
    padding:8px 42px;
  }
}


/* =========================================================
   V84 — GALLERIA CAMERE: FIX REALE
   - immagine sempre intera
   - dotazioni stile TeamSystem: icona + testo, niente pill
   ========================================================= */

.room-gallery-dialog{
  width:min(1320px,calc(100% - 40px));
  height:min(94vh,960px);
  margin:3vh auto;
  grid-template-rows:auto minmax(0,1fr) auto;
}

/* Testata */
.room-gallery-topbar{
  align-items:flex-start;
  padding:17px 20px 15px;
}

.room-gallery-heading{
  min-width:0;
  flex:1;
}

.room-gallery-title-row{
  display:block;
}

.room-gallery-title-row h2{
  margin:0;
  font-size:1.95rem;
  line-height:1.05;
}

.room-gallery-rest{
  margin:7px 0 11px;
  color:#d3ad7d;
  font-family:"Playfair Display",serif;
  font-size:.9rem;
  line-height:1.35;
}

/* Dotazioni: riga TS, senza capsule */
.room-gallery-amenities,
.room-gallery-amenities span{
  border:0 !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;
}

.room-gallery-amenities{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 18px;
  margin:0;
  padding:0;
  color:rgba(255,255,255,.72);
}

.room-gallery-amenity-item{
  display:inline-flex !important;
  align-items:center;
  gap:5px;
  min-height:20px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:rgba(255,255,255,.72) !important;
  font-size:.76rem !important;
  font-weight:400 !important;
  line-height:1.2 !important;
  white-space:nowrap;
}

.room-gallery-amenity-item::after{
  content:none !important;
}

.room-gallery-amenity-icon{
  display:inline-grid;
  place-items:center;
  flex:0 0 17px;
  width:17px;
  height:17px;
  color:rgba(255,255,255,.68);
  font-style:normal;
}

.room-gallery-amenity-icon svg{
  display:block;
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.room-gallery-amenity-item b{
  margin:0;
  padding:0;
  font:inherit;
  font-weight:400;
}

/* FOTO: niente cover, niente crop.
   Lo stage fa da cornice nera; la foto conserva il suo rapporto originale. */
.room-gallery-stage{
  position:relative;
  min-height:0;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden;
  padding:14px 64px !important;
  background:#0d120f;
}

.room-gallery-modal-main{
  position:static !important;
  inset:auto !important;
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  aspect-ratio:auto !important;
  transform:none !important;
}

.room-gallery-nav{
  z-index:5;
}

/* Le miniature possono restare croppate: servono solo come navigazione. */
.room-gallery-modal-thumb img{
  object-fit:cover;
}

@media(max-width:780px){
  .room-gallery-dialog{
    width:100%;
    height:100dvh;
    margin:0;
  }

  .room-gallery-topbar{
    padding:13px 14px 11px;
  }

  .room-gallery-title-row h2{
    font-size:1.55rem;
  }

  .room-gallery-rest{
    margin:5px 0 8px;
    font-size:.8rem;
  }

  .room-gallery-amenities{
    flex-wrap:nowrap;
    overflow-x:auto;
    gap:14px;
    padding-bottom:2px;
    scrollbar-width:none;
  }

  .room-gallery-amenities::-webkit-scrollbar{
    display:none;
  }

  .room-gallery-amenity-item{
    flex:0 0 auto;
    font-size:.72rem !important;
  }

  .room-gallery-stage{
    padding:8px 44px !important;
  }
}


/* =========================================================
   V86 — GALLERIA CAMERE MOBILE
   Reset robusto: nessun overflow orizzontale, foto centrata
   e sempre contenuta nel viewport.
   ========================================================= */

@media(max-width:780px){

  body.room-gallery-modal-open{
    overflow:hidden !important;
    width:100% !important;
  }

  .room-gallery-modal{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    max-width:100vw !important;
    height:100dvh !important;
    overflow:hidden !important;
  }

  .room-gallery-dialog{
    position:absolute !important;
    inset:0 !important;
    box-sizing:border-box !important;
    width:100vw !important;
    min-width:0 !important;
    max-width:100vw !important;
    height:100dvh !important;
    min-height:0 !important;
    max-height:100dvh !important;
    margin:0 !important;
    overflow:hidden !important;
    display:grid !important;
    grid-template-rows:auto minmax(0,1fr) auto !important;
  }

  .room-gallery-topbar{
    box-sizing:border-box !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow:hidden !important;
    display:flex !important;
    align-items:flex-start !important;
    gap:10px !important;
    padding:12px 54px 10px 14px !important;
    position:relative !important;
  }

  .room-gallery-heading{
    flex:1 1 auto !important;
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  .room-gallery-title-row,
  .room-gallery-title-row h2,
  .room-gallery-rest{
    max-width:100% !important;
  }

  .room-gallery-close{
    position:absolute !important;
    top:10px !important;
    right:10px !important;
    z-index:20 !important;
    flex:0 0 38px !important;
  }

  .room-gallery-amenities{
    box-sizing:border-box !important;
    display:flex !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    white-space:nowrap !important;
  }

  .room-gallery-stage{
    box-sizing:border-box !important;
    position:relative !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:8px 12px !important;
  }

  .room-gallery-modal-main{
    position:static !important;
    display:block !important;
    flex:none !important;
    width:auto !important;
    height:auto !important;
    max-width:calc(100vw - 24px) !important;
    max-height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    margin:auto !important;
    padding:0 !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
  }

  .room-gallery-nav{
    position:absolute !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    z-index:10 !important;
    width:42px !important;
    height:42px !important;
  }

  .room-gallery-prev{
    left:8px !important;
  }

  .room-gallery-next{
    right:8px !important;
  }

  .room-gallery-modal-thumbs{
    box-sizing:border-box !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    padding:8px 10px calc(8px + env(safe-area-inset-bottom)) !important;
    -webkit-overflow-scrolling:touch;
  }
}


/* =========================================================
   V87 — DOTAZIONI GALLERIA MOBILE
   Tutte visibili: niente riga orizzontale tagliata.
   ========================================================= */

@media(max-width:780px){

  .room-gallery-topbar{
    overflow:visible !important;
  }

  .room-gallery-heading{
    overflow:visible !important;
  }

  .room-gallery-amenities{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px 14px !important;
    width:100% !important;
    max-width:100% !important;
    margin-top:2px !important;
    padding:0 !important;
    overflow:visible !important;
    white-space:normal !important;
  }

  .room-gallery-amenity-item{
    min-width:0 !important;
    width:auto !important;
    max-width:100% !important;
    flex:none !important;
    white-space:normal !important;
    align-items:flex-start !important;
    font-size:.70rem !important;
    line-height:1.25 !important;
  }

  .room-gallery-amenity-icon{
    flex:0 0 16px !important;
    width:16px !important;
    height:16px !important;
    margin-top:1px !important;
  }

  .room-gallery-amenity-icon svg{
    width:16px !important;
    height:16px !important;
  }

  .room-gallery-amenity-item b{
    min-width:0 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }
}

@media(max-width:390px){
  .room-gallery-amenities{
    grid-template-columns:1fr !important;
    gap:6px !important;
  }
}


/* =========================================================
   V88 — IL PODERE OGGI
   ========================================================= */

.podere-today{
  background:#f6f3ed;
  color:#294237;
}

.podere-today-wide{
  width:min(1500px,calc(100% - 72px));
  margin:0 auto;
}

/* HERO */
.podere-today-hero{
  position:relative;
  min-height:650px;
  display:flex;
  align-items:stretch;
  overflow:hidden;
  background:#21352d;
}

.podere-today-hero-media,
.podere-today-hero-media img,
.podere-today-hero-shade{
  position:absolute;
  inset:0;
}

.podere-today-hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 56%;
}

.podere-today-hero-shade{
  background:
    linear-gradient(
      90deg,
      rgba(20,38,31,.76) 0%,
      rgba(20,38,31,.58) 31%,
      rgba(20,38,31,.16) 64%,
      rgba(20,38,31,.05) 100%
    ),
    linear-gradient(
      180deg,
      rgba(17,31,26,.02),
      rgba(17,31,26,.10)
    );
}

.podere-today-hero-inner{
  position:relative;
  z-index:2;
  width:min(1500px,calc(100% - 72px));
  margin:0 auto;
  padding:88px 0 72px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:60px;
}

.podere-today-hero-copy{
  width:min(610px,48%);
  color:#fff;
}

.podere-today-hero .section-kicker{
  color:#e5d6bd;
}

.podere-today-hero h1{
  margin:12px 0 24px;
  font-family:"Playfair Display",serif;
  font-size:clamp(4.5rem,7vw,7.3rem);
  line-height:.88;
  font-weight:500;
  letter-spacing:-.045em;
  color:#fff;
}

.podere-today-hero-copy>p{
  margin:0;
  max-width:560px;
  font-size:1.1rem;
  line-height:1.65;
  color:rgba(255,255,255,.9);
}

.podere-today-hero-cta{
  margin-top:30px;
  background:#966b48;
  border-color:#966b48;
}

.podere-today-hand{
  font-family:"Caveat",cursive;
  font-weight:500;
  line-height:1;
}

.podere-today-hand-hero{
  align-self:flex-end;
  margin:0 30px 12px 0;
  max-width:360px;
  color:#fff;
  font-size:clamp(2rem,3vw,3.3rem);
  text-align:right;
  transform:rotate(-4deg);
  text-shadow:0 2px 12px rgba(0,0,0,.28);
}

/* HEADINGS */
.podere-today-section-head{
  margin-bottom:28px;
}

.podere-today-section-head-split{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:44px;
}

.podere-today-section-head h2{
  margin:7px 0 0;
  font-family:"Playfair Display",serif;
  font-size:clamp(3rem,4vw,4.8rem);
  line-height:.98;
  font-weight:500;
  letter-spacing:-.035em;
}

.podere-today-section-head>p{
  width:min(520px,43%);
  margin:0;
  color:#6c756f;
  line-height:1.55;
}

/* I NOSTRI LUOGHI */
.podere-today-places{
  padding:48px 0 52px;
  background:#faf8f3;
}

.podere-today-place-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}

.podere-today-place-card{
  position:relative;
  min-height:185px;
  overflow:hidden;
  border:1px solid rgba(41,66,55,.10);
  background:#dfe5de;
  color:#fff;
  text-decoration:none;
}

.podere-today-place-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}

.podere-today-place-card:hover img{
  transform:scale(1.025);
}

.podere-today-place-card.no-photo{
  background:
    radial-gradient(circle at 90% 12%,rgba(150,107,72,.16),transparent 32%),
    linear-gradient(135deg,#567064,#294237);
}

.podere-today-place-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(19,35,29,.84),rgba(19,35,29,.04) 66%);
}

.podere-today-place-copy{
  position:absolute;
  inset:auto 18px 17px;
  z-index:2;
}

.podere-today-place-copy strong{
  display:block;
  font-family:"Playfair Display",serif;
  font-size:1.45rem;
  font-weight:500;
}

.podere-today-place-copy small{
  display:block;
  min-height:30px;
  margin-top:4px;
  color:rgba(255,255,255,.78);
  font-size:.72rem;
  line-height:1.35;
}

.podere-today-place-copy>span{
  display:block;
  margin-top:6px;
  color:#d4aa7d;
}

/* PARCO */
.podere-today-park{
  padding:72px 0 84px;
  background:
    radial-gradient(circle at 0 12%,rgba(101,126,103,.10),transparent 27%),
    #eef1e9;
}

.podere-garden-index{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:8px;
  margin:34px 0 58px;
}

.podere-garden-chip{
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:14px 10px;
  border:1px solid rgba(41,66,55,.10);
  border-radius:6px;
  background:rgba(255,255,255,.68);
  color:#294237;
  text-align:center;
  text-decoration:none;
}

.podere-garden-chip-icon{
  font-size:1.3rem;
  color:#966b48;
}

.podere-garden-chip strong{
  font-family:"Playfair Display",serif;
  font-size:.98rem;
  font-weight:500;
  line-height:1.15;
}

.podere-garden-chip.is-active{
  border-color:#966b48;
  box-shadow:inset 0 0 0 1px #966b48;
  background:#fbf7ef;
}

.podere-garden-chip.is-pending{
  opacity:.58;
}

/* GIARDINO DELLA NONNA */
.podere-garden-feature{
  display:grid;
  grid-template-columns:minmax(300px,.72fr) 1.28fr;
  grid-template-areas:
    "copy main"
    "copy gallery";
  gap:12px 18px;
  align-items:stretch;
}

.podere-garden-feature-copy{
  grid-area:copy;
  padding:20px 42px 20px 2px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}

.podere-garden-feature-copy h3{
  margin:10px 0 22px;
  font-family:"Playfair Display",serif;
  font-size:clamp(4.2rem,5.3vw,6.3rem);
  line-height:.88;
  font-weight:500;
  letter-spacing:-.045em;
}

.podere-garden-feature-phrase{
  margin:0;
  color:#966b48;
  font-family:"Playfair Display",serif;
  font-size:1.4rem;
  font-style:italic;
  line-height:1.35;
}

.podere-garden-feature-rule{
  width:50px;
  height:1px;
  margin:28px 0 22px;
  background:#294237;
}

.podere-garden-feature-text{
  margin:0;
  max-width:470px;
  color:#525d57;
  font-size:.95rem;
  line-height:1.68;
}

.podere-garden-hand{
  margin:42px 0 0 44px;
  color:#625f58;
  font-size:2.25rem;
  transform:rotate(-5deg);
}

.podere-garden-feature-main{
  grid-area:main;
  margin:0;
  min-height:520px;
  overflow:hidden;
  background:#dce3db;
}

.podere-garden-feature-main img{
  width:100%;
  height:100%;
  min-height:520px;
  object-fit:cover;
  object-position:center center;
}

.podere-garden-feature-gallery{
  grid-area:gallery;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

.podere-garden-feature-gallery figure{
  margin:0;
  height:310px;
  overflow:hidden;
  background:#dce3db;
}

.podere-garden-feature-gallery img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* OTHER AREAS */
.podere-today-simple{
  padding:70px 0;
  border-top:1px solid rgba(41,66,55,.09);
  background:#f7f4ed;
}

.podere-today-simple:nth-of-type(even){
  background:#f0f2eb;
}

.podere-today-simple-inner{
  width:min(1280px,calc(100% - 72px));
  margin:0 auto;
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  align-items:stretch;
  gap:50px;
}

.podere-today-simple-copy{
  align-self:center;
}

.podere-today-simple-copy h2{
  margin:8px 0 18px;
  font-family:"Playfair Display",serif;
  font-size:clamp(3rem,4vw,4.6rem);
  line-height:.96;
  font-weight:500;
}

.podere-today-simple-copy p{
  max-width:520px;
  margin:0;
  color:#5f6863;
  line-height:1.7;
}

.podere-today-simple figure,
.podere-today-simple-placeholder{
  margin:0;
  min-height:340px;
  overflow:hidden;
}

.podere-today-simple figure img{
  width:100%;
  height:100%;
  min-height:340px;
  object-fit:cover;
}

.podere-today-simple-placeholder{
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 70% 30%,rgba(150,107,72,.16),transparent 28%),
    linear-gradient(135deg,#dfe6dd,#bcc9bd);
  color:#294237;
  font-family:"Playfair Display",serif;
  font-size:2rem;
}

/* RESPONSIVE */
@media(max-width:1180px){
  .podere-today-place-grid{
    grid-template-columns:repeat(3,1fr);
  }
  .podere-garden-index{
    grid-template-columns:repeat(4,1fr);
  }
  .podere-garden-feature{
    grid-template-columns:.8fr 1.2fr;
  }
}

@media(max-width:780px){
  .podere-today-wide,
  .podere-today-hero-inner,
  .podere-today-simple-inner{
    width:calc(100% - 36px);
  }

  .podere-today-hero{
    min-height:690px;
  }

  .podere-today-hero-media img{
    object-position:64% center;
  }

  .podere-today-hero-shade{
    background:linear-gradient(0deg,rgba(20,38,31,.92),rgba(20,38,31,.28) 72%);
  }

  .podere-today-hero-inner{
    padding:330px 0 42px;
    display:block;
  }

  .podere-today-hero-copy{
    width:auto;
  }

  .podere-today-hero h1{
    font-size:4rem;
  }

  .podere-today-hero-copy>p{
    font-size:.95rem;
  }

  .podere-today-hand-hero{
    display:none;
  }

  .podere-today-section-head-split{
    display:block;
  }

  .podere-today-section-head h2{
    font-size:2.8rem;
  }

  .podere-today-section-head>p{
    width:auto;
    margin-top:12px;
  }

  .podere-today-place-grid{
    display:flex;
    overflow-x:auto;
    gap:10px;
    margin-right:-18px;
    padding-bottom:5px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }

  .podere-today-place-grid::-webkit-scrollbar{display:none}

  .podere-today-place-card{
    flex:0 0 72%;
    min-height:180px;
    scroll-snap-align:start;
  }

  .podere-garden-index{
    display:flex;
    overflow-x:auto;
    gap:8px;
    margin-right:-18px;
    padding-bottom:7px;
    scrollbar-width:none;
  }

  .podere-garden-index::-webkit-scrollbar{display:none}

  .podere-garden-chip{
    flex:0 0 48%;
    min-height:82px;
  }

  .podere-garden-feature{
    display:block;
  }

  .podere-garden-feature-copy{
    padding:8px 0 30px;
  }

  .podere-garden-feature-copy h3{
    font-size:3.6rem;
  }

  .podere-garden-hand{
    margin:28px 0 0 20px;
  }

  .podere-garden-feature-main{
    min-height:0;
  }

  .podere-garden-feature-main img{
    height:auto;
    min-height:0;
    display:block;
  }

  .podere-garden-feature-gallery{
    margin-top:10px;
    display:flex;
    overflow-x:auto;
    gap:10px;
    margin-right:-18px;
    scrollbar-width:none;
  }

  .podere-garden-feature-gallery::-webkit-scrollbar{display:none}

  .podere-garden-feature-gallery figure{
    flex:0 0 78%;
    height:300px;
  }

  .podere-today-simple-inner{
    display:block;
  }

  .podere-today-simple figure,
  .podere-today-simple-placeholder{
    margin-top:28px;
    min-height:260px;
  }
}


/* =========================================================
   V90 — IL PODERE: FOTO SOLO DALLA LIBRERIA MEDIA
   ========================================================= */

.podere-today-hero-media.no-photo{
  background:
    radial-gradient(circle at 72% 30%,rgba(150,107,72,.16),transparent 28%),
    linear-gradient(135deg,#294237,#173027);
}

.podere-garden-feature-main.no-photo,
.podere-garden-feature-gallery figure.no-photo{
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 72% 30%,rgba(150,107,72,.12),transparent 32%),
    linear-gradient(135deg,#dfe6dd,#c8d1c8);
  color:#516159;
  font-size:.8rem;
  text-align:center;
}

.podere-garden-feature-main.no-photo span{
  max-width:250px;
  padding:20px;
  line-height:1.5;
}


/* =========================================================
   V93 — PARCO: CAMBIO CONTENUTO TRA I 7 GIARDINI
   ========================================================= */

button.podere-garden-chip{
  font:inherit;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
}

button.podere-garden-chip:hover{
  border-color:rgba(150,107,72,.58);
  background:#fbf8f2;
}

.podere-garden-panels{
  position:relative;
}

.podere-garden-panel[hidden]{
  display:none !important;
}

.podere-garden-panel.is-active{
  animation:podereGardenFade .18s ease-out;
}

@keyframes podereGardenFade{
  from{
    opacity:.25;
    transform:translateY(4px);
  }
  to{
    opacity:1;
    transform:none;
  }
}

@media(max-width:780px){
  button.podere-garden-chip{
    flex:0 0 48%;
  }
}


/* =========================================================
   V94 — LANDING FISSA BMTA 2026
   Header/footer/componenti base restano quelli del sito.
   ========================================================= */
.bmta-main{background:#fffdf8;color:var(--ink)}
.bmta-wrap{width:min(var(--max),calc(100% - 48px));margin-inline:auto}
.bmta-section{padding:88px 0}
.bmta-section-tight{padding:54px 0}
.bmta-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.bmta-main h1,.bmta-main h2,.bmta-main h3{font-family:"Playfair Display",serif;font-weight:500;letter-spacing:-.025em;line-height:1.05}
.bmta-main h2{font-size:clamp(2.2rem,4vw,3.55rem);margin:0 0 .6rem}
.bmta-main h3{font-size:1.35rem;margin:0 0 .6rem}
.bmta-main p{margin:.4rem 0 1rem}
.bmta-main .section-kicker{color:#637448}

/* Hero */
.bmta-hero{position:relative;min-height:650px;display:flex;align-items:stretch;overflow:hidden;color:#fff;background:var(--deep)}
.bmta-hero-media,.bmta-hero-overlay{position:absolute;inset:0}
.bmta-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 48%;display:block}
.bmta-hero-overlay{background:linear-gradient(90deg,rgba(13,20,12,.72),rgba(13,20,12,.32) 48%,rgba(13,20,12,.05))}
.bmta-hero-content{position:relative;z-index:2;display:flex;align-items:center;padding:72px 0}
.bmta-hero-copy{max-width:880px}
.bmta-hero .section-kicker{color:#edf3e8}
.bmta-hero h1{font-size:clamp(3rem,6vw,5.6rem);max-width:900px;margin:0 0 1rem;color:#fff}
.bmta-hero p{max-width:660px;font-size:1.15rem;color:rgba(255,255,255,.92)}
.bmta-cta{margin-top:16px;background:#607548}

/* benefit strip */
.bmta-benefits{background:var(--paper);border-bottom:1px solid var(--line)}
.bmta-benefit-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.bmta-benefit{padding:20px 28px;display:flex;gap:14px;align-items:center;border-right:1px solid var(--line)}
.bmta-benefit:last-child{border-right:0}
.bmta-icon{font-size:1.7rem;line-height:1}
.bmta-benefit strong{display:block;font-family:"Playfair Display",serif;font-size:1.15rem;font-weight:500}
.bmta-benefit span{font-size:.82rem;color:var(--muted)}

/* photos and copy */
.bmta-photo{margin:0;min-height:420px;overflow:hidden;background:#dfe7df;box-shadow:0 18px 55px rgba(24,32,20,.10)}
.bmta-photo img{width:100%;height:100%;min-height:420px;object-fit:cover;display:block}
.bmta-photo-garden img{object-position:center}
.bmta-copy p{color:#4f5a53}

/* rate */
.bmta-rate{background:linear-gradient(135deg,#f4f3e8,#e8edde);border:1px solid #dfe4d5;padding:44px}
.bmta-rate-list{list-style:none;padding:0;margin:26px 0;display:grid;grid-template-columns:1fr 1fr;gap:14px 26px}
.bmta-rate-list li{display:flex;gap:10px;align-items:center}
.bmta-rate-list li::before{content:"✓";font-weight:900;color:var(--deep)}

/* apericena */
.bmta-dark-card{min-height:520px;overflow:hidden;position:relative;background:#2a2c25;color:#fff;box-shadow:0 18px 55px rgba(24,32,20,.10)}
.bmta-dark-card-photo,.bmta-dark-card-overlay{position:absolute;inset:0;margin:0}
.bmta-dark-card-photo img{width:100%;height:100%;object-fit:cover;object-position:center 58%;display:block}
.bmta-dark-card-overlay{background:linear-gradient(90deg,rgba(17,18,14,.10),rgba(17,18,14,.74))}
.bmta-dark-card-copy{position:relative;z-index:2;max-width:500px;margin-left:auto;padding:70px 56px}
.bmta-dark-card .section-kicker{color:#d9e3cf}
.bmta-dark-card p{color:rgba(255,255,255,.9)}

/* location */
.bmta-map-card{background:#f4f4f0;border:1px solid var(--line);min-height:360px;display:grid;place-items:center;position:relative;overflow:hidden}
.bmta-map-grid{position:absolute;inset:0;background:linear-gradient(#e7e7e0 1px,transparent 1px),linear-gradient(90deg,#e7e7e0 1px,transparent 1px);background-size:38px 38px;opacity:.7}
.bmta-route{position:relative;z-index:2;width:75%;height:220px}
.bmta-route::before{content:"";position:absolute;left:28%;top:25%;right:25%;bottom:28%;border:3px dashed #a85145;border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(12deg)}
.bmta-pin{position:absolute;width:18px;height:18px;border-radius:50%;background:var(--deep);box-shadow:0 0 0 7px rgba(41,66,55,.12)}
.bmta-pin-a{left:18%;bottom:16%}.bmta-pin-b{right:18%;top:14%;background:#b2493d;box-shadow:0 0 0 7px rgba(178,73,61,.12)}
.bmta-pin-label{position:absolute;background:#fff;border:1px solid var(--line);padding:7px 10px;border-radius:8px;font-size:.78rem;font-weight:600;box-shadow:0 6px 18px rgba(0,0,0,.07)}
.bmta-label-a{left:8%;bottom:0}.bmta-label-b{right:4%;top:0}
.bmta-distance{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:"Playfair Display",serif;font-size:2.4rem;color:var(--ink)}

/* gallery */
.bmta-gallery-section{background:var(--paper)}
.bmta-heading-copy{max-width:760px;margin-bottom:34px}
.bmta-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:220px 220px;gap:12px}
.bmta-gallery figure{margin:0;overflow:hidden;background:#dfe7df}
.bmta-gallery img{width:100%;height:100%;object-fit:cover;display:block}
.bmta-gallery-main{grid-row:1/3}.bmta-gallery-wide{grid-column:2/4}
.bmta-gallery-link{margin-top:26px}
.bmta-button-ghost{background:transparent;color:var(--deep);border:1px solid var(--deep)}
.bmta-button-ghost:hover{background:var(--deep);color:#fff}

/* audience */
.bmta-center-heading{text-align:center;max-width:760px;margin:0 auto 34px}
.bmta-audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.bmta-audience-card{border:1px solid var(--line);background:#fff;padding:24px}
.bmta-audience-card .bmta-icon{margin-bottom:12px}
.bmta-audience-card p{color:var(--muted);margin-bottom:0}

/* facts */
.bmta-facts{padding:54px 0;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.bmta-facts-box{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:18px}
.bmta-fact{padding:24px;border-left:3px solid var(--deep)}
.bmta-fact p{color:var(--muted);margin-bottom:0}

/* faq */
.bmta-faq-wrap{max-width:920px}
.bmta-faq-wrap>h2{margin-top:8px}
.bmta-faq-item{border-bottom:1px solid var(--line);padding:18px 0}
.bmta-faq-item summary{cursor:pointer;font-weight:600}
.bmta-faq-item p{color:var(--muted);max-width:850px;margin-top:12px}

/* closing */
.bmta-closing{position:relative;overflow:hidden;padding:90px 0;color:#fff;background:var(--deep)}
.bmta-closing-media,.bmta-closing-overlay{position:absolute;inset:0}
.bmta-closing-media img{width:100%;height:100%;object-fit:cover;object-position:72% center;display:block}
.bmta-closing-overlay{background:linear-gradient(90deg,rgba(16,22,14,.80),rgba(16,22,14,.35))}
.bmta-closing-copy{position:relative;z-index:2}
.bmta-closing .section-kicker{color:#eaf1e4}
.bmta-closing h2{font-size:clamp(2.4rem,5vw,4rem);color:#fff;margin:10px 0}
.bmta-closing p{font-size:1.05rem;max-width:620px}
.bmta-scarcity{margin-top:12px;font-size:.82rem;color:rgba(255,255,255,.78)}

@media(max-width:900px){
  .bmta-grid-2,.bmta-audience-grid,.bmta-facts-box{grid-template-columns:1fr}
  .bmta-benefit-grid{grid-template-columns:1fr 1fr}
  .bmta-benefit:nth-child(2){border-right:0}.bmta-benefit:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .bmta-section{padding:68px 0}
  .bmta-hero{min-height:720px}
  .bmta-rate-list{grid-template-columns:1fr}
  .bmta-dark-card-copy{padding:60px 32px;max-width:100%}
  .bmta-dark-card-overlay{background:linear-gradient(90deg,rgba(17,18,14,.35),rgba(17,18,14,.65))}
  .bmta-gallery{grid-template-columns:1fr 1fr;grid-template-rows:300px 180px 180px}
  .bmta-gallery-main{grid-column:1/3;grid-row:1}.bmta-gallery-wide{grid-column:1/3}
}
@media(max-width:620px){
  .bmta-wrap{width:calc(100% - 24px)}
  .bmta-hero{min-height:680px}
  .bmta-hero-media img{object-position:62% center}
  .bmta-hero-overlay{background:linear-gradient(0deg,rgba(13,20,12,.82),rgba(13,20,12,.18) 78%)}
  .bmta-hero-content{align-items:flex-end;padding:55px 0}
  .bmta-hero h1{font-size:clamp(2.55rem,12vw,4rem)}
  .bmta-hero p{font-size:1rem}
  .bmta-benefit-grid{grid-template-columns:1fr}
  .bmta-benefit{border-right:0;border-bottom:1px solid var(--line)}.bmta-benefit:last-child{border-bottom:0}
  .bmta-rate{padding:28px 22px}
  .bmta-gallery{grid-template-columns:1fr;grid-template-rows:250px repeat(3,180px)}
  .bmta-gallery-main,.bmta-gallery-wide{grid-column:auto;grid-row:auto}
  .bmta-dark-card-copy{padding:46px 24px}
  .bmta-map-card{min-height:330px}
}


/* =========================================================
   V95 — BMTA NEL MENU PRINCIPALE
   ========================================================= */

.site-nav a[href="bmta.php"]{
  color:var(--accent);
}

.site-nav a[href="bmta.php"].is-active{
  color:var(--ink);
}

@media(max-width:780px){
  .site-nav{
    justify-content:flex-start;
    overflow-x:auto;
    overflow-y:hidden;
    white-space:nowrap;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }

  .site-nav::-webkit-scrollbar{
    display:none;
  }

  .site-nav a{
    margin-right:10px;
  }

  .site-nav .nav-prenota{
    margin-right:0;
  }
}


/* =========================================================
   V98 — HERO BMTA: RICHIAMO ESTESO
   ========================================================= */

.bmta-hero-eyebrow{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
  margin:0 0 18px;
  color:#f3f0e8;
  text-transform:uppercase;
}

.bmta-hero-event{
  font-family:"DM Sans",sans-serif;
  font-size:14px;
  line-height:1.35;
  font-weight:700;
  letter-spacing:.15em;
}

.bmta-hero-dates{
  font-family:"DM Sans",sans-serif;
  font-size:12px;
  line-height:1.3;
  font-weight:600;
  letter-spacing:.18em;
  color:rgba(255,255,255,.84);
}

@media(max-width:620px){
  .bmta-hero-eyebrow{
    gap:4px;
    margin-bottom:14px;
  }

  .bmta-hero-event{
    max-width:92%;
    font-size:11.5px;
    letter-spacing:.11em;
  }

  .bmta-hero-dates{
    font-size:10.5px;
    letter-spacing:.14em;
  }
}


/* =========================================================
   V99 — BMTA: ALLINEAMENTO BLOCCHI TARIFFA / APERICENA
   ========================================================= */
.bmta-section-tight .bmta-grid-2{
  align-items:stretch;
}

.bmta-rate,
.bmta-dark-card{
  height:100%;
}

@media(max-width:900px){
  .bmta-section-tight .bmta-grid-2{
    align-items:start;
  }
}


/* =========================================================
   V100 — BMTA: CTA UNIFICATA + HERO PIÙ EVIDENTE
   ========================================================= */

.bmta-hero .bmta-cta{
  min-height:58px;
  padding:0 28px;
  background:#f3ede2;
  color:var(--deep);
  border:1px solid rgba(255,255,255,.72);
  font-size:1rem;
  font-weight:700;
  box-shadow:0 10px 28px rgba(0,0,0,.20);
}

.bmta-hero .bmta-cta:hover{
  background:#fffaf2;
  color:var(--deep);
  opacity:1;
  transform:translateY(-1px);
}

@media(max-width:620px){
  .bmta-hero .bmta-cta{
    min-height:54px;
    padding:0 22px;
    font-size:.94rem;
  }
}


/* =========================================================
   V101 — IT / EN LANGUAGE SWITCH
   ========================================================= */
.language-switch{display:inline-flex;align-items:center;gap:5px;margin:0 5px 0 2px;padding:5px 7px;border:1px solid rgba(41,66,55,.18);border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.08em;line-height:1}
.language-switch a{margin:0!important;padding:0!important;border:0!important;text-decoration:none;opacity:.45}.language-switch a.is-active{opacity:1;color:var(--accent)}.language-switch i{color:rgba(41,66,55,.34);font-style:normal}
html[lang="en"] .site-nav{gap:10px}html[lang="en"] .site-nav>a{white-space:nowrap}
@media(max-width:780px){.language-switch{flex:0 0 auto;margin-right:8px}}


/* =========================================================
   V102 — IT/EN FIXES (header overflow + english text)
   ========================================================= */

/* Prevent the enlarged header rules introduced earlier from squeezing the brand. */
@media (min-width:981px){
  .topbar{
    min-height:82px;
    height:auto;
    padding-top:10px;
    padding-bottom:10px;
    gap:10px;
  }

  .brand{
    flex:0 1 auto;
    min-width:150px;
  }

  .brand-name{
    font-size:1.55rem;
    line-height:1.05;
  }

  .brand-sub{
    font-size:.68rem;
    margin-top:4px;
    line-height:1.25;
    max-width:180px;
  }

  .header-right{
    gap:10px;
    flex:0 0 auto;
  }

  .header-review-name{
    font-size:.68rem;
  }

  .header-review-score strong{
    font-size:1rem;
  }

  .header-review-score small{
    font-size:.58rem;
  }

  .topbar .button-small{
    min-height:42px;
    padding-left:16px;
    padding-right:16px;
    font-size:.86rem;
  }
}

@media (max-width:1180px) and (min-width:981px){
  .site-nav{
    gap:10px;
    margin-left:16px;
    margin-right:8px;
  }

  .site-nav a{
    font-size:.69rem;
  }

  .language-switch{
    margin-left:0;
    margin-right:2px;
    padding:4px 6px;
    font-size:.62rem;
  }

  .header-review-name{
    display:none;
  }

  .header-review{
    padding-left:7px;
    padding-right:7px;
  }
}

@media (max-width:1080px) and (min-width:981px){
  .header-reviews .header-review:nth-child(3){
    display:none;
  }
}

/* Long English garden headings need a little more room. */
html[lang="en"] .podere-garden-feature-copy h3{
  font-size:clamp(3.35rem,4.5vw,5.25rem);
  line-height:.92;
  letter-spacing:-.04em;
}

@media (max-width:980px){
  html[lang="en"] .podere-garden-feature-copy h3{
    font-size:3.15rem;
  }
}

/* =========================================================
   V108 — VALIDITÀ TARIFFA / DATE DI SOGGIORNO
   ========================================================= */

.stay-validity{
  display:block;
  margin-top:10px;
  font-size:.73rem;
  line-height:1.38;
  font-weight:650;
  color:#667068;
}

.stay-option.featured .stay-validity{
  color:rgba(255,255,255,.76);
}

@media(max-width:780px){
  .stay-validity{
    grid-column:2;
    margin-top:2px;
    font-size:.69rem;
  }
}

/* =========================================================
   V112 — CARD OFFERTE: TESTO BREVE, NOTA E DOPPIA AZIONE
   ========================================================= */

.stay-option{
  position:relative;
}

.stay-card-text{
  margin:9px 0 0;
  color:#697169;
  font-size:.77rem;
  line-height:1.38;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.stay-option.featured .stay-card-text{
  color:rgba(255,255,255,.72);
}

/* La nota commerciale deve essere immediatamente leggibile: non e' piu'
   una riga secondaria persa fra prezzo e validita'. */
.stay-price-note{
  display:inline-flex;
  align-self:flex-start;
  width:auto;
  margin-top:9px;
  padding:5px 8px;
  border-radius:999px;
  background:#f1e5d8;
  color:#714b29;
  font-size:.68rem;
  line-height:1.15;
  font-weight:800;
}

.stay-option.featured .stay-price-note{
  background:rgba(220,184,150,.18);
  color:#f3d9c0;
}

.stay-actions{
  margin-top:auto;
  padding-top:12px;
  border-top:1px solid rgba(36,49,40,.11);
  display:grid;
  gap:7px;
}

.stay-option.featured .stay-actions{
  border-top-color:rgba(255,255,255,.16);
}

.stay-details-link,
.stay-book-now{
  min-width:0;
  font:700 .72rem/1.2 "DM Sans",system-ui,sans-serif;
}

.stay-details-link{
  color:inherit;
  text-decoration:none;
}

.stay-details-link:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}

.stay-book-now{
  width:100%;
  min-height:34px;
  padding:8px 10px;
  border:1px solid #294237;
  border-radius:2px;
  background:#294237;
  color:#fff;
  cursor:pointer;
  text-align:left;
}

.stay-book-now:hover{
  background:#1f342b;
}

.stay-option.featured .stay-book-now{
  border-color:#dcb896;
  background:#dcb896;
  color:#243128;
}

.stay-option.featured .stay-book-now:hover{
  background:#e7c8aa;
}

.stay-action-selected{display:none;}
.stay-option.is-selected .stay-book-now .stay-action-default{display:none;}
.stay-option.is-selected .stay-book-now .stay-action-selected{display:inline;}

/* La vecchia barra azione V13 non e' piu' usata dalle card V112. */
.stay-option .stay-action{display:none;}

@media(max-width:780px){
  .stay-option{
    grid-template-areas:
      "nights title"
      "nights text"
      "nights price"
      "nights note"
      "nights validity"
      "nights actions";
  }

  .stay-card-text{
    grid-area:text;
    margin:0;
    font-size:.72rem;
    line-height:1.3;
  }

  .stay-price-note{
    grid-area:note;
    margin-top:2px;
    padding:4px 7px;
    font-size:.66rem;
  }

  .stay-validity{
    grid-area:validity;
    margin-top:2px;
  }

  .stay-actions{
    grid-area:actions;
    margin-top:3px;
    padding-top:8px;
    gap:6px;
  }

  .stay-details-link,
  .stay-book-now{
    font-size:.68rem;
  }

  .stay-book-now{
    min-height:32px;
    padding:7px 9px;
  }
}

/* =========================================================
   V112 — PAGINA OFFERTE E OCCASIONI SPECIALI
   ========================================================= */

.offers-page-main{
  background:#f4f1e9;
  min-height:60vh;
}

.offers-page-hero{
  padding:78px max(28px,calc((100vw - 1120px)/2)) 54px;
  background:#f7f4ed;
  border-bottom:1px solid var(--line);
}

.offers-page-hero .section-kicker{
  margin-bottom:12px;
}

.offers-page-hero h1{
  margin:0;
  max-width:820px;
  font-family:"Playfair Display",serif;
  font-weight:500;
  font-size:clamp(3rem,6vw,5.8rem);
  line-height:.93;
  letter-spacing:-.045em;
  color:var(--deep);
}

.offers-page-hero p{
  max-width:720px;
  margin:24px 0 0;
  color:var(--muted);
  font-size:1.02rem;
  line-height:1.55;
}

.offers-page-list{
  max-width:1120px;
  margin:0 auto;
  padding:52px 28px 80px;
  display:grid;
  gap:24px;
}

.offer-detail-card{
  scroll-margin-top:120px;
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);
  background:#fff;
  border:1px solid var(--line);
}

.offer-detail-copy{
  padding:34px 38px 36px;
}

.offer-detail-kicker{
  display:block;
  margin-bottom:12px;
  color:var(--accent);
  font-size:.73rem;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.offer-detail-copy h2{
  margin:0;
  max-width:680px;
  font-family:"Playfair Display",serif;
  font-weight:500;
  font-size:clamp(2rem,4vw,3.5rem);
  line-height:1;
  letter-spacing:-.035em;
  color:var(--deep);
}

.offer-detail-text{
  max-width:720px;
  margin:22px 0 0;
  color:#596159;
  font-size:.98rem;
  line-height:1.65;
}

.offer-detail-meta{
  margin-top:26px;
  display:grid;
  gap:9px;
}

.offer-detail-meta p{
  margin:0;
  color:#657067;
  font-size:.82rem;
  line-height:1.45;
}

.offer-detail-meta strong{
  color:#324439;
}

.offer-detail-side{
  padding:32px;
  background:#294237;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}

.offer-detail-price{
  display:flex;
  align-items:baseline;
  gap:9px;
  flex-wrap:wrap;
}

.offer-detail-price del{
  color:#ef8a7d;
  font-size:.9rem;
  font-weight:700;
}

.offer-detail-price b{
  font-family:"DM Sans",system-ui,sans-serif;
  font-size:2.05rem;
  line-height:1;
}

.offer-detail-price small{
  color:rgba(255,255,255,.72);
  font-size:.72rem;
}

.offer-detail-note{
  display:inline-flex;
  margin-top:14px;
  padding:7px 10px;
  border-radius:999px;
  background:#dcb896;
  color:#243128;
  font-size:.73rem;
  line-height:1.2;
  font-weight:900;
}

.offer-detail-side .button{
  margin-top:24px;
  background:#fff;
  color:#294237;
  border-color:#fff;
}

.offer-detail-side .button:hover{
  background:#f4efe7;
}

.offers-page-note{
  margin:4px 0 0;
  color:#707970;
  font-size:.77rem;
  line-height:1.5;
}

.offers-page-empty{
  padding:42px;
  background:#fff;
  border:1px solid var(--line);
}

.offers-page-empty h2{
  margin:0 0 12px;
  font-family:"Playfair Display",serif;
  font-weight:500;
  font-size:2.2rem;
  color:var(--deep);
}

.offers-page-empty p{
  max-width:640px;
  margin:0 0 22px;
  color:var(--muted);
  line-height:1.55;
}

@media(max-width:820px){
  .offers-page-hero{
    padding:52px 22px 38px;
  }

  .offers-page-list{
    padding:32px 18px 58px;
  }

  .offer-detail-card{
    grid-template-columns:1fr;
  }

  .offer-detail-copy{
    padding:26px 24px 28px;
  }

  .offer-detail-side{
    padding:24px;
  }
}

/* V112 — etichette di stato anche in inglese */
html[lang="en"] .stay-option.is-selected::after{content:"SELECTED";}
html[lang="en"] .hero-booking-status.is-info::before{content:"Offer selected";}
html[lang="en"] .hero-booking-status.is-success::before{content:"Dates set";}
html[lang="en"] .hero-booking-status.is-warning::before{content:"Attention";}

/* =========================================================
   PATCH V117 — BMTA: fix spazi e blocco servizi lavoro
   Corregge il blocco V116 che era stato aggiunto con newline
   escapate e quindi non veniva interpretato correttamente.
   ========================================================= */
.bmta-work-section{
  padding:0 0 22px;
  background:#fffdf8;
}

.bmta-work-card{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
  gap:42px;
  align-items:center;
  padding:34px 38px;
  background:#f4f3e8;
  border:1px solid #dfe4d5;
}

.bmta-work-copy h2{
  font-size:clamp(1.9rem,3vw,2.75rem);
  margin:.25rem 0 .6rem;
}

.bmta-work-copy p{
  max-width:760px;
  margin:0;
  color:#4f5a53;
}

.bmta-work-points{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  border-top:1px solid #cfd7c8;
}

.bmta-work-points > div{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:baseline;
  padding:12px 0;
  border-bottom:1px solid #cfd7c8;
}

.bmta-work-points strong{
  font-family:"DM Sans",sans-serif;
  font-size:.92rem;
  color:var(--deep);
  white-space:nowrap;
}

.bmta-work-points span{
  font-size:.82rem;
  color:var(--muted);
  text-align:right;
}

@media (max-width:900px){
  .bmta-work-card{
    grid-template-columns:1fr;
    gap:24px;
    padding:30px;
  }
}

@media (max-width:640px){
  .bmta-work-section{padding-bottom:10px}
  .bmta-work-card{padding:24px 20px}
  .bmta-work-points > div{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
  .bmta-work-points span{text-align:left}
}

/* =========================================================
   PATCH V118 — BMTA: dettagli lavoro più compatti + foto opzionale
   ========================================================= */
.bmta-work-card{
  grid-template-columns:minmax(0,1.3fr) minmax(360px,.7fr);
  gap:36px;
}

.bmta-work-side{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:18px;
  align-items:stretch;
  justify-items:start;
}

.bmta-work-side.has-photo{
  grid-template-columns:minmax(220px,1fr) 150px;
  align-items:center;
  width:100%;
}

.bmta-work-points{
  width:100%;
  max-width:310px;
}

.bmta-work-points > div{
  display:grid;
  grid-template-columns:max-content max-content;
  justify-content:start;
  column-gap:7px;
  align-items:baseline;
  padding:11px 0;
}

.bmta-work-points span{
  text-align:left;
}

.bmta-work-photo{
  width:150px;
  aspect-ratio:4/5;
  margin:0;
  overflow:hidden;
  border-radius:2px;
  background:#e9eadf;
}

.bmta-work-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

@media (max-width:1050px){
  .bmta-work-card{
    grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
    gap:28px;
  }
  .bmta-work-side.has-photo{
    grid-template-columns:minmax(200px,1fr) 130px;
  }
  .bmta-work-photo{width:130px}
}

@media (max-width:900px){
  .bmta-work-card{grid-template-columns:1fr}
  .bmta-work-side{width:100%}
  .bmta-work-side.has-photo{
    grid-template-columns:minmax(220px,310px) 150px;
    justify-content:start;
  }
  .bmta-work-photo{width:150px}
}

@media (max-width:560px){
  .bmta-work-side.has-photo{grid-template-columns:1fr}
  .bmta-work-photo{
    width:min(100%,280px);
    aspect-ratio:16/10;
  }
  .bmta-work-points > div{
    grid-template-columns:max-content 1fr;
    column-gap:7px;
  }
}

/* =========================================================
   PATCH V121 — BMTA: foto lavoro full-bleed, senza cornice
   ========================================================= */
@media (min-width:901px){
  .bmta-work-card{
    align-items:stretch;
  }

  .bmta-work-copy{
    align-self:center;
  }

  .bmta-work-side.has-photo{
    align-self:stretch;
    align-items:center;
    grid-template-columns:minmax(205px,1fr) minmax(180px,.62fr);
    gap:20px;
  }

  .bmta-work-side.has-photo .bmta-work-points{
    align-self:center;
  }

  .bmta-work-side.has-photo .bmta-work-photo{
    align-self:stretch;
    width:auto;
    height:auto;
    min-height:100%;
    aspect-ratio:auto;
    margin:-34px -38px -34px 0;
    border-radius:0;
    background:transparent;
  }

  .bmta-work-side.has-photo .bmta-work-photo img{
    width:100%;
    height:100%;
    min-height:100%;
    object-fit:cover;
    object-position:center center;
  }
}

@media (min-width:901px) and (max-width:1050px){
  .bmta-work-side.has-photo{
    grid-template-columns:minmax(190px,1fr) minmax(160px,.58fr);
  }
  .bmta-work-side.has-photo .bmta-work-photo{
    margin:-34px -38px -34px 0;
  }
}

@media (max-width:900px){
  .bmta-work-side.has-photo .bmta-work-photo{
    width:100%;
    max-width:none;
    aspect-ratio:16/10;
    border-radius:0;
    background:transparent;
  }
}

@media (max-width:560px){
  .bmta-work-side.has-photo .bmta-work-photo{
    width:auto;
    margin:0 -20px -24px;
    aspect-ratio:16/10;
  }
}


/* =========================================================
   PATCH V122 — Dicono di noi / Guest stories
   ========================================================= */
.home-reviews-section{
  width:min(var(--max),calc(100% - 48px));
  margin:0 auto;
  padding:96px 0 104px;
}
.home-reviews-heading{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(280px,.65fr);
  gap:60px;
  align-items:end;
  margin-bottom:40px;
}
.home-reviews-heading h2{
  margin:8px 0 0;
  max-width:620px;
  font-family:"Playfair Display",serif;
  font-size:clamp(2.5rem,5vw,4.3rem);
  font-weight:500;
  letter-spacing:-.025em;
  line-height:1;
}
.home-reviews-heading p{margin:0;color:var(--muted);max-width:520px}
.home-reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.home-review-card{padding:30px 28px 30px 0;min-height:260px;display:flex;flex-direction:column}
.home-review-card + .home-review-card{border-left:1px solid var(--line);padding-left:28px}
.home-review-card blockquote{margin:0;font-family:"Playfair Display",serif;font-size:1.45rem;line-height:1.35;letter-spacing:-.015em}
.home-review-card footer{margin-top:auto;padding-top:30px;border:0;display:flex;flex-direction:column;color:var(--ink)}
.home-review-card footer strong{font-size:.9rem}.home-review-card footer span{margin-top:2px;color:var(--muted);font-size:.78rem}
.home-reviews-more{display:inline-block;margin-top:24px;font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}

.reviews-page-main{overflow:hidden}
.reviews-hero{position:relative;min-height:68vh;display:flex;align-items:flex-end;background:linear-gradient(120deg,#486052,#9b8f77);background-size:cover;background-position:center 55%;color:#fff}
.reviews-hero.has-photo{background-image:var(--reviews-hero)}
.reviews-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,31,25,.70) 0%,rgba(19,31,25,.42) 42%,rgba(19,31,25,.08) 78%)}
.reviews-hero-copy{position:relative;z-index:1;width:min(var(--max),calc(100% - 48px));margin:0 auto;padding:100px 0 84px}
.reviews-hero-copy h1{font-family:"Playfair Display",serif;font-size:clamp(3.3rem,7vw,6.7rem);line-height:.94;letter-spacing:-.035em;font-weight:500;max-width:820px;margin:12px 0 24px}
.reviews-hero-copy p{max-width:620px;margin:0;color:rgba(255,255,255,.86);font-size:1.08rem}
.reviews-lead-section{width:min(var(--max),calc(100% - 48px));margin:0 auto;padding:110px 0 50px}
.reviews-lead-quote{margin:0;display:grid;grid-template-columns:minmax(0,1fr) 145px;gap:30px;align-items:end}
.reviews-lead-quote p{margin:0;font-family:"Playfair Display",serif;font-size:clamp(2.3rem,5vw,4.8rem);line-height:1.06;letter-spacing:-.03em}
.reviews-lead-quote footer{border:0;padding:0 0 10px;display:flex;flex-direction:column;color:var(--ink);align-self:end}
.reviews-lead-quote footer span{color:var(--muted);font-size:.82rem;margin-top:3px}
.reviews-themes-section{padding-top:70px;padding-bottom:95px}
.reviews-theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.reviews-theme-card{background:#fff;padding:34px;min-height:420px;display:flex;flex-direction:column}
.reviews-theme-card h2{font-family:"Playfair Display",serif;font-size:2rem;line-height:1.08;font-weight:500;margin:10px 0 28px}
.reviews-theme-card blockquote{margin:0;font-family:"Playfair Display",serif;font-size:1.35rem;line-height:1.45;color:#334039}
.reviews-byline{margin-top:auto;padding-top:28px;display:flex;flex-direction:column;border-top:1px solid var(--line)}
.reviews-byline span{color:var(--muted);font-size:.78rem}
.reviews-wall-section{background:#ede9e0;padding:100px max(24px,calc((100vw - var(--max))/2)) 110px}
.reviews-wall-heading{max-width:760px;margin-bottom:44px}
.reviews-wall-heading h2{font-family:"Playfair Display",serif;font-size:clamp(2.4rem,5vw,4.2rem);font-weight:500;line-height:1.04;letter-spacing:-.025em;margin:8px 0 0}
.reviews-wall{columns:2;column-gap:22px}
.review-editorial-card{break-inside:avoid;background:#fff;padding:30px;margin:0 0 22px;border:1px solid rgba(36,49,40,.08)}
.review-editorial-card blockquote{margin:0;font-family:"Playfair Display",serif;font-size:1.28rem;line-height:1.48}
.review-editorial-card footer{border:0;padding:24px 0 0;margin-top:26px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;color:var(--ink)}
.review-editorial-card footer span{color:var(--muted);font-size:.8rem}
.reviews-sources-section{width:min(var(--max),calc(100% - 48px));margin:0 auto;padding:88px 0 76px;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:end}
.reviews-sources-section h2{font-family:"Playfair Display",serif;font-size:clamp(2rem,4vw,3.4rem);font-weight:500;line-height:1.06;margin:8px 0 0}
.reviews-source-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.reviews-source-links a{font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.reviews-sources-muted{color:var(--muted);font-size:.86rem}
.reviews-final-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.reviews-book-button{background:#d9c1a5;color:#243128}

@media(max-width:900px){
  .home-reviews-heading{grid-template-columns:1fr;gap:18px}.home-reviews-grid{grid-template-columns:1fr}.home-review-card{min-height:0;padding:26px 0}.home-review-card + .home-review-card{border-left:0;border-top:1px solid var(--line);padding-left:0}.home-review-card footer{padding-top:22px}
  .reviews-hero{min-height:58vh}.reviews-lead-quote{grid-template-columns:1fr;gap:24px}.reviews-theme-grid{grid-template-columns:1fr}.reviews-theme-card{min-height:0}.reviews-wall{columns:1}.reviews-sources-section{grid-template-columns:1fr;gap:24px}.reviews-final-actions{justify-content:flex-start}
}
@media(max-width:560px){
  .home-reviews-section{width:calc(100% - 36px);padding:72px 0 80px}.home-review-card blockquote{font-size:1.28rem}.reviews-hero-copy,.reviews-lead-section,.reviews-sources-section{width:calc(100% - 36px)}.reviews-hero-copy{padding:74px 0 58px}.reviews-lead-section{padding:76px 0 34px}.reviews-wall-section{padding:72px 18px 80px}.review-editorial-card{padding:24px}.reviews-final-actions{width:100%;flex-direction:column}.reviews-final-actions .button{width:100%}
}


/* =========================================================
   PATCH V123 — BMTA: DUE FORMULE + APERICENA PIÙ CHIARO
   ========================================================= */
.bmta-rate > h2{
  font-size:clamp(2rem,3.2vw,3rem);
  max-width:760px;
}

.bmta-formula-list{
  display:grid;
  gap:16px;
  margin:26px 0 18px;
}

.bmta-formula{
  position:relative;
  padding:26px 26px 24px;
  border:1px solid #ccd5c4;
  background:rgba(255,255,255,.64);
}

.bmta-formula-primary{
  background:#fffdf7;
  border-color:#aebda2;
  box-shadow:0 12px 30px rgba(47,64,45,.08);
}

.bmta-formula-secondary{
  background:rgba(255,255,255,.42);
}

.bmta-formula-badge{
  display:inline-block;
  margin-bottom:12px;
  padding:6px 9px;
  border-radius:999px;
  background:var(--deep);
  color:#fff;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.09em;
}

.bmta-formula h3{
  font-size:clamp(1.45rem,2.1vw,1.85rem);
  margin-bottom:.65rem;
}

.bmta-formula > p{
  color:#4f5a53;
  margin-bottom:15px;
}

.bmta-formula-items{
  list-style:none;
  margin:0 0 22px;
  padding:0;
  display:grid;
  gap:8px;
}

.bmta-formula-items li{
  display:flex;
  gap:9px;
  align-items:flex-start;
  color:#344238;
  font-size:.92rem;
}

.bmta-formula-items li::before{
  content:"✓";
  flex:0 0 auto;
  font-weight:900;
  color:var(--deep);
}

.bmta-formula .button{
  width:100%;
  justify-content:center;
  text-align:center;
}

.bmta-formula .bmta-button-ghost{
  background:transparent;
}

.bmta-formula .bmta-button-ghost:hover{
  background:var(--deep);
}

.bmta-formula-note{
  margin:18px 0 0 !important;
  color:#4f5a53;
  font-size:.9rem;
}

.bmta-dark-card-copy{
  max-width:560px;
}

.bmta-dark-card-copy p{
  line-height:1.62;
}

.bmta-secondary-booking-link{
  display:block;
  width:max-content;
  max-width:100%;
  margin-top:15px;
  color:#fff;
  font-size:.92rem;
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:4px;
}

.bmta-secondary-booking-link:hover{
  color:#fff;
  opacity:.82;
}

@media(max-width:620px){
  .bmta-formula{padding:22px 18px}
  .bmta-formula .button{padding-inline:16px}
}


/* =========================================================
   V124 — HOME OFFERTE: INTRO SOPRA + GRIGLIA FLESSIBILE
   ========================================================= */
@media (min-width:781px){
  .stay-hub .stay-more{
    display:block;
    padding:30px 30px 24px;
  }

  .stay-more-heading{
    display:grid;
    grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);
    grid-template-areas:
      "kicker kicker"
      "title text";
    column-gap:46px;
    row-gap:7px;
    align-items:end;
    margin:0 0 24px;
    padding:0;
  }

  .stay-more-heading .section-kicker{
    grid-area:kicker;
    margin:0 0 2px;
  }

  .stay-more-heading h3{
    grid-area:title;
    margin:0;
    max-width:520px;
    font-size:clamp(2.15rem,3vw,3.2rem);
    line-height:.98;
  }

  .stay-more-heading p{
    grid-area:text;
    margin:0 0 3px;
    max-width:620px;
    font-size:.93rem;
    line-height:1.5;
  }

  .stay-options{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    width:100%;
    min-width:0;
  }

  .stay-option{
    min-width:0;
    min-height:286px;
    padding:22px 20px;
  }

  .stay-option strong{
    max-width:none;
    font-size:1.26rem;
  }

  .stay-card-text{
    min-height:2.15em;
  }

  .booking-note{
    margin:10px 0 0;
    text-align:right;
    font-size:.72rem;
    line-height:1.35;
  }
}

@media (max-width:780px){
  .stay-more-heading{
    margin-bottom:18px;
  }

  .booking-note{
    margin-top:10px;
    font-size:.7rem;
    line-height:1.35;
  }
}

/* =========================================================
   V125 — HOME OFFERTE: TESTATA COMPATTA A TUTTA LARGHEZZA
   La frase editoriale resta nei dati/CMS ma non viene mostrata
   nella Home: recuperiamo spazio verticale per le card.
   ========================================================= */
.stay-more-heading p{
  display:none;
}

@media (min-width:781px){
  .stay-hub .stay-more{
    padding-top:24px;
  }

  .stay-more-heading{
    display:block;
    margin:0 0 16px;
  }

  .stay-more-heading .section-kicker{
    display:block;
    margin:0 0 7px;
  }

  .stay-more-heading h3{
    margin:0;
    max-width:none;
    width:100%;
    font-size:clamp(2rem,2.7vw,2.45rem);
    line-height:1.02;
    white-space:nowrap;
  }
}

@media (max-width:780px){
  .stay-more-heading{
    margin-bottom:15px;
  }

  .stay-more-heading h3{
    max-width:none;
  }
}

@media (min-width:781px) and (max-width:920px){
  .stay-more-heading h3{
    font-size:clamp(1.8rem,4.05vw,2.25rem);
  }
}

/* =========================================================
   V126 — FESTIVAL DELLE MONGOLFIERE DI PAESTUM
   Landing SEO + conversione. Tutte le classi sono isolate
   sotto .balloons-page per non alterare le pagine esistenti.
   ========================================================= */
.balloons-page{
  background:#f7f4ee;
}

.balloons-main{
  overflow:hidden;
}

.balloons-wrap{
  width:min(var(--max),calc(100% - 48px));
  margin:0 auto;
}

.balloons-hero{
  padding:58px 0 70px;
  background:
    radial-gradient(circle at 74% 18%,rgba(220,184,150,.24),transparent 30%),
    linear-gradient(135deg,#eef2eb 0%,#f7f4ee 52%,#eee5d7 100%);
  border-bottom:1px solid rgba(36,49,40,.08);
}

.balloons-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(480px,1fr);
  gap:64px;
  align-items:center;
}

.balloons-hero-copy{
  padding:34px 0;
}

.balloons-eyebrow{
  display:block;
  color:var(--accent);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.balloons-hero h1,
.balloons-section h2,
.balloons-closing h2{
  font-family:"Playfair Display",serif;
  font-weight:500;
  letter-spacing:-.03em;
}

.balloons-hero h1{
  margin:15px 0 24px;
  font-size:clamp(3rem,5.8vw,6.15rem);
  line-height:.92;
  max-width:780px;
}

.balloons-hero-lead{
  margin:0 0 13px;
  max-width:680px;
  font-family:"Playfair Display",serif;
  font-size:clamp(1.45rem,2.3vw,2.15rem);
  line-height:1.18;
}

.balloons-hero-text{
  max-width:620px;
  margin:0 0 30px;
  color:var(--muted);
  font-size:1.02rem;
}

.balloons-primary{
  min-height:54px;
  padding:0 25px;
}

.balloons-hero-photo{
  position:relative;
  margin:0;
  min-height:0;
  aspect-ratio:4 / 3;
  overflow:hidden;
  background:#dfe7df;
  box-shadow:0 28px 70px rgba(36,49,40,.15);
}

.balloons-hero-photo picture{
  display:block;
  width:100%;
  height:100%;
}

.balloons-hero-photo img{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  object-position:center center;
}

.balloons-hero-photo figcaption{
  position:absolute;
  left:16px;
  bottom:16px;
  padding:8px 11px;
  background:rgba(247,244,238,.88);
  color:var(--ink);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.04em;
  backdrop-filter:blur(8px);
}

.balloons-section{
  padding:104px 0;
}

.balloons-narrow{
  max-width:850px;
}

.balloons-section h2{
  margin:9px 0 26px;
  font-size:clamp(2.45rem,4.9vw,4.65rem);
  line-height:.99;
}

.balloons-prose{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:44px;
}

.balloons-prose p{
  margin:0 0 14px;
  color:var(--muted);
  font-size:1.02rem;
}

.balloons-prose p:last-child{
  grid-column:2;
}

.balloons-text-link{
  display:inline-block;
  margin-top:15px;
  font-weight:700;
  text-underline-offset:5px;
}

.balloons-story{
  background:var(--deep);
  color:#fff;
}

.balloons-story-grid{
  display:grid;
  grid-template-columns:minmax(340px,.82fr) minmax(0,1fr);
  gap:70px;
  align-items:center;
}

.balloons-story-photo{
  margin:0;
  min-height:650px;
  overflow:hidden;
  background:#1e3028;
}

.balloons-story-photo img{
  display:block;
  width:100%;
  height:650px;
  object-fit:cover;
  object-position:center 44%;
}

.balloons-story .section-kicker{
  color:#dcb896;
}

.balloons-story h2{
  max-width:650px;
}

.balloons-story-copy p{
  max-width:650px;
  margin:0 0 16px;
  color:rgba(255,255,255,.76);
  font-size:1.02rem;
}

.balloons-proof{
  margin-top:30px;
  padding:21px 24px;
  border-left:3px solid #dcb896;
  background:rgba(255,255,255,.07);
  color:#fff;
  font-weight:600;
}

.balloons-experience{
  background:#edf2ec;
}

.balloons-experience-heading{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(300px,.65fr);
  gap:64px;
  align-items:end;
  margin-bottom:42px;
}

.balloons-experience-heading h2{
  margin-bottom:0;
}

.balloons-experience-heading > p{
  margin:0 0 9px;
  color:var(--muted);
  font-size:1.03rem;
}

.balloons-experience-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
  gap:28px;
}

.balloons-sky-photo{
  margin:0;
  min-height:520px;
  overflow:hidden;
}

.balloons-sky-photo img{
  display:block;
  width:100%;
  height:100%;
  min-height:520px;
  object-fit:cover;
  object-position:center 61%;
}

.balloons-benefits{
  display:grid;
  grid-template-rows:repeat(3,1fr);
  border-top:1px solid rgba(36,49,40,.16);
}

.balloons-benefits article{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:16px;
  align-items:start;
  padding:25px 2px;
  border-bottom:1px solid rgba(36,49,40,.16);
}

.balloons-benefits article > span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border:1px solid rgba(36,49,40,.18);
  border-radius:50%;
  font-size:.9rem;
  font-weight:700;
}

.balloons-benefits strong{
  display:block;
  margin-bottom:5px;
  font-family:"Playfair Display",serif;
  font-size:1.38rem;
  font-weight:500;
}

.balloons-benefits p{
  margin:0;
  color:var(--muted);
  font-size:.92rem;
}

.balloons-center-heading{
  max-width:790px;
  margin:0 auto 42px;
  text-align:center;
}

.balloons-center-heading p{
  margin:0 auto;
  max-width:650px;
  color:var(--muted);
}

.balloons-room-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}

.balloons-room-card{
  position:relative;
  margin:0;
  min-height:360px;
  overflow:hidden;
  background:#dfe7df;
}

.balloons-room-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(20,31,25,.66),rgba(20,31,25,0) 58%);
}

.balloons-room-card img{
  display:block;
  width:100%;
  height:360px;
  object-fit:cover;
  transition:transform .35s ease;
}

.balloons-room-card:hover img{
  transform:scale(1.025);
}

.balloons-room-card figcaption{
  position:absolute;
  z-index:2;
  left:22px;
  right:22px;
  bottom:20px;
  color:#fff;
  font-family:"Playfair Display",serif;
  font-size:1.45rem;
}

.balloons-room-actions{
  display:flex;
  justify-content:center;
  gap:12px;
  margin-top:30px;
}

.balloons-button-ghost{
  background:transparent;
  color:var(--deep);
  border:1px solid rgba(41,66,55,.34);
}

.balloons-quote-section{
  position:relative;
  min-height:620px;
  display:grid;
  align-items:center;
  overflow:hidden;
  background:#596a79;
}

.balloons-quote-media,
.balloons-quote-overlay{
  position:absolute;
  inset:0;
}

.balloons-quote-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 35%;
}

.balloons-quote-overlay{
  background:linear-gradient(90deg,rgba(21,31,35,.74),rgba(21,31,35,.34) 55%,rgba(21,31,35,.15));
}

.balloons-quote-copy{
  position:relative;
  z-index:2;
  color:#fff;
}

.balloons-quote-copy blockquote{
  max-width:820px;
  margin:0;
  font-family:"Playfair Display",serif;
  font-size:clamp(3rem,6vw,6.3rem);
  font-weight:500;
  line-height:.94;
  letter-spacing:-.035em;
}

.balloons-quote-copy p{
  margin:25px 0 0;
  color:rgba(255,255,255,.78);
  font-size:.85rem;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.balloons-special{
  padding-top:88px;
  padding-bottom:88px;
}

.balloons-special-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:50px;
  align-items:center;
  padding:48px 52px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 20px 50px rgba(36,49,40,.07);
}

.balloons-special-card h2{
  margin-bottom:13px;
  font-size:clamp(2.2rem,4vw,3.8rem);
}

.balloons-special-card p{
  max-width:700px;
  margin:0 0 15px;
  color:var(--muted);
}

.balloons-special-meta{
  display:block;
  font-size:.9rem;
  color:var(--deep);
}

.balloons-closing{
  padding:94px 0 104px;
  background:var(--deep);
  color:#fff;
  text-align:center;
}

.balloons-closing-inner{
  max-width:870px;
}

.balloons-closing .balloons-eyebrow{
  color:#dcb896;
}

.balloons-closing h2{
  margin:12px 0 17px;
  font-size:clamp(3rem,6vw,5.6rem);
  line-height:.96;
}

.balloons-closing p{
  max-width:660px;
  margin:0 auto 28px;
  color:rgba(255,255,255,.74);
  font-size:1.03rem;
}

.balloons-closing .balloons-primary{
  background:#fff;
  color:var(--deep);
}


/* V126.1 — informazioni ufficiali Festival + FAQ visibili */
.balloons-official-section{
  padding-top:0;
  background:#f7f4ee;
}

.balloons-official-card{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);
  gap:42px 64px;
  padding:44px 48px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 18px 48px rgba(36,49,40,.06);
}

.balloons-official-copy h2{
  margin:9px 0 18px;
  font-size:clamp(2.15rem,3.7vw,3.55rem);
  line-height:1.02;
}

.balloons-official-copy p{
  max-width:610px;
  margin:0;
  color:var(--muted);
}

.balloons-official-links{
  border-top:1px solid rgba(36,49,40,.15);
}

.balloons-official-links a{
  display:grid;
  grid-template-columns:36px 1fr;
  gap:14px;
  align-items:center;
  min-height:66px;
  padding:10px 2px;
  color:var(--deep);
  text-decoration:none;
  border-bottom:1px solid rgba(36,49,40,.15);
}

.balloons-official-links a span{
  color:var(--accent);
  font-size:.73rem;
  font-weight:700;
  letter-spacing:.08em;
}

.balloons-official-links a strong{
  font-family:"Playfair Display",serif;
  font-size:1.17rem;
  font-weight:500;
}

.balloons-official-links a:hover strong{
  text-decoration:underline;
  text-underline-offset:5px;
}

.balloons-official-note{
  grid-column:1/-1;
  margin:-8px 0 0;
  padding-top:18px;
  border-top:1px solid rgba(36,49,40,.1);
  color:var(--muted);
  font-size:.82rem;
}

.balloons-faq{
  background:#fff;
}

.balloons-faq .balloons-center-heading{
  margin-bottom:36px;
}

.balloons-faq-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:rgba(36,49,40,.12);
  border:1px solid rgba(36,49,40,.12);
}

.balloons-faq-item{
  min-height:190px;
  padding:30px 32px;
  background:#fff;
}

.balloons-faq-item h3{
  margin:0 0 12px;
  font-family:"Playfair Display",serif;
  font-size:1.48rem;
  line-height:1.15;
  font-weight:500;
}

.balloons-faq-item p{
  margin:0;
  color:var(--muted);
  font-size:.94rem;
}

@media(max-width:920px){
  .balloons-hero-grid{
    grid-template-columns:1fr 380px;
    gap:34px;
  }
  .balloons-hero-photo{
    min-height:0;
    aspect-ratio:4 / 3;
  }
  .balloons-hero-photo picture,
  .balloons-hero-photo img{
    min-height:0;
    height:100%;
  }
  .balloons-story-grid{
    gap:40px;
  }
}

@media(max-width:780px){
  .balloons-wrap{
    width:calc(100% - 36px);
  }

  .balloons-hero{
    padding:34px 0 46px;
  }

  .balloons-hero-grid{
    display:flex;
    flex-direction:column;
    gap:26px;
    align-items:stretch;
  }

  .balloons-hero-copy{
    padding:8px 0 0;
  }

  .balloons-hero h1{
    font-size:clamp(3rem,14.5vw,5.1rem);
    margin-top:12px;
  }

  .balloons-hero-lead{
    font-size:1.45rem;
  }

  .balloons-hero-photo{
    min-height:auto;
    max-height:none;
    aspect-ratio:auto;
    box-shadow:0 18px 45px rgba(36,49,40,.13);
  }

  .balloons-hero-photo picture{
    height:auto;
  }

  .balloons-hero-photo img{
    min-height:0;
    height:auto;
    aspect-ratio:auto;
    object-fit:contain;
  }

  .balloons-section{
    padding:74px 0;
  }

  .balloons-section h2{
    font-size:clamp(2.45rem,11vw,4rem);
  }

  .balloons-prose{
    display:block;
  }

  .balloons-story-grid,
  .balloons-experience-heading,
  .balloons-experience-grid,
  .balloons-special-card{
    grid-template-columns:1fr;
  }

  .balloons-story-grid{
    gap:32px;
  }

  .balloons-story-photo,
  .balloons-story-photo img{
    min-height:0;
    height:auto;
  }

  .balloons-story-photo img{
    aspect-ratio:4/5;
    object-fit:cover;
  }

  .balloons-experience-heading{
    gap:5px;
    margin-bottom:28px;
  }

  .balloons-sky-photo,
  .balloons-sky-photo img{
    min-height:0;
  }

  .balloons-sky-photo img{
    height:auto;
    aspect-ratio:4/5;
  }

  .balloons-room-grid{
    grid-template-columns:1fr;
    gap:12px;
  }

  .balloons-room-card,
  .balloons-room-card img{
    min-height:0;
    height:auto;
  }

  .balloons-room-card img{
    aspect-ratio:16/10;
  }

  .balloons-room-actions{
    flex-direction:column;
  }

  .balloons-quote-section{
    min-height:560px;
  }

  .balloons-quote-copy blockquote{
    font-size:clamp(3rem,13vw,4.8rem);
  }

  .balloons-special-card{
    gap:26px;
    padding:32px 26px;
  }

  .balloons-special-card .button{
    width:100%;
  }

  .balloons-closing{
    padding:76px 0 84px;
  }

  .balloons-official-card{
    grid-template-columns:1fr;
    gap:28px;
    padding:30px 24px;
  }

  .balloons-official-copy h2{
    font-size:clamp(2.2rem,10vw,3.35rem);
  }

  .balloons-official-links a{
    min-height:62px;
  }

  .balloons-official-note{
    margin-top:0;
  }

  .balloons-faq-grid{
    grid-template-columns:1fr;
  }

  .balloons-faq-item{
    min-height:0;
    padding:25px 23px;
  }
}

/* =========================================================
   V127.7 — TRAVEL PROUD GLOBALE: LINK + IT/EN MOBILE
   Base CSS: V127.6 / V126.2 (style live indicato 20/09 ore 10:06)
   ========================================================= */
.travel-proud-header-mark{
  flex:0 0 auto;
  width:36px;
  height:42px;
  display:block;
  overflow:hidden;
  border-radius:6px;
  margin:0 3px;
  box-shadow:0 4px 12px rgba(24,57,106,.14);
  text-decoration:none;
  line-height:0;
  position:relative;
  z-index:3;
  pointer-events:auto !important;
  cursor:pointer;
  -webkit-tap-highlight-color:rgba(49,83,67,.14);
}

.travel-proud-header-mark img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  pointer-events:none;
}

.travel-proud-header-mark:hover{opacity:.9}
.travel-proud-header-mark:focus-visible{
  outline:2px solid #315343;
  outline-offset:3px;
}

/* Copia dedicata al mobile: sul desktop non occupa spazio. */
.language-switch-mobile{
  display:none !important;
}

@media (max-width:1180px) and (min-width:781px){
  .travel-proud-header-mark{
    width:30px;
    height:35px;
    margin-left:1px;
    margin-right:1px;
  }
}

@media (max-width:780px){
  .topbar{
    position:sticky;
    isolation:isolate;
  }

  /* Il badge è un vero link, sopra a tutti gli altri livelli della testata. */
  .travel-proud-header-mark{
    position:absolute;
    top:13px;
    right:18px;
    z-index:60;
    width:42px;
    height:49px;
    margin:0;
    pointer-events:auto !important;
  }

  .topbar .brand{
    padding-right:66px;
    box-sizing:border-box;
  }

  .topbar .brand-sub{
    max-width:calc(100% - 66px);
  }

  /*
   * Il selettore originale rimane nella nav per desktop ma sul telefono viene
   * nascosto. La copia mobile è figlia diretta della topbar e quindi non può
   * essere tagliata dalla riga di navigazione.
   */
  .site-nav > .language-switch:not(.language-switch-mobile){
    display:none !important;
  }

  .topbar > .language-switch-mobile{
    position:absolute;
    top:69px;
    right:15px;
    z-index:61;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:5px;
    min-width:56px;
    margin:0 !important;
    padding:6px 7px;
    background:rgba(247,244,238,.98);
    border:1px solid rgba(41,66,55,.22);
    border-radius:999px;
    box-shadow:0 3px 12px rgba(36,49,40,.07);
    font-size:.67rem;
    font-weight:700;
    letter-spacing:.06em;
    line-height:1;
    pointer-events:auto;
  }

  .topbar > .language-switch-mobile a{
    flex:0 0 auto;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    text-decoration:none;
  }

  .topbar > .language-switch-mobile i{
    font-style:normal;
  }
}
