/* Reset básico */
body { margin:0; padding:0; background:#1b1b1b; }

/* LINKS (global) */
a { color:white; text-decoration:underline; }
a:visited { color:white; }
a:hover { color:#D4BA67; text-decoration:underline; }
a:active { color:#D4BA67; text-decoration:underline; }


/* CARD TABLA */
.table-card{
  background:#0f0f0f;
  padding:30px;
  border-radius:10px;
  max-width:980px;
  margin:0 auto;
}


.table.table-dark td{
  color:#fff;
}


/* ===== GALERÍA ===== */
.gallery{
  background:#151515;
  padding:30px;
  border-radius:16px;
  max-width:980px;
  margin:20px auto;
}

.gallery-title{
  font-family:'Cinzel', serif;
  color:#D4BA67;
  text-align:center;
  margin-bottom:20px;
  font-size:28px;
}

/* ===== CARRUSEL CUADRADO ===== */
.carousel{
  position:relative;
  background:#0f0f0f;
  border:1px solid rgba(212,186,103,.35);
  border-radius:16px;
  overflow:hidden;
  max-width:700px;
  margin:0 auto;
}

/* CONTENEDOR CUADRADO */
.viewer{
  display:flex;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;

  width:100%;
  aspect-ratio:1 / 1;
}
.viewer::-webkit-scrollbar{ display:none; }

/* SLIDES */
.viewer img{
  flex:0 0 100%;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  background:#0f0f0f;
  scroll-snap-align:start;
  user-select:none;
  -webkit-user-drag:none;
  display:block;
}

/* ===== FLECHAS ===== */
.car-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  background:rgba(0,0,0,.45);
  border:1px solid rgba(212,186,103,.6);
  color:#D4BA67;
  width:44px;
  height:44px;
  border-radius:50%;
  font-size:26px;
  cursor:pointer;
}
.car-btn.prev{ left:12px; }
.car-btn.next{ right:12px; }

/* ===== CONTADOR ===== */
.counter{
  position:absolute;
  bottom:12px;
  right:12px;
  background:rgba(0,0,0,.6);
  border:1px solid rgba(212,186,103,.45);
  color:white;
  font-family:'Montserrat', sans-serif;
  font-size:14px;
  padding:6px 12px;
  border-radius:999px;
}

/* ===== MINIATURAS ===== */
.thumbs{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding:14px 6px 0;
}
.thumbs::-webkit-scrollbar{ display:none; }

.thumbs img{
  width:64px;
  aspect-ratio:1 / 1;
  object-fit:cover;
  border-radius:10px;
  border:2px solid transparent;
  cursor:pointer;
  opacity:.75;
}
.thumbs img.active{
  border-color:#D4BA67;
  opacity:1;
}

/* ===== CELULAR ===== */
@media (max-width:600px){
  .carousel{
    max-width:100%;
  }
  .thumbs img{
    width:56px;
  }
}

.rcr-gold { color:#D4BA67 !important; }
.rcr-border-gold { border-color:#D4BA67 !important; }
.rcr-btn-gold { background:#D4BA67 !important; color:#111 !important; }

.review-btn{
  width:100%;
  max-width:500px;
  height:140px;
  object-fit:cover;
}

.review-btn{
  width:100%;
  max-width:500px;
  height:140px;
  object-fit:cover;
  transition:0.25s;
}

.review-btn:hover{
  transform:scale(1.04);
}


.review-card{
transition: all 0.25s ease;
cursor:pointer;
}

.review-card:hover{
transform: translateY(-6px);
box-shadow: 0 10px 25px rgba(0,0,0,0.6);
border-color:#D4BA67 !important;
}

.btn-warning{
background-color:#D4BA67;
border-color:#D4BA67;
color:#111;
}

.btn-warning:hover{
background-color:#b89a4d;
border-color:#b89a4d;
color:#111;
}

.service-highlight-card{
  transition: all 0.25s ease;
  background: linear-gradient(180deg, #111 0%, #181818 100%);
}

.service-highlight-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.6);
}

.service-icon{
  width:72px;
  height:72px;
  margin:0 auto;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px solid #D4BA67;
  color:#D4BA67;
  font-size:30px;
  background:#0f0f0f;
}

.services-ladies-card{
  background: linear-gradient(180deg, #111 0%, #181818 100%);
}

.ladies-icon{
  font-size: 2.2rem;
  color: #D4BA67;
  display: inline-block;
}

.ladies-note{
  color: rgba(255,255,255,0.78);
  font-family:'Montserrat', sans-serif;
}


/* ===============================
MOBILE BOOKING CTA
=============================== */

.mobile-book-bar{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  width: 100%;
  padding: 12px 14px calc(12px + env(safe-area-inset-bottom));
  background: rgba(15,15,15,0.96);
  border-top: 1px solid rgba(212,186,103,.35);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  box-shadow: 0 -8px 24px rgba(0,0,0,0.35);
}

.mobile-book-btn{
  width: 100%;
  max-width: 680px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-size: 1rem;
  padding: 14px 18px;
  text-decoration: none;
}

.mobile-book-btn:hover,
.mobile-book-btn:focus,
.mobile-book-btn:active{
  text-decoration: none;
}

/* para que el contenido/footer no quede tapado */
@media (max-width: 991.98px){
  body{
    padding-bottom: 92px;
  }
}





/* ===============================
GABAN PARTNER BAR
=============================== */

.gaban-bar{
margin:40px 0 10px 0;
}

.gaban-bar-inner{

display:flex;
align-items:center;
justify-content:center;
gap:16px;

padding:10px 16px;

background:#111;
border:1px solid rgba(212,186,103,.35);
border-radius:999px;

max-width:520px;
margin:auto;

font-family:'Montserrat',sans-serif;
font-size:14px;

}

.gaban-bar-text{
color:#ccc;
}

.gaban-bar-link{
display:flex;
align-items:center;
text-decoration:none;
}

.gaban-bar-logo{
height:22px;
opacity:.9;
transition:.25s;
}

.gaban-bar-logo:hover{
opacity:1;
}

.gaban-bar-btn{

font-size:13px;
padding:5px 12px;

background:#D4BA67;
color:#111;

border-radius:999px;
text-decoration:none;

transition:.2s;

}

.gaban-bar-btn:hover{
background:#b89a4d;
color:#111;
}