/* ==========================================================================
   Último Embarque · estilos (mobile first). Colores y fuentes en tokens.css.
   ========================================================================== */

/* ---------- Base ---------- */
body {
	background: var(--ue-color-bg);
	color: var(--ue-color-primary);
	font-family: var(--ue-font-body);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
h1, h2, h3, .main-title, .ue-precio__valor {
	font-family: var(--ue-font-heading);
	color: var(--ue-color-primary);
	letter-spacing: -0.01em;
}
h1 { font-size: clamp(1.75rem, 5vw, 2.5rem); font-weight: 700; line-height: 1.15; }
h2 { font-size: clamp(1.35rem, 3.6vw, 1.75rem); font-weight: 700; line-height: 1.2; margin-bottom: var(--ue-space-3); }
h3 { font-size: 1.1rem; font-weight: 600; margin-bottom: var(--ue-space-2); }
a { color: var(--ue-color-primary); text-decoration-color: var(--ue-color-accent); text-decoration-thickness: 2px; text-underline-offset: 3px; }
a:hover, a:focus { color: var(--ue-color-primary); text-decoration-color: currentColor; }
:focus-visible { outline: 3px solid var(--ue-color-accent); outline-offset: 2px; }
.ue-mono, .ue-ruta { font-family: var(--ue-font-mono); }

/* ---------- Cabecera y pie (GeneratePress) ---------- */
.site-header { background: var(--ue-color-primary); }
.site-header .main-title a, .site-header .main-title a:hover { color: #fff; text-decoration: none; }
.main-title { font-weight: 700; font-size: 1.25rem; }
.inside-header { padding: 14px 20px; }
.main-navigation, .main-navigation ul ul { background: var(--ue-color-primary); }
.main-navigation .main-nav ul li a, .menu-toggle { color: #fff; }
.site-footer .site-info { background: var(--ue-color-primary); color: #c9d2de; font-size: 0.85rem; }
.site-footer .copyright-bar { max-width: 760px; margin: 0 auto; }
.separate-containers .site-main { margin: 0; }
.site-content { padding: 0; }

/* ---------- Componentes ---------- */
.ue-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--ue-tap-min);
	padding: 0.65em 1.4em;
	border-radius: 999px;
	font-family: var(--ue-font-heading);
	font-weight: 700;
	text-decoration: none;
	line-height: 1.1;
	transition: transform 0.1s ease, box-shadow 0.15s ease;
}
.ue-btn:active { transform: translateY(1px); }
.ue-btn--principal { background: var(--ue-color-accent); color: var(--ue-color-on-accent); box-shadow: 0 2px 0 rgba(15, 27, 45, 0.25); font-size: 1.1rem; }
.ue-btn--principal:hover, .ue-btn--principal:focus { color: var(--ue-color-on-accent); box-shadow: 0 4px 12px rgba(15, 27, 45, 0.25); }
.ue-btn--secundario { background: var(--ue-color-primary); color: var(--ue-color-on-primary); font-size: 0.95rem; padding: 0.55em 1.1em; }
.ue-btn--secundario:hover, .ue-btn--secundario:focus { color: var(--ue-color-on-primary); opacity: 0.9; }

.ue-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.ue-chip {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0.2em 0.9em;
	border-radius: 999px;
	background: #fff;
	border: 1px solid #d9dee5;
	color: var(--ue-color-primary);
	font-size: 0.9rem;
	text-decoration: none;
}
.ue-chip:hover, .ue-chip.is-active { border-color: var(--ue-color-primary); background: var(--ue-color-primary); color: #fff; }

.ue-ruta {
	display: inline-block;
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: var(--ue-color-muted);
}
.ue-badge { display: inline-block; background: var(--ue-color-urgent); color: #fff; font-weight: 700; padding: 0 0.5em; border-radius: 6px; }

/* ---------- Ficha de chollo ---------- */
.ue-chollo { max-width: 860px; margin: 0 auto; padding: 0 0 96px; }
.ue-chollo__article { margin: 0; }

.ue-urgente {
	background: var(--ue-color-urgent);
	color: #fff;
	font-family: var(--ue-font-mono);
	font-weight: 700;
	text-align: center;
	padding: 10px 16px;
	letter-spacing: 0.04em;
}
.ue-urgente span { font-weight: 400; }
.ue-aviso { padding: 14px 20px; background: #fff3cd; border-radius: var(--ue-radius); margin: 12px 16px 0; }

.ue-hero { margin: 0; aspect-ratio: 16 / 9; background: #dfe4ea; overflow: hidden; }
.ue-hero img { width: 100%; height: 100%; object-fit: cover; display: block; }

.ue-ticket {
	position: relative;
	background: #fff;
	margin: 0 12px;
	padding: 20px 20px 18px;
	border-radius: var(--ue-radius);
	box-shadow: 0 6px 24px rgba(15, 27, 45, 0.08);
}
.ue-hero + .ue-ticket { margin-top: -40px; }
.ue-chollo__article > .ue-ticket:first-child, .ue-urgente + .ue-ticket, .ue-aviso + .ue-ticket { margin-top: 16px; }
.ue-ticket__titulo { margin: 4px 0 6px; }
.ue-ticket__gancho { color: var(--ue-color-muted); margin: 0; font-size: 1.05rem; }

/* Borde perforado de billete */
.ue-ticket__perforado { position: relative; height: 24px; margin: 14px -20px; }
.ue-ticket__perforado::before {
	content: "";
	position: absolute;
	left: 18px;
	right: 18px;
	top: 50%;
	border-top: 2px dashed #d9dee5;
}
.ue-ticket__perforado::after {
	content: "";
	position: absolute;
	inset: 0 -12px;
	background:
		radial-gradient(circle at 0 50%, var(--ue-color-bg) 12px, transparent 13px),
		radial-gradient(circle at 100% 50%, var(--ue-color-bg) 12px, transparent 13px);
}

.ue-ticket__cuerpo { display: grid; gap: 16px; }

/* Pegatina de precio */
.ue-precio {
	display: inline-flex;
	flex-direction: column;
	align-self: start;
	justify-self: start;
	background: var(--ue-color-accent);
	color: var(--ue-color-on-accent);
	padding: 8px 18px 10px;
	border-radius: 10px;
	transform: rotate(-2deg);
	margin: 0;
	line-height: 1.1;
}
.ue-precio__desde, .ue-precio__unidad { font-size: 0.8rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; }
.ue-precio__valor { font-size: 2.4rem; font-weight: 700; color: inherit; }

.ue-datos { display: grid; gap: 10px; margin: 0; }
.ue-datos > div { display: grid; grid-template-columns: 7.5em 1fr; gap: 8px; align-items: baseline; }
.ue-datos dt { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ue-color-muted); font-weight: 600; }
.ue-datos dd { margin: 0; font-weight: 500; }

.ue-ticket .ue-btn--principal { width: 100%; }
.ue-ticket__meta { font-size: 0.82rem; color: var(--ue-color-muted); margin: 0; }

/* Secciones */
.ue-seccion { background: #fff; margin: 16px 12px 0; padding: 22px 20px; border-radius: var(--ue-radius); }
.ue-seccion > :last-child { margin-bottom: 0; }

.ue-pasos { list-style: none; margin: 0; padding: 0; counter-reset: paso; display: grid; gap: 22px; }
.ue-paso { counter-increment: paso; }
.ue-paso h3 { display: flex; align-items: center; gap: 10px; }
.ue-paso h3::before {
	content: counter(paso);
	flex: none;
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--ue-color-primary);
	color: #fff;
	font-family: var(--ue-font-mono);
	font-size: 0.9rem;
}

.ue-opciones { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ue-opcion {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 16px;
	padding: 12px 14px;
	border: 1px solid #e3e7ec;
	border-radius: 10px;
}
.ue-opcion__info { display: flex; flex-direction: column; min-width: 0; }
.ue-opcion__titulo { font-weight: 700; }
.ue-opcion__detalles { font-size: 0.88rem; color: var(--ue-color-muted); }
.ue-opcion__accion { display: flex; align-items: center; gap: 12px; margin-left: auto; }
.ue-opcion__precio { font-family: var(--ue-font-heading); font-weight: 700; font-size: 1.25rem; white-space: nowrap; }
.ue-opcion__precio small { font-size: 0.75rem; font-weight: 500; color: var(--ue-color-muted); margin-left: 2px; }

.ue-extras__grid { display: grid; gap: 12px; }
.ue-extra { border: 1px solid #e3e7ec; border-radius: 10px; padding: 16px; }

.ue-faq details { border-top: 1px solid #e3e7ec; padding: 12px 0; }
.ue-faq details:last-child { border-bottom: 1px solid #e3e7ec; }
.ue-faq summary { cursor: pointer; font-weight: 600; min-height: var(--ue-tap-min); display: flex; align-items: center; }
.ue-faq details p { margin: 8px 0 0; }

.ue-autor { display: flex; gap: 14px; align-items: flex-start; }
.ue-autor img { border-radius: 50%; flex: none; }
.ue-autor p { margin: 0; }
.ue-autor__nombre { font-weight: 700; }
.ue-autor__aviso { font-size: 0.85rem; color: var(--ue-color-muted); }

.ue-enlaces { display: flex; flex-wrap: wrap; gap: 6px; background: transparent; padding: 0; }

/* Botón fijo abajo en móvil */
.ue-sticky-cta {
	position: fixed;
	z-index: 50;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
	background: var(--ue-color-primary);
	color: #fff;
	box-shadow: 0 -4px 16px rgba(15, 27, 45, 0.2);
}
.ue-sticky-cta__precio strong { font-family: var(--ue-font-heading); font-size: 1.3rem; }
.ue-sticky-cta .ue-btn { flex: none; }

/* ---------- Listados ---------- */
.ue-archivo { max-width: 1200px; margin: 0 auto; padding: 24px 12px 48px; }
.ue-archivo__cabecera { margin: 0 4px 16px; }
.ue-archivo__cabecera h1 { margin: 4px 0 8px; }
.ue-archivo__cabecera p { color: var(--ue-color-muted); margin: 0; }
.ue-origenes { margin: 0 4px 20px; }
.ue-vacio { background: #fff; padding: 24px; border-radius: var(--ue-radius); }

.ue-grid { display: grid; gap: 16px; grid-template-columns: 1fr; }
.ue-similares .ue-grid { margin-top: 4px; }
.ue-similares { background: transparent; padding: 22px 0 0; }

.ue-card { background: #fff; border-radius: var(--ue-radius); overflow: hidden; box-shadow: 0 2px 10px rgba(15, 27, 45, 0.06); transition: box-shadow 0.15s ease, transform 0.15s ease; }
.ue-card:hover { box-shadow: 0 8px 24px rgba(15, 27, 45, 0.12); transform: translateY(-2px); }
.ue-card__link { display: block; color: inherit; text-decoration: none; height: 100%; }
.ue-card__link:hover { color: inherit; }
.ue-card__media { position: relative; aspect-ratio: 16 / 10; background: var(--ue-color-primary); }
.ue-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ue-card__placeholder { position: absolute; inset: 0; display: grid; place-items: center; color: rgba(255, 255, 255, 0.25); font-family: var(--ue-font-mono); font-size: 3.5rem; font-weight: 700; letter-spacing: 0.1em; }
.ue-card__precio { position: absolute; left: 12px; bottom: 12px; background: var(--ue-color-accent); color: var(--ue-color-on-accent); padding: 4px 12px; border-radius: 8px; font-size: 0.85rem; transform: rotate(-2deg); }
.ue-card__precio strong { font-family: var(--ue-font-heading); font-size: 1.3rem; }
.ue-card__estado { position: absolute; top: 12px; left: 12px; background: var(--ue-color-primary); color: #fff; font-size: 0.75rem; font-weight: 700; padding: 3px 10px; border-radius: 999px; text-transform: uppercase; letter-spacing: 0.05em; }
.ue-card__estado--urgente { background: var(--ue-color-urgent); }
.ue-card.is-caducado .ue-card__media img { filter: grayscale(1); opacity: 0.7; }
.ue-card__body { padding: 14px 16px 16px; }
.ue-card__titulo { font-size: 1.1rem; margin: 4px 0 4px; line-height: 1.3; }
.ue-card__gancho { margin: 0 0 6px; font-size: 0.95rem; }
.ue-card__meta { margin: 0; font-size: 0.85rem; color: var(--ue-color-muted); }

.nav-links { margin-top: 24px; }

/* ---------- Escritorio ---------- */
@media (min-width: 640px) {
	.ue-grid { grid-template-columns: repeat(2, 1fr); }
	.ue-extras__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 900px) {
	.ue-chollo { padding-top: 24px; padding-bottom: 48px; }
	.ue-hero { border-radius: var(--ue-radius); }
	.ue-ticket, .ue-seccion { margin-left: 0; margin-right: 0; padding: 28px 32px; }
	.ue-hero + .ue-ticket { margin: -60px 28px 0; }
	.ue-ticket__perforado { margin-left: -32px; margin-right: -32px; }
	.ue-ticket__cuerpo { grid-template-columns: auto 1fr; align-items: center; column-gap: 32px; }
	.ue-ticket__cuerpo .ue-btn--principal, .ue-ticket__meta { grid-column: 1 / -1; }
	.ue-ticket .ue-btn--principal { width: auto; justify-self: start; padding-left: 2.5em; padding-right: 2.5em; }
	.ue-similares { padding-left: 0; padding-right: 0; }
	.ue-sticky-cta { display: none; }
	.ue-grid { grid-template-columns: repeat(3, 1fr); gap: 20px; }
	.ue-similares .ue-grid { grid-template-columns: repeat(3, 1fr); }
}

/* ==========================================================================
   v2 · Ficha inspirada en lo que funciona en el sector + portada
   ========================================================================== */
:root { --ue-color-ok: #1F8A4C; --ue-color-ok-bg: #E3F4EA; --ue-borde: #e3e7ec; }

/* Logo y menú */
.ue-logo a { display: inline-flex; align-items: center; gap: 10px; }
.ue-logo__marca { flex: none; }
.ue-btn--menu { min-height: 38px; padding: 0.4em 1em; font-size: 0.95rem; margin-left: 12px; align-self: center; }

/* Migas de pan */
.ue-migas { font-size: 0.85rem; color: var(--ue-color-muted); margin: 14px 16px 8px; }
.ue-migas ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px; }
.ue-migas li:not(:last-child)::after { content: "›"; margin-left: 6px; color: #9aa6b5; }
.ue-migas a { color: var(--ue-color-muted); text-decoration: none; }
.ue-migas a:hover { text-decoration: underline; }
.ue-migas [aria-current] { color: var(--ue-color-primary); display: inline-block; max-width: 28ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }

/* Cabecera de la ficha */
.ue-cabecera { padding: 4px 16px 16px; }
.ue-cabecera__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0 0 6px; }
.ue-categoria { display: inline-block; background: var(--ue-color-primary); color: #fff; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; padding: 3px 10px; border-radius: 6px; text-decoration: none; }
a.ue-categoria:hover { color: #fff; opacity: 0.9; }
.ue-cabecera__titulo { margin: 0 0 6px; }
.ue-cabecera__gancho { font-size: 1.1rem; color: var(--ue-color-muted); margin: 0 0 14px; }
.ue-cabecera__accion { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; }
.ue-cabecera__botones { display: flex; flex-wrap: wrap; gap: 10px; flex: 1 1 220px; }
.ue-cabecera__botones .ue-btn { flex: 1 1 auto; }
.ue-btn--borde { border: 2px solid var(--ue-color-primary); color: var(--ue-color-primary); background: #fff; font-size: 0.95rem; }
.ue-btn--borde:hover, .ue-btn--borde:focus { background: var(--ue-color-primary); color: #fff; }

/* Galería: carrusel en móvil, mosaico en escritorio */
.ue-galeria { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 16px; margin: 0 0 12px; scrollbar-width: none; }
.ue-galeria::-webkit-scrollbar { display: none; }
.ue-galeria__item { position: relative; flex: 0 0 85%; margin: 0; aspect-ratio: 4 / 3; border-radius: var(--ue-radius); overflow: hidden; background: #dfe4ea; scroll-snap-align: center; }
.ue-galeria--1 .ue-galeria__item { flex-basis: 100%; aspect-ratio: 16 / 9; }
.ue-galeria__item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ue-galeria__mas { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(15, 27, 45, 0.55); color: #fff; font-weight: 700; font-size: 1.1rem; }

/* Firma */
.ue-firma { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 0 16px 12px; font-size: 0.88rem; color: var(--ue-color-muted); }
.ue-firma__autor { display: inline-flex; align-items: center; gap: 8px; color: var(--ue-color-primary); text-decoration: none; }
.ue-firma__autor img { border-radius: 50%; }
.ue-compartir { display: flex; gap: 12px; margin-left: auto; }
.ue-compartir a { color: var(--ue-color-primary); font-weight: 600; }

/* Tira de meses */
.ue-meses { margin: 0 16px 16px; }
.ue-meses ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 3px; }
.ue-meses li { text-align: center; font-family: var(--ue-font-mono); font-size: 0.72rem; padding: 6px 0; background: #e9edf2; color: #6b7a8c; border-radius: 6px; }
.ue-meses li.is-on, .ue-meses li.is-on a { background: var(--ue-color-ok); color: #fff; font-weight: 700; text-decoration: none; }
.ue-meses li.is-on a { display: block; margin: -6px 0; padding: 6px 0; border-radius: 6px; }

/* Intro y A destacar */
.ue-intro { margin: 0 16px 16px; font-size: 1.05rem; }
.ue-h-pequeno { font-size: 1rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ue-color-muted); margin-bottom: 8px; }
.ue-destacar { margin: 0 16px 16px; }
.ue-destacar ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.ue-destacar li { background: var(--ue-color-ok-bg); color: #145c33; font-weight: 600; font-size: 0.9rem; padding: 6px 12px; border-radius: 999px; }
.ue-destacar li::before { content: "✓ "; }

/* Detalles: el ticket ahora envuelve la opción más barata */
.ue-detalles .ue-ticket { margin: 0 0 14px; padding: 16px; box-shadow: none; border: 0; border-radius: 12px; background: #f6f7f9; }
.ue-ticket__etiqueta { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; font-weight: 700; color: var(--ue-color-muted); margin: 0 0 8px; }
.ue-opcion--destacada { border: 0; padding: 0; }
.ue-notas { list-style: none; margin: 0; padding: 0; font-size: 0.9rem; color: var(--ue-color-muted); display: grid; gap: 4px; }

/* Otras opciones por origen */
.ue-origen + .ue-origen { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--ue-borde); }
.ue-origen h3 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.ue-origen h3 .ue-mono { font-size: 0.85rem; color: var(--ue-color-muted); }
.ue-origen__desde { margin-left: auto; font-size: 0.9rem; font-weight: 500; color: var(--ue-color-muted); }
.ue-pills { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.ue-pill { position: relative; display: flex; flex-direction: column; min-height: 56px; padding: 8px 12px; border: 1px solid var(--ue-borde); border-radius: 10px; text-decoration: none; color: var(--ue-color-primary); background: #fff; }
a.ue-pill:hover { border-color: var(--ue-color-primary); color: var(--ue-color-primary); }
.ue-pill__label { font-size: 0.88rem; }
.ue-pill__precio { font-family: var(--ue-font-heading); font-weight: 700; font-size: 1.15rem; }
.ue-pill.is-best { border-color: var(--ue-color-ok); background: var(--ue-color-ok-bg); }
.ue-pill__best { font-size: 0.75rem; font-weight: 700; color: #145c33; }

/* Qué incluye */
.ue-incluye { display: grid; gap: 18px; }
.ue-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.ue-lista li { padding-left: 1.6em; position: relative; }
.ue-lista--si li::before { content: "✓"; position: absolute; left: 0; color: var(--ue-color-ok); font-weight: 700; }
.ue-lista--no li::before { content: "✕"; position: absolute; left: 0; color: var(--ue-color-urgent); font-weight: 700; }

/* Etiquetas y autor */
.ue-etiquetas { display: flex; flex-wrap: wrap; gap: 6px; margin: 16px 12px 0; }
.ue-autor__bio { margin: 2px 0 6px !important; }
.ue-autor__nombre a { text-decoration: none; }

/* CTA canal */
.ue-canal { display: grid; gap: 14px; margin: 24px 12px 0; padding: 22px 20px; border-radius: var(--ue-radius); background: var(--ue-color-primary); color: #fff; }
.ue-canal__titulo { font-family: var(--ue-font-heading); font-size: 1.35rem; font-weight: 700; margin: 0 0 4px; }
.ue-canal p { margin: 0; color: #dbe2ea; }
.ue-canal__botones { display: flex; flex-wrap: wrap; gap: 10px; }
.ue-btn--wa { background: #25D366; color: #0b2b16; }
.ue-btn--tg { background: #2AABEE; color: #062436; }
.ue-btn--wa:hover, .ue-btn--tg:hover { color: inherit; opacity: 0.9; }

/* Tarjeta: categoría encima */
.ue-card__sup { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0 0 4px; }
.ue-card__sup .ue-categoria { font-size: 0.68rem; padding: 2px 8px; }

/* Portada */
.ue-home { padding-bottom: 32px; }
.ue-hero-home { background: var(--ue-color-primary); color: #fff; padding: 36px 16px 32px; }
.ue-hero-home__inner { max-width: 1200px; margin: 0 auto; }
.ue-hero-home h1 { color: #fff; margin: 6px 0 10px; max-width: 18ch; }
.ue-hero-home__sub { color: #c9d2de; max-width: 52ch; margin: 0 0 22px; }
.ue-hero-home__pregunta { font-family: var(--ue-font-heading); font-weight: 700; margin: 0 0 10px; }
.ue-ruta--claro { color: var(--ue-color-accent); }
.ue-chips--claro .ue-chip { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.25); color: #fff; }
.ue-chips--claro .ue-chip .ue-mono { font-size: 0.75rem; opacity: 0.7; margin-left: 4px; }
.ue-chips--claro .ue-chip:hover { background: var(--ue-color-accent); border-color: var(--ue-color-accent); color: var(--ue-color-primary); }
.ue-chips--sep { margin-top: 14px; }
.ue-bloque { max-width: 1200px; margin: 0 auto; padding: 32px 16px 0; }
.ue-bloque__sub { color: var(--ue-color-muted); margin: -8px 0 14px; }
.ue-bloque__mas { text-align: center; margin: 20px 0 0; }
.ue-bloque--urgente h2 { color: var(--ue-color-urgent); }
.ue-home > .ue-canal { max-width: 1200px; margin-left: auto; margin-right: auto; }
.ue-tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.ue-tile { display: flex; flex-direction: column; gap: 2px; padding: 16px; background: #fff; border-radius: var(--ue-radius); text-decoration: none; color: var(--ue-color-primary); border: 1px solid transparent; height: 100%; }
.ue-tile:hover { border-color: var(--ue-color-primary); color: var(--ue-color-primary); }
.ue-tile__icono { font-size: 1.6rem; }
.ue-tile__nombre { font-family: var(--ue-font-heading); font-weight: 700; font-size: 1.1rem; }
.ue-tile__count { font-size: 0.85rem; color: var(--ue-color-muted); }
.ue-calendario { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.ue-calendario a { display: flex; align-items: center; justify-content: center; min-height: 48px; background: #fff; border-radius: 10px; text-decoration: none; font-weight: 600; color: var(--ue-color-primary); }
.ue-calendario a:hover { background: var(--ue-color-ok); color: #fff; }
.ue-confianza__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.ue-confianza__lista li { background: #fff; padding: 16px 18px; border-radius: var(--ue-radius); }
.ue-archivo__avatar { border-radius: 50%; float: left; margin: 0 14px 0 0; }
.ue-archivo .ue-migas { margin-left: 4px; }

@media (min-width: 640px) {
	.ue-tiles { grid-template-columns: repeat(3, 1fr); }
	.ue-calendario { grid-template-columns: repeat(4, 1fr); }
	.ue-incluye { grid-template-columns: 1fr 1fr; }
	.ue-canal { grid-template-columns: 1fr auto; align-items: center; }
}
@media (min-width: 900px) {
	.ue-migas, .ue-cabecera, .ue-firma, .ue-meses, .ue-intro, .ue-destacar { margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; }
	.ue-galeria { padding: 0; overflow: visible; display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; height: 400px; }
	.ue-galeria__item { aspect-ratio: auto; }
	.ue-galeria__item:first-child { grid-row: 1 / 3; }
	.ue-galeria--1 { grid-template-columns: 1fr; height: 440px; }
	.ue-galeria--2 { grid-template-columns: 2fr 1fr; }
	.ue-galeria--2 .ue-galeria__item:nth-child(2) { grid-row: 1 / 3; }
	.ue-galeria--3 { grid-template-columns: 2fr 1fr; }
	.ue-galeria--4 .ue-galeria__item:nth-child(4) { grid-column: 2 / 4; }
	.ue-etiquetas, .ue-canal { margin-left: 0; margin-right: 0; }
	.ue-hero-home { padding: 56px 24px 48px; }
	.ue-tiles { grid-template-columns: repeat(5, 1fr); }
	.ue-calendario { grid-template-columns: repeat(6, 1fr); }
	.ue-confianza__lista { grid-template-columns: repeat(3, 1fr); }
	.ue-bloque { padding-left: 24px; padding-right: 24px; }
}

/* Ajustes móvil tras revisión con capturas */
.main-navigation .menu-toggle, .main-navigation .menu-toggle:hover, .main-navigation .menu-toggle:focus,
.main-navigation.toggled .menu-toggle { color: #fff; background: transparent; }
.main-navigation .menu-toggle .gp-icon svg { width: 1.4em; height: 1.4em; }
.main-navigation.toggled .main-nav ul li a { color: #fff; }
.ue-urgente { font-size: 0.9rem; padding: 8px 12px; }
@media (max-width: 599px) {
	.ue-urgente span { display: none; }
	.ue-precio { padding: 6px 14px 8px; }
	.ue-precio__valor { font-size: 2rem; }
	.ue-meses { overflow-x: auto; scrollbar-width: none; }
	.ue-meses ol { grid-template-columns: repeat(12, 3.1em); }
	.ue-meses li { font-size: 0.78rem; padding: 8px 0; }
	.ue-cabecera__accion { gap: 12px; }
}
.ue-hero-home { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
body { overflow-x: hidden; }
.main-navigation .main-nav ul li[class*="current-menu-"] > a, .main-navigation .main-nav ul li:hover > a { color: var(--ue-color-accent); }
@media (min-width: 900px) { .ue-hero-home__inner { max-width: 1152px; } }
/* Contraste AA: coral oscuro cuando hay texto */
.ue-urgente, .ue-card__estado--urgente, .ue-badge { background: var(--ue-color-urgent-strong); }
.ue-bloque--urgente h2, .ue-lista--no li::before { color: var(--ue-color-urgent-strong); }

:root { --ue-color-ok: #18703D; }
.ue-meses li { color: #4a5868; }

/* ==========================================================================
   v3 · Portada, listados con filtros, pie y responsive
   ========================================================================== */

/* Pie siempre abajo aunque la página sea corta */
body { display: flex; flex-direction: column; min-height: 100vh; min-height: 100dvh; }
body > #page, body > .site { flex: 1 0 auto; width: 100%; }
.site-header, .site-footer { flex-shrink: 0; width: 100%; }

/* Utilidades */
.ue-eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 0 0 6px; font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ue-color-accent); }
.ue-chips { list-style: none; padding: 0; }
.ue-chips li { margin: 0; }
.ue-icono { flex: none; }
.ue-bloque__cab { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; margin-bottom: 14px; }
.ue-bloque__cab h2 { margin: 0; }
.ue-bloque__cab .ue-bloque__sub { margin: 0; width: 100%; }
.ue-bloque__link { font-weight: 600; text-decoration: none; white-space: nowrap; }
.ue-bloque__link:hover { text-decoration: underline; }
.ue-h-urgente { color: var(--ue-color-urgent-strong); }

/* ---------- Hero portada ---------- */
.ue-hero2 {
	position: relative;
	isolation: isolate;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	background: var(--ue-color-primary);
	color: #fff;
	overflow: hidden;
}
.ue-hero2__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.ue-hero2.has-img::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(15, 27, 45, 0.55) 0%, rgba(15, 27, 45, 0.82) 60%, rgba(15, 27, 45, 0.95) 100%);
}
.ue-hero2__inner { max-width: 1200px; margin: 0 auto; padding: 40px 16px 28px; display: grid; gap: 24px; }
.ue-hero2 h1 { color: #fff; font-size: clamp(2rem, 7vw, 3.4rem); line-height: 1.05; margin: 0 0 12px; max-width: 14ch; text-shadow: 0 2px 20px rgba(0, 0, 0, 0.25); }
.ue-hero2__sub { color: #e3e8ef; font-size: 1.08rem; max-width: 46ch; margin: 0 0 22px; }

.ue-buscador {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	background: #fff;
	color: var(--ue-color-primary);
	padding: 10px;
	border-radius: 16px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
	max-width: 860px;
}
.ue-buscador__campo { display: flex; flex-direction: column; gap: 2px; padding: 8px 12px; border-radius: 10px; background: #f2f4f7; min-width: 0; }
.ue-buscador__campo--q { grid-column: 1 / -1; }
.ue-buscador__campo span { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ue-color-muted); }
.ue-buscador input, .ue-buscador select { border: 0; background: transparent; padding: 2px 0; font-size: 1rem; color: var(--ue-color-primary); width: 100%; min-height: 28px; }
.ue-buscador input:focus, .ue-buscador select:focus { outline: none; }
.ue-buscador__campo:focus-within { box-shadow: 0 0 0 3px var(--ue-color-accent); }
.ue-buscador .ue-btn { grid-column: 1 / -1; border-radius: 10px; min-height: 52px; }

.ue-hero2__rapidos { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.ue-hero2__rapidos a { color: #fff; text-decoration: none; font-weight: 600; font-size: 0.92rem; padding: 6px 14px; border-radius: 999px; background: rgba(255, 255, 255, 0.12); border: 1px solid rgba(255, 255, 255, 0.25); backdrop-filter: blur(4px); }
.ue-hero2__rapidos a:hover { background: var(--ue-color-accent); border-color: var(--ue-color-accent); color: var(--ue-color-primary); }

.ue-hero2__destacado {
	display: grid;
	gap: 6px;
	align-self: end;
	padding: 18px 20px;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.22);
	backdrop-filter: blur(8px);
	color: #fff;
	text-decoration: none;
}
.ue-hero2__destacado:hover { color: #fff; background: rgba(255, 255, 255, 0.16); }
.ue-hero2__etiqueta { justify-self: start; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; background: var(--ue-color-accent); color: var(--ue-color-primary); padding: 3px 10px; border-radius: 6px; }
.ue-hero2__destacado .ue-ruta { color: #c9d2de; }
.ue-hero2__dtitulo { font-family: var(--ue-font-heading); font-weight: 700; font-size: 1.15rem; line-height: 1.25; }
.ue-hero2__dprecio strong { font-family: var(--ue-font-heading); font-size: 1.6rem; color: var(--ue-color-accent); }
.ue-hero2__dver { font-weight: 600; font-size: 0.92rem; }

/* ---------- Bloques de portada ---------- */
.ue-scroller { display: grid; grid-auto-flow: column; grid-auto-columns: 82%; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; }
.ue-scroller > * { scroll-snap-align: start; }

.ue-aeros { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ue-aero {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 14px 16px;
	background: #fff;
	border-radius: 12px;
	text-decoration: none;
	color: var(--ue-color-primary);
	border: 1px solid transparent;
	overflow: hidden;
}
.ue-aero::after { content: ""; position: absolute; right: -10px; top: 50%; width: 20px; height: 20px; border-radius: 50%; background: var(--ue-color-bg); transform: translateY(-50%); }
.ue-aero:hover { border-color: var(--ue-color-primary); color: var(--ue-color-primary); }
.ue-aero__iata { font-family: var(--ue-font-mono); font-weight: 700; font-size: 1.6rem; letter-spacing: 0.06em; line-height: 1; }
.ue-aero__nombre { font-size: 0.88rem; color: var(--ue-color-muted); }

.ue-tile { gap: 4px; }
.ue-tile .ue-icono { color: var(--ue-color-primary); background: var(--ue-color-accent); border-radius: 10px; padding: 7px; width: 42px; height: 42px; margin-bottom: 6px; }
.ue-tile__desc { font-size: 0.85rem; color: var(--ue-color-muted); line-height: 1.35; }
.ue-tile__count { display: none; }

.ue-destinos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ue-destino { position: relative; display: block; aspect-ratio: 4 / 5; border-radius: 14px; overflow: hidden; background: var(--ue-color-primary); color: #fff; text-decoration: none; }
.ue-destino img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
.ue-destino:hover img { transform: scale(1.04); }
.ue-destino__texto { position: absolute; inset: auto 0 0; padding: 40px 14px 14px; background: linear-gradient(transparent, rgba(15, 27, 45, 0.9)); display: flex; flex-direction: column; }
.ue-destino__nombre { font-family: var(--ue-font-heading); font-weight: 700; font-size: 1.2rem; }
.ue-destino__precio { font-size: 0.9rem; color: var(--ue-color-accent); font-weight: 600; }
.ue-destino:hover { color: #fff; }

.ue-calendario a { flex-direction: column; gap: 0; min-height: 64px; position: relative; border: 1px solid transparent; }
.ue-calendario__anio { font-size: 0.75rem; font-weight: 500; color: var(--ue-color-muted); }
.ue-calendario a.has-chollos::after { content: ""; position: absolute; top: 8px; right: 8px; width: 8px; height: 8px; border-radius: 50%; background: var(--ue-color-ok); }
.ue-calendario a:hover { border-color: var(--ue-color-primary); background: #fff; color: var(--ue-color-primary); }

.ue-seo-home { display: grid; gap: 24px; padding-bottom: 8px; }
.ue-seo-home__texto { background: #fff; border-radius: var(--ue-radius); padding: 22px 20px; }
.ue-seo-home__texto h2 { font-size: 1.3rem; }
.ue-seo-home__texto p { color: #334155; }
.ue-seo-home__faq { background: #fff; border-radius: var(--ue-radius); padding: 22px 20px; }
.ue-seo-home__faq h2 { font-size: 1.3rem; }

/* ---------- Listados ---------- */
.ue-archivo { max-width: none; padding: 0 0 40px; }
.ue-listado-hero { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); background: var(--ue-color-primary); color: #fff; }
.ue-listado-hero__inner { max-width: 1200px; margin: 0 auto; padding: 4px 16px 26px; }
.ue-listado-hero .ue-migas { margin: 10px 0 14px; }
.ue-listado-hero .ue-migas, .ue-listado-hero .ue-migas a { color: #b8c3d1; }
.ue-listado-hero .ue-migas [aria-current] { color: #fff; }
.ue-listado-hero h1 { color: #fff; margin: 0 0 8px; }
.ue-pagina { font-size: 0.6em; color: #b8c3d1; font-weight: 500; }
.ue-listado-hero__intro { color: #dbe2ea; max-width: 68ch; margin: 0; }
.ue-listado-hero__avatar { border-radius: 50%; margin-bottom: 10px; }
.ue-stats { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.ue-stats li { background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 10px; padding: 6px 12px; font-size: 0.9rem; color: #dbe2ea; }
.ue-stats strong { color: #fff; font-family: var(--ue-font-heading); }
.ue-stats li:first-child strong { color: var(--ue-color-accent); }

.ue-listado { max-width: 1200px; margin: 0 auto; padding: 0 16px; }
.ue-filtros { position: relative; z-index: 2; margin: -14px 0 16px; background: #fff; border-radius: 14px; box-shadow: 0 6px 24px rgba(15, 27, 45, 0.1); }
.ue-filtros__toggle { list-style: none; cursor: pointer; padding: 14px 18px; font-weight: 700; display: flex; align-items: center; justify-content: space-between; min-height: var(--ue-tap-min); }
.ue-filtros__toggle::-webkit-details-marker { display: none; }
.ue-filtros__toggle::after { content: "＋"; font-weight: 400; }
.ue-filtros[open] .ue-filtros__toggle::after { content: "－"; }
.ue-filtros__form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 0 14px 14px; }
.ue-filtro { display: flex; flex-direction: column; gap: 2px; padding: 6px 10px; border-radius: 10px; background: #f2f4f7; min-width: 0; }
.ue-filtro span { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ue-color-muted); }
.ue-filtro input, .ue-filtro select { border: 0; background: transparent; padding: 2px 0; font-size: 0.98rem; color: var(--ue-color-primary); width: 100%; min-height: 28px; }
.ue-filtro:focus-within { box-shadow: 0 0 0 3px var(--ue-color-accent); }
.ue-filtro input:focus, .ue-filtro select:focus { outline: none; }
.ue-filtro--q { grid-column: 1 / -1; }
.ue-filtros__acciones { grid-column: 1 / -1; display: flex; align-items: center; gap: 14px; }
.ue-filtros__acciones .ue-btn { flex: 1; border-radius: 10px; }
.ue-filtros__limpiar { font-size: 0.9rem; white-space: nowrap; }
.ue-resultados { color: var(--ue-color-muted); font-size: 0.9rem; margin: 0 2px 10px; }
.ue-vacio__titulo { font-family: var(--ue-font-heading); font-weight: 700; font-size: 1.2rem; margin: 0 0 4px; }

.ue-texto-seo { max-width: 860px; margin: 28px auto 0; padding: 24px 20px; background: #fff; border-radius: var(--ue-radius); }
.ue-archivo > .ue-canal { max-width: 1200px; margin-left: auto; margin-right: auto; }
.ue-explorar { max-width: 1200px; margin: 28px auto 0; padding: 0 16px; }
.ue-explorar h2 { font-size: 1.2rem; }
.ue-explorar a[aria-current] { background: var(--ue-color-primary); color: #fff; }

/* Paginación */
.nav-links { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
.nav-links .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 12px; border-radius: 10px; background: #fff; text-decoration: none; }
.nav-links .page-numbers.current { background: var(--ue-color-primary); color: #fff; }

/* ---------- Pie ---------- */
.site-footer { background: var(--ue-color-primary); }
.ue-footer { max-width: 1200px; margin: 0 auto; padding: 36px 16px 8px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 20px; color: #c9d2de; font-size: 0.92rem; }
.ue-footer__marca { grid-column: 1 / -1; }
.ue-footer__logo { font-family: var(--ue-font-heading); font-weight: 700; font-size: 1.25rem; color: #fff; margin: 0 0 4px; }
.ue-footer p { margin: 0 0 8px; }
.ue-footer__titulo { color: #fff; font-weight: 700; margin-bottom: 8px !important; }
.ue-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.ue-footer a { color: #c9d2de; text-decoration: none; }
.ue-footer a:hover { color: var(--ue-color-accent); text-decoration: underline; }
.ue-footer__redes { display: flex !important; flex-wrap: wrap; gap: 12px !important; }
.site-footer .site-info { border-top: 1px solid rgba(255, 255, 255, 0.1); }
.site-footer .site-info a { color: #c9d2de; }

/* ---------- Tarjetas: legibles en cualquier ancho ---------- */
.ue-card { display: flex; flex-direction: column; min-width: 0; }
.ue-card__titulo { overflow-wrap: anywhere; }

/* ---------- Responsive ---------- */
@media (min-width: 600px) {
	.ue-aeros { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.ue-destinos { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.ue-scroller { grid-auto-columns: 46%; }
	.ue-filtros__form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ue-footer { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ue-buscador { grid-template-columns: 2fr 1fr 1fr; }
	.ue-buscador__campo--q { grid-column: auto; }
}
@media (min-width: 900px) {
	.ue-hero2__inner { grid-template-columns: minmax(0, 1fr) 320px; align-items: end; padding: 72px 24px 48px; gap: 40px; min-height: 520px; }
	.ue-buscador { grid-template-columns: 2fr 1.2fr 1.2fr auto; align-items: stretch; }
	.ue-buscador .ue-btn { grid-column: auto; padding: 0 22px; }
	.ue-scroller { grid-auto-flow: row; grid-template-columns: repeat(3, 1fr); overflow: visible; }
	.ue-scroller > :nth-child(n+4) { display: none; }
	.ue-listado-hero__inner { padding: 8px 24px 40px; }
	.ue-listado { padding: 0 24px; }
	.ue-explorar { padding: 0 24px; }
	.ue-filtros { margin-top: -22px; }
	.ue-filtros__toggle { display: none; }
	.ue-filtros__form { grid-template-columns: 2fr repeat(5, minmax(0, 1fr)) auto; padding: 12px; align-items: stretch; }
	.ue-filtro--q { grid-column: auto; }
	.ue-filtros__acciones { grid-column: auto; flex-direction: column; justify-content: center; gap: 2px; }
	.ue-seo-home { grid-template-columns: 1.2fr 1fr; align-items: start; }
	.ue-footer { grid-template-columns: 1.4fr repeat(3, 1fr); padding: 48px 24px 12px; }
	.ue-footer__marca { grid-column: auto; }
}
@media (max-width: 899px) {
	.ue-hero2__destacado { display: none; }
}

/* ==========================================================================
   v4 · Ajustes tras revisión
   ========================================================================== */

/* Logo centrado verticalmente con el menú */
.inside-header { display: flex; align-items: center; }
.site-branding, .site-logo { display: flex; align-items: center; }
.ue-logo { margin: 0; line-height: 1; }
.ue-logo a { line-height: 1; }
.ue-logo span { display: block; line-height: 1; transform: translateY(1px); }
.main-navigation .inside-navigation { align-items: center; }

/* Galería: en escritorio la foto nunca se sale de su caja (tapaba la firma) */
@media (min-width: 900px) {
	.ue-galeria .ue-galeria__item, .ue-galeria--1 .ue-galeria__item { aspect-ratio: auto; height: 100%; min-height: 0; }
	.ue-galeria--1 { grid-template-rows: 1fr; }
	.ue-galeria--1 .ue-galeria__item:first-child { grid-row: auto; }
}
.ue-firma { position: relative; z-index: 1; margin-top: 4px; }

/* Cabecera de listados */
.ue-eyebrow__pill { display: inline-block; background: rgba(255, 198, 41, 0.14); color: var(--ue-color-accent); border: 1px solid rgba(255, 198, 41, 0.35); padding: 4px 10px; border-radius: 999px; font-size: 0.72rem; letter-spacing: 0.08em; }
.ue-eyebrow .ue-ruta { font-size: 0.82rem; }
.ue-listado-hero h1 { font-size: clamp(1.9rem, 5.5vw, 3rem); line-height: 1.1; }
.ue-listado-hero__inner { padding-bottom: 28px; }
.ue-resumen { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin: 16px 0 0; color: #c9d2de; font-size: 0.95rem; }
.ue-resumen__precio { background: var(--ue-color-accent); color: var(--ue-color-primary); padding: 4px 12px; border-radius: 8px; font-weight: 600; transform: rotate(-1.5deg); }
.ue-resumen__precio strong { font-family: var(--ue-font-heading); font-size: 1.25rem; }
.ue-resumen__dato { display: inline-flex; align-items: center; gap: 8px; }
.ue-resumen__dato::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: #6b7a8c; }
.ue-stats { display: none; }

/* Filtros dentro de la cabecera, con aire arriba y abajo */
.ue-listado-hero .ue-filtros { margin: 22px 0 0; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25); }
.ue-filtros__enviar { grid-column: 1 / -1; border-radius: 10px; min-height: 48px; }
.ue-filtros__limpiar { margin: 10px 2px 0; font-size: 0.9rem; }
.ue-filtros__limpiar a { color: #fff; }
.ue-listado { padding-top: 22px; }
.ue-filtros__acciones { display: none; }
@media (min-width: 900px) {
	.ue-listado-hero .ue-filtros { margin-top: 26px; }
	.ue-filtros__form { grid-template-columns: minmax(0, 2fr) repeat(5, minmax(0, 1fr)) auto; }
	.ue-filtros__enviar { grid-column: auto; padding: 0 26px; min-height: 0; }
	.ue-listado-hero__inner { padding-bottom: 36px; }
}

/* Iconos de tarjetas */
.ue-tile .ue-icono { width: 44px; height: 44px; padding: 10px; }
.ue-tiles--temporada .ue-icono { background: var(--ue-color-primary); color: var(--ue-color-accent); }
@media (min-width: 900px) {
	.ue-tiles--temporada { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
}
.ue-filtros, .ue-filtros__toggle { color: var(--ue-color-primary); }
@media (max-width: 599px) { .ue-resumen__dato:last-child { display: none; } }

/* ==========================================================================
   v5 · Chollo a dos columnas + accesos rápidos deslizables
   ========================================================================== */

/* Centrado real (GeneratePress ponía margin:0 a .site-main) */
.separate-containers .site-main.ue-chollo { margin: 0 auto; }
.ue-chollo { max-width: 1200px; }
.ue-chollo__cuerpo { display: block; }
.ue-chollo__main { min-width: 0; }
.ue-chollo__aside { display: grid; gap: 16px; margin: 16px 12px 0; align-content: start; }
.ue-resumen-card { display: none; }

@media (min-width: 1100px) {
	.ue-chollo { padding-left: 24px; padding-right: 24px; }
	.ue-cabecera, .ue-galeria, .ue-migas { max-width: none; }
	.ue-chollo__cuerpo { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 40px; align-items: start; }
	.ue-chollo__aside { margin: 0; position: sticky; top: 20px; }
	.ue-chollo__main .ue-seccion, .ue-chollo__main .ue-etiquetas { margin-left: 0; margin-right: 0; }
	/* Con la tarjeta lateral, la cabecera no repite el botón */
	.ue-cabecera__accion { display: none; }
	.ue-resumen-card {
		display: grid;
		gap: 10px;
		background: #fff;
		border-radius: 16px;
		padding: 22px;
		box-shadow: 0 10px 30px rgba(15, 27, 45, 0.1);
	}
}
.ue-resumen-card p { margin: 0; }
.ue-resumen-card__label { font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ue-color-muted); }
.ue-resumen-card__precio { font-family: var(--ue-font-heading); font-weight: 700; font-size: 2.6rem; line-height: 1; }
.ue-resumen-card__precio span { font-family: var(--ue-font-body); font-size: 0.9rem; font-weight: 500; color: var(--ue-color-muted); }
.ue-resumen-card__antes { font-size: 0.9rem; color: var(--ue-color-muted); }
.ue-resumen-card__datos { display: grid; gap: 6px; margin: 4px 0; padding: 12px 0; border-top: 1px dashed var(--ue-borde); border-bottom: 1px dashed var(--ue-borde); font-size: 0.92rem; }
.ue-resumen-card__datos div { display: flex; justify-content: space-between; gap: 12px; }
.ue-resumen-card__datos dt { color: var(--ue-color-muted); }
.ue-resumen-card__datos dd { margin: 0; font-weight: 600; text-align: right; }
.ue-resumen-card .ue-btn { width: 100%; }
.ue-resumen-card__comprobado { font-size: 0.8rem; color: var(--ue-color-muted); text-align: center; }

/* Canal compacto en la columna */
.ue-canal--compacto { margin: 0; grid-template-columns: 1fr !important; padding: 18px; }
.ue-canal--compacto .ue-canal__titulo { font-size: 1.1rem; }
.ue-canal--compacto .ue-canal__botones .ue-btn { flex: 1 1 100%; }

/* Lista «Más chollos para ti» */
.ue-aside-lista { background: #fff; border-radius: 16px; padding: 18px; }
.ue-aside-lista h2 { font-size: 1.05rem; margin-bottom: 10px; }
.ue-aside-lista ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.ue-aside-lista a { display: flex; gap: 12px; align-items: center; text-decoration: none; color: var(--ue-color-primary); }
.ue-aside-lista img { width: 64px; height: 64px; border-radius: 10px; object-fit: cover; flex: none; }
.ue-aside-lista__texto { display: flex; flex-direction: column; min-width: 0; }
.ue-aside-lista__titulo { font-size: 0.9rem; font-weight: 600; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ue-aside-lista a:hover .ue-aside-lista__titulo { text-decoration: underline; }
.ue-aside-lista__precio { font-size: 0.82rem; color: var(--ue-color-ok); font-weight: 700; }

/* Accesos rápidos del hero: una fila deslizable con icono */
.ue-hero2__rapidos { display: none; }
.ue-rapidos { position: relative; margin-top: 18px; max-width: 860px; }
.ue-rapidos::after { content: ""; position: absolute; top: 0; right: 0; bottom: 6px; width: 48px; pointer-events: none; background: linear-gradient(90deg, rgba(15, 27, 45, 0), rgba(15, 27, 45, 0.9)); }
.ue-rapidos__lista { list-style: none; margin: 0; padding: 0 40px 6px 0; display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
.ue-rapidos__lista::-webkit-scrollbar { display: none; }
.ue-rapidos__lista li { flex: none; scroll-snap-align: start; margin: 0; }
.ue-rapido {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 42px;
	padding: 0 16px 0 12px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.95);
	color: var(--ue-color-primary);
	font-weight: 600;
	font-size: 0.92rem;
	text-decoration: none;
	white-space: nowrap;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
	transition: transform 0.12s ease, background 0.12s ease;
}
.ue-rapido .ue-icono { color: var(--ue-color-primary); flex: none; }
.ue-rapido:hover, .ue-rapido:focus { background: var(--ue-color-accent); color: var(--ue-color-primary); transform: translateY(-1px); }
.ue-rapido--temporada { background: var(--ue-color-primary); color: #fff; border: 1px solid rgba(255, 198, 41, 0.6); }
.ue-rapido--temporada .ue-icono { color: var(--ue-color-accent); }
.ue-rapido--temporada:hover, .ue-rapido--temporada:focus { color: var(--ue-color-primary); }
.ue-rapido--temporada:hover .ue-icono { color: var(--ue-color-primary); }
.ue-hero2__inner { grid-template-columns: minmax(0, 1fr); }
.ue-hero2__texto, .ue-rapidos { min-width: 0; }
@media (min-width: 900px) { .ue-hero2__inner { grid-template-columns: minmax(0, 1fr) 320px; } }

/* ==========================================================================
   v6 · Desplegables de marca, pastillas deslizables y guía SEO de listados
   ========================================================================== */

/* Desplegables: botón con estilo propio en todos los navegadores */
select.ue-select {
	-webkit-appearance: none;
	appearance: none;
	font-family: var(--ue-font-body);
	font-weight: 600;
	color: var(--ue-color-primary);
	cursor: pointer;
	padding-right: 26px !important;
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230F1B2D' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 2px center / 16px;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}
/* Lista desplegada con el diseño de la web (Chrome/Edge recientes; el resto usa la nativa) */
@supports (appearance: base-select) {
	select.ue-select, select.ue-select::picker(select) { appearance: base-select; }
	select.ue-select { border: 0; display: flex; align-items: center; }
	select.ue-select::picker-icon { display: none; }
	select.ue-select::picker(select) {
		border: 0;
		border-radius: 14px;
		padding: 6px;
		margin-top: 10px;
		background: #fff;
		box-shadow: 0 16px 40px rgba(15, 27, 45, 0.22), 0 0 0 1px rgba(15, 27, 45, 0.06);
		max-height: 340px;
		min-width: 220px;
	}
	select.ue-select option {
		padding: 10px 12px;
		border-radius: 10px;
		font-family: var(--ue-font-body);
		font-weight: 500;
		font-size: 0.95rem;
		color: var(--ue-color-primary);
		cursor: pointer;
	}
	select.ue-select option:hover, select.ue-select option:focus-visible { background: #f2f4f7; outline: none; }
	select.ue-select option:checked { background: #FFF4D1; font-weight: 700; }
	select.ue-select option::checkmark { content: "✓"; color: var(--ue-color-ok); order: 1; margin-left: auto; }
}

/* Filtros: reparto de ancho para que no se corte el texto */
@media (min-width: 900px) {
	.ue-filtros__form { grid-template-columns: minmax(0, 1.5fr) repeat(5, minmax(120px, 1fr)) auto; }
}

/* Pastillas del hero: máscara sobre las propias pastillas, solo si hay más contenido */
.ue-rapidos::after { display: none; }
.ue-rapidos__lista { padding-right: 0; }
.ue-rapidos.mas-derecha .ue-rapidos__lista { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 56px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 56px), transparent); }
.ue-rapidos.mas-izquierda .ue-rapidos__lista { -webkit-mask-image: linear-gradient(90deg, transparent, #000 56px); mask-image: linear-gradient(90deg, transparent, #000 56px); }
.ue-rapidos.mas-derecha.mas-izquierda .ue-rapidos__lista { -webkit-mask-image: linear-gradient(90deg, transparent, #000 56px, #000 calc(100% - 56px), transparent); mask-image: linear-gradient(90deg, transparent, #000 56px, #000 calc(100% - 56px), transparent); }
.ue-rapido--temporada { border-color: rgba(255, 198, 41, 0.75); }

/* Guía SEO de los listados */
.ue-guia { max-width: 1200px; margin: 32px auto 0; padding: 0 16px; display: grid; gap: 20px; }
.ue-guia__bloque { background: #fff; border-radius: var(--ue-radius); padding: 22px 20px; }
.ue-guia__bloque h2 { font-size: 1.3rem; }
.ue-guia__dato { margin: 14px 0 0; padding: 12px 14px; background: var(--ue-color-ok-bg); border-radius: 10px; color: #145c33; }
.ue-tabla-wrap { overflow-x: auto; }
.ue-tabla { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.ue-tabla caption { caption-side: bottom; text-align: left; font-size: 0.8rem; color: var(--ue-color-muted); padding-top: 10px; }
.ue-tabla th, .ue-tabla td { padding: 12px 10px; border-bottom: 1px solid var(--ue-borde); text-align: left; vertical-align: middle; }
.ue-tabla thead th { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ue-color-muted); border-bottom-width: 2px; }
.ue-tabla tbody th { font-weight: 600; }
.ue-tabla tbody th .ue-mono { font-size: 0.75rem; color: var(--ue-color-muted); margin-left: 6px; }
.ue-tabla__precio { font-family: var(--ue-font-heading); font-weight: 700; font-size: 1.1rem; white-space: nowrap; }
.ue-tabla__accion { text-align: right !important; white-space: nowrap; }
.ue-tabla tbody tr:hover { background: #fafbfc; }
.ue-relacionadas ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px 16px; }
.ue-relacionadas a { display: flex; align-items: center; min-height: 40px; font-weight: 500; }
@media (max-width: 599px) {
	.ue-tabla thead th:nth-child(3), .ue-tabla td:nth-child(3) { display: none; }
	.ue-guia__bloque { padding: 18px 16px; }
}
@media (min-width: 900px) { .ue-guia { padding: 0 24px; } }
/* Flechas del deslizable (solo si hay más por ese lado) */
.ue-rapidos__flecha {
	position: absolute;
	top: 50%;
	transform: translateY(calc(-50% - 3px));
	display: none;
	place-items: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: var(--ue-color-primary);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
	cursor: pointer;
	z-index: 2;
}
.ue-rapidos__flecha:hover { background: var(--ue-color-accent); }
.ue-rapidos__flecha--izq { left: -6px; }
.ue-rapidos__flecha--der { right: -6px; }
.ue-rapidos.mas-derecha .ue-rapidos__flecha--der, .ue-rapidos.mas-izquierda .ue-rapidos__flecha--izq { display: grid; }
@media (hover: none) { .ue-rapidos__flecha { display: none !important; } }
.ue-tabla, .ue-tabla th, .ue-tabla td { border-left: 0; border-right: 0; border-top: 0; }
.ue-tabla { border: 0; }

/* Flecha de los desplegables dibujada en la caja (no en el select) para que nunca se salga */
.ue-filtro, .ue-buscador__campo { position: relative; }
.ue-filtro:has(select.ue-select)::after, .ue-buscador__campo:has(select.ue-select)::after {
	content: "";
	position: absolute;
	right: 12px;
	bottom: 14px;
	width: 16px;
	height: 16px;
	pointer-events: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230F1B2D' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat center / 16px;
}
select.ue-select { background-image: none; width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; padding-right: 22px !important; }

/* ==========================================================================
   v7 · Guías (blog)
   ========================================================================== */

/* Temas en la cabecera del índice */
.ue-temas { margin-top: 18px; }
.ue-temas ul { list-style: none; margin: 0; padding: 0 0 4px; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.ue-temas ul::-webkit-scrollbar { display: none; }
.ue-temas li { flex: none; margin: 0; }
.ue-temas a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 12px; background: rgba(255, 255, 255, 0.95); color: var(--ue-color-primary); font-weight: 600; font-size: 0.92rem; text-decoration: none; white-space: nowrap; }
.ue-temas a:hover { background: var(--ue-color-accent); }
.ue-temas a[aria-current] { background: var(--ue-color-accent); }
.ue-guias .ue-listado { padding-top: 28px; }

/* Tarjeta de guía */
.ue-gcard { background: #fff; border-radius: var(--ue-radius); overflow: hidden; box-shadow: 0 2px 10px rgba(15, 27, 45, 0.06); transition: box-shadow 0.15s ease, transform 0.15s ease; }
.ue-gcard:hover { box-shadow: 0 8px 24px rgba(15, 27, 45, 0.12); transform: translateY(-2px); }
.ue-gcard__link { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; }
.ue-gcard__link:hover { color: inherit; }
.ue-gcard__media { aspect-ratio: 16 / 9; background: #dfe4ea; }
.ue-gcard__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ue-gcard__body { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px 18px; flex: 1; }
.ue-gcard__tema { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ue-color-ok); }
.ue-gcard__titulo { font-size: 1.15rem; line-height: 1.3; margin: 0; }
.ue-gcard__extracto { font-size: 0.93rem; color: #475569; margin: 0; }
.ue-gcard__meta { margin-top: auto; padding-top: 6px; font-size: 0.82rem; color: var(--ue-color-muted); }

/* Guía individual */
.separate-containers .site-main.ue-guia-post { margin: 0 auto; }
.ue-guia-post { max-width: 1200px; padding: 0 0 48px; }
.ue-guia-post__cabecera { max-width: 820px; padding: 4px 16px 8px; }
.ue-guia-post__cabecera h1 { font-size: clamp(1.9rem, 5vw, 2.9rem); line-height: 1.12; margin: 10px 0 12px; }
.ue-guia-post__entradilla { font-size: 1.2rem; line-height: 1.55; color: #334155; margin: 0 0 16px; }
.ue-guia-post__cabecera .ue-firma { margin: 0; }
.ue-guia-post__imagen { margin: 20px 0 0; }
.ue-guia-post__imagen img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.ue-guia-post__imagen figcaption { font-size: 0.8rem; color: var(--ue-color-muted); padding: 6px 16px 0; }
.ue-guia-post__cuerpo { padding: 0 16px; }
.ue-guia-post__main { min-width: 0; }
.ue-guia-post__aside { display: none; }
.ue-guia-post__chollos, .ue-guia-post__mas { margin-top: 32px; }
.ue-guia-post__mas { padding: 0 16px; }
.ue-guia-post .ue-seccion { margin-left: 0; margin-right: 0; }

/* Prosa: lectura cómoda */
.ue-prosa { font-size: 1.1rem; line-height: 1.75; color: #1e293b; margin-top: 24px; }
.ue-prosa > * { max-width: 70ch; }
.ue-prosa h2 { font-size: clamp(1.45rem, 3.4vw, 1.8rem); margin: 2.2em 0 0.6em; scroll-margin-top: 20px; }
.ue-prosa h3 { font-size: 1.25rem; margin: 1.8em 0 0.5em; scroll-margin-top: 20px; }
.ue-prosa p { margin: 0 0 1.2em; }
.ue-prosa ul, .ue-prosa ol { margin: 0 0 1.3em 1.2em; }
.ue-prosa li { margin-bottom: 0.4em; }
.ue-prosa a { font-weight: 500; }
.ue-prosa strong { color: var(--ue-color-primary); }
.ue-prosa blockquote { margin: 1.5em 0; padding: 16px 20px; background: #fff; border-radius: 12px; font-style: normal; border: 0; }
.ue-prosa img, .ue-prosa figure { max-width: 100%; height: auto; border-radius: 12px; }
.ue-prosa figure { margin: 1.6em 0; }
.ue-prosa figcaption { font-size: 0.85rem; color: var(--ue-color-muted); margin-top: 6px; }
.ue-prosa table { width: 100%; max-width: 100%; border-collapse: collapse; font-size: 0.95rem; margin: 0 0 1.5em; background: #fff; border-radius: 12px; overflow: hidden; }
.ue-prosa th, .ue-prosa td { padding: 10px 12px; border: 0; border-bottom: 1px solid var(--ue-borde); text-align: left; }
.ue-prosa thead th { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ue-color-muted); }
.ue-prosa .ue-consejo, .ue-prosa .wp-block-group.is-style-consejo { background: var(--ue-color-ok-bg); border-radius: 12px; padding: 16px 20px; }

/* Índice */
.ue-indice ol { margin: 0; padding: 0; list-style: none; counter-reset: idx; display: grid; gap: 2px; }
.ue-indice li { counter-increment: idx; margin: 0; }
.ue-indice a { display: flex; gap: 10px; padding: 7px 10px; border-radius: 8px; color: #334155; text-decoration: none; font-size: 0.93rem; line-height: 1.35; }
.ue-indice a::before { content: counter(idx); font-family: var(--ue-font-mono); font-size: 0.8rem; color: var(--ue-color-muted); min-width: 1.2em; padding-top: 1px; }
.ue-indice a:hover { background: #f2f4f7; color: var(--ue-color-primary); }
.ue-indice--movil { background: #fff; border-radius: 12px; margin-top: 20px; }
.ue-indice--movil summary { cursor: pointer; padding: 14px 16px; font-weight: 700; min-height: var(--ue-tap-min); }
.ue-indice--movil ol { padding: 0 8px 10px; }
.ue-indice__titulo { font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ue-color-muted); margin: 0 0 8px 10px; }

@media (min-width: 900px) {
	.ue-guia-post__cabecera { padding: 8px 24px 8px; }
	.ue-guia-post__imagen { padding: 0 24px; }
	.ue-guia-post__imagen img { border-radius: 16px; max-height: 520px; }
	.ue-guia-post__cuerpo { padding: 0 24px; }
	.ue-guia-post__mas { padding: 0 24px; }
}
@media (min-width: 1100px) {
	.ue-guia-post__cuerpo { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 56px; align-items: start; }
	.ue-guia-post__aside { display: grid; gap: 16px; position: sticky; top: 20px; margin-top: 24px; }
	.ue-guia-post__aside .ue-indice { background: #fff; border-radius: 16px; padding: 16px 8px; }
	.ue-indice--movil { display: none; }
}
.ue-indice--movil summary { display: flex; align-items: center; gap: 8px; min-height: 0; padding: 14px 16px; list-style: none; }
.ue-indice--movil summary::-webkit-details-marker { display: none; }
.ue-indice--movil summary::after { content: "＋"; margin-left: auto; font-weight: 400; }
.ue-indice--movil[open] summary::after { content: "－"; }
.ue-indice--movil:not([open]) { padding-bottom: 0; }
@media (max-width: 599px) { .ue-prosa { font-size: 1.05rem; line-height: 1.7; } }

/* ==========================================================================
   v8 · Mejoras tras analizar VP, BuscoUnChollo y Japonismo
   ========================================================================== */

/* Tiempo restante */
.ue-restante { display: inline-flex; align-items: center; gap: 5px; font-size: 0.82rem; font-weight: 700; color: var(--ue-color-urgent-strong); background: #fdecea; padding: 3px 10px; border-radius: 999px; }

/* Hotel: valoración, mapa y precio por persona */
.ue-opcion__extra { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: 4px; font-size: 0.85rem; color: var(--ue-color-muted); }
.ue-nota { display: inline-grid; place-items: center; min-width: 34px; height: 26px; padding: 0 6px; border-radius: 7px 7px 7px 0; background: var(--ue-color-primary); color: #fff; font-weight: 700; font-size: 0.85rem; }
.ue-opcion__mapa { font-weight: 600; }
.ue-opcion__precio { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.15; }
.ue-opcion__pp { font-family: var(--ue-font-body); font-size: 0.75rem; font-weight: 500; color: var(--ue-color-muted); }

/* Presupuesto estimado vuelo + hotel */
.ue-presupuesto { margin: 0 0 14px; padding: 16px; border-radius: 12px; background: var(--ue-color-ok-bg); }
.ue-presupuesto__titulo { margin: 0 0 8px; font-weight: 700; color: #145c33; }
.ue-presupuesto dl { margin: 0; display: grid; gap: 4px; }
.ue-presupuesto dl div { display: flex; justify-content: space-between; gap: 12px; font-size: 0.95rem; }
.ue-presupuesto dd { margin: 0; font-weight: 600; white-space: nowrap; }
.ue-presupuesto__total { margin-top: 6px; padding-top: 8px; border-top: 1px solid rgba(20, 92, 51, 0.2); font-size: 1.05rem !important; }
.ue-presupuesto__total dd { font-family: var(--ue-font-heading); font-size: 1.25rem; }

/* Tarjeta resumen: chips */
.ue-resumen-card__chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.ue-resumen-card__chips li, .ue-card__chips span { font-size: 0.8rem; font-weight: 600; padding: 3px 10px; border-radius: 999px; }
.is-ok { background: var(--ue-color-ok-bg); color: #145c33; }
.is-urgente { background: #fdecea; color: var(--ue-color-urgent-strong); }
.ue-resumen-card__antes .ue-badge { font-size: 0.8rem; margin-left: 4px; }

/* Tarjetas: insignias */
.ue-card__badges { position: absolute; top: 12px; left: 12px; display: flex; gap: 6px; }
.ue-card__badges .ue-card__estado { position: static; }
.ue-card__estado--nuevo { background: var(--ue-color-ok); }
.ue-card__ahorro { position: absolute; top: 12px; right: 12px; background: var(--ue-color-urgent-strong); color: #fff; font-family: var(--ue-font-heading); font-weight: 700; font-size: 0.9rem; padding: 4px 10px; border-radius: 8px; }
.ue-card__chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 6px; }

/* Galería: botones que abren el visor */
.ue-galeria { position: relative; }
.ue-galeria__abrir { display: block; width: 100%; height: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; border-radius: inherit; }
.ue-galeria__abrir img { width: 100%; height: 100%; object-fit: cover; }
.ue-galeria__item .ue-galeria__abrir:focus-visible { outline-offset: -4px; }
.ue-galeria__todas { position: absolute; right: 28px; bottom: 12px; width: auto; height: auto; display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 10px; background: rgba(255, 255, 255, 0.95); color: var(--ue-color-primary); font-weight: 600; font-size: 0.88rem; box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2); cursor: pointer; }
@media (min-width: 900px) { .ue-galeria__todas { right: 12px; } }

/* Visor de fotos */
.ue-visor { width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(8, 14, 24, 0.96); color: #fff; }
.ue-visor::backdrop { background: rgba(8, 14, 24, 0.9); }
.ue-visor[open] { display: flex; align-items: center; }
.ue-visor__pista { flex: 1; height: 100%; display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.ue-visor__pista::-webkit-scrollbar { display: none; }
.ue-visor__foto { flex: 0 0 100%; height: 100%; margin: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; scroll-snap-align: center; padding: 56px 12px 24px; }
.ue-visor__foto img { max-width: 100%; max-height: calc(100% - 40px); width: auto; height: auto; object-fit: contain; border-radius: 8px; }
.ue-visor__foto figcaption { font-size: 0.85rem; color: #c9d2de; text-align: center; }
.ue-visor__cerrar, .ue-visor__nav { position: absolute; z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, 0.12); color: #fff; font-size: 1.5rem; cursor: pointer; }
.ue-visor__cerrar { top: 12px; right: 12px; font-size: 1.1rem; }
.ue-visor__nav--prev { left: 12px; }
.ue-visor__nav--next { right: 12px; }
.ue-visor__cerrar:hover, .ue-visor__nav:hover { background: var(--ue-color-accent); color: var(--ue-color-primary); }
@media (hover: none) { .ue-visor__nav { display: none; } }

/* ==========================================================================
   v6 · Ajustes móviles de portada (aeropuertos, tarjetas, calendario)
   ========================================================================== */
.ue-aeros > li, .ue-tiles > li { display: flex; }
.ue-aeros > li > a, .ue-tiles > li > a { flex: 1; }
.ue-aero { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; column-gap: 10px; align-content: center; min-height: 72px; }
.ue-aero::after { position: static; grid-column: 2; grid-row: 1 / 3; align-self: center; width: 8px; height: 8px; border-radius: 0; background: none; border: solid var(--ue-color-muted); border-width: 2px 2px 0 0; transform: rotate(45deg); }
.ue-aero__nombre { font-size: 0.92rem; line-height: 1.3; overflow-wrap: anywhere; }
.ue-aero__iata { line-height: 1.1; }
.ue-tile__nombre { line-height: 1.25; }
.ue-tile__desc { line-height: 1.4; }

@media (max-width: 639px) {
	.ue-tiles { grid-template-columns: minmax(0, 1fr); gap: 8px; }
	.ue-tile { display: grid; grid-template-columns: 44px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 14px; row-gap: 2px; align-items: center; padding: 12px 14px; }
	.ue-tile .ue-icono { grid-row: 1 / 3; margin: 0; }
	.ue-tile__nombre { align-self: end; font-size: 1.02rem; }
	.ue-tile__desc { align-self: start; }
	.ue-tile:not(:has(.ue-tile__desc)) .ue-tile__nombre { grid-row: 1 / 3; align-self: center; }
}

.ue-calendario a { padding: 8px 4px; }
.ue-calendario__mes { line-height: 1.2; text-align: center; overflow-wrap: anywhere; }
.ue-calendario a.has-chollos::after { display: none; }
.ue-calendario a.has-chollos .ue-calendario__anio::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 5px; border-radius: 50%; background: var(--ue-color-ok); vertical-align: 1px; }
@media (max-width: 420px) { .ue-calendario__mes { font-size: 0.92rem; } }

/* Ficha en móvil: precio en línea, opciones en filas y barra fija sin cortes */
.ue-opcion__precio { display: block; text-align: right; }
.ue-opcion__pp { display: block; }
.ue-sticky-cta__precio { min-width: 0; line-height: 1.25; }
.ue-sticky-cta__precio strong { white-space: nowrap; }
@media (max-width: 639px) {
	.ue-opcion--destacada .ue-opcion__accion { width: 100%; margin-left: 0; justify-content: space-between; }
	.ue-opcion--destacada .ue-opcion__precio { text-align: left; }
	.ue-opcion--destacada .ue-btn { flex: 1; max-width: 220px; justify-content: center; }
	.ue-pills { grid-template-columns: minmax(0, 1fr); gap: 6px; }
	.ue-pill { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; align-items: center; min-height: 52px; padding: 8px 14px; }
	.ue-pill__label { grid-column: 1; font-size: 0.95rem; }
	.ue-pill__best { grid-column: 1; }
	.ue-pill__precio { grid-column: 2; grid-row: 1 / span 2; }
	.ue-pill:not(:has(.ue-pill__best)) .ue-pill__label { grid-row: 1 / span 2; }
}

/* Buscadores: sin recuadro interior al escribir y botones a su altura real */
.ue-btn { box-sizing: border-box; }
.ue-buscador input, .ue-buscador input:focus, .ue-filtro input, .ue-filtro input:focus { background: transparent; border: 0; box-shadow: none; border-radius: 0; -webkit-appearance: none; appearance: none; }
.ue-filtros__enviar { min-height: 48px; font-size: 1rem; }
.ue-buscador .ue-btn { min-height: 50px; }

/* Páginas sueltas (legales, contacto…) */
.ue-pagina-simple__cuerpo { max-width: 820px; margin: 24px auto 40px; padding: 24px 20px; background: #fff; border-radius: var(--ue-radius); }
.ue-pagina-simple__cuerpo .ue-prosa > :first-child { margin-top: 0; }
.ue-pagina-simple__fecha { margin: 24px 0 0; font-size: 0.85rem; color: var(--ue-color-muted); }
.ue-prosa .ue-tabla-scroll { overflow-x: auto; margin: 0 0 1.2em; }
.ue-prosa .ue-tabla-scroll table { margin: 0; min-width: 520px; }
@media (min-width: 900px) { .ue-pagina-simple__cuerpo { padding: 36px 44px; } }
@media (max-width: 859px) { .ue-pagina-simple__cuerpo { margin-left: 16px; margin-right: 16px; } }

/* Banner de cookies (Aceptar y Rechazar con el mismo peso visual) */
.ue-cookies { position: fixed; z-index: 1000; left: 12px; right: 12px; bottom: 12px; max-width: 520px; max-height: calc(100vh - 24px); overflow-y: auto; padding: 18px 18px 16px; background: #fff; color: var(--ue-color-primary); border-radius: 16px; box-shadow: 0 12px 40px rgba(15, 27, 45, 0.3); font-size: 0.92rem; line-height: 1.5; }
.ue-cookies[hidden] { display: none; }
.ue-cookies__titulo { margin: 0 0 4px; font-family: var(--ue-font-heading); font-weight: 700; font-size: 1.1rem; }
.ue-cookies__texto { margin: 0 0 14px; color: #334155; }
.ue-cookies__texto a { font-weight: 600; }
.ue-cookies__panel { display: grid; gap: 8px; margin: 0 0 14px; }
.ue-cookies__panel[hidden] { display: none; }
.ue-cookies__cat { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: 10px; background: #f2f4f7; cursor: pointer; font-size: 0.86rem; color: #334155; }
.ue-cookies__cat strong { display: block; color: var(--ue-color-primary); font-size: 0.92rem; }
.ue-cookies__cat input { flex: none; width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--ue-color-primary); }
.ue-cookies__botones { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ue-cookies__btn { box-sizing: border-box; min-height: 44px; padding: 0 16px; border: 0; border-radius: 999px; background: var(--ue-color-primary); color: #fff; font-family: var(--ue-font-heading); font-weight: 700; font-size: 0.98rem; cursor: pointer; }
.ue-cookies__btn:hover, .ue-cookies__btn:focus { background: #1d2f4a; color: #fff; }
.ue-cookies__btn[hidden], .ue-cookies__configurar[hidden] { display: none; }
.ue-cookies.is-config .ue-cookies__btn:not(.ue-cookies__btn--guardar) { background: #fff; color: var(--ue-color-primary); box-shadow: inset 0 0 0 2px var(--ue-color-primary); }
.ue-cookies__btn--guardar { grid-column: 1 / -1; }
.ue-cookies__texto { margin-bottom: 4px; }
.ue-cookies__enlaces { display: flex; align-items: center; gap: 2px 8px; margin: 0 0 12px; font-size: 0.86rem; color: var(--ue-color-muted); }
.ue-cookies__enlaces a, .ue-cookies__configurar { display: inline-flex; align-items: center; min-height: 32px; padding: 0; border: 0; background: none; color: var(--ue-color-muted); font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; }
.ue-cookies__enlaces a:hover, .ue-cookies__enlaces a:focus, .ue-cookies__configurar:hover, .ue-cookies__configurar:focus { background: none; color: var(--ue-color-primary); text-decoration: underline; }
.ue-cookies.is-config .ue-cookies__enlaces span { display: none; }
@media (min-width: 640px) { .ue-cookies { left: 20px; bottom: 20px; padding: 22px 22px 18px; } }
.ue-footer__boton { padding: 0; border: 0; background: none; color: #c9d2de; font: inherit; text-align: left; cursor: pointer; }
.ue-footer__boton:hover, .ue-footer__boton:focus { background: none; color: var(--ue-color-accent); text-decoration: underline; }
.ue-pie-cookies { padding: 0; border: 0; background: none; color: inherit; font: inherit; font-weight: 600; cursor: pointer; }
.ue-pie-cookies:hover, .ue-pie-cookies:focus { background: none; color: inherit; text-decoration: underline; }
@media (min-width: 900px) { .ue-footer { grid-template-columns: 1.3fr repeat(4, 1fr); } }
/* La barra fija de la ficha no debe tapar el pie (enlaces legales) */
@media (max-width: 899px) { body:has(.ue-sticky-cta) .site-footer { padding-bottom: calc(76px + env(safe-area-inset-bottom)); } }
