/* =============================================
   Chalet Ibex — Foglio di stile unico & sincronizzato
   ============================================= */

:root {
  /* --- 1. COLORI --- */
  --colore-sfondo:            #1B2420;
  --colore-sfondo-alt:        #212C26;
  --colore-testo-secondario:  #8FA093;
  --colore-accento:           #C9A46A;
  --colore-accento-scuro:     #A9854F;
  --colore-testo-titoli:      #F2ECDD;
  --colore-testo-corpo:       #C9CFC6;
  --colore-linea-divisoria:   rgba(242, 236, 221, 0.12);

  --color-bg-alt:             #212C26;
  --color-surface:            #212C26;
  --color-border:             rgba(242, 236, 221, 0.12);
  --color-wood:               #C9A46A;
  --color-wood-soft:          rgba(201, 164, 106, 0.14);

  /* --- 2. FONT & TIPOGRAFIA --- */
  --font-titoli:              'Google Sans', -apple-system, sans-serif;
  --font-corpo:               'Work Sans', sans-serif;
  --font-monospaziato:        'IBM Plex Mono', monospace;
  --font-elegant:             'Cormorant Garamond', serif;

  /* --- 3. DIMENSIONI TESTI --- */
  --dimensione-h1:            clamp(2.8rem, 5vw, 5.6rem);
  --dimensione-h1-mobile:     clamp(3.37rem, 15vw, 7.2rem);
  --dimensione-h2:            1.8rem;
  --dimensione-h3:            1.3rem;
  --dimensione-lead:          1.1rem;
  --dimensione-corpo:         1.10rem;
  --dimensione-testo-piccolo: 0.85rem;
  --dimensione-didascalia:    0.85rem;
  --dimensione-copyright:     0.7rem;

  /* --- 4. INTERLINEE E PESI --- */
  --interlinea-titoli:        1.1;
  --interlinea-h3:            1.5;
  --interlinea-corpo:         1.65;

  --spessore-titoli:          500;
  --spessore-corpo:           300;

  --altezza-intestazione:     50px;
  --spaziatura-lettere:       0.15em;

  /* --- 5. SPAZI, BORDI E MISURE STRUTTURALI --- */
  --radius:                   2px;
  --container:                1120px;
  --space-1:                  0.5rem;
  --space-2:                  1rem;
  --space-3:                  2rem;
  --space-4:                  3rem;
  --space-5:                  5rem;
  --border-w:                 1px;
  --transition:               200ms ease;
}

/* Aggiungi questo dopo il blocco :root esistente */
:root.light-theme {
  --colore-sfondo:            #FAF6F0; /* Sfondo chiaro */
  --colore-sfondo-alt:        #EFE9E0;
  --colore-testo-secondario:  #5A655C;
  --colore-accento:           #A9854F;
  --colore-accento-scuro:     #8C6D3F;
  --colore-testo-titoli:      #1B2420; /* Testo scuro */
  --colore-testo-corpo:       #3D453F;
  --colore-linea-divisoria:   rgba(27, 36, 32, 0.12);
  /* AGGIUNGI O AGGIORNA QUESTE VARIABILI PER LE CARD: */
  --color-surface:            #FFFFFF; /* Sfondo bianco per la card nel tema chiaro */
  --color-border:             #D3C9BC; /* Un bordo leggero e caldo per il tema chiaro */
  --color-wood-soft:          #E8DFD1; /* Sfondo alternativo chiaro per la parte visiva */
  --color-bg-alt:             #F5EFE6;
}

/* Quando il tema è chiaro, inverti i loghi bianchi */
.light-theme .logo-bianco {
  filter: brightness(0) saturate(100%) invert(20%) sepia(10%) saturate(500%) hue-rotate(100deg) brightness(95%);
  }


  #themeToggle {
    cursor: pointer;
    background: none;
    border: none;
    padding: 8px;
    color: var(--colore-accento); /* Colore del tema scuro */
    transition: all 0.3s ease;
  }

  /* Quando il tema è chiaro, la lampadina si "accende" (diventa gialla/oro) */
  .light-theme #themeToggle {
    color: #F1C40F; /* Un bel giallo oro per richiamare la luce */
    filter: drop-shadow(0 0 5px rgba(241, 196, 15, 0.5)); /* Effetto bagliore */
  }

/* =============================================
   RESET & BASE
   ============================================= */
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }

