/* Caratteri del sito ospitati in casa (prima arrivavano da Google Fonts) — Fraunces e Karla, licenza SIL Open Font License */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(media/fonts/fraunces-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(media/fonts/fraunces-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Karla';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(media/fonts/karla-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Karla';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(media/fonts/karla-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Karla';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(media/fonts/karla-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Karla';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(media/fonts/karla-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Hotel Ancora — foglio di stile unico
   Versione 3 — 22-09-2026
   Impianto: video in apertura, sezioni a scorrimento, slideshow delle foto. */

:root {
  color-scheme: light;

  --ink:        #13312c;
  --ink-soft:   #46635c;
  --ground:     #eef1ed;
  --surface:    #ffffff;
  --line:       #d6dcd6;
  --accent:     #a97a2b;
  --accent-dark:#855e1c;
  --lake:       #1d5a61;

  --display: 'Fraunces', Georgia, 'Times New Roman', serif;
  --body: 'Karla', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;

  --wrap: 1180px;
  --gutter: clamp(16px, 4vw, 48px);
  --radius: 2px;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}

body {
  margin: 0;
  background: var(--ground);
  color: var(--ink);
  font-family: var(--body);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

img, video { max-width: 100%; display: block; }
a { color: inherit; }

h1, h2, h3 {
  font-family: var(--display);
  font-weight: 400;
  line-height: 1.12;
  text-wrap: balance;
  margin: 0;
}
h1 { font-size: clamp(2.1rem, 5vw, 3.6rem); }
h2 { font-size: clamp(1.8rem, 3.6vw, 2.6rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.45rem); }
p { margin: 0; }

.wrap {
  width: 100%;
  max-width: var(--wrap);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.eyebrow {
  font-size: .76rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--accent-dark);
  margin: 0 0 .8rem;
  font-weight: 700;
}

section { padding-block: clamp(48px, 7vw, 92px); }
.lead { color: var(--ink-soft); max-width: 62ch; }

/* ---------- bottoni ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .8rem 1.5rem;
  border: 1px solid transparent;
  border-radius: var(--radius);
  font-family: var(--body);
  font-weight: 700;
  font-size: .95rem;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.btn--primary { background: var(--accent); color: #fff; }
.btn--primary:hover { background: var(--accent-dark); }
.btn--ghost { border-color: currentColor; background: transparent; }
.btn--ghost:hover { background: rgba(0,0,0,.06); }
.btn--light { background: rgba(255,255,255,.94); color: var(--ink); }
.btn--light:hover { background: #fff; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

/* ---------- testata ---------- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(238,241,237,.95);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 66px;
}
.brand { display: flex; align-items: center; text-decoration: none; }
.brand__logo { height: 42px; width: auto; }
@media (max-width: 480px) { .brand__logo { height: 34px; } }
.footer__logo { height: 44px; width: auto; }

.nav { display: flex; align-items: center; gap: clamp(.7rem, 1.8vw, 1.5rem); }
.nav a {
  text-decoration: none;
  font-size: .92rem;
  color: var(--ink-soft);
  padding-block: .35rem;
  border-bottom: 1px solid transparent;
  white-space: nowrap;
}
.nav a:hover, .nav a[aria-current="page"] { color: var(--ink); border-bottom-color: var(--accent); }

.nav-toggle {
  display: none;
  background: none;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: .55rem .7rem;
  cursor: pointer;
  color: var(--ink);
}
.nav-toggle span { display: block; width: 20px; height: 2px; background: currentColor; }
.nav-toggle span + span { margin-top: 5px; }

.header-cta { display: inline-flex; }
.header-right { display: flex; align-items: center; gap: 1rem; }

.langs {
  display: flex;
  align-items: center;
  gap: .1rem;
  padding: .15rem;
  border: 1px solid var(--line);
  border-radius: 999px;
}
.langs a {
  text-decoration: none;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .06em;
  color: var(--ink-soft);
  padding: .3rem .45rem;
  border-radius: var(--radius);
}
.langs a { border-radius: 999px; }
.langs a:hover { color: var(--ink); background: rgba(0,0,0,.05); }
.langs a[aria-current="true"] { color: #fff; background: var(--lake); }
.nav__etichetta { display: none; }
.langs--nav { display: none; }

@media (max-width: 1099px) {
  .nav-toggle { display: block; }
  .header-cta { display: none; }
  .header-right > .langs { display: none; }
  .nav__etichetta {
    display: block;
    margin: 1.2rem 0 .5rem;
    font-size: .78rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ink-soft);
  }
  .langs--nav { display: flex; gap: .4rem; padding: 0; border: 0; }
  .langs--nav a { border: 1px solid var(--line); padding: .6rem 1rem; font-size: .95rem; }
  .nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    background: var(--surface);
    border-bottom: 1px solid var(--line);
    padding: .5rem var(--gutter) 1.2rem;
  }
  .nav[hidden] { display: none; }
  .nav a { padding-block: .8rem; border-bottom: 1px solid var(--line); font-size: 1rem; }
  .nav .btn { margin-top: .9rem; }
}
@media (min-width: 1100px) {
  .nav { display: flex !important; }
  .nav .btn { display: none; }
}

/* ---------- apertura con video ---------- */
.hero { position: relative; background: var(--ink); }
.hero__media { position: relative; height: clamp(440px, 76vh, 760px); overflow: hidden; background: #0b1f1d; }
.hero__media video, .hero__media img { width: 100%; height: 100%; object-fit: cover; }
/* Il filmato e' girato in verticale: da 641 px in su si mostra intero,
   stretto e centrato, con il fondo scuro ai lati. */
@media (min-width: 641px) {
  .hero__media video { object-fit: contain; }
}
.hero__media::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(8,28,26,.18) 0%, rgba(8,28,26,0) 28%, rgba(8,28,26,0) 62%, rgba(8,28,26,.30) 100%);
}
@media (max-width: 900px) {
  .hero__media::after {
    background: linear-gradient(180deg, rgba(8,28,26,.20) 0%, rgba(8,28,26,0) 26%, rgba(8,28,26,.18) 52%, rgba(8,28,26,.62) 100%);
  }
}
.hero__text {
  position: absolute; inset: auto 0 0 0;
  padding-bottom: clamp(38px, 7vw, 72px);
  color: #fff;
}
.hero__text h1 { color: #fff; max-width: 16ch; }
.hero__text p {
  margin-top: .9rem;
  color: rgba(255,255,255,.92);
  font-size: 1.02rem;
  letter-spacing: .01em;
}
.hero__data {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(.9rem, 2.4vw, 1.6rem) clamp(1rem, 3vw, 2.4rem);
  color: #fff;
  text-shadow: 0 2px 14px rgba(0,0,0,.75), 0 0 3px rgba(0,0,0,.6);
}
.hero__data span {
  display: flex;
  flex-direction: column;
  gap: .1rem;
}
.hero__data strong {
  font-family: var(--display);
  font-size: clamp(1.6rem, 5.5vw, 2.1rem);
  line-height: 1;
}
.hero__data em {
  font-style: normal;
  font-size: clamp(.82rem, 2.6vw, .9rem);
  line-height: 1.25;
  color: rgba(255,255,255,.94);
}
@media (max-width: 900px) { .hero__data { grid-template-columns: repeat(2, 1fr); } }

/* visibile solo ai motori di ricerca e ai lettori di schermo */
.solo-lettori {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.hero__sound {
  position: absolute;
  right: var(--gutter);
  top: 16px;
  z-index: 4;
  background: rgba(255,255,255,.9);
  color: var(--ink);
  border: 0;
  border-radius: var(--radius);
  padding: .55rem .9rem;
  font-family: var(--body);
  font-size: .82rem;
  font-weight: 700;
  cursor: pointer;
}
.hero__sound:hover { background: #fff; }
.hero__cta { margin-top: 1.3rem; }

/* ---------- barra prenotazione ---------- */
.booking {
  background: var(--surface);
  border: 1px solid var(--line);
  border-top: 3px solid var(--accent);
  margin-top: -34px;
  position: relative;
  z-index: 5;
  padding: 1.1rem 1.2rem;
  display: grid;
  gap: .9rem;
  grid-template-columns: 1fr;
}
@media (min-width: 820px) {
  .booking { grid-template-columns: repeat(3, 1fr) auto; align-items: end; gap: 1.2rem; padding: 1.3rem 1.5rem; }
}
.field { display: flex; flex-direction: column; gap: .35rem; }
.field label { font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-soft); font-weight: 700; }
.field input, .field select {
  font-family: var(--body);
  font-size: 1rem;
  padding: .7rem .6rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  color: var(--ink);
  width: 100%;
}
.booking .btn { width: 100%; }
@media (min-width: 820px) { .booking .btn { width: auto; padding-inline: 2rem; } }
.booking__note { grid-column: 1 / -1; font-size: .82rem; color: var(--ink-soft); margin: 0; }

/* ---------- riga dati ---------- */
.facts-row {
  margin-top: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  margin-top: clamp(36px, 5vw, 56px);
}
@media (min-width: 760px) { .facts-row { grid-template-columns: repeat(3, 1fr); } }
.facts-row > div { background: var(--ground); padding: 1.2rem 1.1rem; }
.facts-row strong { display: block; font-family: var(--display); font-size: 1.55rem; line-height: 1; }
.facts-row span { display: block; margin-top: .35rem; font-size: .84rem; color: var(--ink-soft); }

/* ---------- striscia prenotazione diretta ---------- */
.direct {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: clamp(440px, 62vw, 680px);
  background: #0b1f1d;
  color: #fff;
  padding-block: 0 clamp(26px, 3.5vw, 46px);
  overflow: hidden;
}
.direct__media { position: absolute; inset: 0; }
.direct__media video { width: 100%; height: 100%; object-fit: cover; }
.direct__media::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(8,28,26,0) 0%, rgba(8,28,26,0) 52%, rgba(8,28,26,.45) 78%, rgba(8,28,26,.72) 100%);
}
.direct__inner { position: relative; z-index: 2; }
.direct__data { grid-template-columns: repeat(4, 1fr); gap: .5rem 1.6rem; }
.direct__data strong { font-size: clamp(1.05rem, 2.2vw, 1.35rem); }
.direct__data em { font-size: clamp(.72rem, 1.5vw, .8rem); line-height: 1.2; }
.direct__title { font-size: .68rem; margin-bottom: .7rem; }
@media (max-width: 900px) { .direct__data { grid-template-columns: repeat(2, 1fr); } }
.direct__data strong { font-size: clamp(1.4rem, 4.4vw, 1.9rem); }

.direct__title { font-size: .76rem; letter-spacing: .16em; text-transform: uppercase; color: #e2c78c; font-weight: 700; margin-bottom: 1rem; }

/* ---------- persone: solo il filmato, con i nomi in sovrimpressione ---------- */
.persone {
  position: relative;
  padding: 0;
  background: #0b1f1d;
  overflow: hidden;
}
.persone__video {
  width: 100%;
  height: clamp(420px, 68vw, 760px);
  object-fit: cover;
  display: block;
}
.persone__nomi {
  position: absolute;
  bottom: clamp(18px, 3.5vw, 40px);
  left: clamp(16px, 4vw, 48px);
  right: clamp(16px, 4vw, 48px);
  z-index: 2;
  pointer-events: none;
  margin: 0;
  max-width: 16ch;
  color: #fff;
  font-family: var(--display);
  font-size: clamp(1.5rem, 4vw, 2.6rem);
  line-height: 1.1;
  letter-spacing: .01em;
  text-shadow: 0 2px 18px rgba(0,0,0,.9), 0 0 4px rgba(0,0,0,.75);
}
.persone__audio { top: clamp(14px, 2.5vw, 22px); }

/* ---------- fascia di foto che scorre ---------- */
.mq {
  overflow: hidden;
  margin-top: clamp(20px, 2.5vw, 32px);
  padding-block: clamp(12px, 2vw, 24px);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}
.mq__track {
  display: flex;
  align-items: center;
  gap: clamp(14px, 2.4vw, 36px);
  width: max-content;
  animation: mq-scorri 42s linear infinite;
}
@keyframes mq-scorri {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.mq__item { display: block; flex: none; }
.mq__item img {
  display: block;
  width: auto;
  max-width: none;
  height: var(--h);
  object-fit: cover;
}
.mq__item--s { --h: clamp(150px, 22vw, 280px); }
.mq__item--m { --h: clamp(190px, 30vw, 380px); }
.mq__item--l { --h: clamp(230px, 38vw, 470px); }
.mq__item--start  { align-self: flex-start; }
.mq__item--center { align-self: center; }
.mq__item--end    { align-self: flex-end; }
.mq__action { margin-top: clamp(20px, 3vw, 36px); }
@media (prefers-reduced-motion: reduce) {
  .mq { overflow-x: auto; }
  .mq__track { animation: none; }
}

/* ---------- slideshow ---------- */
.slider { position: relative; background: #0b1f1d; }
.slider__track { position: relative; aspect-ratio: 16 / 9; }
@media (max-width: 640px) { .slider__track { aspect-ratio: 4 / 3; } }
.slider__slide {
  position: absolute; inset: 0;
  opacity: 0;
  transition: opacity .7s ease;
  display: block;
}
.slider__slide.is-active { opacity: 1; }

.slider__slide img { width: 100%; height: 100%; object-fit: cover; }
.slider__caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 2.6rem 1.2rem 1rem;
  color: #fff;
  font-size: .9rem;
  background: linear-gradient(180deg, rgba(8,28,26,0) 0%, rgba(8,28,26,.75) 100%);
}
.slider__btn {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 44px; height: 44px;
  border: 0; border-radius: 50%;
  background: rgba(255,255,255,.88);
  color: var(--ink);
  font-size: 1.1rem; line-height: 1;
  cursor: pointer;
}
.slider__btn:hover { background: #fff; }
.slider__btn--prev { left: 12px; }
.slider__btn--next { right: 12px; }
.slider__dots {
  position: absolute; left: 0; right: 0; bottom: 12px;
  display: flex; justify-content: center; gap: .4rem;
}
.slider__dots button {
  width: 8px; height: 8px; padding: 0;
  border: 0; border-radius: 50%;
  background: rgba(255,255,255,.45);
  cursor: pointer;
}
.slider__dots button[aria-current="true"] { background: #fff; }
.slider__cta {
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}

/* ---------- blocchi testo + media ---------- */
.split { display: grid; gap: clamp(22px, 3.5vw, 52px); align-items: center; grid-template-columns: 1fr; }
@media (min-width: 900px) {
  .split { grid-template-columns: 1fr 1fr; }
  .split--flip .split__media { order: -1; }
}
.split__media img, .split__media video { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.split__text > * + * { margin-top: 1rem; }

/* ---------- elenchi di fatti ---------- */
.plain-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.plain-list li { padding-left: 1.4rem; position: relative; font-size: .97rem; color: var(--ink-soft); }
.plain-list li::before { content: ''; position: absolute; left: 0; top: .62em; width: 8px; height: 1px; background: var(--accent); }

.spec {
  display: grid; gap: .1rem; margin-top: 1.2rem;
}
.spec div {
  display: flex; justify-content: space-between; gap: 1rem;
  padding: .65rem 0; border-bottom: 1px solid var(--line);
  font-size: .95rem;
}
.spec span:last-child { color: var(--ink-soft); font-variant-numeric: tabular-nums; text-align: right; }

/* ---------- schede ---------- */
.cards { display: grid; gap: clamp(16px, 2vw, 24px); grid-template-columns: 1fr; margin-top: clamp(24px, 3vw, 40px); }
@media (min-width: 640px) { .cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .cards { grid-template-columns: repeat(3, 1fr); } }
.card { background: var(--surface); border: 1px solid var(--line); padding: 1.2rem 1.25rem 1.35rem; }
.card h3 { margin-bottom: .45rem; }
.card p, .card li { font-size: .94rem; color: var(--ink-soft); }

/* ---------- motore di prenotazione dentro la pagina ---------- */
.engine {
  margin-top: clamp(20px, 3vw, 32px);
  border: 1px solid var(--line);
  background: var(--surface);
}
.engine iframe {
  display: block;
  width: 100%;
  height: 1100px;
  border: 0;
}
@media (min-width: 900px) { .engine iframe { height: 900px; } }
.engine__fallback { padding: clamp(24px, 4vw, 40px); display: grid; gap: .9rem; justify-items: start; }
.engine__fallback strong { font-family: var(--display); font-size: 2.2rem; line-height: 1; margin-right: .4rem; }

/* ---------- piede ---------- */
.site-footer { background: var(--ink); color: rgba(255,255,255,.8); padding-block: clamp(44px, 5vw, 68px) 2rem; }
.site-footer a { color: #fff; }
.footer-grid { display: grid; gap: 2rem; grid-template-columns: 1fr; }
@media (min-width: 760px) { .footer-grid { grid-template-columns: 1.3fr 1fr 1fr; } }
.site-footer h3 { color: #fff; font-size: 1rem; font-family: var(--body); font-weight: 700; letter-spacing: .04em; }
.site-footer ul { list-style: none; margin: .8rem 0 0; padding: 0; display: grid; gap: .45rem; font-size: .94rem; }
.legal { margin-top: 2.4rem; padding-top: 1.3rem; border-top: 1px solid rgba(255,255,255,.14); font-size: .8rem; color: rgba(255,255,255,.6); display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; }

/* ---------- barra telefono ---------- */
.mobile-bar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
  display: grid; grid-template-columns: 1fr 1fr 1.3fr;
  background: var(--surface);
  border-top: 1px solid var(--line);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
.mobile-bar a {
  padding: .95rem .4rem; text-align: center; text-decoration: none;
  font-size: .88rem; font-weight: 700; color: var(--ink);
  border-left: 1px solid var(--line);
}
.mobile-bar a:first-child { border-left: 0; }
.mobile-bar a.is-book { background: var(--accent); color: #fff; }
@media (min-width: 1100px) { .mobile-bar { display: none; } }
@media (max-width: 1099px) { body { padding-bottom: 62px; } }

/* --- foto che scorrono come filmato (colazione, sale riunioni) --- */
.video-foto { background: var(--surface); line-height: 0; }
.video-foto video { display: block; width: 100%; height: auto; }
.video-foto--sale { background: #0b1f1d; border-radius: var(--radius); overflow: hidden; }


/* ---------- cornice del televisore attorno ai filmati (25-09-2026) ----------
   La cornice e' la foto di un vecchio televisore con lo schermo ritagliato
   (media/tv-cornice.webp, 976x892). Si allunga a qualsiasi formato: gli angoli
   restano com'erano (200 px della foto), si allungano solo i lati.
   --u = quanto vale 1 px della foto sullo schermo: piu' piccola sul telefono. */
.tv {
  --u: clamp(.2px, .045vw, .55px);
  position: relative;
  padding: calc(47 * var(--u)) calc(47 * var(--u)) calc(49 * var(--u)) calc(48 * var(--u));
}
.tv::after {
  content: '';
  position: absolute; inset: 0;
  z-index: 5;
  pointer-events: none;
  border-style: solid;
  border-width: calc(200 * var(--u));
  border-image: url('media/tv-cornice.webp') 200 stretch;
}
.tv__schermo { position: relative; overflow: hidden; background: #0b0f0e; }
.tv__schermo video { display: block; width: 100%; }
/* il vetro: bordi un po' in ombra e un riflesso appena accennato */
.tv__schermo::after {
  content: '';
  position: absolute; inset: 0;
  z-index: 3;
  pointer-events: none;
  box-shadow: inset 0 0 calc(70 * var(--u)) rgba(0,0,0,.5);
  background: radial-gradient(ellipse 60% 45% at 28% 18%, rgba(255,255,255,.08), rgba(255,255,255,0) 70%);
}
.video-foto--sale.tv__schermo { border-radius: 0; }

/* drone: il televisore su fondo scuro, le quattro voci dentro lo schermo */
.direct {
  display: block;
  min-height: 0;
  padding-block: clamp(28px, 5vw, 64px);
}
.direct .tv__schermo video { aspect-ratio: 16 / 9; height: auto; object-fit: cover; }
.direct__box { position: relative; }
.direct__inner {
  position: absolute;
  left: calc(var(--gutter) + 48 * var(--u2));
  right: calc(var(--gutter) + 47 * var(--u2));
  bottom: calc(49 * var(--u2));
  z-index: 4;
  padding: clamp(40px, 8vw, 110px) calc(16px + 40 * var(--u2)) calc(14px + 30 * var(--u2));
  background: linear-gradient(180deg, rgba(8,28,26,0) 0%, rgba(8,28,26,.5) 55%, rgba(8,28,26,.75) 100%);
}
.direct__box { --u2: clamp(.2px, .045vw, .55px); }
@media (max-width: 700px) {
  .direct__inner { position: static; padding: 1.3rem 0 0; background: none; }
}

/* persone: stesso televisore */
.persone { padding-block: clamp(28px, 5vw, 64px); }
.persone__video { height: auto; aspect-ratio: 16 / 9; }
.persone .persone__nomi {
  left: calc(16px + 40 * var(--u));
  bottom: calc(12px + 30 * var(--u));
  font-size: clamp(1.2rem, 3.6vw, 2.4rem);
}
.persone .persone__audio { top: calc(10px + 25 * var(--u)); right: calc(10px + 40 * var(--u)); }

/* camere: la fascia di foto che scorre dentro lo stesso televisore (25-09-2026) */
.tv-camere { margin-top: clamp(20px, 2.5vw, 32px); }
.tv-camere .tv__schermo { background: #0b0f0e; }
.tv-camere .mq { margin-top: 0; padding-block: clamp(14px, 2.2vw, 28px); }


/* ---------- apertura sugli schermi larghi (25-09-2026) ----------
   Il filmato e' verticale 9:16. Da 641 px in su:
   - i lati vuoti si riempiono con lo stesso filmato ingrandito, sfocato e piu' scuro;
   - le scritte stanno sempre sopra il filmato, larghe quanto lui.
   --hh e' l'altezza del riquadro, --hw la larghezza del filmato. */
.hero { --hh: clamp(440px, 76vh, 760px); --hw: calc(var(--hh) * 9 / 16); }
.hero__media { height: var(--hh); }
.hero__media video.hero__sfondo { display: none; }
@media (min-width: 641px) {
  .hero__media video.hero__sfondo {
    display: block;
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    filter: blur(24px) brightness(.72) saturate(1.15);
    transform: scale(1.25);
    pointer-events: none;
  }
  .hero__media video#hero-video { position: relative; z-index: 1; }
  .hero__media::after { z-index: 2; }
  .hero__text {
    left: 50%; right: auto;
    width: var(--hw);
    transform: translateX(-50%);
    z-index: 3;
  }
  .hero__text .wrap { padding-inline: 20px; }
  .hero__data { grid-template-columns: repeat(2, 1fr); gap: .9rem 1.2rem; }
  .hero__sound { right: calc(50% - var(--hw) / 2 + 14px); }
}


/* =====================================================================
   CASA ALLE COLONNE by Hotel Ancora — la versione invernale (25-09-2026)
   ===================================================================== */

/* --- banda stagionale in home, subito sotto l'apertura --- */
.banda-stagione {
  background: #0f2724;
  color: #fff;
  border-top: 3px solid var(--accent);
}
.banda-stagione .wrap {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: .8rem 1.6rem;
  padding-block: 1rem;
}
.banda-stagione__firma { margin: 0; font-family: var(--display); font-size: clamp(1.15rem, 2.4vw, 1.45rem); line-height: 1.15; }
.banda-stagione__firma span { font-family: var(--body); font-size: .72em; color: #e2c78c; letter-spacing: .04em; }
.banda-stagione__testo { margin: .25rem 0 0; font-size: .92rem; color: rgba(255,255,255,.88); }
.banda-stagione__adesso { display: none; }
.banda-stagione--adesso .banda-stagione__adesso { display: inline; }
.banda-stagione--adesso .banda-stagione__prossimo { display: none; }
.banda-stagione .btn { white-space: nowrap; }

/* --- finestra delle date (si apre da ogni pulsante Prenota) --- */
.date-box { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 16px; }
.date-box[hidden] { display: none; }
.date-box__velo { position: absolute; inset: 0; background: rgba(8,22,20,.62); }
.date-box__carta {
  position: relative;
  width: min(520px, 100%);
  max-height: calc(100vh - 32px); overflow: auto;
  background: var(--surface);
  border-top: 3px solid var(--accent);
  padding: clamp(20px, 4vw, 32px);
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
}
.date-box__carta h2 { margin: .2rem 0 1rem; font-size: clamp(1.4rem, 4vw, 1.8rem); }
.date-box__x { position: absolute; top: 8px; right: 10px; border: 0; background: none; font-size: 2rem; line-height: 1; color: var(--ink-soft); cursor: pointer; padding: .3rem .5rem; }
.date-box__campi { display: grid; grid-template-columns: 1fr 1fr 5.5rem; gap: .7rem; }
@media (max-width: 460px) { .date-box__campi { grid-template-columns: 1fr 1fr; } .date-box__campi label:last-child { grid-column: 1 / -1; } }
.date-box__campi label { display: flex; flex-direction: column; gap: .3rem; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: var(--ink-soft); }
.date-box__campi input, .date-box__campi select {
  font: inherit; font-size: 1rem; letter-spacing: 0; text-transform: none; font-weight: 400;
  color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  padding: .7rem .6rem; min-height: 48px; width: 100%;
}
.date-box__vai { width: 100%; justify-content: center; min-height: 52px; margin-top: 1.1rem; }
.date-box__vai:disabled { opacity: .45; cursor: not-allowed; }
.date-box__nota { margin: .6rem 0 0; font-size: .8rem; color: var(--ink-soft); text-align: center; }
.date-box__errore { color: #a1321f; font-size: .9rem; margin: .8rem 0 0; }
html.date-box-aperta { overflow: hidden; }

/* --- l'avviso invernale (dentro la finestra e nella pagina Casa alle Colonne) --- */
.avviso-inverno {
  margin-top: 1.1rem;
  background: #0f2724; color: #fff;
  padding: 1rem 1.1rem 1.1rem;
  border-left: 4px solid var(--accent);
}
.avviso-inverno[hidden] { display: none; }
.avviso-inverno__firma { margin: 0 0 .35rem; font-family: var(--display); font-size: 1.2rem; }
.avviso-inverno__firma span { font-family: var(--body); font-size: .75em; color: #e2c78c; }
.avviso-inverno__testo { margin: 0; font-size: .92rem; color: rgba(255,255,255,.9); }
.avviso-inverno__lista { list-style: none; margin: .6rem 0 .8rem; padding: 0; display: grid; gap: .35rem; font-size: .98rem; }
.avviso-inverno__lista b { display: inline-block; width: 1.4rem; color: #e2c78c; }
.avviso-inverno__ok { display: flex; gap: .6rem; align-items: flex-start; font-weight: 700; font-size: .95rem; background: rgba(255,255,255,.08); padding: .7rem .75rem; cursor: pointer; }
.avviso-inverno__ok input { width: 22px; height: 22px; flex: none; margin: 0; accent-color: var(--accent); }
.avviso-inverno__link { margin: .7rem 0 0; font-size: .88rem; }
.avviso-inverno__link a { color: #e2c78c; }

/* --- pagina Casa alle Colonne --- */
.cac-testata { background: #0f2724; color: #fff; padding-block: clamp(40px, 7vw, 88px) clamp(32px, 5vw, 60px); }
.cac-testata .eyebrow { color: #e2c78c; }
.cac-testata h1 { color: #fff; font-size: clamp(2rem, 6vw, 3.4rem); line-height: 1.02; margin: .3rem 0 0; }
.cac-testata h1 span { display: block; font-family: var(--body); font-size: .38em; letter-spacing: .06em; color: #e2c78c; margin-top: .5rem; }
.cac-testata__date { margin-top: 1.2rem; font-size: clamp(1rem, 2.4vw, 1.2rem); color: rgba(255,255,255,.92); }
.cac-testata .btn { margin-top: 1.4rem; }

.cac-tabella { width: 100%; border-collapse: collapse; margin-top: 1.2rem; font-size: 1rem; background: var(--surface); }
.cac-tabella th, .cac-tabella td { padding: .85rem .7rem; border-bottom: 1px solid var(--line); text-align: center; }
.cac-tabella th:first-child, .cac-tabella td:first-child { text-align: left; }
.cac-tabella thead th { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-soft); }
.cac-tabella thead th small { display: block; letter-spacing: 0; text-transform: none; font-weight: 400; }
.cac-tabella .si { color: var(--lake); font-weight: 700; font-size: 1.2rem; }
.cac-tabella .no { color: #a1321f; font-weight: 700; font-size: 1.2rem; }
.cac-tabella td.inverno { background: rgba(15,39,36,.05); }

.cac-passi { list-style: none; counter-reset: passo; margin: 1.4rem 0 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.cac-passi li { counter-increment: passo; background: var(--surface); border-top: 3px solid var(--accent); padding: 1rem 1.1rem 1.2rem; }
.cac-passi li::before { content: counter(passo); display: block; font-family: var(--display); font-size: 2rem; line-height: 1; color: var(--accent-dark); margin-bottom: .4rem; }
.cac-foto-mancante { border: 2px dashed var(--line); color: var(--ink-soft); display: grid; place-items: center; min-height: 220px; text-align: center; padding: 1rem; font-size: .9rem; background: var(--surface); }

.cac-parente { background: var(--surface); border-left: 4px solid var(--lake); padding: 1rem 1.2rem; margin-top: 1.6rem; }
.cac-parente p { margin: 0; }

/* finestra date: il pulsante resta sempre premibile; se manca qualcosa appare chiaro (26-09-2026) */
.date-box__vai--attesa { opacity: .55; }
.date-box__errore { font-weight: 700; }
.avviso-inverno--richiamo { outline: 3px solid #e2c78c; outline-offset: 2px; }
.avviso-inverno--richiamo .avviso-inverno__ok { background: rgba(226,199,140,.28); }

/* =====================================================================
   SITO PARALLELO Casa alle Colonne (cartella casa-alle-colonne/) — 27-09-2026
   Stessa struttura dell'Hotel Ancora, ma colori d'inverno: blu ardesia e ghiaccio.
   ===================================================================== */
body.inverno {
  --ground: #edf1f4;
  --surface: #ffffff;
  --ink: #1b2a36;
  --ink-soft: #4d6070;
  --line: #d3dce3;
  --lake: #2e5873;
}
body.inverno .site-header { background: #ffffff; }
.brand--cac { display: flex; flex-direction: column; text-decoration: none; line-height: 1; color: var(--ink); }
.brand-cac__nome { font-family: var(--display); font-size: 1.35rem; }
.brand-cac__by { font-size: .72rem; letter-spacing: .08em; color: var(--accent-dark); margin-top: .2rem; }
body.inverno .cac-testata { background: linear-gradient(160deg, #16303f 0%, #1f4257 60%, #2c5a70 100%); }
body.inverno .banda-stagione, body.inverno .avviso-inverno { background: #16303f; }
.cac-testata__dati { display: grid; grid-template-columns: repeat(4, 1fr); gap: .8rem 1.4rem; margin-top: 1.4rem; max-width: 760px; }
@media (max-width: 700px) { .cac-testata__dati { grid-template-columns: repeat(2, 1fr); } }
.cac-testata__dati span { display: flex; flex-direction: column; }
.cac-testata__dati strong { font-family: var(--display); font-size: clamp(1.5rem, 4.5vw, 2rem); line-height: 1; color: #e2c78c; }
.cac-testata__dati em { font-style: normal; font-size: .86rem; color: rgba(255,255,255,.88); margin-top: .2rem; }

.cac-idee { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); margin-top: 1.4rem; }
.cac-idee article { background: var(--ground); border-top: 3px solid var(--lake); padding: 1rem 1.1rem 1.2rem; display: flex; flex-direction: column; }
.cac-idee h3 { margin: .2rem 0 .4rem; font-size: 1.2rem; }
.cac-idee p { margin: 0 0 .6rem; }
.cac-idee__dove { font-size: .72rem !important; letter-spacing: .1em; text-transform: uppercase; font-weight: 700; color: var(--ink-soft); }
.cac-idee a { margin-top: auto; font-weight: 700; color: var(--lake); }

/* banda in home: tutta cliccabile */
a.banda-stagione { display: block; text-decoration: none; color: #fff; }
a.banda-stagione:hover { background: #143430; }
a.banda-stagione:hover .btn { background: #fff; }
a.banda-stagione:focus-visible { outline: 3px solid #e2c78c; outline-offset: -3px; }

/* =====================================================================
   SITO PARALLELO — versione con immagini e filmato (27-09-2026)
   ===================================================================== */
.cac-hero { position: relative; min-height: clamp(520px, 88vh, 820px); display: flex; align-items: flex-end; background: #16303f; overflow: hidden; }
.cac-hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cac-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,24,34,.25) 0%, rgba(10,24,34,0) 35%, rgba(10,24,34,.15) 55%, rgba(10,24,34,.78) 100%); }
.cac-hero__testo { position: relative; z-index: 2; color: #fff; padding-bottom: clamp(32px, 6vw, 72px); }
.cac-hero__date { margin: 0; font-size: .82rem; letter-spacing: .18em; text-transform: uppercase; font-weight: 700; color: #e2c78c; text-shadow: 0 1px 8px rgba(0,0,0,.6); }
.cac-hero h1 { color: #fff; font-size: clamp(2.3rem, 7vw, 4.2rem); line-height: 1; margin: .35rem 0 0; text-shadow: 0 2px 20px rgba(0,0,0,.55); }
.cac-hero h1 span { display: block; font-family: var(--body); font-size: .34em; letter-spacing: .08em; color: #e2c78c; margin-top: .5rem; }
.cac-segni { list-style: none; margin: 1.3rem 0 1.4rem; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.cac-segni li { display: flex; align-items: center; gap: .5rem; background: rgba(10,24,34,.55); backdrop-filter: blur(4px); padding: .5rem .85rem; font-size: .95rem; border: 1px solid rgba(255,255,255,.18); }
.cac-segni b { color: #e2c78c; font-family: var(--display); font-size: 1.15rem; }

.cac-sotto { margin: .2rem 0 1.2rem; color: var(--ink-soft); font-size: 1.02rem; }

.cac-passi-foto { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 1.2rem; }
@media (max-width: 700px) { .cac-passi-foto { grid-template-columns: 1fr; } }
.cac-passi-foto figure { margin: 0; background: var(--surface); }
.cac-passi-foto img, .cac-passi-foto .cac-foto-mancante { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; min-height: 0; }
.cac-passi-foto figcaption { padding: .8rem .9rem 1rem; font-size: 1rem; display: flex; gap: .6rem; align-items: baseline; }
.cac-passi-foto figcaption b { font-family: var(--display); font-size: 1.6rem; color: var(--accent-dark); line-height: 1; }
.cac-aiuto { margin-top: 1rem; color: var(--ink-soft); }

.cac-scuro { background: #16303f; color: #fff; }
.cac-scuro h2 { color: #fff; }
.cac-scuro .cac-sotto { color: #e2c78c; }
.cac-galleria { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 var(--gutter) 1.2rem; -webkit-overflow-scrolling: touch; }
.cac-galleria img { flex: none; height: clamp(220px, 34vw, 420px); width: auto; scroll-snap-align: start; }

.cac-tessere { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-flow: dense; gap: 12px; margin-top: 1.2rem; }
@media (max-width: 900px) { .cac-tessere { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .cac-tessere { grid-template-columns: 1fr; } }
.tessera { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; color: #fff; text-decoration: none; background: #1f4257; }
.tessera--grande { grid-column: span 2; aspect-ratio: auto; min-height: 100%; }
@media (max-width: 560px) { .tessera--grande { grid-column: auto; aspect-ratio: 4 / 3; } }
.tessera__foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
a.tessera:hover .tessera__foto { transform: scale(1.04); }
.tessera::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,24,34,0) 40%, rgba(10,24,34,.85) 100%); }
.tessera__testo { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 1rem 1.1rem; display: flex; flex-direction: column; gap: .15rem; }
.tessera__testo em { font-style: normal; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: #e2c78c; font-weight: 700; }
.tessera__testo strong { font-family: var(--display); font-weight: 400; font-size: clamp(1.25rem, 2.4vw, 1.6rem); line-height: 1.1; }
.tessera__testo span { font-size: .9rem; color: rgba(255,255,255,.88); }
.tessera__foto--manca { display: grid; place-items: start center; padding-top: 18%; background: repeating-linear-gradient(135deg, #1f4257 0 18px, #244b62 18px 36px); }
.tessera__foto--manca span { border: 1px dashed rgba(255,255,255,.5); padding: .35rem .7rem; font-size: .8rem; color: rgba(255,255,255,.8); }

.cac-chiuso { padding-block: clamp(22px, 3vw, 36px); background: var(--surface); }
.cac-chiuso__riga { display: flex; align-items: center; gap: .9rem; padding: .5rem 0; }
.cac-chiuso__riga p { margin: 0; font-size: 1.05rem; }
.cac-chiuso__riga small { color: var(--ink-soft); }
.cac-chiuso__x { font-family: var(--display); font-size: 1.6rem; color: #a1321f; width: 1.6rem; text-align: center; }

.cac-prenota { position: relative; overflow: hidden; color: #fff; padding-block: clamp(70px, 12vw, 140px); background: #0e1d27; }
.cac-prenota__foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.cac-prenota__testo { position: relative; z-index: 2; text-align: center; }
.cac-prenota h2 { color: #fff; font-size: clamp(2rem, 6vw, 3rem); }
.cac-parente-breve { margin-top: 1rem; color: rgba(255,255,255,.9); }
.cac-parente-breve a { color: #e2c78c; }

/* bande reciproche estate / inverno (27-09-2026) */
.banda-stagione__firma .banda-stagione__prossimo,
.banda-stagione__firma .banda-stagione__adesso { font-family: var(--display); font-size: 1em; color: #fff; letter-spacing: 0; }
.banda-stagione__nome { font-style: normal; color: #e2c78c; }
body.inverno .banda-stagione--estate, .banda-stagione--estate { background: #1d5a61; border-top-color: #e2c78c; }
a.banda-stagione--estate:hover { background: #174b51; }

/* ---------- Cosa c'e' qui vicino (in fondo alla home, 27-09-2026) ---------- */
.vicino { background: var(--ground); }
.vicino .tv { margin-top: clamp(16px, 2vw, 24px); }
.vicino .tv__schermo video { aspect-ratio: 16 / 9; height: auto; object-fit: cover; }
.vicino__titolo { font-family: var(--display); font-weight: 400; font-size: clamp(1.4rem, 3vw, 1.8rem); margin: clamp(28px, 4vw, 48px) 0 .2rem; }
.vicino__gruppi { display: grid; grid-template-columns: 1fr 1fr; gap: 0 2.4rem; }
@media (max-width: 760px) { .vicino__gruppi { grid-template-columns: 1fr; } }
.vicino__chip { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .8rem; }
.vicino__chip a { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem 1rem; background: var(--surface); border: 1px solid var(--line); color: var(--ink); text-decoration: none; font-weight: 700; font-size: .95rem; }
.vicino__chip a:hover { border-color: var(--accent); color: var(--accent-dark); }
.vicino__chip a::after { content: '\2197'; margin-left: .45rem; color: var(--accent); font-weight: 400; }
.vicino__azioni { margin-top: 2rem; display: flex; gap: .8rem; flex-wrap: wrap; }
.vicino .tessera { background: #1d5a61; }
.vicino .tessera__foto--manca { background: repeating-linear-gradient(135deg, #1d5a61 0 18px, #226770 18px 36px); }

/* pagina qui-vicino e televisore-collegamento (27-09-2026) */
.tv--link { display: block; cursor: pointer; }
.tv--link .tv__schermo video { transition: transform .8s ease, filter .3s ease; }
.tv--link:hover .tv__schermo video { transform: scale(1.02); filter: brightness(1.05); }
.vicino--pagina { padding-top: clamp(28px, 4vw, 56px); }
.vicino__h1 { font-size: clamp(2rem, 5vw, 3rem); margin: 0; }
/* tessere: righe tutte della stessa altezza, niente buchi */
.cac-tessere { grid-auto-rows: clamp(220px, 22vw, 300px); }
.tessera, .tessera--grande { aspect-ratio: auto; min-height: 0; height: 100%; }
@media (max-width: 560px) { .cac-tessere { grid-auto-rows: 240px; } .tessera--grande { aspect-ratio: auto; } }

/* logo mai schiacciato: quando il menu e' pieno, il logo non si restringe (27-09-2026) */
.brand { flex: none; }
.brand__logo, .footer__logo { flex: none; max-width: none; object-fit: contain; }
/* menu piu stretto sugli schermi medi, cosi' logo, voci e lingue stanno tutti in una riga */
@media (min-width: 1100px) {
  .nav { gap: .85rem; }
  .nav a { font-size: .9rem; }
  .header-right { gap: .6rem; }
}

/* sito d'inverno: la foto dell'edificio (29-09-2026) */
.cac-casa { position: relative; margin: 0; padding: 0 !important; line-height: 0; background: #16303f; }
.cac-casa picture { display: block; }
.cac-casa img { display: block; width: 100%; height: clamp(420px, 70vh, 760px); object-fit: cover; object-position: 50% 55%; }
@media (max-width: 700px) { .cac-casa img { height: auto; aspect-ratio: 962 / 1634; max-height: 115vh; } }
.cac-casa__dove { position: absolute; left: var(--gutter); bottom: clamp(16px, 3vw, 32px); margin: 0; line-height: 1.3; color: #fff; background: rgba(10,24,34,.62); backdrop-filter: blur(4px); padding: .6rem 1rem; font-size: .95rem; }
.cac-casa__dove strong { font-family: var(--display); font-weight: 400; color: #e2c78c; margin-right: .5rem; font-size: 1.1rem; }

/* ===== date di apertura sulle tessere (29-09-2026) ===== */
.tessera__date{display:inline-block;align-self:flex-start;font-style:normal;font-size:.78rem;line-height:1.3;
  margin-top:.45rem;padding:.25rem .6rem;border-radius:999px;background:rgba(255,255,255,.92);color:#1d2a33;font-weight:600}
.cac-chiuso__riga p{line-height:1.5}

/* ===== home inverno: solo le due foto della casa (29-09-2026) ===== */
.cac-hero__foto, .cac-hero__foto img { position: absolute; inset: 0; width: 100%; height: 100%; }
.cac-hero__foto img { object-fit: cover; object-position: 50% 55%; }
.cac-hero__dove { margin: .6rem 0 0; color: #fff; font-size: .95rem; text-shadow: 0 1px 8px rgba(0,0,0,.6); }
.cac-hero:has(.cac-hero__foto)::after { background: linear-gradient(180deg, rgba(10,24,34,0) 0%, rgba(10,24,34,0) 40%, rgba(10,24,34,.55) 65%, rgba(10,24,34,.88) 100%); }
/* telefono: scritte sempre sopra la foto (02-10-2026); la casa resta libera in alto */
@media (max-width: 700px) {
  .cac-hero:has(.cac-hero__foto) { min-height: calc(100vw * 1634 / 962); }
  .cac-hero__foto img { object-position: 50% 0%; }
  .cac-hero__testo { padding-top: 0; padding-bottom: 18px; }
  .cac-hero:has(.cac-hero__foto)::after { background: linear-gradient(180deg, rgba(10,24,34,0) 0%, rgba(10,24,34,0) 54%, rgba(10,24,34,.55) 64%, rgba(10,24,34,.9) 100%); }
  .cac-hero h1 { font-size: 2.05rem; margin-top: .15rem; }
  .cac-hero h1 span { margin-top: .25rem; }
  .cac-hero__date { font-size: .7rem; }
  .cac-hero__dove { font-size: .82rem; margin-top: .3rem; }
  .cac-hero .cac-segni { flex-wrap: nowrap; gap: .35rem; margin: .7rem 0 .8rem; }
  .cac-hero .cac-segni li { font-size: .74rem; padding: .35rem .5rem; white-space: nowrap; }
  .cac-hero .cac-segni li b { font-size: .9rem; margin-right: .3rem; }
  .cac-hero .btn { padding: .6rem 1.1rem; font-size: .9rem; }
}

/* ===== colazione: sovrimpressione sul televisore + pagina (01-10-2026) ===== */
.tv__schermo { position: relative; }
.tv__sovra { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; color: #fff; padding: clamp(14px, 3vw, 36px) clamp(16px, 4vw, 48px);
  background: linear-gradient(180deg, rgba(10,20,26,0) 0%, rgba(10,20,26,.6) 35%, rgba(10,20,26,.85) 100%); pointer-events: none; }
.tv__sovra p { margin: 0; font-size: clamp(.72rem, 1.5vw, 1.05rem); line-height: 1.4; text-shadow: 0 1px 6px rgba(0,0,0,.6); }
.tv__sovra .tv__sovra-ora { font-family: var(--display); font-size: clamp(1.3rem, 3.6vw, 2.6rem); line-height: 1.05; margin-bottom: .25rem; }
.tv__sovra-link { display: inline-block; margin-top: .5rem; font-weight: 700; font-size: clamp(.72rem, 1.4vw, 1rem); color: #e2c78c; }
.colazione-pagina { padding-top: clamp(28px, 5vw, 60px); }
.colazione-dati { list-style: none; padding: 0; margin: 1.2rem 0 2rem; display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: .7rem; }
.colazione-dati li { background: var(--surface); border-radius: 10px; padding: .9rem 1rem; display: flex; flex-direction: column; gap: .2rem; }
.colazione-dati strong { font-family: var(--display); font-weight: 400; font-size: 1.35rem; line-height: 1.1; }
.colazione-dati span { font-size: .88rem; opacity: .8; }
.colazione-foto { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1rem; }
.colazione-foto figure { margin: 0; position: relative; border-radius: 10px; overflow: hidden; }
.colazione-foto img { display: block; width: 100%; height: auto; }
.colazione-foto figcaption { position: absolute; left: 0; bottom: 0; color: #fff; font-weight: 700; padding: .5rem .9rem; background: rgba(10,20,26,.6); border-top-right-radius: 10px; }
@media (max-width: 520px) { .colazione-foto { grid-template-columns: 1fr; } }

/* ===== testata d'inverno in cima alla home (02-10-2026) ===== */
.testa-inverno { position: relative; display: block; overflow: hidden; text-decoration: none; color: #fff;
  background: linear-gradient(100deg, #0d1f2c 0%, #16344a 55%, #1f4a5e 100%); border-bottom: 1px solid rgba(226,199,140,.45); }
.testa-inverno__neve { position: absolute; inset: -40px 0 0 0; pointer-events: none; opacity: .5;
  background-image:
    radial-gradient(1.6px 1.6px at 20px 30px, #fff 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 75px 80px, #fff 50%, transparent 51%),
    radial-gradient(2px 2px at 130px 20px, rgba(255,255,255,.9) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 170px 95px, #fff 50%, transparent 51%),
    radial-gradient(1.8px 1.8px at 230px 55px, rgba(255,255,255,.85) 50%, transparent 51%);
  background-size: 260px 120px; animation: testa-neve 14s linear infinite; }
@keyframes testa-neve { from { background-position: 0 0; } to { background-position: 40px 120px; } }
@media (prefers-reduced-motion: reduce) { .testa-inverno__neve { animation: none; } }
.testa-inverno__riga { position: relative; display: flex; align-items: center; gap: clamp(.8rem, 2vw, 1.4rem); padding-block: .75rem; }
.testa-inverno__mini { flex: none; width: clamp(52px, 6vw, 72px); height: clamp(52px, 6vw, 72px); border-radius: 50%; object-fit: cover;
  border: 2px solid #e2c78c; box-shadow: 0 4px 16px rgba(0,0,0,.35); }
.testa-inverno__testo { margin: 0; display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.testa-inverno__quando { font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #e2c78c; display: flex; align-items: center; gap: .45rem; }
.testa-inverno__fiocco { font-size: .95rem; letter-spacing: 0; color: #fff; }
.testa-inverno__titolo { font-family: var(--display); font-size: clamp(1.05rem, 2.3vw, 1.5rem); line-height: 1.15; }
.testa-inverno__titolo em { font-style: italic; color: #e2c78c; white-space: nowrap; }
.testa-inverno__cta { margin-left: auto; flex: none; font-weight: 700; font-size: .9rem; letter-spacing: .04em; color: #0d1f2c;
  background: #e2c78c; border-radius: 999px; padding: .6rem 1.15rem; transition: background .2s ease, transform .2s ease; }
.testa-inverno:hover .testa-inverno__cta { background: #fff; transform: translateX(3px); }
.testa-inverno:focus-visible { outline: 3px solid #e2c78c; outline-offset: -3px; }
@media (max-width: 560px) {
  .testa-inverno__riga { padding-block: .6rem; gap: .7rem; }
  .testa-inverno__cta { font-size: 0; padding: .55rem .7rem; }
  .testa-inverno__cta span { font-size: 1.05rem; }
  .testa-inverno__quando { font-size: .64rem; letter-spacing: .12em; }
}

/* ===== testata d'estate in cima al sito d'inverno, lampeggiante con garbo (04-10-2026) ===== */
.testa-estate { background: linear-gradient(100deg, #0b4f58 0%, #157480 50%, #2a8f8a 78%, #c99a45 130%); border-bottom-color: rgba(255,226,150,.6); }
.testa-estate__luce { position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(110deg, transparent 0%, transparent 40%, rgba(255,240,200,.28) 50%, transparent 60%, transparent 100%);
  background-size: 250% 100%; animation: estate-riflesso 4.5s ease-in-out infinite; }
@keyframes estate-riflesso { 0% { background-position: 120% 0; } 60%, 100% { background-position: -30% 0; } }
.testa-estate__sole { color: #ffd66b; display: inline-block; animation: estate-sole 6s linear infinite; }
@keyframes estate-sole { to { transform: rotate(360deg); } }
.testa-estate .testa-inverno__quando, .testa-estate .testa-inverno__titolo em { color: #ffe29a; }
.testa-estate .testa-inverno__mini { border-color: #ffe29a; }
.testa-estate__cta { background: #ffd66b; color: #0b3f46; animation: estate-pulsa 1.6s ease-in-out infinite; }
@keyframes estate-pulsa {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255,214,107,.75); transform: scale(1); }
  50% { box-shadow: 0 0 0 10px rgba(255,214,107,0); transform: scale(1.06); background: #fff3c4; }
}
.testa-estate:hover .testa-estate__cta { animation: none; background: #fff; }
@media (prefers-reduced-motion: reduce) { .testa-estate__luce, .testa-estate__sole, .testa-estate__cta { animation: none; } }

/* ===== appartamenti d'inverno (04-10-2026) ===== */
.testa-inverno__app { align-self: flex-start; margin-top: .2rem; font-size: .74rem; font-weight: 700; letter-spacing: .03em;
  color: #0d1f2c; background: #e2c78c; border-radius: 999px; padding: .15rem .6rem; }
.cac-appartamenti { background: var(--surface); }
.cac-app-dati { list-style: none; padding: 0; margin: 1rem 0 1.4rem; display: flex; flex-wrap: wrap; gap: .6rem; }
.cac-app-dati li { display: flex; align-items: baseline; gap: .45rem; background: #16303f; color: #fff; padding: .55rem 1rem; border-radius: 999px; }
.cac-app-dati strong { font-family: var(--display); font-weight: 400; font-size: 1.2rem; color: #e2c78c; }
.cac-app-dati span { font-size: .88rem; }
.cac-app-azioni { margin-top: 1.4rem; }
.cac-app-nota { margin: 1.1rem 0 0; font-size: .9rem; color: var(--ink-soft, #4a5a60); }
.cac-app-azioni { display: flex; flex-wrap: wrap; gap: .7rem; }

/* ===== appartamenti in evidenza nella prima pagina d'inverno (04-10-2026) ===== */
.cac-hero__azioni { display: flex; flex-wrap: wrap; align-items: stretch; gap: .7rem; }
.cac-hero__app { display: flex; flex-direction: column; justify-content: center; text-decoration: none; color: #fff;
  border: 2px solid #e2c78c; border-radius: 6px; padding: .45rem 1rem; background: rgba(10,24,34,.55); backdrop-filter: blur(4px);
  animation: app-alone 2.4s ease-in-out infinite; }
.cac-hero__app b { font-family: var(--display); font-weight: 400; font-size: 1.05rem; color: #e2c78c; line-height: 1.15; }
.cac-hero__app span { font-size: .8rem; opacity: .9; }
.cac-hero__app:hover { background: rgba(226,199,140,.2); animation: none; }
@keyframes app-alone { 0%,100% { box-shadow: 0 0 0 0 rgba(226,199,140,.55); } 50% { box-shadow: 0 0 0 8px rgba(226,199,140,0); } }
@media (prefers-reduced-motion: reduce) { .cac-hero__app { animation: none; } }
.cac-appartamenti--evidenza { background: linear-gradient(180deg, #0f2433 0%, #16344a 100%); color: #fff; border-top: 3px solid #e2c78c; }
.cac-appartamenti--evidenza h2 { color: #fff; }
.cac-app-occhiello { margin: 0 0 .3rem; font-size: .78rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #e2c78c; }
.cac-appartamenti--evidenza .cac-app-dati li { background: rgba(255,255,255,.08); border: 1px solid rgba(226,199,140,.5); }
.cac-appartamenti--evidenza .cac-app-nota { color: rgba(255,255,255,.8); }
.cac-appartamenti--evidenza .btn--ghost { color: #fff; border-color: rgba(255,255,255,.7); }
@media (max-width: 700px) {
  .cac-hero__azioni { flex-wrap: nowrap; gap: .5rem; }
  .cac-hero__azioni .btn { flex: none; display: flex; align-items: center; }
  .cac-hero__app { flex: 1; min-width: 0; padding: .35rem .7rem; }
  .cac-hero__app b { font-size: .9rem; } .cac-hero__app span { font-size: .7rem; }
}

/* ===== totem: foto e filmato del check-in (04-10-2026) ===== */
.cac-totem-video { margin: 1.6rem auto 0; max-width: 340px; text-align: center; }
.cac-totem-video video { display: block; width: 100%; aspect-ratio: 9 / 16; object-fit: cover; background: #0e1d27;
  border: 10px solid #0e1d27; border-radius: 34px; box-shadow: 0 12px 34px rgba(10,24,34,.3); }
.cac-totem-video figcaption { margin-top: .7rem; font-size: .92rem; color: var(--ink-soft, #4a5a60); }

/* ===== pagine privacy e cookie (04-10-2026) ===== */
.legale { padding-block: clamp(28px, 5vw, 60px); }
.legale__wrap { max-width: 820px; }
.legale h2 { font-size: clamp(1.25rem, 2.6vw, 1.6rem); margin: 2rem 0 .6rem; }
.legale p, .legale li { line-height: 1.6; }
.legale ul { padding-left: 1.2rem; }
.legale__agg { color: var(--ink-soft, #4a5a60); font-size: .9rem; margin-top: -.3rem; }
.legale__tab { width: 100%; border-collapse: collapse; font-size: .94rem; margin: .6rem 0 1rem; }
.legale__tab th, .legale__tab td { text-align: left; vertical-align: top; padding: .6rem .7rem; border-bottom: 1px solid var(--line, #d4dad9); }
.legale__tab th { font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-soft, #4a5a60); }
@media (max-width: 640px) {
  .legale__tab thead { display: none; }
  .legale__tab tr { display: block; border-bottom: 1px solid var(--line, #d4dad9); padding: .5rem 0; }
  .legale__tab td { display: block; border: 0; padding: .15rem 0; }
  .legale__tab td:first-child { font-weight: 700; }
}
.legale__vedi { margin-top: 2rem; }

/* ===== Local Guru in 4 lingue (04-10-2026) ===== */
.local-guru { display: flex; flex-direction: column; gap: .5rem; flex-basis: 100%; }
.local-guru__titolo { font-weight: 700; }
.local-guru__lingue { display: flex; flex-wrap: wrap; gap: .5rem; }

/* ===== aree comuni: mosaico di foto (04-10-2026) ===== */
.comuni-mosaico { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: clamp(150px, 18vw, 240px); gap: 10px; margin-top: 1.2rem; }
.comuni-mosaico img, .comuni-mosaico video { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 4px; }
.comuni-mosaico__grande { grid-column: span 2; grid-row: span 2; }
.comuni-mosaico__largo { grid-column: span 3; }
@media (max-width: 640px) {
  .comuni-mosaico { grid-template-columns: 1fr 1fr; grid-auto-rows: 42vw; }
  .comuni-mosaico__grande, .comuni-mosaico__largo { grid-column: span 2; grid-row: span 1; }
  .comuni-mosaico__grande { grid-row: span 2; }
}

/* ===== spezzoni nel televisore + "Da sapere" (04-10-2026) ===== */
.tv--spezzone { max-width: 880px; margin: 1.2rem auto 1.6rem; }
.tv--spezzone .tv__schermo video { aspect-ratio: 16 / 9; width: 100%; object-fit: cover; display: block; }
.da-sapere { background: var(--surface); }
.da-sapere__sotto { margin: .2rem 0 1.2rem; color: var(--ink-soft, #4a5a60); }
.da-sapere__lista { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .8rem; }
.da-sapere__lista li { background: #fff; border-left: 4px solid var(--accent); padding: .9rem 1rem; display: flex; flex-direction: column; gap: .3rem; border-radius: 4px; }
.da-sapere__lista b { font-family: var(--display); font-weight: 400; font-size: 1.15rem; }
.da-sapere__lista span { font-size: .95rem; line-height: 1.5; }
.nota-onesta { margin-top: .8rem; padding: .5rem .8rem; border-left: 3px solid var(--accent); background: var(--surface); font-size: .95rem; }

/* ===== pagina camere: serie con la vista sempre al 2° posto (04-10-2026) ===== */
.camere-testa { padding-bottom: 0; }
.camere-salti { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1rem; }
.camere-salti a { text-decoration: none; border: 1px solid var(--line, #d4dad9); background: #fff; padding: .4rem .8rem; border-radius: 999px; font-size: .9rem; font-weight: 700; color: inherit; }
.tipologia { padding-block: clamp(28px, 5vw, 56px); }
.tipologia + .tipologia { border-top: 1px solid var(--line, #d4dad9); }
.tipologia h2 { margin-bottom: .2rem; }
.tipologia__lead { margin: .3rem 0 0; }
.serie { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 1rem var(--gutter, 16px) .6rem; scrollbar-width: thin; }
.serie figure { margin: 0; flex: none; width: min(78vw, 460px); scroll-snap-align: start; position: relative; }
.serie img, .serie__manca > div { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 6px; }
.serie figcaption { position: absolute; left: 10px; top: 10px; background: rgba(10,24,34,.72); color: #fff; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: .25rem .55rem; border-radius: 4px; }
.serie figure:nth-child(2) figcaption { background: var(--accent); }
.serie__manca > div { display: grid; place-items: center; text-align: center; color: var(--ink-soft, #4a5a60); font-weight: 700;
  background: repeating-linear-gradient(135deg, var(--surface) 0 12px, #fff 12px 24px); border: 2px dashed var(--line, #c9d0cf); }
.serie__manca small { font-weight: 400; }
.serie__manca--no > div { background: #f3efe6; border-style: solid; color: #6b5a3a; font-size: 1.15rem; }
.app-titolo { margin: 1.4rem 0 0; font-size: 1.25rem; }
.app-titolo small { display: block; font-family: var(--body); font-size: .85rem; font-weight: 400; color: var(--ink-soft, #4a5a60); margin-top: .2rem; }
.tipologia__azioni { margin-top: 1rem; }

/* ===== logo nuovo senza stelle, più largo: un filo più basso (04-10-2026) ===== */
.brand__logo { height: 34px; }
@media (min-width: 1100px) and (max-width: 1400px) { .brand__logo { height: 28px; } }
@media (max-width: 480px) { .brand__logo { height: 30px; } }
@media (min-width: 1100px) { .brand__logo { height: 28px; } }
@media (min-width: 1100px) and (max-width: 1220px) { .nav { gap: .65rem; } .nav a { font-size: .84rem; } }

/* ===== ogni immagine della home porta a un approfondimento (04-10-2026) ===== */
.tv-link { margin: .8rem 0 0; text-align: center; }
.tv-link a { font-weight: 700; color: var(--accent-dark); text-decoration: none; border-bottom: 2px solid currentColor; padding-bottom: 2px; }
.comuni-link { display: block; overflow: hidden; border-radius: 4px; }
.comuni-mosaico .comuni-link img { transition: transform .5s ease; }
.comuni-mosaico .comuni-link:hover img { transform: scale(1.04); }
.comuni-mosaico .comuni-link:has(.comuni-mosaico__grande) { grid-column: span 2; grid-row: span 2; }
.comuni-mosaico .comuni-link:has(.comuni-mosaico__largo) { grid-column: span 3; }
@media (max-width: 640px) { .comuni-mosaico .comuni-link:has(.comuni-mosaico__largo) { grid-column: span 2; } .comuni-mosaico .comuni-link:has(.comuni-mosaico__grande) { grid-column: span 2; } }
#contatti .split__media a { display: block; }
.persone-griglia { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; margin: 1.4rem 0; }
.persone-griglia img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; display: block; border-radius: 6px; }
.comuni-link { height: 100%; } .comuni-link img { height: 100%; }

/* ===== tessere d'inverno senza foto: fondo invernale curato al posto del riquadro tratteggiato (04-10-2026) ===== */
body.inverno .tessera__foto--manca { padding: 0; place-items: center;
  background: radial-gradient(2px 2px at 20% 30%, rgba(255,255,255,.7) 50%, transparent 51%),
              radial-gradient(1.5px 1.5px at 70% 20%, rgba(255,255,255,.6) 50%, transparent 51%),
              radial-gradient(2px 2px at 45% 60%, rgba(255,255,255,.5) 50%, transparent 51%),
              radial-gradient(1.5px 1.5px at 85% 55%, rgba(255,255,255,.6) 50%, transparent 51%),
              linear-gradient(160deg, #24506a 0%, #142c3c 70%); background-size: 120px 90px, 140px 110px, 160px 120px, 100px 100px, cover; }
body.inverno .tessera__foto--manca span { display: none; }
body.inverno .tessera__foto--manca::before { content: "\2744"; font-size: clamp(3rem, 8vw, 5rem); color: rgba(226,199,140,.35); margin-top: -18%; }

/* Esterni e anni passati (04-10-2026) */
.vicino__sotto{max-width:46rem}
.anni-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.8rem;margin-top:1.4rem}
.anni-carta{position:relative;display:block;text-decoration:none;color:var(--ink,#142E3C);background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.08);transition:transform .25s ease}
.anni-carta:hover{transform:translateY(-3px)}
.anni-carta img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;filter:sepia(.25) saturate(.9)}
.anni-carta__play{position:absolute;top:calc((100% - 3.6rem)/2 - 1.4rem);left:50%;transform:translate(-50%,-50%);width:3rem;height:3rem;border-radius:50%;background:rgba(10,20,26,.6);color:#fff;display:grid;place-items:center;font-size:1.1rem}
.anni-carta b{display:block;padding:.6rem .9rem 0;font-size:1.3rem;color:var(--accent-dark)}
.anni-carta span:last-child{display:block;padding:0 .9rem .8rem;font-size:.92rem}
.anni-video{margin:2.2rem 0}
.anni-video h2{font-size:1.4rem;margin:0 0 .8rem}
.anni-video h2 small{font-size:.9rem;font-weight:400;opacity:.7}
.anni-video__anno{color:var(--accent-dark);margin-right:.3rem}
.anni-video .tv{max-width:900px}

/* Domande frequenti (10-10-2026) */
.faq-pagina{max-width:820px}
.faq__gruppo{font-size:1.25rem;margin:2.2rem 0 .6rem;color:var(--accent-dark)}
.faq{border-bottom:1px solid rgba(20,46,60,.15);background:#fff;border-radius:8px;margin:.45rem 0;padding:0 1rem}
.faq summary{cursor:pointer;list-style:none;padding:.95rem 2rem .95rem 0;font-weight:700;position:relative;line-height:1.35}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:.75rem;font-size:1.4rem;font-weight:400;color:var(--accent-dark);transition:transform .2s}
.faq[open] summary::after{transform:rotate(45deg)}
.faq p{margin:0 0 1rem;line-height:1.55}
.faq p a{color:var(--accent-dark);font-weight:700}
.faq-altro{margin-top:2.4rem;padding:1.2rem 1.2rem .4rem;border-radius:10px;background:var(--surface)}

/* Casa alle Colonne: d'inverno funziona così (12-10-2026) */
.cac-diverso{background:var(--surface)}
.cac-diverso__lista{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:.6rem}
.cac-diverso__lista li{display:grid;grid-template-columns:11rem 1fr;gap:.2rem 1.2rem;background:#fff;border-radius:8px;padding:.85rem 1rem;border-left:4px solid var(--accent-dark)}
.cac-diverso__lista b{grid-row:span 2}
.cac-diverso__lista small{grid-column:2;opacity:.65}
.cac-diverso__lista a{color:var(--accent-dark);font-weight:700}
@media (max-width:600px){.cac-diverso__lista li{grid-template-columns:1fr}.cac-diverso__lista b{grid-row:auto}.cac-diverso__lista small{grid-column:1}}

/* Numeri di aiuto d'inverno (12-10-2026) */
.cac-numeri{margin-top:1.4rem;background:#142E3C;color:#F7F4EC;border-radius:10px;padding:1.1rem 1.2rem}
.cac-numeri h3{margin:0 0 .6rem;font-size:1.15rem;color:#ffe29a}
.cac-numeri a{color:#fff;font-weight:700;font-size:1.15rem}
.cac-numeri__contenuto{display:grid;gap:.8rem}
.cac-numeri__blocco b{display:block;margin-bottom:.3rem}
.cac-numeri__blocco small{font-weight:400;opacity:.75}
.cac-numeri__blocco ul{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}
.cac-numeri__blocco span{opacity:.8;margin-left:.4rem}
.cac-numeri__data{font-size:.85rem;opacity:.7;margin:0}
@media(min-width:700px){.cac-numeri__contenuto{grid-template-columns:1fr 1fr}.cac-numeri__data{grid-column:span 2}}

/* Natale e Capodanno nel modulo date (13-10-2026) */
.avviso-inverno__festa[hidden]{display:none!important}

/* Scelta della lingua nella testata: menu a tendina compatto (15-10-2026) */
.lingua { position: relative; }
.lingua > summary { list-style: none; cursor: pointer; font-weight: 700; font-size: .85rem; letter-spacing: .04em; padding: .4rem .7rem; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); }
.lingua > summary::-webkit-details-marker { display: none; }
.lingua > summary::after { content: "\25BE"; margin-left: .35rem; font-size: .75rem; }
.lingua[open] > summary { background: rgba(0,0,0,.05); }
.lingua > .langs { position: absolute; right: 0; top: calc(100% + 6px); display: flex; flex-direction: column; gap: 2px; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 6px; box-shadow: 0 8px 24px rgba(0,0,0,.12); z-index: 50; min-width: 4.2rem; }
.lingua > .langs a { text-align: center; }
@media (max-width: 1099px) { .header-right > .lingua { display: none; } }
/* nelle lingue straniere le voci del menu sono più lunghe */
@media (min-width: 1100px) { html:not([lang="it"]) .nav { gap: .55rem; } html:not([lang="it"]) .nav a { font-size: .8rem; } }
@media (min-width: 1100px) and (max-width: 1260px) { html:not([lang="it"]) body.inverno .nav { gap: .4rem; } html:not([lang="it"]) body.inverno .nav a { font-size: .74rem; } }

/* Crediti delle foto Wikimedia nelle tessere d'inverno (15-10-2026) */
.tessera__credito { position: absolute; right: 6px; top: 6px; font-size: .62rem; line-height: 1.2; color: rgba(255,255,255,.85); background: rgba(0,0,0,.35); padding: 2px 6px; border-radius: 4px; pointer-events: none; }
.tessera { position: relative; }
.cac-crediti { padding-block: 1.6rem; }
.cac-crediti h2 { font-size: 1.05rem; margin: 0 0 .5rem; }
.cac-crediti ul { margin: 0; padding-left: 1.1rem; font-size: .82rem; opacity: .8; }
.cac-crediti a { color: inherit; }

/* =====================================================================
   SEPARAZIONE ESTATE / INVERNO PIU' EVIDENTE (17-10-2026)
   Idea del grafico: stesso palco, luce diversa. D'estate la testata e' chiara,
   d'inverno e' scura come la sera; il pulsante Prenota in ottone resta uguale
   e tiene la parentela fra le due formule.
   ===================================================================== */
body.inverno { --ground: #e3e9ee; }

/* 1. testata d'inverno scura */
body.inverno .site-header {
  background: #16303f; border-bottom: 3px solid #e2c78c;
  --ink: #f1f5f8; --ink-soft: #c3d0da; --line: rgba(255,255,255,.18); --surface: #16303f;
  color: var(--ink);
}
body.inverno .site-header .brand--cac, body.inverno .brand-cac__nome { color: #f1f5f8; }
body.inverno .site-header .brand-cac__by { color: #e2c78c; }
body.inverno .site-header .nav a:hover { color: #fff; border-bottom-color: #e2c78c; }
body.inverno .site-header .lingua > .langs { background: #16303f; border-color: rgba(255,255,255,.2); }
body.inverno .site-header .langs a { color: #f1f5f8; }
body.inverno .site-header .langs a[aria-current="true"] { background: #e2c78c; color: #0d1f2c; }

/* 4. la «soglia»: una riga fissa sotto la testata d'inverno, solo fatti */
body.inverno .site-header::after {
  display: block; text-align: center; background: #0d1f2c; color: #e2c78c;
  font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  padding: .4rem var(--gutter, 16px); line-height: 1.3;
  content: "\2744\00a0 Inverno \00b7  27 novembre \2013  13 marzo \00b7  senza colazione \00b7  senza reception";
}
html[lang="en"] body.inverno .site-header::after { content: "\2744\00a0 Winter \00b7  27 November \2013  13 March \00b7  no breakfast \00b7  no reception staff"; }
html[lang="de"] body.inverno .site-header::after { content: "\2744\00a0 Winter \00b7  27. November \2013  13. M\00e4rz \00b7  ohne Fr\00fchst\00fcck \00b7  ohne Rezeption"; }
html[lang="fr"] body.inverno .site-header::after { content: "\2744\00a0 Hiver \00b7  27 novembre \2013  13 mars \00b7  sans petit-d\00e9jeuner \00b7  sans r\00e9ception"; }
html[lang="es"] body.inverno .site-header::after { content: "\2744\00a0 Invierno \00b7  27 de noviembre \2013  13 de marzo \00b7  sin desayuno \00b7  sin recepci\00f3n"; }
@media (max-width: 520px) { body.inverno .site-header::after { font-size: .62rem; letter-spacing: .06em; } }

/* 3. sul sito d'inverno la banda d'estate e' chiara: una porta sul giorno */
body.inverno .testa-estate { background: #eef1ed; color: #13312c; border-bottom: 1px solid #d5dcd6; }
body.inverno .testa-estate__luce { display: none; }
body.inverno .testa-estate .testa-inverno__quando { color: #855e1c; }
body.inverno .testa-estate .testa-inverno__titolo em { color: #855e1c; }
body.inverno .testa-estate__sole { color: #c9932c; animation: none; }
body.inverno .testa-estate .testa-inverno__mini { border-color: #c9a35c; }
body.inverno .testa-estate__cta { background: #a97a2b; color: #fff; animation: none; }
body.inverno .testa-estate:hover .testa-estate__cta { background: #855e1c; }

/* finestra delle date: riga «sei passato a...» quando si arriva dall'altro sito */
.date-box__arrivato { margin: calc(-1 * clamp(20px, 4vw, 32px)) calc(-1 * clamp(20px, 4vw, 32px)) 1rem;
  padding: .8rem clamp(20px, 4vw, 32px); padding-right: 3rem; background: #16303f; color: #f1f5f8; font-size: .92rem; line-height: 1.4; }
.date-box__arrivato::before { content: "\2744\00a0\00a0"; color: #e2c78c; }
.date-box__arrivato--estate { background: #eef1ed; color: #13312c; border-bottom: 1px solid #d5dcd6; }
.date-box__arrivato--estate::before { content: "\2600\00a0\00a0"; color: #c9932c; }
.date-box__carta:has(.date-box__arrivato:not([hidden]):not(.date-box__arrivato--estate)) .date-box__x { color: #fff; z-index: 1; }
.btn.date-box__vai.date-box__vai--salto { background: #16303f; border-color: #16303f; color: #fff; }
body.inverno .btn.date-box__vai.date-box__vai--salto { background: #1d5a61; border-color: #1d5a61; }
.avviso-inverno__ok[hidden] { display: none; }
