/*
Theme Name: Astra Child
Theme URI: https://nacionales.co
Description: Tema hijo de Astra para Nacionales.co — Agencia de viajes colombiana
Author: Nacionales.co
Author URI: https://nacionales.co
Template: astra
Version: 4.0.0
Text Domain: astra-child
*/

/* ============================================================
   1. DESIGN TOKENS — Sistema de color colombiano premium
   ============================================================ */
:root {
    /* Marca — Identidad colombiana */
    --nac-azul-profundo:    #0a2a5e;
    --nac-azul-mar:         #004e92;
    --nac-azul-cielo:       #1a73e8;
    --nac-oro:              #f5a623;
    --nac-oro-claro:        #ffd54f;

    /* Bandera — uso puntual en acentos, no en fondos grandes */
    --nac-amarillo-bandera: #FFC300;
    --nac-rojo-colombia:    #C1121F;

    /* Naturaleza colombiana */
    --nac-esmeralda:        #00897b;
    --nac-verde-claro:      #2D9A5F;
    --nac-verde-selva:      #1A5C38;
    --nac-coral:            #E76F51;
    --nac-cafe:             #6d4c41;

    /* Neutros cálidos */
    --nac-arena:            #f5f0eb;
    --nac-hueso:            #faf8f5;
    --nac-gris-claro:       #e8e5e0;
    --nac-gris:             #5a656b;
    --nac-carbon:           #1d1d1b;
    --nac-blanco:           #ffffff;

    /* Alias para compatibilidad */
    --nac-tinta:            #0a2a5e;
    --nac-linea:            #e5d9c5;
    --nac-arena-clara:      #faf8f5;
    --nac-dorado:           #f5a623;
    --nac-dorado-suave:     #ffd54f;
    --nac-azul-noche:       #0a2a5e;

    /* Funcionales */
    --nac-whatsapp:         #25d366;
    --nac-whatsapp-hover:   #1da851;
    --nac-error:            #d32f2f;

    /* Layout */
    --nac-max:              1180px;
    --nac-radius-sm:        6px;
    --nac-radius:           12px;
    --nac-radius-lg:        20px;

    /* Sombras */
    --nac-shadow-sm:        0 2px 8px rgba(10,42,94,0.08);
    --nac-shadow-md:        0 4px 20px rgba(10,42,94,0.14);
    --nac-shadow-strong:    0 8px 40px rgba(10,42,94,0.22);

    /* Transición */
    --nac-transition:       0.22s ease;

    /* Tipografía */
    --nac-font-heading:     'Playfair Display', Georgia, serif;
    --nac-font-body:        'Nunito Sans', 'Open Sans', Arial, sans-serif;
    --nac-font-ui:          'Poppins', 'Segoe UI', Arial, sans-serif;
    --nac-font-mono:        'IBM Plex Mono', 'Courier New', monospace;

    /* Escala tipográfica */
    --nac-text-hero:        clamp(2.8rem, 6vw, 5rem);
    --nac-text-h2:          clamp(1.8rem, 3.5vw, 2.8rem);
    --nac-text-h3:          clamp(1.3rem, 2vw, 1.8rem);
    --nac-text-precio:      clamp(1.4rem, 2.5vw, 1.75rem);
}

/* ============================================================
   2. RESET / BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }

body,
p,
li,
span,
div,
input,
select,
textarea {
    font-family: var(--nac-font-body);
    color: var(--nac-carbon);
}

body {
    margin: 0;
    background: var(--nac-hueso);
    overflow-x: hidden;
}

img { max-width: 100%; height: auto; }

/* ============================================================
   3. TYPOGRAPHY
   ============================================================ */
h1, h2, h3 {
    font-family: var(--nac-font-heading);
    font-weight: 700;
    color: var(--nac-azul-profundo);
    line-height: 1.15;
}

h4, h5, h6,
a,
button,
.button,
.ast-button {
    font-family: var(--nac-font-ui);
}

a {
    color: var(--nac-azul-mar);
    transition: color var(--nac-transition), background var(--nac-transition);
}
a:hover { color: var(--nac-coral); }

.nacionales-precio,
.nacionales-card-precio-valor,
.nacionales-tarifa-precio,
.nacionales-plan-price {
    font-family: var(--nac-font-mono);
}

:focus-visible {
    outline: 3px solid rgba(245,166,35,0.9);
    outline-offset: 3px;
}

/* ============================================================
   4. LAYOUT ASTRA OVERRIDES
   ============================================================ */
.site-header .ast-container,
.main-header-bar .ast-container,
.ast-primary-header-bar .ast-container {
    max-width: var(--nac-max);
    padding-left: 22px;
    padding-right: 22px;
}

.site-title a,
.site-header .site-title a {
    color: var(--nac-azul-profundo);
    font-family: var(--nac-font-ui);
    font-weight: 800;
}

.main-header-bar .site-branding,
.ast-primary-header-bar .site-branding { margin-left: 22px; }

body.nacionales-front-page .site-content,
body.nacionales-front-page .ast-container,
body.nacionales-front-page #primary,
body.nacionales-archive-page .site-content,
body.nacionales-archive-page .ast-container,
body.nacionales-archive-page #primary,
body.nacionales-single-page .site-content,
body.nacionales-single-page .ast-container,
body.nacionales-single-page #primary {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.nacionales-front-page .ast-container,
body.nacionales-archive-page .ast-container,
body.nacionales-single-page .ast-container {
    display: block !important;
}

body.nacionales-front-page #secondary,
body.nacionales-archive-page #secondary,
body.nacionales-single-page #secondary,
body.nacionales-front-page .entry-header,
body.nacionales-front-page .site-footer,
body.nacionales-archive-page .site-footer,
body.nacionales-single-page .site-footer {
    display: none !important;
}

body.nacionales-front-page .site-main,
body.nacionales-archive-page .site-main,
body.nacionales-single-page .site-main { margin: 0; }

/* ============================================================
   5. UTILITIES
   ============================================================ */

/* Icono SVG base */
.nacionales-icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    fill: currentColor;
    vertical-align: middle;
    flex-shrink: 0;
}