body {
  background: var(--colore-sfondo);
  color: var(--colore-testo-titoli);
  font-family: var(--font-corpo);
  font-weight: var(--spessore-corpo);
  font-size: var(--dimensione-corpo);
  line-height: var(--interlinea-corpo);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  -webkit-tap-highlight-color: transparent;
}

h1 {
  font-size: var(--dimensione-h1);
  font-family: var(--font-elegant);
  font-weight: var(--spessore-titoli);
  line-height: var(--interlinea-titoli);
  letter-spacing: -0.01em;
  color: var(--colore-testo-titoli);
}

@media(max-width:768px){
  h1 { font-size: var(--dimensione-h1-mobile); }
}

h2 {
  font-size: var(--dimensione-h2);
  font-family: var(--font-titoli);
  font-weight: var(--spessore-titoli);
  line-height: var(--interlinea-titoli);
  letter-spacing: -0.01em;
  color: var(--colore-testo-titoli);
}

h3 {
  font-size: var(--dimensione-h3);
  font-family: var(--font-titoli);
  font-weight: var(--spessore-titoli);
  line-height: var(--interlinea-h3);
  color: var(--colore-testo-titoli);
}

p {
  font-family: var(--font-corpo);
  font-weight: var(--spessore-corpo);
  font-size: var(--dimensione-corpo);
  line-height: var(--interlinea-corpo);
  color: var(--colore-testo-corpo);
}

.mono { font-family: var(--font-monospaziato); letter-spacing: 0.03em; }
a { color: inherit; touch-action: manipulation; }

/* Protezione Immagini */
.guard { -webkit-user-select:none; user-select:none; pointer-events:none; }
.guard-wrap { position:relative; overflow:hidden; }
.guard-shield { position:absolute; inset:0; z-index:5; background:transparent; }

/* =============================================
   HEADER E NAVIGAZIONE
   ============================================= */
header {

  position: fixed; top:0; left:0; right:0;
  display: flex; justify-content: space-between; align-items: center;
  padding: var(--space-2) 6vw;
  z-index: 1000;
  background: var(--colore-sfondo);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: var(--border-w) solid var(--colore-linea-divisoria);
}

