/* Terrojo · sitio v3 (ronda 3, 15-nov-2026)
   Sistema visual tomado del sitio original: bordes en zigzag entre secciones, marcos tipo sello,
   ilustraciones de línea (sol, luna, montañas), iconos propios y la paleta del kit de marca. */

/* Fuentes alojadas en el sitio (SIL OFL 1.1) */
@font-face { font-family: "Geo"; font-weight: 400; font-display: swap; src: url("fonts/geo-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Inknut Antiqua"; font-weight: 600; font-display: swap; src: url("fonts/inknut-antiqua-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Roboto"; font-weight: 300; font-display: swap; src: url("fonts/roboto-latin-300-normal.woff2") format("woff2"); }
@font-face { font-family: "Roboto"; font-weight: 400; font-display: swap; src: url("fonts/roboto-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Roboto"; font-weight: 500; font-display: swap; src: url("fonts/roboto-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Roboto"; font-weight: 700; font-display: swap; src: url("fonts/roboto-latin-700-normal.woff2") format("woff2"); }

:root {
  --crema: #F0E8E0;
  --papel: #FBF7F1;
  --terracota: #8E2823;
  --tierra: #442923;
  --ocre: #DFAC49;
  --verde: #3D4A40;
  --carbon: #2F2E2E;
  --texto: #4B3B36;
  --suave: #6B5B54;
  --linea: rgba(68, 41, 35, .16);
  --f-titulo: "Inknut Antiqua", Georgia, serif;
  --f-geo: "Geo", "Roboto", sans-serif;
  --f-texto: "Roboto", system-ui, sans-serif;
  --ancho: 1180px;
  --margen: clamp(20px, 5vw, 56px);
  --zz: 11px; /* tamaño del diente del zigzag */
  --enc: 76px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
body { margin: 0; background: var(--crema); color: var(--texto); font: 300 1.0625rem/1.75 var(--f-texto); }
img, svg, video, iframe { display: block; max-width: 100%; }
img { height: auto; }
a { color: var(--terracota); text-underline-offset: 3px; }
a:hover { color: var(--tierra); }
p { margin: 0 0 1em; }
strong, b { font-weight: 500; }
h1, h2, h3 { margin: 0; color: var(--terracota); font-family: var(--f-titulo); font-weight: 600; line-height: 1.25; }
h2 { font-size: clamp(1.85rem, 3.6vw, 2.75rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.5rem); }
:focus-visible { outline: 2px solid var(--ocre); outline-offset: 3px; }
[id] { scroll-margin-top: calc(var(--enc) + 16px); }

.contenedor { width: min(100% - 2 * var(--margen), var(--ancho)); margin-inline: auto; }
.estrecho { max-width: 640px; }
.centrado { text-align: center; margin-inline: auto; }
.saltar { position: absolute; left: -999px; top: 8px; z-index: 100; background: var(--papel); padding: 8px 14px; }
.saltar:focus { left: 8px; }
.aviso-demo { background: var(--carbon); color: var(--crema); font-size: .8rem; text-align: center; padding: 6px var(--margen); position: relative; z-index: 60; }
.visualmente-oculto { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- Botones ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 0 26px; border: 0; border-radius: 2px; font: 400 1.05rem/1 var(--f-geo); letter-spacing: .04em; text-decoration: none; cursor: pointer; transition: background-color .2s, color .2s; }
.btn--terracota { background: var(--terracota); color: var(--papel); }
.btn--terracota:hover { background: var(--tierra); color: var(--papel); }
.btn--ocre { background: var(--ocre); color: var(--tierra); }
.btn--ocre:hover { background: #e9bd62; color: var(--tierra); }
.btn--linea { background: transparent; color: var(--papel); box-shadow: inset 0 0 0 1px rgba(251, 247, 241, .7); }
.btn--linea:hover { background: rgba(251, 247, 241, .12); color: var(--papel); }
.btn--bloque { width: 100%; }
.enlace { font-family: var(--f-geo); font-size: 1.05rem; letter-spacing: .04em; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 2px; }

/* ---------- Zigzag (los "indentados" del sitio original) ---------- */
.zz-abajo { -webkit-mask: conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / calc(2 * var(--zz)) 100%; mask: conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / calc(2 * var(--zz)) 100%; }
.banda { position: relative; }
.banda--verde { background: var(--verde); color: #E7DFD6; }
.banda--verde h2, .banda--verde h3 { color: var(--papel); }
.banda--papel { background: var(--papel); }
.banda::before, .banda::after { content: ""; position: absolute; left: 0; right: 0; height: var(--zz); background: inherit; pointer-events: none; }
.banda::before { top: calc(-1 * var(--zz) + 1px); -webkit-mask: conic-gradient(from 135deg at top, #0000, #000 1deg 89deg, #0000 90deg) 50% / calc(2 * var(--zz)) 100%; mask: conic-gradient(from 135deg at top, #0000, #000 1deg 89deg, #0000 90deg) 50% / calc(2 * var(--zz)) 100%; }
.banda::after { bottom: calc(-1 * var(--zz) + 1px); -webkit-mask: conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / calc(2 * var(--zz)) 100%; mask: conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / calc(2 * var(--zz)) 100%; }
.banda--sin-arriba::before, .banda--sin-abajo::after { display: none; }

/* Marco tipo sello: zigzag en los cuatro lados (dos capas para intersectar las máscaras) */
.sello { --d: 10px; -webkit-mask: conic-gradient(from 135deg at top, #0000, #000 1deg 89deg, #0000 90deg) top / calc(2 * var(--d)) 51% repeat-x, conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) bottom / calc(2 * var(--d)) 51% repeat-x; mask: conic-gradient(from 135deg at top, #0000, #000 1deg 89deg, #0000 90deg) top / calc(2 * var(--d)) 51% repeat-x, conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) bottom / calc(2 * var(--d)) 51% repeat-x; }
.sello__in { background: var(--papel); padding: calc(var(--d) * 2.4); -webkit-mask: conic-gradient(from 45deg at left, #0000, #000 1deg 89deg, #0000 90deg) left / 51% calc(2 * var(--d)) repeat-y, conic-gradient(from -135deg at right, #0000, #000 1deg 89deg, #0000 90deg) right / 51% calc(2 * var(--d)) repeat-y; mask: conic-gradient(from 45deg at left, #0000, #000 1deg 89deg, #0000 90deg) left / 51% calc(2 * var(--d)) repeat-y, conic-gradient(from -135deg at right, #0000, #000 1deg 89deg, #0000 90deg) right / 51% calc(2 * var(--d)) repeat-y; }
.banda--verde .sello__in, .banda--papel .sello__in { background: var(--crema); }

/* Ornamentos */
.diamantes { width: 34px; color: var(--terracota); }
.chispas { position: absolute; inset: 0; pointer-events: none; color: var(--terracota); }
.chispas span { position: absolute; width: 7px; height: 7px; background: currentColor; transform: rotate(45deg); }

/* Título dentro del marco de flechas (MARCO-HIGHLIGHTS del sitio original) */
.marco { display: flex; align-items: center; justify-content: center; gap: 0; margin: 0 auto; max-width: 760px; }
.marco__flecha { flex: 0 0 auto; width: 58px; color: #E5DACE; }
.marco__flecha--der { transform: scaleX(-1); }
.marco__texto { background: var(--papel); padding: 12px clamp(22px, 4vw, 48px); clip-path: polygon(16px 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 16px 100%, 0 50%); font-family: var(--f-titulo); font-weight: 600; font-size: clamp(1.05rem, 2.1vw, 1.45rem); color: var(--terracota); text-align: center; line-height: 1.35; margin: 0; }
.banda--verde .marco__flecha { color: rgba(240, 232, 224, .55); }

/* ---------- Encabezado ---------- */
.encabezado { position: sticky; top: 0; z-index: 50; height: var(--enc); background: var(--tierra); color: var(--papel); transition: background-color .3s, box-shadow .3s; }
.encabezado--sobre { position: fixed; left: 0; right: 0; background: transparent; }
.aviso-demo + .encabezado--sobre { top: 30px; }
.encabezado--sobre.es-solido { background: var(--tierra); box-shadow: 0 1px 0 rgba(0, 0, 0, .15); top: 0; }
.encabezado__fila { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.marca { display: inline-flex; align-items: center; gap: 12px; color: var(--papel); text-decoration: none; }
.marca svg { height: 30px; width: auto; }
.marca .marca__palabra { height: 15px; }
.menu { display: flex; align-items: center; gap: clamp(14px, 2.4vw, 30px); }
.menu a { color: var(--papel); text-decoration: none; font-family: var(--f-geo); font-size: 1.02rem; letter-spacing: .04em; }
.menu a:hover { color: var(--ocre); }
.menu a.btn { color: var(--tierra); }
.menu a[aria-current="page"] { color: var(--ocre); }
.boton-menu { display: none; background: none; border: 0; color: var(--papel); width: 44px; height: 44px; padding: 10px; cursor: pointer; }
.boton-menu .i-cerrar, .boton-menu[aria-expanded="true"] .i-menu { display: none; }
.boton-menu[aria-expanded="true"] .i-cerrar { display: block; }
.menu__enlaces { display: flex; align-items: center; gap: clamp(14px, 2.4vw, 30px); }
.menu__aloj, .menu__wa { display: none; }
@media (max-width: 920px) {
  .boton-menu { display: block; position: relative; z-index: 62; }
  /* Menú a pantalla completa: se abre sobre el sitio y la X lo cierra */
  .menu { position: fixed; inset: 0; z-index: 60; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0; background: var(--tierra); padding: calc(var(--enc) + 34px) var(--margen) 28px; overflow-y: auto; opacity: 0; visibility: hidden; transform: translateY(-10px); transition: opacity .25s, transform .25s, visibility .25s; }
  .menu.abierto { opacity: 1; visibility: visible; transform: none; }
  .menu__enlaces { flex-direction: column; align-items: stretch; gap: 0; }
  .menu__enlaces a { font-size: 1.7rem; padding: 13px 0; border-bottom: 1px solid rgba(240, 232, 224, .14); }
  .menu__aloj { display: grid; gap: 2px; margin: 24px 0 26px; }
  .menu__aloj a { font-family: var(--f-texto, inherit); font-size: 1.02rem; letter-spacing: 0; color: #E7DFD6; padding: 7px 0; }
  .menu a.btn { min-height: 54px; font-size: 1.1rem; }
  .menu__wa { display: block; text-align: center; margin-top: 18px; font-family: inherit; font-size: 1rem; letter-spacing: 0; color: #E7DFD6; }
  body.menu-abierto { overflow: hidden; }
  body.menu-abierto .encabezado .marca { position: relative; z-index: 62; }
  body.menu-abierto .whatsapp, body.menu-abierto .barra-movil { display: none; }
}
@media (prefers-reduced-motion: reduce) { .menu { transition: none; } }

/* ---------- Hero con video ---------- */
.hero { position: relative; min-height: 100svh; display: grid; place-items: center; color: var(--papel); text-align: center; overflow: hidden; background: var(--carbon); }
.hero--ficha { min-height: 82svh; }
.hero__medio, .hero__medio img { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero__medio img { object-fit: cover; }
.hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(47, 46, 46, .5) 0%, rgba(47, 46, 46, .08) 30%, rgba(47, 46, 46, .08) 70%, rgba(47, 46, 46, .3) 100%); }
.hero__texto { position: relative; z-index: 2; padding: calc(var(--enc) + 40px) var(--margen) 140px; max-width: 760px; }
.hero h1 { color: #fff; font-family: var(--f-geo); font-weight: 400; font-size: clamp(1.45rem, 3.3vw, 3rem); line-height: 1.2; letter-spacing: .06em; text-transform: uppercase; text-wrap: balance; text-shadow: 1px 1px 1px #000, 0 2px 22px rgba(0, 0, 0, .45); }
.hero--ficha h1 { font-size: clamp(1.35rem, 2.8vw, 2.5rem); }

/* ---------- Buscador de fechas ---------- */
.buscador { display: grid; gap: 14px; }
.buscador label { display: block; font-family: var(--f-geo); font-size: .95rem; letter-spacing: .04em; color: var(--tierra); margin-bottom: 6px; }
.buscador > * { min-width: 0; }
.buscador input, .buscador select { min-width: 0; width: 100%; height: 50px; border: 1px solid var(--linea); border-radius: 2px; background: #fff; padding: 0 12px; font: 400 1rem var(--f-texto); color: var(--carbon); }
.buscador__nota { font-size: .86rem; color: var(--suave); margin: 4px 0 0; }
.buscador__error { color: var(--terracota); font-size: .9rem; margin: 0; min-height: 0; }
/* Barra flotante del inicio */
.barra-reserva { position: relative; z-index: 5; margin-top: -78px; }
.barra-reserva .buscador { grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(220px, 1.25fr); align-items: end; }
.barra-reserva__pie { display: flex; flex-wrap: wrap; gap: 6px 18px; justify-content: center; margin-top: 14px; font-size: .9rem; color: var(--suave); }
.barra-reserva__pie strong { color: var(--terracota); font-weight: 500; }
@media (max-width: 860px) { .barra-reserva { margin-top: -60px; } .barra-reserva .buscador { grid-template-columns: 1fr 1fr; } .barra-reserva .buscador > :last-child { grid-column: 1 / -1; } }

/* ---------- Secciones ---------- */
.seccion { padding: clamp(80px, 11vw, 140px) 0; }
.seccion--corta { padding: clamp(56px, 8vw, 96px) 0; }
.entrada { position: relative; text-align: center; }
.entrada__ilustracion { position: absolute; left: 50%; top: 50%; width: min(1100px, 100%); transform: translate(-50%, -46%); color: var(--terracota); pointer-events: none; }
.entrada__texto { position: relative; max-width: 560px; margin: 0 auto; padding: 28px 0; }
.entrada__texto h2 { margin-bottom: 22px; text-wrap: balance; }
@media (max-width: 760px) { .entrada__ilustracion { position: static; transform: none; width: 92%; margin: 0 auto 8px; } }

/* Carrusel */
.carrusel { position: relative; }
.carrusel__pista { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-behavior: smooth; }
.carrusel__pista::-webkit-scrollbar { display: none; }
.carrusel__item { flex: 0 0 100%; scroll-snap-align: center; position: relative; margin: 0; }
.carrusel__item img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; cursor: zoom-in; }
.carrusel__item > figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 40px 28px 22px; color: var(--papel); font: italic 400 1.02rem/1.4 Georgia, "Times New Roman", serif; background: linear-gradient(transparent, rgba(47, 46, 46, .6)); pointer-events: none; }
.carrusel__flecha { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 48px; height: 48px; border: 0; border-radius: 50%; background: rgba(251, 247, 241, .92); color: var(--terracota); cursor: pointer; display: grid; place-items: center; }
.carrusel__flecha svg { width: 22px; height: 22px; }
.carrusel__flecha--ant { left: 14px; }
.carrusel__flecha--sig { right: 14px; }
.carrusel__flecha:disabled { opacity: .35; cursor: default; }
.carrusel__puntos { display: flex; justify-content: center; gap: 8px; margin-top: 16px; }
.carrusel__puntos button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: rgba(68, 41, 35, .25); cursor: pointer; }
.carrusel__puntos button[aria-current="true"] { background: var(--terracota); }
.carrusel__contador { position: absolute; right: 18px; top: 16px; z-index: 2; background: rgba(47, 46, 46, .6); color: var(--papel); font: 400 .9rem var(--f-geo); letter-spacing: .05em; padding: 4px 10px; border-radius: 20px; }
.miniaturas { display: flex; gap: 8px; overflow-x: auto; margin-top: 12px; padding-bottom: 6px; scrollbar-width: thin; }
.miniaturas button { flex: 0 0 auto; width: 96px; aspect-ratio: 3 / 2; padding: 0; border: 2px solid transparent; background: none; cursor: pointer; opacity: .7; }
.miniaturas button[aria-current="true"] { border-color: var(--terracota); opacity: 1; }
.miniaturas img { width: 100%; height: 100%; object-fit: cover; }
.paraiso { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-top: 26px; }
.paraiso h2 { font-size: clamp(2rem, 4.4vw, 3.2rem); line-height: 1.05; }
.paraiso .icono-sol { width: 72px; color: var(--terracota); }

/* Experiencia: iconos propios */
.experiencia__grilla { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(22px, 3vw, 40px); margin-top: clamp(44px, 6vw, 70px); text-align: center; }
.experiencia__icono { height: 58px; display: flex; align-items: center; justify-content: center; color: var(--terracota); margin-bottom: 14px; }
.experiencia__icono svg { height: 100%; width: auto; max-width: 84px; }
.experiencia h3 { font-family: var(--f-geo); font-weight: 400; font-size: 1.28rem; letter-spacing: .04em; margin-bottom: 8px; }
.experiencia p { font-size: 1rem; line-height: 1.6; margin: 0 auto; max-width: 22ch; }
.experiencia small { display: block; margin-top: 6px; font-size: .82rem; color: var(--suave); }
@media (max-width: 900px) { .experiencia__grilla { grid-template-columns: repeat(2, minmax(0, 1fr)); } .experiencia__grilla > :last-child { grid-column: 1 / -1; } }

/* Alojamientos: filas editoriales alternadas */
.alojamiento { display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(28px, 5vw, 72px); align-items: center; }
.alojamiento + .alojamiento { margin-top: clamp(70px, 9vw, 120px); }
.alojamiento--inverso .alojamiento__foto { order: 2; }
.alojamiento__foto img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.alojamiento__nombre { font-size: clamp(1.7rem, 3vw, 2.3rem); margin-bottom: 6px; }
.alojamiento__tipo { font-family: var(--f-geo); color: var(--suave); font-size: 1.05rem; letter-spacing: .04em; margin: 0 0 18px; }
.datos { list-style: none; padding: 0; margin: 0 0 22px; display: grid; gap: 10px; }
.datos li { display: flex; gap: 12px; align-items: center; }
.datos svg { width: 24px; height: 24px; flex: 0 0 auto; color: var(--terracota); }
.alojamiento__acciones { display: flex; gap: 22px; align-items: center; flex-wrap: wrap; margin-top: 8px; }
@media (max-width: 860px) { .alojamiento { grid-template-columns: 1fr; } .alojamiento--inverso .alojamiento__foto { order: 0; } }


/* Desayuno */
.desayuno { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 72px); align-items: start; margin-top: clamp(60px, 8vw, 100px); }
.desayuno h2 { margin-bottom: 18px; }
.lista-iconos { list-style: none; padding: 0; margin: 22px 0; display: grid; gap: 14px; }
.lista-iconos li { display: grid; grid-template-columns: 30px 1fr; gap: 14px; align-items: start; }
.lista-iconos svg { width: 28px; height: 28px; color: var(--ocre); margin-top: 1px; }
.banda--papel .lista-iconos svg, .ficha .lista-iconos svg { color: var(--terracota); }
@media (max-width: 900px) { .desayuno { grid-template-columns: 1fr; } }


/* Reseñas */
.calificacion { display: flex; align-items: center; justify-content: center; gap: 22px; margin: 20px 0 46px; flex-wrap: wrap; }
.calificacion__numero { font-family: var(--f-titulo); font-weight: 600; font-size: clamp(3.4rem, 7vw, 5rem); color: var(--terracota); line-height: 1; }
.calificacion__detalle { text-align: left; }
.estrellas { position: relative; display: inline-flex; line-height: 0; }
.estrellas__fondo, .estrellas__lleno { display: flex; gap: 4px; }
.estrellas__fondo { color: rgba(68, 41, 35, .22); }
.estrellas__lleno { position: absolute; left: 0; top: 0; overflow: hidden; color: var(--ocre); }
.estrellas svg { width: 22px; height: 22px; flex: 0 0 22px; }
.calificacion__detalle p { margin: 6px 0 0; font-size: .98rem; }
.resenas .carrusel__item { flex-basis: calc((100% - 2 * 24px) / 3); margin-right: 24px; scroll-snap-align: start; }
.resena { background: var(--papel); padding: 30px 28px 26px; height: 100%; display: flex; flex-direction: column; }
.resena blockquote { margin: 0 0 22px; font-size: 1rem; line-height: 1.7; flex: 1; }
.resena blockquote::before { content: "“"; display: block; font-family: var(--f-titulo); font-size: 2.6rem; line-height: .8; color: var(--ocre); margin-bottom: 6px; }
.resena__autor { display: flex; align-items: center; gap: 14px; }
.resena__autor img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.resena__nombre { font-family: var(--f-geo); font-size: 1.1rem; color: var(--terracota); letter-spacing: .03em; display: block; line-height: 1.2; }
.resena__origen { font-size: .9rem; color: var(--suave); }
.resena__idioma { display: inline-block; margin-top: 2px; font-size: .78rem; color: var(--verde); }
@media (max-width: 960px) { .resenas .carrusel__item { flex-basis: calc((100% - 24px) / 2); } }
@media (max-width: 620px) { .resenas .carrusel__item { flex-basis: 88%; margin-right: 14px; } }
.resenas .carrusel__flecha--ant { left: -10px; }
.resenas .carrusel__flecha--sig { right: -10px; }


/* Ubicación */
.ubicacion { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.ubicacion__texto { background: var(--ocre); color: var(--tierra); padding: clamp(32px, 4.5vw, 56px); position: relative; display: flex; flex-direction: column; align-items: flex-start; }
.ubicacion__texto h2 { color: var(--tierra); margin-bottom: 6px; }
.ubicacion__dir { font-weight: 400; margin: 0 0 26px; }
.ubicacion__tiempos { display: flex; gap: clamp(22px, 4vw, 44px); margin: 0 0 24px; }
.ubicacion__tiempos dt { font-family: var(--f-geo); font-size: clamp(2.3rem, 4.4vw, 3.3rem); line-height: 1; color: var(--terracota); letter-spacing: .02em; }
.ubicacion__tiempos dd { margin: 6px 0 0; font-size: .98rem; font-weight: 400; }
.ubicacion__nota { font-size: .95rem; margin: 0 0 26px; max-width: 34ch; }
.ubicacion__mirla { position: absolute; right: 26px; bottom: 22px; width: 78px; color: var(--terracota); opacity: .9; }
.ubicacion__mapa { position: relative; min-height: 440px; background: var(--papel); }
.ubicacion__mapa img, .ubicacion__mapa iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ubicacion__mapa img { object-fit: cover; }
@media (max-width: 860px) { .ubicacion { grid-template-columns: 1fr; } .ubicacion__mapa { min-height: 340px; } .ubicacion__mirla { width: 60px; } }

/* Preguntas */
.preguntas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 44px; margin-top: 40px; }
.preguntas details { border-bottom: 1px solid var(--linea); }
.preguntas summary { cursor: pointer; list-style: none; padding: 18px 34px 18px 0; position: relative; font-weight: 500; color: var(--tierra); }
.preguntas summary::-webkit-details-marker { display: none; }
.preguntas summary::after { content: ""; position: absolute; right: 4px; top: 50%; width: 10px; height: 10px; border-right: 2px solid var(--terracota); border-bottom: 2px solid var(--terracota); transform: translateY(-70%) rotate(45deg); transition: transform .2s; }
.preguntas details[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.preguntas details > div { padding: 0 0 20px; }
@media (max-width: 760px) { .preguntas { grid-template-columns: 1fr; } }

/* ---------- Ficha de alojamiento ---------- */
.ficha { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: clamp(36px, 5vw, 72px); align-items: start; padding: clamp(60px, 8vw, 100px) 0; }
.ficha__cuerpo { min-width: 0; }
.ficha__cuerpo > section + section { margin-top: clamp(50px, 6vw, 72px); }
.ficha__cuerpo h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); margin-bottom: 16px; }
.incluye { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 28px; list-style: none; padding: 0; margin: 22px 0 0; }
.incluye li { display: grid; grid-template-columns: 34px 1fr; gap: 14px; align-items: center; line-height: 1.45; }
.incluye svg { width: 30px; height: 30px; color: var(--terracota); }
@media (max-width: 560px) { .incluye { grid-template-columns: 1fr; } }
.saber { list-style: none; padding: 0; margin: 20px 0 0; display: grid; gap: 16px; }
.saber li { display: grid; grid-template-columns: 34px 1fr; gap: 14px; align-items: start; line-height: 1.55; }
.saber svg { width: 28px; height: 28px; color: var(--terracota); margin-top: 1px; }
.adicional { display: grid; grid-template-columns: 200px 1fr; gap: 24px; align-items: center; background: var(--papel); padding: 18px; }
.adicional + .adicional { margin-top: 16px; }
.adicional img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.adicional h3 { font-size: 1.2rem; margin-bottom: 6px; }
.adicional p { margin: 0; font-size: 1rem; }
@media (max-width: 560px) { .adicional { grid-template-columns: 1fr; } }
.distribucion { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 18px; }
.distribucion div { background: var(--papel); padding: 18px; text-align: center; }
.distribucion svg { width: 34px; height: 34px; margin: 0 auto 8px; color: var(--terracota); }
.distribucion strong { display: block; font-family: var(--f-geo); font-weight: 400; color: var(--terracota); font-size: 1.15rem; }
.distribucion span { font-size: .95rem; }
@media (max-width: 560px) { .distribucion { grid-template-columns: 1fr; } }
.variante { border-top: 1px solid var(--linea); padding-top: 26px; margin-top: 26px; }
.variante h3 { margin-bottom: 10px; }

/* Tarjeta de reserva (lateral fijo en escritorio) */
.reserva { position: sticky; top: calc(var(--enc) + 24px); }
.reserva h2 { font-size: 1.5rem; margin-bottom: 4px; }
.reserva .buscador { grid-template-columns: 1fr 1fr; }
.reserva .buscador > :nth-child(3), .reserva .buscador > :nth-child(n+4) { grid-column: 1 / -1; }
.reserva__resenas { display: flex; align-items: center; gap: 10px; margin-top: 16px; font-size: .92rem; }
.reserva__resenas strong { font-family: var(--f-titulo); color: var(--terracota); font-size: 1.15rem; }
.barra-movil { display: none; }
@media (max-width: 1000px) {
  .ficha { grid-template-columns: minmax(0, 1fr); }
  .reserva { position: static; }
  .barra-movil { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: var(--tierra); padding: 10px var(--margen); gap: 12px; align-items: center; justify-content: space-between; color: var(--papel); font-size: .92rem; }
  .barra-movil .btn { min-height: 46px; padding: 0 18px; }
  body.con-barra { padding-bottom: 66px; }
}
.otros { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: 36px; }
.otro { text-decoration: none; color: inherit; display: block; }
.otro img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; margin-bottom: 14px; }
.otro h3 { margin-bottom: 4px; }
@media (max-width: 700px) { .otros { grid-template-columns: 1fr; } }

/* Visor de fotos */
.visor { position: fixed; inset: 0; z-index: 90; background: rgba(30, 26, 25, .96); display: none; align-items: center; justify-content: center; padding: 60px 70px; }
.visor.abierto { display: flex; }
.visor img { max-width: 100%; max-height: 100%; object-fit: contain; }
.visor figure { margin: 0; max-width: 1400px; max-height: 100%; display: flex; flex-direction: column; align-items: center; gap: 12px; height: 100%; justify-content: center; }
.visor figcaption { color: #E7DFD6; font: italic 400 1rem Georgia, serif; text-align: center; }
.visor button { position: absolute; background: none; border: 0; color: var(--papel); cursor: pointer; width: 54px; height: 54px; display: grid; place-items: center; }
.visor button svg { width: 30px; height: 30px; }
.visor__cerrar { top: 10px; right: 10px; }
.visor__ant { left: 8px; top: 50%; transform: translateY(-50%); }
.visor__sig { right: 8px; top: 50%; transform: translateY(-50%); }
.visor__contador { position: absolute; top: 22px; left: 24px; color: #E7DFD6; font: 400 1rem var(--f-geo); letter-spacing: .05em; }
@media (max-width: 700px) { .visor { padding: 60px 8px; } }

/* ---------- Pie ---------- */
.pie { position: relative; background: var(--verde); color: #DCD3C9; padding: 0 0 36px; margin-top: var(--zz); }
.pie::before { content: ""; position: absolute; left: 0; right: 0; top: calc(-1 * var(--zz) + 1px); height: var(--zz); background: var(--verde); -webkit-mask: conic-gradient(from 135deg at top, #0000, #000 1deg 89deg, #0000 90deg) 50% / calc(2 * var(--zz)) 100%; mask: conic-gradient(from 135deg at top, #0000, #000 1deg 89deg, #0000 90deg) 50% / calc(2 * var(--zz)) 100%; }
.pie__paisaje { width: min(100%, 980px); margin: 0 auto; padding-top: 46px; color: var(--ocre); opacity: .85; }
.pie__grilla { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 36px; padding: 46px 0 36px; border-bottom: 1px solid rgba(240, 232, 224, .14); }
.pie h2 { font-family: var(--f-geo); font-weight: 400; color: var(--ocre); font-size: 1.08rem; letter-spacing: .05em; margin-bottom: 14px; }
.pie ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.pie a { color: #EDE5DC; text-decoration: none; }
.pie a:hover { color: var(--ocre); }
.pie__marca svg { height: 46px; width: auto; color: var(--papel); margin-bottom: 14px; }
.pie__legal { display: flex; flex-wrap: wrap; gap: 10px 24px; justify-content: space-between; padding-top: 22px; font-size: .88rem; color: #BDB3A8; }
.pie__legal nav { display: flex; gap: 20px; }
@media (max-width: 760px) { .pie__grilla { grid-template-columns: 1fr; } }

/* WhatsApp flotante (sin botón en el buscador) */
.whatsapp { position: fixed; right: 20px; bottom: 20px; z-index: 45; width: 56px; height: 56px; border-radius: 50%; background: #128c7e; color: #fff; display: grid; place-items: center; box-shadow: 0 6px 20px rgba(0, 0, 0, .22); }
.whatsapp svg { width: 30px; height: 30px; }
@media (max-width: 1000px) { body.con-barra .whatsapp { bottom: 84px; } }

/* Páginas legales */
.legal { max-width: 760px; margin: 0 auto; padding: calc(var(--enc) + 40px) 0 80px; }
.legal section { margin-top: 28px; }
.legal h1 { font-size: clamp(1.8rem, 4vw, 2.4rem); }
.legal h2 { font-size: 1.3rem; margin-bottom: 8px; }
.legal ul { padding-left: 1.2em; }
.legal li { margin-bottom: 6px; }
.aviso { background: var(--papel); border-left: 3px solid var(--ocre); padding: 14px 18px; font-size: .95rem; }

.ficha .resenas .carrusel__item { flex-basis: calc((100% - 24px) / 2); }
@media (max-width: 620px) { .ficha .resenas .carrusel__item { flex-basis: 88%; } }
.banda--papel .resena { background: var(--crema); }

/* ================= Ronda 3 ================= */
/* Zigzag con medida: queda como firma en el hero, la banda verde del desayuno, el marco del carrusel
   del inicio y el pie. Las bandas claras y las tarjetas van con borde recto. */
.banda--papel::before, .banda--papel::after { display: none; }
.tarjeta { background: var(--papel); border: 1px solid var(--linea); }
.barra-reserva .tarjeta { padding: 26px clamp(20px, 3vw, 34px) 20px; box-shadow: 0 22px 44px -30px rgba(68, 41, 35, .55); }
.mejor-tarifa { display: inline-flex; align-items: center; gap: 8px; color: var(--tierra); font-size: .95rem; }
.mejor-tarifa svg { width: 20px; height: 20px; color: var(--terracota); flex: 0 0 auto; }
.mejor-tarifa strong { color: var(--terracota); font-weight: 500; }
.cierre { display: flex; flex-wrap: wrap; gap: 16px 28px; align-items: center; justify-content: center; margin-top: clamp(36px, 5vw, 56px); }

/* Video propio (hero y desayuno) */
.hero__medio video, .video video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .9s; }
.con-video video { opacity: 1; }
.video { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--tierra); }
.video img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.video-pausa { position: absolute; z-index: 3; left: var(--margen); bottom: 104px; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(251, 247, 241, .7); background: rgba(47, 46, 46, .35); color: var(--papel); display: grid; place-items: center; cursor: pointer; padding: 0; }
.video-pausa[hidden] { display: none; }
.video-pausa svg { width: 18px; height: 18px; }
.video-pausa .i-play, .video-pausa[aria-pressed="true"] .i-pausa { display: none; }
.video-pausa[aria-pressed="true"] .i-play { display: block; }
.hero--ficha .video-pausa { bottom: 34px; }
.video .video-pausa { left: auto; right: 14px; bottom: 14px; }

/* Fichas: hero más corto; galería y tarjeta de reserva a la vista desde el inicio */
.hero--ficha { min-height: clamp(380px, 56svh, 580px); }
.hero--ficha .hero__texto { padding-bottom: 64px; }
.ficha { padding-top: clamp(34px, 5vw, 56px); }
.ficha__cuerpo > section:first-child .carrusel__item img { aspect-ratio: 3 / 2; }
.datos--fila { display: flex; flex-wrap: wrap; gap: 10px 26px; margin-bottom: 28px; padding-bottom: 22px; border-bottom: 1px solid var(--linea); }
.reserva .tarjeta { padding: 28px 26px 24px; }
.reserva__nota { font-size: .95rem; margin: 0; }
.reserva .mejor-tarifa { display: flex; background: var(--crema); padding: 10px 12px; margin: 14px 0 18px; }
.reserva__capacidad { font-size: .88rem; color: var(--suave); margin: 12px 0 0; }
.variante--primera { border-top: 0; padding-top: 0; margin-top: 18px; }
.alojamiento__foto { display: block; }

/* Tira de fotos (desayuno) */
.tira-borde { margin-top: clamp(36px, 5vw, 56px); }
.tira .carrusel__pista { gap: 14px; }
.tira .carrusel__item { flex: 0 0 min(400px, 84%); scroll-snap-align: start; }
.tira .carrusel__item img { aspect-ratio: 4 / 3; }
.tira .carrusel__item > figcaption { padding: 30px 16px 12px; font-size: .92rem; }
.tira--dos { margin-top: 22px; }
.desayuno { align-items: center; }
.desayuno__precio { margin: 0; }
.banda--verde .desayuno__precio strong { color: var(--ocre); font-weight: 500; }

/* Planes para una ocasión especial */
.planes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 4vw, 56px); margin-top: 44px; }
.plan { min-width: 0; }
.plan .carrusel__item img { aspect-ratio: 4 / 3; }
.plan h3 { margin: 22px 0 8px; font-size: clamp(1.4rem, 2.4vw, 1.8rem); }
.plan__donde { font-size: .95rem; color: var(--suave); margin: 14px 0 0; }
.precios { margin: 16px 0 0; }
.precios div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 9px 0; border-bottom: 1px solid var(--linea); }
.precios dd { margin: 0; font-weight: 500; color: var(--tierra); white-space: nowrap; }
@media (max-width: 760px) { .planes { grid-template-columns: 1fr; } }

/* Adicionales de cada ficha */
.adicional { grid-template-columns: 180px 1fr; align-items: start; border: 1px solid var(--linea); }
.adicional__foto { position: relative; display: block; width: 100%; padding: 0; border: 0; background: none; }
button.adicional__foto { cursor: zoom-in; }
.adicional__foto span { position: absolute; left: 8px; bottom: 8px; background: rgba(47, 46, 46, .72); color: var(--papel); font-size: .8rem; padding: 3px 9px; }
.adicional .precios { margin-top: 10px; font-size: .95rem; }
@media (max-width: 560px) { .adicional { grid-template-columns: 1fr; } }

/* Preguntas: una sola columna de lectura */
.preguntas { grid-template-columns: minmax(0, 1fr); max-width: 780px; margin-inline: auto; }
@media (max-width: 560px) { .barra-reserva .buscador > :nth-child(n+3) { grid-column: 1 / -1; } }

/* ================= Ronda 4 ================= */
/* Planes y desayuno: el valor se suma al del alojamiento */
.aviso-suma { display: flex; gap: 12px; align-items: flex-start; text-align: left; background: var(--papel); border: 1px solid var(--linea); border-left: 3px solid var(--terracota); padding: 14px 18px; margin: 22px auto 0; font-size: .98rem; }
.aviso-suma svg { width: 24px; height: 24px; flex: 0 0 auto; color: var(--terracota); margin-top: 2px; }
.aviso-suma strong { color: var(--terracota); font-weight: 500; }
.precios__titulo { font-family: var(--f-geo); letter-spacing: .04em; color: var(--terracota); margin: 18px 0 -8px; }
.precios dt small { display: block; font-size: .86rem; opacity: .8; margin-top: 2px; }
.precios--desayuno { margin-top: 22px; }
.banda--verde .precios div { border-bottom-color: rgba(240, 232, 224, .2); }
.banda--verde .precios dd { color: var(--ocre); }
.banda--verde .precios a { color: var(--papel); }

/* "Mejor tarifa": la etiqueta se mueve una vez, cuando aparece en pantalla */
@keyframes etiqueta { 0% { transform: rotate(0); } 15% { transform: rotate(-22deg) scale(1.15); } 35% { transform: rotate(16deg) scale(1.15); } 55% { transform: rotate(-10deg); } 75% { transform: rotate(6deg); } 100% { transform: rotate(0); } }
@keyframes resalte { 0% { box-shadow: inset 0 0 0 0 rgba(223, 172, 73, 0); } 30% { box-shadow: inset 0 0 0 2px rgba(223, 172, 73, .95); } 100% { box-shadow: inset 0 0 0 0 rgba(223, 172, 73, 0); } }
.mejor-tarifa svg { transform-origin: 30% 30%; }
@media (prefers-reduced-motion: no-preference) {
  .mejor-tarifa.visto svg { animation: etiqueta 1.1s ease-in-out .25s 2; }
  .reserva .mejor-tarifa.visto { animation: resalte 2.2s ease-out .25s 1; }
}

/* Móvil: la tarjeta de fechas va justo después de la galería */
@media (max-width: 1000px) {
  .ficha { display: flex; flex-direction: column; }
  .ficha__cuerpo { display: contents; }
  .ficha__cuerpo > section { order: 3; min-width: 0; max-width: 100%; }
  .ficha .reserva { min-width: 0; }
  .ficha__cuerpo > section:first-child { order: 1; }
  .ficha .reserva { order: 2; margin: 26px 0 0; }
  .ficha__cuerpo > section:nth-child(2) { margin-top: 34px; }
}
@media (max-width: 760px) {
  .hero { min-height: 86svh; }
  .hero--ficha { min-height: clamp(300px, 46svh, 420px); }
  .hero__texto { padding-bottom: 120px; }
  .hero--ficha .hero__texto { padding-bottom: 54px; }
}


/* ============================ Ronda 5 (15-nov-2026) ============================
   Usabilidad táctil: todo lo que se toca mide al menos 24 px (WCAG 2.2, criterio 2.5.8). */
.carrusel__puntos { gap: 0; min-height: 24px; align-items: center; }
.carrusel__puntos button { position: relative; width: 24px; height: 24px; background: transparent; border-radius: 0; }
.carrusel__puntos button::before { content: ""; position: absolute; inset: 0; margin: auto; width: 9px; height: 9px; border-radius: 50%; background: rgba(68, 41, 35, .25); }
.carrusel__puntos button[aria-current="true"] { background: transparent; }
.carrusel__puntos button[aria-current="true"]::before { background: var(--terracota); }
.carrusel__puntos--cuenta { font-size: .9rem; letter-spacing: .06em; color: rgba(68, 41, 35, .7); font-variant-numeric: tabular-nums; }
.pie a { display: inline-block; padding: 3px 0; }
.pie ul { gap: 4px; }
.carrusel__contador { background: rgba(47, 46, 46, .82); }


/* ============================ Ronda 6 (15-nov-2026): guías de festivales ============================ */
.pie__grilla { grid-template-columns: 1.4fr 1fr 1fr 1fr; }
@media (max-width: 1000px) { .pie__grilla { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) { .pie__grilla { grid-template-columns: 1fr; } }

.guia { max-width: 760px; margin: 0 auto; padding: calc(var(--enc) + 28px) 0 72px; }
.guia__migas ol { display: flex; flex-wrap: wrap; gap: 4px 0; margin: 0; padding: 0; list-style: none; font-size: .9rem; color: var(--suave); }
.guia__migas li + li::before { content: "/"; margin: 0 9px; color: var(--linea); }
.guia__migas li { padding: 4px 0; }
.guia__migas a { color: var(--suave); text-decoration: underline; text-underline-offset: 3px; }
.guia__cabeza { margin: 18px 0 26px; }
.guia__cabeza h1 { font-size: clamp(1.75rem, 4.4vw, 2.6rem); line-height: 1.25; text-wrap: balance; }
.guia__lead { margin-top: 16px; font-size: clamp(1.08rem, 1.6vw, 1.22rem); line-height: 1.6; color: var(--tierra); }
.guia__datos { display: grid; grid-template-columns: 1fr 1fr; margin: 0 0 12px; background: var(--papel); border: 1px solid var(--linea); border-top: 3px solid var(--terracota); }
.guia__datos div { padding: 16px 20px; border-bottom: 1px solid var(--linea); }
.guia__datos div:nth-child(odd) { border-right: 1px solid var(--linea); }
.guia__datos div:nth-last-child(-n+2):nth-child(odd), .guia__datos div:last-child { border-bottom: 0; }
.guia__datos dt { font: 400 .95rem/1.2 var(--f-geo); letter-spacing: .05em; color: var(--terracota); }
.guia__datos dd { margin: 5px 0 0; }
.guia section { margin-top: 38px; }
.guia h2 { font-size: clamp(1.25rem, 2.4vw, 1.5rem); line-height: 1.35; margin-bottom: 12px; }
.guia section p + p, .guia section ul + p, .guia section p + ul { margin-top: 12px; }
.guia section ul { padding-left: 1.15em; }
.guia section li { margin-bottom: 8px; }
.guia section a, .guia__fuentes a, .guia__datos a { color: var(--terracota); text-decoration: underline; text-underline-offset: 3px; }
.guia__tabla { overflow-x: auto; }
.guia__tabla table { width: 100%; border-collapse: collapse; }
.guia__tabla th, .guia__tabla td { padding: 13px 14px 13px 0; text-align: left; vertical-align: top; border-bottom: 1px solid var(--linea); }
.guia__tabla thead th { font: 400 .95rem/1.2 var(--f-geo); letter-spacing: .05em; color: var(--terracota); border-bottom-color: var(--tierra); }
.guia__tabla tbody th { font-weight: 500; color: var(--tierra); white-space: nowrap; }
.guia__ref { display: inline-block; padding: 2px 0; font-size: .85rem; color: var(--suave) !important; white-space: nowrap; }
.guia__quedarte { display: grid; grid-template-columns: 300px 1fr; gap: 0; margin-top: 48px; background: var(--crema); border: 1px solid var(--linea); }
.guia__quedarte img { width: 100%; height: 100%; min-height: 240px; object-fit: cover; }
.guia__quedarte > div { padding: 26px 28px; }
.guia__quedarte p { margin-top: 8px; }
.guia__aloj { margin: 14px 0 6px; padding: 0; list-style: none; }
.guia__aloj a { display: inline-block; padding: 4px 0; color: var(--terracota); text-decoration: underline; text-underline-offset: 3px; }
.guia__otras { margin-top: 44px; padding-top: 26px; border-top: 1px solid var(--linea); }
.guia__otras ul { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 24px; margin: 0; padding: 0; list-style: none; }
.guia__otras a { display: inline-block; padding: 6px 0; color: var(--terracota); text-decoration: underline; text-underline-offset: 3px; }
.guia__fuentes { margin-top: 40px; padding-top: 22px; border-top: 1px solid var(--linea); font-size: .92rem; color: var(--suave); }
.guia__fuentes h2 { font: 400 1rem/1.2 var(--f-geo); letter-spacing: .05em; color: var(--suave); }
.guia__fuentes ul { margin: 0 0 12px; padding-left: 1.15em; }
.guia__fuentes li { margin-bottom: 2px; }
.guia__fuentes a { display: inline-block; padding: 3px 0; color: var(--suave); overflow-wrap: anywhere; }
@media (max-width: 760px) {
  .guia__datos { grid-template-columns: 1fr; }
  .guia__datos div, .guia__datos div:nth-child(odd) { border-right: 0; border-bottom: 1px solid var(--linea); }
  .guia__datos div:last-child { border-bottom: 0; }
  .guia__quedarte { grid-template-columns: 1fr; }
  .guia__quedarte img { min-height: 0; aspect-ratio: 3 / 2; }
  .guia__otras ul { grid-template-columns: 1fr; }
  /* la tabla del calendario pasa a fichas apiladas: nada se corta ni obliga a deslizar de lado */
  .guia__tabla thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .guia__tabla tr { display: block; padding: 14px 0; border-bottom: 1px solid var(--linea); }
  .guia__tabla th, .guia__tabla td { display: block; padding: 0; border: 0; }
  .guia__tabla tbody th { font: 400 .9rem/1.2 var(--f-geo); letter-spacing: .05em; color: var(--terracota); }
  .guia__tabla td[data-t="Evento"] { margin: 3px 0; font-weight: 500; color: var(--tierra); }
  .guia__tabla td[data-t="Lugar"] { color: var(--suave); font-size: .95rem; }
}
