@charset "utf-8";

/****** LANDING ESTÁTICA CAMINO DE SANTIAGO *******/

/* Montserrat servida desde el tema (el diseño la cargaba de Google Fonts). Nombre propio para no
   alterar otras plantillas que declaran "Montserrat" sin cargarla (landing-club) */
@font-face {
    font-family: "camino-montserrat";
    src: url("../../../fonts/montserrat/montserrat-light.woff2") format("woff2");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "camino-montserrat";
    src: url("../../../fonts/montserrat/montserrat-regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "camino-montserrat";
    src: url("../../../fonts/montserrat/montserrat-bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Regla global del diseño, limitada al body de esta plantilla */
body.camino-santiago {
    margin: 0 !important;
    max-width: 100% !important;
    min-width: 320px !important;
    overflow-x: hidden !important;
    padding: 0 !important;
}

#alda-camino-landing.alda-camino-shell {
    --camino-ink: #000000;
    --camino-green: #000000;
    --camino-green-soft: #333333;
    --camino-rust: #000000;
    --camino-rust-dark: #333333;
    --camino-gold: #000000;
    --camino-cream: #ffffff;
    --camino-paper: #ffffff;
    --camino-line: #dddddd;
    --camino-muted: #555555;
    --camino-white: #ffffff;
    --camino-shadow: 0 15px 35px rgba(0, 0, 0, .08);
    color: var(--camino-ink) !important;
    background: var(--camino-cream) !important;
    font-family: "camino-montserrat", sans-serif !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
    display: block !important;
    margin-bottom: 0 !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-top: 0 !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    padding: 0 !important;
    position: relative !important;
    width: 100vw !important;
    overflow: hidden !important;
}

#alda-camino-landing * {
    box-sizing: border-box !important;
    min-width: 0;
}

#alda-camino-landing main,
#alda-camino-landing header,
#alda-camino-landing section {
    display: block !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    width: 100% !important;
}

/* Las reglas genéricas de la landing excluyen la máscara de reservas común (#camino-booking).
   :where() mantiene la especificidad original de cada regla */
#alda-camino-landing img:not(:where(#camino-booking *)),
#alda-camino-landing video {
    display: block !important;
    height: auto !important;
    max-width: 100% !important;
}

#alda-camino-landing a:not(:where(#camino-booking *)),
#alda-camino-landing button:not(:where(#camino-booking *)),
#alda-camino-landing input:not(:where(#camino-booking *)),
#alda-camino-landing select:not(:where(#camino-booking *)) {
    font: inherit !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

#alda-camino-landing h1,
#alda-camino-landing h2,
#alda-camino-landing h3,
#alda-camino-landing h4,
#alda-camino-landing p:not(:where(#camino-booking *)),
#alda-camino-landing span:not(:where(#camino-booking *)),
#alda-camino-landing a:not(:where(#camino-booking *)) {
    overflow-wrap: anywhere !important;
}

#alda-camino-landing a:focus-visible,
#alda-camino-landing button:focus-visible,
#alda-camino-landing input:focus-visible,
#alda-camino-landing select:focus-visible,
#alda-camino-landing summary:focus-visible {
    outline: 3px solid #000000 !important;
    outline-offset: 4px !important;
}

#alda-camino-landing .camino-container {
    width: min(1180px, calc(100% - 40px)) !important;
    margin: 0 auto !important;
}

#alda-camino-landing .camino-section {
    padding: 112px 0 !important;
    position: relative !important;
}

#alda-camino-landing .camino-section--paper {
    background: #f8f8f8 !important;
}

#alda-camino-landing .camino-section--gray {
    background: #f8f8f8 !important;
}

#alda-camino-landing .camino-kicker {
    color: #555555 !important;
    display: block !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    letter-spacing: .18em !important;
    margin: 0 0 16px !important;
    text-transform: uppercase !important;
}

#alda-camino-landing h1,
#alda-camino-landing h2,
#alda-camino-landing h3,
#alda-camino-landing h4,
#alda-camino-landing p {
    padding: 0 !important;
}

#alda-camino-landing h1,
#alda-camino-landing h2,
#alda-camino-landing h3 {
    font-family: "camino-montserrat", sans-serif !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: var(--camino-ink) !important;
}

#alda-camino-landing h2 {
    font-size: 2.2rem !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

#alda-camino-landing h2::after {
    background: #000000 !important;
    content: '' !important;
    display: block !important;
    height: 4px !important;
    margin: 20px auto 0 !important;
    width: 80px !important;
}

#alda-camino-landing .camino-lead {
    color: var(--camino-muted) !important;
    font-size: 1.08rem !important;
    margin: 0 !important;
    max-width: 620px !important;
}

#alda-camino-landing .camino-heading-row {
    display: block !important;
    margin-bottom: 52px !important;
    text-align: center !important;
}

#alda-camino-landing .camino-heading-row .camino-lead {
    margin: 30px auto 0 !important;
}

#alda-camino-landing .camino-btn {
    align-items: center !important;
    background: var(--camino-rust) !important;
    border: 2px solid var(--camino-rust) !important;
    border-radius: 60px !important;
    color: var(--camino-white) !important;
    cursor: pointer !important;
    display: inline-flex !important;
    font-size: .9rem !important;
    font-weight: 700 !important;
    gap: 10px !important;
    justify-content: center !important;
    letter-spacing: 1.2px !important;
    line-height: 1.2 !important;
    padding: 17px 34px !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    transition: transform .25s ease, background .25s ease, border-color .25s ease !important;
}

#alda-camino-landing .camino-btn:hover {
    background: var(--camino-rust-dark) !important;
    border-color: var(--camino-rust-dark) !important;
    color: var(--camino-white) !important;
    transform: translateY(-2px) !important;
}

#alda-camino-landing .camino-btn--light {
    background: var(--camino-white) !important;
    border-color: var(--camino-white) !important;
    color: var(--camino-ink) !important;
}

#alda-camino-landing .camino-btn--ghost {
    background: transparent !important;
    border-color: rgba(255,255,255,.55) !important;
    color: var(--camino-white) !important;
}

#alda-camino-landing .camino-btn-arrow {
    font-size: 1.25em !important;
    transition: transform .25s ease !important;
}

#alda-camino-landing .camino-btn:hover .camino-btn-arrow {
    transform: translateX(4px) !important;
}

/* Hero */
#alda-camino-landing .camino-hero {
    align-items: center !important;
    background: #000000 !important;
    color: var(--camino-white) !important;
    display: flex !important;
    height: 75vh !important;
    justify-content: center !important;
    min-height: 560px !important;
    padding: 90px 0 150px !important;
    position: relative !important;
    text-align: center !important;
}

#alda-camino-landing .camino-hero-media {
    height: 100% !important;
    inset: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    width: 100% !important;
    z-index: 0 !important;
}

#alda-camino-landing .camino-hero-media img {
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    width: 100% !important;
}

#alda-camino-landing .camino-hero::before {
    background: linear-gradient(rgba(0, 0, 0, .66), rgba(0, 0, 0, .48)) !important;
    content: '' !important;
    inset: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    z-index: 1 !important;
}

#alda-camino-landing .camino-hero::after {
    background: linear-gradient(180deg, transparent, rgba(6, 24, 17, .25)) !important;
    content: '' !important;
    inset: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    z-index: 1 !important;
}

#alda-camino-landing .camino-hero-inner {
    position: relative !important;
    z-index: 2 !important;
}

#alda-camino-landing .camino-breadcrumb {
    color: rgba(255,255,255,.78) !important;
    font-size: .72rem !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    margin-bottom: 36px !important;
    text-transform: uppercase !important;
}

#alda-camino-landing .camino-breadcrumb ol {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 9px !important;
    justify-content: center !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#alda-camino-landing .camino-breadcrumb li + li::before {
    color: rgba(255,255,255,.48) !important;
    content: '/' !important;
    margin-right: 9px !important;
}

#alda-camino-landing .camino-breadcrumb a {
    color: inherit !important;
    text-decoration: none !important;
}

#alda-camino-landing .camino-hero-copy {
    margin: 0 auto !important;
    max-width: 900px !important;
}

#alda-camino-landing .camino-hero .camino-kicker {
    color: var(--camino-white) !important;
}

#alda-camino-landing .camino-hero h1 {
    color: var(--camino-white) !important;
    font-size: clamp(2.6rem, 5vw, 3.5rem) !important;
    letter-spacing: 2px !important;
    margin: 0 0 26px !important;
    max-width: 850px !important;
    text-transform: uppercase !important;
}

#alda-camino-landing .camino-hero p {
    color: rgba(255,255,255,.88) !important;
    font-size: clamp(1.05rem, 2vw, 1.25rem) !important;
    margin: 0 0 34px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 800px !important;
}

#alda-camino-landing .camino-hero-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    justify-content: center !important;
}

#alda-camino-landing .camino-benefits {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px 28px !important;
    justify-content: center !important;
    margin-top: 43px !important;
}

#alda-camino-landing .camino-benefit {
    align-items: center !important;
    color: rgba(255,255,255,.9) !important;
    display: flex !important;
    font-size: .9rem !important;
    gap: 9px !important;
}

#alda-camino-landing .camino-benefit::before {
    align-items: center !important;
    background: rgba(255,255,255,.16) !important;
    border: 1px solid rgba(255,255,255,.27) !important;
    border-radius: 50% !important;
    content: '✓' !important;
    display: inline-flex !important;
    height: 25px !important;
    justify-content: center !important;
    width: 25px !important;
}

/* Buscador */
#alda-camino-landing .camino-booking-wrap {
    margin: -86px auto 0 !important;
    position: relative !important;
    width: min(1320px, calc(100% - 40px)) !important;
    z-index: 3 !important;
}

#alda-camino-landing .camino-booking {
    align-items: end !important;
    background: var(--camino-paper) !important;
    border: 1px solid rgba(255,255,255,.8) !important;
    border-radius: 28px !important;
    box-shadow: var(--camino-shadow) !important;
    display: grid !important;
    gap: 15px !important;
    grid-template-columns: 1.15fr 1fr .84fr .84fr .8fr .7fr auto !important;
    padding: 25px !important;
}

