:root {
    --sva-navy: #132a52;
    --sva-navy-deep: #0c1d3b;
    --sva-cobalt: #254d9b;
    --sva-cream: #fff8ea;
    --sva-cream-deep: #f4e7cd;
    --sva-paper: #fffdf8;
    --sva-white: #ffffff;
    --sva-terracotta: #c85d3f;
    --sva-terracotta-dark: #a7442d;
    --sva-gold: #d7aa4b;
    --sva-gold-soft: #f3dfad;
    --sva-ink-soft: #52627a;
    --sva-line: #e7dcc7;
    --sva-green: #24745e;
    --sva-shadow: 0 20px 50px rgba(19, 42, 82, .09);
}

html {
    scroll-behavior: smooth;
    overflow-x: clip;
}

body.mvp-site-spain {
    overflow-x: clip;
    color: var(--sva-navy);
    background: var(--sva-paper);
    font-family: "Manrope", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}

.mvp-site-spain *,
.mvp-site-spain *::before,
.mvp-site-spain *::after {
    min-width: 0;
}

.mvp-site-spain img,
.mvp-site-spain svg {
    max-width: 100%;
}

.mvp-site-spain h1,
.mvp-site-spain h2,
.mvp-site-spain h3,
.mvp-site-spain h4 {
    color: var(--sva-navy);
    font-family: "Fraunces", Georgia, serif;
    font-weight: 700;
    letter-spacing: -.025em;
    text-wrap: balance;
}

.mvp-site-spain p,
.mvp-site-spain a,
.mvp-site-spain button,
.mvp-site-spain input,
.mvp-site-spain select,
.mvp-site-spain textarea,
.mvp-site-spain label,
.mvp-site-spain dt,
.mvp-site-spain dd,
.mvp-site-spain li,
.mvp-site-spain span,
.mvp-site-spain small,
.mvp-site-spain strong {
    font-family: "Manrope", Arial, sans-serif;
}

.mvp-site-spain a,
.mvp-site-spain button,
.mvp-site-spain input,
.mvp-site-spain select,
.mvp-site-spain textarea,
.mvp-site-spain summary {
    -webkit-tap-highlight-color: transparent;
}

.mvp-site-spain a:focus-visible,
.mvp-site-spain button:focus-visible,
.mvp-site-spain input:focus-visible,
.mvp-site-spain select:focus-visible,
.mvp-site-spain textarea:focus-visible,
.mvp-site-spain summary:focus-visible {
    outline: 3px solid var(--sva-gold);
    outline-offset: 3px;
}

.mvp-site-spain .container {
    width: min(100% - 40px, 1240px);
    max-width: 1240px;
    margin-inline: auto;
    padding-inline: 0;
}

.mvp-site-spain .es-skip-link {
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 3000;
    padding: 11px 18px;
    border-radius: 999px;
    color: #fff;
    background: var(--sva-navy);
    transform: translateY(-160%);
}

.mvp-site-spain .es-skip-link:focus {
    transform: translateY(0);
}

/* Header */
.mvp-site-spain .es-site-header {
    position: sticky;
    top: 0;
    z-index: 1080;
    border: 0;
    background: rgba(255, 253, 248, .98);
    box-shadow: 0 1px 0 var(--sva-line);
}

.mvp-site-spain .es-utility-bar {
    min-height: 34px;
    color: var(--sva-navy);
    background: var(--sva-cream-deep);
}

.mvp-site-spain .es-utility-inner {
    min-height: 34px;
    color: var(--sva-navy);
    font-size: .72rem;
    font-weight: 700;
}

.mvp-site-spain .es-utility-inner i {
    color: var(--sva-terracotta);
}

.mvp-site-spain .es-main-nav {
    min-height: 86px;
    padding: 0;
    border: 0;
    background: var(--sva-paper);
}

.mvp-site-spain .es-main-nav .container {
    min-height: 86px;
}

.mvp-site-spain .es-main-nav .navbar-brand {
    display: flex;
    width: 238px;
    min-height: 58px;
    margin: 0 34px 0 0;
    align-items: center;
}

.mvp-site-spain .es-brand-logo {
    display: block;
    width: 238px;
    height: auto;
    max-height: 58px;
    object-fit: contain;
    object-position: left center;
}

.mvp-site-spain .es-main-nav .navbar-nav {
    align-items: center;
    gap: 2px;
}

.mvp-site-spain .es-main-nav .nav-link {
    min-height: 46px;
    padding: 12px 11px;
    color: #35445c;
    font-size: .83rem;
    font-weight: 700;
    border-radius: 999px;
}

.mvp-site-spain .es-main-nav .nav-link:hover,
.mvp-site-spain .es-main-nav .nav-link:focus {
    color: var(--sva-terracotta-dark);
    background: #fbefdf;
}

.mvp-site-spain .es-main-nav .navbar-nav .btn {
    min-width: 132px;
}

.mvp-site-spain .es-menu-button {
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid #c7bda9;
    border-radius: 14px;
    color: var(--sva-navy);
    background: #fff;
}

.mvp-site-spain .es-menu-button i {
    font-size: 1.55rem;
}