/* Borde tricolor bandera colombiana */
.nac-acento-tricolor {
    border-bottom: 4px solid;
    border-image: linear-gradient(to right, #FFC300 33%, #0a2a5e 33% 66%, #C1121F 66%) 1;
}

/* Textura rombo Wayuu — fondo ambiental */
.nac-patron-wayuu {
    background-image:
        repeating-linear-gradient(
            45deg, transparent 0, transparent 8px,
            rgba(255,195,0,0.05) 8px, rgba(255,195,0,0.05) 10px
        ),
        repeating-linear-gradient(
            -45deg, transparent 0, transparent 8px,
            rgba(255,195,0,0.05) 8px, rgba(255,195,0,0.05) 10px
        );
}

/* ============================================================
   6. BOTONES
   ============================================================ */
.nacionales-btn,
.nacionales-hero-btn,
.nacionales-btn-filtrar,
.nacionales-btn-limpiar,
.nacionales-btn-ver-mas,
.nacionales-whatsapp-btn,
.nacionales-search-submit,
.nacionales-btn-card {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 44px;
    border: 0;
    border-radius: 999px;
    padding: 12px 22px;
    text-decoration: none;
    cursor: pointer;
    font-size: 0.94rem;
    font-weight: 700;
    font-family: var(--nac-font-ui);
    line-height: 1.1;
    transition: transform var(--nac-transition), box-shadow var(--nac-transition), background var(--nac-transition), color var(--nac-transition);
}

.nacionales-btn:hover,
.nacionales-search-submit:hover,
.nacionales-btn-filtrar:hover,
.nacionales-btn-ver-mas:hover,
.nacionales-whatsapp-btn:hover,
.nacionales-btn-card:hover {
    transform: translateY(-2px);
    text-decoration: none;
}

.nacionales-btn-primary,
.nacionales-hero-btn,
.nacionales-btn-filtrar,
.nacionales-btn-ver-mas,
.nacionales-search-submit {
    background: var(--nac-oro);
    color: #1a0f00;
    box-shadow: 0 8px 22px rgba(245,166,35,0.32);
}

.nacionales-btn-primary:hover,
.nacionales-hero-btn:hover,
.nacionales-btn-filtrar:hover,
.nacionales-btn-ver-mas:hover,
.nacionales-search-submit:hover {
    background: var(--nac-oro-claro);
    color: #1a0f00;
    box-shadow: 0 12px 30px rgba(245,166,35,0.42);
}

.nacionales-btn-ghost {
    background: rgba(255,255,255,0.12);
    color: var(--nac-blanco);
    border: 1.5px solid rgba(255,255,255,0.30);
}

.nacionales-btn-ghost:hover {
    background: var(--nac-blanco);
    color: var(--nac-azul-profundo);
    border-color: var(--nac-blanco);
}

.nacionales-btn-limpiar {
    background: var(--nac-arena);
    color: var(--nac-azul-profundo);
    border: 1px solid var(--nac-linea);
}

.nacionales-btn-limpiar:hover { background: var(--nac-blanco); }

/* ============================================================
   7. HERO SECTION
   ============================================================ */
.nacionales-hero {
    position: relative;
    min-height: 620px;
    overflow: hidden;
    color: var(--nac-blanco);
    background:
        linear-gradient(116deg, rgba(6, 50, 79, 0.98) 0%, rgba(7, 73, 111, 0.96) 48%, rgba(15, 118, 101, 0.9) 100%),
        linear-gradient(135deg, #06324f, #0f7665);
}

.nacionales-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 120px;
    background: linear-gradient(180deg, transparent, rgba(6,50,79,0.22));
    pointer-events: none;
}

.nacionales-hero-texture {
    position: absolute;
    inset: 0;
    opacity: 0.28;
    background-image:
        linear-gradient(120deg, rgba(251,247,239,0.07) 0 1px, transparent 1px 140px),
        linear-gradient(35deg, rgba(255,209,102,0.08) 0 1px, transparent 1px 118px),
        repeating-linear-gradient(90deg, transparent 0 34px, rgba(251,247,239,0.03) 34px 35px);
}

.nacionales-hero-greca-bg {
    position: absolute;
    inset: 0;
    opacity: 0.155;
    background-image: radial-gradient(ellipse 50% 70% at 75% 50%, rgba(255,209,102,0.14) 0%, transparent 65%);
    pointer-events: none;
}

.nacionales-hero-inner {
    position: relative;
    z-index: 1;
    max-width: var(--nac-max);
    min-height: 620px;
    margin: 0 auto;
    padding: 84px 22px 120px;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(300px, 0.75fr);
    gap: 52px;
    align-items: center;
}

.nacionales-hero-copy {
    max-width: 690px;
    min-width: 0;
}

.nacionales-brand-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: fit-content;
    padding: 7px 14px 7px 8px;
    border-radius: 999px;
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.22);
    color: rgba(255,255,255,0.95);
    font-size: 0.86rem;
    font-weight: 800;
    font-family: var(--nac-font-ui);
}

.nacionales-brand-pill img {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    background: var(--nac-blanco);
}

.nacionales-hero-title {
    margin: 24px 0 10px;
    color: var(--nac-blanco);
    font-size: var(--nac-text-hero);
    line-height: 1.0;
    max-width: 760px;
}


.nacionales-hero-subtitle {
    margin: 18px 0 0;
    max-width: 620px;
    color: rgba(255,255,255,0.92);
    font-size: clamp(1.05rem, 1.8vw, 1.22rem);
    line-height: 1.65;
}

.nacionales-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}

/* Botón CTA hero con glow pulsante */
.nacionales-hero .nacionales-btn-primary {
    animation: nac-btn-glow 3s ease-in-out infinite;
}

.nacionales-hero-proof-line {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin: 26px 0 0;
    color: rgba(255,255,255,0.72);
    font-size: 0.9rem;
}

.nacionales-hero-proof-line .proof-separator {
    color: rgba(255,255,255,0.35);
}

/* Mapa del hero */
.nacionales-hero-map {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 380px;
}

.map-ring {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 1px solid rgba(251,247,239,0.16);
    box-shadow: 0 0 60px rgba(243,173,41,0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    transform: rotate(-5deg);
}

.map-ring-pattern {
    width: 96%;
    height: 96%;
    border-radius: 50%;
    border: 1px dashed rgba(255,209,102,0.25);
    background: radial-gradient(circle, rgba(255,195,0,0.07) 0%, transparent 70%);
}

.map-center {
    position: relative;
    z-index: 2;
    box-shadow: 0 0 30px rgba(243,173,41,0.2);
}

.map-brand-seal {
    width: 180px;
    height: 180px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 12px 40px rgba(10,42,94,0.45), 0 0 0 6px rgba(255,255,255,0.15);
}

.region-icon {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.22);
    color: var(--nac-blanco);
    font-size: 0.82rem;
    font-weight: 700;
    font-family: var(--nac-font-ui);
    backdrop-filter: blur(8px);
}

.region-icon .nacionales-icon {
    width: 16px;
    height: 16px;
    color: #ffd166;
}

.region-caribe { top: 20px; right: 10px; }
.region-andes  { bottom: 30%; left: 0; }
.region-amazonia { bottom: 10px; right: 20%; }

.nacionales-hero-cenefa {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 8px;
    background: repeating-linear-gradient(
        90deg,
        rgba(243,173,41,0.55) 0px, rgba(243,173,41,0.55) 4px,
        transparent 4px, transparent 8px
    );
    opacity: 0.6;
}

