 @charset "UTF-8";
/*-------- Font-Family-------*/
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700;800&display=swap");
@import url("https://fonts.googleapis.com/css?family=Nunito:400,600,700&display=swap");

 :root{
        --blue:#1e47a8;          /* Ajustable */
        --blue-2:#123b93;         /* Alternativo para hover/variaciones */
        --green:#00aa6c;          /* TripAdvisor dots */
        --gold:#ffb400;           /* Estrellas */
        --radius:14px;            /* Coincidir esquinas redondeadas */
        --inner-pad-x:2rem;       /* Padding lateral interior */
        --inner-pad-y:1.2rem;     /* Padding vertical de bandas */
        --logo-h:54px;            /* Altura de logos desktop */
        --gap:2.25rem;            /* Separación entre marcas */
        --page-max:1180px;       /* Ancho unificado */
      }

      body{font-family: Poppins, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif; background:#fff;}

      .section{padding:2.5rem }
      @media (min-width:992px){.section{padding:1.15rem 0}}

      /* Contenedor azul con esquinas redondeadas */
      .blue-card{background:#1e47a8; border-radius:var(--radius); overflow:hidden; box-shadow:0 .75rem 1.75rem rgba(0,0,0,.12)}

      /* Bandas superior e inferior */
      .band{color:#fff; font-weight:500; text-transform: none; letter-spacing:.8px; text-align:center; padding:var(--inner-pad-y) var(--inner-pad-x)}
      .band--small{font-size:clamp(.95rem, 1.6vw, 1.05rem)}
      .band--big{font-size:clamp(1.02rem, 1.8vw, 1.15rem)}

      /* Tarjeta blanca central sin bordes redondeados (como la captura) */
      .white-strip{background:#fff; padding:1.4rem var(--inner-pad-x); padding-top: 5px !important; padding-bottom: 5px !important;}
      @media (min-width:992px){.white-strip{padding:2.25rem calc(var(--inner-pad-x) + .25rem)}}

      /* Grid de marcas */
      .brands{row-gap:1.5rem}
      @media (min-width:576px){.brands{column-gap:var(--gap)}}
      .brand{ text-align:center }
      .brand__logo{ height:42px; object-fit:contain }
      @media (min-width:768px){ .brand__logo{ height:var(--logo-h) } }

      /* Rating y detalles */
      .rating{display:flex; align-items:center; justify-content:center; gap:.4rem}
      .rating__val{font-weight:500}
      .stars svg{width:18px;height:18px}
      .stars path{fill:var(--gold)}
      .dots{display:flex; gap:.35rem; justify-content:center}
      .dots span{width:10px;height:10px;border-radius:999px;background:var(--green)}

      /* Texto pequeño gris debajo de logos */
      .subtle{color:#6b7280; font-size:.92rem}

      /* Forzar 5 columnas en lg como en la imagen */
      .cols-responsive{ --bs-gutter-x: 1rem }
      @media (min-width:992px){ .cols-responsive{ display:grid; grid-template-columns: repeat(5, 1fr); align-items:center } }
      /* === Galería Slider (flechas + thumbs en una sola línea) ================= */
      :root{ --viewer-radius:14px; --thumb-radius:10px; --shadow-strong: 0 22px 45px rgba(0,0,0,.28); --shadow-soft: 0 8px 22px rgba(0,0,0,.18); }
      .gallery-section{ background: transparent; }
      .gallery{ width: 100%; }
      .gallery__viewer{ position: relative; border-radius: 0px; overflow: hidden; box-shadow: var(--shadow-strong);background: #0002;  }
      .gallery__slides{ position: relative; aspect-ratio: 16/9;}
      .gallery__slides .slide{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.01); transition: opacity .35s ease, transform .35s ease; }
      .gallery__slides .slide.is-active{ opacity: 1; transform: none; }

      .gallery__nav{ position: absolute; inset: 0; pointer-events: none; }
      .nav-btn{ position: absolute; top: 50%; transform: translateY(-50%); width: 42px; height: 42px; border-radius: 999px; border: 0; background: rgba(255,255,255,.92); display: grid; place-items: center; box-shadow: 0 10px 26px rgba(0,0,0,.22); pointer-events: auto; }
      .nav--prev{ left: 12px; }
      .nav--next{ right: 12px; }
      .nav-btn svg{ width: 20px; height: 20px; }
      .nav-btn:active{ transform: translateY(-50%) scale(.98); }

      .gallery__thumbs{ margin-top: 14px; display: flex; gap: 14px; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; -webkit-overflow-scrolling: touch; }
      .gallery__thumbs button{ border: 0; background: transparent; padding: 0; cursor: pointer; border-radius: var(--thumb-radius); overflow: hidden; box-shadow: var(--shadow-soft); transform: translateZ(0); }
      .gallery__thumbs button.is-active{ box-shadow: 0 14px 30px rgba(0,0,0,.28); transform: translateY(-2px); }
      .gallery__thumbs img{ display: block; width: 100px; height: 100px; object-fit: cover; }
      @media (min-width: 1400px){ .gallery__thumbs img{ width: 170px; height: 110px; } }
      .gallery__thumbs button:not(.is-active) img{ filter: grayscale(22%) contrast(1.05) opacity(.92); }
    /* === Ancho unificado para todas las secciones === */
      .container-unify{ max-width: var(--page-max) !important; }

      /* HEADER DE PLAYA — FONDEADO CON FADE, SIN RAYA */
:root{
  --beach-height: 160px;
  --beach-height-sm: 110px;
  --page-max: 1180px;
  
}

.beach-header{
  position:relative;
  width:100%;
  background:transparent;
  line-height:0;
  margin-bottom:-1px; /* solapa 1px con la siguiente sección */
}

/* imagen */
.beach-header::before{
  content:"";
  display:block;
  height:var(--beach-height);
  background-image:var(--img);
  background-size:cover;
  background-position:center top;
  background-repeat:no-repeat;
}

/* fade que baja 1px para cubrir la unión */
.beach-header::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:-1px;   /* <- clave: baja 1px */
  height:26px;
  background:linear-gradient(to bottom, transparent 0, var(--page-bg) 100%);
  pointer-events:none;
}

@media (max-width:768px){
  .beach-header::before{ height:var(--beach-height-sm); }
  .beach-header::after{ height:22px; }
}

      /* ====== Estilos específicos de la sección ====== */
:root{
  --hotel-blue-a: #0f6df6;
  --hotel-blue-b: #1458db;
  --hotel-green:  #11a457;
  --hotel-gold:   #f5b800;
  --hotel-radius: 14px;
  --hotel-pad:    18px;
  --hotel-max:    var(--page-max, 1180px); /* usa tu variable global si existe */
}

/* ===== Hotelbar ===== */
.hotelbar{ margin: 20px 0 20px; }
.hotelbar__container{ max-width: var(--hotel-max); margin-inline: auto; padding-inline: 12px; }

/* FORZAR SOLO RADIOS SUPERIORES */
.hotelbar__grid{
  display:grid;
  grid-template-columns: 1.2fr 1fr; /* aprox relación de la captura */
  background:#fff;
  box-shadow:0 16px 36px rgba(0,0,0,.12);
  overflow:hidden;

  /* >>> SOLO esquinas superiores redondeadas <<< */
  border-top-left-radius:  var(--hotel-radius) !important;
  border-top-right-radius: var(--hotel-radius) !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius:0 !important;
}
/* Evitar radios inferiores en elementos internos que puedan heredarlos */
.hotelbar__left,
.hotelbar__right,
.hotelbar__ribbon,
.hotelbar__timer{
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius:0 !important;
}

@media (max-width:767.98px){
  .hotelbar__grid{ grid-template-columns: 1fr; }
}

.hotelbar__left{ padding: var(--hotel-pad) calc(var(--hotel-pad) + 6px); }
.hotelbar__title{
  font: 700 20px/1.15 Poppins, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:#163b8f;
  margin:0 0 8px;
  letter-spacing:.4px;
}
@media (max-width:991.98px){ .hotelbar__title{ font-size:25px; } }
.hotelbar__stars{ margin-left:10px; vertical-align:middle; }
.hotelbar__stars .star{ width:18px; height:18px; fill:var(--hotel-gold); margin-right:2px; }

.hotelbar__meta{ display:flex; flex-wrap:wrap; gap:10px 16px; color:#5b6473; }
.score b{ color:#1565f9; font-weight:800; }
.score .sep{ opacity:.5; margin:0 6px; }
.addr{ display:inline-flex; align-items:center; gap:6px; font-size:12px; }
.addr .pin{ width:16px; height:16px; color:#e83f6f; }

/* Derecha */
.hotelbar__right{ display:grid; grid-template-rows:auto 1fr; }
.hotelbar__ribbon{
  display:flex; align-items:center; gap:10px;
  padding:12px 16px;
  background:linear-gradient(90deg, var(--hotel-blue-a), var(--hotel-blue-b));
  color:#fff; font-weight:800; letter-spacing:.8px;
  /* asegurar sin radios inferiores */
  border-bottom-left-radius:0 !important;
  border-bottom-right-radius:0 !important;
}
.ribbon__text{ font-size:20px; }
.ico{ font-size:20px; line-height:1; }

.hotelbar__timer{
  display:grid; grid-template-columns:repeat(3, 1fr);
  align-items:center; justify-items:center;
  padding:8px 8px;
  background:var(--hotel-green);
  color:#fff; text-align:center;
  /* sin radios inferiores */
  border-bottom-left-radius:0 !important;
  border-bottom-right-radius:0 !important;
}
.hotelbar__timer .unit{ display:grid; gap:6px; }
.hotelbar__timer .num{
  font-weight:900;
  font-size:clamp(28px, 5vw, 20px);
  letter-spacing:1px;
}
.hotelbar__timer .lbl{ font-weight:500; font-size:14px; opacity:.95; margin-top:-15px; }

/* ===== VIDEO E INCLUICIONES (sin cambios) ===== */
.pkg-section{ --blue:#0f6df6; --blue-2:#1556e0; --orange:#ff8a00; --orange-2:#ffac38; --green:#2db267; --radius:18px; }
.pkg-video{ border-radius: var(--radius); }
.pkg-panel{ border:1px solid #eef0f4; }

.pkg-title{
  font:500 20px/1.1 Poppins, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  text-align:center; color:#111; letter-spacing:.3px;
}
@media (max-width:991.98px){ .pkg-title{ font-size:24px; } }


/* Badges CTA */
.pkg-badge{
  display:inline-block; white-space:nowrap; text-decoration:none;
  padding:.55rem .9rem; border-radius:999px; color:#fff; font-weight:500; font-size:.75rem;
  box-shadow:0 10px 24px rgba(0,0,0,.18); text-align: center !important; align-items: center !important;
}
.pkg-badge--blue{ background: linear-gradient(90deg, #1e47a8, var(--blue-2)); }
.pkg-badge--orange{ background: linear-gradient(90deg, var(--orange), var(--orange-2)); }

/* ===== Bullets con imagen (para .pkg-benefits) ===== */
/* Configura icono y tamaño */
:root{
  --pkg-check-url: url("https://upload.wikimedia.org/wikipedia/commons/thumb/c/c6/Sign-check-icon.png/960px-Sign-check-icon.png");
  --pkg-check-size: 15px;
}

.pkg-benefits{ list-style:none; padding-left:0; margin:0; }

/* Fila con espacio reservado para el icono */
.pkg-benefits li{
  position: relative;
  display: block;                 /* sobrescribe el flex anterior */
  padding: .3rem 0 .3rem calc(var(--pkg-check-size) + .6rem);
  color:#2b2f36; font-size:17px;
  border-bottom: 1px solid rgba(0,0,0,.06); font-family: "Helvetica", Sans-serif !important;
}
.pkg-benefits li:last-child{ border-bottom:0; }

/* Icono como imagen */
.pkg-benefits li::before{
  content:"";
  position:absolute; left:0; top:.2rem;
  width: var(--pkg-check-size); height: var(--pkg-check-size);
  background-image: var(--pkg-check-url);
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.12)); padding-top: 30px;
}

/* Oculta el antiguo elemento si aún está en el HTML */
.pkg-benefits .chk{ display:none !important; }

/* Términos */
.pkg-terms{ line-height:1.35; }

/* Ajustes responsive de separación */
@media (max-width: 575.98px){
  .pkg-badge{ font-size:.88rem; }
}

/* ===== CTA pareados ===== */
.cta-pair{
  display:inline-flex;              /* MISMA LÍNEA + MISMO ALTO */
  align-items:stretch;
  border-radius:999px;              /* Solo esquinas externas */
  overflow:hidden;                  /* Une visualmente ambos */
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}
.btn-cta{
  display:inline-flex; align-items:center; justify-content:center;
  padding:.85rem 1.25rem;           /* altura ~44–48px */
  font:500 0.78rem/1.1 Poppins, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:#fff; text-decoration:none; white-space:nowrap;
}
.btn-cta--blue{
  background:linear-gradient(90deg,#0f6df6,#1556e0);
  /* bordes internos rectos, externos redondos */
  border-radius:999px 0 0 999px;
}
.btn-cta--orange{
  background:linear-gradient(90deg,#ff8a00,#ffac38);
  text-transform:uppercase;
  border-radius:0 999px 999px 0;
}

/* Hover/Focus accesible */
.btn-cta:hover{ filter:brightness(1.05); }
.btn-cta:focus-visible{ outline:3px solid #fff; outline-offset: -3px; }

/* Responsive: apilar en móvil */
@media (max-width:575.98px){
  .cta-pair{ display:flex; flex-direction:column; border-radius:14px; }
  .btn-cta--blue{ border-radius:14px 14px 0 0; }
  .btn-cta--orange{ border-radius:0 0 14px 14px; }
}

:root{
  --po-blue: #1e47a8;
  --po-blue-acc: #0f6df6;
  --po-orange: #ff8a00;
  --po-green: #16a34a;
  --po-radius: 14px;
  --po-max: var(--page-max, 1180px);
}
#oferta-precios > .container{ max-width: var(--po-max); margin-inline:auto; padding-inline:12px; }

.po{ margin: 18px 0; }
.po-card{
  border-radius: var(--po-radius);
  background: #f5f6f8;
  box-shadow: 0 12px 28px rgba(0,0,0,.08);
  overflow: hidden;
  border: 1px solid #e6e9ef;
}

/* Header */
.po-header{
  display: grid;
  background: var(--po-blue);
  color: #fff;
  font-weight: 500;
  text-align: center;
  padding: 10px 12px;
}
.po-header.po-cols-5{ grid-template-columns: 1.7fr 1fr 1fr 1fr 1.1fr; }
.po-header > div{ padding: 2px 8px; }

/* Grid contenido */
.po-grid{
  display: grid;
  align-items: start;
  padding: 14px 16px 16px;
  gap: 0;
}
.po-grid.po-cols-5{ grid-template-columns: 1.7fr 1fr 1fr 1fr 1.1fr; }

.po-inc{ padding-right: 14px; }
.po-title{ margin: 0 0 6px; color: #163b8f; font-weight: 700; font-size: 25px; letter-spacing: .4px; }
.po-sub{ color:#2a3a53; font-weight:500; margin-bottom: 8px; }
.po-free{ color: var(--po-green); font-weight: 800; margin-bottom: 8px; }
.po-list{ margin:0; padding-left:0; list-style:none; }
.po-list li{ font-weight:500; color:#163b8f; line-height:1.35; }

.po-col{ padding: 6px 10px; }
.po-col--center{ text-align:center; }
.po-col--btn{ display:flex; align-items:center; justify-content:flex-end; }

.po-regular{ color:#4b5563; font-weight: 700; font-size: 25px; font-family:Poppins !important;}
.po-strike{ text-decoration: line-through; text-decoration-thickness: .12em; text-decoration-color: #6b7280; }
.po-save{ margin-top: -3px; color: var(--po-blue-acc); font-size: 17px; }

.po-price{ font-weight: 700; font-size: 25px; white-space: nowrap; font-family:Poppins !important; }
.po-price--member{ color: var(--po-blue-acc); }
.po-price--special{ color: var(--po-orange); }
.po-currency{ font-weight:700; font-size:.8em; margin-left:4px; color: inherit; }
.po-note{ color: var(--po-blue-acc); font-weight:500; }

/* Botón reservar */
.po-btn{
  display:inline-flex; align-items:center; gap:10px;
  padding: .9rem 1.35rem;
  border-radius: 10px;
  background:#12b76a;
  color:#fff; text-decoration:none; font-weight:500; letter-spacing:.3px;
  box-shadow: 0 10px 22px rgba(0,0,0,.15);
}
.po-btn svg{ width: 20px; height: 20px; fill: currentColor; }
.po-btn:hover{ filter: brightness(1.05); }

/* Responsive */
@media (max-width: 991.98px){
  .po-header.po-cols-5{ grid-template-columns: 1fr 1fr 1fr; }
  .po-header.po-cols-5 > :nth-child(4){ grid-column:auto; }
  .po-header.po-cols-5 > :last-child{ display:none; }            /* ocultar celda vacía */
  .po-grid.po-cols-5{ grid-template-columns: 1fr 1fr; }
  .po-col--btn{ grid-column: 1 / -1; justify-content: center; }  /* botón a lo ancho */
}
@media (max-width: 575.98px){
  .po-grid.po-cols-5{ grid-template-columns: 1fr; }
  .po-title{ font-size: 22px; }
  .po-regular{ font-size: 24px; }
  .po-price{ font-size: 28px; }
  .po-btn{ width: 100%; justify-content:center; }
}

/* Reemplaza SOLO estos estilos de la lista en tu CSS del popup */

/* Config: icono y tamaño */
:root{
  --rv-check-url: url("https://upload.wikimedia.org/wikipedia/commons/thumb/c/c6/Sign-check-icon.png/960px-Sign-check-icon.png");
  --rv-check-size: 20px; /* ajusta 18–22px según tu gusto */
}

.rv-list{ list-style: none; padding-left: 0; margin: 0; }

/* Fila + divisor */
.rv-list li{
  position: relative;
  padding: .6rem 0 .6rem calc(var(--rv-check-size) + .7rem); /* espacio para el icono */
  border-bottom: 1px solid #e9edf3;
  display: block;
}

.rv-title{ font: 500 28px/1.15 Poppins, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color:#1e47a8; }
.rv-sub{ color:#6b7280; }
.rv-summary{ background:#fff; overflow:hidden; }
.rv-summary__head{ background:#1e47a8; color:#fff; font-weight:500; text-align:center; padding:.75rem 1rem; }

.rv-list li:last-child{ border-bottom: 0; }

/* Icono con imagen (reemplaza a tus ::before/::after actuales) */
.rv-list li::before{
  content: "";
  position: absolute;
  left: 0;
  top: .55rem;               /* alinea verticalmente con el texto */
  width: var(--rv-check-size);
  height: var(--rv-check-size);
  background-image: var(--rv-check-url);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;  /* mantiene proporción */
  /* leve mejora visual sobre fondos oscuros */
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.15));
}

/* ——— elimina tus reglas anteriores para los checks ———
.rv-list li::before { ... círculo verde ... }
.rv-list li::after  { ... palomita blanca ... }
*/

/* OPINONES */
:root{
  --reviews-radius: 16px;
  --reviews-shadow: 0 18px 40px rgba(0,0,0,.12);
  --reviews-border: #e6e9ef;
  --reviews-pad-x: clamp(16px, 3vw, 28px);
  --reviews-pad-y: clamp(14px, 2.5vw, 24px);
  --blue: #1e47a8;
  --gold: #ffb400;
}


.reviews-section{ padding-top: 1rem; padding-bottom: 1rem; }

.reviews-card{
  background:#fff; border:1px solid var(--reviews-border);
  border-radius: var(--reviews-radius); box-shadow: var(--reviews-shadow);
  padding: var(--reviews-pad-y) var(--reviews-pad-x);
}

.reviews-head{ padding-bottom: .6rem; border-bottom:1px solid #eef0f4; margin-bottom: 1rem; }
.reviews-title{
  font: 500 20px/1.15 Poppins, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: #1e47a8; letter-spacing: .6px; text-align: center;
}
@media (max-width: 991.98px){ .reviews-title{ font-size: 26px; } }

.score-wrap{ display:grid; place-items:center; margin-bottom: 1.25rem; }
.score{ font-weight:800; font-size: clamp(20px, 3.6vw, 20px); color: #1e47a8; }
.score .stars{ display:inline-flex; gap:6px; transform: translateY(2px); }
.score .stars svg{ width:18px; height:18px; }
.score .stars path{ fill: var(--gold); }

.meters{ list-style:none; padding-left:0; margin:0; display:grid; gap:18px; }
.meter-label{ color:#2a3a53; font-weight:500; margin-bottom:6px; }
.meter-track{ position:relative; height:10px; border-radius:999px; background:#e6e9ef; overflow:hidden; }
.meter-bar{ position:absolute; inset:0 auto 0 0; width:0%; background:#144fc6; border-radius:999px; transition: width .9s cubic-bezier(.2,.8,.2,1); }
.meter-value{ position:absolute; right:8px; top:50%; transform: translateY(-50%); font-weight:500; font-size:12px; color:#fff; mix-blend-mode: difference; }

.review{ display:grid; grid-template-columns: 44px 1fr; gap: 12px; padding: 14px 0; border-bottom:1px solid #e9edf3; }
.review:last-child{ border-bottom:0; }
.review .avatar{ width:30px; height:30px; border-radius:999px; object-fit:cover; box-shadow: 0 4px 10px rgba(0,0,0,.12); }
.review .name{ font-weight:500; color:#0a2f7a; margin: 2px 0; }
.review .meta{ color:#667085; font-size:11px; margin-top:-2px; }
.review .text{ color:#333; font-size:13px; }

/* DESCRIPCION */
:root{
  --desc-radius: 16px;
  --desc-shadow: 0 18px 40px rgba(0,0,0,.12);
  --desc-border: #e6e9ef;
  --desc-blue: #1e47a8;
  --desc-pad-x: clamp(16px, 3vw, 28px);
  --desc-pad-y: clamp(14px, 2.5vw, 24px);
}

.desc-section{ padding-top: 8px; padding-bottom: 8px; }

.desc-card{
  background:#fff;
  border:1px solid var(--desc-border);
  border-radius: var(--desc-radius);
  box-shadow: var(--desc-shadow);
  overflow:hidden;
}

.desc-head{
  padding: var(--desc-pad-y) var(--desc-pad-x) calc(var(--desc-pad-y) - 8px);
  border-bottom:1px solid #eef0f4;
}
.desc-title{
  font: 500 20px/1.15 Poppins, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--desc-blue);
  letter-spacing:.4px; text-align: center;
}
@media (max-width: 991.98px){ .desc-title{ font-size:26px; } }

.desc-body{
  padding: var(--desc-pad-y) var(--desc-pad-x);
}
.desc-body p{
  margin-bottom: 1rem;
  color:#444;
  text-align: justify;
  text-justify: inter-word;
  line-height: 1.7; font-size: 15px;
}
.desc-body p strong{ color: var(--desc-blue); font-weight: 500; }

/* HABITACIONES */
:root{
  --rooms-radius: 16px;
  --rooms-shadow: 0 18px 40px rgba(0,0,0,.12);
  --rooms-border: #e6e9ef;
  --rooms-blue: #1e47a8;
}

.rooms-card{
  background:#fff; border:1px solid var(--rooms-border);
  border-radius: var(--rooms-radius); box-shadow: var(--rooms-shadow);
  padding: clamp(14px, 2.5vw, 24px);
}
.rooms-head{ padding-bottom:.6rem; border-bottom:1px solid #eef0f4; margin-bottom:1rem; }
.rooms-title{
  font: 500 20px/1.15 Poppins, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--rooms-blue); text-align: center;
}
@media (max-width: 991.98px){ .rooms-title{ font-size:26px; } }

.room-title{ font-weight:500; color:#0a2f7a; margin-bottom:.5rem; font-size: 20px;}
.room-desc{ color:#445; margin-bottom:1rem; font-size:15px; }

/* <details> amenidades */
.room-amen summary{
  list-style:none; cursor:pointer; font-weight:500; color:#0f6df6;
  margin-bottom:.5rem; 
}
.room-amen[open] .chev{ transform: rotate(90deg); }
.room-amen .chev{ display:inline-block; transition: transform .2s ease; margin-right:.35rem; }
.amen-list{ padding-left:1rem; margin:0; color:#2c2f35; }
.amen-list li{ margin:.35rem 0; font-size:13px; }

/* Slider */
.room-slider{ position:relative; border-radius:14px; overflow:hidden; box-shadow: 0 14px 30px rgba(0,0,0,.12); }
.rs-viewport{ position:relative; aspect-ratio: 16/9; background:#0001; }
.rs-slide{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transform: scale(1.01); transition: opacity .38s ease, transform .38s ease;
}
.rs-slide.is-active{ opacity:1; transform:none; }

.rs-nav{
  position:absolute; top:50%; transform: translateY(-50%);
  width:42px; height:42px; border:0; border-radius:999px;
  background:#fff; display:grid; place-items:center; box-shadow:0 12px 26px rgba(0,0,0,.2);
  cursor:pointer;
}
.rs-prev{ left:12px; } .rs-next{ right:12px; }
.rs-nav svg{ width:20px; height:20px; }

/* Accesibilidad teclado */
.room-slider:focus-within .rs-nav{ outline:2px solid #0000; }

/* Espacios generales */
.room + .room{ margin-top: 1.5rem; }

/* AMENIDADES */
:root{
  --amen-radius: 16px;
  --amen-shadow: 0 18px 40px rgba(0,0,0,.12);
  --amen-border: #e6e9ef;
  --amen-blue: #1e47a8;
  /* icono de check (puedes cambiar la URL) */
  --amen-check-url: url("https://upload.wikimedia.org/wikipedia/commons/thumb/c/c6/Sign-check-icon.png/48px-Sign-check-icon.png");
  --amen-check-size: 18px;
}

.amenities-card{
  background:#fff; border:1px solid var(--amen-border);
  border-radius: var(--amen-radius); box-shadow: var(--amen-shadow);
  overflow:hidden;
}
.amenities-head{
  padding: clamp(14px, 2.5vw, 24px) clamp(16px, 3vw, 28px);
  padding-bottom: calc(clamp(14px, 2.5vw, 24px) - 8px);
  border-bottom:1px solid #eef0f4;
}
.amenities-title{
  font: 500 20px/1.15 Poppins, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--amen-blue); text-align: center;
}
@media (max-width: 991.98px){ .amenities-title{ font-size:26px; } }

.amenities-body{
  padding: clamp(14px, 2.5vw, 24px) clamp(16px, 3vw, 28px);
}

/* Lista en 2 columnas */
.amen-list{
  list-style: none;
  padding-left: 0;
  margin: 0;
  columns: 2;                 /* 2 columnas en desktop */
  column-gap: clamp(24px, 6vw, 60px);
}
@media (max-width: 767.98px){
  .amen-list{ columns: 1; }
}

/* Ítem + icono de imagen */
.amen-list li{
  break-inside: avoid;
  position: relative;
  padding-left: calc(var(--amen-check-size) + .6rem);
  margin: .5rem 0;
  color: #2c2f35;
  line-height: 1.5;
}
.amen-list li::before{
  content:"";
  position:absolute; left:0; top:.25rem;
  width: var(--amen-check-size); height: var(--amen-check-size);
  background-image: var(--amen-check-url);
  background-repeat:no-repeat; background-position:center; background-size:contain;
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.12));
}

/* PREGUNTAS FRECUENTES */
:root{
  --faq-radius:16px;
  --faq-shadow:0 18px 40px rgba(0,0,0,.12);
  --faq-border:#e6e9ef;
  --faq-blue:#1e47a8;
}

.faq-card{
  background:#fff; border:1px solid var(--faq-border);
  border-radius:var(--faq-radius); box-shadow:var(--faq-shadow);
  overflow:hidden;
}
.faq-head{ padding: clamp(14px,2.5vw,24px) clamp(16px,3vw,28px); padding-bottom: 12px; border-bottom:1px solid #eef0f4; }
.faq-title{
  font:500 20px/1.15 Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--faq-blue); text-align: center;
}
@media (max-width:991.98px){ .faq-title{ font-size:26px; } }

.faq-body{ padding: clamp(14px,2.5vw,24px) clamp(16px,3vw,28px); }
.faq-item{
  border:1px solid #edf0f6; border-radius:12px; background:#fff;
  box-shadow: 0 6px 16px rgba(0,0,0,.04);
  margin-bottom:12px; overflow:hidden;
}
.faq-item[open]{ border-color:#dfe6f3; box-shadow: 0 10px 28px rgba(0,0,0,.06); }

.faq-item summary{
  list-style:none; cursor:pointer; display:flex; align-items:center; gap:.6rem;
  padding: 16px 18px; font-weight:500; color:#0a2f7a;
}
.faq-item summary::-webkit-details-marker{ display:none; }

.faq-chevron{
  width:18px; height:18px; flex:0 0 18px; position:relative;
}
.faq-chevron::before,
.faq-chevron::after{
  content:""; position:absolute; inset:0; margin:auto;
  width:10px; height:10px; border-right:3px solid #0a2f7a; border-bottom:3px solid #0a2f7a;
  transform: rotate(-45deg); transition: transform .2s ease;
}
.faq-item[open] .faq-chevron::after{ transform: rotate(45deg); opacity:0; } /* efecto flecha a caret */
.faq-item[open] .faq-chevron::before{ transform: rotate(135deg); }

.faq-content{
  padding: 0 18px 16px 46px; color:#444; line-height:1.65;
  border-top:1px solid #f0f3f8; background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(0deg, #f8fbff, #fff) border-box; font-size: 15px;
}
.faq-foot{ border-top:1px dashed #e9edf3; margin-top:6px; }

  /* SECCION VIDEO */
:root{
  --video-radius: 16px;
  --video-shadow: 0 18px 40px rgba(0,0,0,.12);
  --video-border: #e6e9ef;
  --video-blue: #1e47a8;
}

.video-card{
  background:#fff; border:1px solid var(--video-border);
  border-radius: var(--video-radius); box-shadow: var(--video-shadow);
  overflow:hidden;
}
.video-head{
  padding: clamp(14px, 2.5vw, 24px) clamp(16px, 3vw, 28px);
  padding-bottom: 12px; border-bottom:1px solid #eef0f4;
}
.video-title{
  font: 500 20px/1.15 Poppins, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--video-blue); text-align: center;
}
@media (max-width: 991.98px){ .video-title{ font-size:26px; } }

/* ===== YouTube Lite Player ===== */
.yt-lite{
  position: relative; background: #000; cursor: pointer; overflow: hidden;
  border-radius: 0 0 var(--video-radius) var(--video-radius);
  aspect-ratio: 16/9;  /* responsive */
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.03);
}
.yt-lite::before{
  /* Poster (se setea con JS al cargar) */
  content:""; position:absolute; inset:0; background-size:cover; background-position:center;
  transition: transform .3s ease; will-change: transform;
}
.yt-lite::after{
  /* Botón Play */
  content:""; position:absolute; inset:0; margin:auto; width:72px; height:72px; border-radius:50%;
  background: rgba(255,255,255,.9);
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
  transform: translateZ(0);
}
.yt-lite:hover::before{ transform: scale(1.02); }
.yt-lite:hover::after{ filter: brightness(1.03); }

.yt-lite .yt-play{
  position:absolute; inset:0; display:grid; place-items:center; pointer-events:none;
}
.yt-lite .yt-play svg{ width:34px; height:34px; transform: translateX(2px); }

/* Cuando ya se cargó el iframe, ocultamos overlay */
.yt-lite.lyt-activated::before,
.yt-lite.lyt-activated::after,
.yt-lite.lyt-activated .yt-play{ opacity:0; pointer-events:none; transition: opacity .2s ease; }

:root{
  --mv-overlay: rgba(30, 71, 168, .85); /* azul opaco encima */
  --mv-border: #e6e9ef;
}

/* Card dentro del container: mismo ancho que el resto */
.mv-card{
  position: relative;
  border:1px solid var(--mv-border);
  border-radius:16px;
  box-shadow: 0 18px 40px rgba(0,0,0,.12);
  overflow:hidden;
  background: center / cover no-repeat;
  background-image: var(--mv-bg, none); /* setea con style="--mv-bg:url(...)" */
}

/* Overlay opaco */
.mv-card::before{
  content:"";
  position:absolute; inset:0;
  background: var(--mv-overlay);
  z-index:0;
}

/* Contenido centrado */
.mv-inner{
  position: relative; z-index:1;
  text-align:center; color:#fff;
  text-shadow: 0 2px 16px rgba(0,0,0,.25);
  padding: clamp(48px, 9vw, 120px) 12px;
}

.mv-headline{
  font: 700 clamp(28px, 4.6vw, 58px)/1.1 Poppins, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  margin: 0 0 .35rem; color: #fff;
}
.mv-sub{
  opacity:.9; letter-spacing:.12em; text-transform:uppercase; font-weight:700;
  margin-bottom: .6rem;
}
.mv-big{
  font-weight: 900;
  font-size: clamp(48px, 10vw, 112px);
  line-height: 1.05;
  margin-bottom: .6rem; font-family: Poppins;
}
.mv-desc{
  max-width: 960px; margin: 0 auto;
  font-size: clamp(16px, 1.6vw, 22px);
  opacity:.95;
}

/* GALERIA */
:root{
  --gal-radius:16px;
  --gal-shadow:0 18px 40px rgba(0,0,0,.12);
  --gal-border:#e6e9ef;
}

/* Card */
.gal-card{ background:#fff; border:1px solid var(--gal-border); border-radius:var(--gal-radius); box-shadow:var(--gal-shadow); overflow:hidden; }
.gal-head{ padding: clamp(14px,2.5vw,24px) clamp(16px,3vw,28px); padding-bottom:12px; border-bottom:1px solid #eef0f4; }
.gal-title{ font:500 20px/1.15 Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; color:#1e47a8; text-align:center;}
@media (min-width:992px){ .gal-title{ font-size:32px; } }

/* Carrusel */
.gal-wrap{ position:relative; padding: 16px clamp(8px,2vw,16px) 22px; }
.gal-track{
  display:flex; gap: clamp(12px,2vw,22px);
  overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-left: clamp(8px,2vw,16px);
  padding: 4px 4px 8px; /* espacio para sombra */
}
.gal-track::-webkit-scrollbar{ height:10px; }
.gal-track::-webkit-scrollbar-thumb{ background:#cfd6e2; border-radius:999px; }
.gal-track::-webkit-scrollbar-track{ background:transparent; }

.gal-item{
  flex: 0 0 calc(100%/1.2); /* móvil ~1 imagen */
  max-width: 520px;
  scroll-snap-align: start;
  border-radius:14px; overflow:hidden;
  box-shadow: 0 12px 28px rgba(0,0,0,.12);
  background:#0001;
}
@media (min-width:576px){ .gal-item{ flex-basis: calc(50% - 10px); } }       /* 2 */
@media (min-width:992px){ .gal-item{ flex-basis: calc(25% - 16px); } }       /* 4 */
.gal-item img{ width:100%; height: clamp(220px, 30vw, 360px); object-fit:cover; display:block; }

/* Flechas */
.gal-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:42px; height:42px; border:0; border-radius:999px; display:grid; place-items:center;
  color:#223; background:#fff; box-shadow:0 10px 24px rgba(0,0,0,.2); cursor:pointer;
}
.gal-prev{ left:10px; } .gal-next{ right:10px; }
.gal-nav:hover{ filter:brightness(1.02); }

/* Dots */
.gal-dots{ display:flex; justify-content:center; gap:8px; padding:0 0 16px; }
.gal-dot{ width:10px; height:10px; border-radius:999px; background:#cfd6e2; cursor:pointer; }
.gal-dot.is-active{ background:#ff5a4f; }

/* Lightbox */
.gal-lightbox{
  position:fixed; inset:0; background:rgba(0,0,0,.85); display:none; z-index:1000;
}
.gal-lightbox.is-open{ display:grid; place-items:center; }
.gal-lightbox img{ max-width:90vw; max-height:85vh; border-radius:10px; box-shadow:0 18px 40px rgba(0,0,0,.5); }
.gal-lb-close, .gal-lb-prev, .gal-lb-next{
  position:fixed; top:50%; transform:translateY(-50%); width:48px; height:48px; border:0; border-radius:999px;
  display:grid; place-items:center; background:#ffffff; color:#111; box-shadow:0 12px 28px rgba(0,0,0,.35); cursor:pointer;
}
.gal-lb-prev{ left:18px; } .gal-lb-next{ right:18px; }
.gal-lb-close{ top:18px; right:18px; transform:none; width:44px; height:44px; }
.gal-lb-close svg, .gal-lb-prev svg, .gal-lb-next svg{ width:22px; height:22px; }
@media (max-width:575.98px){ .gal-lb-prev, .gal-lb-next{ top:auto; bottom:18px; transform:none; } }


/* SECCION CALIFICACIONES */
:root{
  --rs-blue:#1e47a8;
  --rs-gold:#ffb400;
  --rs-border:#e6e9ef;
  --rs-shadow:0 18px 40px rgba(0,0,0,.12);
}

/* Card */
.rs-card{background:#fff;border:1px solid var(--rs-border);border-radius:16px;box-shadow:var(--rs-shadow);overflow:hidden;}
.rs-head{padding: clamp(14px,2.5vw,24px) clamp(16px,3vw,28px);padding-bottom:12px;border-bottom:1px solid #eef0f4;}
.rs-title{font:500 clamp(26px,4.2vw,44px)/1.15 Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--rs-blue);letter-spacing:.3px; font-size: 20px; text-align: center;}   
/* Grid */
.rs-grid{display:grid;gap:24px;align-items:center;padding: clamp(14px,2.5vw,24px) clamp(16px,3vw,28px);}
@media (min-width:992px){ .rs-grid{grid-template-columns: 1fr 1.4fr 1.1fr;} }
@media (min-width:1200px){ .rs-grid{grid-template-columns: 1fr 1.6fr 1fr;} }

/* Col A */
.rs-score-num{font-weight:500;font-size: clamp(30px,8vw,60px);color:#123;}
.rs-score-sub{color:#667085;font-weight:700;margin:.25rem 0 .5rem;}
.rs-stars{display:flex;gap:6px;align-items:center !important; }
.rs-stars svg{width:22px;height:22px;fill:var(--rs-gold);}
.rs-stars--md svg{width:20px;height:20px;}
.rs-stars--sm svg{width:16px;height:16px;}
.rs-star-off{fill:#e6e9ef;}
.rs-star-half{fill:var(--rs-gold);}

/* Col B: distribución */
.rs-dist{display:grid;gap:12px;}
.rs-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;}
.rs-lab{font-weight:500;color:#172b4d;width:10px;text-align:right;}
.rs-pct{color:#667085;min-width:52px;text-align:left;}
.rs-bar{position:relative;height:10px;border-radius:999px;background:#eef2f7;overflow:hidden;}
.rs-bar>span{position:absolute;inset:0 auto 0 0;width:var(--w,0%);background:#144fc6;border-radius:999px;}

/* Col C */
.rs-right{display:grid;gap:18px;}
.rs-right-title{font-weight:500;color:#0a2f7a;margin-bottom:.35rem;}
.rs-right-box{display:grid;gap:.35rem;}
.rs-right-kpi{display:grid;gap:.25rem;}
.rs-kpi-val{font-weight:700;font-size: clamp(28px,6vw,40px);color:#1f2937; margin-top: -15px;}
.rs-kpi-note{color:#6b7280; font-size: 12px;}

/* Separador */
.rs-sep{border:0;border-top:1px solid #eef0f4;margin:0;}

/* Reseña */
.r-item{display:grid;grid-template-columns:64px 1fr;gap:14px;padding: 18px clamp(16px,3vw,28px) 22px;align-items:flex-start;}
.r-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;box-shadow:0 8px 18px rgba(0,0,0,.12);}
.r-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.r-name{margin:0;font-weight:700;color:#0a2f7a; font-size: 20px;}
.r-badge{color:#22c55e;font-weight:500;}
.r-score{font-weight:500;color:#0a2f7a;}
.r-meta{display:flex;flex-wrap:wrap;gap:14px;color:#667085;padding:0;margin:.25rem 0 0;list-style:none; font-size: 12px;}
.r-text{margin:.65rem 0 0;color:#2b2f36;line-height:1.2; font-size: 14px;}

