/**
 * Global landing page — Spain-style overrides.
 */

.navira-global-landing-page {
    font-family: var(--navira-font-body, 'Open Sans', 'Inter', sans-serif);
    color: var(--navira-blue, #000000);
    background-color: #ffffff;
    overflow-x: clip;
}

/* Секции на всю ширину вьюпорта (без горизонтального скролла) */
.navira-global-landing-page > #global-comparison,
.navira-global-landing-page > #global-tasks {
    width: 100%;
    max-width: none;
}

.navira-global-landing-page .navira-spain-hero,
.navira-global-landing-page .navira-consultations,
.navira-global-landing-page #global-comparison,
.navira-global-landing-page .navira-b2b-errors,
.navira-global-landing-page .navira-quickstart,
.navira-global-landing-page .navira-family-relocation,
.navira-global-landing-page .navira-global-franchise,
.navira-global-landing-page #global-tasks {
    scroll-margin-top: 96px;
}

.navira-global-tasks .navira-advantages__card-link {
    display: inline-flex;
    margin-top: 12px;
    font-size: var(--fs-card-title, 16px);
}

.navira-global-tasks__button {
    margin: auto 0 0 !important;
    text-align: center;
}

.navira-global-quickstart .navira-quickstart__panel {
    --navira-quickstart-intro-x: 25px;
    --navira-quickstart-intro-y: 120px;
    --navira-quickstart-intro-width: 30px;
    --navira-quickstart-intro-height: 170px;
    --navira-quickstart-dot-size: 11px;
    --navira-quickstart-dot-half: 5.5px;
    position: relative;
    overflow: hidden;
    padding: clamp(42px, 4.5vw, 70px) clamp(32px, 5vw, 82px) clamp(30px, 3vw, 42px);
    border-radius: 30px;
    background: #ffffff;
    box-shadow: 0 18px 48px rgba(33, 46, 68, 0.08), 0 2px 10px rgba(33, 46, 68, 0.04);
}

/* family-relocation list → statistics / why-approved card grid */
.navira-global-landing-page .navira-family-relocation__list.navira-statistics__grid.navira-why-approved__grid {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    list-style: none;
}

.navira-global-landing-page .navira-family-relocation__list .navira-why-approved__card {
    min-height: 100%;
}

@media (max-width: 1024px) {
    .navira-global-landing-page .navira-family-relocation__list.navira-statistics__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .navira-global-landing-page .navira-family-relocation__list.navira-statistics__grid {
        grid-template-columns: 1fr;
    }
}

.navira-global-services {
    padding: 40px 0;
}

.navira-global-landing-page #global-franchise {
    margin-top: 0;
}

/* Hero: map on the right + fallback bg matched to the image edge (not theme navy #0d1d38) */
@media (min-width: 921px) {
    .navira-global-landing-page .navira-spain-hero.navira-global-spain-hero {
        background-color: var(--navira-global-hero-bg, #201c18);
        background-position: right center;
        background-size: cover;
    }
}

@media (max-width: 920px) {
    .navira-global-landing-page .navira-spain-hero.navira-global-spain-hero {
        background-color: var(--navira-global-hero-bg, #201c18);
        background-size: cover;
    }
}

.navira-global-spain-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 8px;
}

.navira-global-spain-hero__button-alt {
    background: transparent;
    border: 2px solid rgba(255, 255, 255, 0.85);
    box-shadow: none;
}

.navira-global-spain-hero__button-alt:hover,
.navira-global-spain-hero__button-alt:focus-visible {
    background: rgba(255, 255, 255, 0.12);
    border-color: #ffffff;
}

.navira-global-countries-sticky {
    --navira-global-countries-sticky-top: 64px;
    position: fixed;
    left: 0;
    right: 0;
    top: var(--navira-global-countries-sticky-top);
    z-index: 18;
    padding: 10px 14px;
    border-bottom: 1px solid var(--navira-border);
    background: #f6f6f6;
    box-shadow: 0 8px 24px rgba(33, 46, 68, 0.08);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-12px);
    transition: opacity 0.22s ease, visibility 0.22s ease, transform 0.22s ease;
}

.navira-global-countries-sticky.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.navira-global-countries-sticky__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 12px 16px;
    max-width: 85.875rem;
    margin: 0 auto;
    min-width: 0;
    text-align: center;
}

