/* sg_sito.css - Hotel San Giovanni Terme: sezioni delle pagine del sito (Home e successive).
   La testata (menu) e il piede restano in pagina_prenota.css. Colori del San Giovanni:
   scuro #2b2420, crema #fbeedf, oro #c9a23f, verde #468d71. */

.dhsg{--sg-verde:#468d71;--sg-testo:#3a332e;--sg-chiaro:#faf7f2}
.dhsg section img,.dhsg footer img{max-width:100%;height:auto}

/* ---- Hero a tutto schermo ---------------------------------------------- */
.dhsg .sgh-hero{position:relative;min-height:92vh;margin-top:-80px;display:flex;flex-direction:column;justify-content:flex-end;
  background:#2b2420 center/cover no-repeat;color:#fff;padding:160px 20px 56px}
.dhsg .sgh-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,16,14,.5) 0%,rgba(20,16,14,.28) 45%,rgba(20,16,14,.7) 100%)}
.dhsg .sgh-hero>*{position:relative}
.dhsg .sgh-hero-testo{max-width:1112px;width:100%;margin:0 auto 28px;text-align:left}
.dhsg .sgh-occhiello{display:inline-block;font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--sg-crema);margin-bottom:14px}
.dhsg .sgh-hero h1{font-family:"Playfair Display",Georgia,serif;font-weight:400;font-size:clamp(34px,5.2vw,62px);line-height:1.1!important;margin:0 0 14px;color:#fff;max-width:820px;text-shadow:0 2px 18px rgba(0,0,0,.45)}
.dhsg .sgh-hero p{font-size:clamp(16px,1.6vw,19px);line-height:1.55;max-width:640px;margin:0!important;color:#fbeedf;text-shadow:0 1px 10px rgba(0,0,0,.5)}
.dhsg .sgh-cerca{max-width:1112px;width:100%;margin:0 auto}

/* ---- Sezioni ------------------------------------------------------------- */
.dhsg .sgh-sez{padding:88px 20px}
.dhsg .sgh-sez.chiara{background:var(--sg-chiaro)}
.dhsg .sgh-sez.bianca{background:#fff}
.dhsg .sgh-box{max-width:1112px;margin:0 auto}
.dhsg .sgh-tit{text-align:center;max-width:720px;margin:0 auto 48px}
.dhsg .sgh-tit .sgh-occhiello{color:var(--sg-verde);margin-bottom:10px}
.dhsg h2{font-family:"Playfair Display",Georgia,serif;font-weight:400;font-size:clamp(28px,3.4vw,40px);line-height:1.2!important;color:#2b2420;margin:0 0 14px}
.dhsg h3{font-family:"Playfair Display",Georgia,serif;font-weight:400;font-size:22px;line-height:1.3!important;color:#2b2420;margin:0 0 8px}
.dhsg .sgh-tit p,.dhsg .sgh-testo p{font-size:17px;line-height:1.7;color:var(--sg-testo);margin:0 0 14px!important}
.dhsg .sgh-linea{display:block;width:56px;height:2px;background:var(--sg-oro);margin:18px auto 0}

/* tre punti di forza */
.dhsg .sgh-tre{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.dhsg .sgh-punto{text-align:center;padding:8px 10px}
.dhsg .sgh-punto svg{width:44px;height:44px;color:var(--sg-verde);margin-bottom:14px}
.dhsg .sgh-punto p{font-size:15.5px;line-height:1.65;color:var(--sg-testo);margin:0!important}

/* camere */
.dhsg .sgh-camere{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.dhsg .sgh-camera{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 6px 22px rgba(43,36,32,.08);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.dhsg .sgh-camera:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(43,36,32,.14)}
.dhsg .sgh-camera img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.dhsg .sgh-camera-corpo{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1}
.dhsg .sgh-dati{font-size:14px;color:#6b625b;line-height:1.6;margin:0 0 16px!important;flex:1}
.dhsg .sgh-dati b{color:#2b2420;font-weight:700}

/* blocchi foto + testo */
.dhsg .sgh-split{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.dhsg .sgh-split.inverso .sgh-foto{order:2}
.dhsg .sgh-foto img{width:100%;border-radius:16px;display:block;aspect-ratio:4/3;object-fit:cover;box-shadow:0 14px 36px rgba(43,36,32,.16)}
.dhsg .sgh-lista{list-style:none;padding:0;margin:4px 0 26px!important}
.dhsg .sgh-lista li{position:relative;padding:7px 0 7px 28px;font-size:16px;color:var(--sg-testo);border-bottom:1px solid #eee4d8}
.dhsg .sgh-lista li::before{content:"";position:absolute;left:4px;top:15px;width:10px;height:10px;border-radius:50%;background:var(--sg-verde)}

/* servizi */
.dhsg .sgh-servizi{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.dhsg .sgh-serv{background:#fff;border-radius:12px;padding:24px 20px;border:1px solid #eee4d8}
.dhsg .sgh-serv svg{width:32px;height:32px;color:var(--sg-oro);margin-bottom:10px}
.dhsg .sgh-serv p{font-size:14.5px;line-height:1.6;color:var(--sg-testo);margin:0!important}

/* banda prenota */
.dhsg .sgh-banda{position:relative;padding:110px 20px;text-align:center;color:#fff;background:#2b2420 center/cover no-repeat}
.dhsg .sgh-banda::before{content:"";position:absolute;inset:0;background:rgba(20,16,14,.6)}
.dhsg .sgh-banda>*{position:relative}
.dhsg .sgh-banda h2{color:#fff}
.dhsg .sgh-banda p{color:#fbeedf;font-size:18px;margin:0 auto 28px!important;max-width:620px}

/* contatti */
.dhsg .sgh-contatti{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.dhsg .sgh-riga{display:flex;gap:14px;align-items:flex-start;margin:0 0 18px;font-size:16.5px;color:var(--sg-testo);line-height:1.5}
.dhsg .sgh-riga svg{width:22px;height:22px;flex:none;color:var(--sg-verde);margin-top:2px}
.dhsg .sgh-riga a{color:#2b2420!important;text-decoration:none!important;border-bottom:1px solid #d8c9b4}

/* pulsanti */
.dhsg .sgh-btn{display:inline-block;background:var(--sg-oro);color:#fff!important;text-decoration:none!important;padding:14px 30px;border-radius:40px;font-weight:700;font-size:14px;letter-spacing:1.5px;text-transform:uppercase;box-shadow:0 4px 14px rgba(0,0,0,.15);transition:filter .2s,transform .2s}
.dhsg .sgh-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.dhsg .sgh-btn.verde{background:var(--sg-verde)}
.dhsg .sgh-btn.vuoto{background:transparent;color:#2b2420!important;border:1.5px solid #2b2420;box-shadow:none}
.dhsg .sgh-btn.piccolo{padding:10px 18px;font-size:12.5px;align-self:flex-start}
.dhsg .sgh-azioni{display:flex;gap:12px;flex-wrap:wrap}

/* piede ricco */
.dhsg .sgh-piede{background:#2b2420;color:#e9dccb;padding:56px 20px 28px;font-size:14.5px;line-height:1.7}
.dhsg .sgh-piede .sgh-box{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px}
.dhsg .sgh-piede h4{font-family:"Playfair Display",Georgia,serif;font-weight:400;color:#fff;font-size:19px;margin:0 0 12px}
.dhsg .sgh-piede a{color:#fbeedf!important;text-decoration:none!important}
.dhsg .sgh-piede a:hover{color:#fff!important;text-decoration:underline!important}
.dhsg .sgh-piede ul{list-style:none;padding:0;margin:0}
.dhsg .sgh-legale{max-width:1112px;margin:36px auto 0;padding-top:18px;border-top:1px solid rgba(251,238,223,.15);font-size:12.5px;color:#bfae99;text-align:center}

/* ---- Responsive ----------------------------------------------------------- */
@media (max-width:1024px){
  .dhsg .sgh-camere{grid-template-columns:repeat(2,1fr)}
  .dhsg .sgh-servizi{grid-template-columns:repeat(2,1fr)}
  .dhsg .sgh-split{gap:36px}
}
@media (max-width:760px){
  .dhsg .sgh-hero{min-height:88vh;padding:130px 16px 32px}
  .dhsg .sgh-sez{padding:60px 16px}
  .dhsg .sgh-tre,.dhsg .sgh-split,.dhsg .sgh-contatti,.dhsg .sgh-piede .sgh-box{grid-template-columns:1fr}
  .dhsg .sgh-split.inverso .sgh-foto{order:0}
  .dhsg .sgh-tre{gap:18px}
  .dhsg .sgh-tit{margin-bottom:32px}
  .dhsg .sgh-banda{padding:80px 16px}
}
@media (max-width:480px){
  .dhsg .sgh-camere,.dhsg .sgh-servizi{grid-template-columns:1fr}
}

/* ==== v3: pagine interne (Le stanze e successive) ========================= */
/* hero piu' bassa per le pagine interne */
.dhsg .sgh-hero.bassa{min-height:62vh;padding-bottom:44px}
.dhsg .sgh-hero.bassa .sgh-hero-testo{margin-bottom:22px}
/* indice rapido sotto la hero */
.dhsg .sgh-indice{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 auto}
.dhsg .sgh-indice a{display:inline-block;padding:9px 18px;border-radius:30px;border:1px solid #d8c9b4;color:#2b2420!important;text-decoration:none!important;font-size:14px;letter-spacing:.5px;background:#fff;transition:background .2s,border-color .2s}
.dhsg .sgh-indice a:hover{background:#fbeedf;border-color:var(--sg-oro)}
/* comfort con icona */
.dhsg .sgh-comfort{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.dhsg .sgh-comfort div{flex:0 0 calc(25% - 11px);display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #eee4d8;border-radius:12px;padding:14px 16px;font-size:15px;color:var(--sg-testo)}
.dhsg .sgh-comfort svg{width:26px;height:26px;flex:none;color:var(--sg-verde)}
/* scheda camera: foto + dettagli */
.dhsg .sgh-stanza{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center;padding:44px 0;border-top:1px solid #eee4d8;scroll-margin-top:90px}
.dhsg .sgh-stanza:first-child{border-top:0;padding-top:0}
.dhsg .sgh-stanza.inverso .sgh-foto{order:2}
.dhsg .sgh-stanza h2{margin-bottom:10px}
.dhsg .sgh-etich{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.dhsg .sgh-etich span{display:inline-flex;align-items:center;gap:6px;background:#f3ece2;color:#2b2420;border-radius:20px;padding:6px 12px;font-size:13.5px;font-weight:700}
.dhsg .sgh-etich svg{width:16px;height:16px;color:var(--sg-verde)}
.dhsg .sgh-stanza .sgh-testo p{font-size:16.5px;line-height:1.7;color:var(--sg-testo);margin:0 0 18px!important}
.dhsg .sgh-nota{font-size:13.5px;color:#7a7068;margin:16px 0 0!important;font-style:italic}
@media (max-width:1024px){
  .dhsg .sgh-comfort div{flex-basis:calc(50% - 7px)}
  .dhsg .sgh-stanza{gap:32px}
}
@media (max-width:760px){
  .dhsg .sgh-hero.bassa{min-height:70vh}
  .dhsg .sgh-stanza{grid-template-columns:1fr;gap:22px;padding:36px 0}
  .dhsg .sgh-stanza.inverso .sgh-foto{order:0}
}
@media (max-width:420px){
  .dhsg .sgh-comfort div{flex-basis:100%}
}
/* schede a tre colonne (trattamenti Spa e simili) */
.dhsg .sgh-camere.tre{grid-template-columns:repeat(3,1fr)}
@media (max-width:1024px){.dhsg .sgh-camere.tre{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.dhsg .sgh-camere.tre{grid-template-columns:1fr}}
/* due schede di testo affiancate */
.dhsg .sgh-servizi.due{grid-template-columns:repeat(2,1fr)}
.dhsg .sgh-servizi.due .sgh-serv p{font-size:15.5px}
/* galleria di foto in fila */
.dhsg .sgh-galleria{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.dhsg .sgh-galleria img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px;display:block}
@media (max-width:760px){.dhsg .sgh-servizi.due{grid-template-columns:1fr}.dhsg .sgh-galleria{grid-template-columns:repeat(2,1fr)}}
/* tabelle prezzi / orari */
.dhsg .sgh-tabella{width:100%;border-collapse:collapse;margin:6px 0 14px;font-size:15px;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 10px rgba(43,36,32,.06)}
.dhsg .sgh-tabella th{background:#2b2420;color:#fbeedf;font-weight:700;text-align:left;padding:10px 14px;font-size:12.5px;letter-spacing:1px;text-transform:uppercase}
.dhsg .sgh-tabella td{padding:10px 14px;border-top:1px solid #eee4d8;color:var(--sg-testo);vertical-align:top}
.dhsg .sgh-tabella td.prezzo{white-space:nowrap;font-weight:700;color:#2b2420;text-align:right}
.dhsg .sgh-piccolo{font-size:13.5px!important;color:#7a7068!important;line-height:1.55!important}
/* offerte: grafica quadrata intera, prezzo in evidenza */
.dhsg .sgh-foto.quadrata img{aspect-ratio:1/1;object-fit:cover;max-width:460px;margin:0 auto}
.dhsg .sgh-validita{display:inline-block;background:#fbeedf;color:#2b2420;border:1px solid #e6d3b3;border-radius:20px;padding:5px 12px;font-size:13px;font-weight:700;margin:0 0 14px}
.dhsg .sgh-prezzo{font-family:"Playfair Display",Georgia,serif;font-size:22px;color:#2b2420;margin:4px 0 20px!important}
.dhsg .sgh-prezzo b{font-size:34px;color:var(--sg-oro);font-weight:600}
.dhsg .sgh-vuoto{text-align:center;max-width:640px;margin:0 auto;background:#fff;border:1px solid #eee4d8;border-radius:16px;padding:40px 28px}
