/* Turismo – Oruro: mapa, tarjetas y ficha del atractivo. Usa los colores del tema. */
.antro-tur,
.antro-tur-atractivo {
	--tur-azul: var(--wp--preset--color--azul, #1b365d);
	--tur-azul-osc: var(--wp--preset--color--azul-oscuro, #0f213d);
	--tur-rojo: var(--wp--preset--color--rojo, #b3311f);
	--tur-amarillo: var(--wp--preset--color--amarillo, #f4c430);
	--tur-crema: #fff8e1;
	--tur-texto: var(--wp--preset--color--texto, #2c3e50);
	--tur-suave: #4a5566;
	--tur-linea: 1px solid rgba(27, 54, 93, 0.1);
	--tur-sombra: 0 6px 20px rgba(15, 33, 61, 0.06);
	--tur-radio: 18px;
	color: var(--tur-texto);
	overflow-wrap: break-word;
}
.antro-tur *, .antro-tur-atractivo * { box-sizing: border-box; }
.antro-tur-intro { font-size: 1.05rem; max-width: 760px; }
html.antro-tur-sin-scroll, html.antro-tur-sin-scroll body { overflow: hidden !important; }

/* ---------- Buscador ---------- */
.antro-tur-oculto { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.antro-tur__buscador { position: relative; width: 100%; max-width: 620px; margin: 0 auto; }
.antro-tur__lupa { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--tur-azul); pointer-events: none; }
.antro-tur__buscar { width: 100%; min-height: 56px; padding: 0 52px 0 52px; border: 2px solid #c9d1dd; border-radius: 999px; background: #fff; box-shadow: var(--tur-sombra); font: inherit; font-size: 1.05rem; color: var(--tur-azul-osc); -webkit-appearance: none; appearance: none; }
.antro-tur__buscar::-webkit-search-cancel-button { display: none; }
.antro-tur__buscar::placeholder { color: #6b7685; }
.antro-tur__buscar:focus { outline: none; border-color: var(--tur-azul); box-shadow: 0 0 0 4px rgba(244, 196, 48, 0.55); }
.antro-tur__borrar { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border: 0; border-radius: 50%; background: #eef2f8; color: var(--tur-azul); font-size: 22px; line-height: 1; cursor: pointer; }
.antro-tur__borrar[hidden] { display: none; }
.antro-tur__borrar:focus-visible { outline: 3px solid var(--tur-amarillo); outline-offset: 2px; }

/* ---------- Panel del mapa ---------- */
.antro-tur { display: flex; flex-direction: column; gap: 26px; }
.antro-tur__panel { background: #fff; border: var(--tur-linea); border-radius: var(--tur-radio); box-shadow: var(--tur-sombra); padding: clamp(16px, 3vw, 30px); }
.antro-tur__cabecera { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px 20px; margin-bottom: 16px; }
.antro-tur__etiqueta { margin: 0; font-size: 0.85rem; font-weight: 600; color: var(--tur-rojo); }
.antro-tur__titulo { margin: 4px 0 0 !important; font-size: clamp(1.4rem, 3vw, 1.9rem) !important; color: var(--tur-azul); }
.antro-tur__campo { display: flex; flex-direction: column; gap: 4px; min-width: min(240px, 100%); }
.antro-tur__campo label { font-size: 0.8rem; font-weight: 600; color: var(--tur-suave); }
.antro-tur__select { min-height: 44px; padding: 0 12px; border: 1.5px solid #c9d1dd; border-radius: 10px; background: #fff; font: inherit; font-size: 0.95rem; color: var(--tur-azul-osc); }
.antro-tur__select:focus-visible { outline: 3px solid var(--tur-amarillo); outline-offset: 2px; }
.antro-tur__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.antro-tur__chip { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border: 1.5px solid #c9d1dd; border-radius: 999px; background: #fff; color: var(--tur-azul); font: inherit; font-size: 0.9rem; font-weight: 600; cursor: pointer; transition: background-color 0.2s, color 0.2s, border-color 0.2s; }
.antro-tur__chip:hover { border-color: var(--tur-azul); }
.antro-tur__chip.is-activo { background: var(--tur-azul); border-color: var(--tur-azul); color: #fff; }
.antro-tur__chip:focus-visible { outline: 3px solid var(--tur-amarillo); outline-offset: 2px; }
.antro-tur__punto { display: inline-block; width: 12px; height: 12px; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.18); }
.antro-tur__mapa-caja { position: relative; isolation: isolate; z-index: 0; border-radius: 14px; overflow: hidden; border: var(--tur-linea); background: #e9eef5; }
.antro-tur__mapa { width: 100%; height: clamp(380px, 62vh, 640px); }
.antro-tur__conteo { position: absolute; right: 12px; bottom: 26px; z-index: 500; margin: 0; padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, 0.95); box-shadow: 0 2px 8px rgba(15, 33, 61, 0.15); font-size: 0.85rem; font-weight: 700; color: var(--tur-azul); pointer-events: none; }
.antro-tur__ayuda { margin: 12px 0 0; font-size: 0.85rem; color: var(--tur-suave); }
.antro-tur__mapa-caja.is-completo { position: fixed; inset: 0; z-index: 100000; border-radius: 0; border: 0; }
.antro-tur__mapa-caja.is-completo .antro-tur__mapa { height: 100vh; height: 100dvh; }

/* Marcadores, grupos y controles */
.antro-tur-pin { background: none; border: 0; filter: drop-shadow(0 3px 3px rgba(0, 0, 0, 0.3)); }
.antro-tur-grupo { display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--tur-azul, #1b365d); box-shadow: 0 0 0 5px rgba(244, 196, 48, 0.75), 0 3px 8px rgba(0, 0, 0, 0.3); color: #fff; font-weight: 800; font-size: 15px; }
.antro-tur-grupo span { line-height: 1; }
.antro-tur .leaflet-bar a, .antro-tur .leaflet-control-layers-toggle { width: 40px; height: 40px; line-height: 40px; display: flex; align-items: center; justify-content: center; color: var(--tur-azul); }
.antro-tur .leaflet-control-layers-expanded { padding: 8px 12px; font: inherit; font-size: 0.9rem; }
.antro-tur .leaflet-control-layers label { min-height: 32px; display: flex; align-items: center; }
.antro-tur .leaflet-container { font: inherit; }
.antro-tur .leaflet-container a.antro-tur-boton { color: #fff; }
.antro-tur .leaflet-popup-content-wrapper { border-radius: 14px; padding: 0; overflow: hidden; }
.antro-tur .leaflet-popup-content { margin: 0; line-height: 1.4; }
.antro-tur-popup { width: 250px; max-width: 70vw; }
.antro-tur-popup img { display: block; width: 100%; height: 130px; object-fit: cover; }
.antro-tur-popup .antro-tur-pildora { white-space: nowrap; }
.antro-tur .leaflet-popup-close-button { top: 6px !important; right: 6px !important; width: 30px !important; height: 30px !important; border-radius: 50%; background: rgba(255, 255, 255, 0.92) !important; color: var(--tur-azul) !important; font-size: 20px !important; line-height: 28px !important; text-align: center; }
.antro-tur-popup__cuerpo { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 12px 14px 14px; }
.antro-tur-popup__titulo { font-size: 1rem; line-height: 1.25; color: var(--tur-azul-osc); }
.antro-tur-popup__dato { font-size: 0.85rem; color: var(--tur-suave); }
.antro-tur-popup .antro-tur-boton { margin-top: 4px; width: 100%; }

/* ---------- Píldoras y botones ---------- */
.antro-tur-pildora { display: inline-block; padding: 4px 11px; border-radius: 999px; color: #fff; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.02em; line-height: 1.4; }
.antro-tur-pildora--clara { background: #eef2f8; color: var(--tur-azul); }
.antro-tur-boton { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 16px; border: 0; border-radius: 10px; background: var(--tur-azul); color: #fff !important; font: inherit; font-size: 0.9rem; font-weight: 700; text-decoration: none !important; cursor: pointer; transition: background-color 0.2s, transform 0.2s; }
.antro-tur-boton:hover { background: var(--tur-rojo); }
.antro-tur-boton:focus-visible { outline: 3px solid var(--tur-amarillo); outline-offset: 2px; }
.antro-tur-boton--claro { background: #eef2f8; color: var(--tur-azul) !important; }
.antro-tur-boton--claro:hover { background: var(--tur-crema); }
.antro-tur-boton--amarillo { background: var(--tur-amarillo); color: var(--tur-azul-osc) !important; }
.antro-tur-boton--amarillo:hover { background: #e2b21c; }
.antro-tur-enlace { border: 0; background: none; padding: 0; color: var(--tur-rojo); font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; }

/* ---------- Tarjetas ---------- */
.antro-tur__subtitulo { margin: 0 !important; font-size: clamp(1.3rem, 2.6vw, 1.7rem) !important; color: var(--tur-azul); }
.antro-tur__lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr)); gap: 20px; }
.antro-tur-tarjeta { display: flex; flex-direction: column; background: #fff; border: var(--tur-linea); border-radius: 16px; overflow: hidden; box-shadow: var(--tur-sombra); transition: transform 0.25s, box-shadow 0.25s; }
.antro-tur-tarjeta:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(15, 33, 61, 0.12); }
.antro-tur-tarjeta[hidden] { display: none; }
.antro-tur-tarjeta__img { display: block; aspect-ratio: 16 / 10; background: #dfe6ef; overflow: hidden; }
.antro-tur-tarjeta__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s; }
.antro-tur-tarjeta:hover .antro-tur-tarjeta__img img { transform: scale(1.04); }
.antro-tur-tarjeta__cuerpo { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; flex: 1; padding: 16px 18px 18px; }
.antro-tur-tarjeta__titulo { margin: 0 !important; font-size: 1.12rem !important; line-height: 1.25; }
.antro-tur-tarjeta__titulo a { color: var(--tur-azul-osc); text-decoration: none; }
.antro-tur-tarjeta__titulo a:hover { color: var(--tur-rojo); }
.antro-tur-tarjeta__dato { display: flex; align-items: center; gap: 6px; margin: 0; font-size: 0.88rem; color: var(--tur-suave); }
.antro-tur-tarjeta__dato svg { flex: 0 0 auto; color: var(--tur-rojo); }
.antro-tur-tarjeta__acciones { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 8px; width: 100%; }
.antro-tur-tarjeta__acciones .antro-tur-boton { flex: 1 1 auto; }
.antro-tur__sin-resultados { margin: 0; padding: 18px; border-radius: 12px; background: #eef2f8; text-align: center; }

/* ======================== Ficha del atractivo ======================== */
.antro-tur-atractivo { display: flex; flex-direction: column; gap: 22px; max-width: 1240px; margin: 0 auto; }
.antro-tur-volver { margin: 0; }
.antro-tur-volver a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; text-decoration: none; color: var(--tur-azul); }
.antro-tur-caja { background: #fff; border: var(--tur-linea); border-radius: var(--tur-radio); box-shadow: var(--tur-sombra); padding: clamp(18px, 3vw, 30px); }
.antro-tur-pildoras { display: flex; flex-wrap: wrap; gap: 8px; }
.antro-tur-encabezado__titulo { margin: 14px 0 8px !important; font-size: clamp(1.7rem, 4.5vw, 2.6rem) !important; line-height: 1.12; color: var(--tur-azul-osc); }
.antro-tur-encabezado__lugar { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 1.05rem; color: var(--tur-suave); }
.antro-tur-encabezado__lugar svg { color: var(--tur-rojo); flex: 0 0 auto; }
.antro-tur-superior { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 22px; align-items: stretch; }
.antro-tur-principal { margin: 0; border-radius: var(--tur-radio); overflow: hidden; background: #dfe6ef; box-shadow: 0 18px 40px rgba(15, 33, 61, 0.13); }
.antro-tur-ampliar { position: relative; display: block; width: 100%; height: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; }
.antro-tur-ampliar img { display: block; width: 100%; height: 100%; object-fit: cover; }
.antro-tur-principal .antro-tur-ampliar img { min-height: 300px; max-height: 560px; }
.antro-tur-ampliar__icono { position: absolute; right: 12px; bottom: 12px; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(15, 33, 61, 0.7); color: #fff; }
.antro-tur-ampliar:focus-visible { outline: 3px solid var(--tur-amarillo); outline-offset: 3px; }
.antro-tur-rapidos { display: flex; flex-direction: column; gap: 16px; }
.antro-tur-minimapa { position: relative; isolation: isolate; z-index: 0; height: 200px; border-radius: 12px; overflow: hidden; background: #e9eef5; }
.antro-tur-minimapa .leaflet-control-attribution { font-size: 9px; }
.antro-tur-rapidos__lista { display: flex; flex-direction: column; gap: 12px; margin: 0; }
.antro-tur-rapidos__lista > div { display: flex; align-items: center; gap: 12px; }
.antro-tur-rapidos__icono { flex: 0 0 auto; color: var(--tur-rojo); }
.antro-tur-rapidos__lista dt { font-size: 0.8rem; color: var(--tur-suave); }
.antro-tur-rapidos__lista dd { margin: 0; font-weight: 700; color: var(--tur-azul-osc); }
.antro-tur-rapidos .antro-tur-boton { margin-top: auto; width: 100%; min-height: 48px; }

.antro-tur-descripcion__cabecera { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.antro-tur-descripcion__titulo { margin: 0 !important; font-size: 1.45rem !important; color: var(--tur-azul); }
.antro-tur-idiomas { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: #eef2f8; }
.antro-tur-idiomas button { min-width: 56px; min-height: 40px; padding: 0 14px; border: 0; border-radius: 999px; background: transparent; color: var(--tur-azul); font: inherit; font-weight: 700; cursor: pointer; }
.antro-tur-idiomas button.is-activo { background: var(--tur-azul); color: #fff; }
.antro-tur-idiomas button:focus-visible { outline: 3px solid var(--tur-amarillo); outline-offset: 2px; }
.antro-tur-texto { font-size: 1.08rem; line-height: 1.75; max-width: 860px; }
.antro-tur-texto p { margin: 0 0 12px; }

.antro-tur-fichas { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 18px; }
.antro-tur-ficha { display: flex; flex-direction: column; gap: 12px; background: #fff; border: var(--tur-linea); border-radius: 16px; padding: 20px; }
.antro-tur-ficha__titulo { display: flex; align-items: center; gap: 10px; margin: 0 !important; font-size: 1.15rem !important; color: var(--tur-azul); }
.antro-tur-ficha__icono { display: flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 40px; height: 40px; border-radius: 12px; background: #eef2f8; color: var(--tur-azul); }
.antro-tur-ficha__sub { margin: 4px 0 0; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--tur-suave); }
.antro-tur-ficha__nota { margin: 0; font-size: 0.88rem; color: var(--tur-suave); }
.antro-tur-ficha--aviso { background: #fff4cc; border-color: #f0d27a; }
.antro-tur-ficha--aviso .antro-tur-ficha__icono { background: #fde68a; color: #7a4f00; }
.antro-tur-filas { display: flex; flex-direction: column; gap: 10px; margin: 0; }
.antro-tur-filas > div { display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: 10px; font-size: 0.95rem; }
.antro-tur-filas dt { color: var(--tur-suave); }
.antro-tur-filas dd { margin: 0; font-weight: 600; color: var(--tur-azul-osc); }
.antro-tur-iconos { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.antro-tur-iconos li { display: inline-flex; align-items: center; gap: 7px; padding: 7px 11px; border-radius: 10px; background: #eef2f8; color: var(--tur-azul); font-size: 0.88rem; font-weight: 600; }

.antro-tur-interes { background: var(--tur-rojo); color: #fff; border-radius: var(--tur-radio); padding: clamp(18px, 3vw, 28px); }
.antro-tur-interes__titulo { margin: 0 0 4px !important; font-size: 1.3rem !important; color: #fff !important; }
.antro-tur-interes__sub { margin: 0 0 6px; color: #ffe4dc; }
.antro-tur-interes ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); column-gap: 28px; margin: 0; padding: 0; list-style: none; }
.antro-tur-interes li { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 8px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.2); }
.antro-tur-interes li svg { flex: 0 0 auto; }
.antro-tur-interes a { color: #fff; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.antro-tur-interes a:hover { color: var(--tur-amarillo); }

.antro-tur-seccion-titulo { margin: 0 0 14px !important; font-size: 1.45rem !important; color: var(--tur-azul); }
.antro-tur-galeria__grilla { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 14px; }
.antro-tur-galeria__grilla .antro-tur-ampliar { aspect-ratio: 4 / 3; border-radius: 14px; overflow: hidden; background: #dfe6ef; }
.antro-tur-galeria__grilla img { transition: transform 0.4s; }
.antro-tur-galeria__grilla .antro-tur-ampliar:hover img { transform: scale(1.05); }

.antro-tur-proximos__lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 14px; }
.antro-tur-proximo { display: flex; align-items: center; gap: 14px; padding: 10px; border: var(--tur-linea); border-radius: 14px; background: #fff; text-decoration: none; color: inherit; transition: box-shadow 0.2s; }
.antro-tur-proximo:hover { box-shadow: 0 10px 24px rgba(15, 33, 61, 0.12); }
.antro-tur-proximo img { flex: 0 0 auto; width: 84px; height: 64px; object-fit: cover; border-radius: 10px; }
.antro-tur-proximo__texto { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.antro-tur-proximo__texto strong { color: var(--tur-azul-osc); line-height: 1.25; }
.antro-tur-proximo__texto span { font-size: 0.85rem; color: var(--tur-suave); }
.antro-tur-fuente { margin: 0; padding: 14px 18px; border-radius: 12px; background: #eef2f8; font-size: 0.88rem; color: var(--tur-suave); }

/* Visor de fotos */
.antro-tur-visor { position: fixed; inset: 0; z-index: 100001; display: flex; align-items: center; justify-content: center; padding: 56px 12px; background: rgba(8, 15, 28, 0.94); }
.antro-tur-visor[hidden] { display: none; }
.antro-tur-visor__figura { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 10px; max-width: 100%; }
.antro-tur-visor__figura img { max-width: min(1200px, 100%); max-height: calc(100vh - 130px); max-height: calc(100dvh - 130px); object-fit: contain; border-radius: 8px; }
.antro-tur-visor__contador { color: #dfe6ef; font-size: 0.9rem; }
.antro-tur-visor button { position: absolute; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, 0.14); color: #fff; font-size: 30px; line-height: 1; cursor: pointer; }
.antro-tur-visor button:hover { background: rgba(255, 255, 255, 0.26); }
.antro-tur-visor button:focus-visible { outline: 3px solid var(--wp--preset--color--amarillo, #f4c430); outline-offset: 2px; }
.antro-tur-visor__cerrar { top: 12px; right: 12px; }
.antro-tur-visor__flecha--ant { left: 12px; top: 50%; transform: translateY(-50%); }
.antro-tur-visor__flecha--sig { right: 12px; top: 50%; transform: translateY(-50%); }

/* Atractivos todavía sin foto */
.antro-tur-sin-foto { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 100%; min-height: 160px; background: repeating-linear-gradient(135deg, #e9eef5 0 14px, #e1e7f0 14px 28px); color: #6b7685; font-size: 0.9rem; font-weight: 600; text-align: center; }
.antro-tur-principal--vacia { display: flex; min-height: 300px; }
.antro-tur-principal--vacia .antro-tur-sin-foto { min-height: 300px; }


/* ======================== Rutas turísticas ======================== */
.antro-tur-rutas { display: flex; flex-direction: column; gap: 14px; }
.antro-tur-rutas__intro { margin: 0; color: var(--tur-suave); }
.antro-tur-rutas__lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 18px; }
.antro-tur-ruta { position: relative; display: flex; background: #fff; border: var(--tur-linea); border-radius: 16px; overflow: hidden; box-shadow: var(--tur-sombra); }
.antro-tur-ruta::before { content: ""; flex: 0 0 8px; background: var(--ruta); }
.antro-tur-ruta__cuerpo { display: flex; flex-direction: column; gap: 10px; flex: 1; min-width: 0; padding: 18px 18px 18px 16px; }
.antro-tur-ruta__titulo { margin: 0 !important; font-size: 1.15rem !important; line-height: 1.25; }
.antro-tur-ruta__titulo a { color: var(--tur-azul-osc); text-decoration: none; }
.antro-tur-ruta__titulo a:hover { color: var(--tur-rojo); }
.antro-tur-ruta__datos { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.antro-tur-ruta__datos span { padding: 3px 10px; border-radius: 999px; background: #eef2f8; color: var(--tur-azul); font-size: 0.8rem; font-weight: 700; }
.antro-tur-ruta__paradas { margin: 0; padding-left: 1.3em; font-size: 0.9rem; color: var(--tur-texto); }
.antro-tur-ruta__paradas li { margin-bottom: 2px; }
.antro-tur-ruta__paradas li::marker { color: var(--ruta); font-weight: 800; }
.antro-tur-ruta [aria-pressed="true"] { background: var(--tur-rojo); }

/* Números de parada y aviso de ruta en el mapa */
.antro-tur-num { background: none; border: 0; }
.antro-tur-num span { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: 3px solid #fff; border-radius: 50%; color: #fff; font-weight: 800; font-size: 15px; box-shadow: 0 3px 8px rgba(0, 0, 0, 0.35); }
.antro-tur-num--inicio span { width: 64px; height: 28px; border-radius: 999px; background: var(--wp--preset--color--azul-oscuro, #0f213d); font-size: 12px; letter-spacing: 0.04em; }
.antro-tur-aviso-ruta { position: absolute; left: 50%; top: 12px; transform: translateX(-50%); z-index: 600; display: flex; align-items: center; gap: 10px; max-width: calc(100% - 120px); padding: 6px 6px 6px 14px; border-radius: 999px; background: rgba(255, 255, 255, 0.97); box-shadow: 0 4px 14px rgba(15, 33, 61, 0.2); font-size: 0.9rem; }
.antro-tur-aviso-ruta strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--tur-azul-osc); }
.antro-tur-aviso-ruta__color { flex: 0 0 auto; width: 14px; height: 14px; border-radius: 50%; }
.antro-tur-aviso-ruta__n { flex: 0 0 auto; color: var(--tur-suave); font-size: 0.82rem; }
.antro-tur-aviso-ruta a { flex: 0 0 auto; font-weight: 700; color: var(--tur-rojo); }
.antro-tur-aviso-ruta button { flex: 0 0 auto; width: 36px; height: 36px; border: 0; border-radius: 50%; background: #eef2f8; color: var(--tur-azul); font-size: 20px; line-height: 1; cursor: pointer; }
.antro-tur-aviso-ruta button:focus-visible { outline: 3px solid var(--tur-amarillo); outline-offset: 2px; }

/* «Forma parte de» en la ficha del atractivo */
.antro-tur-en-rutas__lista { display: flex; flex-wrap: wrap; gap: 10px; }
.antro-tur-ruta-enlace { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 16px; border: 1.5px solid var(--ruta); border-radius: 999px; color: var(--tur-azul-osc); font-weight: 700; text-decoration: none; }
.antro-tur-ruta-enlace:hover { background: #f6f8fb; }
.antro-tur-ruta-enlace__linea { width: 22px; height: 0; border-top: 3px dashed var(--ruta); }

/* Página de una ruta */
.antro-tur-ruta-pagina__encabezado { border-top: 6px solid var(--ruta); }
.antro-tur-ruta-pagina__encabezado .antro-tur-texto { margin-top: 6px; }
.antro-tur-ruta-pagina__mapa { height: clamp(360px, 60vh, 600px); }
.antro-tur-ruta-pagina__acciones { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 0; }
.antro-tur-ruta-pagina__nota { font-size: 0.85rem; color: var(--tur-suave); }
.antro-tur-paradas { position: relative; display: flex; flex-direction: column; gap: 14px; margin: 0; padding: 0; list-style: none; }
.antro-tur-paradas::before { content: ""; position: absolute; left: 17px; top: 18px; bottom: 18px; border-left: 3px dashed var(--ruta); opacity: 0.6; }
.antro-tur-parada { position: relative; display: flex; align-items: center; gap: 14px; }
.antro-tur-parada__numero { position: relative; z-index: 1; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border: 3px solid #fff; border-radius: 50%; background: var(--ruta); color: #fff; font-weight: 800; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25); }
.antro-tur-parada__tarjeta { display: flex; align-items: center; gap: 14px; flex: 1; min-width: 0; padding: 10px; border: var(--tur-linea); border-radius: 14px; background: #fff; color: inherit; text-decoration: none; transition: box-shadow 0.2s; }
.antro-tur-parada__tarjeta:hover { box-shadow: 0 10px 24px rgba(15, 33, 61, 0.12); }
.antro-tur-parada__tarjeta img, .antro-tur-parada__sin-foto { flex: 0 0 auto; width: 110px; height: 80px; min-height: 0; object-fit: cover; border-radius: 10px; }
.antro-tur-parada__texto { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; font-size: 0.9rem; color: var(--tur-suave); }
.antro-tur-parada__texto strong { font-size: 1.05rem; line-height: 1.25; color: var(--tur-azul-osc); }
.antro-tur-parada__dist { font-size: 0.82rem; }
@media (max-width: 600px) {
	.antro-tur-aviso-ruta { top: auto; bottom: 60px; max-width: calc(100% - 20px); }
	.antro-tur-aviso-ruta__n { display: none; }
	.antro-tur-parada__tarjeta img, .antro-tur-parada__sin-foto { width: 84px; height: 64px; }
	.antro-tur-ruta-pagina__mapa { height: min(65vh, 460px); min-height: 320px; }
}

/* ---------- Responsivo ---------- */
@media (max-width: 900px) {
	.antro-tur-superior { grid-template-columns: minmax(0, 1fr); }
	.antro-tur-principal .antro-tur-ampliar img { min-height: 0; max-height: 460px; aspect-ratio: 16 / 10; }
	.antro-tur-principal--vacia, .antro-tur-principal--vacia .antro-tur-sin-foto { min-height: 200px; }
}
@media (max-width: 600px) {
	.antro-tur__chips { flex-wrap: nowrap; overflow-x: auto; margin-inline: -4px; padding: 2px 4px 6px; scrollbar-width: none; }
	.antro-tur__chips::-webkit-scrollbar { display: none; }
	.antro-tur__chip { flex: 0 0 auto; }
	.antro-tur__buscar { min-height: 52px; font-size: 1rem; }
	.antro-tur__campo { width: 100%; }
	.antro-tur__mapa { height: min(70vh, 480px); min-height: 340px; }
	.antro-tur__conteo { bottom: 22px; right: 8px; font-size: 0.8rem; }
	.antro-tur-filas > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
	.antro-tur-ficha { padding: 16px; }
	.antro-tur-visor__flecha--ant, .antro-tur-visor__flecha--sig { top: auto; bottom: 12px; transform: none; }
	.antro-tur-visor__flecha--ant { left: calc(50% - 60px); }
	.antro-tur-visor__flecha--sig { right: calc(50% - 60px); }
	.antro-tur-visor { padding-bottom: 76px; }
}
@media (prefers-reduced-motion: reduce) {
	.antro-tur-tarjeta, .antro-tur-tarjeta__img img, .antro-tur-galeria__grilla img { transition: none; }
	.antro-tur-tarjeta:hover { transform: none; }
}