/* Separador Espiral Wayuu entre secciones */
.nacionales-separator-wayuu {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 0;
    color: var(--nac-oro);
    opacity: 0.6;
}

/* ============================================================
   8. QUICK SEARCH
   ============================================================ */
.nacionales-quick-search {
    position: relative;
    z-index: 3;
    max-width: var(--nac-max);
    margin: -56px auto 0;
    padding: 0 22px;
}

.nacionales-quick-search-inner {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr auto;
    gap: 14px;
    align-items: end;
    padding: 18px;
    border: 1px solid rgba(229,217,197,0.95);
    border-radius: var(--nac-radius-lg);
    background: rgba(250,248,245,0.96);
    box-shadow: var(--nac-shadow-md);
    backdrop-filter: blur(16px);
}

.nacionales-search-field label,
.nacionales-filtro-item label {
    display: block;
    margin-bottom: 7px;
    color: var(--nac-gris);
    font-family: var(--nac-font-ui);
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.nacionales-search-field select,
.nacionales-filtro-item select {
    width: 100%;
    min-height: 46px;
    border: 1.5px solid var(--nac-linea);
    border-radius: 999px;
    padding: 0 16px;
    background: var(--nac-blanco);
    color: var(--nac-azul-profundo);
    font-size: 0.95rem;
    font-family: var(--nac-font-body);
    transition: border-color var(--nac-transition), box-shadow var(--nac-transition);
    appearance: auto;
}

.nacionales-search-field select:focus,
.nacionales-filtro-item select:focus {
    border-color: var(--nac-oro);
    box-shadow: 0 0 0 3px rgba(245,166,35,0.18);
    outline: 0;
}

/* ============================================================
   9. HOME SECTIONS
   ============================================================ */
.nacionales-home-main {
    background: var(--nac-hueso);
}

.nacionales-section {
    max-width: var(--nac-max);
    margin: 0 auto;
    padding: 86px 22px;
}

.nacionales-section-heading {
    max-width: 720px;
    margin: 0 auto 36px;
    text-align: center;
}

.nacionales-section-heading-split {
    max-width: none;
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: flex-end;
    text-align: left;
}

.nacionales-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    color: var(--nac-oro);
    font-family: var(--nac-font-ui);
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.nacionales-section-kicker::before {
    content: "";
    width: 30px;
    height: 3px;
    border-radius: 99px;
    background: linear-gradient(to right, var(--nac-amarillo-bandera), var(--nac-rojo-colombia));
}

.nacionales-section-heading h2,
.nacionales-final-cta h2 {
    margin: 0;
    color: var(--nac-azul-profundo);
    font-size: var(--nac-text-h2);
    line-height: 1.08;
}

.nacionales-section-heading p,
.nacionales-final-cta p {
    margin: 14px auto 0;
    color: var(--nac-gris);
    font-size: 1.04rem;
    line-height: 1.65;
}

.nacionales-inline-link {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--nac-azul-mar);
    font-weight: 800;
    font-family: var(--nac-font-ui);
    text-decoration: none;
}

.nacionales-inline-link:hover { color: var(--nac-coral); }

/* ============================================================
   10. TARJETAS DE DESTINOS
   ============================================================ */
.nacionales-destinos-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.nacionales-destacados-grid,
.nacionales-planes-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.nacionales-destino-card,
.nacionales-plan-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--nac-linea);
    border-radius: var(--nac-radius);
    background: var(--nac-blanco);
    box-shadow: var(--nac-shadow-sm);
    transition: transform var(--nac-transition), box-shadow var(--nac-transition), border-color var(--nac-transition);
}

.nacionales-destino-card:hover,
.nacionales-plan-card:hover {
    transform: translateY(-5px);
    border-color: rgba(245,166,35,0.55);
    box-shadow: var(--nac-shadow-md);
}

.nacionales-destino-card {
    display: flex;
    min-height: 340px;
    flex-direction: column;
    text-decoration: none;
}

/* Área de imagen del destino — color sólido por región */
.nacionales-destino-image {
    position: relative;
    min-height: 160px;
    overflow: hidden;
    background: var(--nac-azul-mar);
    display: flex;
    align-items: flex-end;
    padding: 16px;
}

.nacionales-destino-label {
    position: relative;
    z-index: 1;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,0.90);
    color: var(--nac-azul-profundo);
    font-size: 0.76rem;
    font-weight: 800;
    font-family: var(--nac-font-ui);
}

.nacionales-destino-body {
    flex: 1;
    padding: 20px;
}

.nacionales-destino-body h3 {
    margin: 0 0 8px;
    color: var(--nac-azul-profundo);
    font-size: 1.4rem;
    line-height: 1.15;
}

.nacionales-destino-body p {
    min-height: 60px;
    margin: 0 0 16px;
    color: var(--nac-gris);
    font-size: 0.93rem;
    line-height: 1.5;
}

.nacionales-card-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--nac-azul-mar);
    font-family: var(--nac-font-ui);
    font-size: 0.88rem;
    font-weight: 800;
}

.nacionales-destino-card:hover .nacionales-card-link { color: var(--nac-coral); }