.navira-global-countries-sticky__label {
    margin: 0;
    flex: 0 0 auto;
    text-align: center;
    color: var(--navira-blue);
    font-family: "Open Sans", var(--navira-font);
    font-size: var(--fs-card-title, 16px);
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.navira-global-countries-sticky__list {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
    min-width: 0;
    flex: 0 1 auto;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.navira-global-countries-sticky__list::-webkit-scrollbar {
    display: none;
}

.navira-global-countries-sticky__option {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 6px 12px 6px 14px;
    border: 1px solid var(--navira-border);
    border-radius: 999px;
    background: var(--navira-white);
    color: var(--navira-blue);
    font: inherit;
    line-height: 1.2;
    white-space: nowrap;
    cursor: pointer;
    transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.navira-global-countries-sticky__option:hover,
.navira-global-countries-sticky__option:focus-visible {
    border-color: var(--navira-orange);
    color: var(--navira-orange);
    background: var(--navira-white);
    outline: 0;
    box-shadow: 0 0 0 1px rgba(246, 90, 3, 0.2);
}

.navira-global-countries-sticky__option-text {
    font-size: 14px;
    font-weight: 600;
}

.navira-global-countries-sticky__option .navira-flag {
    flex: 0 0 auto;
}

.navira-global-countries .navira-consultations__head {
    margin-bottom: 0;
}

.navira-global-country-card__title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.navira-global-country-card__title .navira-flag {
    flex: 0 0 auto;
}

.navira-global-country-card__bottom {
    justify-content: flex-end;
}

/* Countries block: vertical stack (no slider) — Spain → USA → Poland */
.navira-global-countries--stacked .navira-global-countries__cards {
    display: flex;
    flex-direction: row;
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.navira-global-countries--stacked .navira-advantages__swipe-hint,
.navira-global-countries--stacked .navira-spain-services__controls,
.navira-global-countries--stacked .navira-spain-services__viewport {
    display: none !important;
}

@media (max-width: 767px) {
    .navira-global-countries--stacked {
        padding-bottom: 40px;
    }

    .navira-global-countries--stacked .navira-consultations__inner {
        gap: 20px;
    }

    .navira-global-countries--stacked .navira-global-countries__cards {
        gap: 16px;
    }
}

@media (max-width: 760px) {
    .navira-global-countries-sticky {
        padding-inline: 12px;
        display: none;
    }

    .navira-global-countries-sticky__inner {
        flex-direction: column;
        align-items: center;
    }
}

.navira-global-section-cta {
    display: flex;
    justify-content: center;
    margin-top: 36px;
}

.navira-global-section-cta--panel {
    margin-top: 28px;
}

.navira-global-inline-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 8px;
    font-weight: 600;
    color: var(--navira-orange, #f65a03);
    text-decoration: none;
}

.navira-global-inline-link:hover,
.navira-global-inline-link:focus-visible {
    text-decoration: underline;
}

.navira-global-franchise__eyebrow {
    margin: 0;
    color: var(--navira-orange, #f65a03);
    font-family: "Open Sans", var(--navira-font);
    font-size: var(--fs-description-alt, 14px);
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.navira-global-franchise__countries {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.navira-global-franchise__country {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border: 1px solid rgba(33, 46, 68, 0.08);
    border-radius: 999px;
    background: #ebf0f6;
    color: var(--navira-blue, #000000);
    font-family: "Open Sans", var(--navira-font);
    font-size: var(--fs-card-title, 16px);
    font-weight: 700;
    line-height: 1.2;
}

.navira-global-franchise__country-icon {
    display: inline-flex;
    width: 22px;
    height: 22px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgb(246 90 3 / 0%);
    color: var(--wp--preset--color--vivid-green-cyan);
    font-size: 12px;
}

.navira-global-franchise__actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    margin-top: clamp(28px, 3vw, 36px);
}

.navira-global-franchise__ctas {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

.navira-global-franchise__ctas .navira-button {
    min-width: 220px;
}

.navira-global-franchise__button-alt {
    background: transparent;
    border: 2px solid var(--navira-orange, #f65a03);
    box-shadow: none;
    color: var(--navira-orange, #f65a03);
}

.navira-global-franchise__button-alt:hover,
.navira-global-franchise__button-alt:focus-visible {
    background: rgba(246, 90, 3, 0.08);
    border-color: var(--navira-orange, #f65a03);
    color: var(--navira-orange, #f65a03);
}

.navira-global-franchise__note {
    margin: 0;
    text-align: center;
    color: var(--navira-blue);
    font-family: "Open Sans", var(--navira-font);
    font-size: var(--fs-description-alt);
    font-weight: 600;
    line-height: 1.55;
}

/* 6-step timeline: 3 top (LTR) → turn → 3 bottom (RTL: 6, 5, 4) */
.navira-global-quickstart__timeline {
    --navira-global-quickstart-col-gap: clamp(32px, 4.5vw, 72px);
    --navira-global-quickstart-row-gap: clamp(40px, 4.5vw, 52px);
    --navira-global-quickstart-turn-size: 28px;
    margin-top: clamp(28px, 3vw, 36px);
}

.navira-global-quickstart__row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: var(--navira-global-quickstart-col-gap);
    margin: 0;
    padding: 0;
    list-style: none;
}

.navira-global-quickstart__row--reverse {
    direction: rtl;
}

.navira-global-quickstart__row--reverse .navira-global-quickstart__step {
    direction: ltr;
}

.navira-global-quickstart__step {
    position: relative;
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 16px;
}

.navira-global-quickstart__row:not(.navira-global-quickstart__row--reverse) .navira-global-quickstart__connector {
    position: absolute;
    top: 50%;
    right: calc(var(--navira-global-quickstart-col-gap) * -0.62);
    left: auto;
    display: block;
    width: 22px;
    height: 2px;
    background: var(--navira-orange);
    transform: translateY(-50%);
    pointer-events: none;
}

.navira-global-quickstart__row:not(.navira-global-quickstart__row--reverse) .navira-global-quickstart__connector::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    left: auto;
    width: 8px;
    height: 8px;
    border: 2px solid var(--navira-orange);
    border-width: 2px 2px 0 0;
    transform: translateY(-50%) rotate(45deg);
}

.navira-global-quickstart__row--reverse .navira-global-quickstart__connector {
    position: absolute;
    top: 50%;
    left: calc(var(--navira-global-quickstart-col-gap) * -0.62);
    right: auto;
    display: block;
    width: 22px;
    height: 2px;
    background: var(--navira-orange);
    transform: translateY(-50%);
    pointer-events: none;
}

.navira-global-quickstart__row--reverse .navira-global-quickstart__connector::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    right: auto;
    width: 8px;
    height: 8px;
    border: 2px solid var(--navira-orange);
    border-width: 0 0 2px 2px;
    transform: translateY(-50%) rotate(45deg);
}

.navira-global-quickstart__turn {
    position: relative;
    height: var(--navira-global-quickstart-row-gap);
    pointer-events: none;
}

.navira-global-quickstart__turn::before {
    content: "";
    position: absolute;
    top: -33px;
    right: -50px;
    width: var(--navira-global-quickstart-turn-size);
    height: calc(100% + 50px);
    border-top: 2px solid var(--navira-orange);
    border-right: 2px solid var(--navira-orange);
    border-bottom: 2px solid var(--navira-orange);
    border-left: none;
    border-radius: 0 13px 13px 0;
}

.navira-global-quickstart__turn::after {
    content: "";
    position: absolute;
    bottom: -20px;
    right: calc(var(--navira-global-quickstart-turn-size) - 60px);
    width: 10px;
    height: 10px;
    border-left: 2px solid var(--navira-orange);
    border-bottom: 2px solid var(--navira-orange);
    transform: translateY(50%) rotate(45deg);
}

@media (max-width: 1180px) {
    .navira-global-quickstart__timeline {
        --navira-global-quickstart-col-gap: 38px;
    }

    .navira-global-quickstart__row:not(.navira-global-quickstart__row--reverse) .navira-global-quickstart__connector {
        display: none;
    }

    .navira-global-quickstart__row--reverse .navira-global-quickstart__connector {
        display: none;
    }
}

@media (max-width: 960px) {
    .navira-global-quickstart__timeline {
        --navira-global-quickstart-connector-x: 38px;
        --navira-global-quickstart-connector-color: rgba(246, 90, 3, 0.34);
        --navira-global-quickstart-connector-strong: rgba(246, 90, 3, 0.55);
        --navira-global-quickstart-mobile-bridge: 16px;
    }

    .navira-global-quickstart__row,
    .navira-global-quickstart__row--reverse {
        direction: ltr;
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .navira-global-quickstart__turn::after ,
    .navira-global-quickstart__connector {
        display: none;
    }

    .navira-global-quickstart__step {
        align-items: flex-start;
        gap: 14px;
        padding: 18px;
        border: 1px solid rgba(33, 46, 68, 0.07);
        border-radius: 18px;
        background: #f8f9fb;
    }

    .navira-global-quickstart__timeline .navira-global-quickstart__row .navira-global-quickstart__step:not(:last-child)::after,
    .navira-global-quickstart__timeline > .navira-global-quickstart__row:first-of-type > .navira-global-quickstart__step:last-child::after {
        content: "";
        position: absolute;
        top: 99px;
        bottom: -18px;
        left: var(--navira-global-quickstart-connector-x);
        width: 2px;
        background: linear-gradient(
            180deg,
            var(--navira-global-quickstart-connector-color) 0%,
            var(--navira-global-quickstart-connector-strong) 100%
        );
        border-radius: 1px;
        pointer-events: none;
        z-index: 0;
    }

    /* Bridge between top row (steps 1–3) and reverse row (steps 4–6) */
    .navira-global-quickstart__turn {
        display: block;
        position: relative;
        height: var(--navira-global-quickstart-mobile-bridge);
        margin: 0;
        overflow: visible;
    }

    .navira-global-quickstart__turn::before {
        display: none;
    }
}

@media (max-width: 767px) {
    .navira-global-spain-hero__actions {
        flex-direction: column;
    }

    .navira-global-spain-hero__actions .navira-spain-hero__button {
        width: 100%;
        justify-content: center;
    }
}