.header-left {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.logo {
  font-family: var(--font-titoli);
  font-size: var(--dimensione-corpo);
  letter-spacing: 0.02em;
  color: var(--colore-testo-titoli);
  text-decoration: none;
}
.logo em { font-style: normal; color: var(--colore-accento-scuro); }

.logo img {
  height: 25px;
  width: auto;
  display: block;
  transition: opacity var(--transition);
}
.logo img:hover { opacity: 0.8; }

nav { display: flex; gap: var(--space-4); align-items:center; }
nav a {
  font-family: var(--font-monospaziato);
  font-size: var(--dimensione-didascalia);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: var(--spaziatura-lettere);
  color: var(--colore-testo-secondario);
  position: relative;
  padding-bottom: 4px;
  transition: color var(--transition);
  white-space: nowrap;
}
nav a::after {
  content: '';
  position: absolute; left: 0; bottom: 0;
  width: 0; height: var(--border-w);
  background: var(--colore-accento);
  transition: width .3s ease;
}
nav a:hover { color: var(--colore-testo-titoli); }
nav a:hover::after { width: 100%; }

.lang-switch {
  display: flex; align-items: center; gap: var(--space-1);
  font-family: var(--font-monospaziato); font-size: var(--dimensione-didascalia);
}
.lang-switch .lang-sep { color: var(--colore-testo-corpo); opacity: 0.6; }
.lang-btn {
  background: none; border: none; cursor: pointer; text-decoration: none;
  color: var(--colore-testo-corpo); padding: 0.25rem;
  transition: color var(--transition);
}
.lang-btn:hover { color: var(--colore-testo-titoli); }
.lang-btn.active { color: var(--colore-accento-scuro); font-weight: 500; pointer-events: none; }

.nav-toggle {
  display: none; flex-direction: column; gap: 5px;
  background: none; border: none; cursor: pointer; padding: 0.4rem; z-index: 1100;
}
.nav-toggle span { width: 24px; height: 2px; background: var(--colore-testo-titoli); display: block; }
.nav-close { display: none; }

@media (max-width: 768px) {
  .nav-close {
    display: flex; align-items: center; justify-content: center;
    position: fixed; top: 1.2rem; right: 1.5rem;
    background: none; border: none; color: var(--colore-testo-titoli);
    font-size: 2.2rem; line-height: 1; cursor: pointer; padding: 0.5rem; z-index: 2100;
  }
  .nav-toggle { display: flex; }
  nav {
    position: fixed; top: 0; right: 0; bottom: 0;
    width: max-content; min-width: 260px; max-width: 85vw; height: 100vh;
    background-color: var(--colore-sfondo);
    flex-direction: column; justify-content: flex-start; align-items: flex-start;
    padding: 5.5rem 2.5rem 2rem 2rem; gap: 1.8rem;
    overflow-y: auto; box-sizing: border-box;
    transform: translateX(100%); transition: transform .3s ease-in-out;
    z-index: 2000;
    box-shadow: -10px 0 30px rgba(0,0,0,0.5);
  }
  nav.aperto { transform: translateX(0); }
  nav a {
    margin-left: 0;
    font-size: var(--dimensione-corpo);
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* =============================================
   SEZIONI GENERALI
   ============================================= */
section { padding: var(--space-4) 6vw; }
section[id] { scroll-margin-top: var(--altezza-intestazione); }
.section-head {
  display: flex;
  align-items: baseline;
  gap: var(--space-2);
  margin-top: 85px;
  margin-bottom: var(--space-3);
  border-bottom: var(--border-w) solid var(--colore-linea-divisoria);
  padding-bottom: 1.4rem;
}
@media (max-width: 768px) {
  .section-head { margin-top: 80px; }
}
.section-head h1 { color: var(--colore-testo-titoli); font-weight: 400; }
.section-head h1 em { font-style: normal; color: var(--colore-accento-scuro); }
.section-head h1 span {
  font-family: var(--font-titoli); display: block;
  color: var(--colore-testo-titoli); font-weight: 300; font-size: clamp(1.3rem, 1.8vw, 2.3rem); margin-top: var(--space-1);
}
.section-head .tag { font-family: var(--font-monospaziato); font-size: var(--dimensione-didascalia); color: var(--colore-accento-scuro); }

/* =============================================
   BOTTONI E GRUPPI DI PULSANTI
   ============================================= */
.button-group {
  display: flex;
  gap: var(--space-2);
  justify-content: center;
  flex-wrap: wrap;
}

.button-group .buy-now-btn {
  text-decoration: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 180px;
  padding: 0.9rem var(--space-2);
  position: relative;
  transition: all var(--transition);
}

.button-group .buy-now-btn::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background: var(--colore-accento);
  transition: width 0.3s ease;
}

.button-group .buy-now-btn:hover::after { width: 100%; }
.button-group .buy-now-btn:hover { background: var(--color-wood-soft); }

.buy-now { display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--space-3); padding: var(--space-4) 6vw; }
.buy-now-desc { max-width: 600px; text-transform: uppercase; }

.buy-now-btn {
  display: inline-flex; align-items: center; gap: 0.7rem;
  font-family: var(--font-monospaziato); font-size: var(--dimensione-didascalia);
  letter-spacing: var(--spaziatura-lettere); text-transform: uppercase; text-decoration: none;
  color: var(--colore-accento);
  background: transparent;
  border: var(--border-w) solid var(--colore-accento);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  padding: 0.9rem 2.2rem; border-radius: var(--radius); cursor: pointer;
  transition: color var(--transition), border-color var(--transition), background var(--transition), transform var(--transition), box-shadow var(--transition);
}

.buy-now-btn:hover {
  color: var(--colore-sfondo);
  background: var(--colore-accento);
  border-color: var(--colore-accento);
  transform: translateY(-2px);
  box-shadow: 0 4px 20px rgba(201, 164, 106, 0.25);
}

/* =============================================
   CATALOGO & HERO & TITOLO
   ============================================= */
.catalogo {
  position: relative;
  width: 100vw;
  min-height: calc(100vh - var(--altezza-intestazione));
  min-height: calc(100dvh - var(--altezza-intestazione));
  display: flex; flex-direction: column; justify-content: flex-start; align-items: center;
  padding: 3vw 6vw; overflow: hidden; box-sizing: border-box; gap: 1.5rem;
}
@media (max-width: 768px) {
  .catalogo { min-height: auto; height: auto; padding: 6vw 6vw 4vw; }
}
.catalogo-content { position: relative; z-index: 2; width: 100%; max-width: none; text-align: center; flex-shrink: 0; }
.catalogo-sub { margin-top: 1.5rem; margin-left: auto; margin-right: auto; max-width: 900px; text-align: center; }

.hero {
  position: relative; width: 100vw;
  min-height: calc(100vh - var(--altezza-intestazione));
  min-height: calc(100dvh - var(--altezza-intestazione));
  margin-top: var(--altezza-intestazione);
  display: flex; flex-direction: column; justify-content: flex-start; align-items: center;
  padding: 3vw 20vw; overflow: hidden; box-sizing: border-box; gap: 1.5rem;
}
@media (max-width: 768px) {
  .hero { min-height: auto; height: auto; margin-top: 85px; padding: 6vw 6vw 4vw; }
}
.hero-content { position: relative; z-index: 2; width: 100%; max-width: none; text-align: center; flex-shrink: 0; }
.hero-sub { margin-top: 1.5rem; margin-left: auto; margin-right: auto; max-width: 900px; text-align: center; }
.hero-logo { position: relative; width: 100%; flex-grow: 1; z-index: 1; min-height: 100px; display: flex; align-items: center; justify-content: center; }

.hero h1 { color: var(--colore-testo-titoli); font-weight: 400; }
.hero h1 em { font-style: normal; color: var(--colore-accento-scuro); }
.hero h1 span {
  font-family: var(--font-titoli); display: block; color: var(--colore-testo-titoli);
  font-weight: 300; font-size: clamp(1.3rem, 1.8vw, 2.3rem); text-transform: uppercase; margin-top: var(--space-1);
}

.titolo {
  position: relative; width: 100vw; height: 100vh; height: 100dvh;
  margin-top: 0; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start;
  padding: 4vw 6vw; overflow: hidden; box-sizing: border-box;
}
@media (max-width: 768px) {
  .titolo { height: 100vh; height: 100dvh; margin-top: 0; padding: 6vw; justify-content: flex-end; align-items: flex-start; }
}
.titolo-content { position: relative; z-index: 2; width: 100%; max-width: 900px; text-align: left; flex-shrink: 0; }
.titolo-sfondo { position: absolute; inset: 0; z-index: 0; }
.titolo-sfondo .immagine-sfondo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.titolo-sfondo::after {
  content: ''; position: absolute; inset: 0;
  z-index: 1;
}
@media (max-width: 400px) {
  .titolo-sfondo .immagine-sfondo { object-position: 58% center; }
}
.titolo h1 { color: var(--colore-testo-titoli); font-weight: 400; }
.titolo h1 em { font-style: normal; color: var(--colore-accento-scuro); }
.titolo h1 span {
  font-family: var(--font-titoli); display: block; color: var(--colore-testo-titoli);
  font-weight: 300; font-size: clamp(1.3rem, 1.8vw, 2.3rem); margin-top: var(--space-1);
}

.attivity { text-align: center; font-size: var(--dimensione-lead); text-transform: uppercase; color: var(--colore-accento); margin-top: 1.5rem; }
.intro p { max-width: 800px; margin-bottom: 1.2rem; text-align: justify; }
@media (max-width: 768px) { .intro p { text-align: left; } }

.chalet-img { display: block; margin: 0 auto; max-width: 100%; height: auto; width: 400px; }
@media (max-width: 768px) { .chalet-img { max-width: 100%; } }

/* Nascondi il logo chiaro di default */
.logo-light {
  display: none;
}

/* Quando il tema è chiaro, inverte la visualizzazione */
.light-theme .logo-dark {
  display: none;
}

.light-theme .logo-light {
  display: block;
}

/* =============================================
   FEATURES
   ============================================= */
.features { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: var(--border-w); background: var(--colore-linea-divisoria); border: var(--border-w) solid var(--colore-linea-divisoria); }
.feature { background: var(--colore-sfondo-alt); padding: 1.5rem var(--space-2); text-align: center; display: flex; flex-direction: column; align-items: center; }
.feature img { width: 28px; height: 28px; margin-bottom: var(--space-2); }
.feature .val { font-family: var(--font-monospaziato); font-size: 1.2rem; color: var(--colore-testo-titoli); }
.feature .lbl { font-size: var(--dimensione-testo-piccolo); color: var(--colore-testo-secondario); margin-top: 0.4rem; text-transform: uppercase; }

/* =============================================
   SLIDER & GALLERY
   ============================================= */
.gallery-section-wrapper { position: relative; width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 50px; box-sizing: border-box; }
.slider-container { position: relative; width: 100%; overflow: hidden; border-radius: 8px; background-color: rgba(0, 0, 0, 0.03); }
.slider-wrap {
  display: flex; width: 100%; overflow-x: auto;
  scroll-snap-type: x mandatory; scroll-behavior: smooth;
  gap: 1.5rem; padding: 0 calc(50% - min(76%, 640px) / 2);
  -ms-overflow-style: none; scrollbar-width: none;
}
.slider-wrap::-webkit-scrollbar { display: none; }
.slider-item {
  width: min(76%, 640px); min-width: 0; flex: 0 0 auto; height: 550px;
  scroll-snap-align: center; cursor: pointer; display: flex; align-items: center; justify-content: center;
  overflow: hidden; opacity: 0.45; transform: scale(0.9);
  transition: opacity 0.35s ease, transform 0.35s ease;
}
.slider-item.active { opacity: 1; transform: scale(1); }
.slider-item img { width: 100%; height: 100%; object-fit: contain; transition: transform 0.3s ease, opacity 0.3s ease; opacity: 0.9; }
.slider-item:hover img { opacity: 1; transform: scale(1.02); }

.slider-arrow {
  position: absolute; top: 50%; transform: translateY(-50%); background: transparent; border: none;
  width: 44px; height: 44px; cursor: pointer; z-index: 20; display: flex; align-items: center; justify-content: center;
  transition: transform var(--transition), opacity var(--transition); opacity: 0.7; padding: 0;
}
.slider-arrow:hover { opacity: 1; transform: translateY(-50%) scale(1.15); }
.slider-arrow.prev { left: 0px; }
.slider-arrow.next { right: 0px; }
.slider-arrow svg { width: 36px; height: 36px; stroke: var(--colore-accento); }

.slider-dots { display: flex; justify-content: center; gap: 8px; margin-top: 15px; }
.dot { width: 10px; height: 10px; border-radius: 50%; background: var(--colore-testo-secondario); cursor: pointer; transition: background 0.3s, transform 0.2s; }
.dot.active { background: var(--colore-accento); transform: scale(1.2); }

@media (max-width: 768px) {
  .gallery-section-wrapper { padding: 0; }
  .slider-arrow { display: none; }
  .slider-wrap { padding: 0 calc(50% - min(84%, 340px) / 2); gap: var(--space-2); }
  .slider-item { width: min(84%, 340px); height: 320px; }
}

/* =============================================
   LIGHTBOX MODAL
   ============================================= */
.lightbox-modal { display: none; position: fixed; inset: 0; z-index: 9999; background: rgba(0, 0, 0, 0.95); backdrop-filter: blur(8px); align-items: center; justify-content: center; }
.lightbox-modal.open { display: flex; }
.lightbox-content { max-width: 90vw; max-height: 90vh; object-fit: contain; border-radius: var(--radius); box-shadow: 0 10px 30px rgba(0,0,0,0.8); user-select: none; }
.lightbox-close { position: absolute; top: 20px; right: 25px; background: transparent; border: none; color: #ffffff; font-size: 2.5rem; cursor: pointer; line-height: 1; z-index: 10001; opacity: 0.8; }
.lightbox-close:hover { opacity: 1; }

.lightbox-arrow {
  position: absolute; top: 50%; transform: translateY(-50%); background: rgba(0, 0, 0, 0.4); border: none;
  width: 50px; height: 50px; border-radius: 50%; cursor: pointer; z-index: 10001; display: flex; align-items: center; justify-content: center;
  transition: background 0.2s, transform 0.2s; padding: 0;
}
.lightbox-arrow:hover { background: rgba(201, 164, 106, 0.6); transform: translateY(-50%) scale(1.1); }
.lightbox-arrow.prev { left: 20px; }
.lightbox-arrow.next { right: 20px; }
.lightbox-arrow svg { width: 32px; height: 32px; stroke: #ffffff; }

@media (max-width: 768px) { .lightbox-arrow { display: none; } }

/* =============================================
   CATALOGO — GRIGLIA MODELLI
   ============================================= */
.catalog-head { padding: var(--space-4) 0 var(--space-2); }
.catalog-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-3); padding-bottom: var(--space-5); }
@media (min-width: 640px) { .catalog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 980px) { .catalog-grid { grid-template-columns: repeat(3, 1fr); } }

.model-card {
  background: var(--color-surface);
  border: var(--border-w) solid var(--color-border);
  border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column;
  transition: transform var(--transition), box-shadow var(--transition);
}
.model-card:hover { transform: translateY(-4px); border-color: var(--colore-accento); box-shadow: 0 12px 24px -12px rgba(0,0,0,0.5); }

.model-visual {
  aspect-ratio: 4 / 3; background: linear-gradient(160deg, var(--color-wood-soft), var(--color-bg-alt));
  display: flex; align-items: center; justify-content: center; color: var(--colore-accento);
  border-bottom: var(--border-w) solid var(--color-border);
}
.model-body { padding: var(--space-2); display: flex; flex-direction: column; gap: 0.5em; flex: 1; }
.model-body .eyebrow { color: var(--colore-testo-secondario); }
.model-body h3 { margin: 0; }
.model-specs {
  display: flex; flex-wrap: wrap; gap: 0.5em 1em; font-family: var(--font-monospaziato);
  font-size: var(--dimensione-testo-piccolo); color: var(--colore-testo-secondario); margin: 0.3em 0 0.6em;
}
.model-specs span { white-space: nowrap; }
.model-body p { font-size: var(--dimensione-testo-piccolo); flex: 1; }

.model-card-link { text-decoration: none; color: inherit; display: block; }
.model-card-link:hover .model-card { transform: translateY(-4px); transition: transform 0.2s ease, box-shadow 0.2s ease; }
.model-visual img.model-img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* =============================================
   FOOTER
   ============================================= */
footer { background: var(--colore-sfondo-alt); padding: var(--space-4) 6vw var(--space-2); border-top: var(--border-w) solid var(--colore-linea-divisoria); }
.footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 2.5rem; margin-bottom: var(--space-4); }
footer .foot-lbl { font-family: var(--font-monospaziato); font-size: var(--dimensione-didascalia); color: var(--colore-accento-scuro); text-transform: uppercase; margin-bottom: 0.8rem; display: block; }
footer a.contact-line { display: block; text-decoration: none; color: var(--colore-testo-titoli); margin-bottom: 0.4rem; }
footer a.contact-line:hover { color: var(--colore-accento); }
.fine-print { font-family: var(--font-monospaziato); font-size: var(--dimensione-copyright); color: var(--colore-testo-secondario); opacity: 0.8; }