/* Colores sólidos por región */
.nacionales-destino-visual-caribe .nacionales-destino-image,
.nacionales-destino-visual-caribe.nacionales-card-image-placeholder  { background: #004e92; }

.nacionales-destino-visual-isla .nacionales-destino-image,
.nacionales-destino-visual-isla.nacionales-card-image-placeholder     { background: #006994; }

.nacionales-destino-visual-sierra .nacionales-destino-image,
.nacionales-destino-visual-sierra.nacionales-card-image-placeholder   { background: #004e92; }

.nacionales-destino-visual-selva .nacionales-destino-image,
.nacionales-destino-visual-selva.nacionales-card-image-placeholder    { background: #1A5C38; }

.nacionales-destino-visual-cafe .nacionales-destino-image,
.nacionales-destino-visual-cafe.nacionales-card-image-placeholder     { background: #6d4c41; }

.nacionales-destino-visual-andes .nacionales-destino-image,
.nacionales-destino-visual-andes.nacionales-card-image-placeholder    { background: #0a2a5e; }

.nacionales-destino-visual-guajira .nacionales-destino-image,
.nacionales-destino-visual-guajira.nacionales-card-image-placeholder  { background: #8B1A1A; }

.nacionales-destino-visual-pacifico .nacionales-destino-image,
.nacionales-destino-visual-pacifico.nacionales-card-image-placeholder { background: #1A5C38; }

.nacionales-destino-visual-colombia .nacionales-destino-image,
.nacionales-destino-visual-colombia.nacionales-card-image-placeholder { background: #0a2a5e; }

/* ============================================================
   11. TARJETAS DE PLANES
   ============================================================ */
.nacionales-plan-card {
    display: flex;
    flex-direction: column;
}

.nacionales-plan-card-link {
    display: flex;
    flex: 1;
    flex-direction: column;
    color: inherit;
    text-decoration: none;
}

.nacionales-plan-card-image {
    position: relative;
    min-height: 220px;
    overflow: hidden;
}

.nacionales-plan-card-image img {
    width: 100%;
    height: 100%;
    min-height: 220px;
    display: block;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.nacionales-plan-card:hover .nacionales-plan-card-image img { transform: scale(1.05); }

.nacionales-card-image-placeholder {
    display: flex;
    align-items: flex-end;
    padding: 20px;
    background: var(--nac-azul-mar);
    color: var(--nac-blanco);
    min-height: 220px;
}

.nacionales-card-image-placeholder span {
    position: relative;
    z-index: 1;
    color: var(--nac-blanco);
    font-family: var(--nac-font-heading);
    font-size: 1.65rem;
    line-height: 1;
    text-shadow: 0 4px 16px rgba(0,0,0,0.30);
}

.nacionales-plan-card-body {
    flex: 1;
    padding: 20px 20px 16px;
}

.nacionales-plan-card-tags,
.nacionales-plan-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

.nacionales-plan-card-tags span,
.nacionales-card-tipo {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(0,78,146,0.10);
    color: var(--nac-azul-mar);
    font-family: var(--nac-font-ui);
    font-size: 0.72rem;
    font-weight: 800;
}

.nacionales-plan-card-title {
    margin: 0 0 10px;
    color: var(--nac-azul-profundo);
    font-size: 1.28rem;
    line-height: 1.2;
}

.nacionales-card-destino {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px;
    color: var(--nac-gris);
    font-size: 0.93rem;
}

.nacionales-card-destino::before {
    content: "";
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 50%;
    background: var(--nac-coral);
    box-shadow: 0 0 0 3px rgba(231,111,81,0.14);
}

.nacionales-plan-card-precio {
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid var(--nac-linea);
}

.nacionales-card-precio-label {
    display: block;
    margin-bottom: 3px;
    color: var(--nac-gris);
    font-family: var(--nac-font-ui);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

/* Precio prominente en amarillo bandera */
.nacionales-card-precio-valor {
    color: var(--nac-amarillo-bandera);
    font-size: var(--nac-text-precio);
    font-weight: 800;
    text-shadow: none;
}

.nacionales-plan-card-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 0 20px 20px;
}

.nacionales-btn-card {
    min-height: 40px;
    padding: 9px 12px;
    border-radius: 999px;
    background: var(--nac-arena);
    color: var(--nac-azul-profundo);
    font-size: 0.86rem;
}

.nacionales-btn-card:hover {
    background: var(--nac-oro);
    color: #1a0f00;
}

.nacionales-btn-card-whatsapp,
.nacionales-whatsapp-btn {
    background: var(--nac-whatsapp);
    color: var(--nac-blanco);
}

.nacionales-btn-card-whatsapp:hover,
.nacionales-whatsapp-btn:hover {
    background: var(--nac-whatsapp-hover);
    color: var(--nac-blanco);
}

.nacionales-empty-state {
    max-width: 620px;
    margin: 0 auto;
    padding: 42px;
    border: 1px solid var(--nac-linea);
    border-radius: var(--nac-radius-lg);
    background: var(--nac-blanco);
    text-align: center;
    box-shadow: var(--nac-shadow-sm);
}

.nacionales-empty-state h3 { margin: 0 0 10px; font-size: 1.6rem; }
.nacionales-empty-state p  { margin: 0 0 22px; color: var(--nac-gris); }

/* ============================================================
   12. TRUST BAND (por qué reservar)
   ============================================================ */
.nacionales-trust-band {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    padding-top: 32px;
    /* Borde tricolor superior */
    border-top: 4px solid;
    border-image: linear-gradient(to right, #FFC300 33%, #0a2a5e 33% 66%, #C1121F 66%) 1;
    /* Sutil wayuu ambiental */
    background-image:
        repeating-linear-gradient(45deg, transparent 0, transparent 8px, rgba(255,195,0,0.03) 8px, rgba(255,195,0,0.03) 10px),
        repeating-linear-gradient(-45deg, transparent 0, transparent 8px, rgba(255,195,0,0.03) 8px, rgba(255,195,0,0.03) 10px);
}

.nacionales-trust-item {
    padding: 24px;
    border-radius: var(--nac-radius);
    background: var(--nac-blanco);
    box-shadow: var(--nac-shadow-sm);
    border: 1px solid var(--nac-linea);
}

.nacionales-trust-item .nacionales-icon,
.nacionales-trust-item i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 14px;
    border-radius: 12px;
    background: var(--nac-azul-profundo);
    color: var(--nac-amarillo-bandera);
    padding: 10px;
    box-sizing: border-box;
}

.nacionales-trust-item h3 {
    margin: 0 0 8px;
    color: var(--nac-azul-profundo);
    font-size: 1.14rem;
}

.nacionales-trust-item p {
    margin: 0;
    color: var(--nac-gris);
    line-height: 1.55;
    font-size: 0.94rem;
}

/* ============================================================
   13. CTA FINAL
   ============================================================ */
.nacionales-final-cta {
    max-width: var(--nac-max);
    margin: 14px auto 86px;
    padding: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    border-radius: var(--nac-radius-lg);
    /* Gradiente navy → rojo Colombia dosado */
    background: linear-gradient(135deg, var(--nac-azul-profundo) 0%, #1a0f3d 50%, #6B0D0D 100%);
    /* Wayuu superpuesto */
    background-image:
        repeating-linear-gradient(45deg, transparent 0, transparent 8px, rgba(255,195,0,0.04) 8px, rgba(255,195,0,0.04) 10px),
        repeating-linear-gradient(-45deg, transparent 0, transparent 8px, rgba(255,195,0,0.04) 8px, rgba(255,195,0,0.04) 10px),
        linear-gradient(135deg, var(--nac-azul-profundo) 0%, #1a0f3d 50%, #6B0D0D 100%);
}

.nacionales-final-cta h2 {
    margin: 0;
    color: var(--nac-blanco);
}

.nacionales-final-cta p {
    max-width: 640px;
    margin-left: 0;
    color: rgba(255,255,255,0.88);
}

/* ============================================================
   14. ARCHIVE — Lista horizontal con borde por tipo
   ============================================================ */
.nacionales-archive-wrap,
.nacionales-single-plan {
    max-width: var(--nac-max);
    margin: 0 auto;
    padding: 48px 22px 88px;
}

.nacionales-archive-header {
    margin-bottom: 26px;
    padding: 42px;
    border-radius: var(--nac-radius-lg);
    background: linear-gradient(135deg, var(--nac-azul-profundo) 0%, var(--nac-azul-mar) 100%);
    box-shadow: var(--nac-shadow-sm);
}

.nacionales-archive-header-compact {
    margin-bottom: 18px;
    padding: 20px 24px;
}

.nacionales-archive-title {
    margin: 0;
    color: var(--nac-blanco) !important;
    font-size: clamp(2rem, 4vw, 3.5rem);
    line-height: 1;
}

.nacionales-archive-header-compact .nacionales-archive-title {
    font-size: clamp(1.2rem, 2vw, 1.7rem);
}

.nacionales-archive-subtitle {
    max-width: 660px;
    margin: 14px 0 0;
    color: rgba(255,255,255,0.88);
    font-size: 1.05rem;
    line-height: 1.62;
}

/* Filtros */
.nacionales-filtros {
    margin-bottom: 28px;
    padding: 18px;
    border: 1px solid var(--nac-linea);
    border-radius: var(--nac-radius-lg);
    background: var(--nac-blanco);
    box-shadow: var(--nac-shadow-sm);
    /* Tricolor sutil debajo de los filtros */
    border-bottom: 3px solid;
    border-image: linear-gradient(to right, #FFC300 33%, #0a2a5e 33% 66%, #C1121F 66%) 1;
}

.nacionales-filtros-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
    gap: 14px;
    align-items: end;
}

.nacionales-filtros-grid-planes {
    grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
    gap: 10px;
}

.nacionales-filtro-actions {
    display: flex;
    gap: 10px;
    align-items: flex-end;
}

/* Feedback de filtro activo */
.nacionales-filtro-item--active select {
    border-color: var(--nac-oro);
    box-shadow: 0 0 0 3px rgba(245,166,35,0.18);
}

.nacionales-filtro-item--active::after {
    content: "✓ Filtrado";
    display: block;
    margin-top: 4px;
    color: var(--nac-verde-claro);
    font-size: 0.72rem;
    font-weight: 800;
    font-family: var(--nac-font-ui);
}

/* Lista de planes en archive */
.nacionales-planes-list-wrap {
    overflow: hidden;
    border: 1px solid var(--nac-linea);
    border-radius: var(--nac-radius);
    background: var(--nac-blanco);
    box-shadow: var(--nac-shadow-sm);
}

.nacionales-planes-list-head,
.nacionales-plan-bar {
    display: grid;
    grid-template-columns: minmax(112px, 0.95fr) minmax(132px, 1fr) minmax(132px, 1fr) minmax(120px, 1fr) minmax(116px, 0.85fr) minmax(160px, 1fr);
    column-gap: 12px;
}

.nacionales-planes-list-head {
    padding: 14px 22px 14px 34px;
    background: linear-gradient(180deg, rgba(10,42,94,0.06), rgba(10,42,94,0.02));
    border-bottom: 1px solid var(--nac-linea);
}

.nacionales-planes-list-head div {
    color: var(--nac-gris);
    font-family: var(--nac-font-ui);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.nacionales-planes-list { display: grid; }

.nacionales-plan-bar {
    position: relative;
    align-items: stretch;
    padding: 0 22px 0 34px;
    background: var(--nac-blanco);
    border-bottom: 1px solid rgba(229,217,197,0.88);
    transition: background var(--nac-transition), box-shadow var(--nac-transition);
}

.nacionales-plan-bar:last-child { border-bottom: 0; }

.nacionales-plan-bar:hover {
    background: #fdfaf5;
    box-shadow: inset 6px 0 0 var(--nac-oro);
}

/* Borde izquierdo de 5px por tipo de plan */
.nacionales-plan-rail {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    background: var(--nac-gris-claro);
}

.nacionales-plan-bar[data-tipo="terrestre"] .nacionales-plan-rail  { background: var(--nac-azul-mar); }
.nacionales-plan-bar[data-tipo="aereo"] .nacionales-plan-rail       { background: var(--nac-verde-selva); }
.nacionales-plan-bar[data-tipo="porcion_terrestre"] .nacionales-plan-rail { background: var(--nac-amarillo-bandera); }
.nacionales-plan-bar[data-tipo="pasadia"] .nacionales-plan-rail     { background: var(--nac-rojo-colombia); }

.nacionales-plan-cell {
    min-width: 0;
    padding: 18px 4px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
}

.nacionales-plan-cell-label {
    display: none;
    color: var(--nac-gris);
    font-family: var(--nac-font-ui);
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.nacionales-plan-cell-value {
    color: var(--nac-azul-profundo);
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.45;
    word-break: break-word;
}

.nacionales-plan-cell-destino { font-size: 0.96rem; font-weight: 800; }

.nacionales-plan-cell-fechas { color: var(--nac-azul-mar); }

/* Badge tipo en barra horizontal */
.nacionales-bar-tipo-badge {
    width: fit-content;
    max-width: 100%;
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
    border-radius: 999px;
    font-family: var(--nac-font-ui);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.nacionales-bar-tipo-badge[data-tipo="terrestre"]       { background: rgba(0,78,146,0.10); color: var(--nac-azul-mar); }
.nacionales-bar-tipo-badge[data-tipo="aereo"]           { background: rgba(26,92,56,0.10); color: var(--nac-verde-selva); }
.nacionales-bar-tipo-badge[data-tipo="porcion_terrestre"] { background: rgba(255,195,0,0.15); color: #7A5800; }
.nacionales-bar-tipo-badge[data-tipo="pasadia"]         { background: rgba(193,18,31,0.10); color: var(--nac-rojo-colombia); }

.nacionales-plan-cell-price { align-items: flex-start; }

/* Precio en archive también prominente */
.nacionales-plan-price {
    color: var(--nac-amarillo-bandera);
    font-size: 1rem;
    font-weight: 800;
    filter: brightness(0.88);
}

.nacionales-plan-cell-note {
    color: var(--nac-gris);
    font-size: 0.72rem;
    line-height: 1.3;
}

.nacionales-plan-cell-action {
    align-items: flex-start;
    gap: 6px;
}

.nacionales-btn-bar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 14px;
    border-radius: 999px;
    background: var(--nac-arena);
    border: 1px solid var(--nac-linea);
    color: var(--nac-azul-profundo);
    font-family: var(--nac-font-ui);
    font-size: 0.82rem;
    font-weight: 800;
    text-decoration: none;
    transition: background var(--nac-transition), color var(--nac-transition);
}

.nacionales-btn-bar:hover {
    background: var(--nac-oro);
    border-color: var(--nac-oro);
    color: #1a0f00;
}

.nacionales-btn-bar-whatsapp {
    background: var(--nac-whatsapp);
    border-color: var(--nac-whatsapp);
    color: #fff;
}
.nacionales-btn-bar-whatsapp:hover {
    background: var(--nac-whatsapp-hover);
    border-color: var(--nac-whatsapp-hover);
    color: #fff;
}

/* Contador de resultados sobre la lista */
.nacionales-planes-list-count {
    padding: 10px 22px 10px 34px;
    font-family: var(--nac-font-ui);
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--nac-gris);
    border-bottom: 1px solid var(--nac-linea);
}

/* Paginación */
.nacionales-pagination { margin: 42px 0 0; text-align: center; }

.nacionales-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 42px;
    margin: 4px;
    padding: 8px 13px;
    border: 1.5px solid var(--nac-linea);
    border-radius: 999px;
    background: var(--nac-blanco);
    color: var(--nac-azul-profundo);
    text-decoration: none;
    font-weight: 800;
    font-family: var(--nac-font-ui);
    transition: background var(--nac-transition), color var(--nac-transition);
}

.nacionales-pagination .page-numbers:hover,
.nacionales-pagination .page-numbers.current {
    background: var(--nac-azul-profundo);
    color: var(--nac-blanco);
    border-color: var(--nac-azul-profundo);
}

.nacionales-no-results {
    padding: 58px 24px;
    border: 1px solid var(--nac-linea);
    border-radius: var(--nac-radius-lg);
    background: var(--nac-blanco);
    text-align: center;
    box-shadow: var(--nac-shadow-sm);
}

.nacionales-no-results p { margin: 0 0 18px; color: var(--nac-gris); font-size: 1.05rem; }

/* ============================================================
   15. PLAN INDIVIDUAL (single-plan)
   ============================================================ */
.nacionales-breadcrumbs { margin-bottom: 18px; }

.nacionales-breadcrumbs-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.nacionales-breadcrumbs-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--nac-gris);
    font-size: 0.86rem;
    font-family: var(--nac-font-ui);
}

.nacionales-breadcrumbs-item + .nacionales-breadcrumbs-item::before {
    content: "/";
    color: #b9afa2;
}

.nacionales-breadcrumbs-item a {
    color: var(--nac-azul-mar);
    text-decoration: none;
    font-weight: 800;
}

.nacionales-plan-article {
    overflow: hidden;
    border: 1px solid var(--nac-linea);
    border-radius: var(--nac-radius-lg);
    background: var(--nac-blanco);
    box-shadow: var(--nac-shadow-md);
}

/* Header del plan con color sólido por región */
.nacionales-plan-header {
    padding: 36px 36px 0;
}

.nacionales-plan-header-color {
    position: relative;
    padding: 0;
    background: var(--header-fondo, var(--nac-azul-mar));
    color: var(--nac-blanco);
    overflow: hidden;
}

.nacionales-plan-header-bg-img {
    position: absolute; inset: 0;
    z-index: 0;
}
.nacionales-plan-header-bg-img img {
    width: 100%; height: 100%;
    object-fit: cover;
    opacity: 0.35;
    display: block;
}

.nacionales-plan-header-color-inner {
    position: relative; z-index: 1;
    max-width: var(--nac-max);
    margin: 0 auto;
    padding: 44px 36px 36px;
}

.nacionales-plan-tipo-badge {
    display: inline-block;
    padding: 4px 14px;
    margin-bottom: 16px;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    background: var(--header-acento, var(--nac-oro));
    color: var(--nac-azul-profundo);
    border-radius: 30px;
}

.nacionales-plan-header-destino {
    margin: 10px 0 0;
    font-size: 1.05rem;
    color: rgba(255,255,255,0.82);
    font-family: var(--nac-font-ui);
}

.nacionales-plan-header-precio {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,0.2);
}
.nacionales-plan-header-precio .nacionales-card-precio-label {
    font-size: 0.85rem;
    color: rgba(255,255,255,0.72);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.nacionales-plan-header-precio .nacionales-card-precio-valor {
    font-size: var(--nac-text-precio);
    font-weight: 800;
    color: var(--header-acento, var(--nac-amarillo-bandera));
    font-family: var(--nac-font-mono);
}
.nacionales-plan-header-precio-note {
    font-size: 0.78rem;
    color: rgba(255,255,255,0.55);
}

.nacionales-plan-header-color .nacionales-breadcrumbs-item,
.nacionales-plan-header-color .nacionales-breadcrumbs-item a,
.nacionales-plan-header-color .nacionales-breadcrumbs-item::before {
    color: rgba(255,255,255,0.75);
}

.nacionales-plan-header-color .nacionales-plan-title {
    color: var(--nac-blanco);
}

.nacionales-plan-title {
    max-width: 920px;
    margin: 0;
    color: var(--nac-azul-profundo);
    font-size: clamp(2.05rem, 4vw, 3.8rem);
    line-height: 1.0;
}

.nacionales-plan-image {
    margin-top: 24px;
    overflow: hidden;
    border-radius: var(--nac-radius);
}

.nacionales-plan-image img {
    width: 100%;
    display: block;
    aspect-ratio: 16 / 8;
    object-fit: cover;
}

.nacionales-plan-info,
.nacionales-plan-content,
.nacionales-plan-incluye,
.nacionales-plan-no-incluye,
.nacionales-plan-tours,
.nacionales-plan-opcionales,
.nacionales-plan-adicionales,
.nacionales-plan-hoteles {
    padding: 0 36px 34px;
}

.nacionales-plan-info { padding-top: 34px; }

.nacionales-plan-reserva {
    margin: 0 36px 34px;
    padding: 26px;
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: center;
    border-radius: var(--nac-radius);
    background: linear-gradient(135deg, var(--nac-azul-profundo), #1a0f3d 70%, #6B0D0D);
}

.nacionales-plan-reserva .nacionales-section-kicker { margin-bottom: 8px; color: var(--nac-amarillo-bandera); }

.nacionales-plan-reserva h2 {
    margin: 0;
    color: var(--nac-blanco);
    font-size: clamp(1.55rem, 3vw, 2.3rem);
}

.nacionales-plan-reserva p {
    max-width: 620px;
    margin: 9px 0 0;
    color: rgba(255,255,255,0.88);
    line-height: 1.55;
}

.nacionales-plan-info h2,
.nacionales-plan-content h2,
.nacionales-plan-incluye h2,
.nacionales-plan-no-incluye h2,
.nacionales-plan-tours h2,
.nacionales-plan-opcionales h2,
.nacionales-plan-adicionales h2,
.nacionales-plan-hoteles h2 {
    margin: 0 0 18px;
    padding-bottom: 10px;
    border-bottom: 3px solid var(--nac-oro);
    color: var(--nac-azul-profundo);
    font-size: 1.55rem;
}

/* Info grid del plan */
.nacionales-info-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.nacionales-info-item,
.nacionales-text-block,
.nacionales-fecha-card {
    border: 1px solid var(--nac-linea);
    border-radius: var(--nac-radius);
    background: var(--nac-hueso);
}

.nacionales-info-item { padding: 16px; }

.nacionales-info-item strong {
    display: block;
    margin-bottom: 5px;
    color: var(--nac-gris);
    font-family: var(--nac-font-ui);
    font-size: 0.70rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.nacionales-info-item span {
    color: var(--nac-azul-profundo);
    font-weight: 800;
}

/* Precio en info grid — amarillo bandera */
.nacionales-precio {
    color: var(--nac-amarillo-bandera) !important;
    font-size: 1.3rem !important;
    filter: brightness(0.85);
}

.nacionales-text-block {
    padding: 20px 22px;
    color: var(--nac-carbon);
    line-height: 1.7;
}

/* Listas de incluye / no incluye */
.nacionales-plan-incluye ul li::marker  { color: var(--nac-verde-claro); }
.nacionales-plan-no-incluye ul li::marker { color: var(--nac-rojo-colombia); }

/* Hotel cards */
.nacionales-hotel-card {
    margin-bottom: 18px;
    padding: 24px;
    border: 1px solid var(--nac-linea);
    border-left: 4px solid var(--nac-azul-mar);
    border-radius: var(--nac-radius);
    background: var(--nac-blanco);
    box-shadow: var(--nac-shadow-sm);
}

.nacionales-hotel-nombre {
    margin: 0 0 6px;
    color: var(--nac-azul-profundo);
    font-size: 1.22rem;
}

.nacionales-hotel-categoria {
    color: var(--nac-gris);
    font-size: 0.92rem;
    font-weight: 600;
}

/* Fechas */
.nacionales-fechas-list { margin-top: 16px; }

.nacionales-fecha-card {
    padding: 18px;
    margin-bottom: 12px;
}

.nacionales-fecha-info {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-bottom: 12px;
}

.nacionales-fecha-rango { color: var(--nac-azul-profundo); font-weight: 900; }

.nacionales-ciudad-salida {
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(0,78,146,0.10);
    color: var(--nac-azul-mar);
    font-size: 0.82rem;
    font-weight: 800;
    font-family: var(--nac-font-ui);
}

.nacionales-tarifas-list h4 {
    margin: 0 0 8px;
    color: var(--nac-gris);
    font-family: var(--nac-font-ui);
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
}

.nacionales-tarifas-list ul { margin: 0; padding: 0; list-style: none; }

.nacionales-tarifa-item {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 9px 0;
    border-bottom: 1px solid rgba(229,217,197,0.80);
}

.nacionales-tarifa-item:last-child { border-bottom: 0; }

.nacionales-tarifa-tipo { color: var(--nac-carbon); font-weight: 700; }

.nacionales-tarifa-precio {
    color: var(--nac-amarillo-bandera);
    font-weight: 900;
    filter: brightness(0.80);
}

.nacionales-whatsapp-wrap { margin-top: 14px; }

.nacionales-no-fechas { color: var(--nac-gris); font-style: italic; }

/* Sticky WhatsApp mobile */
.nacionales-sticky-whatsapp { display: none; }

/* ============================================================
   16. FOOTER
   ============================================================ */
.nacionales-footer {
    background: var(--nac-azul-profundo);
    /* Wayuu sobre azul profundo */
    background-image:
        repeating-linear-gradient(45deg, transparent 0, transparent 8px, rgba(255,195,0,0.04) 8px, rgba(255,195,0,0.04) 10px),
        repeating-linear-gradient(-45deg, transparent 0, transparent 8px, rgba(255,195,0,0.04) 8px, rgba(255,195,0,0.04) 10px),
        linear-gradient(135deg, #0a2a5e 0%, #021040 100%);
}

.nacionales-footer-inner {
    max-width: var(--nac-max);
    margin: 0 auto;
    padding: 58px 22px 28px;
}

.nacionales-footer-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.9fr 0.9fr;
    gap: 36px;
    /* Tricolor como separador decorativo */
    padding-bottom: 42px;
    border-bottom: 4px solid;
    border-image: linear-gradient(to right, #FFC300 33%, rgba(255,255,255,0.2) 33% 66%, #C1121F 66%) 1;
}

.nacionales-footer-brand img {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    background: var(--nac-blanco);
    box-shadow: 0 4px 16px rgba(0,0,0,0.25);
}

.nacionales-footer-brand p,
.nacionales-footer-col a,
.nacionales-footer-bottom p {
    color: rgba(255,255,255,0.75);
}

.nacionales-footer-brand p {
    max-width: 340px;
    margin: 16px 0 0;
    line-height: 1.65;
}

.nacionales-footer-col h3 {
    margin: 0 0 14px;
    color: var(--nac-amarillo-bandera);
    font-size: 1.12rem;
}

.nacionales-footer-col a {
    display: flex;
    align-items: center;
    gap: 9px;
    width: fit-content;
    margin-bottom: 10px;
    text-decoration: none;
    transition: color var(--nac-transition);
}

.nacionales-footer-col a:hover { color: var(--nac-oro-claro); }

.nacionales-footer-bottom {
    margin-top: 28px;
}

.nacionales-footer-bottom p {
    margin: 0;
    font-size: 0.86rem;
}

/* ============================================================
   17. ANIMACIONES
   ============================================================ */
@keyframes nac-spin {
    to { transform: rotate(360deg); }
}

@keyframes nac-btn-glow {
    0%, 100% { box-shadow: 0 8px 22px rgba(245,166,35,0.32); }
    50%       { box-shadow: 0 8px 32px rgba(245,166,35,0.55); }
}

@keyframes nac-shimmer {
    0%   { background-position: -200% 0; }
    100% { background-position:  200% 0; }
}

@keyframes nac-fade-in-up {
    from { opacity: 0; transform: translateY(24px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Fade-in al scroll */
.nac-fade-in { opacity: 0; transform: translateY(20px); }

.nac-fade-in.nac-visible {
    animation: nac-fade-in-up 0.5s ease forwards;
}

@media (prefers-reduced-motion: reduce) {
    .nac-fade-in { opacity: 1; transform: none; }
    .nac-fade-in.nac-visible { animation: none; }
}

/* Skeleton loading */
.nacionales-card-skeleton {
    background: var(--nac-hueso);
    border-radius: var(--nac-radius);
    overflow: hidden;
    border: 1px solid var(--nac-linea);
}

.nacionales-card-skeleton-image {
    min-height: 220px;
    background: linear-gradient(90deg, var(--nac-linea) 25%, var(--nac-arena) 50%, var(--nac-linea) 75%);
    background-size: 200% 100%;
    animation: nac-shimmer 1.5s infinite;
}

.nacionales-card-skeleton-text {
    height: 14px;
    margin: 14px 16px;
    border-radius: 4px;
    background: linear-gradient(90deg, var(--nac-linea) 25%, var(--nac-arena) 50%, var(--nac-linea) 75%);
    background-size: 200% 100%;
    animation: nac-shimmer 1.5s infinite;
}

.nacionales-card-skeleton-text--short { width: 55%; }

/* ============================================================
   18. PREFERS-REDUCED-MOTION
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
    .nacionales-hero-sol { animation: none; opacity: 0.12; }
    .nacionales-hero .nacionales-btn-primary { animation: none; }
    .nacionales-card-skeleton-image,
    .nacionales-card-skeleton-text { animation: none; }
}

/* ============================================================
   19. RESPONSIVE
   ============================================================ */
@media (max-width: 1080px) {
    .nacionales-hero-inner {
        grid-template-columns: 1fr;
        min-height: auto;
    }
    .nacionales-hero-map { min-height: 300px; max-width: 460px; }
    .nacionales-trust-band,
    .nacionales-info-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .nacionales-destinos-grid,
    .nacionales-destacados-grid,
    .nacionales-planes-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .nacionales-quick-search-inner,
    .nacionales-filtros-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .nacionales-filtros-grid-planes {
        grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
    }
}

@media (max-width: 720px) {
    .site-header .ast-container,
    .main-header-bar .ast-container,
    .ast-primary-header-bar .ast-container {
        padding-left: 18px;
        padding-right: 18px;
    }

    .main-header-bar .site-branding,
    .ast-primary-header-bar .site-branding { margin-left: 0; }

    .nacionales-hero-inner {
        width: 100%;
        max-width: 100%;
        padding: 48px 18px 88px;
        grid-template-columns: 1fr;
    }

    .nacionales-hero-map { display: none; }
    .nacionales-hero-sol { display: none; }

    .nacionales-hero-title { font-size: clamp(2.5rem, 11vw, 3.4rem); }

    .nacionales-trust-band,
    .nacionales-info-grid,
    .nacionales-hero-proof,
    .nacionales-destinos-grid,
    .nacionales-destacados-grid,
    .nacionales-planes-grid,
    .nacionales-footer-grid,
    .nacionales-quick-search-inner,
    .nacionales-filtros-grid {
        grid-template-columns: 1fr;
    }

    .nacionales-quick-search { margin-top: -40px; padding: 0 16px; }

    .nacionales-section { padding: 60px 16px; }

    .nacionales-section-heading-split,
    .nacionales-final-cta,
    .nacionales-plan-reserva {
        align-items: flex-start;
        flex-direction: column;
    }

    .nacionales-final-cta { margin: 0 16px 60px; padding: 30px 22px; }

    .nacionales-archive-wrap,
    .nacionales-single-plan { padding: 32px 16px 60px; }

    .nacionales-archive-header,
    .nacionales-plan-header,
    .nacionales-plan-header-color,
    .nacionales-plan-info,
    .nacionales-plan-reserva,
    .nacionales-plan-content,
    .nacionales-plan-incluye,
    .nacionales-plan-no-incluye,
    .nacionales-plan-tours,
    .nacionales-plan-opcionales,
    .nacionales-plan-adicionales,
    .nacionales-plan-hoteles {
        padding-left: 20px;
        padding-right: 20px;
    }

    .nacionales-plan-reserva { margin-left: 20px; margin-right: 20px; }

    .nacionales-filtro-actions,
    .nacionales-plan-card-actions {
        flex-direction: column;
        display: grid;
        grid-template-columns: 1fr;
    }

    .nacionales-filtros-grid-planes,
    .nacionales-plan-bar { grid-template-columns: 1fr; }

    .nacionales-planes-list-head { display: none; }
    .nacionales-plan-cell-label  { display: block; }

    .nacionales-plan-bar { padding: 0 18px 0 24px; }

    .nacionales-plan-cell {
        padding: 14px 0;
        border-bottom: 1px solid rgba(229,217,197,0.78);
    }
    .nacionales-plan-cell:last-child {
        border-bottom: 0;
        padding-bottom: 18px;
    }

    .nacionales-plan-cell-action { align-items: flex-start; }

    .nacionales-btn,
    .nacionales-btn-filtrar,
    .nacionales-btn-limpiar,
    .nacionales-btn-ver-mas,
    .nacionales-whatsapp-btn,
    .nacionales-btn-bar { width: 100%; }

    /* Sticky WhatsApp — solo mobile */
    .nacionales-sticky-whatsapp {
        display: block;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 999;
        padding: 12px 16px;
        background: var(--nac-blanco);
        box-shadow: 0 -4px 20px rgba(0,0,0,0.12);
        border-top: 1px solid var(--nac-linea);
    }

    .nacionales-sticky-whatsapp .nacionales-whatsapp-btn {
        width: 100%;
        justify-content: center;
    }

    .nacionales-single-plan { padding-bottom: 100px; }
}

@media (max-width: 460px) {
    .nacionales-hero-actions { flex-direction: column; }
    .nacionales-brand-pill { max-width: 100%; }
    .nacionales-plan-card-image { min-height: 200px; }
    .nacionales-card-image-placeholder span { font-size: 1.45rem; }
    .nacionales-final-cta { padding: 26px 18px; }
}

/* ============================================================
   20. DARK MODE (preparación)
   ============================================================ */
@media (prefers-color-scheme: dark) {
    :root {
        --nac-hueso:      #1a1a2e;
        --nac-arena:      #16213e;
        --nac-blanco:     #1e1e2e;
        --nac-carbon:     #e0e0e0;
        --nac-tinta:      #e8e6e3;
        --nac-azul-profundo: #6fa3d4;
        --nac-gris:       #9e9e9e;
        --nac-linea:      #2a2a3e;
        --nac-shadow-sm:  0 2px 8px rgba(0,0,0,0.4);
        --nac-shadow-md:  0 4px 20px rgba(0,0,0,0.5);
    }
    /* El hero mantiene su fondo oscuro */
    .nacionales-hero { background: linear-gradient(120deg, #021040 0%, #003070 100%); }
}

/* ============================================================
   21. PRINT
   ============================================================ */
@media print {
    .nacionales-hero,
    .nacionales-quick-search,
    .nacionales-final-cta,
    .nacionales-footer,
    .nacionales-plan-reserva,
    .nacionales-plan-card-actions,
    .nacionales-sticky-whatsapp,
    .nacionales-hero-sol,
    .nacionales-pagination { display: none !important; }

    .nacionales-plan-article { box-shadow: none; border: 1px solid #ccc; }
}
