/* Arcadia — secciones nuevas armadas desde Rumrak (Marketing › Web): Cabañas en columna, Comodidades con destacado,
   Experiencias a medida (agenda), carrusel de actividades, El entorno (collage y frase) y botones de contacto del pie. */

/* Cabañas: título y textos a la izquierda */
.cab--col > div { max-width: 64ch; }
.cab--col p { max-width: 60ch; margin-top: 18px; color: var(--gris); }
.cab--col h2 + p { margin-top: 24px; }

/* Ficha de cabaña: descripción larga */
.cab-intro .cab-desc { margin-top: 18px; color: var(--gris); max-width: 62ch; }

/* Comodidades: destacado antes de la grilla */
.mimo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); align-items: center; gap: clamp(24px, 5vw, 72px); margin-bottom: clamp(40px, 6vw, 72px); }
.mimo__img { aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--radio-foto); }
.mimo__img img { width: 100%; height: 100%; object-fit: cover; }
.mimo__txt h3 { font-size: var(--t-xl); font-weight: 300; color: var(--azul); }
.mimo__txt p { margin-top: 14px; max-width: 42ch; color: var(--gris); }
@media (max-width: 760px) { .mimo { grid-template-columns: 1fr; } }

/* Comodidades: si la última fila queda incompleta, el hueco se ve como un cuadro vacío (mismo fondo, con sus líneas) */
@media (min-width: 901px) { .comodidades:has(> .comodidad:last-child:nth-child(4n+3))::after { content: ""; background: var(--crema); } }
@media (max-width: 900px) { .comodidades:has(> .comodidad:last-child:nth-child(odd))::after { content: ""; background: var(--crema); } }

/* Experiencias a medida: agenda */
.agenda__nota { display: inline-flex; align-items: center; gap: 10px; margin: -12px 0 clamp(28px, 4vw, 48px); padding: 8px 16px; border-radius: 999px;
  background: var(--arena); color: var(--naranja-texto); font-size: var(--t-xs); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.agenda__lista { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--linea); }
.agenda__it { display: grid; grid-template-columns: 150px 220px minmax(0, 1fr) auto; align-items: center; gap: clamp(16px, 3vw, 40px);
  padding: clamp(20px, 3vw, 32px) 0; border-bottom: 1px solid var(--linea); }
.agenda__cuando { font-size: var(--t-xs); letter-spacing: .18em; text-transform: uppercase; font-weight: 600; color: var(--naranja-texto); }
.agenda__img { aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--radio-foto); }
.agenda__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.agenda__it:hover .agenda__img img { transform: scale(1.05); }
.agenda__txt h3 { font-size: var(--t-xl); font-weight: 300; color: var(--azul); }
.agenda__txt p { margin-top: 8px; color: var(--gris); font-size: var(--t-sm); max-width: 52ch; }
.agenda__tag { display: inline-block; margin-top: 12px; font-size: var(--t-xs); font-weight: 600; color: var(--azul-texto); }
.agenda__tag::before { content: "★ "; color: var(--naranja); }
.agenda__cta { font: 600 var(--t-sm)/1 var(--f-texto); letter-spacing: .08em; text-transform: uppercase; color: var(--azul-texto); text-decoration: none; white-space: nowrap; padding: 1em 0; }
.agenda__cta:hover { color: var(--naranja-texto); }
@media (max-width: 900px) {
  .agenda__it { grid-template-columns: 120px minmax(0, 1fr); grid-template-areas: "cuando cuando" "img txt" "img cta"; row-gap: 8px; }
  .agenda__cuando { grid-area: cuando; }
  .agenda__img { grid-area: img; align-self: start; }
  .agenda__txt { grid-area: txt; }
  .agenda__cta { grid-area: cta; padding: 4px 0; }
}