/* =============================================
   PAGINA CONTATTI (Integrazione)
   ============================================= */

.contact-container {
    background: var(--colore-sfondo-alt);
    max-width: 600px;
    width: 100%;
    margin: 100px auto 40px;
    padding: var(--space-4);
    border-radius: var(--radius);
    border: var(--border-w) solid var(--colore-linea-divisoria);
}

.contact-container h1 { margin-bottom: var(--space-2); color: var(--colore-testo-titoli); }
.contact-container h1 em { font-style: normal; color: var(--colore-accento-scuro); }
.contact-container p.subtitle { color: var(--colore-testo-corpo); margin-bottom: var(--space-4); }

.form-group { margin-bottom: var(--space-2); }
.form-group label { display: block; margin-bottom: var(--space-1); font-size: var(--dimensione-didascalia); color: var(--colore-testo-secondario); text-transform: uppercase; }

.contact-container input[type="button"],
.contact-container textarea {
    width: 100%;
    padding: 1rem;
    background: var(--colore-sfondo);
    border: var(--border-w) solid var(--colore-linea-divisoria);
    color: var(--colore-testo-titoli);
    border-radius: var(--radius);
    font-family: var(--font-corpo);
}

.contact-container input:focus,
.contact-container textarea:focus {
    outline: none;
    border-color: var(--colore-accento);
}



