/* =========================================================
   Tours y Viajes WhatsApp Catálogo — Estilo visual "Aurora"
   Luminoso, claro y con movimiento. Se carga después de public.css
   y solo cuando Aurora es el estilo activo (ver enqueue_aurora_assets()).

   Todo usa las variables --tyv-* del estilo (fondo, superficie, texto,
   acentos), así que "Personalizar colores" en Ajustes sigue funcionando.
   Las animaciones respetan "reducir movimiento" del sistema (ver el
   final del archivo).
   ========================================================= */

/* ---------- 0. Variables propias del estilo ---------- */
[data-tyv-theme="aurora"],
body.tyv-theme-aurora {
	--au-ease: cubic-bezier(0.22, 0.8, 0.24, 1);
	--au-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
	--au-line: color-mix(in srgb, var(--tyv-text) 9%, transparent);
	--au-line-strong: color-mix(in srgb, var(--tyv-text) 17%, transparent);
	--au-tint: color-mix(in srgb, var(--tyv-accent) 8%, var(--tyv-surface));
	--au-tint-strong: color-mix(in srgb, var(--tyv-accent) 15%, var(--tyv-surface));
	--au-glow: color-mix(in srgb, var(--tyv-accent) 42%, transparent);
	--au-grad: linear-gradient(135deg, color-mix(in srgb, var(--tyv-accent) 84%, #000), var(--tyv-accent));
	--au-love: #f43f5e;
	--au-shadow-sm: 0 1px 2px color-mix(in srgb, var(--tyv-text) 6%, transparent), 0 8px 20px -10px color-mix(in srgb, var(--tyv-accent) 26%, transparent);
	--au-shadow-md: 0 2px 4px color-mix(in srgb, var(--tyv-text) 5%, transparent), 0 16px 36px -16px color-mix(in srgb, var(--tyv-accent) 34%, transparent);
	--au-shadow-lg: 0 3px 6px color-mix(in srgb, var(--tyv-text) 6%, transparent), 0 28px 50px -18px color-mix(in srgb, var(--tyv-accent) 46%, transparent);
}

[data-tyv-theme="aurora"],
[data-tyv-theme="aurora"] *,
[data-tyv-theme="aurora"] *::before,
[data-tyv-theme="aurora"] *::after { box-sizing: border-box; }

[data-tyv-theme="aurora"] { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* ---------- 1. Animaciones ---------- */
@keyframes au-rise { from { opacity: 0; transform: translate3d(0, 20px, 0) scale(0.985); } to { opacity: 1; transform: none; } }
@keyframes au-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes au-zoom-in { from { opacity: 0; transform: scale(1.035); } to { opacity: 1; transform: none; } }
@keyframes au-pop { 0% { opacity: 0; transform: scale(0.55); } 60% { opacity: 1; transform: scale(1.08); } 100% { transform: scale(1); } }
@keyframes au-heart { 0% { transform: scale(1); } 28% { transform: scale(1.42); } 55% { transform: scale(0.9); } 100% { transform: scale(1); } }
@keyframes au-pulse { 0% { transform: scale(1); } 40% { transform: scale(1.03); } 100% { transform: scale(1); } }
@keyframes au-ring { 0% { opacity: 0.6; transform: scale(0.65); } 100% { opacity: 0; transform: scale(1.9); } }
@keyframes au-bump { 0% { transform: scale(1); } 40% { transform: scale(1.4); } 100% { transform: scale(1); } }
@keyframes au-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
@keyframes au-shine { from { transform: translateX(-140%) skewX(-20deg); } to { transform: translateX(340%) skewX(-20deg); } }
@keyframes au-load { from { background-position: -60% 0; } to { background-position: 160% 0; } }
@keyframes au-shake { 10%, 90% { transform: translateX(-1px); } 20%, 80% { transform: translateX(2px); } 30%, 50%, 70% { transform: translateX(-4px); } 40%, 60% { transform: translateX(4px); } }
@keyframes au-drift {
	0% { transform: translate3d(-3%, -2%, 0) rotate(0deg) scale(1); }
	50% { transform: translate3d(3%, 2%, 0) rotate(5deg) scale(1.07); }
	100% { transform: translate3d(-2%, 3%, 0) rotate(-4deg) scale(1.03); }
}
@keyframes au-lightbox-img { from { opacity: 0; transform: scale(0.94); } to { opacity: 1; transform: none; } }

/* ---------- 2. Escenario: fondo claro con un resplandor que se desplaza despacio ---------- */
.tyv-catalog[data-tyv-theme="aurora"],
.tyv-favorites-wrap[data-tyv-theme="aurora"],
.tyv-single-tour[data-tyv-theme="aurora"] {
	position: relative; isolation: isolate; border-radius: 32px;
}
.tyv-catalog[data-tyv-theme="aurora"] { padding: 40px 32px 64px; }
.tyv-favorites-wrap[data-tyv-theme="aurora"] { padding: 40px 32px 64px; }
.tyv-single-tour[data-tyv-theme="aurora"] { padding: 32px 32px 72px; }

/* overflow: clip (y no hidden) para no romper el panel de filtros pegajoso (sticky) */
@supports (overflow: clip) {
	.tyv-catalog[data-tyv-theme="aurora"],
	.tyv-favorites-wrap[data-tyv-theme="aurora"],
	.tyv-single-tour[data-tyv-theme="aurora"] { overflow: clip; }

	.tyv-catalog[data-tyv-theme="aurora"]::before,
	.tyv-favorites-wrap[data-tyv-theme="aurora"]::before,
	.tyv-single-tour[data-tyv-theme="aurora"]::before {
		content: ""; position: absolute; inset: -22%; z-index: -1; pointer-events: none;
		background:
			radial-gradient(38% 32% at 12% 9%, color-mix(in srgb, var(--tyv-accent) 20%, transparent), transparent 72%),
			radial-gradient(32% 28% at 88% 7%, color-mix(in srgb, var(--tyv-accent-2) 28%, transparent), transparent 72%),
			radial-gradient(40% 32% at 72% 93%, color-mix(in srgb, var(--tyv-accent) 14%, transparent), transparent 72%),
			radial-gradient(30% 26% at 6% 88%, color-mix(in srgb, var(--tyv-accent-2) 20%, transparent), transparent 72%);
		animation: au-drift 30s ease-in-out infinite alternate;
		will-change: transform;
	}
}

/* ---------- 3. Entrada de la página: título, barra, filtros y luego las tarjetas ---------- */
.tyv-catalog[data-tyv-theme="aurora"] .tyv-catalog-title {
	margin: 0 0 24px; font-size: clamp(30px, 4.2vw, 42px); line-height: 1.06; font-weight: 800; letter-spacing: -0.025em;
	color: var(--tyv-text); animation: au-rise 0.7s var(--au-ease) backwards;
}
.tyv-catalog[data-tyv-theme="aurora"] .tyv-catalog-toolbar { animation: au-rise 0.7s var(--au-ease) 80ms backwards; }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-filters { animation: au-rise 0.7s var(--au-ease) 160ms backwards; }

/* ---------- 4. Barra superior: búsqueda, orden y cambio de vista ---------- */
.tyv-catalog[data-tyv-theme="aurora"] .tyv-catalog-toolbar { gap: 12px; margin-bottom: 24px; }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-search { max-width: 440px; }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-search-icon {
	left: 17px; width: 18px; height: 18px; transition: color 0.25s ease, transform 0.35s var(--au-spring);
}
.tyv-catalog[data-tyv-theme="aurora"] .tyv-search:focus-within .tyv-search-icon { color: var(--tyv-accent); transform: translateY(-50%) scale(1.15); }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-search-input {
	height: 48px; padding: 0 18px 0 46px; border-radius: 999px; font-size: 15px;
	border: 1px solid var(--au-line-strong); background: var(--tyv-surface); box-shadow: var(--au-shadow-sm);
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.tyv-catalog[data-tyv-theme="aurora"] .tyv-search-input:hover { border-color: color-mix(in srgb, var(--tyv-accent) 45%, transparent); }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-search-input:focus {
	border-color: var(--tyv-accent);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--tyv-accent) 18%, transparent), var(--au-shadow-sm);
}

.tyv-catalog[data-tyv-theme="aurora"] .tyv-select-sort select {
	height: 48px; padding: 0 40px 0 20px; border-radius: 999px; background: var(--tyv-surface); box-shadow: var(--au-shadow-sm);
}

/* Cambio de vista: la "píldora" activa se desliza de un botón al otro (tamaños fijos, no deforma nada) */
.tyv-catalog[data-tyv-theme="aurora"] .tyv-view-toggle {
	position: relative; align-items: center; gap: 2px; height: 48px; padding: 3px; border-radius: 999px;
	background: var(--tyv-surface); border: 1px solid var(--au-line-strong); box-shadow: var(--au-shadow-sm);
}
.tyv-catalog[data-tyv-theme="aurora"] .tyv-view-toggle .tyv-view-btn {
	position: relative; z-index: 1; width: 40px; height: 40px; border-radius: 50%;
	transition: color 0.25s ease, background 0.25s ease, transform 0.2s var(--au-ease);
}
.tyv-catalog[data-tyv-theme="aurora"] .tyv-view-toggle .tyv-view-btn:hover { background: var(--au-tint); color: var(--tyv-accent); }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-view-toggle .tyv-view-btn:active { transform: scale(0.9); }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-view-toggle .tyv-view-btn.is-active,
.tyv-catalog[data-tyv-theme="aurora"] .tyv-view-toggle .tyv-view-btn.is-active:hover {
	background: var(--au-grad); color: var(--tyv-surface); box-shadow: 0 8px 16px -8px var(--au-glow);
}
@supports selector(:has(*)) {
	.tyv-catalog[data-tyv-theme="aurora"] .tyv-view-toggle::before {
		content: ""; position: absolute; top: 3px; left: 3px; width: 40px; height: 40px; border-radius: 50%;
		background: var(--au-grad); box-shadow: 0 8px 16px -8px var(--au-glow);
		transition: transform 0.4s var(--au-spring);
	}
	.tyv-catalog[data-tyv-theme="aurora"] .tyv-view-toggle:has(.tyv-view-btn[data-view="list"].is-active)::before { transform: translateX(42px); }
	.tyv-catalog[data-tyv-theme="aurora"] .tyv-view-toggle .tyv-view-btn.is-active,
	.tyv-catalog[data-tyv-theme="aurora"] .tyv-view-toggle .tyv-view-btn.is-active:hover { background: transparent; box-shadow: none; }
}
.tyv-catalog[data-tyv-theme="aurora"] .tyv-view-toggle .tyv-view-btn:focus-visible { outline: 2px solid var(--tyv-accent); outline-offset: 3px; }

/* ---------- 5. Panel de filtros ---------- */
.tyv-catalog[data-tyv-theme="aurora"] .tyv-filters {
	flex-basis: 280px; width: 280px; border-radius: 26px; border: 1px solid var(--au-line);
	background: color-mix(in srgb, var(--tyv-surface) 90%, transparent);
	-webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); box-shadow: var(--au-shadow-md);
}
.tyv-catalog[data-tyv-theme="aurora"] .tyv-filters-head { padding: 18px 22px; }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-filters-toggle { font-size: 19px; font-weight: 800; letter-spacing: -0.015em; }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-filters-count {
	min-width: 22px; height: 22px; line-height: 22px; background: var(--au-grad); color: var(--tyv-surface);
	box-shadow: 0 6px 12px -6px var(--au-glow);
}
.tyv-catalog[data-tyv-theme="aurora"] .tyv-filters-count.is-bump { animation: au-bump 0.45s var(--au-spring); }

/* "Limpiar" solo se activa cuando hay algo que limpiar */
.tyv-catalog[data-tyv-theme="aurora"] .tyv-clear-filters { transition: color 0.2s ease, opacity 0.3s ease; }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-filters:not(.has-active) .tyv-clear-filters { opacity: 0.35; pointer-events: none; }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-filters.has-active .tyv-clear-filters { color: var(--tyv-accent); text-decoration-color: currentColor; }

.tyv-catalog[data-tyv-theme="aurora"] .tyv-filters-body {
	gap: 20px; padding: 20px 22px 24px; border-top: 1px solid var(--au-line);
}
.tyv-catalog[data-tyv-theme="aurora"] .tyv-filter-group h4 { margin-bottom: 9px; font-size: 13px; font-weight: 700; }

.tyv-catalog[data-tyv-theme="aurora"] .tyv-select::after {
	right: 17px; border-color: var(--tyv-text-2); transition: transform 0.3s var(--au-ease), border-color 0.25s ease;
}
.tyv-catalog[data-tyv-theme="aurora"] .tyv-select:focus-within::after {
	border-color: var(--tyv-accent); transform: translateY(-25%) rotate(225deg);
}
.tyv-catalog[data-tyv-theme="aurora"] .tyv-select select,
.tyv-catalog[data-tyv-theme="aurora"] .tyv-filters input[type="number"] {
	height: 46px; border-radius: 15px; font-weight: 500;
	border: 1px solid var(--au-line-strong); background: var(--tyv-surface);
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.tyv-catalog[data-tyv-theme="aurora"] .tyv-select select:hover,
.tyv-catalog[data-tyv-theme="aurora"] .tyv-filters input[type="number"]:hover { border-color: color-mix(in srgb, var(--tyv-accent) 45%, transparent); }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-select select:focus,
.tyv-catalog[data-tyv-theme="aurora"] .tyv-filters input[type="number"]:focus {
	border-color: var(--tyv-accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--tyv-accent) 18%, transparent);
}
.tyv-catalog[data-tyv-theme="aurora"] .tyv-price-sep { background: var(--au-line-strong); }

/* Fecha de salida: mismo pill redondeado que el select y el precio */
.tyv-catalog[data-tyv-theme="aurora"] .tyv-date .tyv-filter-fecha {
	height: 46px; border-radius: 15px; font-weight: 500;
	border: 1px solid var(--au-line-strong); background: var(--tyv-surface);
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.tyv-catalog[data-tyv-theme="aurora"] .tyv-date .tyv-filter-fecha:hover { border-color: color-mix(in srgb, var(--tyv-accent) 45%, transparent); }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-date .tyv-filter-fecha:focus {
	border-color: var(--tyv-accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--tyv-accent) 18%, transparent);
}
@supports selector(::-webkit-calendar-picker-indicator) {
	.tyv-catalog[data-tyv-theme="aurora"] .tyv-date::after { right: 16px; transition: background-color 0.25s ease; }
}

/* Actividades: al marcar una, la casilla se rellena y aparece una palomita */
.tyv-catalog[data-tyv-theme="aurora"] .tyv-filter-actividades { gap: 8px; padding: 3px; margin: -3px; scrollbar-width: thin; scrollbar-color: var(--au-line-strong) transparent; }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-chip span {
	height: 36px; padding: 0 14px; font-weight: 500; font-size: 13px;
	border: 1px solid var(--au-line-strong); background: var(--tyv-surface);
	transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s var(--au-spring), box-shadow 0.25s ease;
}
.tyv-catalog[data-tyv-theme="aurora"] .tyv-chip span::before {
	content: ""; flex: 0 0 auto; width: 0; height: 12px; margin-right: 0; opacity: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 12px 12px no-repeat;
	transition: width 0.25s var(--au-ease), margin 0.25s var(--au-ease), opacity 0.2s ease;
}
.tyv-catalog[data-tyv-theme="aurora"] .tyv-chip:hover span { border-color: color-mix(in srgb, var(--tyv-accent) 55%, transparent); transform: translateY(-1px); }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-chip:active span { transform: scale(0.95); }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-chip input:checked + span {
	background: var(--au-grad); border-color: transparent; color: var(--tyv-surface); font-weight: 600;
	box-shadow: 0 8px 14px -8px var(--au-glow);
}
.tyv-catalog[data-tyv-theme="aurora"] .tyv-chip input:checked + span::before { width: 12px; margin-right: 6px; opacity: 1; }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-chip input:focus-visible + span { outline: 2px solid var(--tyv-accent); outline-offset: 2px; }

/* ---------- 6. Contador de resultados + filtros activos (los crea theme-aurora.js) ---------- */
.tyv-catalog[data-tyv-theme="aurora"] .tyv-tours-wrap { position: relative; }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-results-bar {
	display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; min-height: 38px; margin: 0 0 20px;
	animation: au-fade 0.7s ease 0.3s backwards;
}
.tyv-catalog[data-tyv-theme="aurora"] .tyv-results-count { display: inline-flex; align-items: baseline; gap: 7px; margin: 0; font-size: 15px; color: var(--tyv-text-2); }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-results-num {
	min-width: 1ch; font-family: var(--tyv-font-display); font-size: 28px; font-weight: 800; line-height: 1;
	letter-spacing: -0.025em; color: var(--tyv-text); font-variant-numeric: tabular-nums;
}
.tyv-catalog[data-tyv-theme="aurora"] .tyv-active-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-pill {
	display: inline-flex; align-items: center; gap: 7px; height: 34px; min-width: 0; min-height: 0; margin: 0; padding: 0 10px 0 14px;
	border: 0; border-radius: 999px; box-shadow: none; background: var(--au-tint-strong); color: var(--tyv-accent);
	font-family: var(--tyv-font-body); font-size: 13px; font-weight: 700; line-height: 1; letter-spacing: 0; text-transform: none; cursor: pointer;
	transition: background 0.25s ease, color 0.25s ease, transform 0.25s var(--au-spring);
}
.tyv-catalog[data-tyv-theme="aurora"] .tyv-pill.is-new { animation: au-pop 0.45s var(--au-spring) backwards; }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-pill svg { width: 14px; height: 14px; flex: 0 0 auto; transition: transform 0.3s var(--au-spring); }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-pill:hover { background: var(--tyv-accent); color: var(--tyv-surface); transform: translateY(-1px); }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-pill:hover svg { transform: rotate(90deg); }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-pill:active { transform: scale(0.94); }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-pill:focus-visible,
.tyv-catalog[data-tyv-theme="aurora"] .tyv-pill-clear:focus-visible,
.tyv-catalog[data-tyv-theme="aurora"] .tyv-empty-reset:focus-visible { outline: 2px solid var(--tyv-accent); outline-offset: 2px; }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-pill-text { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-pill-clear {
	min-width: 0; min-height: 0; margin: 0; padding: 6px 4px; border: 0; border-radius: 6px; box-shadow: none; background: none;
	color: var(--tyv-text-2); font-family: var(--tyv-font-body); font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: none;
	text-decoration: underline; text-underline-offset: 3px; cursor: pointer; transition: color 0.2s ease;
}
.tyv-catalog[data-tyv-theme="aurora"] .tyv-pill-clear:hover { background: none; color: var(--tyv-accent); }

/* Mientras llegan los resultados: barra de progreso y tarjetas atenuadas */
.tyv-catalog[data-tyv-theme="aurora"] .tyv-tours-wrap::before {
	content: ""; position: absolute; top: -10px; left: 0; right: 0; height: 3px; border-radius: 99px; pointer-events: none;
	background: linear-gradient(90deg, transparent, var(--tyv-accent), var(--tyv-accent-2), transparent) 0 0 / 40% 100% no-repeat;
	opacity: 0; transition: opacity 0.2s ease;
}
.tyv-catalog[data-tyv-theme="aurora"] .tyv-tours-wrap.is-loading::before { opacity: 1; animation: au-load 1.1s ease-in-out infinite; }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-tours-grid { transition: opacity 0.25s ease; }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-tours-wrap.is-loading .tyv-tours-grid { opacity: 0.4; pointer-events: none; }

/* Sin resultados */
[data-tyv-theme="aurora"] .tyv-no-results {
	padding: 60px 20px; border: 1.5px dashed var(--au-line-strong); border-radius: 28px; font-size: 16px; line-height: 1.5;
	background: color-mix(in srgb, var(--tyv-surface) 70%, transparent); animation: au-rise 0.5s var(--au-ease) backwards;
}
[data-tyv-theme="aurora"] .tyv-no-results::before { content: "🌴"; display: block; margin-bottom: 12px; font-size: 54px; line-height: 1; animation: au-float 3.4s ease-in-out infinite; }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-empty-reset {
	display: block; min-width: 0; min-height: 0; margin: 18px auto 0; padding: 12px 22px; border: 0; border-radius: 999px;
	background: var(--au-grad); color: var(--tyv-surface); box-shadow: 0 10px 20px -10px var(--au-glow);
	font-family: var(--tyv-font-body); font-size: 14px; font-weight: 700; letter-spacing: 0; text-transform: none; cursor: pointer;
	transition: transform 0.25s var(--au-spring), box-shadow 0.25s ease;
}
.tyv-catalog[data-tyv-theme="aurora"] .tyv-empty-reset:hover { transform: translateY(-2px); }
.tyv-catalog[data-tyv-theme="aurora"] .tyv-empty-reset:active { transform: scale(0.96); }

.tyv-sr-only {
	position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden;
	clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* ---------- 7. Tarjetas de tour ---------- */
[data-tyv-theme="aurora"] .tyv-tours-grid { gap: 24px; }
[data-tyv-theme="aurora"] .tyv-tour-card {
	padding: 10px; border-radius: calc(var(--tyv-radius) + 8px);
	background: var(--tyv-surface); border: 1px solid var(--au-line); box-shadow: var(--au-shadow-sm);
	transition: transform 0.5s var(--au-ease), box-shadow 0.5s var(--au-ease), border-color 0.4s ease;
	animation: au-rise 0.65s var(--au-ease) backwards; animation-delay: calc(200ms + var(--au-i, 0) * 60ms);
}
/* Las tarjetas entran en cascada. Después de la primera carga (o al filtrar) entran sin espera inicial. */
[data-tyv-theme="aurora"] .tyv-tours-grid > .tyv-tour-card:nth-child(2) { --au-i: 1; }
[data-tyv-theme="aurora"] .tyv-tours-grid > .tyv-tour-card:nth-child(3) { --au-i: 2; }
[data-tyv-theme="aurora"] .tyv-tours-grid > .tyv-tour-card:nth-child(4) { --au-i: 3; }
[data-tyv-theme="aurora"] .tyv-tours-grid > .tyv-tour-card:nth-child(5) { --au-i: 4; }
[data-tyv-theme="aurora"] .tyv-tours-grid > .tyv-tour-card:nth-child(6) { --au-i: 5; }
[data-tyv-theme="aurora"] .tyv-tours-grid > .tyv-tour-card:nth-child(7) { --au-i: 6; }
[data-tyv-theme="aurora"] .tyv-tours-grid > .tyv-tour-card:nth-child(8) { --au-i: 7; }
[data-tyv-theme="aurora"] .tyv-tours-grid > .tyv-tour-card:nth-child(9) { --au-i: 8; }
[data-tyv-theme="aurora"] .tyv-tours-grid > .tyv-tour-card:nth-child(10) { --au-i: 9; }
[data-tyv-theme="aurora"] .tyv-tours-grid > .tyv-tour-card:nth-child(11) { --au-i: 10; }
[data-tyv-theme="aurora"] .tyv-tours-grid > .tyv-tour-card:nth-child(12) { --au-i: 11; }
[data-tyv-theme="aurora"] .tyv-tours-grid > .tyv-tour-card:nth-child(n + 13) { --au-i: 12; }
.tyv-catalog[data-tyv-theme="aurora"].is-ready .tyv-tour-card { animation-delay: calc(var(--au-i, 0) * 45ms); }

@media (hover: hover) {
	[data-tyv-theme="aurora"] .tyv-tour-card:hover {
		transform: translateY(-7px); box-shadow: var(--au-shadow-lg);
		border-color: color-mix(in srgb, var(--tyv-accent) 28%, transparent);
	}
}

[data-tyv-theme="aurora"] .tyv-tour-card-media { border-radius: calc(var(--tyv-radius) - 2px); background: var(--au-tint); }
/* Velo suave arriba de la foto para que las etiquetas se lean sobre cualquier imagen */
[data-tyv-theme="aurora"] .tyv-tour-card-media::after {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: linear-gradient(to bottom, color-mix(in srgb, var(--tyv-text) 22%, transparent), transparent 42%);
}
[data-tyv-theme="aurora"] .tyv-tour-image,
[data-tyv-theme="aurora"] .tyv-no-image { transition: transform 0.9s var(--au-ease); }
@media (hover: hover) {
	[data-tyv-theme="aurora"] .tyv-tour-card:hover .tyv-tour-image { transform: scale(1.07); }
}
[data-tyv-theme="aurora"] .tyv-no-image {
	background: linear-gradient(135deg, var(--au-tint-strong), color-mix(in srgb, var(--tyv-accent-2) 22%, var(--tyv-surface)));
	display: flex; align-items: center; justify-content: center;
}
[data-tyv-theme="aurora"] .tyv-no-image::after { content: "🌴"; font-size: 40px; opacity: 0.6; }

/* Etiquetas: modalidad, oferta, cupos y estado */
[data-tyv-theme="aurora"] .tyv-badges { top: 12px; left: 12px; right: 58px; flex-direction: row; flex-wrap: wrap; gap: 6px; }
[data-tyv-theme="aurora"] .tyv-badge {
	display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px 5px 9px; border-radius: 999px;
	background: color-mix(in srgb, var(--tyv-surface) 90%, transparent); color: var(--tyv-text);
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	box-shadow: 0 4px 12px -4px color-mix(in srgb, var(--tyv-text) 40%, transparent);
	font-size: 12px; font-weight: 700; line-height: 1.3; letter-spacing: 0; text-transform: none;
}
[data-tyv-theme="aurora"] .tyv-badge::before {
	content: ""; flex: 0 0 auto; width: 7px; height: 7px; border-radius: 50%;
	background: var(--tyv-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--tyv-accent) 22%, transparent);
}
[data-tyv-theme="aurora"] .tyv-badge-estado { background: color-mix(in srgb, var(--tyv-surface) 90%, transparent); color: var(--tyv-text); }
[data-tyv-theme="aurora"] .tyv-badge-estado::before { background: #94a3b8; box-shadow: 0 0 0 3px rgba(148, 163, 184, 0.28); }
[data-tyv-theme="aurora"] .tyv-estado-disponible::before { background: #10b981; box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.25); }
[data-tyv-theme="aurora"] .tyv-estado-consulta { background: #fff1d6; color: #7a4d00; }
[data-tyv-theme="aurora"] .tyv-estado-consulta::before { background: var(--tyv-accent-2); box-shadow: 0 0 0 3px rgba(255, 178, 56, 0.35); }
[data-tyv-theme="aurora"] .tyv-estado-agotado,
[data-tyv-theme="aurora"] .tyv-estado-proximamente { background: #ffe4e8; color: #a3223b; }
[data-tyv-theme="aurora"] .tyv-estado-agotado::before,
[data-tyv-theme="aurora"] .tyv-estado-proximamente::before { background: #f43f5e; box-shadow: 0 0 0 3px rgba(244, 63, 94, 0.25); }

/* Corazón de favoritos */
[data-tyv-theme="aurora"] .tyv-tour-card .tyv-wishlist-btn {
	top: 12px; right: 12px; width: 38px; height: 38px; font-size: 18px; overflow: visible;
	background: color-mix(in srgb, var(--tyv-surface) 90%, transparent); color: var(--tyv-text);
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	box-shadow: 0 4px 12px -4px color-mix(in srgb, var(--tyv-text) 40%, transparent);
	transition: transform 0.3s var(--au-spring), color 0.2s ease, background 0.2s ease;
}
[data-tyv-theme="aurora"] .tyv-tour-card .tyv-wishlist-btn:hover { background: var(--tyv-surface); color: var(--au-love); transform: scale(1.12); }
[data-tyv-theme="aurora"] .tyv-tour-card .tyv-wishlist-btn:active { transform: scale(0.9); }
[data-tyv-theme="aurora"] .tyv-wishlist-btn.is-fav { color: var(--au-love); }
[data-tyv-theme="aurora"] .tyv-wishlist-btn:focus-visible { outline: 2px solid var(--tyv-accent); outline-offset: 2px; }
[data-tyv-theme="aurora"] .tyv-tour-card .tyv-wishlist-btn.is-popping { animation: au-heart 0.55s var(--au-ease); }
[data-tyv-theme="aurora"] .tyv-tour-card .tyv-wishlist-btn.is-popping::after {
	content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--au-love); pointer-events: none;
	animation: au-ring 0.65s var(--au-ease) forwards;
}

/* Cuerpo de la tarjeta */
[data-tyv-theme="aurora"] .tyv-tour-card-body { gap: 8px; padding: 16px 8px 6px; }
[data-tyv-theme="aurora"] .tyv-tour-title {
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
	font-size: 17px; font-weight: 700; line-height: 1.3; letter-spacing: -0.012em; text-decoration: none;
	transition: color 0.25s ease;
}
[data-tyv-theme="aurora"] .tyv-tour-title:hover { color: var(--tyv-accent); text-decoration: none; }
[data-tyv-theme="aurora"] .tyv-tour-destino { font-size: 13.5px; }
[data-tyv-theme="aurora"] .tyv-tour-price {
	margin: 0; font-family: var(--tyv-font-display); font-size: 23px; font-weight: 800; line-height: 1.15;
	letter-spacing: -0.025em; color: var(--tyv-accent);
}
[data-tyv-theme="aurora"] .tyv-tour-ficha { gap: 6px; margin: 2px 0 4px; }
[data-tyv-theme="aurora"] .tyv-tour-ficha > span {
	padding: 6px 11px; border-radius: 999px; background: var(--au-tint); color: var(--tyv-text);
	font-size: 12.5px; font-weight: 600; line-height: 1.2;
}
[data-tyv-theme="aurora"] .tyv-tours-grid.tyv-view-list .tyv-tour-ficha > span {
	padding: 7px 13px; background: var(--au-tint); color: var(--tyv-text); font-size: 13px;
}
[data-tyv-theme="aurora"] .tyv-tour-guia { margin: 0 0 4px; font-size: 12.5px; }
[data-tyv-theme="aurora"] .tyv-tour-guia-avatar { width: 22px; height: 22px; box-shadow: 0 0 0 2px var(--tyv-surface), 0 0 0 3px var(--au-line-strong); }

/* Vista grande (segundo botón): mismo espíritu, más aire */
[data-tyv-theme="aurora"] .tyv-tours-grid.tyv-view-list { gap: 28px; }
[data-tyv-theme="aurora"] .tyv-tours-grid.tyv-view-list .tyv-tour-card-body { padding: 18px 14px 12px; }
[data-tyv-theme="aurora"] .tyv-tours-grid.tyv-view-list .tyv-tour-price { font-size: 26px; }
[data-tyv-theme="aurora"] .tyv-tours-grid.tyv-view-list .tyv-tour-title { font-size: 22px; -webkit-line-clamp: 3; }

/* ---------- 8. Botones ---------- */
[data-tyv-theme="aurora"] .tyv-btn {
	position: relative; overflow: hidden; isolation: isolate; border-radius: 999px;
	background: var(--au-grad); color: var(--tyv-surface); font-weight: 700; letter-spacing: 0; text-decoration: none;
	box-shadow: 0 12px 24px -12px var(--au-glow);
	transition: transform 0.3s var(--au-ease), box-shadow 0.3s var(--au-ease), color 0.3s ease;
}
[data-tyv-theme="aurora"] .tyv-btn,
[data-tyv-theme="aurora"] .tyv-wishlist-btn-inline { font-family: var(--tyv-font-body); letter-spacing: 0; text-transform: none; }
[data-tyv-theme="aurora"] .tyv-btn:hover { opacity: 1; color: var(--tyv-surface); transform: translateY(-2px); box-shadow: 0 16px 28px -12px var(--au-glow); }
[data-tyv-theme="aurora"] .tyv-btn:active { transform: scale(0.97); }
[data-tyv-theme="aurora"] .tyv-btn:focus-visible { outline: 2px solid var(--tyv-accent); outline-offset: 3px; }
/* Brillo que cruza el botón al pasar el cursor */
[data-tyv-theme="aurora"] .tyv-btn::after {
	content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 42%; pointer-events: none;
	background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.42), transparent);
	transform: translateX(-140%) skewX(-20deg);
}
[data-tyv-theme="aurora"] .tyv-btn:hover::after { animation: au-shine 0.95s var(--au-ease); }

/* "Ver detalle" en la tarjeta: discreto hasta que se toca la tarjeta, entonces se enciende */
[data-tyv-theme="aurora"] .tyv-tour-card .tyv-btn {
	padding: 12px 20px; background: var(--au-tint-strong); color: var(--tyv-accent); box-shadow: none;
}
[data-tyv-theme="aurora"] .tyv-tour-card .tyv-btn::before {
	content: ""; position: absolute; inset: 0; z-index: -1; background: var(--au-grad); opacity: 0; transition: opacity 0.35s ease;
}
@media (hover: hover) {
	[data-tyv-theme="aurora"] .tyv-tour-card:hover .tyv-btn { color: var(--tyv-surface); box-shadow: 0 12px 22px -12px var(--au-glow); }
	[data-tyv-theme="aurora"] .tyv-tour-card:hover .tyv-btn::before { opacity: 1; }
}
[data-tyv-theme="aurora"] .tyv-tour-card .tyv-btn:hover { color: var(--tyv-surface); }
[data-tyv-theme="aurora"] .tyv-tour-card .tyv-btn:hover::before,
[data-tyv-theme="aurora"] .tyv-tour-card .tyv-btn:focus-visible::before { opacity: 1; }
[data-tyv-theme="aurora"] .tyv-tour-card .tyv-btn:focus-visible { color: var(--tyv-surface); }

/* WhatsApp: verde profundo (el #25D366 clásico no da contraste suficiente con letra blanca) */
[data-tyv-theme="aurora"] .tyv-btn-whatsapp,
[data-tyv-theme="aurora"] .tyv-btn-whatsapp:hover {
	background: linear-gradient(135deg, #08733d, #0c8a4b); color: #fff; box-shadow: 0 14px 26px -12px rgba(8, 115, 61, 0.65);
}
[data-tyv-theme="aurora"] .tyv-btn-whatsapp:hover { transform: translateY(-2px); box-shadow: 0 18px 30px -12px rgba(8, 115, 61, 0.75); }
[data-tyv-theme="aurora"] .tyv-btn-large { padding: 15px 24px; font-size: 16px; }

/* ---------- 9. Paginación ---------- */
[data-tyv-theme="aurora"] .tyv-pagination { gap: 8px; margin: 32px 0 6px; }
[data-tyv-theme="aurora"] .tyv-page-btn {
	min-width: 42px; height: 42px; margin: 0; padding: 0 12px; border-radius: 999px; line-height: 1; letter-spacing: 0; text-transform: none;
	border: 1px solid var(--au-line-strong); background: var(--tyv-surface); color: var(--tyv-text); box-shadow: var(--au-shadow-sm);
	transition: transform 0.25s var(--au-spring), background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}
[data-tyv-theme="aurora"] .tyv-page-btn:hover:not(:disabled) { background: var(--au-tint-strong); color: var(--tyv-accent); transform: translateY(-2px); }
[data-tyv-theme="aurora"] .tyv-page-btn:active:not(:disabled) { transform: scale(0.92); }
[data-tyv-theme="aurora"] .tyv-page-btn.is-active,
[data-tyv-theme="aurora"] .tyv-page-btn.is-active:hover { background: var(--au-grad); border-color: transparent; color: var(--tyv-surface); box-shadow: 0 10px 18px -8px var(--au-glow); }
[data-tyv-theme="aurora"] .tyv-page-btn:focus-visible { outline: 2px solid var(--tyv-accent); outline-offset: 2px; }

/* ---------- 10. Ficha del tour ---------- */
[data-tyv-theme="aurora"] .tyv-single-grid { align-items: start; gap: 36px; }
[data-tyv-theme="aurora"] .tyv-single-media { min-width: 0; animation: au-rise 0.7s var(--au-ease) backwards; }
[data-tyv-theme="aurora"] .tyv-single-info {
	min-width: 0; padding: 30px; border-radius: 30px; background: var(--tyv-surface);
	border: 1px solid var(--au-line); box-shadow: var(--au-shadow-md);
	animation: au-rise 0.7s var(--au-ease) 140ms backwards;
}
@media (min-width: 901px) {
	[data-tyv-theme="aurora"] .tyv-single-info { position: sticky; top: 24px; }
}

[data-tyv-theme="aurora"] .tyv-breadcrumbs { margin-bottom: 22px; font-size: 13.5px; }
[data-tyv-theme="aurora"] .tyv-breadcrumbs a { transition: color 0.2s ease; }
[data-tyv-theme="aurora"] .tyv-breadcrumbs a:hover { color: var(--tyv-accent); text-decoration: none; }

/* En la ficha las etiquetas van en línea (no sobre la foto) */
[data-tyv-theme="aurora"] .tyv-single-info .tyv-badges { position: static; top: auto; left: auto; right: auto; margin-bottom: 4px; }
[data-tyv-theme="aurora"] .tyv-single-info .tyv-badge { background: var(--au-tint); box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
[data-tyv-theme="aurora"] .tyv-single-info .tyv-estado-consulta { background: #fff1d6; }
[data-tyv-theme="aurora"] .tyv-single-info .tyv-estado-agotado,
[data-tyv-theme="aurora"] .tyv-single-info .tyv-estado-proximamente { background: #ffe4e8; }

[data-tyv-theme="aurora"] .tyv-single-title { margin: 12px 0 8px; font-size: clamp(26px, 3.2vw, 36px); font-weight: 800; line-height: 1.12; letter-spacing: -0.025em; }
[data-tyv-theme="aurora"] .tyv-single-destino { margin-bottom: 10px; font-size: 15px; }
[data-tyv-theme="aurora"] .tyv-single-price {
	margin: 8px 0 22px; font-family: var(--tyv-font-display); font-size: clamp(30px, 3.6vw, 40px); font-weight: 800; letter-spacing: -0.03em; line-height: 1.05;
}

/* Ficha técnica */
[data-tyv-theme="aurora"] .tyv-ficha-tecnica { gap: 10px; margin-bottom: 24px; }
[data-tyv-theme="aurora"] .tyv-ficha-item {
	min-width: 100px; padding: 14px 16px; gap: 3px; border-radius: 20px; background: var(--au-tint); border: 1px solid var(--au-line);
	transition: transform 0.35s var(--au-spring), box-shadow 0.35s ease, background 0.25s ease;
}
[data-tyv-theme="aurora"] .tyv-ficha-item .tyv-icon { font-size: 22px; margin-bottom: 4px; }
[data-tyv-theme="aurora"] .tyv-ficha-item strong { font-family: var(--tyv-font-display); font-size: 20px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.1; }
[data-tyv-theme="aurora"] .tyv-ficha-item span:last-child { font-size: 12.5px; font-weight: 500; }
@media (hover: hover) {
	[data-tyv-theme="aurora"] .tyv-ficha-item:hover { transform: translateY(-4px); background: var(--tyv-surface); box-shadow: var(--au-shadow-sm); }
}

/* Botón principal de la ficha (lo crea theme-aurora.js) */
[data-tyv-theme="aurora"] .tyv-aurora-cta { margin: 0 0 12px; }
[data-tyv-theme="aurora"] .tyv-aurora-cta svg,
[data-tyv-theme="aurora"] .tyv-cta-bar-btn svg { flex: 0 0 auto; width: 20px; height: 20px; }

/* Favorito (botón ancho de la ficha) */
[data-tyv-theme="aurora"] .tyv-wishlist-btn-inline {
	padding: 13px; border-radius: 999px; border: 1px solid var(--au-line-strong); background: transparent;
	transition: border-color 0.25s ease, background 0.25s ease, color 0.25s ease, transform 0.25s var(--au-spring);
}
[data-tyv-theme="aurora"] .tyv-wishlist-btn-inline:hover { border-color: var(--au-love); background: color-mix(in srgb, var(--au-love) 8%, transparent); color: var(--au-love); }
[data-tyv-theme="aurora"] .tyv-wishlist-btn-inline:active { transform: scale(0.97); }
[data-tyv-theme="aurora"] .tyv-wishlist-btn-inline.is-fav { border-color: var(--au-love); background: color-mix(in srgb, var(--au-love) 10%, transparent); color: var(--au-love); }
[data-tyv-theme="aurora"] .tyv-wishlist-btn-inline.is-popping { animation: au-pulse 0.45s var(--au-ease); }

[data-tyv-theme="aurora"] .tyv-direccion { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--au-line); font-size: 13.5px; }

/* Tarjeta del guía o asesor */
[data-tyv-theme="aurora"] .tyv-guide-card {
	gap: 14px; padding: 14px 16px; border-radius: 20px; border: 1px solid var(--au-line); background: var(--au-tint);
	transition: transform 0.3s var(--au-ease), box-shadow 0.3s ease;
}
@media (hover: hover) {
	[data-tyv-theme="aurora"] .tyv-guide-card:hover { transform: translateY(-2px); box-shadow: var(--au-shadow-sm); }
}
[data-tyv-theme="aurora"] .tyv-guide-avatar { width: 52px; height: 52px; box-shadow: 0 0 0 3px var(--tyv-surface), 0 0 0 5px color-mix(in srgb, var(--tyv-accent) 38%, transparent); }
[data-tyv-theme="aurora"] .tyv-guide-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--tyv-accent); }
[data-tyv-theme="aurora"] .tyv-guide-name { font-size: 16px; }

/* Galería */
[data-tyv-theme="aurora"] .tyv-gallery { gap: 12px; }
[data-tyv-theme="aurora"] .tyv-gallery-item {
	position: relative; overflow: hidden; border-radius: 16px; border-color: transparent;
	transition: transform 0.4s var(--au-ease), box-shadow 0.3s ease;
	animation: au-fade 0.7s ease 0.25s backwards;
}
[data-tyv-theme="aurora"] .tyv-gallery-item:first-child { border-radius: 28px; box-shadow: var(--au-shadow-lg); animation: au-zoom-in 0.9s var(--au-ease) backwards; }
[data-tyv-theme="aurora"] .tyv-gallery-item img { transition: transform 0.8s var(--au-ease); }
[data-tyv-theme="aurora"] .tyv-gallery-item:hover { border-color: transparent; transform: translateY(-3px); }
[data-tyv-theme="aurora"] .tyv-gallery-item:first-child:hover { transform: none; }
[data-tyv-theme="aurora"] .tyv-gallery-item:hover img { transform: scale(1.06); }
[data-tyv-theme="aurora"] .tyv-gallery-item.is-active:not(:first-child) { box-shadow: 0 0 0 3px var(--tyv-surface), 0 0 0 5px var(--tyv-accent); }
[data-tyv-theme="aurora"] .tyv-gallery-item:focus-visible { outline: 3px solid var(--tyv-accent); outline-offset: 3px; }
/* Lupa que avisa que la foto grande se puede ampliar */
[data-tyv-theme="aurora"] .tyv-gallery-item:first-child::after {
	content: ""; position: absolute; right: 16px; bottom: 16px; width: 44px; height: 44px; border-radius: 50%;
	background: color-mix(in srgb, var(--tyv-surface) 92%, transparent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322254a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='m20 20-4.2-4.2M11 8.5v5M8.5 11h5'/%3E%3C/svg%3E") center / 22px 22px no-repeat;
	box-shadow: 0 8px 18px -6px color-mix(in srgb, var(--tyv-text) 45%, transparent);
	opacity: 0; transform: scale(0.8); transition: opacity 0.3s ease, transform 0.4s var(--au-spring); pointer-events: none;
}
[data-tyv-theme="aurora"] .tyv-gallery-item:first-child:hover::after,
[data-tyv-theme="aurora"] .tyv-gallery-item:first-child:focus-visible::after { opacity: 1; transform: none; }
@media (hover: none) {
	[data-tyv-theme="aurora"] .tyv-gallery-item:first-child::after { opacity: 1; transform: none; }
}
[data-tyv-theme="aurora"] .tyv-gallery-empty { border-radius: 28px; background: var(--au-tint); border: 1.5px dashed var(--au-line-strong); }
[data-tyv-theme="aurora"] .tyv-video-wrap { margin-top: 16px; border-radius: 24px; box-shadow: var(--au-shadow-md); }
[data-tyv-theme="aurora"] .tyv-video-link { color: var(--tyv-accent); }

/* Descripción, itinerario, especificaciones, mapa y formulario */
[data-tyv-theme="aurora"] .tyv-single-tabs {
	margin-bottom: 44px; padding: 36px; border-top: 0; border-radius: 30px; background: var(--tyv-surface);
	border: 1px solid var(--au-line); box-shadow: var(--au-shadow-sm);
}
[data-tyv-theme="aurora"] .tyv-single-tabs h2,
[data-tyv-theme="aurora"] .tyv-related-tours h2 { margin: 0 0 16px; font-size: 24px; font-weight: 800; letter-spacing: -0.02em; }
[data-tyv-theme="aurora"] .tyv-single-tabs h2:not(:first-child) { margin-top: 44px; }
[data-tyv-theme="aurora"] .tyv-description { line-height: 1.75; font-size: 16px; max-width: 72ch; }
[data-tyv-theme="aurora"] .tyv-specs-table { border-collapse: separate; border-spacing: 0; border-radius: 20px; border: 1px solid var(--au-line); background: transparent; }
[data-tyv-theme="aurora"] .tyv-specs-table tr:nth-child(odd) { background: var(--au-tint); }
[data-tyv-theme="aurora"] .tyv-specs-table th,
[data-tyv-theme="aurora"] .tyv-specs-table td { padding: 13px 18px; }
[data-tyv-theme="aurora"] .tyv-check-list { gap: 10px; }
[data-tyv-theme="aurora"] .tyv-check-list li {
	padding: 11px 14px; border-radius: 16px; background: var(--au-tint); font-weight: 500;
	transition: transform 0.3s var(--au-spring), background 0.25s ease;
}
@media (hover: hover) {
	[data-tyv-theme="aurora"] .tyv-check-list li:hover { transform: translateX(4px); background: var(--au-tint-strong); }
}
[data-tyv-theme="aurora"] .tyv-map-embed { border-radius: 24px; box-shadow: var(--au-shadow-md); }
[data-tyv-theme="aurora"] .tyv-related-tours { margin-top: 56px; }

/* ---------- 11. Formulario de contacto ---------- */
[data-tyv-theme="aurora"] .tyv-contact-form-wrap {
	max-width: 700px; padding: 30px; border-radius: 28px; background: var(--tyv-surface);
	border: 1px solid var(--au-line); box-shadow: var(--au-shadow-md);
}
[data-tyv-theme="aurora"] .tyv-single-tabs .tyv-contact-form-wrap { max-width: none; background: var(--au-tint); box-shadow: none; }
[data-tyv-theme="aurora"] .tyv-contact-form { gap: 18px; }
[data-tyv-theme="aurora"] .tyv-form-tour-ref { margin-bottom: 4px; font-size: 14px; }
[data-tyv-theme="aurora"] .tyv-contact-form label { font-size: 13.5px; font-weight: 700; }
[data-tyv-theme="aurora"] .tyv-required { color: #e5484d; }
[data-tyv-theme="aurora"] .tyv-contact-form input,
[data-tyv-theme="aurora"] .tyv-contact-form select {
	height: 50px; padding: 0 16px; border-radius: 16px; font-size: 15px;
	border: 1px solid var(--au-line-strong); background: var(--tyv-surface);
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
[data-tyv-theme="aurora"] .tyv-contact-form textarea {
	min-height: 104px; padding: 14px 16px; border-radius: 18px; font-size: 15px; line-height: 1.5;
	border: 1px solid var(--au-line-strong); background: var(--tyv-surface);
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
[data-tyv-theme="aurora"] .tyv-contact-form input:hover,
[data-tyv-theme="aurora"] .tyv-contact-form select:hover,
[data-tyv-theme="aurora"] .tyv-contact-form textarea:hover { border-color: color-mix(in srgb, var(--tyv-accent) 45%, transparent); }
[data-tyv-theme="aurora"] .tyv-contact-form input:focus,
[data-tyv-theme="aurora"] .tyv-contact-form select:focus,
[data-tyv-theme="aurora"] .tyv-contact-form textarea:focus {
	border-color: var(--tyv-accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--tyv-accent) 18%, transparent);
}
[data-tyv-theme="aurora"] .tyv-form-note { font-size: 12.5px; }
[data-tyv-theme="aurora"] .tyv-form-error {
	padding: 14px 16px; border-radius: 16px; background: #ffe4e8; color: #a3223b;
	animation: au-shake 0.6s ease 0.1s both;
}

/* Solicitud enviada */
[data-tyv-theme="aurora"] .tyv-form-success { padding: 10px 0 4px; animation: au-rise 0.6s var(--au-ease) backwards; }
[data-tyv-theme="aurora"] .tyv-form-success h3 { font-size: 26px; font-weight: 800; letter-spacing: -0.02em; }
[data-tyv-theme="aurora"] .tyv-success-icon {
	position: relative; width: 68px; height: 68px; margin-bottom: 20px; font-size: 32px;
	background: linear-gradient(135deg, #08733d, #12a05c); box-shadow: 0 16px 28px -12px rgba(8, 115, 61, 0.6);
	animation: au-pop 0.65s var(--au-spring) 0.1s backwards;
}
[data-tyv-theme="aurora"] .tyv-success-icon::after {
	content: ""; position: absolute; inset: 0; border-radius: 50%; border: 3px solid #12a05c; pointer-events: none;
	animation: au-ring 1.3s ease-out 0.5s 2 both;
}

/* ---------- 12. Favoritos ---------- */
[data-tyv-theme="aurora"].tyv-favorites-wrap > p {
	padding: 56px 24px; border-radius: 28px; border: 1.5px dashed var(--au-line-strong);
	background: color-mix(in srgb, var(--tyv-surface) 75%, transparent);
}

/* ---------- 13. Lightbox de la galería (se pega al <body>, por eso usa la clase del body) ---------- */
body.tyv-theme-aurora .tyv-lightbox-overlay {
	background: color-mix(in srgb, var(--tyv-bg, #f5f6ff) 84%, transparent);
	-webkit-backdrop-filter: blur(18px) saturate(1.2); backdrop-filter: blur(18px) saturate(1.2);
	animation: au-fade 0.3s ease both;
}
body.tyv-theme-aurora .tyv-lightbox-overlay.is-nav { animation: none; }
body.tyv-theme-aurora .tyv-lightbox-overlay img {
	border-radius: 22px; box-shadow: 0 40px 90px -30px color-mix(in srgb, var(--tyv-accent, #5147e5) 55%, transparent);
	animation: au-lightbox-img 0.4s var(--au-ease) both;
}
body.tyv-theme-aurora .tyv-lightbox-close,
body.tyv-theme-aurora .tyv-lightbox-prev,
body.tyv-theme-aurora .tyv-lightbox-next {
	display: flex; align-items: center; justify-content: center; color: var(--tyv-text, #22254a);
	background: color-mix(in srgb, var(--tyv-surface, #fff) 92%, transparent);
	box-shadow: 0 10px 24px -10px color-mix(in srgb, var(--tyv-text, #22254a) 45%, transparent);
	transition: transform 0.3s var(--au-spring), background 0.2s ease, color 0.2s ease;
}
body.tyv-theme-aurora .tyv-lightbox-close { top: 18px; right: 18px; width: 46px; height: 46px; padding: 0; border-radius: 50%; font-size: 26px; line-height: 1; }
body.tyv-theme-aurora .tyv-lightbox-prev { z-index: 2; }
body.tyv-theme-aurora .tyv-lightbox-prev:hover,
body.tyv-theme-aurora .tyv-lightbox-next:hover,
body.tyv-theme-aurora .tyv-lightbox-close:hover { background: var(--tyv-accent, #5147e5); color: var(--tyv-surface, #fff); }
body.tyv-theme-aurora .tyv-lightbox-prev:hover { transform: translateY(-50%) translateX(-3px); }
body.tyv-theme-aurora .tyv-lightbox-next:hover { transform: translateY(-50%) translateX(3px); }
body.tyv-theme-aurora .tyv-lightbox-close:hover { transform: rotate(90deg); }
body.tyv-theme-aurora .tyv-lightbox-counter {
	bottom: 22px; padding: 6px 16px; font-weight: 600; color: var(--tyv-text, #22254a);
	background: color-mix(in srgb, var(--tyv-surface, #fff) 92%, transparent);
	box-shadow: 0 10px 24px -10px color-mix(in srgb, var(--tyv-text, #22254a) 45%, transparent);
}

/* ---------- 13b. Piezas propias de los tours (ofertas, cupos, itinerario, salidas, total) ---------- */
/* Etiquetas de aviso: mantienen el punto de color de Aurora pero con su propio tono */
[data-tyv-theme="aurora"] .tyv-badge-oferta,
[data-tyv-theme="aurora"] .tyv-single-info .tyv-badge-oferta { background: #ffe4e8; color: #a3223b; box-shadow: 0 4px 12px -4px rgba(244, 63, 94, 0.45); }
[data-tyv-theme="aurora"] .tyv-badge-oferta::before { background: #f43f5e; box-shadow: 0 0 0 3px rgba(244, 63, 94, 0.25); }
[data-tyv-theme="aurora"] .tyv-badge-destacado,
[data-tyv-theme="aurora"] .tyv-single-info .tyv-badge-destacado { background: #fff1d6; color: #7a4d00; box-shadow: 0 4px 12px -4px rgba(245, 158, 11, 0.5); }
[data-tyv-theme="aurora"] .tyv-badge-destacado::before { background: #f59e0b; box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.3); }
[data-tyv-theme="aurora"] .tyv-badge-cupos,
[data-tyv-theme="aurora"] .tyv-single-info .tyv-badge-cupos { background: #ffedd5; color: #9a3412; box-shadow: 0 4px 12px -4px rgba(234, 88, 12, 0.45); }
[data-tyv-theme="aurora"] .tyv-badge-cupos::before { background: #ea580c; box-shadow: 0 0 0 3px rgba(234, 88, 12, 0.28); animation: au-pulse 1.8s ease-in-out infinite; }
[data-tyv-theme="aurora"] .tyv-estado-disponible,
[data-tyv-theme="aurora"] .tyv-single-info .tyv-estado-disponible { background: #dcfce7; color: #14532d; }

/* Precios */
[data-tyv-theme="aurora"] .tyv-price-was { font-family: var(--tyv-font-body); font-weight: 500; letter-spacing: 0; }
[data-tyv-theme="aurora"] .tyv-price-unit { font-family: var(--tyv-font-body); font-weight: 500; letter-spacing: 0; }
[data-tyv-theme="aurora"] .tyv-price-child { font-family: var(--tyv-font-body); letter-spacing: 0; }
[data-tyv-theme="aurora"] .tyv-single-price { margin: 8px 0 6px; }
[data-tyv-theme="aurora"] .tyv-price-child-line { font-family: var(--tyv-font-body); }
[data-tyv-theme="aurora"] .tyv-price-child-line strong { font-family: var(--tyv-font-display); font-weight: 800; letter-spacing: -0.02em; }
[data-tyv-theme="aurora"] .tyv-offer-note { margin: 8px 0 4px; background: #ffe4e8; color: #a3223b; }
[data-tyv-theme="aurora"] .tyv-ficha-tecnica { margin: 20px 0 24px; }
[data-tyv-theme="aurora"] .tyv-single-code { font-size: 12.5px; }

/* Secciones de la ficha */
[data-tyv-theme="aurora"] .tyv-section { margin-bottom: 46px; }
[data-tyv-theme="aurora"] .tyv-section:last-child { margin-bottom: 0; }
[data-tyv-theme="aurora"] .tyv-section h3 { font-size: 16px; font-weight: 800; letter-spacing: -0.01em; }
[data-tyv-theme="aurora"] .tyv-includes-col .tyv-check-list li { font-size: 14.5px; }
[data-tyv-theme="aurora"] .tyv-check-list.is-no li { background: color-mix(in srgb, var(--tyv-text-2) 9%, var(--tyv-surface)); }
[data-tyv-theme="aurora"] .tyv-policy { border-left: 0; border-radius: 20px; background: var(--au-tint); padding: 18px 22px; }

/* Itinerario: la línea de tiempo se ilumina con el degradado del estilo */
[data-tyv-theme="aurora"] .tyv-itinerary-step::before { width: 3px; left: 5.5px; border-radius: 3px; background: linear-gradient(to bottom, var(--tyv-accent), color-mix(in srgb, var(--tyv-accent) 12%, transparent)); }
[data-tyv-theme="aurora"] .tyv-itinerary-step::after { background: var(--au-grad); box-shadow: 0 0 0 4px var(--au-tint-strong), 0 6px 12px -4px var(--au-glow); }
[data-tyv-theme="aurora"] .tyv-itinerary-time { font-family: var(--tyv-font-display); font-weight: 800; }
[data-tyv-theme="aurora"] .tyv-itinerary-title { font-size: 17px; font-weight: 800; letter-spacing: -0.012em; }

/* Fechas de salida */
[data-tyv-theme="aurora"] .tyv-section-departures .tyv-departure {
	padding: 12px 18px; border-radius: 20px; border: 1px solid var(--au-line-strong); background: var(--au-tint);
	transition: transform 0.35s var(--au-spring), box-shadow 0.3s ease, background 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}
@media (hover: hover) {
	[data-tyv-theme="aurora"] .tyv-section-departures .tyv-departure:hover { transform: translateY(-3px); background: var(--tyv-surface); border-color: var(--tyv-accent); box-shadow: var(--au-shadow-sm); }
}
[data-tyv-theme="aurora"] .tyv-section-departures .tyv-departure.is-selected,
[data-tyv-theme="aurora"] .tyv-section-departures .tyv-departure.is-selected:hover {
	background: var(--au-grad); border-color: transparent; color: var(--tyv-surface); box-shadow: 0 12px 22px -12px var(--au-glow);
}
[data-tyv-theme="aurora"] .tyv-departure-date { font-family: var(--tyv-font-display); font-weight: 800; letter-spacing: -0.01em; }

/* Total estimado del formulario */
[data-tyv-theme="aurora"] .tyv-estimate { padding: 16px 20px; border-radius: 20px; border: 1.5px dashed color-mix(in srgb, var(--tyv-accent) 40%, transparent); background: var(--tyv-surface); }
[data-tyv-theme="aurora"] .tyv-estimate-value { font-size: 28px; font-weight: 800; letter-spacing: -0.03em; }

/* ---------- 14. Barra de contacto fija (móvil, ficha del tour; la crea theme-aurora.js) ---------- */
.tyv-cta-bar { display: none; }
@media (max-width: 900px) {
	.tyv-cta-bar[data-tyv-theme="aurora"] {
		display: flex; align-items: center; justify-content: space-between; gap: 12px;
		position: fixed; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); z-index: 9990;
		padding: 8px 8px 8px 18px; border-radius: 999px; border: 1px solid var(--au-line);
		background: color-mix(in srgb, var(--tyv-surface) 88%, transparent);
		-webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
		box-shadow: 0 20px 44px -16px color-mix(in srgb, var(--tyv-text) 55%, transparent);
		transform: translateY(150%); opacity: 0; visibility: hidden;
		transition: transform 0.55s var(--au-spring), opacity 0.3s ease, visibility 0s linear 0.55s;
	}
	.tyv-cta-bar[data-tyv-theme="aurora"].is-visible {
		transform: none; opacity: 1; visibility: visible;
		transition: transform 0.55s var(--au-spring), opacity 0.3s ease, visibility 0s;
	}
	.tyv-cta-bar[data-tyv-theme="aurora"] .tyv-cta-bar-price {
		min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
		font-family: var(--tyv-font-display); font-size: 18px; font-weight: 800; letter-spacing: -0.025em; color: var(--tyv-accent);
	}
	.tyv-cta-bar[data-tyv-theme="aurora"] .tyv-cta-bar-btn {
		display: inline-flex; align-items: center; justify-content: center; gap: 6px; flex: 0 0 auto;
		min-width: 0; min-height: 0; margin: 0; padding: 12px 16px; border: 0; font-size: 14px; line-height: 1; text-transform: none; cursor: pointer;
	}
	.tyv-single-tour[data-tyv-theme="aurora"].has-cta-bar { padding-bottom: 112px; }
}

/* ---------- 15. Tablet y móvil ---------- */
@media (max-width: 900px) {
	.tyv-catalog[data-tyv-theme="aurora"] { padding: 32px 22px 56px; }
	.tyv-favorites-wrap[data-tyv-theme="aurora"] { padding: 32px 22px 56px; }
	.tyv-single-tour[data-tyv-theme="aurora"] { padding: 26px 22px 64px; }

	/* El panel de filtros se pliega con animación en vez de aparecer de golpe */
	.tyv-catalog[data-tyv-theme="aurora"] .tyv-filters { flex: none; width: 100%; }
	.tyv-catalog[data-tyv-theme="aurora"] .tyv-filters-head { padding: 0; }
	.tyv-catalog[data-tyv-theme="aurora"] .tyv-filters-toggle { padding: 16px 22px; }
	.tyv-catalog[data-tyv-theme="aurora"] .tyv-clear-filters { padding: 16px 22px 16px 0; }
	.tyv-catalog[data-tyv-theme="aurora"] .tyv-filters-chevron { transition: transform 0.35s var(--au-ease); }
	.tyv-catalog[data-tyv-theme="aurora"] .tyv-filters-body {
		display: flex; max-height: 0; overflow: hidden; visibility: hidden; opacity: 0;
		padding-top: 0; padding-bottom: 0; border-top-color: transparent; gap: 18px 16px;
		transition: max-height 0.45s var(--au-ease), opacity 0.25s ease, padding 0.4s var(--au-ease), border-color 0.3s ease, visibility 0s linear 0.45s;
	}
	.tyv-catalog[data-tyv-theme="aurora"] .tyv-filters.is-open .tyv-filters-body {
		max-height: 1400px; visibility: visible; opacity: 1; padding-top: 20px; padding-bottom: 24px; border-top-color: var(--au-line);
		transition: max-height 0.6s var(--au-ease), opacity 0.35s ease 0.08s, padding 0.4s var(--au-ease), border-color 0.3s ease, visibility 0s;
	}
	.tyv-single-tour[data-tyv-theme="aurora"] .tyv-single-info { padding: 24px; border-radius: 26px; }
	.tyv-single-tour[data-tyv-theme="aurora"] .tyv-single-tabs { padding: 26px 22px; border-radius: 26px; }
}

@media (max-width: 520px) {
	.tyv-catalog[data-tyv-theme="aurora"],
	.tyv-favorites-wrap[data-tyv-theme="aurora"],
	.tyv-single-tour[data-tyv-theme="aurora"] { margin-left: 6px; margin-right: 6px; border-radius: 24px; }
	.tyv-catalog[data-tyv-theme="aurora"] { padding: 24px 14px 44px; }
	.tyv-favorites-wrap[data-tyv-theme="aurora"] { padding: 24px 14px 44px; }
	.tyv-single-tour[data-tyv-theme="aurora"] { padding: 20px 14px 56px; }
	.tyv-catalog[data-tyv-theme="aurora"] .tyv-search { max-width: none; }
	.tyv-catalog[data-tyv-theme="aurora"] .tyv-tours-grid { gap: 12px; }
	[data-tyv-theme="aurora"] .tyv-tour-card { padding: 7px; border-radius: 22px; }
	[data-tyv-theme="aurora"] .tyv-tour-card-media { border-radius: 16px; }
	[data-tyv-theme="aurora"] .tyv-tour-card-body { padding: 12px 5px 4px; gap: 6px; }
	[data-tyv-theme="aurora"] .tyv-tour-title { font-size: 15px; }
	[data-tyv-theme="aurora"] .tyv-tour-price { font-size: 19px; }
	[data-tyv-theme="aurora"] .tyv-tour-ficha > span { padding: 5px 9px; font-size: 12px; }
	[data-tyv-theme="aurora"] .tyv-tour-card .tyv-btn { padding: 10px 14px; font-size: 14px; }
	[data-tyv-theme="aurora"] .tyv-badges { top: 8px; left: 8px; right: 46px; }
	[data-tyv-theme="aurora"] .tyv-badge { padding: 4px 9px 4px 8px; font-size: 11px; }
	[data-tyv-theme="aurora"] .tyv-tour-card .tyv-wishlist-btn { top: 8px; right: 8px; width: 34px; height: 34px; font-size: 16px; }
	[data-tyv-theme="aurora"] .tyv-tours-grid.tyv-view-list .tyv-tour-card-body { padding: 14px 8px 8px; }
	[data-tyv-theme="aurora"] .tyv-tours-grid.tyv-view-list .tyv-tour-title { font-size: 19px; }
	[data-tyv-theme="aurora"] .tyv-tours-grid.tyv-view-list .tyv-tour-price { font-size: 23px; }
	[data-tyv-theme="aurora"] .tyv-single-tabs h2 { font-size: 21px; }
	[data-tyv-theme="aurora"] .tyv-check-list { grid-template-columns: 1fr; }
	[data-tyv-theme="aurora"] .tyv-contact-form-wrap { padding: 22px 18px; border-radius: 24px; }
}

/* ---------- 16. Reducir movimiento ---------- */
@media (prefers-reduced-motion: reduce) {
	[data-tyv-theme="aurora"],
	[data-tyv-theme="aurora"]::before,
	[data-tyv-theme="aurora"]::after,
	[data-tyv-theme="aurora"] *,
	[data-tyv-theme="aurora"] *::before,
	[data-tyv-theme="aurora"] *::after,
	body.tyv-theme-aurora .tyv-lightbox-overlay,
	body.tyv-theme-aurora .tyv-lightbox-overlay * {
		animation: none !important; transition-duration: 0.01ms !important; transition-delay: 0s !important; scroll-behavior: auto !important;
	}
}