#alda-camino-landing .camino-booking-intro {
    align-items: center !important;
    display: flex !important;
    gap: 14px !important;
    padding: 2px 8px 4px 0 !important;
}

#alda-camino-landing .camino-search-mark {
    align-items: center !important;
    background: #f0f0f0 !important;
    border-radius: 50% !important;
    color: #000000 !important;
    display: flex !important;
    flex: 0 0 auto !important;
    height: 40px !important;
    justify-content: center !important;
    width: 40px !important;
}

#alda-camino-landing .camino-booking-intro strong {
    display: block !important;
    font-size: .96rem !important;
    line-height: 1.3 !important;
    margin-bottom: 3px !important;
}

#alda-camino-landing .camino-booking-intro small {
    color: var(--camino-muted) !important;
    display: block !important;
    line-height: 1.35 !important;
}

#alda-camino-landing .camino-field label {
    color: var(--camino-muted) !important;
    display: block !important;
    font-size: .69rem !important;
    font-weight: 700 !important;
    letter-spacing: .13em !important;
    margin: 0 0 8px !important;
    text-transform: uppercase !important;
}

#alda-camino-landing .camino-field input,
#alda-camino-landing .camino-field select {
    appearance: auto !important;
    background: var(--camino-white) !important;
    border: 1px solid var(--camino-line) !important;
    border-radius: 13px !important;
    color: var(--camino-ink) !important;
    height: 54px !important;
    padding: 0 14px !important;
    width: 100% !important;
}

#alda-camino-landing .camino-booking .camino-btn {
    border-radius: 14px !important;
    height: 54px !important;
    padding-inline: 25px !important;
}

/* Selector de rutas */
#alda-camino-landing .camino-routes {
    padding-top: 130px !important;
}

#alda-camino-landing .camino-route-tabs {
    display: flex !important;
    gap: 10px !important;
    margin: 0 -2px 35px !important;
    overflow-x: auto !important;
    padding: 2px 2px 12px !important;
    scrollbar-color: var(--camino-muted) transparent !important;
}

#alda-camino-landing .camino-route-tab {
    align-items: center !important;
    background: var(--camino-paper) !important;
    border: 1px solid var(--camino-line) !important;
    border-radius: 999px !important;
    color: var(--camino-ink) !important;
    cursor: pointer !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    font-size: .86rem !important;
    font-weight: 700 !important;
    gap: 9px !important;
    min-height: 49px !important;
    padding: 0 16px !important;
    transition: .22s ease !important;
    text-decoration: none !important;
}

#alda-camino-landing .camino-route-tab:hover {
    background: #000000 !important;
    border-color: #000000 !important;
    color: var(--camino-white) !important;
}

#alda-camino-landing .camino-route-count {
    align-items: center !important;
    background: transparent !important;
    border: 1px solid currentColor !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    font-size: .67rem !important;
    height: 25px !important;
    justify-content: center !important;
    width: 25px !important;
}

#alda-camino-landing .camino-route-panel {
    display: none !important;
    scroll-margin-top: 28px !important;
}

/* Navegación de rutas con enlaces rastreables y funcionamiento solo CSS. */
#alda-camino-landing #route-frances {
    display: block !important;
}

#alda-camino-landing #camino-rutas:has(.camino-route-panel:target) #route-frances:not(:target) {
    display: none !important;
}

#alda-camino-landing #camino-rutas .camino-route-panel:target {
    display: block !important;
}

#alda-camino-landing #camino-rutas:not(:has(.camino-route-panel:target)) .camino-route-tab[href="#route-frances"],
#alda-camino-landing #camino-rutas:has(#route-frances:target) .camino-route-tab[href="#route-frances"],
#alda-camino-landing #camino-rutas:has(#route-ingles:target) .camino-route-tab[href="#route-ingles"],
#alda-camino-landing #camino-rutas:has(#route-norte:target) .camino-route-tab[href="#route-norte"],
#alda-camino-landing #camino-rutas:has(#route-plata:target) .camino-route-tab[href="#route-plata"],
#alda-camino-landing #camino-rutas:has(#route-portugues:target) .camino-route-tab[href="#route-portugues"],
#alda-camino-landing #camino-rutas:has(#route-primitivo:target) .camino-route-tab[href="#route-primitivo"],
#alda-camino-landing #camino-rutas:has(#route-invierno:target) .camino-route-tab[href="#route-invierno"],
#alda-camino-landing #camino-rutas:has(#route-arousa:target) .camino-route-tab[href="#route-arousa"] {
    background: #000000 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
}

#alda-camino-landing .camino-route-layout {
    align-items: start !important;
    display: grid !important;
    gap: 30px !important;
    grid-template-columns: 350px 1fr !important;
}

#alda-camino-landing .camino-route-summary {
    background: #000000 !important;
    border-radius: 20px !important;
    color: var(--camino-white) !important;
    min-height: 100% !important;
    padding: 38px !important;
    position: sticky !important;
    top: 24px !important;
}

#alda-camino-landing .camino-route-summary .camino-kicker {
    color: #ffffff !important;
}

#alda-camino-landing .camino-route-summary h3 {
    color: var(--camino-white) !important;
    font-size: 2rem !important;
    margin: 0 0 22px !important;
    text-transform: uppercase !important;
}

#alda-camino-landing .camino-route-summary p {
    color: rgba(255,255,255,.83) !important;
    margin: 0 0 28px !important;
}

#alda-camino-landing .camino-route-total {
    align-items: center !important;
    border-bottom: 1px solid rgba(255,255,255,.16) !important;
    border-top: 1px solid rgba(255,255,255,.16) !important;
    display: flex !important;
    gap: 14px !important;
    margin-bottom: 28px !important;
    padding: 20px 0 !important;
}

#alda-camino-landing .camino-route-total strong {
    color: #ffffff !important;
    font-family: "camino-montserrat", sans-serif !important;
    font-size: 3rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

#alda-camino-landing .camino-route-total span {
    color: rgba(255,255,255,.84) !important;
    font-size: .84rem !important;
    line-height: 1.45 !important;
}

#alda-camino-landing .camino-location-grid {
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
}

#alda-camino-landing .camino-location-card {
    background: var(--camino-paper) !important;
    border: 0 !important;
    border-radius: 20px !important;
    box-shadow: var(--camino-shadow) !important;
    min-height: 235px !important;
    padding: 27px !important;
    transition: transform .25s ease, box-shadow .25s ease !important;
}

#alda-camino-landing .camino-location-card:hover {
    box-shadow: 0 16px 32px rgba(0,0,0,.10) !important;
    transform: translateY(-4px) !important;
}

#alda-camino-landing .camino-location-meta {
    color: #555555 !important;
    font-size: .72rem !important;
    font-weight: 700 !important;
    letter-spacing: .13em !important;
    margin-bottom: 11px !important;
    text-transform: uppercase !important;
}

#alda-camino-landing .camino-location-card h4 {
    color: var(--camino-ink) !important;
    font-family: "camino-montserrat", sans-serif !important;
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    margin: 0 0 14px !important;
}

#alda-camino-landing .camino-hotel-list {
    color: var(--camino-muted) !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#alda-camino-landing .camino-hotel-list li {
    font-size: .9rem !important;
    line-height: 1.45 !important;
    margin: 6px 0 !important;
    padding-left: 13px !important;
    position: relative !important;
}

#alda-camino-landing .camino-hotel-list li::before {
    color: #000000 !important;
    content: '·' !important;
    font-weight: 700 !important;
    left: 0 !important;
    position: absolute !important;
}

#alda-camino-landing .camino-hotel-list a {
    color: inherit !important;
    font-weight: 700 !important;
    text-decoration-color: #b9b9b9 !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 3px !important;
}

#alda-camino-landing .camino-hotel-list a:hover {
    color: #000000 !important;
    text-decoration-color: #000000 !important;
}

#alda-camino-landing .camino-meta-card {
    background: #000000 !important;
    border: none !important;
    color: var(--camino-white) !important;
}

#alda-camino-landing .camino-meta-card .camino-location-meta,
#alda-camino-landing .camino-meta-card h4,
#alda-camino-landing .camino-meta-card .camino-hotel-list {
    color: var(--camino-white) !important;
}

#alda-camino-landing .camino-meta-card .camino-hotel-list li::before {
    color: #ffffff !important;
}

#alda-camino-landing .camino-meta-card .camino-hotel-list a,
#alda-camino-landing .camino-meta-card .camino-hotel-list a:hover {
    color: #ffffff !important;
    text-decoration-color: rgba(255,255,255,.55) !important;
}

/* Recorrido animado por etapas: hoja de ruta editorial */
#alda-camino-landing .camino-stage-section {
    background: #000000 !important;
    color: #ffffff !important;
    overflow: hidden !important;
    position: relative !important;
}

#alda-camino-landing .camino-stage-section::before {
    background:
        radial-gradient(circle at 8% 18%, rgba(255,255,255,.12) 0 1px, transparent 1.5px) 0 0 / 24px 24px,
        radial-gradient(circle at 92% 82%, rgba(255,255,255,.07), transparent 34%) !important;
    content: '' !important;
    inset: 0 !important;
    opacity: .7 !important;
    pointer-events: none !important;
    position: absolute !important;
}

#alda-camino-landing .camino-stage-section::after {
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 50% !important;
    content: '' !important;
    height: 640px !important;
    pointer-events: none !important;
    position: absolute !important;
    right: -370px !important;
    top: -390px !important;
    width: 640px !important;
}

#alda-camino-landing .camino-stage-module {
    position: relative !important;
    z-index: 1 !important;
}

#alda-camino-landing .camino-stage-heading {
    align-items: end !important;
    display: grid !important;
    gap: clamp(45px, 8vw, 120px) !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .65fr) !important;
    margin-bottom: 52px !important;
}

#alda-camino-landing .camino-stage-heading .camino-kicker,
#alda-camino-landing .camino-stage-heading h2,
#alda-camino-landing .camino-stage-heading p {
    color: #ffffff !important;
}