/* Controls */
.mvp-site-spain .btn {
    min-height: 48px;
    padding: 12px 21px;
    border-width: 1px;
    border-radius: 999px;
    font-size: .9rem;
    font-weight: 800;
    line-height: 1.3;
    transition: transform .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.mvp-site-spain .btn-lg {
    min-height: 54px;
    padding: 14px 25px;
    font-size: .95rem;
}

.mvp-site-spain .btn-primary {
    border-color: var(--sva-terracotta);
    color: #fff;
    background: var(--sva-terracotta);
    box-shadow: 0 9px 20px rgba(200, 93, 63, .18);
}

.mvp-site-spain .btn-primary:hover,
.mvp-site-spain .btn-primary:focus {
    border-color: var(--sva-terracotta-dark);
    color: #fff;
    background: var(--sva-terracotta-dark);
    box-shadow: 0 11px 24px rgba(167, 68, 45, .22);
    transform: translateY(-1px);
}

.mvp-site-spain .btn-outline-primary {
    border-color: var(--sva-navy);
    color: var(--sva-navy);
    background: transparent;
    box-shadow: none;
}

.mvp-site-spain .btn-outline-primary:hover,
.mvp-site-spain .btn-outline-primary:focus {
    border-color: var(--sva-navy);
    color: #fff;
    background: var(--sva-navy);
}

.mvp-site-spain .btn-light {
    border-color: #fff;
    color: var(--sva-navy);
    background: #fff;
}

.mvp-site-spain .form-control,
.mvp-site-spain .form-select,
.mvp-site-spain input[type="search"] {
    min-height: 52px;
    border: 1px solid #b8b3aa;
    border-radius: 12px;
    color: var(--sva-navy);
    background-color: #fff;
    font-size: .95rem;
    font-weight: 600;
    box-shadow: none;
}

.mvp-site-spain textarea.form-control {
    min-height: 118px;
}

.mvp-site-spain .form-control:focus,
.mvp-site-spain .form-select:focus,
.mvp-site-spain input[type="search"]:focus {
    border-color: var(--sva-cobalt);
    box-shadow: 0 0 0 4px rgba(37, 77, 155, .12);
}

.mvp-site-spain .mvp-eyebrow {
    margin-bottom: 16px;
    color: var(--sva-terracotta-dark);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

/* Homepage */
.mvp-site-spain.mvp-surface-home main {
    display: flex;
    flex-direction: column;
}

.mvp-site-spain.mvp-surface-home .mvp-home-hero { order: 1; }
.mvp-site-spain.mvp-surface-home .mvp-trust-band { order: 2; }
.mvp-site-spain.mvp-surface-home #popular-routes { order: 3; }
.mvp-site-spain.mvp-surface-home #services { order: 4; }
.mvp-site-spain.mvp-surface-home #how-it-works { order: 5; }
.mvp-site-spain.mvp-surface-home #faq { order: 6; }
.mvp-site-spain.mvp-surface-home .mvp-final-cta { order: 7; }

.mvp-site-spain .mvp-home-hero {
    overflow: hidden;
    border: 0;
    background: var(--sva-cream);
}

.mvp-site-spain .mvp-home-hero::before,
.mvp-site-spain .mvp-home-hero::after,
.mvp-site-spain .mvp-route-finder::before,
.mvp-site-spain .mvp-eyebrow::before {
    display: none !important;
    content: none !important;
}

.mvp-site-spain .mvp-home-hero-inner {
    min-height: 0;
    padding-top: 78px;
    padding-bottom: 66px;
}

.mvp-site-spain .mvp-hero-copy {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(350px, .65fr);
    gap: 0 72px;
    align-items: start;
}

.mvp-site-spain .mvp-hero-copy > .mvp-eyebrow,
.mvp-site-spain .mvp-hero-copy > h1,
.mvp-site-spain .mvp-hero-copy > .mvp-hero-lead {
    grid-column: 1;
}

.mvp-site-spain .mvp-home-hero h1 {
    max-width: 760px;
    margin: 0 0 24px;
    font-size: clamp(3.5rem, 5.5vw, 5.55rem);
    line-height: .99;
    letter-spacing: -.04em;
}

.mvp-site-spain .mvp-home-hero .mvp-hero-lead {
    max-width: 680px;
    margin: 0;
    color: var(--sva-ink-soft);
    font-size: 1.12rem;
    line-height: 1.75;
}

.mvp-site-spain .mvp-hero-points {
    grid-column: 2;
    grid-row: 1 / span 3;
    display: grid;
    gap: 0;
    margin: 4px 0 0;
    padding: 32px;
    border: 1px solid var(--sva-line);
    border-radius: 26px 26px 26px 6px;
    color: var(--sva-navy);
    background: #fff;
    box-shadow: var(--sva-shadow);
}

.mvp-site-spain .mvp-hero-points::before {
    display: none;
}

.mvp-site-spain .mvp-hero-points > p {
    margin: 0 0 8px;
    color: var(--sva-terracotta-dark);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.mvp-site-spain .mvp-hero-points > h2 {
    margin: 0 0 14px;
    font-size: 1.75rem;
    line-height: 1.15;
}

.mvp-site-spain .mvp-hero-points > span {
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: 11px;
    min-height: 56px;
    padding: 15px 0;
    border-bottom: 1px solid var(--sva-line);
    color: #43526a;
    font-size: .88rem;
    font-weight: 650;
    line-height: 1.5;
}

.mvp-site-spain .mvp-hero-points > span:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.mvp-site-spain .mvp-hero-points i {
    margin-top: 3px;
    color: var(--sva-green);
}

.mvp-site-spain .mvp-route-finder {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 24px;
    width: 100%;
    max-width: none;
    margin: 54px 0 0;
    padding: 26px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 24px 24px 24px 7px;
    color: #fff;
    background: var(--sva-navy);
    box-shadow: 0 24px 56px rgba(19, 42, 82, .18);
}

.mvp-site-spain .mvp-route-finder-intro {
    grid-row: 1 / span 2;
    align-self: center;
}

.mvp-site-spain .mvp-route-finder-intro span,
.mvp-site-spain .mvp-route-finder-intro strong,
.mvp-site-spain .mvp-route-finder-intro p {
    display: block;
}

.mvp-site-spain .mvp-route-finder-intro span {
    margin-bottom: 7px;
    color: var(--sva-gold-soft);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.mvp-site-spain .mvp-route-finder-intro strong {
    color: #fff;
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.45rem;
    line-height: 1.2;
}

.mvp-site-spain .mvp-route-finder-intro p {
    margin: 8px 0 0;
    color: #bdc8da;
    font-size: .75rem;
    line-height: 1.5;
}

.mvp-site-spain .mvp-route-finder-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(170px, .7fr);
    gap: 13px;
    align-items: end;
}

.mvp-site-spain .mvp-route-finder .mvp-field-label {
    margin-bottom: 7px;
    color: #edf1f8;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .03em;
}

.mvp-site-spain .mvp-route-finder-submit {
    grid-column: 4;
    min-height: 52px;
    border-color: var(--sva-gold);
    color: var(--sva-navy);
    background: var(--sva-gold);
    box-shadow: none;
}

.mvp-site-spain .mvp-route-finder-submit:hover,
.mvp-site-spain .mvp-route-finder-submit:focus {
    border-color: #edc769;
    color: var(--sva-navy);
    background: #edc769;
}

.mvp-site-spain .mvp-geo-context {
    grid-column: 2;
    margin: 0;
    color: #bdc8da;
    font-size: .73rem;
}

.mvp-site-spain .mvp-geo-context i {
    color: var(--sva-gold);
}

.mvp-site-spain .mvp-hero-note {
    grid-column: 1 / -1;
    max-width: 980px;
    margin: 16px 0 0;
    color: #726e66;
    font-size: .72rem;
    line-height: 1.55;
}

.mvp-site-spain .mvp-trust-band {
    border-top: 1px solid var(--sva-line);
    border-bottom: 1px solid var(--sva-line);
    color: var(--sva-navy);
    background: #fff;
}

.mvp-site-spain .mvp-trust-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mvp-site-spain .mvp-trust-item {
    min-height: 116px;
    padding: 24px 22px;
    border-right: 1px solid var(--sva-line);
    background: #fff;
}

.mvp-site-spain .mvp-trust-item:last-child {
    border-right: 0;
}

.mvp-site-spain .mvp-trust-icon {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    border-radius: 14px 14px 14px 4px;
    color: var(--sva-terracotta);
    background: #faeadc;
}

.mvp-site-spain .mvp-trust-item strong,
.mvp-site-spain .mvp-trust-item span {
    color: var(--sva-navy);
}

.mvp-site-spain .mvp-trust-item > div > strong {
    font-size: .88rem;
}

.mvp-site-spain .mvp-trust-item > div > span {
    color: var(--sva-ink-soft);
    font-size: .74rem;
}

/* Reusable sections */
.mvp-site-spain .mvp-section {
    padding: 94px 0;
}

.mvp-site-spain .mvp-section-soft {
    background: var(--sva-cream);
}

.mvp-site-spain .mvp-section-head {
    max-width: none;
    margin-bottom: 38px;
    align-items: end;
}

.mvp-site-spain .mvp-section-head > div {
    max-width: 820px;
}

.mvp-site-spain .mvp-section-head h2 {
    margin-bottom: 13px;
    font-size: clamp(2.4rem, 4vw, 4rem);
    line-height: 1.06;
}

.mvp-site-spain .mvp-section-head p {
    max-width: 720px;
    color: var(--sva-ink-soft);
    line-height: 1.7;
}

.mvp-site-spain .mvp-route-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.mvp-site-spain .mvp-route-card,
.mvp-site-spain .mvp-route-card:nth-child(3n+2),
.mvp-site-spain .mvp-route-card:nth-child(3n+3) {
    min-height: 252px;
    padding: 28px;
    border: 1px solid var(--sva-line);
    border-radius: 22px 22px 22px 6px;
    color: var(--sva-navy);
    background: #fff;
    box-shadow: none;
}

.mvp-site-spain .mvp-route-card:nth-child(3n+2) {
    background: #fffbf2;
}

.mvp-site-spain .mvp-route-card:hover,
.mvp-site-spain .mvp-product-card:hover,
.mvp-site-spain .mvp-local-route-card:hover,
.mvp-site-spain .mvp-destination-route:hover,
.mvp-site-spain .blog-card:hover {
    border-color: #cfbfa3;
    box-shadow: var(--sva-shadow);
    transform: translateY(-3px);
}

.mvp-site-spain .mvp-route-card h3 {
    margin-top: 22px;
    font-size: 1.34rem;
    line-height: 1.25;
}

.mvp-site-spain .mvp-route-meta,
.mvp-site-spain .mvp-route-card .small {
    color: var(--sva-ink-soft) !important;
}

.mvp-site-spain .mvp-route-arrow,
.mvp-site-spain .mvp-product-icon,
.mvp-site-spain .mvp-step-number,
.mvp-site-spain .mvp-prep-list > div > span {
    border: 0;
    border-radius: 14px 14px 14px 4px;
    color: var(--sva-terracotta);
    background: #faeadc;
}

.mvp-site-spain .mvp-route-price {
    border-top-color: var(--sva-line);
}

.mvp-site-spain .mvp-route-price strong,
.mvp-site-spain .mvp-directory-prices strong,
.mvp-site-spain .mvp-destination-route-prices strong,
.mvp-site-spain .mvp-local-route-price strong {
    color: var(--sva-terracotta-dark);
}

.mvp-site-spain #services {
    color: var(--sva-navy);
    background: var(--sva-cream);
}

.mvp-site-spain #services h2,
.mvp-site-spain #services .mvp-section-head p {
    color: inherit;
}

.mvp-site-spain #services .mvp-eyebrow {
    color: var(--sva-terracotta-dark);
}