/* Carrusel automático de actividades (a todo el ancho) */
.act { padding: 0 0 var(--sec); overflow: hidden; }
.act__cab { margin-bottom: 24px; }
.act__cab .eyebrow { color: var(--naranja-texto); display: block; margin-bottom: 10px; }
.act__cab h3 { font-size: var(--t-xl); font-weight: 300; color: var(--azul); }
.act__marco { overflow: hidden; }
.act__pista { list-style: none; margin: 0; padding: 0; display: flex; gap: 14px; width: max-content; animation: act-correr 60s linear infinite; }
.act__marco:hover .act__pista, .act__marco:focus-within .act__pista { animation-play-state: paused; }
.act__it { flex: none; width: clamp(240px, 24vw, 320px); }
.act__link { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--radio-foto); color: var(--blanco); text-decoration: none; }
.act__link img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.act__link:hover img { transform: scale(1.06); }
.act__link::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.65) 100%); }
.act__txt { position: absolute; z-index: 1; left: 20px; right: 20px; bottom: 20px; display: flex; flex-direction: column; gap: 6px; }
.act__txt strong { font-family: var(--f-display); font-weight: 400; font-size: var(--t-lg); }
.act__txt span { font-size: var(--t-sm); opacity: .9; }
@keyframes act-correr { to { transform: translateX(calc(-50% - 7px)); } }
@media (prefers-reduced-motion: reduce) {
  .act__pista { animation: none; }
  .act__marco { overflow-x: auto; }
  .act__it[aria-hidden="true"] { display: none; }
}

/* El entorno: texto con collage de fotos (no lineal) */
.collage__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-rows: minmax(60px, auto); gap: clamp(14px, 2vw, 24px); }
.collage__txt { grid-column: 1 / span 5; grid-row: 1 / span 4; align-self: center; }
.collage__txt .eyebrow { color: var(--naranja-texto); display: block; margin-bottom: 18px; }
.collage__txt h2 { font-size: var(--t-2xl); font-weight: 300; color: var(--azul); }
.collage__txt p { margin-top: 24px; color: var(--gris); max-width: 46ch; }
.collage__f { margin: 0; overflow: hidden; }
.collage__f img { width: 100%; height: 100%; object-fit: cover; }
.collage__f--a { grid-column: 7 / span 6; grid-row: 1 / span 3; border-radius: var(--radio-foto); aspect-ratio: 4 / 3; }
.collage__f--b { grid-column: 6 / span 3; grid-row: 3 / span 3; width: 100%; margin: 0; align-self: end; transform: translateY(18%); z-index: 1; }
.collage__f--c { grid-column: 9 / span 4; grid-row: 4 / span 2; border-radius: var(--radio-foto); aspect-ratio: 3 / 2; margin-top: clamp(12px, 3vw, 40px); }
@media (max-width: 860px) {
  .collage__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .collage__txt { grid-column: 1 / -1; grid-row: auto; }
  .collage__f--a { grid-column: 1 / -1; grid-row: auto; }
  .collage__f--b { grid-column: 1 / span 3; grid-row: auto; transform: none; }
  .collage__f--c { grid-column: 4 / span 3; grid-row: auto; align-self: center; margin-top: 0; }
}

/* El entorno: frase sobre foto */
.cita::after { background: rgba(10, 30, 40, .55); }
.cita__txt { position: absolute; z-index: 1; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: var(--gutter); }
.cita blockquote { margin: 0; font-family: var(--f-display); font-style: italic; font-weight: 300; font-size: var(--t-2xl); line-height: 1.12; max-width: 20ch; }
.cita p { margin-top: 28px; max-width: 54ch; opacity: .9; }

/* Pie: botones de contacto en outline */
.pie-ctas { gap: 14px !important; }
.pie-btn { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; }
.pie-btn__et { display: inline-flex; align-items: center; gap: 8px; padding: .75em 1.2em; border: 1px solid rgba(243,238,228,.55); border-radius: 999px;
  font: 600 var(--t-xs)/1 var(--f-texto); letter-spacing: .14em; text-transform: uppercase; transition: background .3s var(--ease), color .3s var(--ease), border-color .3s; }
.pie-btn__et svg { width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.pie-btn__val { font-size: var(--t-sm); }
.pie a.pie-btn:hover { color: var(--crema); }
.pie a.pie-btn:hover .pie-btn__et { background: var(--crema); color: var(--bosque); border-color: var(--crema); }
