/*
 * Identità visiva: titoli in carattere classico (Libre Baskerville, stessa
 * famiglia del Baskerville Old Face) e scritte in oro / giallo ocra.
 *
 * Questo file arriva dopo gli altri e sovrascrive solo colore e carattere:
 * la struttura e le dimensioni restano quelle originali.
 */

@font-face {
  font-family: "Libre Baskerville";
  src: url("../fonts/LibreBaskerville-Variable.ttf") format("truetype-variations");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap
}

@font-face {
  font-family: "Libre Baskerville";
  src: url("../fonts/LibreBaskerville-Italic-Variable.ttf") format("truetype-variations");
  font-weight: 400 700;
  font-style: italic;
  font-display: swap
}

:root {
  /* Tre tonalità dello stesso oro, scelte per restare leggibili:
  titoli su fondo chiaro, scritte piccole su fondo chiaro,
  titoli sopra le fotografie e i fondi scuri. */
  --color-gold: #8a6209;
  --color-gold-deep: #6f4e05;
  --color-gold-light: #eec97a
}

/* --- Carattere classico al posto di Chicle ---
   Le righe dei titoli sono scritte dentro <span> e <em> per poter entrare
   una alla volta. In globals.css c'e una regola generica su span, a, em:
   colpiva quei pezzi direttamente e il titolo della home finiva in
   Encode Sans mentre tutti gli altri restavano in Baskerville. Qui i
   figli dei titoli tornano a prendere il carattere del titolo. */
h1,
h1 span,
h1 em,
h1 a,
h1 strong,
h2,
h2 span,
h2 em,
h2 a,
h2 strong,
.hotel-review blockquote,
.story-quote blockquote,
.story-chapter-image>span,
.story-timeline article>strong,
  .price-table-row div:not(:first-child) strong,
.price-highlight strong,
.hotel-year {
  font-family: "Libre Baskerville", Baskerville, "Baskerville Old Face", "Times New Roman", serif !important;
  font-weight: 700 !important
}

/* --- Titoli e occhielli in oro --- */
h1,
h2,
.hotel-year {
  color: var(--color-gold) !important
}

.rooms-heading span,
.rooms-experience-copy>span,
.contacts-intro span,
.contacts-details span,
.gallery-intro span,
.price-intro span,
.price-included span,
.price-details article>span,
.price-conditions>div>span,
.price-cta span,
.restaurant-intro span,
.restaurant-note span,
.services-intro span,
.services-note span,
.story-intro span,
.story-chapter-copy>span,
.story-quote>span,
.story-cta span {
  color: var(--color-gold-deep) !important
}

/* Sopra le fotografie e sui fondi scuri serve un oro più chiaro. */
.hotel-final h2,
.final-cta h2,
.hotel-hero-content .hotel-year,
.rooms-hero-copy h1,
.rooms-hero-copy>span,
.services-hero-copy h1,
.services-hero-copy>span,
.restaurant-hero-copy h1,
.restaurant-hero-copy>span,
.page-hero h1,
.terrazza-page h1,
.terrazza-page h2 {
  color: var(--color-gold-light) !important
}

/* --- Orari dei pasti in evidenza (pagina Ristorante) --- */
.restaurant-hours-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: 28px 0 0
}

.restaurant-hours-grid>div {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 20px 22px;
  border-radius: 18px;
  background: var(--color-surface);
  border: 1px solid #1111111f
}

.restaurant-hours-grid small {
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: .7rem;
  font-weight: 800;
  color: var(--color-gold-deep)
}

.restaurant-hours-grid strong {
  font-family: "Libre Baskerville", Baskerville, "Baskerville Old Face", "Times New Roman", serif !important;
  font-size: 2.4rem;
  line-height: 1.1;
  font-weight: 700;
  color: var(--color-text)
}

.restaurant-hours-grid span {
  font-size: .82rem;
  color: #111111b8
}

.restaurant-hours-note {
  margin-top: 22px;
  font-size: .92rem;
  line-height: 1.7
}

@media (max-width: 860px) {
  .restaurant-hours-grid {
    grid-template-columns: 1fr
  }

  .restaurant-hours-grid strong {
    font-size: 2rem
  }
}

/* --- Selettore di lingua --- */
.lang-switcher {
  display: flex;
  align-items: center;
  gap: 6px
}

.lang-switcher-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid #ffffff2e;
  text-decoration: none;
  color: inherit;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1;
  opacity: .75;
  transition: opacity .2s ease, border-color .2s ease
}

.lang-switcher-item svg {
  display: block;
  width: 18px;
  height: 13px;
  border-radius: 2px
}

  .lang-switcher-item:hover,
.lang-switcher-item:focus-visible {
  opacity: 1
}

.lang-switcher-item.is-current {
  opacity: 1;
  border-color: var(--color-gold-light)
}

/* Nella barra chiara delle pagine interne il bordo scuro si legge meglio. */
.utility .lang-switcher-item {
  border-color: #11111124
}

.utility .lang-switcher-item.is-current {
  border-color: var(--color-gold)
}

.lang-switcher-home {
  margin-left: auto
}

@media (max-width: 900px) {
  .lang-switcher-item span {
    display: none
  }

  .lang-switcher-item {
    padding: 4px 6px
  }
}


/* --- Titolo della home: bianco, con una sola parola in oro --- */
/*
 * Prima il titolo era tutto oro chiaro, compresa la parola in corsivo: sopra il
 * cielo del filmato l'oro su chiaro si legge male e la parola messa in risalto
 * spariva dentro il resto della frase. Adesso la frase e bianca — il contrasto
 * piu alto possibile sopra una fotografia — e l'oro resta solo su "cuore", che
 * cosi si vede davvero.
 */
.hotel-hero-content h1 {
  color: var(--color-on-dark) !important;
  text-shadow: 0 3px 20px #111111b3
}

.hotel-hero-content h1 em {
  color: var(--color-gold-light) !important;
  font-style: italic
}

.hotel-hero-content > p:not(.hotel-eyebrow) {
  text-shadow: 0 2px 14px #111111a6
}

/* Sul telefono gli orari restavano a 2rem: due cifre grandi su una riga
   sola facevano crescere la fascia oltre il necessario. */
@media (max-width: 680px) {
  .restaurant-hours-grid strong {
    font-size: 1.4rem
  }
}

/* Gli anni della linea del tempo erano piu grandi dei titoli di sezione. */
@media (max-width: 680px) {
  .story-timeline article > strong {
    font-size: 1.6rem
  }
}