.mvp-site-spain .mvp-service-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.mvp-site-spain .mvp-service-grid-single {
    grid-template-columns: minmax(0, 820px);
}

.mvp-site-spain .mvp-service-panel,
.mvp-site-spain .mvp-service-panel.is-featured {
    padding: 38px;
    border: 1px solid var(--sva-line);
    border-radius: 26px 26px 26px 7px;
    color: var(--sva-navy);
    background: #fff;
    box-shadow: none;
}

.mvp-site-spain .mvp-service-panel.is-featured {
    border-color: var(--sva-gold);
    background: #fffaf0;
}

.mvp-site-spain .mvp-service-label,
.mvp-site-spain .mvp-product-badge {
    color: var(--sva-terracotta-dark);
    background: #faeadc;
}

.mvp-site-spain .mvp-service-panel h3 {
    font-size: 1.9rem;
}

.mvp-site-spain .mvp-check-list i,
.mvp-site-spain .mvp-product-features i {
    color: var(--sva-green);
}

.mvp-site-spain #how-it-works {
    color: #fff;
    background: var(--sva-navy);
}

.mvp-site-spain #how-it-works h2,
.mvp-site-spain #how-it-works h3,
.mvp-site-spain #how-it-works p {
    color: #fff;
}

.mvp-site-spain #how-it-works .mvp-eyebrow {
    color: var(--sva-gold-soft);
}

.mvp-site-spain .mvp-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    border: 0;
}

.mvp-site-spain .mvp-step,
.mvp-site-spain .mvp-step:nth-child(2),
.mvp-site-spain .mvp-step:nth-child(3) {
    min-height: 280px;
    padding: 30px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 22px 22px 22px 6px;
    background: rgba(255, 255, 255, .05);
}

.mvp-site-spain .mvp-step-number {
    display: grid;
    width: 48px;
    height: 48px;
    margin-bottom: 52px;
    place-items: center;
    color: var(--sva-navy);
    background: var(--sva-gold);
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.35rem;
}

.mvp-site-spain .mvp-step h3 {
    font-size: 1.35rem;
}

.mvp-site-spain .mvp-step p {
    color: #c6d0df !important;
}

.mvp-site-spain .mvp-faq-list {
    width: 100%;
    max-width: 920px;
    margin-inline: auto;
}

.mvp-site-spain .mvp-faq-item {
    overflow: hidden;
    margin-bottom: 12px;
    border: 1px solid var(--sva-line);
    border-radius: 16px;
    background: #fff;
}

.mvp-site-spain .mvp-faq-item summary {
    min-height: 58px;
    padding: 18px 58px 18px 22px;
    color: var(--sva-navy);
    font-weight: 800;
}

.mvp-site-spain .mvp-faq-item summary::after {
    right: 22px;
    color: var(--sva-terracotta);
}

.mvp-site-spain .mvp-faq-answer {
    padding: 0 22px 22px;
    color: var(--sva-ink-soft);
}

.mvp-site-spain .mvp-final-cta {
    border: 0;
    color: #fff;
    background: var(--sva-terracotta);
}

.mvp-site-spain .mvp-final-cta-inner {
    min-height: 220px;
    gap: 40px;
}

.mvp-site-spain .mvp-final-cta h2 {
    max-width: 820px;
    color: #fff;
    font-size: clamp(2.15rem, 4vw, 3.7rem);
    line-height: 1.08;
}

.mvp-site-spain .mvp-final-cta .mvp-eyebrow {
    color: #ffe9bd;
}

/* Page, directory and route */
.mvp-site-spain .mvp-page-hero,
.mvp-site-spain .mvp-location-index-hero,
.mvp-site-spain .mvp-destination-hero,
.mvp-site-spain .mvp-local-hero,
.mvp-site-spain .mvp-route-hero,
.mvp-site-spain .blog-hero,
.mvp-site-spain .post-hero {
    border: 0;
    color: var(--sva-navy);
    background: var(--sva-cream) !important;
}

.mvp-site-spain .mvp-page-hero::before,
.mvp-site-spain .mvp-page-hero::after,
.mvp-site-spain .mvp-route-hero::before,
.mvp-site-spain .mvp-route-hero::after,
.mvp-site-spain .mvp-local-hero::before,
.mvp-site-spain .mvp-local-hero::after,
.mvp-site-spain .mvp-destination-hero::before,
.mvp-site-spain .mvp-destination-hero::after,
.mvp-site-spain .blog-hero::before,
.mvp-site-spain .blog-hero::after {
    display: none !important;
    content: none !important;
}

.mvp-site-spain .mvp-page-hero,
.mvp-site-spain .mvp-route-hero,
.mvp-site-spain .mvp-destination-hero,
.mvp-site-spain .mvp-local-hero {
    padding-top: 72px;
    padding-bottom: 72px;
}

.mvp-site-spain .mvp-location-index-hero,
.mvp-site-spain .blog-hero,
.mvp-site-spain .post-hero {
    padding: 72px 0 66px !important;
}

.mvp-site-spain .mvp-page-hero h1,
.mvp-site-spain .mvp-location-index-hero h1,
.mvp-site-spain .mvp-destination-hero h1,
.mvp-site-spain .mvp-local-hero h1,
.mvp-site-spain .mvp-route-hero h1,
.mvp-site-spain .blog-hero h1,
.mvp-site-spain .post-hero h1 {
    max-width: 900px;
    color: var(--sva-navy) !important;
    font-family: "Fraunces", Georgia, serif;
    font-size: clamp(3rem, 5vw, 4.85rem);
    font-weight: 700;
    line-height: 1.02;
    letter-spacing: -.035em;
}

.mvp-site-spain .mvp-page-hero p,
.mvp-site-spain .mvp-location-index-hero p,
.mvp-site-spain .mvp-destination-hero p,
.mvp-site-spain .mvp-local-hero p,
.mvp-site-spain .mvp-route-hero p,
.mvp-site-spain .blog-hero p {
    color: var(--sva-ink-soft) !important;
}

.mvp-site-spain .mvp-page-hero-stat,
.mvp-site-spain .mvp-route-summary,
.mvp-site-spain .mvp-destination-flag-panel,
.mvp-site-spain .mvp-nearest-summary {
    border: 1px solid var(--sva-line);
    border-radius: 24px 24px 24px 7px;
    color: var(--sva-navy);
    background: #fff;
    box-shadow: var(--sva-shadow);
}

.mvp-site-spain .mvp-page-hero-stat strong {
    color: var(--sva-terracotta-dark);
}

.mvp-site-spain .mvp-breadcrumb,
.mvp-site-spain .mvp-breadcrumbs,
.mvp-site-spain .post-breadcrumb {
    color: #69758a;
}

.mvp-site-spain .mvp-breadcrumb a,
.mvp-site-spain .mvp-breadcrumbs a,
.mvp-site-spain .post-breadcrumb a,
.mvp-site-spain .post-breadcrumb span,
.mvp-site-spain .post-breadcrumb .separator {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    color: #69758a !important;
}

.mvp-site-spain .mvp-directory-band {
    padding: 22px 0;
    border: 0;
    background: var(--sva-paper);
}

