/* =========================================
   ROOM CAROUSEL — stile "classic" restaurato
   (più specifico per sovrascrivere il tema)
   ========================================= */

.room-carousel-wrapper { position: relative; width: 100%; margin: 40px auto; padding: 0 15px; box-sizing: border-box; }
.room-carousel-wrapper * { box-sizing: border-box; }

/* Frecce */
.room-carousel-wrapper .carousel-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border:0; border-radius:9999px;
  background:rgba(0,0,0,.65); color:#fff;
  display:inline-flex; align-items:center; justify-content:center;
  cursor:pointer; z-index:50; box-shadow:0 4px 10px rgba(0,0,0,.18);
}
.room-carousel-wrapper .carousel-nav.left{ left:6px; }
.room-carousel-wrapper .carousel-nav.right{ right:6px; }
.room-carousel-wrapper .carousel-nav[disabled]{ opacity:.35; cursor:default; }

/* Contenitore orizzontale */
.room-carousel-wrapper .room-carousel-container{
  display:flex; gap:20px; overflow-x:auto; overflow-y:hidden;
  scroll-behavior:smooth; -webkit-overflow-scrolling:touch;
  scrollbar-width:thin; padding-bottom:6px; scroll-snap-type:x proximity;
}

/* Card: 3 colonne desktop / 2 tablet / 1 mobile */
.room-carousel-wrapper .room-card{
  flex:0 0 calc(33.333% - 14px);
  scroll-snap-align:start;
  background:#fefefe;
  border:1px solid #ececec;
  border-radius:8px;
  box-shadow:0 8px 24px rgba(0,0,0,.06);
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease;
}
.room-carousel-wrapper .room-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(0,0,0,.10);
}

@media (max-width: 1024px){ .room-carousel-wrapper .room-card{ flex-basis: calc(50% - 10px); } }
@media (max-width: 640px){
  .room-carousel-wrapper{ padding:0 20px; }
  .room-carousel-wrapper .room-card{ flex-basis: 100%; }
}

/* Media */
.room-carousel-wrapper .room-card img{
  display:block; width:100%; height:240px; object-fit:cover; background:#f5f5f5;
  border-bottom:1px solid #f1f1f1;
}

/* Contenuto */
.room-carousel-wrapper .room-content{ padding:16px 18px 18px; }
.room-carousel-wrapper .room-content h3{
  font-size:20px; font-weight:700; margin:4px 0 10px; line-height:1.25; color:#141414;
}
.room-carousel-wrapper .room-content p{ margin:0 0 12px; color:#333; }

/* Feature list */
.room-carousel-wrapper .room-features{ list-style:none; padding:0; margin:0 0 12px; color:#444; }
.room-carousel-wrapper .room-features li{ margin:6px 0; display:flex; gap:8px; align-items:center; }

/* Box prezzo */
.room-carousel-wrapper .room-price-box{
  border-top:1px dashed #e8e8e8; padding:12px 0px 16px; margin-top:6px;
}

/* Badge sconto VERDE */
.room-carousel-wrapper .discount-badge{
  display:inline-block; background:#22c55e; color:#fff;
  font-weight:700; padding:4px 10px; border-radius:8px;
  margin-bottom:6px; font-size:13px; box-shadow:0 2px 6px rgba(34,197,94,.35);
}

/* Prezzi */
.room-carousel-wrapper .prices{ display:flex; align-items:baseline; gap:10px; margin:6px 0; }
.room-carousel-wrapper .prices del{ color:#9b9b9b; }
.room-carousel-wrapper .prices strong{ font-size:22px; color:#111; }

/* Riga “per notte…” */
.room-carousel-wrapper .per-night{ font-size:12px; color:#666; }

/* === PULSANTE PRENOTA: full-width giallo === */
.room-carousel-wrapper a.btn.btn-book{
  display:block !important;
  width:100% !important;
  text-align:center !important;

  background:#ffcc00 !important;
  color:#1a1a1a !important;
  border:none !important;

  padding:12px 16px !important;
  border-radius:12px !important;
  font-weight:600 !important;
  font-size:14px !important;
  line-height:1.2 !important;

}
.room-carousel-wrapper a.btn.btn-book:hover{
  background:#f2bd00 !important;   /* leggermente più scuro al hover */
  border-color:#d9a800 !important;
}

/* === "SCOPRI DI PIÙ": stesso giallo === */
.room-carousel-wrapper .details-link{
  display:inline-block;
  padding:6px 10px;
  background:#ffcc00;
  color:#1a1a1a !important;
  border:none !important;
  border-radius:8px;
  font-weight:600;
  font-size:13px;
  text-decoration:none !important;
}
.room-carousel-wrapper .details-link:hover{
  background:#f2bd00;
  border-color:#d9a800;
}
/* ===== Prezzo allineato a destra ===== */
/* ======= Allinea TUTTO il blocco prezzi a destra ======= */
.room-carousel-wrapper .room-price-box .price-info{
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:flex-end;   /* spinge tutti i figli a destra */
  text-align:right;       /* testo dentro i figli a destra */
}
/* assicurati che ogni elemento del blocco sia a destra */
.room-carousel-wrapper .room-price-box .discount-badge{ align-self:flex-end; }
.room-carousel-wrapper .room-price-box .prices{
  align-self:flex-end;
  justify-content:flex-end;
  text-align:right;
}
}
.room-carousel-wrapper .room-price-box .per-night{
  text-align:right;
  width:100%;    /* così prende la riga e l’allineamento a destra è netto */
}
.room-carousel-wrapper .room-carousel-container{
   display:flex; gap:20px; overflow-x:auto; overflow-y:hidden;
   scroll-behavior:smooth; -webkit-overflow-scrolling:touch;
   scrollbar-width:thin; padding-bottom:6px; scroll-snap-type:x proximity;
-  touch-action: pan-x;
+  touch-action: auto;            /* consente anche lo scroll verticale della pagina */
   overscroll-behavior-x: contain;
}

