/*
 * Kerala Viajes · componentes de la ficha de circuito
 *
 * Reglas de la casa:
 *   - Todo bajo prefijo .kv-, sin excepción.
 *   - Ni un solo !important. Este fichero se carga el último y con eso basta.
 *   - Los colores van explícitos en p y en a, porque el CSS global de la web fija
 *     p { color: #333 } y estilos de enlace que se cuelan en cualquier bloque nuevo.
 *
 * Depende de kv-tokens.css, que debe cargarse antes.
 */

/* ─────────────────────────────────────────────── cabecera */

.kv-hero { position: relative; height: 300px; border-radius: var(--kv-radio) var(--kv-radio) 0 0; overflow: hidden; }
.kv-hero img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kv-hero__velo { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,.04) 45%); }

.kv-migas { position: absolute; top: 18px; left: 24px; font-size: var(--kv-t-s); color: rgba(255,255,255,.9); }
.kv-migas a { color: rgba(255,255,255,.9); text-decoration: none; }
.kv-migas a:hover { color: #fff; text-decoration: underline; }
.kv-migas span { opacity: .55; padding: 0 6px; }

.kv-galeria { position: absolute; right: 18px; bottom: 16px; background: rgba(0,0,0,.55); color: #fff;
    border: 0; border-radius: var(--kv-radio-pastilla); padding: 7px 15px; font-size: var(--kv-t-s);
    font-family: var(--kv-texto); font-weight: 600; cursor: pointer; }

.kv-cabecera { background: #fff; border: 1px solid var(--kv-g200); border-top: 0;
    border-radius: 0 0 var(--kv-radio) var(--kv-radio); padding: var(--kv-e5) var(--kv-e6) 0;
    box-shadow: var(--kv-sombra-1); }
.kv-cabecera__fila { display: flex; gap: var(--kv-e6); align-items: flex-start;
    justify-content: space-between; flex-wrap: wrap; }

.kv-titulo { font-family: var(--kv-display); font-size: var(--kv-t-xl); line-height: 1.2;
    margin: 0 0 6px; font-weight: 400; color: var(--kv-g900); }
.kv-subtitulo { font-size: 14px; color: var(--kv-g600); margin: 0 0 var(--kv-e3); }

.kv-chips { display: flex; gap: 7px; flex-wrap: wrap; }
.kv-chip { background: var(--kv-azul-suave); color: var(--kv-azul-texto); border: 1px solid #d6e9f0;
    padding: 4px 11px; border-radius: var(--kv-radio-pastilla); font-size: var(--kv-t-s); font-weight: 600; }

/* ─────────────────────────────────────────────── precio */

.kv-pvp { background: var(--kv-beige); border-radius: var(--kv-radio); padding: var(--kv-e4) 20px;
    text-align: center; flex: none; min-width: 232px; }
.kv-pvp__antes { font-size: 13px; color: var(--kv-g600); }
.kv-pvp__antes s { margin-right: 7px; }
.kv-pvp__cifra { font-size: var(--kv-t-precio); font-weight: 700; color: var(--kv-naranja);
    line-height: 1.1; font-variant-numeric: tabular-nums; }
.kv-pvp__pp { font-size: var(--kv-t-s); color: var(--kv-g700); }
.kv-dto { background: var(--kv-verde-suave); color: var(--kv-verde); border-radius: var(--kv-radio-pastilla);
    padding: 2px 9px; font-size: var(--kv-t-s); font-weight: 700; }
.kv-promo { display: block; margin-top: 10px; padding-top: 10px; border-top: 1px solid #f0dfc4;
    font-size: var(--kv-t-s); color: var(--kv-verde); font-weight: 700; }

/* ─────────────────────────────────────────────── buscador */

.kv-barra { display: grid; grid-template-columns: repeat(3, 1fr) auto; gap: var(--kv-e3);
    align-items: end; margin: 20px calc(var(--kv-e6) * -1) 0; padding: 17px var(--kv-e6);
    background: var(--kv-g50); border-top: 1px solid var(--kv-g200);
    border-radius: 0 0 var(--kv-radio) var(--kv-radio); }
.kv-campo { background: #fff; border: 1px solid var(--kv-g300); border-radius: var(--kv-radio-s);
    padding: 8px 13px; cursor: pointer; }
.kv-campo:hover { border-color: var(--kv-naranja); }
.kv-campo.is-abierto { border-color: var(--kv-naranja); box-shadow: 0 0 0 3px rgba(255,115,0,.16); }
.kv-campo label { display: block; font-size: var(--kv-t-xs); color: var(--kv-g600); margin-bottom: 2px; }
.kv-campo b { display: block; font-size: var(--kv-t-base); font-weight: 600; color: var(--kv-g900); }

/* ─────────────────────────────────────────────── botones */

.kv-btn { background: var(--kv-naranja); color: #fff; border: 0; border-radius: var(--kv-radio-s);
    padding: 14px 30px; font-family: var(--kv-texto); font-weight: 700; font-size: var(--kv-t-base);
    cursor: pointer; text-align: center; }
.kv-btn:hover, .kv-btn:focus { background: var(--kv-naranja-hover); color: #fff; text-decoration: none; }
.kv-btn--bloque { display: block; width: 100%; }
.kv-btn--fantasma { background: #fff; color: var(--kv-azul-texto); border: 1px solid var(--kv-g300);
    font-weight: 600; font-size: 14px; }
.kv-btn--fantasma:hover { background: var(--kv-g50); color: var(--kv-naranja-texto); }

/* ─────────────────────────────────────────────── menú de secciones */

.kv-subnav { position: sticky; top: 0; z-index: 20; background: #fff; border: 1px solid var(--kv-g200);
    border-radius: var(--kv-radio); margin-top: 18px; padding: 0 var(--kv-e2); display: flex; gap: 2px;
    overflow-x: auto; box-shadow: var(--kv-sombra-1); }
.kv-subnav a { padding: 13px 15px; font-size: 14px; font-weight: 600; color: var(--kv-g700);
    text-decoration: none; white-space: nowrap; border-bottom: 3px solid transparent; }
.kv-subnav a:hover { color: var(--kv-naranja-texto); text-decoration: none; }
.kv-subnav a.is-activo { color: var(--kv-naranja); border-bottom-color: var(--kv-naranja); }

/* ─────────────────────────────────────────────── secciones */

.kv-cols { display: grid; grid-template-columns: 1fr 330px; gap: var(--kv-e5); margin-top: 20px; align-items: start; }
.kv-sec { background: #fff; border: 1px solid var(--kv-g200); border-radius: var(--kv-radio);
    box-shadow: var(--kv-sombra-1); margin-bottom: 20px; padding: 24px var(--kv-e5); }
.kv-sec > h2, .kv-sec__titulo { font-family: var(--kv-display); font-size: var(--kv-t-l); margin: 0 0 5px;
    font-weight: 400; color: var(--kv-g900); }
/* El "desde" del precio de cabecera venia a 7px, ilegible, y es el aviso de que el importe
   final puede llevar tasas o suplemento aereo. Las tarjetas de la casa lo ponen a 10px. */
.kv-desde { font-size: 11px; letter-spacing: .01em; margin-right: 4px; }

/* Dentro de un panel de Bootstrap el borde y la sombra ya los pone el panel */
.kv-sec--plano { border: 0; box-shadow: none; margin: 0; }
.kv-sec__ayuda { font-size: 14px; color: var(--kv-g600); margin: 0 0 17px; }
.kv-dos { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.kv-sub { font-family: var(--kv-display); font-size: var(--kv-t-m); font-weight: 400;
    margin: 0 0 var(--kv-e3); color: var(--kv-g900); }
.kv-etiqueta { font-size: var(--kv-t-xs); font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
    color: var(--kv-g600); border-top: 1px solid var(--kv-g100); padding-top: 15px; margin-bottom: var(--kv-e3); }

/* ─────────────────────────────────────────────── fechas: tarjetas */

.kv-mtabs { display: flex; gap: var(--kv-e2); flex-wrap: wrap; margin-bottom: 15px; }
.kv-mtab { border: 1px solid var(--kv-g300); background: #fff; border-radius: var(--kv-radio-pastilla);
    padding: 8px 16px; font-size: 13.5px; font-family: var(--kv-texto); font-weight: 600;
    color: var(--kv-g700); cursor: pointer; }
.kv-mtab.is-activo { background: var(--kv-naranja); border-color: var(--kv-naranja); color: #fff; }

.kv-fechas { display: flex; gap: 11px; flex-wrap: wrap; }
.kv-fecha { border: 2px solid var(--kv-g200); border-radius: var(--kv-radio); padding: 11px 9px;
    text-align: center; min-width: 108px; cursor: pointer; background: #fff; }
.kv-fecha:hover { border-color: var(--kv-naranja); }
.kv-fecha.is-elegida { border-color: var(--kv-naranja); background: var(--kv-naranja-suave); }
.kv-fecha__dow { font-size: 10px; font-weight: 700; letter-spacing: .08em; color: var(--kv-g600); }
.kv-fecha__d { font-size: 30px; font-weight: 700; line-height: 1.05; color: var(--kv-g900);
    font-variant-numeric: tabular-nums; }
.kv-fecha__m { font-size: 10px; font-weight: 700; letter-spacing: .06em; color: var(--kv-g600); margin-bottom: 6px; }
.kv-fecha__p { font-size: var(--kv-t-base); font-weight: 700; color: var(--kv-naranja);
    font-variant-numeric: tabular-nums; }
.kv-fecha__p.is-mejor { color: var(--kv-verde); }
/* El "desde" va pegado al precio en todas partes: por debajo puede haber tasas locales,
   visados o suplementos que no entran en esa cifra, y hay que decirlo donde se lee el número. */
.kv-fecha__p em { display: block; font-style: normal; font-size: 10px; font-weight: 400;
    color: var(--kv-g600); letter-spacing: .02em; }
.kv-fecha__v { font-size: 10px; color: var(--kv-g600); margin-top: 2px; }

/* ─────────────────────────────────────────────── fechas: rejilla */

.kv-cal { display: grid; grid-template-columns: repeat(7, 1fr); row-gap: var(--kv-e3); }
.kv-cal__dow { text-align: center; font-size: var(--kv-t-xs); color: var(--kv-g600);
    font-weight: 600; padding-bottom: 6px; }
.kv-cal__d { text-align: center; padding: 4px 0; border-radius: var(--kv-radio-s); cursor: pointer; }
.kv-cal__d b { display: block; font-size: var(--kv-t-base); font-weight: 600; color: var(--kv-g900);
    line-height: 1.2; font-variant-numeric: tabular-nums; }
.kv-cal__d span { display: block; font-size: 10.5px; color: var(--kv-naranja-texto); font-weight: 700; margin-top: 1px; }
.kv-cal__d:hover { background: var(--kv-naranja-suave); }
.kv-cal__d.is-vacio { cursor: default; }
.kv-cal__d.is-vacio b { color: var(--kv-g300); font-weight: 400; }
.kv-cal__d.is-vacio:hover { background: transparent; }
.kv-cal__d.is-elegida { background: var(--kv-naranja); }
.kv-cal__d.is-elegida b, .kv-cal__d.is-elegida span { color: #fff; }
.kv-cal__d.is-mejor span { color: var(--kv-verde); }

.kv-leyenda { display: flex; align-items: center; gap: var(--kv-e2); font-size: 12.5px;
    color: var(--kv-g700); margin-top: 15px; }
.kv-leyenda i { width: 12px; height: 12px; border-radius: 3px; background: var(--kv-verde);
    display: inline-block; flex: none; }
.kv-base-precio { font-size: var(--kv-t-s); color: var(--kv-g600); margin-top: 8px; line-height: 1.5; }

/* ─────────────────────────────────────────────── lista de salidas */

.kv-salida { display: grid; grid-template-columns: 1.4fr 1fr auto; gap: var(--kv-e4); align-items: center;
    border: 1px solid var(--kv-g200); border-radius: var(--kv-radio-s); padding: 12px var(--kv-e4);
    margin-bottom: var(--kv-e2); cursor: pointer; }
.kv-salida:hover { border-color: var(--kv-naranja); background: var(--kv-naranja-suave); }
.kv-salida.is-elegida { border-color: var(--kv-naranja); background: var(--kv-naranja-suave);
    box-shadow: 0 0 0 2px rgba(255,115,0,.18); }
.kv-salida__f b { font-size: var(--kv-t-base); font-weight: 700; color: var(--kv-g900); }
.kv-salida__f small { display: block; font-size: var(--kv-t-s); color: var(--kv-g600); }
.kv-salida__e { font-size: var(--kv-t-s); color: var(--kv-g600); }
.kv-salida__e.is-poco { color: var(--kv-rojo); font-weight: 700; }
.kv-salida__p { text-align: right; font-size: 21px; font-weight: 700; color: var(--kv-naranja);
    white-space: nowrap; line-height: 1.2; font-variant-numeric: tabular-nums; }
.kv-salida__p em { display: block; font-style: normal; font-size: var(--kv-t-xs);
    color: var(--kv-g600); font-weight: 400; }
.kv-insignia { display: inline-block; background: var(--kv-naranja); color: #fff;
    border-radius: var(--kv-radio-pastilla); padding: 2px 10px; font-size: var(--kv-t-xs);
    font-weight: 700; margin-left: var(--kv-e2); }

/* ─────────────────────────────────────────────── itinerario y listas */

.kv-jornada { border-top: 1px solid var(--kv-g100); padding: 14px 0; }
.kv-jornada:first-child { border-top: 0; padding-top: 0; }
.kv-jornada h3 { font-size: var(--kv-t-base); margin: 0 0 4px; font-weight: 700; color: var(--kv-g900); }
.kv-jornada h3 em { font-style: normal; color: var(--kv-naranja); margin-right: var(--kv-e2); }
.kv-jornada p { margin: 0; font-size: 14px; color: var(--kv-g700); }
.kv-jornada a { color: var(--kv-azul-texto); font-weight: 700; text-decoration: none; }
.kv-jornada a:hover { text-decoration: underline; }

.kv-lista { list-style: none; margin: 0; padding: 0; }
.kv-lista li { display: flex; gap: 10px; align-items: flex-start; font-size: 14px;
    color: var(--kv-g700); margin-bottom: 10px; }
.kv-lista svg { flex: none; margin-top: 4px; }
.kv-lista--si svg { color: var(--kv-verde); }
.kv-lista--no svg { color: var(--kv-g400); }

/* ─────────────────────────────────────────────── hoteles y opcionales */

.kv-hotel { border: 1px solid var(--kv-g200); border-radius: var(--kv-radio-s); padding: 13px var(--kv-e4);
    margin-bottom: 9px; cursor: pointer; }
.kv-hotel.is-elegido { border-color: var(--kv-naranja); background: var(--kv-naranja-suave); }
.kv-hotel__t { display: flex; justify-content: space-between; align-items: center; gap: var(--kv-e3); }
.kv-hotel__t b { font-weight: 700; font-size: 14.5px; color: var(--kv-g900); }
.kv-hotel__t span { font-weight: 700; color: var(--kv-naranja); white-space: nowrap; }
.kv-hotel ul { list-style: none; margin: 7px 0 0; padding: 0; font-size: 13px; color: var(--kv-g700); }
.kv-hotel ul b { font-weight: 700; color: var(--kv-g800); }

.kv-opcional { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--kv-e3);
    border: 1px solid var(--kv-g200); border-radius: var(--kv-radio-s); padding: 12px 15px; margin-bottom: var(--kv-e2); }
.kv-opcional b { display: block; font-size: 14px; font-weight: 700; color: var(--kv-g900); }
.kv-opcional small { display: block; font-size: 12.5px; color: var(--kv-g600); }
.kv-opcional span { font-weight: 700; color: var(--kv-naranja); white-space: nowrap; font-size: var(--kv-t-base); }

/* ─────────────────────────────────────────────── tabla de precios */

.kv-tabla { width: 100%; border-collapse: collapse; font-size: 14px; border: 1px solid var(--kv-g200);
    border-radius: var(--kv-radio); overflow: hidden; }
.kv-tabla th, .kv-tabla td { padding: 11px 14px; text-align: right; border-bottom: 1px solid var(--kv-g100);
    font-variant-numeric: tabular-nums; }
.kv-tabla th:first-child, .kv-tabla td:first-child { text-align: left; }
.kv-tabla thead th { background: var(--kv-azul-suave); color: var(--kv-g800); font-size: 13px; font-weight: 700; }
.kv-tabla tbody tr:last-child td { border-bottom: 0; }
.kv-tabla td.is-desde { font-weight: 700; color: var(--kv-naranja); }
.kv-tabla-scroll { overflow-x: auto; }

.kv-generada { display: inline-flex; align-items: center; gap: 7px; background: var(--kv-verde-suave);
    color: var(--kv-verde); border-radius: var(--kv-radio-pastilla); padding: 4px 12px;
    font-size: var(--kv-t-s); font-weight: 700; margin-bottom: var(--kv-e3); }

/* ─────────────────────────────────────────────── orígenes y destinos */

.kv-origenes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.kv-origenes div { border: 1px solid var(--kv-g200); border-radius: var(--kv-radio-s); padding: 10px 13px; font-size: 14px; }
.kv-origenes b { display: block; font-weight: 700; color: var(--kv-g900); }
.kv-origenes small { color: var(--kv-g600); font-size: var(--kv-t-s); }

.kv-destinos { display: grid; grid-template-columns: 1fr 1fr; gap: var(--kv-e4); }
.kv-destino { border: 1px solid var(--kv-g200); border-radius: var(--kv-radio); overflow: hidden;
    background: #fff; display: grid; grid-template-columns: 112px 1fr; }
.kv-destino img { width: 112px; height: 100%; min-height: 128px; object-fit: cover; display: block; }
.kv-destino__c { padding: 13px 15px; }
.kv-destino h3 { font-family: var(--kv-display); font-size: var(--kv-t-m); margin: 0 0 5px;
    font-weight: 400; color: var(--kv-azul-texto); }
.kv-destino p { margin: 0; font-size: 13.5px; color: var(--kv-g700); line-height: 1.55; }
.kv-destino__dia { display: inline-block; background: var(--kv-g50); border: 1px solid var(--kv-g200);
    border-radius: 3px; padding: 1px 8px; font-size: var(--kv-t-xs); color: var(--kv-g600);
    font-weight: 700; margin-bottom: 6px; }

/* ─────────────────────────────────────────────── condiciones y preguntas */

.kv-cond { border: 1px solid var(--kv-g200); border-radius: var(--kv-radio); padding: 18px 20px; }
.kv-cond--reembolsable { border-color: #c8e6d4; background: #f6fbf8; }
.kv-cond h3 { font-family: var(--kv-display); font-size: var(--kv-t-m); margin: 0 0 3px;
    font-weight: 400; color: var(--kv-g900); }
.kv-cond p { color: var(--kv-g700); }
.kv-cond__et { font-size: var(--kv-t-xs); font-weight: 700; border-radius: var(--kv-radio-pastilla);
    padding: 3px 11px; display: inline-block; margin-bottom: 10px; }
.kv-cond--reembolsable .kv-cond__et { background: var(--kv-verde-suave); color: var(--kv-verde); }
.kv-cond--no .kv-cond__et { background: var(--kv-rojo-suave); color: var(--kv-rojo); }

.kv-escala { list-style: none; margin: 0; padding: 0; font-size: 14px; }
.kv-escala li { display: flex; justify-content: space-between; gap: var(--kv-e3); padding: 7px 0;
    border-bottom: 1px solid var(--kv-g100); color: var(--kv-g700); }
.kv-escala li:last-child { border-bottom: 0; }
.kv-escala b { font-weight: 700; white-space: nowrap; color: var(--kv-g900); }

.kv-faq { border-bottom: 1px solid var(--kv-g100); padding: 12px 0; }
.kv-faq:last-child { border-bottom: 0; }
.kv-faq > b { font-size: var(--kv-t-base); display: flex; justify-content: space-between;
    gap: var(--kv-e3); cursor: pointer; font-weight: 700; color: var(--kv-g900); }
.kv-faq > b i { color: var(--kv-g400); font-style: normal; font-weight: 400; }
.kv-faq p { margin: 8px 0 0; font-size: 14px; color: var(--kv-g700); }

/* ─────────────────────────────────────────────── lateral y barra fija */

.kv-lateral { position: sticky; top: 74px; }
.kv-tarjeta { background: #fff; border: 1px solid var(--kv-g200); border-radius: var(--kv-radio);
    box-shadow: var(--kv-sombra-1); padding: 19px 20px; margin-bottom: 14px; }
.kv-tarjeta h3 { font-family: var(--kv-display); font-size: var(--kv-t-m); margin: 0 0 13px;
    font-weight: 400; color: var(--kv-g900); }
.kv-tarjeta a.kv-mas { display: block; margin-top: 11px; font-size: 12.5px;
    color: var(--kv-azul-texto); font-weight: 700; text-decoration: none; }
.kv-tarjeta a.kv-mas:hover { text-decoration: underline; }

.kv-barra-reserva { position: sticky; bottom: 0; z-index: 30; background: #fff;
    border: 1px solid var(--kv-g200); border-radius: var(--kv-radio); box-shadow: var(--kv-sombra-pie);
    margin-top: 6px; padding: 12px var(--kv-e5); display: flex; justify-content: space-between;
    align-items: center; gap: 18px; flex-wrap: wrap; }
.kv-barra-reserva__precio b { font-size: 25px; color: var(--kv-naranja); font-weight: 700;
    font-variant-numeric: tabular-nums; }
.kv-barra-reserva__precio span { display: block; font-size: var(--kv-t-s); color: var(--kv-g600); }

/* ─────────────────────────────────────────────── móvil */

@media (max-width: 900px) {
    .kv-cols, .kv-dos, .kv-origenes, .kv-destinos { grid-template-columns: 1fr; }
    .kv-barra { grid-template-columns: 1fr; }
    .kv-salida { grid-template-columns: 1fr auto; }
    .kv-salida__e { display: none; }
    .kv-pvp { width: 100%; min-width: 0; }
    .kv-titulo { font-size: 21px; }
    .kv-sec { padding: 19px var(--kv-e4); }
    .kv-hero { height: 190px; }

    /* Las tarjetas de fecha se deslizan en vez de apilarse: cuatro apiladas son media pantalla. */
    .kv-fechas { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; }
    .kv-fecha { flex: none; min-width: 98px; }

    .kv-mtabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; }
    .kv-mtab { white-space: nowrap; }

    /* El lateral deja de ser pegajoso y se coloca detrás del contenido principal. */
    .kv-lateral { position: static; }

    /* Sitio para que la barra fija no tape el final de la página. */
    .kv-cols { padding-bottom: var(--kv-alto-barra); }
}

@media (prefers-reduced-motion: reduce) {
    .kv-subnav { scroll-behavior: auto; }
}

/* ─────────────────────────────────────────── ficha larga (fase 5) */

/* Los ocho parciales siguen pintando .tab-pane, que Bootstrap oculta. Aquí se muestran seguidos.
   Gana por especificidad (0,3,0 contra 0,2,0), sin un solo !important. */
.kv-largo .tab-content > .tab-pane { display: block; opacity: 1; }

.kv-subnav { position: sticky; top: 0; z-index: 20; display: flex; gap: 2px; overflow-x: auto;
    background: #fff; border: 1px solid var(--kv-g200); border-radius: var(--kv-radio);
    box-shadow: var(--kv-sombra-1); margin: 0 0 18px; padding: 0 8px; }
.kv-subnav a { padding: 13px 15px; font-size: 14px; font-weight: 600; color: var(--kv-g700);
    text-decoration: none; white-space: nowrap; border-bottom: 3px solid transparent; }
.kv-subnav a:hover, .kv-subnav a:focus { color: var(--kv-naranja-texto); text-decoration: none; }
.kv-subnav a.is-activo { color: var(--kv-naranja-texto); border-bottom-color: var(--kv-naranja); }

.kv-bloque { background: #fff; border: 1px solid var(--kv-g200); border-radius: var(--kv-radio);
    box-shadow: var(--kv-sombra-1); margin-bottom: 20px; padding: 24px var(--kv-e5); }
/* El ancla se para bajo el menú pegajoso, no debajo de él */
.kv-bloque { scroll-margin-top: 62px; }
.kv-bloque > .kv-sec__titulo { margin: 0 0 14px; }

@media (max-width: 767px) {
    .kv-bloque { padding: 19px var(--kv-e4); }
    .kv-subnav a { padding: 12px 12px; font-size: 13px; }
}

/* Cuatro parciales abren con un h3 azul que repite el nombre del viaje. Con el encabezado de la
   sección delante quedaban dos títulos seguidos diciendo lo mismo, y dos encabezados que compiten
   por la misma palabra clave. Se ocultan solo en la página larga. */
.kv-largo #itinerario > .panel-body h3[style],
.kv-largo #destinos_visitados h3[style],
.kv-largo #puntos_recogida h3[style],
.kv-largo #circuitos-relacionados h3[style] { display: none; }
