/*  HEADER  */
header {
    background: url('immagini/sfondo-sito-tramonto.jpg') center/cover no-repeat;
    background-position: center;
    height: 80vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: white;
    text-shadow: 0 0 10px rgba(0,0,0,1);
    border-radius: 8px;
}

header h1{position: absolute; top: 30%;font-size: 3.3rem; margin-top: 0%; margin-bottom: 10px; }
header h2{position: absolute; top: 20%;font-size: 1.5rem; padding-bottom: 10px; margin-top: 0%; margin-bottom: 2px;}

header button {
  position: absolute;
  top: 45%;
  background: #2d8648;
  color: white;
  padding: 18px 40px;
  border: none;
  cursor: pointer;
  border-radius: 6px;
  font-size: 1.4rem;
}

header button:hover {
  scale: 1.1;
  background: #256d3a;
}

/*  MESSAGGIO LINGUE  */

.messaggio-lingue , .messaggio-lingue a{
  text-align: center;
  font-size: small;
  color: red;
}

.messaggio-lingue a:hover {
  font-size: 1.1rem;
  color: white;
  background-color: red;
  border-radius: 5px;
}


/*  DESCRIZIONE */

.descrizione {
  position: relative;
  padding: 40px 10%;
  max-width: 1200px;
  margin: auto;
  font-size: 1.5rem;
}


h2 {
    padding: 40px 10%; max-width: 1200px; margin: auto; font-size: 1.5rem;
}

.descrizione h2, h3 {
  text-align: center;
  padding: 40px 10%;
  max-width: 1200px;
  margin: auto;
  font-size: 1.5rem;
  padding-top: 0;
  padding-bottom: 2%;
}

.descrizione p {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  flex: 1 1 200px;
  background: #fff;
  padding: 20px;
  border-radius: 8px;
  text-align: center;
  font-size: 1.5rem;
  color: #000000;
}

/*  GALLERIA IMMAGINI E RECENSIONI  */

.contenitore-slide-immagini {
  position: relative;
  max-width: 500px;
  margin: auto;
  overflow: hidden;
  border-radius: 8px;
}

.slide {
  display: none;
}

.slide img {
  width: 100%;
  cursor: pointer;
  border-radius: 8px;
}

.contenitore-slide-immagini .casa-precedente,
.contenitore-slide-immagini .casa-successiva,
#contenitore-recensioni .recensione-precedente,
#contenitore-recensioni .recensione-successiva {
  cursor: pointer;
  position: absolute;
  top: 50%;
  padding: 16px;
  margin-top: -22px;
  color: white;
  font-weight: bold;
  font-size: 10px;
  transition: 0.3s;
  border-radius: 0 3px 3px 0;
  background: rgba(0,0,0,0.4);
  user-select: none;
  z-index: 10;
}

.casa-successiva, .recensione-successiva {
  right: 0;
  border-radius: 3px 0 0 3px;
}

#contenitore-recensioni .recensione-precedente:hover,
#contenitore-recensioni .recensione-successiva:hover,
.contenitore-slide-immagini .casa-precedente:hover,
.contenitore-slide-immagini .casa-successiva:hover {
  background: rgba(0,0,0,0.7);
}

.contenitore-puntini {
  text-align: center;
  padding: 10px 0;
}

.dot {
  cursor: pointer;
  height: 12px;
  width: 12px;
  margin: 0 4px;
  background: #bbb;
  border-radius: 50%;
  display: inline-block;
}

.active-dot {
  background: #2d8648;
}

#slider-recensioni {
  padding: 40px 20px;
  max-width: 1000px;
  margin: auto;
  text-align: center;
}

.slider-container {
  overflow: hidden;
  position: relative;
  width: 100%;
}

.slider-track {
  display: flex;
  transform: transform 0.5s ease;
}

.slider-track img {
  width: 50%;
  flex-shrink: 0;
  padding: 10px;
  box-sizing: border-box;
  border-radius: 8px;
}

#contenitore-recensioni {
  position: relative;
  text-align: center;
}

.recensione-precedente {
  left: 0%;
}

.recensione-successiva {
  right: 0%;
}

.recensione-precedente, .recensione-successiva {
  width: 20px;
  height: 20px;
}

.recensioni-slide{
  display: none;            
  justify-content: center;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  min-height: 200px;        
}


.recensioni-slide img {
  max-width: 80%;   
  width: auto;
  height: auto;
  display: block;
  margin: 0 auto;
}


.bottone-recensioni {
  display: inline-block;
  background: #2d8648;
  color: white;
  padding: 12px 24px;
  border-radius: 6px;
  font-size: 1.2rem;
  text-decoration: none;
}

.bottone-recensioni:hover {
  background: #256d3a;
}

/* apertura immagini a schermo intero */
.modal {
  display: none;
  position: fixed;
  z-index: 1000;
  padding-top: 60px;
  left: 0; top: 0;
  width: 100%; height: 100%;
  overflow: auto;
  background: rgba(0,0,0,0.9);
}
.modal-content {
  display: block;
  margin: auto;
  max-width: 90%;
  max-height: 80vh;
}
.close {
  position: absolute;
  top: 20px; right: 35px;
  color: white;
  font-size: 40px;
  font-weight: bold;
  cursor: pointer;
}


/*  SERVIZI */

.servizi {display: flex; flex-wrap: wrap; gap: 10px;}

.servizio {
  flex: 1 1 200px;
  background: #09f5013d;
  padding: 10px;
  border-radius: 8px;
  text-align: center;
  font-size: 1.5rem;
  color: #1a2515;
}

.tutti-servizi {
  flex: 1 1 200px;
  background: #09f50157;
  padding: 10px;
  border-radius: 8px;
  text-align: center;
  font-size: 1.5rem;
}

.tutti-servizi a {
  color: #1a2515;
}

.tutti-servizi a:hover {
  color: black;
}

/*IFRAME GOOGLE MAPS  */

iframe {width: 100%; height: 300px; border: none; border-radius: 8px;}


/*  COSA FARE A SANREMO */

.cosa-fare p{
  position: relative;
  padding: 40px 10%;
  padding-top: 0px;
  max-width: 1200px;
  margin: auto;
  font-size: 1.5rem;
}

.cosa-fare a{
  display: block;
  background: #2d8648;
  position: relative;
  text-align: center;
  color: white;
  padding: 12px 24px;
  border-radius: 6px;
  font-size: 1.2rem;
  width: fit-content;
  margin: 0 auto;
}


/*  FOOTER  */

footer , footer a{
  background: #333; color: white; text-align: center; padding: 20px;
}

footer img {
  width: 80px;
  border-radius: 50%;
}


/*  GENERICI  */

dl {
   padding: 40px 10%; padding-top: 0%; max-width: 1200px; margin: auto; font-size: 1.5rem;
}

dl dt, dd{
  padding-bottom: 10px;
}

dl dd {
  font-size: 1.3rem;
}

.link-airbnb-contatti {
  color: black;
}

.link-airbnb-contatti:hover {
  color: #0000009c;
}


.titoletti {
  padding: 40px 10%;
  max-width: 1200px;
  margin: auto;
  font-size: 1.5rem;
}

.contatti h2 {
  padding-bottom: 20px;
}