.mvp-site-spain .mvp-directory-filter {
    overflow: visible;
    padding: 18px;
    border: 1px solid var(--sva-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(19, 42, 82, .06);
}

.mvp-site-spain .mvp-directory-filter > div {
    background: transparent;
}

.mvp-site-spain .mvp-directory-filter .btn {
    align-self: end;
}

.mvp-site-spain .mvp-market-title {
    margin-bottom: 17px;
}

.mvp-site-spain .mvp-market-title h2 {
    font-size: 2rem;
}

.mvp-site-spain .mvp-directory-route,
.mvp-site-spain .mvp-destination-route,
.mvp-site-spain .mvp-local-route-card,
.mvp-site-spain .mvp-centre-row {
    min-height: 104px;
    border: 1px solid var(--sva-line);
    border-radius: 18px 18px 18px 5px;
    background: #fff;
    box-shadow: none;
}

.mvp-site-spain .mvp-directory-route .btn {
    min-width: 130px;
}

.mvp-site-spain .mvp-directory-route h3,
.mvp-site-spain .mvp-destination-route h3,
.mvp-site-spain .mvp-local-route-card h3,
.mvp-site-spain .mvp-centre-row h3 {
    font-family: "Fraunces", Georgia, serif;
}

.mvp-site-spain .mvp-editorial-grid {
    gap: 60px;
}

.mvp-site-spain .mvp-editorial-grid h2 {
    font-size: clamp(2.2rem, 4vw, 3.5rem);
}

.mvp-site-spain .mvp-editorial-columns > div {
    padding: 28px;
    border: 1px solid var(--sva-line);
    border-radius: 18px 18px 18px 5px;
    background: #fff;
}

.mvp-site-spain .mvp-route-hero-grid,
.mvp-site-spain .mvp-destination-hero-grid,
.mvp-site-spain .mvp-local-hero-grid {
    align-items: center;
    gap: 60px;
}

.mvp-site-spain .mvp-route-hero-points {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 28px 0 30px;
}

.mvp-site-spain .mvp-route-hero-points span {
    min-height: 76px;
    padding: 14px;
    border: 1px solid #ead9ba;
    border-radius: 14px;
    color: #42516a;
    background: rgba(255, 255, 255, .55);
    line-height: 1.45;
}

.mvp-site-spain .mvp-route-hero-points i {
    color: var(--sva-green);
}

.mvp-site-spain .mvp-route-summary {
    padding: 30px;
}

.mvp-site-spain .mvp-route-summary dl > div,
.mvp-site-spain .mvp-route-help-panel dl > div {
    border-color: var(--sva-line);
}

.mvp-site-spain .mvp-route-summary > a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    color: var(--sva-cobalt);
}

.mvp-site-spain .mvp-route-trust {
    border-top: 1px solid var(--sva-line);
    border-bottom: 1px solid var(--sva-line);
    color: var(--sva-navy);
    background: #fff;
}

.mvp-site-spain .mvp-route-trust-grid > div {
    min-height: 118px;
    padding: 24px;
    border-color: var(--sva-line);
}

.mvp-site-spain .mvp-route-trust-grid i,
.mvp-site-spain .mvp-trustpilot-icon i {
    color: var(--sva-terracotta);
}

.mvp-site-spain .mvp-route-trust-grid span,
.mvp-site-spain .mvp-route-trust-grid strong {
    color: var(--sva-navy);
}

.mvp-site-spain .mvp-route-trust-grid span {
    color: var(--sva-ink-soft);
}

.mvp-site-spain .mvp-product-grid {
    gap: 22px;
}

.mvp-site-spain .mvp-product-card,
.mvp-site-spain .mvp-product-card.is-featured {
    padding: 34px;
    border: 1px solid var(--sva-line);
    border-radius: 24px 24px 24px 7px;
    background: #fff;
    box-shadow: none;
}

.mvp-site-spain .mvp-product-card.is-featured {
    border-color: var(--sva-gold);
    background: #fffbf2;
}

.mvp-site-spain .mvp-product-card h3 {
    font-size: 2rem;
}

.mvp-site-spain .mvp-product-price-value {
    color: var(--sva-terracotta-dark);
    font-family: "Fraunces", Georgia, serif;
}

.mvp-site-spain .mvp-route-content-grid {
    gap: 60px;
}

.mvp-site-spain .mvp-route-content-main h2 {
    font-size: 2.25rem;
}

.mvp-site-spain .mvp-prep-list > div {
    border: 1px solid var(--sva-line);
    border-radius: 18px 18px 18px 5px;
    background: #fff;
}

.mvp-site-spain .mvp-route-help-panel,
.mvp-site-spain .mvp-local-guide-grid aside,
.mvp-site-spain .mvp-local-sources,
.mvp-site-spain .mvp-researched-section {
    border: 1px solid var(--sva-line);
    border-radius: 22px 22px 22px 6px;
    background: var(--sva-cream);
}

.mvp-site-spain .mvp-destination-facts,
.mvp-site-spain .mvp-local-fact-band {
    border-color: var(--sva-line);
    color: var(--sva-navy);
    background: #fff;
}

.mvp-site-spain .mvp-destination-facts-grid > div,
.mvp-site-spain .mvp-local-fact-band > .container > div {
    min-height: 102px;
    border-color: var(--sva-line);
    background: transparent;
}

.mvp-site-spain .mvp-destination-facts-grid i,
.mvp-site-spain .mvp-local-fact-band i {
    color: var(--sva-terracotta);
}

.mvp-site-spain .mvp-location-search,
.mvp-site-spain .mvp-location-market {
    border: 1px solid var(--sva-line);
    border-radius: 22px 22px 22px 6px;
    background: #fff;
    box-shadow: none;
}

.mvp-site-spain .mvp-location-search {
    max-width: 680px;
    margin-top: 28px;
}

.mvp-site-spain .mvp-location-market > header {
    background: #fffbf2;
}

.mvp-site-spain .mvp-location-letter-nav a {
    display: inline-flex;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    color: var(--sva-navy);
    background: #faeadc;
}

.mvp-site-spain .mvp-location-link-grid a {
    min-height: 72px;
    border-radius: 14px;
}

.mvp-site-spain .mvp-location-link-grid a:hover {
    color: var(--sva-navy);
    background: var(--sva-cream);
}

.mvp-site-spain .mvp-local-actions {
    gap: 12px;
}

.mvp-site-spain .mvp-local-reviewed,
.mvp-site-spain .mvp-local-reviewed i {
    color: var(--sva-terracotta-dark);
}

.mvp-site-spain .mvp-nearest-summary {
    color: #fff;
    background: var(--sva-navy);
}

.mvp-site-spain .mvp-nearest-summary h2,
.mvp-site-spain .mvp-nearest-summary strong,
.mvp-site-spain .mvp-nearest-summary p,
.mvp-site-spain .mvp-nearest-summary span,
.mvp-site-spain .mvp-nearest-summary small {
    color: #fff;
}

.mvp-site-spain .mvp-nearest-summary p {
    color: #ccd5e3;
}

.mvp-site-spain .mvp-local-route-grid,
.mvp-site-spain .mvp-destination-route-grid {
    gap: 16px;
}

.mvp-site-spain .mvp-centre-distance a,
.mvp-site-spain .mvp-local-sources summary {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
}

/* Blog */
.mvp-site-spain .blog-hero h1,
.mvp-site-spain .post-hero h1 {
    margin-bottom: 16px;
}

.mvp-site-spain .blog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    padding: 50px 0 76px;
}

.mvp-site-spain .blog-card,
.mvp-site-spain .blog-card:nth-child(3n+2),
.mvp-site-spain .blog-card:nth-child(3n+3),
.mvp-site-spain .related-card {
    overflow: hidden;
    border: 1px solid var(--sva-line);
    border-radius: 22px 22px 22px 6px;
    background: #fff;
    box-shadow: none;
}

.mvp-site-spain .blog-card:nth-child(3n+2) {
    background: #fffbf2;
}

.mvp-site-spain .blog-card-img {
    display: none;
}

.mvp-site-spain .blog-card-body {
    padding: 28px;
}