#alda-camino-landing .camino-stage-heading h2 {
    margin-bottom: 0 !important;
    max-width: 760px !important;
    text-align: left !important;
}

#alda-camino-landing .camino-stage-heading h2::after {
    background: #ffffff !important;
    margin-left: 0 !important;
}

#alda-camino-landing .camino-stage-intro {
    align-items: flex-start !important;
    border-left: 1px solid rgba(255,255,255,.3) !important;
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: 54px 1fr !important;
    padding-left: 28px !important;
}

#alda-camino-landing .camino-stage-intro-icon {
    align-items: center !important;
    border: 1px solid rgba(255,255,255,.55) !important;
    border-radius: 50% !important;
    display: flex !important;
    height: 54px !important;
    justify-content: center !important;
    width: 54px !important;
}

#alda-camino-landing .camino-stage-intro-icon svg {
    fill: none !important;
    height: 28px !important;
    stroke: currentColor !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    stroke-width: 1.5 !important;
    width: 28px !important;
}

#alda-camino-landing .camino-stage-intro p {
    font-size: .9rem !important;
    line-height: 1.7 !important;
    margin: 0 !important;
    opacity: .72 !important;
}

#alda-camino-landing .camino-stage-board {
    background: #f3f3f1 !important;
    border: 1px solid rgba(255,255,255,.5) !important;
    border-radius: 30px !important;
    box-shadow: 0 34px 80px rgba(0,0,0,.45) !important;
    color: #000000 !important;
    overflow: hidden !important;
    padding: 0 36px 28px !important;
    position: relative !important;
}

#alda-camino-landing .camino-stage-board::before,
#alda-camino-landing .camino-stage-board::after {
    background: #000000 !important;
    border-radius: 50% !important;
    content: '' !important;
    height: 28px !important;
    position: absolute !important;
    top: 93px !important;
    width: 28px !important;
    z-index: 3 !important;
}

#alda-camino-landing .camino-stage-board::before { left: -15px !important; }
#alda-camino-landing .camino-stage-board::after { right: -15px !important; }

#alda-camino-landing .camino-stage-board-head {
    align-items: center !important;
    border-bottom: 1px dashed #b8b8b4 !important;
    display: flex !important;
    gap: 30px !important;
    justify-content: space-between !important;
    min-height: 108px !important;
    padding: 22px 4px !important;
}

#alda-camino-landing .camino-stage-route-id span {
    color: #707070 !important;
    display: block !important;
    font-size: .64rem !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    margin-bottom: 7px !important;
    text-transform: uppercase !important;
}

#alda-camino-landing .camino-stage-route-id strong {
    align-items: center !important;
    display: flex !important;
    font-family: "camino-montserrat", sans-serif !important;
    font-size: clamp(1.25rem, 2.4vw, 1.85rem) !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    line-height: 1 !important;
}

#alda-camino-landing .camino-stage-route-id i {
    color: #777777 !important;
    font-size: 1rem !important;
    font-style: normal !important;
}

#alda-camino-landing .camino-stage-board-meta {
    display: flex !important;
    gap: 28px !important;
}

#alda-camino-landing .camino-stage-board-meta span {
    color: #666666 !important;
    font-size: .65rem !important;
    line-height: 1.25 !important;
    text-transform: uppercase !important;
}

#alda-camino-landing .camino-stage-board-meta strong {
    color: #000000 !important;
    display: block !important;
    font-size: 1.25rem !important;
    margin-bottom: 2px !important;
}

#alda-camino-landing .camino-stage-journey {
    height: 390px !important;
    margin: 12px auto 0 !important;
    max-width: 1100px !important;
    position: relative !important;
}

#alda-camino-landing .camino-stage-map {
    height: 100% !important;
    inset: 0 !important;
    overflow: visible !important;
    position: absolute !important;
    width: 100% !important;
}

#alda-camino-landing .camino-route-base,
#alda-camino-landing .camino-route-dots,
#alda-camino-landing .camino-route-reveal {
    fill: none !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

#alda-camino-landing .camino-route-base {
    opacity: 1 !important;
    stroke: #c4c4c0 !important;
    stroke-dasharray: 1 14 !important;
    stroke-width: 4 !important;
}

#alda-camino-landing .camino-route-dots {
    animation: caminoMarchingDots 1.15s linear infinite !important;
    stroke: #000000 !important;
    stroke-dasharray: 1 14 !important;
    stroke-width: 5 !important;
}

#alda-camino-landing .camino-route-reveal {
    stroke: #ffffff !important;
    stroke-dasharray: 1 !important;
    stroke-dashoffset: 0;
    stroke-width: 22 !important;
}

#alda-camino-landing .camino-route-arrow {
    animation: caminoArrowNudge 1.15s ease-in-out infinite !important;
    fill: #000000 !important;
    transform-box: fill-box !important;
    transform-origin: center !important;
}

#alda-camino-landing .camino-stage-node {
    height: 34px !important;
    left: var(--stage-x) !important;
    position: absolute !important;
    top: var(--stage-y) !important;
    transform: translate(-50%, -50%) !important;
    width: 34px !important;
    z-index: 2 !important;
}

#alda-camino-landing .camino-stage-marker {
    align-items: center !important;
    background: #000000 !important;
    border: 2px solid #000000 !important;
    border-radius: 50% !important;
    box-shadow: 0 0 0 5px #f3f3f1, 0 0 0 6px #000000 !important;
    color: #ffffff !important;
    display: flex !important;
    font-size: .62rem !important;
    font-weight: 700 !important;
    height: 34px !important;
    justify-content: center !important;
    left: 0 !important;
    position: absolute !important;
    top: 0 !important;
    transition: transform .25s ease !important;
    width: 34px !important;
    z-index: 2 !important;
}

#alda-camino-landing .camino-stage-marker::after {
    border: 1px solid #000000 !important;
    border-radius: 50% !important;
    content: '' !important;
    inset: -9px !important;
    opacity: 0;
    position: absolute !important;
    animation: caminoPulse 2.2s ease-out calc(.7s + var(--stage-delay)) infinite !important;
}

#alda-camino-landing .camino-stage-node:hover .camino-stage-marker {
    transform: scale(1.14) !important;
}

#alda-camino-landing .camino-stage-node--goal .camino-stage-marker {
    background: #ffffff !important;
    border-color: #000000 !important;
    box-shadow: 0 0 0 6px #000000, 0 0 0 10px #f3f3f1, 0 0 0 11px #000000 !important;
    color: #000000 !important;
    height: 42px !important;
    left: -4px !important;
    top: -4px !important;
    width: 42px !important;
}

#alda-camino-landing .camino-stage-card {
    border-left: 1px solid #9b9b97 !important;
    color: #000000 !important;
    padding: 2px 0 2px 14px !important;
    position: absolute !important;
    transform: translateX(-50%) !important;
    width: 158px !important;
}

#alda-camino-landing .camino-stage-node--high .camino-stage-card {
    left: 17px !important;
    top: 58px !important;
}

#alda-camino-landing .camino-stage-node--low .camino-stage-card {
    bottom: 58px !important;
    left: 17px !important;
}

#alda-camino-landing .camino-stage-node:first-of-type .camino-stage-card {
    left: 0 !important;
    transform: translateX(0) !important;
}

#alda-camino-landing .camino-stage-node--goal .camino-stage-card {
    left: 34px !important;
    transform: translateX(-100%) !important;
}

#alda-camino-landing .camino-stage-card span {
    color: #777777 !important;
    display: block !important;
    font-size: .59rem !important;
    font-weight: 700 !important;
    letter-spacing: 1.1px !important;
    margin-bottom: 5px !important;
    text-transform: uppercase !important;
}

#alda-camino-landing .camino-stage-card strong {
    display: block !important;
    font-size: .98rem !important;
    line-height: 1.15 !important;
}

#alda-camino-landing .camino-stage-card small {
    color: #555555 !important;
    display: block !important;
    font-size: .69rem !important;
    line-height: 1.35 !important;
    margin-top: 6px !important;
}

#alda-camino-landing .camino-stage-board-note {
    align-items: center !important;
    border-top: 1px dashed #b8b8b4 !important;
    display: flex !important;
    gap: 14px !important;
    padding: 22px 4px 0 !important;
}

#alda-camino-landing .camino-stage-board-note strong {
    align-items: center !important;
    border: 1px solid #000000 !important;
    border-radius: 50% !important;
    display: flex !important;
    flex: 0 0 auto !important;
    font-size: .58rem !important;
    height: 34px !important;
    justify-content: center !important;
    letter-spacing: .5px !important;
    width: 34px !important;
}

#alda-camino-landing .camino-stage-board-note p {
    color: #555555 !important;
    font-size: .74rem !important;
    margin: 0 !important;
}

#alda-camino-landing .camino-stage-footer {
    align-items: center !important;
    display: flex !important;
    gap: 30px !important;
    justify-content: flex-end !important;
    margin-top: 28px !important;
}

/* Itinerario minimalista: textos en retícula, sin posiciones que puedan solaparse */
#alda-camino-landing .camino-stage-journey {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    height: auto !important;
    margin: 16px 0 0 !important;
    padding: 42px 0 20px !important;
    position: relative !important;
}

#alda-camino-landing .camino-stage-journey::before {
    animation: caminoStraightDots 1.2s linear infinite !important;
    background: repeating-linear-gradient(to right, #000000 0 4px, transparent 4px 15px) !important;
    background-position: 0 0 !important;
    content: '' !important;
    height: 3px !important;
    left: 7% !important;
    position: absolute !important;
    right: 7% !important;
    top: 58px !important;
}

#alda-camino-landing .camino-stage-journey::after {
    border-bottom: 6px solid transparent !important;
    border-left: 11px solid #000000 !important;
    border-top: 6px solid transparent !important;
    content: '' !important;
    position: absolute !important;
    right: calc(7% - 7px) !important;
    top: 53px !important;
}

#alda-camino-landing .camino-stage-map {
    display: none !important;
}

#alda-camino-landing .camino-stage-node {
    align-items: center !important;
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    left: auto !important;
    padding: 0 6px !important;
    position: relative !important;
    top: auto !important;
    transform: none !important;
    width: auto !important;
}

