/*GALLERY*/

.gallery-title,
.dove-siamo-title{
  display: flex;
  align-items: center;
  justify-content: center;

  /* gestione responsive */
  font-size: clamp(1.6rem, 5vw, 3rem) !important;
  gap: clamp(.6rem, 2vw, 1.6rem);

  font-weight: 400;
  letter-spacing: 0.08em;

  line-height: 1.1;
  white-space: nowrap;

  padding: 1.6rem 0 !important;
  margin: 0 auto;
}

/* righe laterali */
.gallery-title::before,
.gallery-title::after,
.dove-siamo-title::before,
.dove-siamo-title::after{
  content: "";
  display: block;

  flex: 1 1 40px;
  min-width: 24px;

  /* lunghezza riga (responsive) */
  max-width: clamp(40px, 18vw, 180px);

  height: 2px;
  background: rgba(255,255,255,0.9);
}

@media (max-width: 480px){
  .gallery-title, .dove-siamo-title{
    letter-spacing: 0.05em;
  }
}

@media (max-width: 767px){

  .gallery-title::before,
  .gallery-title::after,
  .dove-siamo-title::before,
  .dove-siamo-title::after{
    max-width: clamp(24px, 10vw, 80px);
  }

}


/* Gallery Lananai: rimuove riquadro (focus) al click sulle frecce */

.swiper-button-next:focus,
.swiper-button-prev:focus,
.swiper-button-next:focus-visible,
.swiper-button-prev:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* Se il riquadro è disegnato via pseudo-elemento */
.swiper-button-next::after,
.swiper-button-prev::after {
  box-shadow: none !important;
  outline: none !important;
  border: 0 !important;
}



/*DOVE SIAMO*/

/* CARD: riquadro chiaro arrotondato che contiene tutto (testi + mappa + bottone) */
  .dove-siamo-wrapper{ 
  max-width: 920px !important;            
  margin: 2rem auto 3rem !important;
  padding: 2rem 2rem !important;         
  background: #f7f4ed !important; 
  border-radius: 22px !important;
  box-sizing: border-box;
}

/* colonne interne */
.dove-siamo-wrapper .wp-block-columns{
  display: flex !important;
  gap: 0.3rem !important;                    
  align-items: center !important;

   /* IMPORTANTE: evita che su viewport stretti restino schiacciate */
  flex-wrap: wrap !important;
}

.dove-siamo-wrapper .wp-block-column{
  min-width: 0 !important; /* evita overflow in flex */
}

/* colonne: centro più largo, lati più stretti */
.dove-siamo-wrapper .wp-block-column:nth-child(1),
.dove-siamo-wrapper .wp-block-column:nth-child(3){
  flex: 1 1 0!important;
}

/* avvicina i testi alla cartina */
.dove-siamo-wrapper .wp-block-column:nth-child(1){
  padding-right: 0.4rem !important; /* meno spazio verso la cartina */
}

.dove-siamo-wrapper .wp-block-column:nth-child(3){
  padding-left: 0.4rem !important;  /* meno spazio verso la cartina */
}


.dove-siamo-wrapper .wp-block-column:nth-child(2){
  flex: 1.8 1 0!important;
  text-align: center !important;
}


/* testo colonne sx/dx */
.dove-siamo-section{
  font-size: 1rem !important;
  line-height: 1.85 !important;
  color: #3c3a34 !important;
  text-align: center !important;
}

/* highlight verde */
.dove-siamo-section .intro-highlight{
  color: #899457 !important;                 
  font-weight: 600 !important;
}


.dove-siamo-wrapper 
.wp-block-column:nth-child(1) 
p{
  margin-bottom: 1.2rem !important; 
}


.dove-siamo-wrapper .wp-block-column:nth-child(2) img{
  max-width: 100% !important; 
  width: 100% !important;               
  height: auto !important;
  display: block;
  margin: 0 auto;
}

/* BOTTONE ESPLORA */
.wp-block-button.lananai-btn > a,
.wp-block-button.lananai-btn > .wp-block-button__link,
.wp-block-button.lananai-btn > .wp-element-button{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 0.55em 1.05em !important;
  line-height: 1.2 !important;

  background: transparent !important;                 
  color: #899457 !important;                          
  border: 1px solid currentColor !important;          /* bordo = stesso verde */
  border-radius: 3px !important;                      /* come PRENOTA */

  font-family: inherit !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;

  box-shadow: none !important;
  text-decoration: none !important;

  cursor: pointer !important;
  transition: color .2s ease, border-color .2s ease, background-color .2s ease, transform .2s ease !important;
}

