/* Start custom CSS for html, class: .elementor-element-a5b0393 *//* =========================================================
   CONTERRANEO HOTEL — CAMERE E SUITE
   Foglio di stile condiviso.
   Da incollare UNA SOLA VOLTA in:
   Elementor Pro > Impostazioni sito > Custom CSS
   (oppure in un file custom-camere.css caricato nel tema figlio)

   Non duplicare questo blocco dentro i widget HTML delle
   singole pagine: i widget HTML delle pagine camera devono
   contenere solo markup, mai <style>.
   ========================================================= */

:root{
  /* Palette brand Conterraneo — coerente con gli altri materiali del brand */
  --cnt-gesso:      #F3F0E9; /* fondo caldo, quasi bianco */
  --cnt-limestone:  #E4DFD1; /* fondo secondario, blocchi alternati */
  --cnt-kraft:      #C9A876; /* accento caldo, CTA secondari, dettagli */
  --cnt-ardesia:    #33383B; /* testo principale, sezioni scure */
  --cnt-verdgris:   #6C8578; /* accento freddo, dettagli, hover */
  --cnt-pitch:      #1B1B1A; /* nero caldo, footer/CTA finale */
  --cnt-bianco:     #FFFFFF;

  /* Tipografia — font brand (licenza cliente, caricare via Adobe Fonts/Typekit) */
  --font-display: "Orpheus Pro", "Georgia", serif;
  --font-testo:   "Acumin Pro", "Helvetica Neue", Arial, sans-serif;

  /* Scala tipografica */
  --fs-h1: clamp(2.2rem, 4vw, 3.4rem);
  --fs-h2: clamp(1.5rem, 2.4vw, 2.1rem);
  --fs-eyebrow: 0.95rem;
  --fs-body: 1.05rem;

  --radius-sm: 2px; /* niente arrotondamenti pronunciati: coerenza col brief */
  --container-max: 1180px;
  --gutter: clamp(20px, 5vw, 64px);
}

/* Reset minimo, mirato al contesto Elementor (non tocca lo scaffolding del tema) */
.cnt-page *{ box-sizing: border-box; }
.cnt-page{
  font-family: var(--font-testo);
  color: var(--cnt-ardesia);
  background: var(--cnt-gesso);
  line-height: 1.6;
}
.cnt-page img{ max-width:100%; display:block; }
.cnt-page a{ color: inherit; text-decoration: none; }

.cnt-container{
  max-width: var(--container-max);
  margin: 0 auto;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

/* ---------- HERO CAMERA ---------- */
.cnt-hero{
  position: relative;
  min-height: 62vh;
  display: flex;
  align-items: flex-end;
  background-size: cover;
  background-position: center;
  color: var(--cnt-bianco);
}
.cnt-hero::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(0deg, rgba(27,27,26,.55) 0%, rgba(27,27,26,0) 55%);
  pointer-events:none;
}
.cnt-hero__inner{
  position: relative;
  z-index: 1;
  padding: var(--gutter);
  max-width: var(--container-max);
  margin: 0 auto;
  width: 100%;
}
.cnt-hero__nome{
  font-family: var(--font-display);
  font-size: var(--fs-h1);
  font-weight: 400;
  margin: 0 0 .4em;
}
.cnt-hero__frase{
  font-size: 1.15rem;
  max-width: 46ch;
  font-style: italic;
  opacity: .95;
}

/* ---------- SEZIONE STANDARD ---------- */
.cnt-sezione{ padding: clamp(48px, 7vw, 96px) 0; }
.cnt-sezione--limestone{ background: var(--cnt-limestone); }
.cnt-sezione--ardesia{ background: var(--cnt-ardesia); color: var(--cnt-gesso); }
.cnt-sezione__intestazione{
  max-width: 60ch;
  margin-bottom: 2.2em;
}
.cnt-sezione__titolo{
  font-family: var(--font-display);
  font-size: var(--fs-h2);
  font-weight: 400;
  margin: 0 0 .3em;
}

/* Testo ufficiale approvato: contenitore neutro, nessuna riformulazione consentita */
.cnt-testo-ufficiale{
  font-size: var(--fs-body);
  max-width: 62ch;
}
.cnt-testo-ufficiale p{ margin: 0 0 1.1em; }