.wha {
  display: flex;
  gap: var(--space-2);
  justify-content: center;
  flex-wrap: wrap;
}
.wha .btn-whatsapp {
  text-decoration: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 180px;
  padding: 0.9rem var(--space-2);
  position: relative;
  transition: all var(--transition);
}

.wha .btn-whatsapp::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background: var(--colore-accento);
  transition: width 0.3s ease;
}

.wha .btn-whatsapp:hover::after { width: 100%; }
.wha .btn-whatsapp:hover { background: var(--color-wood-soft); }




.btn-whatsapp {
  display: inline-flex; align-items: center; gap: 0.7rem;
  font-family: var(--font-monospaziato); font-size: var(--dimensione-didascalia);
  letter-spacing: var(--spaziatura-lettere); text-transform: uppercase; text-decoration: none;
  color: var(--colore-accento);
  background: transparent;
  border: var(--border-w) solid var(--colore-accento);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  padding: 0.9rem 2.2rem; border-radius: var(--radius); cursor: pointer;
  transition: color var(--transition), border-color var(--transition), background var(--transition), transform var(--transition), box-shadow var(--transition);
}

.btn-whatsapp:hover {
  color: var(--colore-sfondo);
  background: var(--colore-accento);
  border-color: var(--colore-accento);
  transform: translateY(-2px);
  box-shadow: 0 4px 20px rgba(201, 164, 106, 0.25);
}
