/* Secciones de contenido */
.sec { padding: var(--sec) 0; }
.sec--oscura { background: var(--bosque); color: var(--crema); }
.sec--arena { background: var(--arena); }

/* Intro: una sola frase grande */
.intro { text-align: center; }
.intro .eyebrow { color: var(--naranja-texto); display: block; margin-bottom: 28px; }
.intro p.grande { color: var(--azul); font-family: var(--f-display); font-size: var(--t-2xl); font-weight: 300; line-height: 1.12; max-width: 18ch; margin: 0 auto; }
.intro p.chico { margin: 28px auto 0; max-width: 46ch; color: var(--gris); }

/* Encabezado de sección */
.cab { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: clamp(32px, 5vw, 64px); flex-wrap: wrap; }
.cab h2 { font-size: var(--t-2xl); font-weight: 300; color: var(--azul); }
.sec--oscura .cab h2 { color: var(--blanco); }
.cab .eyebrow { color: var(--naranja-texto); display: block; margin-bottom: 14px; }
.cab p { max-width: 40ch; color: var(--gris); }
.sec--oscura .cab p { color: rgba(243,238,228,.7); }

/* Cabañas */
.cabanas { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(16px, 2vw, 28px); }
.cabana { text-decoration: none; display: flex; flex-direction: column; }
.cabana__img { aspect-ratio: 3 / 4; overflow: hidden; border-radius: var(--radio-foto); }
.cabana__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.cabana:hover .cabana__img img { transform: scale(1.05); }
.cabana__cap { font-size: var(--t-xs); letter-spacing: .16em; text-transform: uppercase; color: var(--gris); margin-top: 18px; }
.cabana h3 { font-size: var(--t-xl); margin-top: 6px; color: var(--azul); }
.cabana p { margin-top: 8px; color: var(--gris); font-size: var(--t-sm); }
.cabana__precio { margin-top: 14px; font-size: var(--t-sm); }
.cabana__precio strong { font-weight: 700; color: var(--naranja-texto); }
.nota { margin-top: 36px; font-size: var(--t-xs); color: var(--gris); }
@media (max-width: 1000px) { .cabanas { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) {
  .cabanas { grid-template-columns: 82%; grid-auto-flow: column; grid-auto-columns: 82%; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; }
  .cabana { scroll-snap-align: start; }
}

/* Split imagen/texto */
.split { display: grid; grid-template-columns: 1.3fr 1fr; min-height: 90svh; }
.split--inv { grid-template-columns: 1fr 1.3fr; }
.split--inv .split__img { order: 2; }
.split__img { position: relative; min-height: 60svh; }
.split__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.split__txt { display: flex; flex-direction: column; justify-content: center; gap: 22px; padding: var(--sec) var(--gutter); }
.split__txt .eyebrow { color: var(--naranja-texto); }
.sec--oscura .split__txt .eyebrow, .sec--oscura .cab .eyebrow { color: #FFE0C7; }
.split__txt h2 { font-size: var(--t-2xl); font-weight: 300; color: var(--azul); }
.sec--oscura .split__txt h2 { color: var(--blanco); }
.split__txt p { max-width: 38ch; color: var(--gris); }
.sec--oscura .split__txt p, .split.sec--oscura p { color: rgba(243,238,228,.75); }
.split__txt .btn { align-self: flex-start; }
@media (max-width: 860px) {
  .split, .split--inv { grid-template-columns: 1fr; }
  .split--inv .split__img { order: 0; }
}

/* Comodidades */
.comodidades { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--linea); border: 1px solid var(--linea); }
.comodidad { background: var(--crema); padding: 32px 26px; display: flex; flex-direction: column; gap: 10px; }
.comodidad svg { width: 30px; height: 30px; stroke: var(--naranja); fill: none; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.comodidad h3 { font-family: var(--f-texto); font-size: var(--t-md); font-weight: 600; margin-top: 8px; }
.comodidad p { font-size: var(--t-sm); color: var(--gris); }
@media (max-width: 900px) { .comodidades { grid-template-columns: 1fr 1fr; } }

/* Experiencias sobre imagen */
.exp-lista { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-top: 40px; }
.exp-lista h3 { font-size: var(--t-xl); }
.exp-lista p { font-size: var(--t-sm); opacity: .85; margin-top: 8px; }
.bleed__txt--ancho { max-width: var(--max); }
@media (max-width: 760px) { .exp-lista { grid-template-columns: 1fr; gap: 20px; } .exp-lista p { display: none; } }

/* Galería horizontal */
.galeria { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 var(--gutter) 12px; scrollbar-width: thin; }
.galeria img { height: clamp(260px, 50vh, 520px); width: auto; flex: none; object-fit: cover; scroll-snap-align: start; border-radius: var(--radio-foto); }

/* Info / pagos */
.info { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(24px, 4vw, 56px); }
.info h3 { font-size: var(--t-lg); margin-bottom: 10px; }
.info p { font-size: var(--t-sm); color: var(--gris); }
@media (max-width: 860px) { .info { grid-template-columns: 1fr; } }

/* Footer */
.pie { background: var(--bosque); color: var(--crema); padding: var(--sec) 0 40px; }
.pie__top { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 40px; }
.pie h2 { font-size: var(--t-2xl); font-weight: 300; max-width: 12ch; }
.pie .pie__tit { margin: 0 0 12px; font-size: var(--t-xs); letter-spacing: .2em; text-transform: uppercase; font-weight: 600; font-family: var(--f-texto); }
.pie a { text-decoration: none; }
.pie a:hover { color: var(--naranja); }
.pie ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.pie__bottom { margin-top: 80px; padding-top: 24px; border-top: 1px solid rgba(243,238,228,.15); display: flex; justify-content: space-between; gap: 16px; font-size: var(--t-xs); flex-wrap: wrap; }
.pie__logo { width: 150px; margin-bottom: 28px; }
@media (max-width: 860px) { .pie__top { grid-template-columns: 1fr; } }