/* HOVER: verde più scuro (testo+bordo) */
.wp-block-button.lananai-btn > a:hover,
.wp-block-button.lananai-btn > .wp-block-button__link:hover,
.wp-block-button.lananai-btn > .wp-element-button:hover{
  background: transparent !important;
  color: #6f7c44 !important;             /* verde più scuro */
  border-color: currentColor !important;  
  transform: translateY(-1px) !important;
}

/* Centra il bottone nella colonna destra */
.dove-siamo-wrapper .wp-block-column:nth-child(3){
  text-align: center !important;            
}

/* il blocco button a volte è width:100% o ha margin strani */
.dove-siamo-wrapper .wp-block-column:nth-child(3) .wp-block-button{
  width: fit-content !important;            /* evita che si “allunghi” */
  margin: 0.9rem auto 0 !important;         /* centra e dà un filo di aria */
  display: block !important;
}

@media (max-width: 1100px){
  .dove-siamo-wrapper{
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
  }
}



/* MOBILE (Foto in colonna) */
@media (max-width: 767px){

  /* card più compatta */
  .dove-siamo-wrapper{
    padding: 1.2rem 1rem !important;
    margin: 1.2rem auto 2rem !important; 
    margin-left: 16px !important;
    margin-right: 16px !important;
  }

  /* FORZA LO STACK */
  .dove-siamo-wrapper .wp-block-columns{
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 1rem !important;
    align-items: stretch !important;
  }

  .dove-siamo-wrapper .wp-block-column{
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  /* annulla il “centro più largo” su mobile */
  .dove-siamo-wrapper .wp-block-column:nth-child(2){
    flex: 0 0 100% !important;
  }

  .dove-siamo-section{
    font-size: 0.9rem !important;
    line-height: 1.3 !important;
    text-align: center !important;
  }

  .dove-siamo-wrapper .wp-block-column:nth-child(2) img{
    width: min(150px, 50vw) !important;
  }
  
  
}


/* MOSAICO Dove Siamo */
.dovesiamo-gallery {
  display: grid;
  grid-template-columns: 1.3fr 1.3fr 1.3fr;  
  grid-template-rows: repeat(2, 320px);      
  gap: 4px;     /*prima 0.4rem*/                          
 }

.dovesiamo-gallery .wp-block-image {
  margin: 0 !important;
}

.dovesiamo-gallery .wp-block-image,
.dovesiamo-gallery figure {
  width: 100%;
  height: 100%;
}

.dovesiamo-gallery img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;        
  object-position: center;  
}

/* POSIZIONI NELLA GRIGLIA */

/* grande a sinistra, alta 2 righe */
.dovesiamo-gallery .ds-img-1 {
  grid-column: 1;
  grid-row: 1 / span 2;
}

/* panoramica in alto a destra (larga 2 colonne, una riga soltanto) */
.dovesiamo-gallery .ds-img-2 {
  grid-column: 2 / span 2;
  grid-row: 1;
}

.dovesiamo-gallery .ds-img-3 {
  grid-column: 2;
  grid-row: 2;
}

.dovesiamo-gallery .ds-img-4 {
  grid-column: 3;
  grid-row: 2;
}

/* La cella deve riempire tutta la larghezza disponibile */
figure.wp-block-image.ds-img-2{
  width: 100% !important;
  max-width: 100% !important;
 /* margin: 0 !important;*/
}

/* L'immagine deve riempire il figure */
figure.wp-block-image.ds-img-2 > img{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}



/*VERSIONE MOBILE */
@media (max-width: 768px) {

  .dovesiamo-gallery {
    display: block;
    padding: 0 1rem;              
  }
  
  .dovesiamo-gallery .wp-block-image {
    margin: 0 0 0.3rem 0 !important;
    width: 100% !important;
    border-radius: 0 !important; 
    overflow: hidden;
  }

  .dovesiamo-gallery img {
    width: 100% !important;
    height: auto !important;
    border-radius: 0 !important;
    display: block;
  }

  /* Bordi arrotondati solo dove servono */

  .dovesiamo-gallery .ds-img-1 img {
    border-top-left-radius: 18px !important;
    border-top-right-radius: 18px !important;
  }

  .dovesiamo-gallery .ds-img-4 img {
    border-bottom-left-radius: 18px !important;
    border-bottom-right-radius: 18px !important;
  }

}

