/*
 * Botones y tarjetas que llevan a Omio (/affiliate/europe-train), con el estilo del botón
 * "Search" de Omio: coral sólido (#FB6B6C) y el ícono de Omio al lado del texto.
 * Se selecciona por href: Japón (Klook) y los hoteles no se tocan.
 *
 * Contraste: el texto va en azul marino oscuro (#0F1B5C) sobre el coral = 5,6:1. El blanco
 * sobre ese coral solo da 2,8:1, por eso no se usa.
 */
:root {
  --omio-coral: #FB6B6C;
  --omio-coral-hover: #F65A5C;
  --omio-navy: #0F1B5C;
  --omio-lavender: #F1F2F6;
}

/* Botones sólidos de reserva */
.ai-segment-buy[href*="/affiliate/europe-train"],
.klook-cta[href*="/affiliate/europe-train"] .klook-cta-btn,
.cta-btn[href*="/affiliate/europe-train"],
.klook-strip[href*="/affiliate/europe-train"] .klook-cta-btn,
a.discover-cta-btn[href*="/affiliate/europe-train"] {
  background: var(--omio-coral);
  background-image: none;
  color: var(--omio-navy);
  font-weight: 700;
  border-color: var(--omio-coral);
  box-shadow: 0 6px 16px rgba(251, 107, 108, 0.35);
  transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.ai-segment-buy[href*="/affiliate/europe-train"]:hover,
.klook-cta[href*="/affiliate/europe-train"]:hover .klook-cta-btn,
.cta-btn[href*="/affiliate/europe-train"]:hover,
.klook-strip[href*="/affiliate/europe-train"]:hover .klook-cta-btn,
a.discover-cta-btn[href*="/affiliate/europe-train"]:hover {
  background: var(--omio-coral-hover);
  box-shadow: 0 8px 20px rgba(251, 107, 108, 0.45);
}

/* Ícono de Omio dentro de los botones que no lo traen ya en su tarjeta */
.ai-segment-buy[href*="/affiliate/europe-train"]::before,
.cta-btn[href*="/affiliate/europe-train"]::before,
a.discover-cta-btn[href*="/affiliate/europe-train"]::before,
.ai-quick-book-link[href*="/affiliate/europe-train"]::before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 22px;
  margin-right: 10px;
  vertical-align: middle;
  border-radius: 6px;
  background: #fff url("https://www.google.com/s2/favicons?sz=64&domain=omio.com") center / 16px 16px no-repeat;
  box-shadow: 0 0 0 1px rgba(15, 27, 92, 0.12);
}

/* Botones de texto en línea y enlaces rápidos */
.cta-btn-inline[href*="/affiliate/europe-train"],
.ai-quick-book-link[href*="/affiliate/europe-train"] {
  background: rgba(251, 107, 108, 0.16);
  border-color: rgba(251, 107, 108, 0.6);
  color: var(--omio-navy);
  font-weight: 600;
}
.cta-btn-inline[href*="/affiliate/europe-train"]:hover,
.ai-quick-book-link[href*="/affiliate/europe-train"]:hover {
  background: rgba(251, 107, 108, 0.28);
}

