/* Páginas internas: hero, layout de cabaña, ficha de reserva, mosaico El Nido */

/* Hero interno */
.pag-hero { height: 78svh; min-height: 480px; }
.pag-hero__txt { position: absolute; z-index: 1; left: var(--gutter); right: var(--gutter); bottom: clamp(32px, 8vh, 80px); }
.pag-hero__txt .eyebrow { display: block; margin: 18px 0 10px; opacity: .85; font-weight: 500; letter-spacing: .28em; }
.pag-hero__txt h1 { font-weight: 300; font-size: clamp(2.25rem, 5vw, 4rem); }
.miga { font-size: var(--t-sm); text-decoration: none; opacity: .85; }
.miga:hover { opacity: 1; }

/* Layout cabaña: contenido + ficha fija */
.cab-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: clamp(32px, 5vw, 80px); padding-top: clamp(48px, 7vw, 96px); padding-bottom: var(--sec); align-items: start; }
.cab-intro p { color: var(--gris); max-width: 58ch; }
.cab-bajada { font-family: var(--f-display); font-size: var(--t-xl); font-weight: 300; line-height: 1.2; color: var(--tinta) !important; margin-bottom: 18px; }
.cab-desde { margin-top: 18px; color: var(--tinta) !important; }

.cab-galeria { display: grid; grid-template-columns: 2fr 1fr; grid-auto-rows: 200px; gap: 10px; margin-top: 48px; }
.cab-galeria img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--radio-foto); }
.cab-galeria img:first-child { grid-row: span 2; }
@media (max-width: 600px) { .cab-galeria { grid-template-columns: 1fr 1fr; grid-auto-rows: 140px; } .cab-galeria img:first-child { grid-column: span 2; grid-row: span 1; } }

.cab-tira { margin-top: 10px; padding: 0 0 10px; }
.cab-tira img { height: clamp(180px, 26vw, 280px); }
.cab-bloque { margin-top: clamp(56px, 7vw, 88px); }
.cab-bloque .eyebrow { color: var(--naranja-texto); display: block; margin-bottom: 10px; }
.cab-bloque h2 { font-size: var(--t-xl); font-weight: 300; margin-bottom: 28px; color: var(--azul); }

.incluye { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 16px 32px; }
.incluye li { display: flex; align-items: center; gap: 14px; font-size: var(--t-sm); }
.incluye svg { width: 24px; height: 24px; flex: none; stroke: var(--naranja); fill: none; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 500px) { .incluye { grid-template-columns: 1fr; } }

/* Ficha de reserva */
.cab-ficha {
  position: sticky; top: 96px;
  background: var(--blanco); border-radius: 10px; padding: 26px;
  box-shadow: 0 20px 50px -24px rgba(7,110,149,.25); border: 1px solid rgba(0,0,0,.06);
  display: flex; flex-direction: column; gap: 14px;
}
.cab-ficha__precio { font-family: var(--f-display); font-size: var(--t-lg); color: var(--tinta); }
.cab-ficha__precio strong { font-family: var(--f-display); font-weight: 400; font-size: var(--t-lg); color: var(--naranja); }
.cab-ficha__fechas { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid rgba(0,0,0,.14); border-radius: 6px; }
.cab-ficha__fechas a { padding: 10px 14px; text-decoration: none; display: flex; flex-direction: column; gap: 2px; }
.cab-ficha__fechas a + a { border-left: 1px solid rgba(0,0,0,.14); }
.cab-ficha span { font-size: 0.6875rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gris); font-weight: 600; }
.cab-ficha__fechas strong { font-weight: 500; }
.cab-ficha__pax { display: flex; flex-direction: column; gap: 4px; border: 1px solid rgba(0,0,0,.14); border-radius: 6px; padding: 10px 14px; }
.cab-ficha__pax select { border: 0; background: none; font: 500 var(--t-md) var(--f-texto); padding: 0; outline: none; }
.cab-ficha__resumen { display: flex; justify-content: space-between; align-items: baseline; padding: 12px 0; border-top: 1px solid rgba(0,0,0,.08); }
.cab-ficha__resumen span { text-transform: none; letter-spacing: 0; font-size: var(--t-sm); font-weight: 400; }
.cab-ficha__resumen strong { font-size: var(--t-lg); }
.cab-ficha__btn { width: 100%; padding: 1.1em; border-radius: 6px; }
.cab-ficha__btn:disabled { background: var(--arena); border-color: var(--arena); color: var(--gris); cursor: default; }
.cab-ficha__nota { font-size: var(--t-xs); color: var(--gris); text-align: center; }