#alda-camino-landing .camino-stage-marker,
#alda-camino-landing .camino-stage-node--goal .camino-stage-marker {
    flex: 0 0 auto !important;
    left: auto !important;
    position: relative !important;
    top: auto !important;
}

#alda-camino-landing .camino-stage-node--goal .camino-stage-marker {
    margin-top: -4px !important;
}

#alda-camino-landing .camino-stage-card,
#alda-camino-landing .camino-stage-node--high .camino-stage-card,
#alda-camino-landing .camino-stage-node--low .camino-stage-card,
#alda-camino-landing .camino-stage-node:first-of-type .camino-stage-card,
#alda-camino-landing .camino-stage-node--goal .camino-stage-card {
    border: 0 !important;
    bottom: auto !important;
    left: auto !important;
    padding: 23px 3px 0 !important;
    position: relative !important;
    text-align: center !important;
    top: auto !important;
    transform: none !important;
    width: 100% !important;
}

#alda-camino-landing .camino-stage-card span {
    display: none !important;
    min-height: 0 !important;
}

#alda-camino-landing .camino-stage-card strong {
    min-height: 2.3em !important;
}

@keyframes caminoStraightDots {
    from { background-position: 0 0; }
    to { background-position: 30px 0; }
}

@keyframes caminoDrawRoute {
    from { stroke-dashoffset: 1; }
    to { stroke-dashoffset: 0; }
}

@keyframes caminoStageIn {
    from { opacity: 0; filter: blur(7px); }
    to { opacity: 1; filter: blur(0); }
}

@keyframes caminoPulse {
    0% { opacity: .8; transform: scale(.65); }
    70%, 100% { opacity: 0; transform: scale(1.7); }
}

@keyframes caminoMarchingDots {
    from { stroke-dashoffset: 0; }
    to { stroke-dashoffset: -30; }
}

@keyframes caminoArrowNudge {
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(7px); }
}

@supports (animation-timeline: view()) {
    #alda-camino-landing .camino-stage-section {
        view-timeline-axis: block !important;
        view-timeline-name: --camino-route-view !important;
    }
    #alda-camino-landing .camino-route-reveal {
        animation: caminoDrawRoute linear both !important;
        animation-range: entry 5% cover 48% !important;
        animation-timeline: --camino-route-view !important;
    }
    #alda-camino-landing .camino-stage-node {
        animation: caminoStageIn linear both !important;
        animation-timeline: --camino-route-view !important;
    }
    #alda-camino-landing .camino-stage-node:nth-of-type(1) { animation-range: entry 8% cover 24% !important; }
    #alda-camino-landing .camino-stage-node:nth-of-type(2) { animation-range: entry 12% cover 28% !important; }
    #alda-camino-landing .camino-stage-node:nth-of-type(3) { animation-range: entry 16% cover 32% !important; }
    #alda-camino-landing .camino-stage-node:nth-of-type(4) { animation-range: entry 20% cover 36% !important; }
    #alda-camino-landing .camino-stage-node:nth-of-type(5) { animation-range: entry 24% cover 40% !important; }
    #alda-camino-landing .camino-stage-node:nth-of-type(6) { animation-range: entry 28% cover 44% !important; }
    #alda-camino-landing .camino-stage-node:nth-of-type(7) { animation-range: entry 32% cover 48% !important; }
}

/* Alojamientos destacados: misma tarjeta visual que la landing Eclipse */
#alda-camino-landing .camino-featured-grid {
    display: grid !important;
    gap: 28px !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)) !important;
}

#alda-camino-landing .camino-featured-card {
    background: #ffffff !important;
    border-radius: 20px !important;
    box-shadow: var(--camino-shadow) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    transition: transform .4s cubic-bezier(.165,.84,.44,1), box-shadow .4s ease !important;
}

#alda-camino-landing .camino-featured-card:hover {
    box-shadow: 0 22px 45px rgba(0,0,0,.14) !important;
    transform: translateY(-10px) !important;
}

#alda-camino-landing .camino-featured-image {
    height: 230px !important;
    overflow: hidden !important;
    position: relative !important;
}

#alda-camino-landing .camino-featured-image img {
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    transition: transform .55s cubic-bezier(.165,.84,.44,1) !important;
    width: 100% !important;
}

#alda-camino-landing .camino-featured-card:hover .camino-featured-image img {
    transform: scale(1.035) !important;
}

#alda-camino-landing .camino-featured-image::after {
    background: linear-gradient(180deg, transparent 45%, rgba(0,0,0,.45)) !important;
    content: '' !important;
    inset: 0 !important;
    position: absolute !important;
}

#alda-camino-landing .camino-featured-route {
    background: #000000 !important;
    border-radius: 60px !important;
    bottom: 16px !important;
    color: #ffffff !important;
    font-size: .67rem !important;
    font-weight: 700 !important;
    left: 16px !important;
    letter-spacing: 1px !important;
    padding: 8px 12px !important;
    position: absolute !important;
    text-transform: uppercase !important;
    z-index: 1 !important;
}

#alda-camino-landing .camino-featured-info {
    display: flex !important;
    flex: 1 !important;
    flex-direction: column !important;
    padding: 25px !important;
}

#alda-camino-landing .camino-featured-place {
    color: #777777 !important;
    font-size: .72rem !important;
    font-weight: 700 !important;
    letter-spacing: 1.2px !important;
    margin-bottom: 8px !important;
    text-transform: uppercase !important;
}

#alda-camino-landing .camino-featured-info h3 {
    font-size: 1.2rem !important;
    margin: 0 0 11px !important;
}

#alda-camino-landing .camino-featured-info p {
    color: #555555 !important;
    flex: 1 !important;
    font-size: .88rem !important;
    margin: 0 0 20px !important;
}

#alda-camino-landing .camino-btn--outline {
    background: transparent !important;
    border-color: #000000 !important;
    color: #000000 !important;
    padding: 13px 18px !important;
    width: 100% !important;
}

#alda-camino-landing .camino-btn--outline:hover {
    background: #000000 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
}

/* Servicios */
#alda-camino-landing .camino-service-grid {
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)) !important;
}

#alda-camino-landing .camino-service-card {
    background: var(--camino-paper) !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.04) !important;
    min-height: 220px !important;
    padding: 28px !important;
}

#alda-camino-landing .camino-service-icon {
    align-items: center !important;
    background: #000000 !important;
    border-radius: 13px !important;
    color: var(--camino-white) !important;
    display: flex !important;
    font-size: 1.2rem !important;
    height: 45px !important;
    justify-content: center !important;
    margin-bottom: 25px !important;
    width: 45px !important;
}

#alda-camino-landing .camino-service-icon svg {
    fill: none !important;
    height: 23px !important;
    stroke: currentColor !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    stroke-width: 1.8 !important;
    width: 23px !important;
}

#alda-camino-landing .camino-service-card h3 {
    font-size: 1.3rem !important;
    margin: 0 0 12px !important;
}

#alda-camino-landing .camino-service-card p {
    color: var(--camino-muted) !important;
    font-size: .92rem !important;
    margin: 0 !important;
}

/* Xacobeo */
#alda-camino-landing .camino-xacobeo {
    background: #000000 !important;
    color: var(--camino-white) !important;
    overflow: hidden !important;
}

#alda-camino-landing .camino-xacobeo-grid {
    align-items: center !important;
    display: grid !important;
    gap: 80px !important;
    grid-template-columns: .85fr 1.15fr !important;
}

#alda-camino-landing .camino-year {
    color: #ffffff !important;
    font-family: "camino-montserrat", sans-serif !important;
    font-size: clamp(6rem, 14vw, 11rem) !important;
    font-weight: 700 !important;
    letter-spacing: -.05em !important;
    line-height: .8 !important;
    opacity: .18 !important;
    transform: translateX(-12px) !important;
}

#alda-camino-landing .camino-xacobeo .camino-kicker {
    color: #ffffff !important;
}

#alda-camino-landing .camino-xacobeo h2 {
    color: var(--camino-white) !important;
    margin-bottom: 25px !important;
}

#alda-camino-landing .camino-xacobeo h2::after {
    background: #ffffff !important;
}

#alda-camino-landing .camino-xacobeo p {
    color: rgba(255,255,255,.79) !important;
    margin: 0 0 18px !important;
}

/* Información práctica / Compostela */
#alda-camino-landing .camino-compostela-card {
    background: #ffffff !important;
    border-radius: 24px !important;
    box-shadow: var(--camino-shadow) !important;
    overflow: hidden !important;
}

#alda-camino-landing .camino-compostela-layout {
    display: grid !important;
    grid-template-columns: 1.05fr .95fr !important;
}

#alda-camino-landing .camino-compostela-copy {
    padding: 60px !important;
}

#alda-camino-landing .camino-compostela-copy h2 {
    margin-bottom: 28px !important;
    text-align: left !important;
}

#alda-camino-landing .camino-compostela-copy h2::after {
    margin-left: 0 !important;
}

#alda-camino-landing .camino-compostela-copy p {
    color: #555555 !important;
    margin: 0 0 18px !important;
}

#alda-camino-landing .camino-practical-answer {
    border-left: 4px solid #000000 !important;
    color: #000000 !important;
    font-size: 1.02rem !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
    margin: 0 0 22px !important;
    padding-left: 18px !important;
}

#alda-camino-landing .camino-source-row {
    align-items: center !important;
    border-top: 1px solid #dddddd !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px 18px !important;
    margin-top: 26px !important;
    padding-top: 18px !important;
}

#alda-camino-landing .camino-source-row span {
    color: #777777 !important;
    font-size: .68rem !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

#alda-camino-landing .camino-source-row a {
    color: #000000 !important;
    font-size: .77rem !important;
    font-weight: 700 !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 3px !important;
}

#alda-camino-landing .camino-compostela-visual {
    background: #000000 !important;
    color: #ffffff !important;
    padding: 38px !important;
}

#alda-camino-landing .camino-distance-grid {
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)) !important;
    margin-bottom: 14px !important;
}