/*GALLERY MOBILE */
@media (max-width: 767px){
  .gallery-section{ padding: 0.75rem 0 !important; }
  .gallery-section .section-heading{
    font-size: 1.8rem !important;
    padding: 0 1.2rem !important;
  }
  .gallery-section .section-heading::before{ margin-right: 0.8rem !important; }
  .gallery-section .section-heading::after{  margin-left:  0.8rem !important; }
}




/*  WIDGET CONTATTI MOBILE       */


/* Nascondo il widget di base su desktop */
.contact-widget-mobile {
  display: none;
}

@media (max-width: 1199px) {
    
    /*Quando c'è il menù aperto, il widget scompare */
    html.has-modal-open .contact-widget-mobile {
  display: none !important;
}

  .contact-widget-mobile {
    position: fixed;
    bottom: 20px;
    left: 20px;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: inherit;
  }

  /* Nascondo il checkbox ma lo lascio "vivo" per il label */
  .contact-widget-toggle {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }


  .contact-widget-main-btn {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #e0d8d2;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 28px;
    border: none;
    z-index: 999; 
  }

  .contact-widget-main-btn * {
    pointer-events: none !important;
  }


  /* Contenitore delle iconcine: stesso centro del bottone */
  .contact-widget-buttons {
    position: absolute;
    top: 0;
    left: 0;
    width: 70px;
    height: 70px;
    pointer-events: none;  /* blocco i click finché non è aperto */
  }

  /* Iconcine del ventaglio */
  .contact-widget-btn {
    position: absolute;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #f4eee8;
    box-shadow: 0 4px 10px rgba(0,0,0,0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 22px;

    /* stato iniziale: nascoste e piccole al centro */
    opacity: 0;
    transform: translate(0, 0) scale(0.3);
    transition: opacity 0.3s ease, transform 0.3s ease;
  }

  /* Quando il menu è aperto abilito i click e mostro le iconcine */
  .contact-widget-toggle:checked ~ .contact-widget-buttons {
    pointer-events: auto;
  }

  .contact-widget-toggle:checked ~ .contact-widget-buttons .contact-widget-btn {
    opacity: 1;
  }

  /* ---- POSIZIONI A VENTAGLIO ---- */
  /* 1 = Telefono (sopra) */
  .contact-widget-toggle:checked ~ .contact-widget-buttons .contact-widget-btn:nth-child(1) {
    transform: translate(0px, -80px) scale(1);
  }

  /* 2 = Prenotazione (alto-destra) */
  .contact-widget-toggle:checked ~ .contact-widget-buttons .contact-widget-btn:nth-child(2) {
    transform: translate(55px, -55px) scale(1);
  }

  /* 3 = Maps (destra) */
  .contact-widget-toggle:checked ~ .contact-widget-buttons .contact-widget-btn:nth-child(3) {
    transform: translate(80px, 0px) scale(1);
  }

.contact-widget-main-btn * {
  pointer-events: none !important;
}

/* SVG widget */
.widget-icon {
  display: block;
}

/* Colori */
.main-icon {
  color: #3c3a34;
}

.secondary-icon {
  color: #6f6c65;
}

/* Sfondo grigio bottoni */
.contact-widget-main-btn,
.contact-widget-btn {
  background: #f2f2f2;
}

/* Hover */
.contact-widget-btn:hover .secondary-icon {
  color: #3c3a34;
}

}


.lananai-footer-main .wp-block-social-links .wp-social-link svg,
.lananai-footer-main .wp-block-social-links .wp-social-link svg path {
  fill: #3c3a34 !important;
}

.lananai-footer-main .wp-block-social-links .wp-social-link:hover svg,
.lananai-footer-main .wp-block-social-links .wp-social-link:hover svg path {
  fill: #DD893D !important;
}

.lananai-footer-main .wp-block-social-links .wp-social-link {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.lananai-footer-main .wp-block-social-links .wp-social-link:hover {
  background: transparent !important;
}

.lananai-footer-main .wp-block-social-links .wp-social-link a {
  padding: 0 !important;
}


/* Niente riquadri/effetti al tap/click */
.contact-widget-btn,
.contact-widget-main-btn {
  outline: none !important;
  -webkit-tap-highlight-color: transparent;
}

/* Rimuove il bordo focus che appare dopo il click */
.contact-widget-btn:focus,
.contact-widget-btn:active,
.contact-widget-main-btn:focus,
.contact-widget-main-btn:active {
  outline: none !important;
  box-shadow: none !important;
}

/* Se il tema WP applica un bordo via :focus-visible */
.contact-widget-btn:focus-visible,
.contact-widget-main-btn:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

#gallery {
  margin-top: 32px !important;
  margin-bottom: 30px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}