/* ---------- GALLERY ---------- */
.cnt-gallery{
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(260px, 1fr);
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 8px;
}
.cnt-gallery img{
  scroll-snap-align: start;
  aspect-ratio: 4/5;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

/* ---------- DATI ESSENZIALI ---------- */
.cnt-dati{
  display:flex; flex-wrap:wrap; gap: 2.4em;
  list-style:none; margin:0; padding:0;
}
.cnt-dati dt{ font-size:.85rem; text-transform:none; opacity:.65; margin-bottom:.2em; }
.cnt-dati dd{ margin:0; font-family: var(--font-display); font-size:1.3rem; }

/* ---------- ICONE + SERVIZI ---------- */
.cnt-servizi{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px 20px;
  list-style:none; margin:0; padding:0;
}
@media (max-width: 780px){
  .cnt-servizi{ grid-template-columns: repeat(2, 1fr); }
}
.cnt-servizi li{
  display:flex; flex-direction:column; align-items:flex-start; gap:.6em;
}
.cnt-servizi svg{ width:28px; height:28px; stroke: var(--cnt-ardesia); fill:none; stroke-width:1.4; }
.cnt-servizi span{ font-size:.92rem; }

/* ---------- ELEMENTO DISTINTIVO ---------- */
.cnt-distintivo{
  display:flex; flex-wrap:wrap; align-items:center; gap: clamp(24px,4vw,56px);
}
.cnt-distintivo__testo{ flex:1 1 320px; }
.cnt-distintivo__img{ flex:1 1 380px; aspect-ratio: 4/3; object-fit:cover; }

/* ---------- CTA ---------- */
.cnt-cta{
  display:inline-block;
  padding: .95em 2.1em;
  font-size:.98rem;
  border: 1px solid currentColor;
  transition: background-color .25s ease, color .25s ease;
}
.cnt-cta--piena{
  background: var(--cnt-pitch);
  color: var(--cnt-gesso);
  border-color: var(--cnt-pitch);
}
.cnt-cta--piena:hover{ background: var(--cnt-ardesia); }
.cnt-cta--secondaria{
  background: transparent;
  color: var(--cnt-ardesia);
  text-decoration: underline;
  text-underline-offset: .3em;
  border: none;
  padding: 0;
}
.cnt-cta-blocco{
  padding-top: 1.6em;
}

/* ---------- ALTRE CAMERE (correlate) ---------- */
.cnt-correlate{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 900px){
  .cnt-correlate{ grid-template-columns: 1fr; }
}
.cnt-correlate__card img{ aspect-ratio: 4/3; object-fit:cover; margin-bottom: .8em; }
.cnt-correlate__card h3{ font-family: var(--font-display); font-weight:400; font-size:1.15rem; margin:0 0 .2em; }
.cnt-correlate__card a{ font-size:.92rem; text-decoration:underline; text-underline-offset:.3em; }

/* ---------- CTA FINALE ---------- */
.cnt-chiusura{
  background: var(--cnt-pitch);
  color: var(--cnt-gesso);
  text-align:left;
  padding: clamp(48px,7vw,88px) 0;
}
.cnt-chiusura__titolo{
  font-family: var(--font-display);
  font-size: var(--fs-h2);
  margin: 0 0 .6em;
}

/* ---------- BLOCCHI INDEX (categorie alternate) ---------- */
.cnt-categoria{
  display:grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: clamp(24px,5vw,64px);
  align-items:center;
  padding: clamp(40px,6vw,76px) 0;
}
.cnt-categoria:nth-child(even){ direction: rtl; }
.cnt-categoria:nth-child(even) > *{ direction: ltr; }
@media (max-width: 860px){
  .cnt-categoria{ grid-template-columns: 1fr; direction: ltr !important; }
}
.cnt-categoria__img{ aspect-ratio: 5/4; object-fit:cover; }
.cnt-categoria__nome{ font-family: var(--font-display); font-size: var(--fs-h2); margin:0 0 .3em; }
.cnt-categoria__riga{ font-style:italic; opacity:.85; margin-bottom: .9em; }

/* ---------- CTA STICKY MOBILE ---------- */
.cnt-sticky-mobile{
  display:none;
  position: fixed; left:0; right:0; bottom:0; z-index: 999;
  background: var(--cnt-pitch);
  padding: 12px var(--gutter);
  text-align:center;
}
.cnt-sticky-mobile .cnt-cta{ width:100%; text-align:center; }
@media (max-width: 780px){
  .cnt-sticky-mobile{ display:block; }
  .cnt-page{ padding-bottom: 64px; } /* evita che copra il footer */
}/* End custom CSS */