#alda-camino-landing .camino-distance-card {
    border: 1px solid rgba(255,255,255,.24) !important;
    border-radius: 18px !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 220px !important;
    padding: 25px !important;
}

#alda-camino-landing .camino-distance-icon {
    align-items: center !important;
    border: 1px solid rgba(255,255,255,.45) !important;
    border-radius: 50% !important;
    display: flex !important;
    height: 45px !important;
    justify-content: center !important;
    margin-bottom: auto !important;
    width: 45px !important;
}

#alda-camino-landing .camino-distance-icon svg {
    fill: none !important;
    height: 23px !important;
    stroke: currentColor !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    stroke-width: 1.8 !important;
    width: 23px !important;
}

#alda-camino-landing .camino-distance-card strong {
    display: block !important;
    font-size: 2.35rem !important;
    line-height: 1 !important;
    margin: 24px 0 9px !important;
}

#alda-camino-landing .camino-distance-card span:last-child {
    color: rgba(255,255,255,.72) !important;
    font-size: .82rem !important;
    line-height: 1.45 !important;
}

#alda-camino-landing .camino-credential-panel {
    background: #ffffff !important;
    border: 1px solid rgba(255,255,255,.55) !important;
    border-radius: 20px !important;
    box-shadow: 0 18px 45px rgba(0,0,0,.28) !important;
    color: #000000 !important;
    overflow: hidden !important;
    position: relative !important;
}

#alda-camino-landing .camino-credential-main {
    align-items: center !important;
    display: grid !important;
    gap: 22px !important;
    grid-template-columns: 76px 1fr !important;
    padding: 24px !important;
}

#alda-camino-landing .camino-credential-icon {
    align-items: center !important;
    background: #000000 !important;
    border-radius: 10px 14px 14px 10px !important;
    box-shadow: inset 5px 0 0 rgba(255,255,255,.16), 0 8px 20px rgba(0,0,0,.2) !important;
    color: #ffffff !important;
    display: flex !important;
    height: 92px !important;
    justify-content: center !important;
    position: relative !important;
    transform: rotate(-2deg) !important;
    width: 70px !important;
}

#alda-camino-landing .camino-credential-icon::after {
    background: rgba(255,255,255,.35) !important;
    bottom: 9px !important;
    content: '' !important;
    left: 17px !important;
    position: absolute !important;
    top: 9px !important;
    width: 1px !important;
}

#alda-camino-landing .camino-credential-icon svg {
    fill: none !important;
    height: 60px !important;
    margin-left: 6px !important;
    stroke: currentColor !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    stroke-width: 1.5 !important;
    width: 48px !important;
}

#alda-camino-landing .camino-credential-label {
    color: #777777 !important;
    display: block !important;
    font-size: .6rem !important;
    font-weight: 700 !important;
    letter-spacing: 1.25px !important;
    margin-bottom: 6px !important;
    text-transform: uppercase !important;
}

#alda-camino-landing .camino-credential-copy strong {
    display: block !important;
    font-size: 1.05rem !important;
    line-height: 1.2 !important;
    margin-bottom: 7px !important;
}

#alda-camino-landing .camino-credential-copy p {
    color: #555555 !important;
    font-size: .78rem !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

#alda-camino-landing .camino-credential-stamps {
    background: #f1f1ef !important;
    border-top: 1px dashed #a9a9a5 !important;
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: repeat(3, 1fr) !important;
    padding: 17px 22px !important;
    position: relative !important;
}

#alda-camino-landing .camino-credential-stamps::before {
    border-top: 2px dotted #adada8 !important;
    content: '' !important;
    left: 18% !important;
    position: absolute !important;
    right: 18% !important;
    top: 34px !important;
}

#alda-camino-landing .camino-credential-stamp {
    align-items: center !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    text-align: center !important;
    z-index: 1 !important;
}

#alda-camino-landing .camino-credential-stamp b {
    align-items: center !important;
    background: #ffffff !important;
    border: 1px solid #000000 !important;
    border-radius: 50% !important;
    display: flex !important;
    font-size: .58rem !important;
    height: 34px !important;
    justify-content: center !important;
    width: 34px !important;
}

#alda-camino-landing .camino-credential-stamp:last-child b {
    background: #000000 !important;
    color: #ffffff !important;
}

#alda-camino-landing .camino-credential-stamp em {
    color: #666666 !important;
    font-size: .57rem !important;
    font-style: normal !important;
    font-weight: 700 !important;
    letter-spacing: .7px !important;
    margin-top: 7px !important;
    text-transform: uppercase !important;
}

#alda-camino-landing .camino-compostela-steps {
    border-top: 1px solid #dddddd !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

#alda-camino-landing .camino-compostela-step {
    align-items: center !important;
    display: flex !important;
    gap: 14px !important;
    padding: 24px 30px !important;
}

#alda-camino-landing .camino-compostela-step + .camino-compostela-step {
    border-left: 1px solid #dddddd !important;
}

#alda-camino-landing .camino-compostela-step strong {
    align-items: center !important;
    background: #000000 !important;
    border-radius: 50% !important;
    color: #ffffff !important;
    display: flex !important;
    flex: 0 0 auto !important;
    font-size: .72rem !important;
    height: 34px !important;
    justify-content: center !important;
    width: 34px !important;
}

#alda-camino-landing .camino-compostela-step span {
    color: #333333 !important;
    font-size: .84rem !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}

#alda-camino-landing .camino-story {
    background: #ffffff !important;
    border-radius: 20px !important;
    box-shadow: var(--camino-shadow) !important;
    color: #000000 !important;
    padding: clamp(42px, 7vw, 86px) !important;
}

#alda-camino-landing .camino-story h2 {
    color: #000000 !important;
    max-width: 690px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

#alda-camino-landing .camino-story p {
    color: #555555 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 700px !important;
    text-align: center !important;
}

/* Extensiones de viaje */
#alda-camino-landing .camino-travel-grid {
    display: grid !important;
    gap: 16px !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
}

#alda-camino-landing .camino-travel-card {
    background: #ffffff !important;
    border-radius: 20px !important;
    box-shadow: var(--camino-shadow) !important;
    color: #000000 !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 330px !important;
    padding: 30px !important;
    text-decoration: none !important;
    transition: transform .3s ease !important;
}

#alda-camino-landing .camino-travel-card:hover {
    color: #000000 !important;
    transform: translateY(-7px) !important;
}

#alda-camino-landing .camino-travel-symbol {
    align-items: center !important;
    background: #000000 !important;
    border: 0 !important;
    border-radius: 12px !important;
    color: #ffffff !important;
    display: flex !important;
    font-size: 1.2rem !important;
    height: 48px !important;
    justify-content: center !important;
    width: 48px !important;
}

#alda-camino-landing .camino-travel-content {
    margin-top: auto !important;
}

#alda-camino-landing .camino-travel-card .camino-kicker {
    color: #555555 !important;
    margin-bottom: 9px !important;
}

#alda-camino-landing .camino-travel-card h3 {
    color: #000000 !important;
    font-size: 1.5rem !important;
    margin: 0 0 17px !important;
}

#alda-camino-landing .camino-travel-card p {
    color: #555555 !important;
    font-size: .87rem !important;
    margin: 0 0 23px !important;
}

#alda-camino-landing .camino-card-link {
    align-items: center !important;
    color: #000000 !important;
    display: flex !important;
    font-size: .86rem !important;
    font-weight: 700 !important;
    gap: 9px !important;
}

#alda-camino-landing .camino-hotel-links {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    margin: 0 !important;
}

#alda-camino-landing .camino-hotel-pill {
    border: 1px solid #cfcfcf !important;
    border-radius: 999px !important;
    color: #000000 !important;
    display: inline-flex !important;
    font-size: .68rem !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    padding: 7px 10px !important;
    text-decoration: none !important;
}

#alda-camino-landing .camino-hotel-pill:hover {
    background: #000000 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
}

/* Alda & Co */
#alda-camino-landing .camino-membership {
    align-items: center !important;
    background: #000000 !important;
    border-radius: 20px !important;
    color: var(--camino-white) !important;
    display: grid !important;
    gap: 35px !important;
    grid-template-columns: 1fr auto !important;
    padding: 52px 60px !important;
}

#alda-camino-landing .camino-membership .camino-kicker {
    color: rgba(255,255,255,.8) !important;
}

#alda-camino-landing .camino-membership h2 {
    color: var(--camino-white) !important;
    font-size: 2.2rem !important;
    max-width: 760px !important;
}

#alda-camino-landing .camino-membership h2::after {
    background: #ffffff !important;
    margin-left: 0 !important;
}

#alda-camino-landing .camino-membership p {
    color: rgba(255,255,255,.76) !important;
    margin: 17px 0 0 !important;
}

/* FAQ */
#alda-camino-landing .camino-faq-wrap {
    display: grid !important;
    gap: 70px !important;
    grid-template-columns: .7fr 1.3fr !important;
}

#alda-camino-landing .camino-faq-list {
    border-top: 1px solid var(--camino-line) !important;
}

#alda-camino-landing .camino-faq {
    border-bottom: 1px solid var(--camino-line) !important;
}

#alda-camino-landing .camino-faq summary {
    align-items: center !important;
    color: var(--camino-ink) !important;
    cursor: pointer !important;
    display: flex !important;
    font-family: "camino-montserrat", sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    justify-content: space-between !important;
    line-height: 1.25 !important;
    list-style: none !important;
    padding: 23px 5px !important;
}

#alda-camino-landing .camino-faq summary::-webkit-details-marker {
    display: none !important;
}

#alda-camino-landing .camino-faq summary::after {
    color: #000000 !important;
    content: '+' !important;
    flex: 0 0 auto !important;
    font-family: "camino-montserrat", sans-serif !important;
    font-size: 1.5rem !important;
    margin-left: 20px !important;
}

#alda-camino-landing .camino-faq[open] summary::after {
    content: '−' !important;
}

#alda-camino-landing .camino-faq p {
    color: var(--camino-muted) !important;
    margin: -5px 45px 24px 5px !important;
}

#alda-camino-landing .camino-faq p a {
    color: #000000 !important;
    font-weight: 700 !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 3px !important;
}