.mvp-site-spain .blog-card-category,
.mvp-site-spain .post-category-tag {
    color: var(--sva-terracotta-dark);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.mvp-site-spain .blog-card-title {
    color: var(--sva-navy);
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.45rem;
    line-height: 1.28;
}

.mvp-site-spain .blog-card-excerpt {
    color: var(--sva-ink-soft);
    line-height: 1.65;
}

.mvp-site-spain .blog-card-meta {
    color: #718097;
    border-color: var(--sva-line);
}

.mvp-site-spain .blog-pagination a,
.mvp-site-spain .blog-pagination span {
    min-width: 44px;
    height: 44px;
    border-radius: 12px;
}

.mvp-site-spain .blog-pagination a:hover,
.mvp-site-spain .blog-pagination .active {
    border-color: var(--sva-navy);
    color: #fff;
    background: var(--sva-navy);
}

.mvp-site-spain .post-hero .container,
.mvp-site-spain .post-container,
.mvp-site-spain .post-featured-image {
    max-width: 930px;
}

.mvp-site-spain .post-category-tag {
    min-height: 32px;
    padding: 7px 12px;
    border-radius: 999px;
    color: var(--sva-terracotta-dark);
    background: #faeadc;
}

.mvp-site-spain .post-meta,
.mvp-site-spain .post-meta span {
    color: #6f7b8e !important;
}

.mvp-site-spain .post-container.no-featured,
.mvp-site-spain .post-container.has-featured {
    margin-top: -24px;
}

.mvp-site-spain .post-content-card {
    padding: clamp(28px, 5vw, 54px);
    border: 1px solid var(--sva-line);
    border-radius: 24px 24px 24px 7px;
    background: #fff;
    box-shadow: var(--sva-shadow);
}

.mvp-site-spain .post-content {
    color: #3d4b61;
    font-size: 1.04rem;
    line-height: 1.85;
}

.mvp-site-spain .post-content h2 {
    color: var(--sva-navy);
    font-family: "Fraunces", Georgia, serif;
    font-size: 2rem;
}

.mvp-site-spain .post-content h3 {
    color: var(--sva-navy);
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.45rem;
}

.mvp-site-spain .post-content a {
    color: var(--sva-cobalt);
}

.mvp-site-spain .post-readiness-panel,
.mvp-site-spain .post-content blockquote {
    border: 1px solid var(--sva-line);
    border-radius: 18px;
    background: var(--sva-cream);
}

.mvp-site-spain .post-readiness-item {
    padding: 16px;
    border: 1px solid var(--sva-line);
    border-radius: 14px;
    background: #fff;
}

.mvp-site-spain .post-readiness-item strong {
    color: var(--sva-navy);
}

.mvp-site-spain .post-cta {
    padding: 32px;
    border-radius: 20px 20px 20px 6px;
    color: #fff;
    background: var(--sva-navy);
}

.mvp-site-spain .post-cta h3,
.mvp-site-spain .post-cta p {
    color: #fff;
}

.mvp-site-spain .post-cta a {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    border-radius: 999px;
    color: var(--sva-navy);
    background: #fff;
}

/* Checkout, auth and account */
.mvp-site-spain.mvp-surface-checkout main,
.mvp-site-spain.mvp-surface-account main {
    background: var(--sva-cream);
}

.mvp-site-spain .mvp-checkout-page {
    padding: 54px 0 90px;
    background: var(--sva-cream);
}

.mvp-site-spain .mvp-checkout-progress {
    max-width: 760px;
    margin-bottom: 48px;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.mvp-site-spain .mvp-checkout-progress span b {
    border: 1px solid var(--sva-line);
    border-radius: 50%;
    background: #fff;
}

.mvp-site-spain .mvp-checkout-progress span.is-active b {
    border-color: var(--sva-terracotta);
    color: #fff;
    background: var(--sva-terracotta);
}

.mvp-site-spain .mvp-checkout-heading h1 {
    max-width: 850px;
    font-size: clamp(3rem, 5vw, 4.6rem);
    line-height: 1.04;
}

.mvp-site-spain .mvp-checkout-heading p {
    max-width: 760px;
    color: var(--sva-ink-soft);
}

.mvp-site-spain .mvp-checkout-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 24px;
    align-items: start;
}

.mvp-site-spain .mvp-checkout-form {
    grid-column: 1;
    grid-row: 1;
    overflow: hidden;
    border: 1px solid var(--sva-line);
    border-radius: 24px 24px 24px 7px;
    background: #fff;
    box-shadow: none;
}

.mvp-site-spain .mvp-form-section {
    padding: 32px;
    border: 0;
    border-bottom: 1px solid var(--sva-line);
    border-radius: 0;
    background: #fff;
}

.mvp-site-spain .mvp-form-section:last-child {
    border-bottom: 0;
}

.mvp-site-spain .mvp-form-section-head > span {
    border: 0;
    border-radius: 50%;
    color: var(--sva-navy);
    background: var(--sva-gold);
}

.mvp-site-spain .mvp-form-section-head h2 {
    font-size: 1.65rem;
}

.mvp-site-spain .mvp-service-switch,
.mvp-site-spain .mvp-segmented-control {
    border: 1px solid var(--sva-line);
    border-radius: 16px;
    background: var(--sva-cream);
}

.mvp-site-spain .mvp-service-switch-option,
.mvp-site-spain .mvp-notification-option > span,
.mvp-site-spain .mvp-check-field > span,
.mvp-site-spain .mvp-consent-field {
    min-height: 48px;
    border-radius: 14px;
}

.mvp-site-spain .mvp-service-switch-option.is-selected,
.mvp-site-spain .mvp-notification-option > input:checked + span,
.mvp-site-spain .mvp-segmented-control input:checked + span,
.mvp-site-spain .mvp-weekday-grid input:checked + span {
    border-color: var(--sva-terracotta);
    color: var(--sva-navy);
    background: #faeadc;
}

.mvp-site-spain .mvp-weekday-grid span {
    min-width: 44px;
    min-height: 44px;
}

.mvp-site-spain .mvp-segmented-control span {
    min-height: 44px;
}

.mvp-site-spain .mvp-checkout-summary {
    grid-column: 2;
    grid-row: 1;
    position: sticky;
    top: 144px;
    overflow: hidden;
    padding: 30px;
    border: 0;
    border-radius: 24px 24px 24px 7px;
    color: #fff;
    background: var(--sva-navy);
    box-shadow: 0 22px 50px rgba(19, 42, 82, .16);
}

.mvp-site-spain .mvp-checkout-summary h2,
.mvp-site-spain .mvp-checkout-summary p,
.mvp-site-spain .mvp-checkout-summary span,
.mvp-site-spain .mvp-checkout-summary dt,
.mvp-site-spain .mvp-checkout-summary dd {
    color: inherit;
}

.mvp-site-spain .mvp-checkout-summary .mvp-order-total strong {
    color: #f4ca68;
    font-family: "Fraunces", Georgia, serif;
}

.mvp-site-spain .mvp-checkout-assurance {
    border-radius: 14px;
    background: rgba(255, 255, 255, .08);
}

.mvp-site-spain .mvp-login-shell {
    min-height: 62vh;
    padding: 42px 0 72px;
    background: var(--sva-cream) !important;
}

.mvp-site-spain .mvp-login-shell .container {
    max-width: 840px;
}

.mvp-site-spain .mvp-login-shell .col-lg-5 {
    width: 100%;
    max-width: 610px;
    flex: 0 0 610px;
}

.mvp-site-spain .mvp-login-panel {
    padding: clamp(28px, 5vw, 48px) !important;
    border: 1px solid var(--sva-line) !important;
    border-radius: 24px 24px 24px 7px !important;
    background: #fff !important;
    box-shadow: var(--sva-shadow) !important;
}

.mvp-site-spain .mvp-login-panel > .text-center {
    text-align: left !important;
}

.mvp-site-spain .mvp-login-panel > .text-center .text-info {
    color: var(--sva-terracotta-dark) !important;
    font-size: .7rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.mvp-site-spain .mvp-login-panel h1 {
    font-family: "Fraunces", Georgia, serif;
    font-size: 2.4rem;
}

.mvp-site-spain .mvp-login-panel .bg-light {
    padding: 20px !important;
    border: 1px solid var(--sva-line);
    border-radius: 16px !important;
    background: var(--sva-cream) !important;
}

.mvp-site-spain .mvp-login-panel .small,
.mvp-site-spain .mvp-login-panel a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
}

.mvp-site-spain .mvp-dashboard-hero {
    color: #fff;
    background: var(--sva-navy);
}

.mvp-site-spain .mvp-dashboard-hero h1,
.mvp-site-spain .mvp-dashboard-hero p {
    color: #fff;
}

.mvp-site-spain .mvp-dashboard-hero .mvp-eyebrow {
    color: var(--sva-gold-soft);
}

.mvp-site-spain .mvp-dashboard-stats div {
    border-color: var(--sva-gold);
}

.mvp-site-spain .mvp-dashboard-page {
    background: var(--sva-cream);
}

.mvp-site-spain .mvp-order-card,
.mvp-site-spain .mvp-dashboard-aside section,
.mvp-site-spain .mvp-edit-panel,
.mvp-site-spain .mvp-success-main,
.mvp-site-spain .mvp-success-summary,
.mvp-site-spain .mvp-access-form,
.mvp-site-spain .mvp-access-aside {
    border: 1px solid var(--sva-line);
    border-radius: 20px 20px 20px 6px;
    background: #fff;
    box-shadow: none;
}

.mvp-site-spain .mvp-order-status,
.mvp-site-spain .mvp-order-action {
    border-radius: 12px;
}

.mvp-site-spain .mvp-dashboard-toolbar .btn,
.mvp-site-spain .mvp-order-card footer .btn {
    min-height: 44px;
}

/* Legal */
.mvp-site-spain.mvp-surface-legal main {
    padding: 70px 0 88px;
    background: var(--sva-cream);
}

.mvp-site-spain.mvp-surface-legal main > .container,
.mvp-site-spain .editorial-content {
    max-width: 940px;
    padding: clamp(28px, 5vw, 54px);
    border: 1px solid var(--sva-line);
    border-radius: 24px 24px 24px 7px;
    background: #fff;
    box-shadow: var(--sva-shadow);
}

.mvp-site-spain.mvp-surface-legal main h1 {
    font-size: clamp(3rem, 5vw, 4.5rem);
}

.mvp-site-spain.mvp-surface-legal main h2,
.mvp-site-spain .editorial-content h2 {
    font-size: 1.8rem;
}

/* Footer */
.mvp-site-spain .es-footer-punch {
    padding: 54px 0;
    color: var(--sva-navy);
    background: var(--sva-gold);
}

.mvp-site-spain .es-footer-punch-inner {
    display: flex;
    gap: 48px;
    align-items: center;
    justify-content: space-between;
}

.mvp-site-spain .es-footer-punch small {
    display: block;
    margin-bottom: 8px;
    color: #6c381f;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.mvp-site-spain .es-footer-punch h2 {
    max-width: 800px;
    margin: 0;
    color: var(--sva-navy);
    font-size: clamp(2rem, 3.5vw, 3.35rem);
    line-height: 1.08;
}

.mvp-site-spain .es-footer-punch p {
    margin: 10px 0 0;
    color: #4e452f;
}

.mvp-site-spain .es-footer-punch .btn-light {
    min-width: 154px;
    border-color: var(--sva-navy);
}

.mvp-site-spain .es-footer-main {
    padding: 64px 0 26px;
    color: #d7deea;
    background: var(--sva-navy-deep);
}

.mvp-site-spain .es-footer-grid {
    display: grid;
    grid-template-columns: 1.45fr repeat(3, .65fr);
    gap: 56px;
}

.mvp-site-spain .es-footer-logo {
    display: inline-flex;
    min-height: 58px;
    align-items: center;
}

.mvp-site-spain .es-footer-logo img {
    display: block;
    width: 250px;
    height: auto;
}

.mvp-site-spain .es-footer-grid h3 {
    margin: 8px 0 15px;
    color: var(--sva-gold-soft);
    font-family: "Manrope", Arial, sans-serif;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.mvp-site-spain .es-footer-grid a:not(.es-footer-logo) {
    display: flex;
    min-height: 42px;
    align-items: center;
    margin: 0;
    color: #d5ddea;
    font-size: .8rem;
}

.mvp-site-spain .es-footer-grid a:hover {
    color: #fff;
}

.mvp-site-spain .es-footer-about p {
    max-width: 420px;
    margin: 15px 0 0;
    color: #aab7ca;
    font-size: .82rem;
}

.mvp-site-spain .es-footer-main .mvp-footer-disclaimer {
    max-width: 980px;
    margin: 42px 0 0;
    color: #8999b2;
    font-size: .72rem;
    line-height: 1.7;
}

.mvp-site-spain .es-footer-main .mvp-footer-bottom {
    margin-top: 24px;
    padding-top: 20px;
    border-top-color: #2a3c5d;
    color: #8999b2;
}

/* Tablet */
@media (max-width: 1199.98px) {
    .mvp-site-spain .es-main-nav .navbar-brand,
    .mvp-site-spain .es-brand-logo {
        width: 210px;
    }

    .mvp-site-spain .es-main-nav .navbar-brand {
        margin-right: 20px;
    }

    .mvp-site-spain .es-main-nav .nav-link {
        padding-inline: 8px;
        font-size: .78rem;
    }

    .mvp-site-spain .mvp-hero-copy {
        grid-template-columns: minmax(0, 1.15fr) minmax(320px, .75fr);
        gap: 0 38px;
    }

    .mvp-site-spain .mvp-home-hero h1 {
        font-size: clamp(3.35rem, 6vw, 4.6rem);
    }

    .mvp-site-spain .mvp-route-finder {
        grid-template-columns: 190px minmax(0, 1fr);
    }

    .mvp-site-spain .mvp-route-finder-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mvp-site-spain .mvp-route-finder-submit {
        grid-column: 2;
    }

    .mvp-site-spain .mvp-geo-context {
        grid-column: 2;
    }

    .mvp-site-spain .mvp-route-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mvp-site-spain .es-footer-grid {
        grid-template-columns: 1.25fr repeat(3, .7fr);
        gap: 30px;
    }
}

@media (max-width: 991.98px) {
    .mvp-site-spain .es-utility-bar {
        display: none;
    }

    .mvp-site-spain .es-main-nav,
    .mvp-site-spain .es-main-nav .container {
        min-height: 72px;
    }

    .mvp-site-spain .es-main-nav .navbar-brand,
    .mvp-site-spain .es-brand-logo {
        width: 200px;
    }

    .mvp-site-spain .es-main-nav .navbar-collapse {
        margin: 0 -20px;
        padding: 12px 20px 22px;
        border-top: 1px solid var(--sva-line);
        background: var(--sva-paper);
        box-shadow: 0 18px 30px rgba(19, 42, 82, .08);
    }

    .mvp-site-spain .es-main-nav .navbar-nav {
        align-items: stretch;
    }

    .mvp-site-spain .es-main-nav .nav-link {
        display: flex;
        min-height: 48px;
        align-items: center;
        padding: 11px 4px;
        border-bottom: 1px solid var(--sva-line);
        border-radius: 0;
        font-size: .9rem;
    }

    .mvp-site-spain .es-main-nav .navbar-nav .btn {
        width: 100%;
        margin: 14px 0 0 !important;
    }

    .mvp-site-spain .mvp-home-hero-inner {
        padding-top: 56px;
        padding-bottom: 48px;
    }

    .mvp-site-spain .mvp-hero-copy {
        display: block;
    }

    .mvp-site-spain .mvp-home-hero h1 {
        max-width: 760px;
        font-size: clamp(3.2rem, 8vw, 4.6rem);
    }

    .mvp-site-spain .mvp-hero-points {
        margin-top: 34px;
    }

    .mvp-site-spain .mvp-route-finder {
        display: block;
        margin-top: 28px;
    }

    .mvp-site-spain .mvp-route-finder-intro {
        margin-bottom: 20px;
    }

    .mvp-site-spain .mvp-route-finder-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mvp-site-spain .mvp-route-finder-submit {
        grid-column: 2;
    }

    .mvp-site-spain .mvp-geo-context {
        margin-top: 13px;
    }

    .mvp-site-spain .mvp-trust-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mvp-site-spain .mvp-trust-item:nth-child(2) {
        border-right: 0;
    }

    .mvp-site-spain .mvp-trust-item:nth-child(-n+2) {
        border-bottom: 1px solid var(--sva-line);
    }

    .mvp-site-spain .mvp-route-hero-grid,
    .mvp-site-spain .mvp-destination-hero-grid,
    .mvp-site-spain .mvp-local-hero-grid,
    .mvp-site-spain .mvp-route-content-grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .mvp-site-spain .mvp-route-hero-points {
        grid-template-columns: 1fr;
    }

    .mvp-site-spain .mvp-route-summary,
    .mvp-site-spain .mvp-destination-flag-panel,
    .mvp-site-spain .mvp-nearest-summary {
        width: 100%;
    }

    .mvp-site-spain .mvp-checkout-layout {
        display: flex;
        flex-direction: column;
    }

    .mvp-site-spain .mvp-checkout-summary {
        order: 1;
        position: static;
        width: 100%;
    }

    .mvp-site-spain .mvp-checkout-form {
        order: 2;
        width: 100%;
    }

    .mvp-site-spain .mvp-dashboard-layout {
        grid-template-columns: 1fr;
    }
}

/* Mobile */
@media (max-width: 767.98px) {
    .mvp-site-spain .container {
        width: min(100% - 28px, 1240px);
    }

    .mvp-site-spain .es-main-nav .navbar-collapse {
        margin-inline: -14px;
        padding-inline: 14px;
    }

    .mvp-site-spain .mvp-home-hero-inner {
        padding-top: 42px;
        padding-bottom: 38px;
    }

    .mvp-site-spain .mvp-home-hero h1 {
        font-size: clamp(2.75rem, 12vw, 3.6rem);
        line-height: 1;
    }

    .mvp-site-spain .mvp-home-hero .mvp-hero-lead {
        font-size: 1rem;
        line-height: 1.7;
    }

    .mvp-site-spain .mvp-hero-points {
        padding: 25px 22px;
        border-radius: 20px 20px 20px 6px;
    }

    .mvp-site-spain .mvp-hero-points > h2 {
        font-size: 1.6rem;
    }

    .mvp-site-spain .mvp-route-finder {
        padding: 22px 18px;
        border-radius: 20px 20px 20px 6px;
    }

    .mvp-site-spain .mvp-route-finder-grid {
        grid-template-columns: 1fr;
    }

    .mvp-site-spain .mvp-route-finder-submit {
        grid-column: 1;
        width: 100%;
    }

    .mvp-site-spain .mvp-geo-context {
        margin-top: 14px;
    }

    .mvp-site-spain .mvp-hero-note {
        font-size: .7rem;
    }

    .mvp-site-spain .mvp-trust-row {
        grid-template-columns: 1fr;
    }

    .mvp-site-spain .mvp-trust-item,
    .mvp-site-spain .mvp-trust-item:nth-child(2),
    .mvp-site-spain .mvp-trust-item:last-child {
        min-height: 94px;
        padding: 18px 8px;
        border-right: 0;
        border-bottom: 1px solid var(--sva-line);
    }

    .mvp-site-spain .mvp-trust-item:last-child {
        border-bottom: 0;
    }

    .mvp-site-spain .mvp-section {
        padding: 66px 0;
    }

    .mvp-site-spain .mvp-section-head {
        display: block;
        margin-bottom: 28px;
    }

    .mvp-site-spain .mvp-section-head h2 {
        font-size: clamp(2.15rem, 10vw, 2.8rem);
    }

    .mvp-site-spain .mvp-section-head > .btn {
        width: 100%;
        margin-top: 18px;
    }

    .mvp-site-spain .mvp-route-grid,
    .mvp-site-spain .mvp-service-grid,
    .mvp-site-spain .mvp-steps,
    .mvp-site-spain .blog-grid {
        grid-template-columns: 1fr;
    }

    .mvp-site-spain .mvp-route-card,
    .mvp-site-spain .mvp-route-card:nth-child(3n+2),
    .mvp-site-spain .mvp-route-card:nth-child(3n+3) {
        min-height: 0;
        padding: 24px;
    }

    .mvp-site-spain .mvp-service-panel,
    .mvp-site-spain .mvp-service-panel.is-featured,
    .mvp-site-spain .mvp-product-card,
    .mvp-site-spain .mvp-product-card.is-featured {
        padding: 26px 22px;
    }

    .mvp-site-spain .mvp-step,
    .mvp-site-spain .mvp-step:nth-child(2),
    .mvp-site-spain .mvp-step:nth-child(3) {
        min-height: 0;
        padding: 26px 22px;
    }

    .mvp-site-spain .mvp-step-number {
        margin-bottom: 24px;
    }

    .mvp-site-spain .mvp-final-cta-inner {
        display: block;
        padding: 54px 0;
    }

    .mvp-site-spain .mvp-final-cta .btn {
        width: 100%;
        margin-top: 24px;
    }

    .mvp-site-spain .mvp-page-hero,
    .mvp-site-spain .mvp-route-hero,
    .mvp-site-spain .mvp-destination-hero,
    .mvp-site-spain .mvp-local-hero,
    .mvp-site-spain .mvp-location-index-hero,
    .mvp-site-spain .blog-hero,
    .mvp-site-spain .post-hero {
        padding: 46px 0 50px !important;
    }

    .mvp-site-spain .mvp-page-hero h1,
    .mvp-site-spain .mvp-location-index-hero h1,
    .mvp-site-spain .mvp-destination-hero h1,
    .mvp-site-spain .mvp-local-hero h1,
    .mvp-site-spain .mvp-route-hero h1,
    .mvp-site-spain .blog-hero h1,
    .mvp-site-spain .post-hero h1 {
        font-size: clamp(2.45rem, 11vw, 3.15rem);
        line-height: 1.02;
    }

    .mvp-site-spain .mvp-page-hero-inner {
        display: block;
    }

    .mvp-site-spain .mvp-page-hero-stat {
        width: 100%;
        margin-top: 26px;
    }

    .mvp-site-spain .mvp-directory-filter {
        display: grid;
        grid-template-columns: 1fr;
        padding: 16px;
    }

    .mvp-site-spain .mvp-directory-filter .btn {
        width: 100%;
    }

    .mvp-site-spain .mvp-directory-route {
        display: grid;
        grid-template-columns: 1fr;
        gap: 15px;
        padding: 20px;
    }

    .mvp-site-spain .mvp-directory-route .btn {
        width: 100%;
    }

    .mvp-site-spain .mvp-directory-prices {
        justify-content: flex-start;
    }

    .mvp-site-spain .mvp-route-hero-points span {
        min-height: 58px;
    }

    .mvp-site-spain .mvp-route-trust-grid {
        grid-template-columns: 1fr;
    }

    .mvp-site-spain .mvp-route-trust-grid > div {
        min-height: 92px;
        border-right: 0;
        border-bottom: 1px solid var(--sva-line);
    }

    .mvp-site-spain .mvp-destination-facts-grid,
    .mvp-site-spain .mvp-local-fact-band > .container {
        grid-template-columns: 1fr;
    }

    .mvp-site-spain .mvp-destination-facts-grid > div,
    .mvp-site-spain .mvp-local-fact-band > .container > div {
        min-height: 88px;
        border-right: 0;
        border-bottom: 1px solid var(--sva-line);
    }

    .mvp-site-spain .mvp-local-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .mvp-site-spain .mvp-local-actions .btn {
        width: 100%;
    }

    .mvp-site-spain .mvp-local-route-card,
    .mvp-site-spain .mvp-centre-row {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 20px;
    }

    .mvp-site-spain .mvp-centre-distance {
        text-align: left;
    }

    .mvp-site-spain .blog-grid {
        padding: 38px 0 60px;
    }

    .mvp-site-spain .blog-card-body {
        padding: 24px;
    }

    .mvp-site-spain .blog-card-meta {
        gap: 9px;
        flex-wrap: wrap;
    }

    .mvp-site-spain .post-container,
    .mvp-site-spain .post-featured-image {
        padding-inline: 14px;
    }

    .mvp-site-spain .post-content-card {
        padding: 25px 20px;
    }

    .mvp-site-spain .post-readiness-grid {
        grid-template-columns: 1fr;
    }

    .mvp-site-spain .post-content table {
        display: block;
        overflow-x: auto;
    }

    .mvp-site-spain .mvp-checkout-page {
        padding: 34px 0 66px;
    }

    .mvp-site-spain .mvp-checkout-progress {
        margin-bottom: 32px;
    }

    .mvp-site-spain .mvp-checkout-progress span {
        font-size: .7rem;
    }

    .mvp-site-spain .mvp-checkout-progress span b {
        width: 34px;
        height: 34px;
    }

    .mvp-site-spain .mvp-checkout-heading h1 {
        font-size: clamp(2.45rem, 11vw, 3.15rem);
    }

    .mvp-site-spain .mvp-form-section,
    .mvp-site-spain .mvp-checkout-summary {
        padding: 24px 20px;
    }

    .mvp-site-spain .mvp-form-grid {
        grid-template-columns: 1fr;
    }

    .mvp-site-spain .mvp-service-switch-option {
        grid-template-columns: auto 1fr;
    }

    .mvp-site-spain .mvp-service-switch-option > b {
        grid-column: 2;
        text-align: left;
    }

    .mvp-site-spain .mvp-weekday-grid {
        grid-template-columns: repeat(4, minmax(44px, 1fr));
    }

    .mvp-site-spain .mvp-login-shell {
        padding: 28px 0 54px;
    }

    .mvp-site-spain .mvp-login-shell .col-lg-5 {
        max-width: none;
        flex-basis: auto;
    }

    .mvp-site-spain .mvp-login-panel {
        padding: 26px 20px !important;
    }

    .mvp-site-spain .mvp-login-panel .input-group {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .mvp-site-spain .mvp-login-panel .input-group .form-control,
    .mvp-site-spain .mvp-login-panel .input-group .btn {
        width: 100%;
        border-radius: 12px !important;
    }

    .mvp-site-spain .mvp-dashboard-hero > .container,
    .mvp-site-spain .mvp-dashboard-toolbar,
    .mvp-site-spain .mvp-order-card > header {
        display: block;
    }

    .mvp-site-spain .mvp-dashboard-stats,
    .mvp-site-spain .mvp-dashboard-toolbar > div {
        margin-top: 18px;
    }

    .mvp-site-spain .mvp-dashboard-toolbar > div,
    .mvp-site-spain .mvp-order-card > footer {
        display: grid;
        grid-template-columns: 1fr;
    }

    .mvp-site-spain .mvp-dashboard-toolbar .btn,
    .mvp-site-spain .mvp-order-card footer .btn {
        width: 100%;
    }

    .mvp-site-spain .mvp-order-price {
        margin-top: 16px;
        text-align: left;
    }

    .mvp-site-spain .mvp-order-action {
        grid-template-columns: auto 1fr;
    }

    .mvp-site-spain .mvp-order-action .btn {
        grid-column: 1 / -1;
        width: 100%;
    }

    .mvp-site-spain .es-footer-punch-inner {
        display: block;
    }

    .mvp-site-spain .es-footer-punch .btn {
        width: 100%;
        margin-top: 24px;
    }

    .mvp-site-spain .es-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 32px 24px;
    }

    .mvp-site-spain .es-footer-about {
        grid-column: 1 / -1;
    }

    .mvp-site-spain .es-footer-grid > div:last-child {
        grid-column: 1 / -1;
    }

    .mvp-site-spain .mvp-footer-bottom {
        display: grid;
        gap: 6px;
    }
}

@media (max-width: 430px) {
    .mvp-site-spain .es-main-nav .navbar-brand,
    .mvp-site-spain .es-brand-logo {
        width: 188px;
    }

    .mvp-site-spain .mvp-home-hero h1 {
        font-size: 2.7rem;
    }

    .mvp-site-spain .mvp-hero-points > span {
        font-size: .84rem;
    }

    .mvp-site-spain .mvp-page-hero h1,
    .mvp-site-spain .mvp-location-index-hero h1,
    .mvp-site-spain .mvp-destination-hero h1,
    .mvp-site-spain .mvp-local-hero h1,
    .mvp-site-spain .mvp-route-hero h1,
    .mvp-site-spain .blog-hero h1,
    .mvp-site-spain .post-hero h1,
    .mvp-site-spain .mvp-checkout-heading h1 {
        font-size: 2.45rem;
    }

    .mvp-site-spain .es-footer-grid {
        grid-template-columns: 1fr;
    }

    .mvp-site-spain .es-footer-about,
    .mvp-site-spain .es-footer-grid > div:last-child {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .mvp-site-spain *,
    .mvp-site-spain *::before,
    .mvp-site-spain *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* Final specificity guards for legacy Spain layout rules. */
.mvp-site-spain .mvp-home-hero .mvp-hero-copy > .mvp-eyebrow,
.mvp-site-spain .mvp-home-hero .mvp-hero-copy > h1,
.mvp-site-spain .mvp-home-hero .mvp-hero-copy > .mvp-hero-lead {
    grid-column: 1;
    grid-row: auto;
}

.mvp-site-spain .mvp-home-hero .mvp-hero-copy > h1 {
    max-width: 760px;
    margin: 0 0 24px;
    font-size: clamp(3.5rem, 5.5vw, 5.55rem);
    line-height: .99;
    letter-spacing: -.04em;
}

.mvp-site-spain .mvp-home-hero .mvp-hero-copy > .mvp-hero-lead {
    max-width: 680px;
    margin: 0;
    color: var(--sva-ink-soft);
    font-size: 1.12rem;
    line-height: 1.75;
}

.mvp-site-spain .mvp-home-hero .mvp-hero-copy > .mvp-hero-points {
    grid-column: 2;
    grid-row: 1 / span 3;
    width: auto;
    margin: 4px 0 0;
    padding: 32px;
    border: 1px solid var(--sva-line);
    border-radius: 26px 26px 26px 6px;
    color: var(--sva-navy);
    background: #fff;
    box-shadow: var(--sva-shadow);
}

.mvp-site-spain .mvp-home-hero .mvp-hero-copy > .mvp-hero-points > span {
    color: #43526a;
    background: transparent;
}

.mvp-site-spain .mvp-home-hero .mvp-hero-copy > .mvp-route-finder {
    grid-column: 1 / -1;
    grid-row: auto;
}

.mvp-site-spain .mvp-home-hero .mvp-hero-copy > .mvp-hero-note {
    grid-column: 1 / -1;
    grid-row: auto;
}

.mvp-site-spain .mvp-checkout-summary .mvp-order-total strong {
    font-family: "Manrope", Arial, sans-serif;
    letter-spacing: -.03em;
}

.mvp-site-spain .mvp-nearest-summary p {
    color: #ccd5e3 !important;
}

@media (max-width: 991.98px) {
    .mvp-site-spain .mvp-home-hero .mvp-hero-copy > .mvp-eyebrow,
    .mvp-site-spain .mvp-home-hero .mvp-hero-copy > h1,
    .mvp-site-spain .mvp-home-hero .mvp-hero-copy > .mvp-hero-lead,
    .mvp-site-spain .mvp-home-hero .mvp-hero-copy > .mvp-hero-points,
    .mvp-site-spain .mvp-home-hero .mvp-hero-copy > .mvp-route-finder,
    .mvp-site-spain .mvp-home-hero .mvp-hero-copy > .mvp-hero-note {
        display: block;
        width: 100%;
        grid-column: 1;
        grid-row: auto;
    }

    .mvp-site-spain .mvp-home-hero .mvp-hero-copy > .mvp-hero-points {
        margin-top: 34px;
    }
}

@media (max-width: 767.98px) {
    .mvp-site-spain .mvp-home-hero .mvp-hero-copy > h1 {
        font-size: clamp(2.75rem, 12vw, 3.6rem);
        line-height: 1;
    }

    .mvp-site-spain .mvp-home-hero .mvp-hero-copy > .mvp-hero-lead {
        font-size: 1rem;
        line-height: 1.7;
    }

    .mvp-site-spain .mvp-home-hero .mvp-hero-copy > .mvp-hero-points {
        padding: 25px 22px;
        border-radius: 20px 20px 20px 6px;
    }

    .mvp-site-spain .mvp-checkout-progress {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr) 24px minmax(0, 1fr);
        width: 100%;
        gap: 0;
    }

    .mvp-site-spain .mvp-checkout-progress span {
        display: grid;
        min-width: 0;
        place-items: center;
        gap: 5px;
        font-size: .62rem;
        line-height: 1.25;
        text-align: center;
        white-space: normal;
    }

    .mvp-site-spain .mvp-checkout-progress > i {
        width: 100%;
    }
}

@media (max-width: 430px) {
    .mvp-site-spain .mvp-home-hero .mvp-hero-copy > h1 {
        font-size: 2.7rem;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .mvp-site-spain .mvp-checkout-progress {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr) 24px minmax(0, 1fr);
        width: 100%;
        gap: 0;
        overflow: visible;
    }

    .mvp-site-spain .mvp-checkout-progress span {
        display: grid;
        min-width: 0;
        place-items: center;
        gap: 5px;
        font-size: .7rem;
        line-height: 1.25;
        text-align: center;
        white-space: normal;
    }

    .mvp-site-spain .mvp-checkout-progress > i {
        width: 100%;
    }
}