/* Tarjeta de reserva: lavanda de Omio con borde coral */
.klook-cta[href*="/affiliate/europe-train"],
.klook-strip[href*="/affiliate/europe-train"] {
  background: linear-gradient(135deg, var(--omio-lavender) 0%, #E8F1FC 100%);
  border-color: rgba(251, 107, 108, 0.55);
}
.klook-cta[href*="/affiliate/europe-train"]:hover,
.klook-strip[href*="/affiliate/europe-train"]:hover {
  border-color: var(--omio-coral);
}
.klook-cta[href*="/affiliate/europe-train"] .klook-cta-title { color: #182C66; }
.klook-cta[href*="/affiliate/europe-train"] .klook-cta-city { color: #182C66; }

a[href*="/affiliate/europe-train"]:focus-visible {
  outline: 2px solid #182C66;
  outline-offset: 2px;
}

/* ===== Buscador de la portada con los colores de Omio (modo Europa) =====
   Índigo en las pestañas, campo lavanda, botón coral y subrayado coral en la pestaña activa.
   El texto del botón va en azul marino (5,6:1 sobre el coral; el blanco solo da 2,8:1). */
body.home-v2:not([data-region="japan"]) .search-tab,
body.home-v2:not([data-region="japan"]) .region-switch { background: rgba(24, 44, 102, .62); }
body.home-v2:not([data-region="japan"]) .search-tab.on {
  background: #fff; color: var(--omio-navy); box-shadow: inset 0 -3px 0 var(--omio-coral);
}
body.home-v2:not([data-region="japan"]) .region-btn.on { background: #fff; color: var(--omio-navy); }
body.home-v2:not([data-region="japan"]) .search-tab:focus-visible,
body.home-v2:not([data-region="japan"]) .region-btn:focus-visible { outline-color: #182C66; }
body.home-v2:not([data-region="japan"]) .search-card { box-shadow: 0 24px 60px rgba(24, 44, 102, .22); }
body.home-v2:not([data-region="japan"]) .search-card .ai-input-aurora { background: var(--omio-lavender); }
body.home-v2:not([data-region="japan"]) .search-card .ai-input-container input { color: var(--omio-navy); }
body.home-v2:not([data-region="japan"]) .search-card .ai-generate-btn {
  background: var(--omio-coral) !important; color: var(--omio-navy) !important; font-weight: 700;
  box-shadow: 0 8px 20px rgba(251, 107, 108, .35) !important;
}
body.home-v2:not([data-region="japan"]) .search-card .ai-generate-btn:hover { background: var(--omio-coral-hover) !important; filter: none; }
body.home-v2:not([data-region="japan"]) .search-card .ai-suggestion { border-color: rgba(24, 44, 102, .2); color: var(--omio-navy); }
body.home-v2:not([data-region="japan"]) .search-card .ai-suggestion:hover { background: #EEF3FB; border-color: rgba(24, 44, 102, .4); }
body.home-v2:not([data-region="japan"]) .search-card .ai-restore-btn { color: var(--omio-navy); }
body.home-v2:not([data-region="japan"]) .search-card .search-note { color: #4A5578; }
body.home-v2:not([data-region="japan"]) .search-card .ai-swap-btn { border-color: rgba(24, 44, 102, .35); color: var(--omio-navy); }

/* Modo Japón: el mismo tratamiento con el naranja de Klook */
body.home-v2[data-region="japan"] .search-tab.on { background: #fff; color: #2A2118; box-shadow: inset 0 -3px 0 #FF5B00; }
body.home-v2[data-region="japan"] .region-btn.on { background: #fff; color: #2A2118; }
body.home-v2[data-region="japan"] .search-card .ai-generate-btn {
  background: #FF5B00 !important; color: #2A2118 !important; font-weight: 700; box-shadow: 0 8px 20px rgba(255, 91, 0, .35) !important;
}
body.home-v2[data-region="japan"] .search-card .ai-generate-btn:hover { background: #F25200 !important; filter: none; }
body.home-v2[data-region="japan"] .search-card .ai-restore-btn { color: #2A2118; }

/* ===== Tarjeta de resultado del planificador (modo Europa) con el estilo de Omio =====
   Fondo lavanda, borde índigo suave, títulos en azul marino, barras de duración índigo → coral. */
body.home-v2:not([data-region="japan"]) .search-card .ai-results .ai-segment {
  background: linear-gradient(135deg, #F7F8FC 0%, #EEF3FB 100%) !important;
  border: 1px solid rgba(24, 44, 102, .14) !important;
  box-shadow: 0 10px 28px rgba(24, 44, 102, .08) !important;
}
body.home-v2:not([data-region="japan"]) .search-card .ai-segment-route,
body.home-v2:not([data-region="japan"]) .search-card .ai-segment-time { color: var(--omio-navy); }
body.home-v2:not([data-region="japan"]) .search-card .ai-segment .pi { border-top-color: rgba(24, 44, 102, .14); }
body.home-v2:not([data-region="japan"]) .search-card .pi .rp-eyebrow { color: #4A5578; }
body.home-v2:not([data-region="japan"]) .search-card .pi .rp-row { border-top-color: rgba(24, 44, 102, .1); }
body.home-v2:not([data-region="japan"]) .search-card .pi .rp-label,
body.home-v2:not([data-region="japan"]) .search-card .pi .rp-time { color: var(--omio-navy); }
body.home-v2:not([data-region="japan"]) .search-card .pi .rp-price,
body.home-v2:not([data-region="japan"]) .search-card .pi .rp-note { color: #4A5578; }
body.home-v2:not([data-region="japan"]) .search-card .pi .rp-ico { color: #5C6898; }
body.home-v2:not([data-region="japan"]) .search-card .pi .rp-row.is-train .rp-ico { color: var(--omio-navy); }
body.home-v2:not([data-region="japan"]) .search-card .pi .rp-bar { background: rgba(24, 44, 102, .1); }
body.home-v2:not([data-region="japan"]) .search-card .pi .rp-bar i { background: #9AA6C8; }
body.home-v2:not([data-region="japan"]) .search-card .pi .rp-row.is-train .rp-bar i { background: linear-gradient(90deg, #5C6898, var(--omio-coral)); }
body.home-v2:not([data-region="japan"]) .search-card .pi-guide {
  color: var(--omio-navy); border-bottom-color: var(--omio-coral);
}
body.home-v2:not([data-region="japan"]) .search-card .pi-guide:hover { border-bottom-color: var(--omio-navy); }
body.home-v2:not([data-region="japan"]) .search-card .pi-guide:focus-visible { outline-color: var(--omio-navy); }
body.home-v2:not([data-region="japan"]) .search-card .pi-gcard-title { color: var(--omio-navy); }
body.home-v2:not([data-region="japan"]) .search-card .pi-gcard-arrow { color: var(--omio-coral); }
body.home-v2:not([data-region="japan"]) .search-card .pi-gcard:hover { border-color: var(--omio-coral); }

/* ===== Tarjeta de resultado del planificador (modo Japón) con el estilo de Klook =====
   Fondo crema-naranja, texto marrón oscuro, barras naranjas y botón naranja con el ícono de Klook. */
body.home-v2[data-region="japan"] .search-card .ai-results .ai-segment {
  background: linear-gradient(135deg, #FFFAF6 0%, #FFEFE3 100%) !important;
  border: 1px solid rgba(255, 91, 0, .22) !important;
  box-shadow: 0 10px 28px rgba(255, 91, 0, .08) !important;
}
body.home-v2[data-region="japan"] .search-card .ai-segment-route,
body.home-v2[data-region="japan"] .search-card .ai-segment-time { color: #2A2118; }
body.home-v2[data-region="japan"] .search-card .ai-segment-train {
  background: #FFE3D1; color: #8A3300; border-color: rgba(255, 91, 0, .35);
}
body.home-v2[data-region="japan"] .search-card .ai-segment .pi { border-top-color: rgba(255, 91, 0, .22); }
body.home-v2[data-region="japan"] .search-card .pi .rp-eyebrow,
body.home-v2[data-region="japan"] .search-card .pi .rp-price,
body.home-v2[data-region="japan"] .search-card .pi .rp-note { color: #6B5B4D; }
body.home-v2[data-region="japan"] .search-card .pi .rp-row { border-top-color: rgba(255, 91, 0, .16); }
body.home-v2[data-region="japan"] .search-card .pi .rp-label,
body.home-v2[data-region="japan"] .search-card .pi .rp-time { color: #2A2118; }
body.home-v2[data-region="japan"] .search-card .pi .rp-ico { color: #B07A5C; }
body.home-v2[data-region="japan"] .search-card .pi .rp-row.is-train .rp-ico { color: #FF5B00; }
body.home-v2[data-region="japan"] .search-card .pi .rp-bar { background: rgba(255, 91, 0, .12); }
body.home-v2[data-region="japan"] .search-card .pi .rp-bar i { background: #E5B79D; }
body.home-v2[data-region="japan"] .search-card .pi .rp-row.is-train .rp-bar i { background: linear-gradient(90deg, #FF8A3D, #FF5B00); }
body.home-v2[data-region="japan"] .search-card .pi-guide { color: #2A2118; border-bottom-color: #FF5B00; }
body.home-v2[data-region="japan"] .search-card .pi-guide:hover { border-bottom-color: #2A2118; }
body.home-v2[data-region="japan"] .search-card .pi-guide:focus-visible { outline-color: #2A2118; }
body.home-v2[data-region="japan"] .search-card .pi-gcard-title { color: #2A2118; }
body.home-v2[data-region="japan"] .search-card .pi-gcard-arrow { color: #FF5B00; }
body.home-v2[data-region="japan"] .search-card .pi-gcard:hover { border-color: #FF5B00; }

/* Botón de reserva en Japón: naranja de Klook con su ícono */
body.home-v2[data-region="japan"] .ai-segment-buy[data-klook] {
  background: #FF5B00; background-image: none; color: #2A2118; font-weight: 700; border-color: #FF5B00;
  box-shadow: 0 6px 16px rgba(255, 91, 0, .35); transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
body.home-v2[data-region="japan"] .ai-segment-buy[data-klook]:hover { background: #F25200; box-shadow: 0 8px 20px rgba(255, 91, 0, .45); }
body.home-v2[data-region="japan"] .ai-segment-buy[data-klook]::before {
  content: ""; display: inline-block; width: 22px; height: 22px; margin-right: 10px; vertical-align: middle; border-radius: 6px;
  background: #fff url("https://www.google.com/s2/favicons?sz=64&domain=klook.com") center / 16px 16px no-repeat;
  box-shadow: 0 0 0 1px rgba(42, 33, 24, .12);
}

/* Código de descuento dentro del resultado del planificador */
body.home-v2 .search-card .ai-segment > .omo { grid-column: 1 / -1; grid-row: 4; min-width: 0; margin: 14px 0 0; }
@media (max-width: 760px) { body.home-v2 .search-card .ai-segment > .omo { grid-column: 1; grid-row: auto; } }

/* Con el código de descuento a la vista, el panel de opciones se reduce a la fila del tren (sin bus ni avión) */
body.home-v2 .search-card .ai-segment.has-offer .pi .rp-row:not(.is-train) { display: none; }
body.home-v2 .search-card .ai-segment.has-offer .pi .rp-modes { padding-bottom: 0; }
body.home-v2 .search-card .ai-segment.has-offer .pi .rp-note { padding-bottom: 0; }

/* Hoteles: panel dentro de la tarjeta del buscador, a la manera de la barra de Klook */
body.hotels-mode .region-btn.on:not(.region-hotels) { background: transparent !important; color: #fff !important; }
body.hotels-mode .region-hotels { background: #fff !important; color: #2A2118 !important; }
.hotels-panel { padding: 4px 0 0; }
.hotels-bar { display: flex; gap: 12px; align-items: stretch; }
.hotels-field { position: relative; flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 2px; padding: 10px 20px; background: #eef2fb; border-radius: 14px; border: 2px solid transparent; cursor: text; }
.hotels-field:focus-within { border-color: #2f6df6; background: #fff; }
.hotels-lab { font-size: 13px; color: #55565f; }
.hotels-input { border: 0; outline: 0; background: transparent; font: inherit; font-size: 20px; font-weight: 600; color: #14151a; width: 100%; padding: 0; }
.hotels-input::placeholder { color: #8a8b95; font-weight: 500; }
.hotels-go { appearance: none; border: 0; cursor: pointer; font: inherit; font-size: 17px; font-weight: 700; color: #fff; background: #ff5b00; padding: 0 34px; border-radius: 14px; white-space: nowrap; }
.hotels-go:hover { filter: brightness(1.06); }
.hotels-list { display: none; position: absolute; left: 0; right: 0; top: calc(100% + 8px); z-index: 30; background: #fff; border: 1px solid rgba(20,21,26,.12); border-radius: 14px; box-shadow: 0 16px 36px rgba(20,21,26,.16); padding: 6px; max-height: 300px; overflow-y: auto; }
.hotels-list.open { display: block; }
.hotels-opt { display: block; width: 100%; text-align: left; appearance: none; border: 0; background: transparent; font: inherit; font-size: 16px; padding: 10px 14px; border-radius: 10px; cursor: pointer; color: #14151a; }
.hotels-opt:hover { background: #eef2fb; }
.hotels-none { padding: 12px 14px; font-size: 14px; color: #55565f; }
.hotels-pop { margin-top: 18px; }
.hotels-pop-lab { display: block; font-size: 14px; font-weight: 600; color: #14151a; margin-bottom: 10px; }
.hotels-pop-row { display: flex; flex-wrap: wrap; gap: 8px; }
.hotels-city { appearance: none; cursor: pointer; font: inherit; font-size: 15px; font-weight: 500; padding: 9px 16px; border-radius: 999px; background: #f2f3f7; border: 0; color: #14151a; }
.hotels-city:hover { background: #e4e7f0; }
@media (max-width: 640px) { .hotels-bar { flex-direction: column; } .hotels-go { padding: 14px; } }

.hotels-date { flex: 0 0 230px; }
.hotels-date input { border: 0; outline: 0; background: transparent; font: inherit; font-size: 16px; min-width: 0; font-weight: 600; color: #14151a; padding: 0; width: 100%; }
@media (max-width: 900px) { .hotels-date { flex: 1 1 140px; } .hotels-bar { flex-wrap: wrap; } .hotels-field:not(.hotels-date) { flex: 1 1 100%; } .hotels-go { flex: 1 1 100%; } }

/* Hoteles: cuadrícula de fotos como fondo de la portada */
.hotel-mosaic { display: none; }
body.hotels-mode .hero-title-card { position: relative; }
body.hotels-mode .hero-title-card::before { opacity: 0; }
body.hotels-mode .hotel-mosaic {
  display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(2, 1fr); gap: 8px;
  position: absolute; inset: 0; z-index: 0; padding: 8px; pointer-events: none;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 82%, transparent 100%); mask-image: linear-gradient(to bottom, #000 0%, #000 82%, transparent 100%);
}
body.hotels-mode .hotel-mosaic img { width: 100%; height: 100%; object-fit: cover; border-radius: 18px; display: block; filter: brightness(1.12) saturate(1.05); }
body.hotels-mode .hotel-mosaic::after {
  content: ''; position: absolute; inset: 0; border-radius: 0;
  background: linear-gradient(180deg, rgba(10,12,14,.5) 0%, rgba(10,12,14,.3) 45%, rgba(10,12,14,.08) 100%);
}
body.hotels-mode .hero-title-card > *:not(.hotel-mosaic) { position: relative; z-index: 1; }
@media (max-width: 760px) { body.hotels-mode .hotel-mosaic { grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(4, 1fr); } }

/* Ruleta en modo Japón: el botón "Me quedo" reserva en Klook, así que lleva su color e ícono (no los de Omio) */
body[data-region="japan"] a.discover-cta-btn[href*="/affiliate/europe-train"] {
  background: #FF5B00; border-color: #FF5B00; color: #fff; box-shadow: 0 6px 16px rgba(255, 91, 0, .35);
}
body[data-region="japan"] a.discover-cta-btn[href*="/affiliate/europe-train"]:hover { background: #E65200; box-shadow: 0 8px 20px rgba(255, 91, 0, .45); }
body[data-region="japan"] a.discover-cta-btn[href*="/affiliate/europe-train"]::before {
  background: #fff url("https://www.google.com/s2/favicons?sz=64&domain=klook.com") center / 16px 16px no-repeat;
}

.hotels-all { appearance: none; cursor: pointer; font: inherit; font-size: 15px; font-weight: 600; padding: 9px 16px; border-radius: 999px; background: transparent; border: 1px dashed rgba(20,21,26,.35); color: #14151a; margin-top: 10px; }
.hotels-all:hover { background: #f2f3f7; }
.hotels-allbox { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; max-height: 260px; overflow-y: auto; padding-right: 4px; }
.hotels-allbox[hidden] { display: none; }

/* País como chip de color Omio, en su propia fila */
.hotels-allbox .hotels-group { flex: 0 0 100%; margin: 10px 0 0; text-transform: none; letter-spacing: 0; }
.hotels-allbox .hotels-group:first-child { margin-top: 0; }
.hotels-flag { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 5px 14px; border-radius: 999px; background: var(--omio-lavender, #EEF3FB); color: var(--omio-navy, #182C66); border: 1.5px solid var(--omio-coral, #FB6B6C); }

/* Franja Omio detrás del planificador: cielo azul suave con un toque de durazno, como la cabecera de Omio (en modo Japón, durazno Klook) */
body.home-v2 .search-card { position: relative; z-index: 2; }
body.home-v2 .trust-band { position: relative; z-index: 1; margin-top: -64px; padding: 96px 16px 30px; }
body.home-v2 .trust-band::before {
  content: ''; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%);
  background:
    radial-gradient(ellipse 60% 90% at 88% 100%, rgba(255, 200, 190, .55) 0%, rgba(255, 200, 190, 0) 70%),
    radial-gradient(ellipse 55% 80% at 12% 0%, rgba(255, 255, 255, .45) 0%, rgba(255, 255, 255, 0) 70%),
    linear-gradient(180deg, #7FA3DB 0%, #A9C1E8 55%, #CFDBF2 100%);
  border-bottom: 4px solid var(--omio-coral, #FB6B6C);
}
body.home-v2[data-region="japan"] .trust-band::before {
  background:
    radial-gradient(ellipse 60% 90% at 88% 100%, rgba(255, 170, 120, .45) 0%, rgba(255, 170, 120, 0) 70%),
    linear-gradient(180deg, #FFC9A3 0%, #FFDCC2 55%, #FFEBDA 100%);
  border-bottom-color: #FF5B00;
}
body.home-v2 .trust-band .search-benefits b { color: #0F1B5C; }
body.home-v2 .trust-band .search-benefits span { color: #2b3d78; }
body.home-v2 .trust-band .search-benefits svg { background: rgba(255,255,255,.7); stroke: #0F1B5C; }
body.home-v2 .trust-band .search-extras .hero-ops-klook { color: #1c2c68; }
body.home-v2[data-region="japan"] .trust-band .search-benefits b { color: #2A2118; }
body.home-v2[data-region="japan"] .trust-band .search-benefits span,
body.home-v2[data-region="japan"] .trust-band .search-extras .hero-ops-klook { color: #5a4636; }
body.home-v2[data-region="japan"] .trust-band .search-benefits svg { stroke: #E65200; }
html, body.home-v2 { overflow-x: clip; }

/* Operadores sueltos sobre la franja: sin chip, solo logo y nombre */
body.home-v2 .trust-band .op-chip { background: transparent; border: 0; box-shadow: none; padding: 6px 10px; color: #0F1B5C; backdrop-filter: none; -webkit-backdrop-filter: none; }
body.home-v2 .trust-band .op-chip img { border-radius: 8px; background: rgba(255,255,255,.85); padding: 3px; box-sizing: content-box; }
body.home-v2[data-region="japan"] .trust-band .op-chip { color: #2A2118; }

body.home-v2[data-region="japan"] .hero-title-card::before { filter: brightness(1.12) saturate(1.06); }

/* Modo Japón: una sola guía, centrada */
body[data-region="japan"] .guides-grid { grid-template-columns: minmax(0, 420px); justify-content: center; }

/* Destinos de Japón: 8 tarjetas en filas completas (4 + 4, 2 × 4 o 1 columna), sin tarjetas sueltas */
.jp-discover-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1100px) { .jp-discover-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .jp-discover-grid { grid-template-columns: minmax(0, 1fr); } }

/* Franja de rutas: bordes que se desvanecen sobre el fondo cálido (sin degradado blanco) */
.stats-marquee::before, .stats-marquee::after { display: none !important; }
.stats-marquee { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%); }

/* Modo Japón: pestañas y selector de región en durazno Klook suave (sin el fondo negro) */
body.home-v2[data-region="japan"] .search-tab:not(.on),
body.home-v2[data-region="japan"] .region-switch {
  background: rgba(255, 206, 168, .4);
  -webkit-backdrop-filter: blur(10px) saturate(1.2); backdrop-filter: blur(10px) saturate(1.2);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .45);
}
body.home-v2[data-region="japan"] .search-tab:not(.on) { color: #1f1710; text-shadow: 0 1px 0 rgba(255,255,255,.35); }
body.home-v2[data-region="japan"] .search-tab:not(.on):hover { background: rgba(255, 220, 195, .62); }
body.home-v2[data-region="japan"] .region-btn:not(.on) { color: #2A2118; }
body.home-v2[data-region="japan"] .region-btn:not(.on):hover { background: rgba(255, 255, 255, .45); }
body.home-v2[data-region="japan"].hotels-mode .region-btn.on:not(.region-hotels) { color: #2A2118 !important; }

/* Reservas de Omio en "Arma tu aventura" y "Trenes panorámicos": coral suave de Omio con texto azul, no el rojo intenso */
body.home-v2:not([data-region="japan"]) .wt-stop-buy,
body.home-v2:not([data-region="japan"]) #wt-cta-slot a {
  background: var(--omio-coral, #FB6B6C); color: var(--omio-navy, #0F1B5C); font-weight: 700; border: 0;
  box-shadow: 0 6px 16px rgba(251, 107, 108, .35); display: inline-flex; align-items: center; gap: 10px;
}
body.home-v2:not([data-region="japan"]) .wt-stop-buy:hover,
body.home-v2:not([data-region="japan"]) #wt-cta-slot a:hover { background: var(--omio-coral-hover, #F55A5B); }
body.home-v2:not([data-region="japan"]) .wt-stop-buy::before {
  content: ""; flex: 0 0 22px; height: 22px; border-radius: 6px;
  background: #fff url("https://www.google.com/s2/favicons?sz=64&domain=omio.com") center / 16px 16px no-repeat;
  box-shadow: 0 0 0 1px rgba(15, 27, 92, .12);
}
body.home-v2:not([data-region="japan"]) .scenic-cta { color: var(--omio-navy, #0F1B5C); background: rgba(251, 107, 108, .16); border-color: rgba(251, 107, 108, .7); }
body.home-v2:not([data-region="japan"]) .scenic-cta:hover { background: rgba(251, 107, 108, .3); }
/* Japón: lo mismo con el naranja de Klook */
body.home-v2[data-region="japan"] .wt-stop-buy { background: #FF5B00; color: #2A2118; font-weight: 700; box-shadow: 0 6px 16px rgba(255, 91, 0, .35); }
body.home-v2[data-region="japan"] .wt-stop-buy:hover { background: #E65200; }
body.home-v2[data-region="japan"] .scenic-cta { color: #2A2118; background: rgba(255, 91, 0, .14); border-color: rgba(255, 91, 0, .7); }

/* Chip de idioma: azul Omio suave (en modo Japón, durazno Klook) */
.lang-btn, body.home-v2 .lang-btn { background: #CFDBF2 !important; color: var(--omio-navy, #0F1B5C) !important; border: 1px solid rgba(15, 27, 92, .14) !important; transition: background-color .2s ease; }
.lang-btn:hover, body.home-v2 .lang-btn:hover { background: #BCCDEB !important; }
body.home-v2[data-region="japan"] .lang-btn { background: #FFDCC2 !important; color: #2A2118 !important; border-color: rgba(42, 33, 24, .14) !important; }
body.home-v2[data-region="japan"] .lang-btn:hover { background: #FFCDA8 !important; }
.lang-option.active { background: rgba(207, 219, 242, .6); color: var(--omio-navy, #0F1B5C); }

/* Vídeo en las tarjetas de destinos de Japón (sobre la foto, que queda de respaldo) */
.jp-discover-grid .discover-video {
  position: absolute; left: 0; top: 0; width: 100%; height: 190px; object-fit: cover; z-index: 0;
  border-radius: 22px 22px 0 0; opacity: 0; transition: opacity .6s ease; pointer-events: none; background: transparent;
}
.jp-discover-grid .discover-video.is-on { opacity: 1; }
body.home-v2[data-region="japan"] .discover-grid .discover-card .discover-watch { background: #FF5B00; color: #2A2118; }
body.home-v2[data-region="japan"] .discover-card .discover-season { color: #C24A00; }

/* Esenciales de viaje: línea Omio suave (azul marino, coral y lavanda); en modo Japón, naranja Klook */
body.home-v2 #partners .section-label { color: var(--omio-navy, #0F1B5C); }
body.home-v2 #partners .vip-label { color: #2b3d78; }
body.home-v2 .vip-card { border-color: rgba(15, 27, 92, .16); }
body.home-v2 .vip-card:hover { border-color: var(--omio-coral, #FB6B6C); box-shadow: 0 10px 26px rgba(251, 107, 108, .18); }
body.home-v2 .vip-sub { color: #2b3d78; }
body.home-v2 .essentials-bar { border-color: rgba(15, 27, 92, .14); }
body.home-v2 .essential-item { background: var(--omio-lavender, #F1F2F6); border-color: rgba(15, 27, 92, .12); }
body.home-v2 .essential-item:hover { border-color: var(--omio-coral, #FB6B6C); background: #fff; }
body.home-v2 .essential-brand, body.home-v2 .essential-item:hover .essential-brand { color: var(--omio-navy, #0F1B5C); }
body.home-v2 .essential-icon, body.home-v2 .essential-item:hover .essential-icon { color: #E4575A; }
body.home-v2 .essential-cta, body.home-v2 .essential-item:hover .essential-cta { color: #2b3d78; }
body.home-v2[data-region="japan"] #partners .section-label { color: #C24A00; }
body.home-v2[data-region="japan"] #partners .vip-label { color: #8a4a1a; }
body.home-v2[data-region="japan"] .vip-card { border-color: rgba(255, 91, 0, .3); }
body.home-v2[data-region="japan"] .vip-card:hover { border-color: #FF5B00; box-shadow: 0 10px 26px rgba(255, 91, 0, .18); }
body.home-v2[data-region="japan"] .vip-sub { color: #8a4a1a; }
body.home-v2[data-region="japan"] .essentials-bar { border-color: rgba(255, 91, 0, .22); }
body.home-v2[data-region="japan"] .essential-item { background: #FFF3EA; border-color: rgba(255, 91, 0, .22); }
body.home-v2[data-region="japan"] .essential-item:hover { border-color: #FF5B00; background: #fff; }
body.home-v2[data-region="japan"] .essential-brand, body.home-v2[data-region="japan"] .essential-item:hover .essential-brand { color: #2A2118; }
body.home-v2[data-region="japan"] .essential-icon, body.home-v2[data-region="japan"] .essential-item:hover .essential-icon { color: #FF5B00; }
body.home-v2[data-region="japan"] .essential-cta, body.home-v2[data-region="japan"] .essential-item:hover .essential-cta { color: #8a4a1a; }

/* Títulos de sección: azul Omio medio en vez de negro (en modo Japón, marrón cálido Klook); el de descarga se queda blanco */
body.home-v2 .section h2,
body.home-v2 .guides-home h2,
body.home-v2 #faq h2,
body.home-v2 #discover h2,
body.home-v2 section[style*="max-width:1100px"] h2 { color: #1F3A93; }
body.home-v2[data-region="japan"] .section h2,
body.home-v2[data-region="japan"] .guides-home h2,
body.home-v2[data-region="japan"] #faq h2,
body.home-v2[data-region="japan"] #discover h2,
body.home-v2[data-region="japan"] section[style*="max-width:1100px"] h2 { color: #8A3A10; }

/* "Rutas por país": fondo azul Omio suave (durazno Klook en modo Japón), chips blancos con texto azul marino */
body.home-v2 .search-card:has(.search-panel[data-panel="countries"].on) { background: linear-gradient(180deg, #EAF0FB 0%, #DCE7F8 100%); }
body.home-v2[data-region="japan"] .search-card:has(.search-panel[data-panel="countries"].on) { background: linear-gradient(180deg, #FFF1E5 0%, #FFE2CC 100%); }
body.home-v2 .search-panel[data-panel="countries"] .section-label { color: var(--omio-navy, #0F1B5C) !important; }
body.home-v2[data-region="japan"] .search-panel[data-panel="countries"] .section-label { color: #8A3A10 !important; }
body.home-v2 .search-panel[data-panel="countries"] .country-chip { background: #fff !important; border: 1px solid rgba(15, 27, 92, .16) !important; color: var(--omio-navy, #0F1B5C) !important; box-shadow: 0 2px 8px rgba(15, 27, 92, .08) !important; font-weight: 600 !important; }
body.home-v2 .search-panel[data-panel="countries"] .country-chip:hover,
body.home-v2 .search-panel[data-panel="countries"] .country-chip.show-photo { border-color: var(--omio-coral, #FB6B6C) !important; background: #fff !important; color: var(--omio-navy, #0F1B5C) !important; box-shadow: 0 6px 16px rgba(251, 107, 108, .22) !important; }
body.home-v2[data-region="japan"] .search-panel[data-panel="countries"] .country-chip { border-color: rgba(255, 91, 0, .3) !important; color: #2A2118 !important; box-shadow: 0 2px 8px rgba(138, 58, 16, .1) !important; }
body.home-v2[data-region="japan"] .search-panel[data-panel="countries"] .country-chip:hover,
body.home-v2[data-region="japan"] .search-panel[data-panel="countries"] .country-chip.show-photo { border-color: #FF5B00 !important; color: #2A2118 !important; box-shadow: 0 6px 16px rgba(255, 91, 0, .22) !important; }

/* Ventanas de rutas por país: más rutas ahora, así que la lista se desplaza dentro y "Más países" va en dos columnas */
body.home-v2 .country-popup .country-routes { max-height: 300px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
body.home-v2 .country-popup.wide { width: 420px; }
body.home-v2 .country-popup.wide .country-routes { max-height: 340px; column-count: 2; column-gap: 18px; }
body.home-v2 .country-popup.wide .group-label { break-after: avoid; break-inside: avoid; margin-top: 10px; }
body.home-v2 .country-popup.wide .group-label:first-child { margin-top: 0; }
body.home-v2 .country-popup.wide .country-routes a { break-inside: avoid; }
@media (max-width: 600px) { body.home-v2 .country-popup.wide { width: min(92vw, 360px); } body.home-v2 .country-popup.wide .country-routes { column-count: 1; } }

/* Corrige el recorte de las filas: con altura máxima, los enlaces del flex se encogían y se cortaban */
body.home-v2 .country-popup .country-routes a,
body.home-v2 .country-popup .country-routes .group-label { flex: 0 0 auto; }
body.home-v2 .country-popup.wide .country-routes { display: block; }
body.home-v2 .country-popup.wide .country-routes a { display: block; margin-bottom: 3px; }
@media (hover: hover) and (pointer: fine) { body.home-v2 .country-popup .country-routes a:hover { background: rgba(251, 107, 108, .16); color: var(--omio-navy, #0F1B5C); } }
body.home-v2[data-region="japan"] .country-popup .country-routes a:hover { background: rgba(255, 91, 0, .14); color: #2A2118; }
body.home-v2 .country-popup .country-routes .group-label { color: #2b3d78; }
body.home-v2[data-region="japan"] .country-popup .country-routes .group-label { color: #8a4a1a; }

/* Resultado del planificador: todo el ancho de la tarjeta, cabecera centrada, tarjetas de tramo iguales y botones alineados */
body.home-v2 .search-card .ai-results { max-width: none; width: 100%; margin: 6px 0 0; padding: 0; }
body.home-v2 .search-card .ai-results-header { text-align: center; max-width: 880px; margin: 0 auto 8px; }
body.home-v2 .search-card .ai-results-header h3 { text-align: center; color: var(--omio-navy, #0F1B5C); }
body.home-v2 .search-card .ai-results-header p { text-align: center; }
body.home-v2 .search-card .ai-stops { max-width: 100%; }
body.home-v2 .search-card .ai-multileg-note { text-align: center; margin: 10px auto 14px; max-width: 760px; }
body.home-v2 .search-card .ai-segments { width: 100%; max-width: 100%; gap: 16px; align-items: stretch; grid-template-columns: minmax(0, 1fr); }
body.home-v2 .search-card .ai-segments.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.home-v2 .search-card .ai-segments.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.home-v2 .search-card .ai-segments.cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.home-v2 .search-card .ai-segments.cols-1 { grid-template-columns: minmax(0, 860px); justify-content: center; }
@media (max-width: 900px) { body.home-v2 .search-card .ai-segments, body.home-v2 .search-card .ai-segments.cols-3, body.home-v2 .search-card .ai-segments.cols-4 { grid-template-columns: minmax(0, 1fr); } }
body.home-v2 .search-card .ai-segments[class*="cols-"]:not(.cols-1) .ai-segment { height: 100%; }
body.home-v2 .search-card .ai-segments[class*="cols-"]:not(.cols-1) .ai-segment .pi { flex: 1 1 auto; }
body.home-v2 .search-card .ai-segments[class*="cols-"]:not(.cols-1) .ai-segment > a.ai-segment-buy { margin-top: auto; }
body.home-v2 .search-card .ai-results > .omo-strip { max-width: 880px; margin: 18px auto 6px; }

/* Botón de Omio en las tarjetas de tramo: con aire respecto a la pastilla del operador, más angosto y en una línea */
body.home-v2 .search-card .ai-segments[class*="cols-"]:not(.cols-1) .ai-segment > a.ai-segment-buy {
  margin: 16px auto 0; width: auto; max-width: 100%; align-self: center; padding: 11px 22px; font-size: 14.5px; line-height: 1.2;
  white-space: nowrap; display: inline-flex; align-items: center; justify-content: center; gap: 9px; border-radius: 99px;
}
body.home-v2 .search-card .ai-segment .ai-segment-train { margin-bottom: 4px; }
body.home-v2 .search-card .ai-segments[class*="cols-"]:not(.cols-1) .ai-segment > a.ai-segment-buy::before { flex: 0 0 20px; width: 20px; height: 20px; margin-right: 0; }
@media (max-width: 420px) { body.home-v2 .search-card .ai-segments[class*="cols-"]:not(.cols-1) .ai-segment > a.ai-segment-buy { white-space: normal; text-align: center; } }

.ai-incomplete-note { margin: 10px auto 14px; max-width: 760px; text-align: center; font-size: 13.5px; font-weight: 600; color: #8A3A10; background: #FFF1E5; border: 1px solid rgba(255, 91, 0, .3); border-radius: 12px; padding: 9px 14px; }

/* Hoteles en móvil: ciudad y botón a todo el ancho, entrada y salida lado a lado y compactas (antes medían 230 px de alto) */
@media (max-width: 640px) {
  .hotels-bar { flex-direction: row; flex-wrap: wrap; gap: 10px; }
  .hotels-bar > .hotels-field:not(.hotels-date), .hotels-bar > .hotels-go { flex: 1 1 100%; }
  .hotels-bar > .hotels-date { flex: 1 1 calc(50% - 5px); min-width: 0; padding: 9px 14px; }
  .hotels-go { padding: 14px; }
  .hotels-date input { height: 24px; min-height: 24px; font-size: 15px; line-height: 24px; -webkit-appearance: none; appearance: none; background: transparent; padding: 0; }
  .hotels-date input::-webkit-date-and-time-value { text-align: left; min-height: 24px; }
  .hotels-input { font-size: 18px; }
  .hotels-pop-lab { margin-bottom: 8px; }
  .hotels-city { font-size: 14px; padding: 8px 14px; }
}

/* Pestañas del buscador: respuesta inmediata al toque o clic */
body.home-v2 .search-tab, body.home-v2 .region-btn { transition: transform .12s ease, background-color .2s ease, box-shadow .2s ease, color .2s ease; -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
body.home-v2 .search-tab:active, body.home-v2 .region-btn:active { transform: translateY(1px) scale(.97); }
body.home-v2 .search-tab.is-tapped { animation: tabTap .42s ease; }
@keyframes tabTap { 0% { transform: scale(1); } 30% { transform: translateY(1px) scale(.96); box-shadow: 0 0 0 4px rgba(251, 107, 108, .35); } 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(251, 107, 108, 0); } }
body.home-v2[data-region="japan"] .search-tab.is-tapped { animation-name: tabTapJp; }
@keyframes tabTapJp { 0% { transform: scale(1); } 30% { transform: translateY(1px) scale(.96); box-shadow: 0 0 0 4px rgba(255, 91, 0, .35); } 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 91, 0, 0); } }
@media (prefers-reduced-motion: reduce) { body.home-v2 .search-tab.is-tapped { animation: none; } }

/* Modo Japón con la cuadrícula de fotos o en móvil: selector y pestañas más opacos para que se lean sobre fotos cargadas, y dentro del ancho de la pantalla */
body.home-v2[data-region="japan"].hotels-mode .region-switch,
body.home-v2[data-region="japan"].hotels-mode .search-tab:not(.on) { background: rgba(255, 240, 227, .93); -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: 0 2px 10px rgba(0, 0, 0, .18); }
@media (max-width: 760px) {
  body.home-v2[data-region="japan"] .region-switch,
  body.home-v2[data-region="japan"] .search-tab:not(.on) { background: rgba(255, 240, 227, .94); -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: 0 2px 10px rgba(0, 0, 0, .18); }
  body.home-v2 .search-tabs { max-width: 100%; box-sizing: border-box; }
  body.home-v2 .region-switch { display: flex; width: 100%; max-width: 100%; box-sizing: border-box; }
  body.home-v2 .region-switch .region-btn { flex: 1 1 0; min-width: 0; padding: 9px 6px; font-size: 13px; text-align: center; white-space: nowrap; }
}

/* Hoteles en móvil: la cuadrícula se simplifica a 2×2 fotos, queda detrás del título (no detrás de las pestañas) y con velo más fuerte para que todo se lea ordenado */
@media (max-width: 760px) {
  body.hotels-mode .hotel-mosaic { grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(2, 1fr); gap: 6px; padding: 6px; inset: 0; -webkit-mask-image: none; mask-image: none; }
  body.hotels-mode .hotel-mosaic img:nth-child(n+5) { display: none; }
  body.hotels-mode .hotel-mosaic img { border-radius: 14px; }
  body.hotels-mode .hotel-mosaic::after { background: linear-gradient(180deg, rgba(10, 12, 14, .6) 0%, rgba(10, 12, 14, .55) 55%, rgba(10, 12, 14, .5) 100%); }
}

/* Menú móvil: el selector de idioma se despliega dentro del panel (en línea) para que no quede cortado ni inalcanzable */
@media (max-width: 900px) {
  .nav-links .lang-wrapper .lang-dropdown, .nav-right .lang-wrapper .lang-dropdown { position: static !important; margin-top: 8px; min-width: 0 !important; width: 100%; max-width: 260px; box-shadow: none !important; border: 1px solid rgba(15, 27, 92, .15); }
}
@media (max-width: 900px) {
  .nav-links.show { max-height: calc(100vh - 74px); max-height: calc(100dvh - 74px); overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; padding-bottom: 24px; }
}

/* Tarjetas de trenes panorámicos que reservan por Omio: marca pequeña en la esquina de la foto */
.scenic-photo.via-omio { position: relative; }
.scenic-photo.via-omio::after {
  content: "";
  position: absolute; top: 12px; right: 12px;
  width: 26px; height: 26px; border-radius: 8px;
  background: #fff url("https://www.google.com/s2/favicons?sz=64&domain=omio.com") center / 17px 17px no-repeat;
  box-shadow: 0 1px 6px rgba(15, 27, 92, .22);
}

/* Hoteles: en Europa dos botones (Klook naranja y Booking azul); en Japón solo Klook */
.hotels-go .go-jp { display: none; }
body[data-region="japan"] .hotels-go .go-eu { display: none; }
body[data-region="japan"] .hotels-go .go-jp { display: inline; }
body[data-region="japan"] .hotels-go-bk { display: none; }
.hotels-go-bk { background: #0057b8; padding: 0 26px; }
@media (max-width: 900px) {
  .hotels-bar > .hotels-go-kl, .hotels-bar > .hotels-go-bk { flex: 1 1 calc(50% - 5px); padding: 14px 10px; font-size: 15px; }
  body[data-region="japan"] .hotels-bar > .hotels-go-kl { flex: 1 1 100%; }
}
/* Europa (dos botones): la barra se parte en filas si no cabe; la ciudad nunca se queda sin ancho */
body:not([data-region="japan"]) .hotels-bar { flex-wrap: wrap; }
body:not([data-region="japan"]) .hotels-bar > .hotels-field:not(.hotels-date) { flex: 2 1 280px; min-width: 240px; }
body:not([data-region="japan"]) .hotels-bar > .hotels-date { flex: 1 1 150px; }
body:not([data-region="japan"]) .hotels-bar > .hotels-go-kl, body:not([data-region="japan"]) .hotels-bar > .hotels-go-bk { flex: 1 1 calc(50% - 6px); padding: 15px 18px; }

/* Pestaña Experiencias: Tripadvisor + Klook */
.exp-panel { padding: 6px 4px 2px; }
.exp-head { margin: 0 0 14px; }
.exp-title { margin: 0 0 4px; font-size: 20px; font-weight: 700; color: #14151a; }
.exp-sub { margin: 0; font-size: 15px; color: #55565f; }
.exp-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.exp-card { display: grid; grid-template-columns: 36px 1fr; column-gap: 12px; row-gap: 4px; align-items: center; padding: 16px 18px; border-radius: 16px; background: #fff; border: 1px solid rgba(20, 21, 26, .12); color: inherit; text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.exp-card:hover { border-color: rgba(20, 21, 26, .3); box-shadow: 0 6px 18px rgba(20, 21, 26, .08); }
.exp-logo { grid-row: 1 / span 2; width: 32px; height: 32px; border-radius: 8px; }
.exp-name { font-size: 18px; font-weight: 700; color: #14151a; }
.exp-desc { grid-column: 2; font-size: 14px; line-height: 1.35; color: #55565f; }
.exp-go { grid-column: 2; margin-top: 6px; font-size: 14px; font-weight: 700; }
.exp-klook .exp-go { color: #e04f00; }
.exp-tripadvisor .exp-go { color: #00875f; }
@media (max-width: 640px) { .exp-grid { grid-template-columns: 1fr; } .exp-title { font-size: 18px; } }

/* Botones de hoteles con la tipografía y el logo de cada marca: Klook = Poppins; Booking = tipografía del sistema (la de su web) */
.hotels-go-kl, .hotels-go-bk { display: inline-flex; align-items: center; justify-content: center; gap: 10px; }
.hotels-go-kl { font-family: "Poppins", "Helvetica Neue", Arial, sans-serif; font-weight: 600; letter-spacing: 0; }
.hotels-go-bk { font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-weight: 600; letter-spacing: 0; }
.hotels-go-kl::before, .hotels-go-bk::before {
  content: ""; flex: 0 0 auto; width: 26px; height: 26px; border-radius: 8px;
  background: #fff center / 18px 18px no-repeat;
}
.hotels-go-kl::before { background-image: url("https://www.google.com/s2/favicons?sz=64&domain=klook.com"); }
.hotels-go-bk::before { background-image: url("https://www.google.com/s2/favicons?sz=64&domain=booking.com"); }
.exp-klook .exp-name { font-family: "Poppins", "Helvetica Neue", Arial, sans-serif; font-weight: 600; }

/* Pestañas del buscador en 601–760 px (móviles grandes, plegables, horizontal): sin cortes; Europa/Japón/Hoteles en su fila y las cuatro pestañas repartidas */
@media (min-width: 601px) and (max-width: 760px) {
  body.home-v2 .search-tabs { flex-wrap: wrap; overflow: visible; }
  body.home-v2 .search-tabs .region-switch { order: -1; flex: 0 0 100%; width: 100%; display: flex; margin: 0 0 10px; }
  body.home-v2 .search-tabs .region-switch .region-btn { flex: 1 1 0; text-align: center; padding: 9px 10px; }
  body.home-v2 .search-tabs .search-tab { flex: 1 1 0; min-width: 0; white-space: normal; text-align: center; line-height: 1.2; padding: 10px 6px; font-size: 13.5px; }
}

/* Portada en móvil: el título ya no se monta sobre la trompa blanca del tren y el borde inferior de la foto se difumina (sin "línea" detrás del selector) */
@media (max-width: 760px) {
  body.home-v2:not(.hotels-mode):not([data-region="japan"]) .hero-title-card::before {
    background-image:
      radial-gradient(ellipse 130% 42% at 50% 50%, rgba(10, 12, 14, .72) 0%, rgba(10, 12, 14, .5) 62%, rgba(10, 12, 14, 0) 100%),
      linear-gradient(180deg, rgba(10, 12, 14, .62) 0%, rgba(10, 12, 14, .22) 55%, rgba(10, 12, 14, .38) 100%),
      url('/assets/img/hero/home-tren-1000.webp');
  }
  body.home-v2:not(.hotels-mode) .hero-title-card::before {
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 78%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0%, #000 78%, transparent 100%);
  }
  body.home-v2 .hero-title-card h1 { text-shadow: 0 2px 14px rgba(0, 0, 0, .7), 0 1px 3px rgba(0, 0, 0, .6); }
}
@media (max-width: 760px) {
  body.home-v2:not(.hotels-mode) .hero-title-inner { transform: translateY(-18px); }
  body.home-v2:not(.hotels-mode) .hero-title-photo-wrap { transform: translateY(-34px); }
}

/* Promo de Booking en el panel de Hoteles (solo Europa) */
.hotels-promo { display: flex; align-items: center; gap: 12px; margin: 12px 0 2px; padding: 10px 14px; border-radius: 14px; background: #eaf2ff; border: 1px solid rgba(0, 87, 184, .28); color: #14151a; text-decoration: none; }
.hotels-promo[hidden] { display: none; }
body[data-region="japan"] .hotels-promo { display: none; }
.hotels-promo-tag { flex: 0 0 auto; padding: 3px 10px; border-radius: 999px; background: #0057b8; color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .02em; white-space: nowrap; }
.hotels-promo-text { flex: 1 1 auto; min-width: 0; font-size: 14px; line-height: 1.35; color: #14151a; }
.hotels-promo-go { flex: 0 0 auto; font-size: 14px; font-weight: 700; color: #0057b8; white-space: nowrap; }
.hotels-promo:hover { border-color: rgba(0, 87, 184, .6); }
@media (max-width: 640px) { .hotels-promo { flex-wrap: wrap; } .hotels-promo-text { flex: 1 1 100%; } }

/* Modo Hoteles en móvil: el collage de fotos termina justo antes del selector Europa/Japón/Hoteles (no pasa por detrás de él ni de las pestañas),
   con separaciones finas, sin bordes redondeados internos y un velo uniforme para que el título se lea sin cortes */
@media (max-width: 760px) {
  body.hotels-mode .hotel-mosaic {
    inset: 0 0 auto 0; height: 342px; gap: 2px; padding: 0; overflow: hidden;
    border-radius: 0 0 24px 24px; -webkit-mask-image: none; mask-image: none;
  }
  body.hotels-mode .hotel-mosaic img { border-radius: 0; filter: brightness(1.05) saturate(1.05); }
  body.hotels-mode .hotel-mosaic::after { background: rgba(10, 12, 14, .6); }
}

/* Chips de países: si un país tiene muchas rutas (España), el panel de escritorio se desplaza en vez de salirse de la pantalla */
@media (hover: hover) and (pointer: fine) {
  .country-popup { max-height: min(560px, 72vh); overflow-y: auto; overscroll-behavior: contain; }
}

/* Móvil: con una ruta generada se ocultan los pares populares y la nota de la búsqueda para acortar la tarjeta;
   vuelven solos cuando no hay resultado (#aiResults oculto) o el campo está vacío. */
@media (max-width: 760px) {
  body:has(#aiResults:not([style*="display:none"]):not([style*="display: none"])):has(#aiInput:not(:placeholder-shown)) .ai-suggestions,
  body:has(#aiResults:not([style*="display:none"]):not([style*="display: none"])):has(#aiInput:not(:placeholder-shown)) .search-note { display: none; }
}