@media (max-width: 1300px) {
    #alda-camino-landing .camino-booking {
        grid-template-columns: repeat(3, 1fr) !important;
    }
    #alda-camino-landing .camino-featured-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    #alda-camino-landing .camino-booking-intro {
        grid-column: span 2 !important;
    }
    #alda-camino-landing .camino-booking .camino-btn {
        width: 100% !important;
    }
}

@media (max-width: 900px) {
    #alda-camino-landing .camino-section {
        padding: 85px 0 !important;
    }
    #alda-camino-landing .camino-hero {
        min-height: 700px !important;
        padding-bottom: 145px !important;
    }
    #alda-camino-landing .camino-heading-row,
    #alda-camino-landing .camino-compostela-layout,
    #alda-camino-landing .camino-xacobeo-grid,
    #alda-camino-landing .camino-faq-wrap {
        gap: 34px !important;
        grid-template-columns: 1fr !important;
    }
    #alda-camino-landing .camino-heading-row {
        align-items: start !important;
    }
    #alda-camino-landing .camino-route-layout {
        grid-template-columns: 1fr !important;
    }
    #alda-camino-landing .camino-route-summary {
        position: static !important;
    }
    #alda-camino-landing .camino-stage-heading {
        align-items: start !important;
        gap: 30px !important;
        grid-template-columns: 1fr !important;
        margin-bottom: 38px !important;
    }
    #alda-camino-landing .camino-stage-intro {
        border-left: 0 !important;
        border-top: 1px solid rgba(255,255,255,.3) !important;
        max-width: 620px !important;
        padding-left: 0 !important;
        padding-top: 24px !important;
    }
    #alda-camino-landing .camino-stage-board {
        padding: 0 24px 24px !important;
    }
    #alda-camino-landing .camino-stage-board::before,
    #alda-camino-landing .camino-stage-board::after {
        display: none !important;
    }
    #alda-camino-landing .camino-stage-board-head {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 22px !important;
        padding: 26px 0 !important;
    }
    #alda-camino-landing .camino-stage-board-meta {
        display: grid !important;
        gap: 18px !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        width: 100% !important;
    }
    #alda-camino-landing .camino-stage-journey {
        height: auto !important;
        margin: 28px 0 12px !important;
        padding-left: 0 !important;
    }
    #alda-camino-landing .camino-stage-journey::before {
        background: repeating-linear-gradient(to bottom, #000000 0 3px, transparent 3px 14px) !important;
        bottom: 25px !important;
        content: '' !important;
        left: 17px !important;
        opacity: .35 !important;
        position: absolute !important;
        top: 18px !important;
        width: 3px !important;
    }
    #alda-camino-landing .camino-stage-map {
        display: none !important;
    }
    #alda-camino-landing .camino-stage-node {
        align-items: center !important;
        display: grid !important;
        gap: 20px !important;
        grid-template-columns: 40px minmax(0, 1fr) !important;
        height: auto !important;
        left: auto !important;
        margin-bottom: 9px !important;
        position: relative !important;
        top: auto !important;
        transform: none !important;
        width: 100% !important;
    }
    #alda-camino-landing .camino-stage-marker,
    #alda-camino-landing .camino-stage-node--goal .camino-stage-marker {
        grid-column: 1 !important;
        grid-row: 1 !important;
        left: 0 !important;
        position: relative !important;
        top: 0 !important;
    }
    #alda-camino-landing .camino-stage-card,
    #alda-camino-landing .camino-stage-node--high .camino-stage-card,
    #alda-camino-landing .camino-stage-node--low .camino-stage-card,
    #alda-camino-landing .camino-stage-node:first-of-type .camino-stage-card,
    #alda-camino-landing .camino-stage-node--goal .camino-stage-card {
        bottom: auto !important;
        grid-column: 2 !important;
        grid-row: 1 !important;
        left: auto !important;
        position: relative !important;
        top: auto !important;
        transform: none !important;
        width: 100% !important;
        border-bottom: 1px solid #d3d3cf !important;
        border-left: 0 !important;
        padding: 5px 0 17px !important;
    }
    #alda-camino-landing .camino-stage-board-note {
        align-items: flex-start !important;
        padding-top: 20px !important;
    }
    #alda-camino-landing .camino-service-grid,
    #alda-camino-landing .camino-featured-grid,
    #alda-camino-landing .camino-travel-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    #alda-camino-landing .camino-travel-card:last-child {
        grid-column: 1 / -1 !important;
        min-height: 330px !important;
    }
    #alda-camino-landing .camino-membership {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 680px) {
    #alda-camino-landing .camino-container {
        width: min(100% - 28px, 1180px) !important;
    }
    #alda-camino-landing .camino-section {
        padding: 68px 0 !important;
    }
    #alda-camino-landing h2 {
        font-size: clamp(2.5rem, 13vw, 3.5rem) !important;
    }
    #alda-camino-landing .camino-hero-media img {
        object-position: 62% center !important;
    }
    #alda-camino-landing .camino-hero {
        min-height: 720px !important;
        padding: 82px 0 150px !important;
    }
    #alda-camino-landing .camino-hero h1 {
        font-size: clamp(3rem, 15vw, 4.4rem) !important;
        max-width: 100% !important;
    }
    #alda-camino-landing .camino-hero p {
        max-width: 100% !important;
    }
    #alda-camino-landing .camino-hero-actions,
    #alda-camino-landing .camino-hero-actions .camino-btn {
        width: 100% !important;
    }
    #alda-camino-landing .camino-booking-wrap {
        margin-top: -95px !important;
    }
    #alda-camino-landing .camino-booking {
        border-radius: 22px !important;
        grid-template-columns: 1fr 1fr !important;
        padding: 20px !important;
    }
    #alda-camino-landing .camino-booking-intro,
    #alda-camino-landing .camino-field--route,
    #alda-camino-landing .camino-field--travelers,
    #alda-camino-landing .camino-field--promo,
    #alda-camino-landing .camino-booking .camino-btn {
        grid-column: 1 / -1 !important;
    }
    #alda-camino-landing .camino-routes {
        padding-top: 95px !important;
    }
    #alda-camino-landing .camino-location-grid,
    #alda-camino-landing .camino-service-grid,
    #alda-camino-landing .camino-featured-grid,
    #alda-camino-landing .camino-travel-grid {
        grid-template-columns: 1fr !important;
    }
    #alda-camino-landing .camino-travel-card:last-child {
        grid-column: auto !important;
    }
    #alda-camino-landing .camino-route-summary {
        padding: 30px !important;
    }
    #alda-camino-landing .camino-year {
        font-size: 8rem !important;
    }
    #alda-camino-landing .camino-compostela-copy {
        padding: 30px !important;
    }
    #alda-camino-landing .camino-compostela-visual {
        padding: 22px !important;
    }
    #alda-camino-landing .camino-distance-grid,
    #alda-camino-landing .camino-compostela-steps {
        grid-template-columns: 1fr !important;
    }
    #alda-camino-landing .camino-credential-main {
        gap: 14px !important;
        grid-template-columns: 60px minmax(0, 1fr) !important;
        padding: 20px 18px !important;
    }
    #alda-camino-landing .camino-credential-icon {
        height: 80px !important;
        width: 58px !important;
    }
    #alda-camino-landing .camino-credential-icon svg {
        height: 52px !important;
        width: 40px !important;
    }
    #alda-camino-landing .camino-credential-stamps {
        gap: 8px !important;
        padding: 15px 10px !important;
    }
    #alda-camino-landing .camino-credential-stamps::before {
        left: 16% !important;
        right: 16% !important;
        top: 31px !important;
    }
    #alda-camino-landing .camino-credential-stamp b {
        height: 31px !important;
        width: 31px !important;
    }
    #alda-camino-landing .camino-stage-intro {
        gap: 14px !important;
        grid-template-columns: 46px 1fr !important;
    }
    #alda-camino-landing .camino-stage-intro-icon {
        height: 46px !important;
        width: 46px !important;
    }
    #alda-camino-landing .camino-stage-board {
        border-radius: 22px !important;
        padding: 0 18px 20px !important;
    }
    #alda-camino-landing .camino-stage-board-head {
        padding: 22px 0 !important;
    }
    #alda-camino-landing .camino-stage-board-meta {
        gap: 9px !important;
    }
    #alda-camino-landing .camino-stage-board-meta span {
        font-size: .54rem !important;
    }
    #alda-camino-landing .camino-stage-board-meta strong {
        font-size: 1.05rem !important;
    }
    #alda-camino-landing .camino-compostela-step + .camino-compostela-step {
        border-left: 0 !important;
        border-top: 1px solid #dddddd !important;
    }
    #alda-camino-landing .camino-membership {
        padding: 37px 29px !important;
    }
    #alda-camino-landing .camino-stage-footer {
        align-items: flex-start !important;
        flex-direction: column !important;
    }
    #alda-camino-landing .camino-stage-footer .camino-btn {
        width: 100% !important;
    }
}

/* Responsive definitivo */
@media (max-width: 1180px) {
    #alda-camino-landing .camino-container {
        width: min(100% - 48px, 1100px) !important;
    }
    #alda-camino-landing .camino-section {
        padding: 96px 0 !important;
    }
    #alda-camino-landing .camino-booking-wrap {
        width: min(100% - 48px, 1100px) !important;
    }
    #alda-camino-landing .camino-booking {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
    #alda-camino-landing .camino-booking-intro {
        grid-column: span 2 !important;
    }
    #alda-camino-landing .camino-field--promo {
        grid-column: span 2 !important;
    }
    #alda-camino-landing .camino-featured-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    #alda-camino-landing .camino-stage-board {
        padding-left: 30px !important;
        padding-right: 30px !important;
    }
}