/* Barra fija mobile */
.barra-reserva { display: none; }
@media (max-width: 960px) {
  .cab-layout { grid-template-columns: 1fr; }
  .cab-ficha { display: none; }
  .barra-reserva {
    display: flex; position: fixed; z-index: 40; left: 0; right: 0; bottom: 0;
    justify-content: space-between; align-items: center; gap: 12px;
    padding: 12px var(--gutter) calc(12px + env(safe-area-inset-bottom));
    background: var(--blanco); box-shadow: 0 -8px 24px -12px rgba(0,0,0,.25); font-size: var(--t-sm);
  }
  .barra-reserva .btn { border-radius: 6px; padding: .9em 1.4em; }
  .pag-cabana .pie { padding-bottom: 120px; }
}

/* Otras cabañas */
.otras { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 2vw, 28px); }
.otra { text-decoration: none; display: flex; flex-direction: column; gap: 6px; }
.otra img { aspect-ratio: 4 / 3; width: 100%; object-fit: cover; border-radius: var(--radio-foto); margin-bottom: 10px; }
.otra span { font-size: var(--t-xs); letter-spacing: .16em; text-transform: uppercase; color: var(--gris); }
.otra strong { font-family: var(--f-display); font-weight: 400; font-size: var(--t-xl); color: var(--azul); }
@media (max-width: 700px) { .otras { grid-template-columns: 1fr; } }

/* El Nido: mosaico de platos */
.nido-mosaico { display: grid; grid-template-columns: 1.4fr 1fr 1fr; grid-template-rows: 300px 300px; gap: 10px; padding: 0 var(--gutter) var(--sec); max-width: calc(var(--max) + 2 * var(--gutter)); margin: 0 auto; }
.nido-mosaico img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--radio-foto); }
.m-a { grid-row: span 2; }
.m-b { grid-row: span 2; }
@media (max-width: 760px) {
  .nido-mosaico { grid-template-columns: 1fr 1fr; grid-template-rows: 220px 160px 160px; }
  .m-a { grid-column: span 2; grid-row: span 1; }
  .m-b { grid-row: span 2; }
}
.nido-mosaico--inv { grid-template-columns: 1fr 1fr 1.4fr; padding-top: var(--sec); }
.nido-mosaico--inv .m-a { grid-column: 3; grid-row: 1 / span 2; }
.nido-mosaico--inv .m-b { grid-column: 2; grid-row: 1 / span 2; }
.nido-mosaico--inv .m-c { grid-column: 1; grid-row: 1; }
.nido-mosaico--inv .m-d { grid-column: 1; grid-row: 2; }
@media (max-width: 760px) {
  .nido-mosaico--inv { grid-template-columns: 1fr 1fr; grid-template-rows: 220px 160px 160px; }
  .nido-mosaico--inv .m-a { grid-column: 1 / span 2; grid-row: 1; }
  .nido-mosaico--inv .m-b { grid-column: 1; grid-row: 2 / span 2; }
  .nido-mosaico--inv .m-c, .nido-mosaico--inv .m-d { grid-column: 2; grid-row: auto; }
}
.barra-reserva [data-consultar] { flex: 1; }
.cab-ficha__nota--izq { text-align: left; font-size: var(--t-sm); }