@media (max-width: 960px) {
    #alda-camino-landing .camino-container {
        width: min(100% - 36px, 900px) !important;
    }
    #alda-camino-landing .camino-section {
        padding: 78px 0 !important;
    }
    #alda-camino-landing h2 {
        font-size: clamp(1.9rem, 5vw, 2.2rem) !important;
    }
    #alda-camino-landing .camino-heading-row {
        margin-bottom: 42px !important;
    }
    #alda-camino-landing .camino-hero {
        height: auto !important;
        min-height: 650px !important;
        padding: 82px 0 138px !important;
    }
    #alda-camino-landing .camino-hero h1 {
        font-size: clamp(2.35rem, 7vw, 3.2rem) !important;
    }
    #alda-camino-landing .camino-booking-wrap {
        margin-top: -78px !important;
        width: min(100% - 36px, 900px) !important;
    }
    #alda-camino-landing .camino-booking {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        padding: 22px !important;
    }
    #alda-camino-landing .camino-booking-intro,
    #alda-camino-landing .camino-field--route,
    #alda-camino-landing .camino-booking .camino-btn {
        grid-column: 1 / -1 !important;
    }
    #alda-camino-landing .camino-field--promo {
        grid-column: auto !important;
    }
    #alda-camino-landing .camino-routes {
        padding-top: 112px !important;
    }
    #alda-camino-landing .camino-route-layout,
    #alda-camino-landing .camino-stage-heading,
    #alda-camino-landing .camino-xacobeo-grid,
    #alda-camino-landing .camino-compostela-layout,
    #alda-camino-landing .camino-faq-wrap {
        grid-template-columns: minmax(0, 1fr) !important;
    }
    #alda-camino-landing .camino-route-summary {
        min-height: 0 !important;
        position: static !important;
    }
    #alda-camino-landing .camino-stage-heading {
        align-items: start !important;
        gap: 30px !important;
        margin-bottom: 38px !important;
    }
    #alda-camino-landing .camino-stage-intro {
        border-left: 0 !important;
        border-top: 1px solid rgba(255,255,255,.3) !important;
        max-width: 650px !important;
        padding: 24px 0 0 !important;
    }
    #alda-camino-landing .camino-stage-board {
        padding: 0 24px 24px !important;
    }
    #alda-camino-landing .camino-stage-board::before,
    #alda-camino-landing .camino-stage-board::after {
        display: none !important;
    }
    #alda-camino-landing .camino-stage-board-head {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 20px !important;
        padding: 25px 0 !important;
    }
    #alda-camino-landing .camino-stage-board-meta {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        width: 100% !important;
    }
    #alda-camino-landing .camino-stage-journey {
        display: block !important;
        grid-template-columns: none !important;
        height: auto !important;
        margin: 28px 0 12px !important;
        padding: 0 !important;
    }
    #alda-camino-landing .camino-stage-journey::before {
        animation: none !important;
        background: repeating-linear-gradient(to bottom, #000000 0 3px, transparent 3px 14px) !important;
        bottom: 25px !important;
        content: '' !important;
        height: auto !important;
        left: 17px !important;
        opacity: .35 !important;
        position: absolute !important;
        right: auto !important;
        top: 18px !important;
        width: 3px !important;
    }
    #alda-camino-landing .camino-stage-journey::after {
        display: none !important;
    }
    #alda-camino-landing .camino-stage-map {
        display: none !important;
    }
    #alda-camino-landing .camino-stage-node {
        align-items: center !important;
        display: grid !important;
        gap: 20px !important;
        grid-template-columns: 40px minmax(0, 1fr) !important;
        height: auto !important;
        left: auto !important;
        margin-bottom: 9px !important;
        padding: 0 !important;
        position: relative !important;
        top: auto !important;
        transform: none !important;
        width: 100% !important;
    }
    #alda-camino-landing .camino-stage-marker,
    #alda-camino-landing .camino-stage-node--goal .camino-stage-marker {
        grid-column: 1 !important;
        grid-row: 1 !important;
        left: 0 !important;
        margin-top: 0 !important;
        position: relative !important;
        top: 0 !important;
    }
    #alda-camino-landing .camino-stage-card,
    #alda-camino-landing .camino-stage-node--high .camino-stage-card,
    #alda-camino-landing .camino-stage-node--low .camino-stage-card,
    #alda-camino-landing .camino-stage-node:first-of-type .camino-stage-card,
    #alda-camino-landing .camino-stage-node--goal .camino-stage-card {
        border-bottom: 1px solid #d3d3cf !important;
        border-left: 0 !important;
        bottom: auto !important;
        grid-column: 2 !important;
        grid-row: 1 !important;
        left: auto !important;
        padding: 5px 0 17px !important;
        position: relative !important;
        text-align: left !important;
        top: auto !important;
        transform: none !important;
        width: 100% !important;
    }
    #alda-camino-landing .camino-stage-card span,
    #alda-camino-landing .camino-stage-card strong {
        min-height: 0 !important;
    }
    #alda-camino-landing .camino-featured-grid,
    #alda-camino-landing .camino-service-grid,
    #alda-camino-landing .camino-travel-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    #alda-camino-landing .camino-travel-card:last-child {
        grid-column: 1 / -1 !important;
    }
    #alda-camino-landing .camino-xacobeo-grid,
    #alda-camino-landing .camino-faq-wrap {
        gap: 38px !important;
    }
    #alda-camino-landing .camino-year {
        font-size: clamp(6rem, 20vw, 9rem) !important;
        transform: none !important;
    }
    #alda-camino-landing .camino-membership {
        grid-template-columns: minmax(0, 1fr) !important;
        padding: 42px !important;
    }
    #alda-camino-landing .camino-membership .camino-btn {
        justify-self: start !important;
    }
}

@media (max-width: 720px) {
    #alda-camino-landing .camino-container {
        width: calc(100% - 28px) !important;
    }
    #alda-camino-landing .camino-section {
        padding: 64px 0 !important;
    }
    #alda-camino-landing h2,
    #alda-camino-landing .camino-membership h2 {
        font-size: clamp(1.75rem, 7.5vw, 2.15rem) !important;
    }
    #alda-camino-landing .camino-kicker {
        font-size: .68rem !important;
        letter-spacing: .14em !important;
    }
    #alda-camino-landing .camino-lead {
        font-size: .98rem !important;
    }
    #alda-camino-landing .camino-hero-media img {
        object-position: 60% center !important;
    }
    #alda-camino-landing .camino-hero {
        height: auto !important;
        min-height: 620px !important;
        padding: 70px 0 132px !important;
    }
    #alda-camino-landing .camino-hero h1 {
        font-size: clamp(2.15rem, 9vw, 2.85rem) !important;
        letter-spacing: 1px !important;
    }
    #alda-camino-landing .camino-hero p {
        font-size: .98rem !important;
    }
    #alda-camino-landing .camino-hero-actions,
    #alda-camino-landing .camino-hero-actions .camino-btn {
        width: 100% !important;
    }
    #alda-camino-landing .camino-benefits {
        gap: 10px 18px !important;
        margin-top: 32px !important;
    }
    #alda-camino-landing .camino-benefit {
        font-size: .8rem !important;
    }
    #alda-camino-landing .camino-booking-wrap {
        margin-top: -82px !important;
        width: calc(100% - 24px) !important;
    }
    #alda-camino-landing .camino-booking {
        border-radius: 20px !important;
        gap: 13px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        padding: 18px !important;
    }
    #alda-camino-landing .camino-booking-intro,
    #alda-camino-landing .camino-field--route,
    #alda-camino-landing .camino-field--travelers,
    #alda-camino-landing .camino-field--promo,
    #alda-camino-landing .camino-booking .camino-btn {
        grid-column: 1 / -1 !important;
    }
    #alda-camino-landing .camino-routes {
        padding-top: 102px !important;
    }
    #alda-camino-landing .camino-route-tabs {
        margin-bottom: 26px !important;
    }
    #alda-camino-landing .camino-location-grid,
    #alda-camino-landing .camino-featured-grid,
    #alda-camino-landing .camino-service-grid,
    #alda-camino-landing .camino-distance-grid,
    #alda-camino-landing .camino-compostela-steps,
    #alda-camino-landing .camino-travel-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }
    #alda-camino-landing .camino-location-card,
    #alda-camino-landing .camino-service-card,
    #alda-camino-landing .camino-distance-card {
        min-height: 0 !important;
    }
    #alda-camino-landing .camino-featured-image {
        height: 210px !important;
    }
    #alda-camino-landing .camino-travel-card,
    #alda-camino-landing .camino-travel-card:last-child {
        grid-column: auto !important;
        min-height: 280px !important;
    }
    #alda-camino-landing .camino-year {
        font-size: clamp(4.8rem, 25vw, 7rem) !important;
    }
    #alda-camino-landing .camino-compostela-copy {
        padding: 30px 24px !important;
    }
    #alda-camino-landing .camino-compostela-visual {
        padding: 20px !important;
    }
    #alda-camino-landing .camino-story {
        padding: 36px 24px !important;
    }
    #alda-camino-landing .camino-membership {
        padding: 34px 26px !important;
    }
    #alda-camino-landing .camino-membership .camino-btn {
        width: 100% !important;
    }
    #alda-camino-landing .camino-faq summary {
        font-size: .96rem !important;
        padding: 20px 2px !important;
    }
    #alda-camino-landing .camino-faq p {
        margin-left: 2px !important;
        margin-right: 28px !important;
    }
    #alda-camino-landing .camino-stage-footer .camino-btn {
        width: 100% !important;
    }
}

@media (max-width: 480px) {
    #alda-camino-landing .camino-container {
        width: calc(100% - 20px) !important;
    }
    #alda-camino-landing .camino-section {
        padding: 54px 0 !important;
    }
    #alda-camino-landing h2,
    #alda-camino-landing .camino-membership h2 {
        font-size: clamp(1.55rem, 8.5vw, 1.9rem) !important;
    }
    #alda-camino-landing h2::after {
        height: 3px !important;
        margin-top: 15px !important;
        width: 58px !important;
    }
    #alda-camino-landing .camino-heading-row {
        margin-bottom: 32px !important;
    }
    #alda-camino-landing .camino-hero {
        min-height: 610px !important;
        padding: 58px 0 124px !important;
    }
    #alda-camino-landing .camino-hero h1 {
        font-size: clamp(1.95rem, 10vw, 2.45rem) !important;
        letter-spacing: .5px !important;
        margin-bottom: 20px !important;
    }
    #alda-camino-landing .camino-hero p {
        font-size: .9rem !important;
        line-height: 1.55 !important;
        margin-bottom: 25px !important;
    }
    #alda-camino-landing .camino-btn {
        font-size: .77rem !important;
        padding: 15px 20px !important;
    }
    #alda-camino-landing .camino-benefits {
        align-items: flex-start !important;
        flex-direction: column !important;
        margin-left: auto !important;
        margin-right: auto !important;
        max-width: max-content !important;
    }
    #alda-camino-landing .camino-booking-wrap {
        margin-top: -76px !important;
        width: calc(100% - 16px) !important;
    }
    #alda-camino-landing .camino-booking {
        border-radius: 18px !important;
        grid-template-columns: minmax(0, 1fr) !important;
        padding: 16px !important;
    }
    #alda-camino-landing .camino-booking > * {
        grid-column: 1 !important;
    }
    #alda-camino-landing .camino-booking-intro {
        padding-right: 0 !important;
    }
    #alda-camino-landing .camino-route-tab {
        font-size: .75rem !important;
        min-height: 44px !important;
        padding: 0 13px !important;
    }
    #alda-camino-landing .camino-route-summary,
    #alda-camino-landing .camino-location-card,
    #alda-camino-landing .camino-featured-info,
    #alda-camino-landing .camino-service-card,
    #alda-camino-landing .camino-travel-card {
        padding: 23px !important;
    }
    #alda-camino-landing .camino-stage-heading {
        gap: 22px !important;
        margin-bottom: 28px !important;
    }
    #alda-camino-landing .camino-stage-intro {
        gap: 12px !important;
        grid-template-columns: 42px minmax(0, 1fr) !important;
        padding-top: 20px !important;
    }
    #alda-camino-landing .camino-stage-intro-icon {
        height: 42px !important;
        width: 42px !important;
    }
    #alda-camino-landing .camino-stage-board {
        border-radius: 18px !important;
        padding: 0 14px 18px !important;
    }
    #alda-camino-landing .camino-stage-route-id strong {
        font-size: 1.15rem !important;
        gap: 8px !important;
    }
    #alda-camino-landing .camino-stage-board-meta {
        gap: 12px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    #alda-camino-landing .camino-stage-board-meta span:last-child {
        grid-column: 1 / -1 !important;
    }
    #alda-camino-landing .camino-stage-node {
        gap: 14px !important;
        grid-template-columns: 40px minmax(0, 1fr) !important;
    }
    #alda-camino-landing .camino-stage-board-note {
        gap: 10px !important;
    }
    #alda-camino-landing .camino-stage-board-note p {
        font-size: .68rem !important;
    }
    #alda-camino-landing .camino-xacobeo-grid {
        gap: 24px !important;
    }
    #alda-camino-landing .camino-year {
        font-size: clamp(4.2rem, 26vw, 5.5rem) !important;
    }
    #alda-camino-landing .camino-compostela-card,
    #alda-camino-landing .camino-membership,
    #alda-camino-landing .camino-story {
        border-radius: 17px !important;
    }
    #alda-camino-landing .camino-compostela-copy {
        padding: 26px 20px !important;
    }
    #alda-camino-landing .camino-compostela-visual {
        padding: 14px !important;
    }
    #alda-camino-landing .camino-distance-card {
        padding: 22px !important;
    }
    #alda-camino-landing .camino-credential-main {
        gap: 12px !important;
        grid-template-columns: 54px minmax(0, 1fr) !important;
        padding: 17px 15px !important;
    }
    #alda-camino-landing .camino-credential-icon {
        height: 74px !important;
        width: 52px !important;
    }
    #alda-camino-landing .camino-credential-icon svg {
        height: 45px !important;
        width: 35px !important;
    }
    #alda-camino-landing .camino-credential-copy strong {
        font-size: .9rem !important;
    }
    #alda-camino-landing .camino-credential-copy p {
        font-size: .7rem !important;
    }
    #alda-camino-landing .camino-credential-stamps {
        gap: 5px !important;
        padding: 14px 8px !important;
    }
    #alda-camino-landing .camino-credential-stamp em {
        font-size: .5rem !important;
    }
    #alda-camino-landing .camino-compostela-step {
        padding: 20px !important;
    }
    #alda-camino-landing .camino-story {
        padding: 30px 20px !important;
    }
    #alda-camino-landing .camino-membership {
        padding: 30px 22px !important;
    }
    #alda-camino-landing .camino-faq summary {
        font-size: .9rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    #alda-camino-landing *,
    #alda-camino-landing *::before,
    #alda-camino-landing *::after {
        scroll-behavior: auto !important;
        transition: none !important;
    }
    #alda-camino-landing .camino-route-reveal,
    #alda-camino-landing .camino-route-dots,
    #alda-camino-landing .camino-route-arrow,
    #alda-camino-landing .camino-stage-node,
    #alda-camino-landing .camino-stage-marker::after {
        animation: none !important;
    }
    #alda-camino-landing .camino-stage-node {
        opacity: 1 !important;
    }
    #alda-camino-landing .camino-route-reveal {
        stroke-dashoffset: 0 !important;
    }
}
    

/* Posición y retardo de cada parada de la hoja de ruta (antes en style inline) */
#alda-camino-landing .camino-stage-node--1 {
    --stage-x:5%;
    --stage-y:71.5%;
    --stage-delay:0s;
}

#alda-camino-landing .camino-stage-node--2 {
    --stage-x:20%;
    --stage-y:28.5%;
    --stage-delay:.28s;
}

#alda-camino-landing .camino-stage-node--3 {
    --stage-x:35%;
    --stage-y:71.5%;
    --stage-delay:.56s;
}

#alda-camino-landing .camino-stage-node--4 {
    --stage-x:50%;
    --stage-y:28.5%;
    --stage-delay:.84s;
}

#alda-camino-landing .camino-stage-node--5 {
    --stage-x:65%;
    --stage-y:71.5%;
    --stage-delay:1.12s;
}

#alda-camino-landing .camino-stage-node--6 {
    --stage-x:80%;
    --stage-y:28.5%;
    --stage-delay:1.4s;
}

#alda-camino-landing .camino-stage-node--7 {
    --stage-x:95%;
    --stage-y:60%;
    --stage-delay:1.68s;
}

/* Sección pegada a la anterior (antes en style inline) */
#alda-camino-landing .camino-section--no-top {
    padding-top: 0 !important;
}

/* MÁSCARA DE RESERVAS COMÚN DENTRO DE LA LANDING */
/* La máscara se pinta con la tipografía y estilos del resto de la web, no con los de la landing */
#alda-camino-landing #camino-booking {
    font-family: var(--font-text-family);
    line-height: 1.5;
}

/* El contenedor crea contexto de apilamiento: con el z-index 3 del diseño la máscara sticky (y el modal de
   móvil) quedaban por debajo de los bloques de la landing. Se iguala al z-index del header */
#alda-camino-landing .camino-booking-wrap {
    z-index: 101 !important;
}

/* Sobre la cabecera de la landing el wrapper se coloca en el flujo, centrado, en vez de absoluto al pie del slider */
@media (min-width: 993px) {
    #alda-camino-landing #camino-booking .booking-wrapper {
        bottom: auto;
        position: relative;
    }
}

/* En tablet/móvil la máscara es un modal a pantalla completa: el contenedor no debe solaparse con la cabecera */
@media (max-width: 992px) {
    #alda-camino-landing .camino-booking-wrap {
        margin-top: 0 !important;
    }
}

/* INTEGRACIÓN CON LA WEB */
/* El diseño se pensó para incrustarse en una página con contenedor estrecho (sale a 100vw). Aquí ya va a
   ancho completo dentro de #middle, y el 100vw sumaba el ancho de la barra de scroll (scroll horizontal) */
#alda-camino-landing.alda-camino-shell {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* El header de la web va en absoluto sobre la cabecera de la landing: se suma su alto al padding superior
   para que migas de pan y título queden por debajo, manteniendo el resto de medidas del diseño.
   camino-santiago.js afina --camino-header-offset con el alto real del header */
body.camino-santiago {
    --camino-header-offset: 175px;
    --camino-sticky-offset: 120px;
}

body.camino-santiago #alda-camino-landing .camino-hero {
    --camino-hero-padding-top: 90px;
    --camino-hero-min-height: 560px;
    height: calc(75vh + var(--camino-header-offset)) !important;
    min-height: calc(var(--camino-hero-min-height) + var(--camino-header-offset)) !important;
    padding-top: calc(var(--camino-hero-padding-top) + var(--camino-header-offset)) !important;
}

@media (max-width: 960px) {
    body.camino-santiago {
        --camino-header-offset: 110px;
        --camino-sticky-offset: 90px;
    }

    body.camino-santiago #alda-camino-landing .camino-hero {
        --camino-hero-padding-top: 82px;
        --camino-hero-min-height: 650px;
        height: auto !important;
    }
}

@media (max-width: 720px) {
    body.camino-santiago #alda-camino-landing .camino-hero {
        --camino-hero-padding-top: 70px;
        --camino-hero-min-height: 620px;
    }
}

@media (max-width: 480px) {
    body.camino-santiago #alda-camino-landing .camino-hero {
        --camino-hero-padding-top: 58px;
        --camino-hero-min-height: 610px;
    }
}

/* Pestaña de ruta activa marcada también por clase desde camino-santiago.js (junto con aria-current),
   sin depender solo de las reglas :has(:target). Mismo estilo que el diseño */
#alda-camino-landing #camino-rutas .camino-route-tab.is-active {
    background: #000000 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
}

#alda-camino-landing #camino-rutas .camino-route-tabs.is-enhanced .camino-route-tab:not(.is-active) {
    background: var(--camino-paper) !important;
    border-color: var(--camino-line) !important;
    color: var(--camino-ink) !important;
}

#alda-camino-landing #camino-rutas .camino-route-tabs.is-enhanced .camino-route-tab:not(.is-active):hover {
    background: #000000 !important;
    border-color: #000000 !important;
    color: var(--camino-white) !important;
}
