/* Preset: Landing Alcázar completa */
.visual-layout-page .alc-page,
.visual-layout-page .alc-section,
.visual-layout-page .alc-footer-section {
    font-family: Inter, Arial, sans-serif;
    color: #24211d;
}

.visual-layout-page .alc-hero {
    color: #fff;
    min-height: 520px;
    display: flex;
    align-items: center;
}
.visual-layout-page .alc-hero .ve-section-inner {
    width: min(1180px, calc(100% - 48px));
}
.visual-layout-page .alc-hero-copy {
    max-width: 680px;
}
.visual-layout-page .alc-kicker {
    margin: 0 0 12px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .02em;
    opacity: .92;
}
.visual-layout-page .alc-kicker.dark {
    color: #a98a22;
    opacity: 1;
}
.visual-layout-page .alc-hero h1 {
    margin: 0 0 22px;
    font-size: clamp(40px, 6vw, 76px);
    line-height: .98;
    font-weight: 800;
    letter-spacing: -.045em;
}
.visual-layout-page .alc-lead {
    max-width: 520px;
    font-size: 22px;
    line-height: 1.34;
    margin: 0 0 18px;
}
.visual-layout-page .alc-lead-small {
    font-size: 18px;
    opacity: .9;
}
.visual-layout-page .alc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 12px 20px;
    border-radius: 999px;
    font-weight: 700;
    text-decoration: none;
    margin-top: 10px;
}
.visual-layout-page .alc-btn-light {
    background: #fff;
    color: #1f1e1b;
}

.visual-layout-page .alc-section .ve-section-inner,
.visual-layout-page .alc-footer-section .ve-section-inner {
    width: min(1180px, calc(100% - 48px));
}
.visual-layout-page .alc-section-title,
.visual-layout-page .alc-heading-block h2 {
    margin: 0 0 30px;
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: -.035em;
}
.visual-layout-page .alc-section-title.center,
.visual-layout-page .center {
    text-align: center;
}
.visual-layout-page .alc-section-title.small {
    font-size: clamp(24px, 3vw, 34px);
}

.visual-layout-page .alc-tour-card {
    position: relative;
    background: #fff;
    overflow: hidden;
    border: 1px solid #e6dfd1;
}
.visual-layout-page .alc-card-badge-wrap {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 3;
}
.visual-layout-page .alc-badge {
    display: inline-block;
    border-radius: 999px;
    padding: 7px 12px;
    background: #1f1e1b;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}
.visual-layout-page .alc-card-body {
    padding: 22px 24px 24px;
}
.visual-layout-page .alc-card-body h3 {
    font-size: 22px;
    line-height: 1.05;
    letter-spacing: -.025em;
    margin: 0 0 12px;
}
.visual-layout-page .alc-card-body .alc-meta {
    font-size: 13px;
    color: #746b5c;
    margin-bottom: 12px;
}
.visual-layout-page .alc-card-body .alc-meta span {
    display: block;
    margin-top: 4px;
}
.visual-layout-page .alc-card-body ul {
    list-style: none;
    padding: 0;
    margin: 0 0 18px;
    background: #f6f1e8;
    border-radius: 12px;
    padding: 13px 15px;
}
.visual-layout-page .alc-card-body li {
    font-size: 14px;
    margin: 7px 0;
}
.visual-layout-page .alc-card-body li:before {
    content: '✓';
    color: #ae8f22;
    font-weight: 800;
    margin-right: 8px;
}
.visual-layout-page .alc-card-bottom {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
}
.visual-layout-page .alc-card-bottom small {
    display: block;
    font-size: 12px;
    color: #786e5d;
}
.visual-layout-page .alc-card-bottom strong {
    display: inline-block;
    font-size: 22px;
    margin-right: 8px;
}
.visual-layout-page .alc-old-price {
    color: #8f877b;
    text-decoration: line-through;
    font-size: 14px;
}
.visual-layout-page .alc-card-bottom a {
    display: inline-flex;
    background: #1f1e1b;
    color: #fff;
    border-radius: 999px;
    padding: 10px 16px;
    text-decoration: none;
    font-weight: 700;
    font-size: 13px;
}

.visual-layout-page .alc-info-card,
.visual-layout-page .alc-plan-card,
.visual-layout-page .alc-benefit-card {
    background: #fff;
    border: 1px solid #e5ddcd;
}
.visual-layout-page .alc-info-content {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    color: #4d463b;
    font-size: 15px;
    line-height: 1.45;
}
.visual-layout-page .alc-info-content span,
.visual-layout-page .alc-benefit-content span {
    font-size: 24px;
    line-height: 1;
}
.visual-layout-page .alc-heading-block {
    margin-bottom: 16px;
}
.visual-layout-page .alc-article-card {
    background: transparent;
}
.visual-layout-page .alc-article-body h3,
.visual-layout-page .alc-benefit-content h3,
.visual-layout-page .alc-step-content h3,
.visual-layout-page .alc-plan-card-content h3 {
    margin: 14px 0 10px;
    font-size: 20px;
    line-height: 1.12;
    font-weight: 800;
    letter-spacing: -.02em;
}
.visual-layout-page .alc-article-body p,
.visual-layout-page .alc-benefit-content p,
.visual-layout-page .alc-step-content p,
.visual-layout-page .alc-plan-card-content p,
.visual-layout-page .alc-plan-intro p,
.visual-layout-page .alc-location-copy p {
    color: #5b5348;
    line-height: 1.55;
    font-size: 15px;
}
.visual-layout-page .alc-article-body a,
.visual-layout-page .alc-text-link {
    color: #a98a22;
    font-weight: 800;
    text-decoration: none;
}
.visual-layout-page .alc-plan-intro {
    font-size: 18px;
}
.visual-layout-page .alc-plan-card {
    background: #fbf8f2;
}
.visual-layout-page .alc-hours {
    display: grid;
    gap: 6px;
    margin-bottom: 14px;
}
.visual-layout-page .alc-hours span {
    color: #8a7b61;
    font-size: 13px;
}
.visual-layout-page .alc-hours strong {
    font-size: 18px;
}
.visual-layout-page .alc-hours small {
    color: #746b5c;
}
.visual-layout-page .alc-address {
    margin: 18px 0;
    padding: 18px;
    background: #f7f2e8;
    border-radius: 14px;
}
.visual-layout-page .alc-map {
    min-height: 360px;
    border-radius: 18px;
    background: linear-gradient(135deg, #dfd7c5, #f7f2e8);
    border: 1px solid #e0d7c5;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #2a251f;
}
.visual-layout-page .alc-map span {
    background: #fff;
    border-radius: 999px;
    padding: 8px 14px;
    margin-bottom: 10px;
    font-size: 13px;
}
.visual-layout-page .alc-map strong {
    font-size: 32px;
    letter-spacing: -.03em;
}
.visual-layout-page .alc-step-grid {
    position: relative;
}
.visual-layout-page .alc-step-card {
    text-align: center;
    background: transparent;
}
.visual-layout-page .alc-step-number {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    margin: 0 auto 14px;
    display: grid;
    place-items: center;
    background: #1f1e1b;
    color: #fff;
    font-weight: 800;
}
.visual-layout-page .alc-benefit-card {
    background: #fff;
}
.visual-layout-page .alc-reviews-head .alc-rating {
    margin: 10px 0 0;
    font-size: 42px;
    line-height: 1;
    font-weight: 800;
    color: #1f1e1b;
}
.visual-layout-page .alc-review-card {
    background: #fff;
    border: 1px solid #e6dfd1;
}
.visual-layout-page .alc-stars {
    color: #b79723;
    letter-spacing: 2px;
    margin: 0 0 14px;
}
.visual-layout-page .alc-review-content blockquote {
    margin: 0 0 18px;
    color: #51493e;
    line-height: 1.55;
}
.visual-layout-page .alc-review-content small {
    color: #827768;
}
.visual-layout-page .alc-review-note {
    margin-top: 22px;
    color: #6d6253;
    font-size: 14px;
}
.visual-layout-page .alc-faq-list details {
    border-top: 1px solid #e3dccd;
    padding: 18px 0;
}
.visual-layout-page .alc-faq-list details:last-of-type {
    border-bottom: 1px solid #e3dccd;
}
.visual-layout-page .alc-faq-list summary {
    cursor: pointer;
    font-weight: 800;
    font-size: 17px;
}
.visual-layout-page .alc-faq-list p {
    color: #5d5448;
    line-height: 1.5;
}
.visual-layout-page .alc-more-faqs {
    text-align: center;
    margin-top: 22px;
    color: #a98a22;
    font-weight: 800;
}
.visual-layout-page .alc-footer-section,
.visual-layout-page .alc-footer-section p,
.visual-layout-page .alc-footer-section h3 {
    color: #f8f3e8;
}
.visual-layout-page .alc-footer-section h3 {
    margin: 0 0 14px;
    font-size: 16px;
}
.visual-layout-page .alc-footer-section p {
    color: #cfc6b5;
    line-height: 1.7;
    font-size: 14px;
}
.visual-layout-page .alc-payments {
    letter-spacing: .08em;
    font-weight: 800;
}
.visual-layout-page .alc-footer-legal {
    border-top: 1px solid rgba(255,255,255,.12);
    margin-top: 34px;
    padding-top: 22px;
}
.visual-layout-page .alc-footer-legal p {
    font-size: 12px;
    color: #b9ad9a;
}

@media (max-width: 980px) {
    .visual-layout-page .alc-tour-grid,
    .visual-layout-page .alc-article-grid,
    .visual-layout-page .alc-plan-cards,
    .visual-layout-page .alc-benefits-grid,
    .visual-layout-page .alc-review-grid,
    .visual-layout-page .alc-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .visual-layout-page .alc-plan-layout,
    .visual-layout-page .alc-location-layout {
        grid-template-columns: 1fr !important;
    }
    .visual-layout-page .alc-step-grid,
    .visual-layout-page .alc-info-strip {
        grid-template-columns: 1fr 1fr !important;
    }
}

@media (max-width: 640px) {
    .visual-layout-page .alc-tour-grid,
    .visual-layout-page .alc-article-grid,
    .visual-layout-page .alc-plan-cards,
    .visual-layout-page .alc-benefits-grid,
    .visual-layout-page .alc-review-grid,
    .visual-layout-page .alc-footer-grid,
    .visual-layout-page .alc-step-grid,
    .visual-layout-page .alc-info-strip {
        grid-template-columns: 1fr !important;
    }
    .visual-layout-page .alc-hero {
        min-height: 440px;
    }
    .visual-layout-page .alc-card-bottom {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Fuente oculta del formulario real de reserva que usa el modal de las cards dinámicas. */
.visual-layout-page .alc-booking-source {
    position: absolute !important;
    left: -100000px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.visual-layout-page .alc-hidden-tour-radios {
    display: none !important;
}

/* Cuando el formulario se mueve al modal, deja de depender del contenedor oculto. */
.tour-modal #form_reserva {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

.visual-layout-page .alc-dynamic-tour-grid {
    margin-top: 8px;
}

.visual-layout-page .alc-dynamic-tour-grid .titulo_tours_principal {
    display: none;
}

/* Fase 7: formulario legacy real dentro del modal de tarjetas dinámicas. */
#modal-form-container #form_reserva.booking-modal-mode {
    display: block !important;
    width: 100% !important;
}
#modal-form-container #form_reserva.booking-modal-mode .booking-form-container {
    max-width: 100% !important;
    width: 100% !important;
}
#modal-form-container #form_reserva.booking-modal-mode .booking-form-row {
    display: flex !important;
    gap: 32px;
    align-items: flex-start;
}
#modal-form-container #form_reserva.booking-modal-mode .booking-form-left,
#modal-form-container #form_reserva.booking-modal-mode .booking-form-right {
    display: block !important;
}
#modal-form-container #form_reserva.booking-modal-mode .alc-hidden-tour-radios {
    display: none !important;
}
#modal-form-container #form_reserva.booking-modal-mode #bloque_calendario,
#modal-form-container #form_reserva.booking-modal-mode #bloque_hora,
#modal-form-container #form_reserva.booking-modal-mode #bloque_personas,
#modal-form-container #form_reserva.booking-modal-mode #client_form_container,
#modal-form-container #form_reserva.booking-modal-mode #payment_button_container {
    opacity: 1 !important;
    visibility: visible !important;
}
#modal-form-container #loader {
    position: relative;
    margin-bottom: 18px;
}
@media (max-width: 900px) {
    #modal-form-container #form_reserva.booking-modal-mode .booking-form-row {
        flex-direction: column;
    }
}

/* ─── Fase 21: páginas internas y bloques reutilizables ──────────────────── */
.visual-layout-page .alc-inner-hero,
.visual-layout-page .alc-faq-page-section,
.visual-layout-page .alc-help-section,
.visual-layout-page .alc-related-experiences,
.visual-layout-page .alc-article-hero,
.visual-layout-page .alc-article-body-section,
.visual-layout-page .alc-legal-body-section,
.visual-layout-page .alc-page-footer {
    font-family: Inter, Arial, sans-serif;
    color: #202633;
}

.visual-layout-page .alc-inner-hero .ve-section-inner,
.visual-layout-page .alc-faq-page-section .ve-section-inner,
.visual-layout-page .alc-help-section .ve-section-inner,
.visual-layout-page .alc-related-experiences .ve-section-inner,
.visual-layout-page .alc-article-hero .ve-section-inner,
.visual-layout-page .alc-article-body-section .ve-section-inner,
.visual-layout-page .alc-legal-body-section .ve-section-inner,
.visual-layout-page .alc-page-footer .ve-section-inner {
    width: min(1180px, calc(100% - 48px));
}

.visual-layout-page .alc-inner-hero-copy h1,
.visual-layout-page .alc-article-hero-copy h1 {
    margin: 0 0 18px;
    font-weight: 800;
    letter-spacing: -.04em;
    line-height: 1.06;
    color: #1f2533;
}
.visual-layout-page .alc-inner-hero-copy h1 {
    font-size: clamp(38px, 5vw, 58px);
}
.visual-layout-page .alc-inner-hero-copy p {
    max-width: 700px;
    margin: 0;
    color: #667085;
    font-size: 18px;
    line-height: 1.55;
}

.visual-layout-page .alc-faq-filters {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 16px;
    margin: 0 0 32px;
}
.visual-layout-page .alc-faq-filters button {
    border: 0;
    background: #f1f2f4;
    color: #5b6473;
    padding: 9px 20px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
}
.visual-layout-page .alc-faq-filters button.active {
    background: #17191d;
    color: #fff;
}
.visual-layout-page .alc-faq-page-list details {
    border: 1px solid #e4e7ec;
    border-radius: 10px;
    background: #fff;
    margin: 0 0 14px;
    overflow: hidden;
}
.visual-layout-page .alc-faq-page-list summary {
    cursor: pointer;
    list-style: none;
    padding: 18px 22px;
    font-weight: 700;
    color: #202633;
    position: relative;
}
.visual-layout-page .alc-faq-page-list summary::-webkit-details-marker {
    display: none;
}
.visual-layout-page .alc-faq-page-list summary:after {
    content: '⌄';
    position: absolute;
    right: 22px;
    color: #8b94a3;
}
.visual-layout-page .alc-faq-page-list details[open] summary:after {
    content: '⌃';
}
.visual-layout-page .alc-faq-page-list details p {
    border-top: 1px solid #eef0f3;
    margin: 0;
    padding: 20px 22px;
    color: #667085;
    line-height: 1.65;
}
.visual-layout-page .alc-faq-page-list.compact {
    max-width: 680px;
    margin: 0 auto;
}

.visual-layout-page .alc-help-section .ve-section-inner {
    border-top: 1px solid #e6e8ec;
    padding-top: 34px;
}
.visual-layout-page .alc-help-card {
    text-align: center;
    max-width: 520px;
    margin: 0 auto;
}
.visual-layout-page .alc-help-icon {
    width: 34px;
    height: 34px;
    margin: 0 auto 12px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    border: 1px solid #cfd5de;
    color: #7c8797;
}
.visual-layout-page .alc-help-card h3 {
    margin: 0 0 10px;
    font-size: 18px;
    color: #1f2533;
}
.visual-layout-page .alc-help-card p {
    color: #667085;
    margin: 0 0 18px;
    line-height: 1.55;
}
.visual-layout-page .alc-help-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}
.visual-layout-page .alc-help-actions a {
    border: 1px solid #d5dae2;
    border-radius: 8px;
    padding: 10px 18px;
    text-decoration: none;
    color: #202633;
    font-weight: 700;
    background: #fff;
}

.visual-layout-page .alc-related-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    margin-bottom: 28px;
}
.visual-layout-page .alc-related-head h2 {
    margin: 0;
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.1;
    letter-spacing: -.035em;
    color: #1f2533;
}
.visual-layout-page .alc-related-head a {
    color: #202633;
    border: 1px solid #d8dde5;
    background: #fff;
    border-radius: 8px;
    padding: 10px 16px;
    text-decoration: none;
    font-weight: 700;
    font-size: 13px;
}
.visual-layout-page .alc-related-tour-grid .tour-cards-grid,
.visual-layout-page .alc-related-experiences .tour-cards-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.visual-layout-page .alc-article-hero {
    text-align: center;
}
.visual-layout-page .alc-article-hero-copy {
    max-width: 980px;
    margin: 0 auto 32px;
}
.visual-layout-page .alc-article-hero-copy h1 {
    font-size: clamp(42px, 6vw, 72px);
}
.visual-layout-page .alc-article-hero-copy p {
    color: #667085;
    font-size: 18px;
    line-height: 1.6;
    max-width: 980px;
    margin: 0 auto;
}
.visual-layout-page .alc-article-layout,
.visual-layout-page .alc-legal-layout {
    align-items: start;
}
.visual-layout-page .alc-article-index,
.visual-layout-page .alc-legal-index {
    position: sticky;
    top: 86px;
    color: #667085;
    font-size: 13px;
    line-height: 1.5;
}
.visual-layout-page .alc-article-index strong,
.visual-layout-page .alc-legal-index strong {
    display: block;
    color: #202633;
    margin-bottom: 16px;
    font-size: 15px;
}
.visual-layout-page .alc-article-index a,
.visual-layout-page .alc-legal-index a {
    display: block;
    color: #8b94a3;
    text-decoration: none;
    padding: 8px 0 8px 14px;
    border-left: 2px solid #eef0f3;
}
.visual-layout-page .alc-article-content,
.visual-layout-page .alc-legal-content {
    max-width: 760px;
    color: #4d5665;
    line-height: 1.72;
    font-size: 16px;
}
.visual-layout-page .alc-article-content h2,
.visual-layout-page .alc-legal-content h2 {
    margin: 28px 0 10px;
    color: #1f2533;
    font-size: 27px;
    line-height: 1.16;
    letter-spacing: -.025em;
}
.visual-layout-page .alc-article-content p,
.visual-layout-page .alc-legal-content p,
.visual-layout-page .alc-legal-content li {
    color: #596374;
}
.visual-layout-page .alc-legal-content ul {
    padding-left: 22px;
}
.visual-layout-page .alc-legal-content li {
    margin: 10px 0;
}

.visual-layout-page .alc-page-footer .ve-section-inner {
    color: #d7d7d7;
}
.visual-layout-page .alc-footer-logo {
    display: flex;
    justify-content: center;
    margin-bottom: 58px;
}
.visual-layout-page .alc-footer-logo div {
    background: #fff;
    color: #303030;
    min-width: 120px;
    text-align: center;
    padding: 12px 24px;
    font-weight: 700;
}
.visual-layout-page .alc-footer-disclaimer {
    margin-top: 38px;
    padding: 22px;
    background: rgba(255,255,255,.08);
    color: #cfcfcf;
    font-size: 13px;
    line-height: 1.7;
}
.visual-layout-page .alc-footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    margin-top: 40px;
    border-top: 1px solid rgba(255,255,255,.12);
    padding-top: 26px;
    color: #aaa;
    font-size: 13px;
}

.palette-category-page-templates .palette-item {
    border-color: #cdbb88;
    background: #fffdf8;
}
.palette-category-help {
    margin: -4px 12px 12px;
    color: var(--ve-muted);
    font-size: 12px;
    line-height: 1.35;
    text-align: center;
}

@media (max-width: 980px) {
    .visual-layout-page .alc-article-layout,
    .visual-layout-page .alc-legal-layout {
        grid-template-columns: 1fr !important;
    }
    .visual-layout-page .alc-article-index,
    .visual-layout-page .alc-legal-index {
        position: static;
    }
    .visual-layout-page .alc-related-tour-grid .tour-cards-grid,
    .visual-layout-page .alc-related-experiences .tour-cards-grid {
        grid-template-columns: 1fr !important;
    }
    .visual-layout-page .alc-footer-bottom,
    .visual-layout-page .alc-related-head {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* ─── Fase 27: Home oficial Alcázar Desktop/Mobile ───────────────────────── */
/* Estilo de cabecera del tema componentes. No toca la landing legacy porque este CSS solo se carga en styles/componentes. */
header .pre-header {
    display: none !important;
}
#header-floating-bar {
    background: #fff !important;
    border-bottom: 1px solid #e9e2d6 !important;
    box-shadow: none !important;
    min-height: 72px;
    display: flex;
    align-items: center;
    margin: 0 !important;
    top: 0 !important;
}
#header-floating-bar .container {
    width: min(1180px, calc(100% - 48px));
    max-width: none;
}
#header-floating-bar figure.logo,
#header-floating-bar .navbar-brand {
    margin: 0 !important;
}
#header-floating-bar figure.logo img {
    max-height: 42px;
    width: auto;
}
#header-floating-bar .nav-link {
    color: #39204d !important;
    font-weight: 600 !important;
    letter-spacing: .01em;
    font-size: 14px !important;
    padding: 12px 18px !important;
    text-transform: none !important;
}
#header-floating-bar .nav-link:hover {
    color: #6f3f8f !important;
}

.visual-layout-page {
    --ftc-purple: #3d214d;
    --ftc-purple-2: #6f3f8f;
    --ftc-blue: #0d4152;
    --ftc-cream: #f5f0e7;
    --ftc-cream-2: #eee8dd;
    --ftc-text: #202633;
    --ftc-muted: #687083;
    --ftc-line: #e4ded1;
    --ftc-card: #ffffff;
    background: #fff;
}
.visual-layout-page .ftc-home-section,
.visual-layout-page .ftc-home-section * {
    box-sizing: border-box;
}
.visual-layout-page .ftc-home-section,
.visual-layout-page .ftc-home-section h1,
.visual-layout-page .ftc-home-section h2,
.visual-layout-page .ftc-home-section h3,
.visual-layout-page .ftc-home-section p,
.visual-layout-page .ftc-home-section a,
.visual-layout-page .ftc-home-section li {
    font-family: Inter, Arial, sans-serif;
}
.visual-layout-page .ftc-home-section .ve-section-inner {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}
.visual-layout-page .ftc-home-section h1,
.visual-layout-page .ftc-home-section h2,
.visual-layout-page .ftc-home-section h3,
.visual-layout-page .ftc-home-section p {
    margin-top: 0;
}

/* Hero oficial: desktop split, mobile stacked */
.visual-layout-page .ftc-home-hero .ve-section-inner {
    width: min(1180px, calc(100% - 48px));
}
.visual-layout-page .ftc-hero-grid {
    display: grid !important;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.18fr) !important;
    align-items: center;
}
.visual-layout-page .ftc-hero-copy {
    color: var(--ftc-purple);
    padding: 18px 0 20px;
}
.visual-layout-page .ftc-hero-copy h1 {
    font-size: clamp(46px, 6.4vw, 78px);
    line-height: .96;
    letter-spacing: -.06em;
    font-weight: 850;
    margin: 0 0 26px;
    color: var(--ftc-purple);
}
.visual-layout-page .ftc-hero-copy p {
    color: #4d3a5d;
    font-size: 17px;
    line-height: 1.62;
    max-width: 480px;
    margin: 0 0 12px;
}
.visual-layout-page .ftc-hero-image {
    display: block;
    box-shadow: 0 18px 38px rgba(40, 30, 18, .12);
}

/* Títulos generales */
.visual-layout-page .ftc-section-title {
    color: var(--ftc-text);
    font-size: clamp(28px, 3.4vw, 42px);
    line-height: 1.08;
    letter-spacing: -.04em;
    font-weight: 850;
    margin: 0 0 34px;
}
.visual-layout-page .ftc-section-title-left { text-align: left; }
.visual-layout-page .ftc-section-title-center { text-align: center; }
.visual-layout-page .ftc-section-head h2 {
    color: var(--ftc-text);
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.06;
    letter-spacing: -.045em;
    font-weight: 850;
    margin: 0 0 14px;
}
.visual-layout-page .ftc-section-head p {
    color: var(--ftc-muted);
    font-size: 16px;
    line-height: 1.6;
    max-width: 640px;
    margin: 0 auto;
}
.visual-layout-page .ftc-section-head-center {
    text-align: center;
    margin-bottom: 38px;
}
.visual-layout-page .ftc-section-head-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 34px;
}
.visual-layout-page .ftc-slider-dots {
    display: inline-flex;
    gap: 10px;
}
.visual-layout-page .ftc-slider-dots span {
    width: 10px;
    height: 10px;
    border-radius: 99px;
    background: rgba(61, 33, 77, .22);
}
.visual-layout-page .ftc-slider-dots span:first-child {
    background: var(--ftc-purple);
}

/* Tarjetas dinámicas de experiencias: mismo HTML real, estilo oficial */
.visual-layout-page .ftc-dynamic-experience-grid {
    width: 100%;
}
.visual-layout-page .ftc-dynamic-experience-grid .titulo_tours_principal {
    display: none;
}
.visual-layout-page .ftc-tour-grid.tour-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 34px 42px;
    align-items: stretch;
}
.visual-layout-page .ftc-dynamic-experience-grid .tour-card {
    border: 1px solid #e0d8c9;
    border-radius: 10px;
    box-shadow: none;
    background: #fff;
    overflow: hidden;
    cursor: default;
    transform: none !important;
    min-height: 100%;
}
.visual-layout-page .ftc-dynamic-experience-grid .tour-card:hover,
.visual-layout-page .ftc-dynamic-experience-grid .tour-card.selected {
    border-color: #c8b8a2;
    box-shadow: 0 8px 24px rgba(37, 25, 10, .08);
}
.visual-layout-page .ftc-dynamic-experience-grid .tour-card-image {
    height: 205px;
    border-bottom: 1px solid #e7dfd1;
}
.visual-layout-page .ftc-dynamic-experience-grid .tour-card-image img {
    filter: none;
}
.visual-layout-page .ftc-dynamic-experience-grid .tour-card-badge {
    left: 14px;
    bottom: 12px;
    top: auto;
    background: #fff;
    color: var(--ftc-purple);
    border-radius: 6px;
    font-size: 12px;
    padding: 7px 10px;
    box-shadow: 0 4px 16px rgba(0,0,0,.12);
}
.visual-layout-page .ftc-dynamic-experience-grid .tour-card-body {
    padding: 22px 24px 20px;
    gap: 12px;
}
.visual-layout-page .ftc-dynamic-experience-grid .tour-card-title {
    font-size: 22px;
    line-height: 1.13;
    letter-spacing: -.035em;
    color: var(--ftc-text);
    font-weight: 850;
}
.visual-layout-page .ftc-dynamic-experience-grid .tour-card-subtitle {
    color: var(--ftc-muted);
    font-size: 14px;
}
.visual-layout-page .ftc-dynamic-experience-grid .tour-card-meta {
    color: #77707f;
    font-size: 13px;
    display: flex;
    gap: 14px;
    align-items: center;
}
.visual-layout-page .ftc-dynamic-experience-grid .tour-card-meta span:before {
    color: #9aa0aa;
    margin-right: 6px;
}
.visual-layout-page .ftc-dynamic-experience-grid .tour-card-meta span:first-child:before {
    content: '◷';
}
.visual-layout-page .ftc-dynamic-experience-grid .tour-card-meta span:last-child:before {
    content: '▣';
}
.visual-layout-page .ftc-dynamic-experience-grid .tour-card-meta strong {
    color: var(--ftc-muted);
    font-weight: 600;
}
.visual-layout-page .ftc-dynamic-experience-grid .tour-card-features {
    background: #f1f0ee;
    border-radius: 9px;
    padding: 14px 16px;
    gap: 8px;
    color: #5a5f6c;
    font-size: 14px;
}
.visual-layout-page .ftc-dynamic-experience-grid .tour-card-features li {
    padding-left: 21px;
}
.visual-layout-page .ftc-dynamic-experience-grid .tour-card-features li:before {
    color: #9298a4;
}
.visual-layout-page .ftc-dynamic-experience-grid .tour-card-footer {
    padding-top: 12px;
}
.visual-layout-page .ftc-dynamic-experience-grid .tour-card-price small {
    color: #8d8d93;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 700;
}
.visual-layout-page .ftc-dynamic-experience-grid .tour-card-price strong {
    color: var(--ftc-purple);
    font-size: 22px;
    font-weight: 850;
}
.visual-layout-page .ftc-dynamic-experience-grid .btn-select-tour {
    background: var(--ftc-purple);
    color: #fff;
    border-radius: 999px;
    padding: 10px 19px;
    font-size: 13px;
    line-height: 1;
    min-width: 108px;
}
.visual-layout-page .ftc-dynamic-experience-grid .btn-select-tour:hover {
    background: var(--ftc-purple-2);
}

/* Avisos tras reserva */
.visual-layout-page .ftc-notes-grid {
    border-top: 1px solid #ddd4c5;
    padding-top: 34px;
}
.visual-layout-page .ftc-note-item {
    display: grid;
    grid-template-columns: 32px 1fr;
    gap: 16px;
    align-items: start;
    color: #67606d;
    line-height: 1.45;
    font-size: 14px;
}
.visual-layout-page .ftc-note-item span {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    color: #a69578;
    border: 1px solid #cfc5b7;
    font-size: 15px;
}
.visual-layout-page .ftc-note-item p {
    margin: 0;
}

/* Galería */
.visual-layout-page .ftc-gallery-grid {
    display: grid;
    grid-template-columns: 1.08fr 1fr 1fr;
    grid-template-rows: 190px 190px;
    gap: 18px;
}
.visual-layout-page .ftc-gallery-grid img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
    display: block;
}
.visual-layout-page .ftc-gallery-grid .ftc-gallery-main {
    grid-row: 1 / 3;
    height: 100%;
}

/* Artículos */
.visual-layout-page .ftc-article-card {
    background: transparent;
    border: 0;
    box-shadow: none;
}
.visual-layout-page .ftc-article-content h3 {
    color: var(--ftc-text);
    margin: 18px 0 10px;
    font-size: 21px;
    line-height: 1.15;
    font-weight: 850;
    letter-spacing: -.03em;
}
.visual-layout-page .ftc-article-content p {
    color: var(--ftc-muted);
    font-size: 14px;
    line-height: 1.58;
    margin-bottom: 20px;
}
.visual-layout-page .ftc-article-content a {
    color: var(--ftc-purple);
    text-decoration: none;
    font-weight: 800;
    font-size: 14px;
}

/* Planifica */
.visual-layout-page .ftc-plan,
.visual-layout-page .ftc-plan h2,
.visual-layout-page .ftc-plan h3,
.visual-layout-page .ftc-plan p,
.visual-layout-page .ftc-plan strong,
.visual-layout-page .ftc-plan small {
    color: #fff;
}
.visual-layout-page .ftc-plan-intro {
    max-width: 560px;
    margin-bottom: 48px;
}
.visual-layout-page .ftc-plan-intro h2,
.visual-layout-page .ftc-benefits-head h2 {
    font-size: clamp(30px, 4.6vw, 48px);
    line-height: 1.08;
    letter-spacing: -.045em;
    font-weight: 850;
    margin-bottom: 18px;
}
.visual-layout-page .ftc-plan-intro p,
.visual-layout-page .ftc-benefits-head p {
    color: rgba(255,255,255,.78);
    font-size: 16px;
    line-height: 1.62;
}
.visual-layout-page .ftc-plan-card {
    border-top: 1px solid rgba(255,255,255,.22);
    padding-top: 20px;
}
.visual-layout-page .ftc-plan-card h3 {
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: 850;
}
.visual-layout-page .ftc-plan-card p,
.visual-layout-page .ftc-plan-card small {
    color: rgba(255,255,255,.75);
    display: block;
    margin: 0 0 8px;
}
.visual-layout-page .ftc-plan-card strong {
    display: block;
    padding: 8px 0;
    border-top: 1px solid rgba(255,255,255,.16);
    border-bottom: 1px solid rgba(255,255,255,.16);
    margin-bottom: 8px;
}

/* Localización */
.visual-layout-page .ftc-location .ve-section-inner {
    width: 100%;
    max-width: none !important;
}
.visual-layout-page .ftc-location-grid {
    grid-template-columns: minmax(320px, 1fr) minmax(320px, 1.25fr) !important;
    min-height: 520px;
}
.visual-layout-page .ftc-location-copy {
    padding: 72px min(8vw, 96px) 68px max(48px, calc((100vw - 1180px)/2));
    max-width: 620px;
    justify-self: end;
}
.visual-layout-page .ftc-location-copy h2 {
    font-size: clamp(28px, 4vw, 43px);
    line-height: 1.08;
    font-weight: 850;
    letter-spacing: -.04em;
    margin-bottom: 26px;
    color: var(--ftc-text);
}
.visual-layout-page .ftc-location-copy p {
    color: var(--ftc-muted);
    line-height: 1.62;
    font-size: 15px;
}
.visual-layout-page .ftc-location-copy hr {
    border: 0;
    border-top: 1px solid #e0d9cc;
    margin: 28px 0;
}
.visual-layout-page .ftc-address {
    background: #f1eee8;
    border-radius: 10px;
    padding: 22px 24px;
    margin-top: 22px;
    color: #596071;
}
.visual-layout-page .ftc-address strong {
    color: var(--ftc-text);
    display: block;
    margin-bottom: 8px;
}
.visual-layout-page .ftc-address a {
    color: var(--ftc-purple);
    display: inline-block;
    margin-top: 12px;
    font-weight: 800;
    text-decoration: none;
}
.visual-layout-page .ftc-map-box {
    min-height: 520px;
    background:
        radial-gradient(circle at 50% 50%, rgba(61,33,77,.18) 0 42px, transparent 43px),
        linear-gradient(35deg, transparent 0 47%, rgba(0,0,0,.08) 48% 49%, transparent 50% 100%),
        linear-gradient(120deg, transparent 0 47%, rgba(0,0,0,.07) 48% 49%, transparent 50% 100%),
        linear-gradient(#efefed, #dadad8);
    background-size: auto, 220px 220px, 180px 180px, auto;
    display: grid;
    place-items: center;
    filter: grayscale(1);
}
/* Cómo funciona */
.visual-layout-page .ftc-how-grid {
    align-items: start;
}
.visual-layout-page .ftc-how-intro h2 {
    color: var(--ftc-text);
    font-size: clamp(30px, 4vw, 44px);
    letter-spacing: -.04em;
    font-weight: 850;
    margin-bottom: 18px;
}
.visual-layout-page .ftc-how-intro p {
    color: var(--ftc-muted);
    line-height: 1.62;
    max-width: 320px;
}
.visual-layout-page .ftc-steps-list > div {
    display: grid;
    grid-template-columns: 70px 1fr;
    gap: 26px;
    padding: 0 0 34px;
    margin-bottom: 34px;
    border-bottom: 1px solid #e5ddce;
}
.visual-layout-page .ftc-steps-list > div:last-child {
    margin-bottom: 0;
}
.visual-layout-page .ftc-steps-list strong {
    color: #a58f67;
    font-size: 30px;
    letter-spacing: -.04em;
}
.visual-layout-page .ftc-steps-list h3 {
    color: var(--ftc-text);
    font-size: 20px;
    font-weight: 850;
    margin: 0 0 8px;
}
.visual-layout-page .ftc-steps-list p {
    color: var(--ftc-muted);
    margin: 0;
    line-height: 1.58;
}

/* Beneficios */
.visual-layout-page .ftc-benefits,
.visual-layout-page .ftc-benefits h2,
.visual-layout-page .ftc-benefits h3,
.visual-layout-page .ftc-benefits p {
    color: #fff;
}
.visual-layout-page .ftc-benefits-head {
    max-width: 600px;
    margin-bottom: 48px;
}
.visual-layout-page .ftc-benefit-item span {
    color: #b4a56a;
    font-size: 26px;
    display: inline-block;
    margin-bottom: 16px;
}
.visual-layout-page .ftc-benefit-item h3 {
    font-size: 20px;
    line-height: 1.16;
    letter-spacing: -.025em;
    font-weight: 850;
    margin-bottom: 10px;
}
.visual-layout-page .ftc-benefit-item p {
    color: rgba(255,255,255,.76);
    line-height: 1.58;
    font-size: 14px;
}

/* Opiniones */
.visual-layout-page .ftc-reviews-head {
    text-align: center;
    margin-bottom: 36px;
}
.visual-layout-page .ftc-reviews-head h2 {
    color: var(--ftc-text);
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.08;
    letter-spacing: -.04em;
    font-weight: 850;
    margin-bottom: 12px;
}
.visual-layout-page .ftc-stars {
    color: #f5a623;
    letter-spacing: 2px;
}
.visual-layout-page .ftc-review-card {
    border: 0;
    background: #fff;
    box-shadow: none;
}
.visual-layout-page .ftc-review-content blockquote {
    margin: 12px 0 20px;
    color: #606878;
    line-height: 1.58;
}
.visual-layout-page .ftc-review-content strong {
    color: var(--ftc-text);
}
.visual-layout-page .ftc-review-content small {
    color: #8a92a0;
}

/* FAQs */
.visual-layout-page .ftc-faq-list details {
    border-top: 1px solid #e3e6eb;
    padding: 18px 0;
}
.visual-layout-page .ftc-faq-list details:last-of-type {
    border-bottom: 1px solid #e3e6eb;
}
.visual-layout-page .ftc-faq-list summary {
    cursor: pointer;
    color: var(--ftc-text);
    font-weight: 750;
    list-style: none;
    position: relative;
    padding-right: 26px;
}
.visual-layout-page .ftc-faq-list summary::-webkit-details-marker { display: none; }
.visual-layout-page .ftc-faq-list summary:after {
    content: '+';
    position: absolute;
    right: 0;
    top: 0;
    color: #878f9d;
}
.visual-layout-page .ftc-faq-list details[open] summary:after { content: '−'; }
.visual-layout-page .ftc-faq-list p {
    color: var(--ftc-muted);
    line-height: 1.58;
}
.visual-layout-page .ftc-more {
    text-align: center;
    margin-top: 30px;
}
.visual-layout-page .ftc-more a {
    display: inline-flex;
    border: 1px solid #d7dce4;
    border-radius: 999px;
    padding: 12px 22px;
    color: var(--ftc-text);
    font-weight: 800;
    text-decoration: none;
}

/* Footer oficial */
.visual-layout-page .ftc-footer,
.visual-layout-page .ftc-footer .ve-section-inner {
    background: #fff;
}
.visual-layout-page .ftc-footer-logo {
    display: flex;
    justify-content: center;
    margin-bottom: 58px;
}
.visual-layout-page .ftc-footer-logo div {
    color: var(--ftc-purple);
    border: 1px solid #e1d8e6;
    min-width: 126px;
    padding: 14px 28px;
    text-align: center;
    font-weight: 800;
}
.visual-layout-page .ftc-footer-grid {
    border-top: 1px solid #e6e0d8;
    padding-top: 34px;
}
.visual-layout-page .ftc-footer-col h3,
.visual-layout-page .ftc-payment-row h3 {
    color: var(--ftc-purple);
    font-size: 15px;
    margin-bottom: 16px;
    font-weight: 850;
}
.visual-layout-page .ftc-footer-col p,
.visual-layout-page .ftc-footer-disclaimer p,
.visual-layout-page .ftc-footer-bottom p {
    color: #6a6470;
    line-height: 1.7;
    font-size: 14px;
}
.visual-layout-page .ftc-payment-row {
    margin-top: 42px;
    border-top: 1px solid #e6e0d8;
    padding-top: 28px;
}
.visual-layout-page .ftc-payment-row p {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
}
.visual-layout-page .ftc-payment-row span {
    min-width: 42px;
    min-height: 28px;
    display: inline-grid;
    place-items: center;
    border-radius: 4px;
    background: #eeeaf1;
    color: #605768;
    font-size: 12px;
    font-weight: 800;
}
.visual-layout-page .ftc-footer-disclaimer {
    margin-top: 34px;
    background: #f5f1ea;
    padding: 24px 28px;
}
.visual-layout-page .ftc-footer-bottom {
    border-top: 1px solid #e6e0d8;
    margin-top: 36px;
    padding-top: 28px;
    display: flex;
    justify-content: space-between;
    gap: 24px;
}

/* Editor: en modo edición, que los bloques oficiales sigan siendo manejables. */
.editor-mode .ftc-location .ve-section-inner {
    width: 100%;
}
.editor-mode .ftc-gallery-mosaic,
.editor-mode .ftc-steps-list,
.editor-mode .ftc-map-box {
    min-height: 80px;
}

@media (max-width: 1024px) {
    .visual-layout-page .ftc-tour-grid.tour-cards-grid,
    .visual-layout-page .ftc-article-grid,
    .visual-layout-page .ftc-plan-grid,
    .visual-layout-page .ftc-benefits-grid,
    .visual-layout-page .ftc-review-grid,
    .visual-layout-page .ftc-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .visual-layout-page .ftc-hero-grid,
    .visual-layout-page .ftc-how-grid {
        grid-template-columns: 1fr !important;
    }
    .visual-layout-page .ftc-hero-copy {
        max-width: 720px;
    }
}

@media (max-width: 720px) {
    #header-floating-bar {
        min-height: 64px;
    }
    #header-floating-bar .container {
        width: calc(100% - 28px);
    }
    #header-floating-bar figure.logo img {
        max-height: 34px;
    }
    #header-floating-bar .navbar-collapse {
        background: #fff;
        padding: 12px 0 16px;
    }
    .visual-layout-page .ftc-home-section .ve-section-inner {
        width: calc(100% - 34px);
    }
    .visual-layout-page .ftc-home-hero {
        padding-top: 34px !important;
        padding-bottom: 44px !important;
    }
    .visual-layout-page .ftc-hero-grid {
        gap: 28px !important;
    }
    .visual-layout-page .ftc-hero-copy {
        order: 1;
        text-align: left;
    }
    .visual-layout-page .ftc-hero-grid .component-wrapper:has(.ftc-hero-image),
    .visual-layout-page .ftc-hero-image {
        order: 2;
    }
    .visual-layout-page .ftc-hero-copy h1 {
        font-size: clamp(40px, 15vw, 66px);
    }
    .visual-layout-page .ftc-hero-copy p {
        font-size: 15px;
        max-width: none;
    }
    .visual-layout-page .ftc-hero-image {
        height: 280px !important;
    }
    .visual-layout-page .ftc-experiences {
        padding-top: 54px !important;
    }
    .visual-layout-page .ftc-section-title-left {
        text-align: left;
    }
    .visual-layout-page .ftc-tour-grid.tour-cards-grid,
    .visual-layout-page .ftc-article-grid,
    .visual-layout-page .ftc-plan-grid,
    .visual-layout-page .ftc-benefits-grid,
    .visual-layout-page .ftc-review-grid,
    .visual-layout-page .ftc-footer-grid,
    .visual-layout-page .ftc-notes-grid {
        grid-template-columns: 1fr !important;
    }
    .visual-layout-page .ftc-dynamic-experience-grid .tour-card-image {
        height: 196px;
    }
    .visual-layout-page .ftc-dynamic-experience-grid .tour-card-footer {
        flex-direction: row;
        align-items: end;
    }
    .visual-layout-page .ftc-gallery-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 190px 130px 130px;
        gap: 10px;
    }
    .visual-layout-page .ftc-gallery-grid .ftc-gallery-main {
        grid-column: 1 / 3;
        grid-row: auto;
    }
    .visual-layout-page .ftc-location-grid {
        grid-template-columns: 1fr !important;
    }
    .visual-layout-page .ftc-location-copy {
        padding: 54px 24px;
        max-width: none;
        justify-self: stretch;
    }
    .visual-layout-page .ftc-map-box {
        min-height: 340px;
    }
    .visual-layout-page .ftc-steps-list > div {
        grid-template-columns: 54px 1fr;
        gap: 18px;
    }
    .visual-layout-page .ftc-footer-bottom,
    .visual-layout-page .ftc-section-head-row {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* ─── Fase 29: Localización dinámica real desde meeting_points ──────────────
   Importante: este bloque solo corrige el componente dinámico location_access.
   No modifica el hero ni el resto de secciones de la Home oficial. */
.visual-layout-page .ftc-location-shell .ve-section-inner {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

.visual-layout-page .location-access-grid.ftc-location-grid,
.visual-layout-page .ftc-location-shell .location-access-grid {
    display: grid !important;
    grid-template-columns: minmax(420px, 42%) minmax(0, 58%) !important;
    gap: 0 !important;
    min-height: 620px !important;
    align-items: stretch !important;
    background: #fff !important;
}

.visual-layout-page .location-access-copy.ftc-location-copy,
.visual-layout-page .ftc-location-shell .location-access-copy {
    width: 100% !important;
    max-width: 560px !important;
    justify-self: end !important;
    padding: 92px 74px 88px 24px !important;
    text-align: left !important;
    color: #6a5f4f !important;
}

.visual-layout-page .location-access-copy.ftc-location-copy *,
.visual-layout-page .ftc-location-shell .location-access-copy * {
    text-align: left !important;
}

.visual-layout-page .location-access-copy.ftc-location-copy h2,
.visual-layout-page .ftc-location-shell .location-access-copy h2 {
    margin: 0 0 34px !important;
    max-width: 460px !important;
    font-size: clamp(36px, 4vw, 50px) !important;
    line-height: 1.08 !important;
    font-weight: 850 !important;
    letter-spacing: -0.045em !important;
    color: #6a5f4f !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}

.visual-layout-page .location-access-copy.ftc-location-copy p,
.visual-layout-page .ftc-location-shell .location-access-copy p {
    margin: 0 0 18px !important;
    font-size: 16px !important;
    line-height: 1.62 !important;
    color: #5f6474 !important;
}

.visual-layout-page .location-access-copy.ftc-location-copy strong,
.visual-layout-page .ftc-location-shell .location-access-copy strong {
    color: #282c38 !important;
    font-weight: 850 !important;
    text-transform: uppercase;
    letter-spacing: .02em;
}

.visual-layout-page .location-access-copy.ftc-location-copy hr,
.visual-layout-page .ftc-location-shell .location-access-copy hr {
    border: 0 !important;
    border-top: 1px solid #ddd4c5 !important;
    margin: 30px 0 !important;
}

.visual-layout-page .location-access-copy .ftc-address,
.visual-layout-page .location-access-copy .alc-address,
.visual-layout-page .ftc-location-shell .ftc-address,
.visual-layout-page .ftc-location-shell .alc-address {
    margin-top: 26px !important;
    padding: 28px 32px !important;
    border-radius: 10px !important;
    background: #f1eee8 !important;
    color: #5f6474 !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
}

.visual-layout-page .location-access-copy .ftc-address strong,
.visual-layout-page .location-access-copy .alc-address strong,
.visual-layout-page .ftc-location-shell .ftc-address strong,
.visual-layout-page .ftc-location-shell .alc-address strong {
    display: block !important;
    margin-bottom: 18px !important;
    color: #6a5f4f !important;
    font-size: 24px !important;
    line-height: 1.15 !important;
    text-transform: none !important;
    letter-spacing: -0.025em !important;
}

.visual-layout-page .location-access-copy .ftc-address a,
.visual-layout-page .location-access-copy .alc-address a,
.visual-layout-page .ftc-location-shell .ftc-address a,
.visual-layout-page .ftc-location-shell .alc-address a,
.visual-layout-page .ftc-location-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 18px !important;
    color: #3d214d !important;
    font-weight: 850 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
    font-size: 13px !important;
    text-decoration: none !important;
}

.visual-layout-page .location-access-map.ftc-map-box,
.visual-layout-page .ftc-location-shell .location-access-map {
    position: relative !important;
    width: 100% !important;
    min-height: 620px !important;
    overflow: hidden !important;
    background: #e7e5df !important;
    display: block !important;
    place-items: initial !important;
    filter: none !important;
}

.visual-layout-page .location-access-map .ftc-map-embed,
.visual-layout-page .ftc-location-shell .ftc-map-embed {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

.visual-layout-page .location-access-map .ftc-map-embed iframe,
.visual-layout-page .ftc-location-shell .ftc-map-embed iframe {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 620px !important;
    border: 0 !important;
    display: block !important;
    filter: grayscale(1) contrast(.92) opacity(.82) !important;
}

.visual-layout-page .location-access-map .ftc-map-embed::after,
.visual-layout-page .ftc-location-shell .ftc-map-embed::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(245, 240, 231, .16);
    pointer-events: none;
    z-index: 1;
}

.visual-layout-page .location-access-map-placeholder {
    min-height: 620px !important;
    display: grid !important;
    place-items: center !important;
    color: #6a5f4f !important;
    background: #e7e5df !important;
}

.editor-mode .visual-layout-page .ftc-location-shell .component-wrapper[data-type="location_access"],
.editor-mode .visual-layout-page .ftc-location-shell .component-content {
    min-height: 620px;
}

@media (max-width: 900px) {
    .visual-layout-page .location-access-grid.ftc-location-grid,
    .visual-layout-page .ftc-location-shell .location-access-grid {
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
    }

    .visual-layout-page .location-access-copy.ftc-location-copy,
    .visual-layout-page .ftc-location-shell .location-access-copy {
        max-width: 620px !important;
        justify-self: stretch !important;
        margin: 0 auto !important;
        padding: 56px 24px !important;
    }

    .visual-layout-page .location-access-map.ftc-map-box,
    .visual-layout-page .ftc-location-shell .location-access-map,
    .visual-layout-page .location-access-map .ftc-map-embed iframe,
    .visual-layout-page .ftc-location-shell .ftc-map-embed iframe,
    .visual-layout-page .location-access-map-placeholder {
        min-height: 420px !important;
    }
}

/* ─── Fase 39.1: ajuste Header/Hero contra Figma + Design System ───────
   El contexto correcto para el diseño entregado es FTC + warm.
   - brand=ftc aporta el morado de Figma y la familia display Signika.
   - temperature=warm se mantiene para fondos/beiges.
   Importante: añadimos fallback sans-serif para evitar que, si la fuente no está cargada,
   el navegador caiga a una serif genérica. */
.visual-layout-page {
    --ftc-brand-primary: var(--foreground-base-brand-mid, #5f3a78);
    --ftc-brand-strong: var(--foreground-base-brand-emphasis, #362145);
    --ftc-page-bg: var(--background-base-default-soft, #faf8f3);
    --ftc-page-bg-mid: var(--background-base-default-mid, #f0ebe1);
    --ftc-text-strong: var(--foreground-base-primary-strong, #2a2218);
    --ftc-text-muted: var(--foreground-base-secondary-strong, #665c48);
    --ftc-border-soft: var(--border-base-secondary-soft, #f0ebe1);
    --ftc-radius-hero: var(--radius-lg, 16px);
}

#header-floating-bar {
    background: var(--white-100, #fff) !important;
    border-bottom: 1px solid var(--ftc-border-soft) !important;
}
#header-floating-bar .nav-link,
#header-floating-bar .dropdown-toggle,
#header-floating-bar .selector-idioma,
#header-floating-bar .selector-moneda {
    color: var(--ftc-brand-strong) !important;
    font-family: var(--font-action-nav-family, Inter), Inter, Arial, sans-serif !important;
    font-size: var(--font-action-nav-size, 12px) !important;
    line-height: var(--font-action-nav-line-height, 16px) !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
    text-transform: uppercase !important;
}
#header-floating-bar .nav-link:hover,
#header-floating-bar .dropdown-toggle:hover {
    color: var(--ftc-brand-primary) !important;
}

.visual-layout-page .ftc-home-section,
.visual-layout-page .ftc-home-section p,
.visual-layout-page .ftc-home-section li,
.visual-layout-page .ftc-home-section a {
    font-family: var(--font-body-default-family, Inter), Inter, Arial, sans-serif;
}
.visual-layout-page .ftc-home-hero {
    background: var(--white-100, #fff) !important;
    padding-top: clamp(64px, 6vw, 92px) !important;
    padding-bottom: clamp(64px, 6vw, 92px) !important;
}
.visual-layout-page .ftc-home-hero .ve-section-inner {
    width: min(1180px, calc(100% - 48px));
}
.visual-layout-page .ftc-hero-grid {
    grid-template-columns: minmax(320px, .78fr) minmax(520px, 1.22fr) !important;
    gap: clamp(52px, 6vw, 88px) !important;
    align-items: center !important;
}
.visual-layout-page .ftc-hero-copy {
    max-width: 420px;
    color: var(--ftc-brand-primary) !important;
    padding: 0 !important;
}
.visual-layout-page .ftc-hero-copy h1 {
    color: var(--ftc-brand-primary) !important;
    font-family: var(--font-display-hero-family, Signika), Signika, Inter, Arial, sans-serif !important;
    font-size: clamp(46px, 4.15vw, 62px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
    font-weight: 700 !important;
    margin: 0 0 24px !important;
}
.visual-layout-page .ftc-hero-copy p {
    color: var(--ftc-text-muted) !important;
    font-family: var(--font-body-default-family, Inter), Inter, Arial, sans-serif !important;
    font-size: var(--font-body-support-size, 14px) !important;
    line-height: 1.45 !important;
    max-width: 390px !important;
    margin: 0 0 12px !important;
}
.visual-layout-page .ftc-hero-image {
    border-radius: var(--ftc-radius-hero) !important;
    border: 1px solid var(--ftc-border-soft) !important;
    box-shadow: none !important;
    height: 390px !important;
    object-fit: cover !important;
}
.visual-layout-page .ftc-experiences {
    background: var(--ftc-page-bg) !important;
}
.visual-layout-page .ftc-section-title,
.visual-layout-page .ftc-section-head h2 {
    color: var(--ftc-text-strong) !important;
    font-family: var(--font-display-section-family, Signika), Signika, Inter, Arial, sans-serif !important;
    letter-spacing: -.02em !important;
}

@media (max-width: 1024px) {
    .visual-layout-page .ftc-hero-grid {
        grid-template-columns: 1fr !important;
    }
    .visual-layout-page .ftc-hero-copy {
        max-width: 640px;
    }
}
@media (max-width: 720px) {
    .visual-layout-page .ftc-home-hero {
        padding-top: 40px !important;
        padding-bottom: 48px !important;
    }
    .visual-layout-page .ftc-hero-grid {
        gap: 28px !important;
    }
    .visual-layout-page .ftc-hero-copy h1 {
        font-size: clamp(40px, 13vw, 56px) !important;
        line-height: 1.04 !important;
    }
    .visual-layout-page .ftc-hero-copy p {
        max-width: none !important;
    }
    .visual-layout-page .ftc-hero-image {
        height: 280px !important;
    }
}

/* ─── Fase 40: Home Desktop completa según Figma + Design System ───────────
   Capa final de ajuste visual. No modifica lógica, textos, mapa ni reservas.
   Usa los tokens oficiales como base y corrige composición/espaciados de la home. */
.visual-layout-page[data-design-system="ftc-foundations"] {
    --ftc-home-container: min(1180px, calc(100% - 64px));
    --ftc-hero-container: min(1050px, calc(100% - 64px));
    --ftc-brand-primary: var(--foreground-base-brand-mid, #5f3a78);
    --ftc-brand-strong: var(--foreground-base-brand-emphasis, #362145);
    --ftc-brand-soft: var(--background-base-brand-soft, #f8f0fc);
    --ftc-page-bg: var(--background-base-default-soft, #faf8f3);
    --ftc-page-bg-mid: var(--background-base-default-mid, #f0ebe1);
    --ftc-text-strong: var(--foreground-base-primary-strong, #2a2218);
    --ftc-text-default: var(--foreground-base-primary-mid, #484132);
    --ftc-text-muted: var(--foreground-base-secondary-strong, #665c48);
    --ftc-border-soft: var(--border-base-secondary-soft, #f0ebe1);
    --ftc-radius-sm: var(--radius-sm, 8px);
    --ftc-radius-md: var(--radius-md, 12px);
    --ftc-radius-lg: var(--radius-lg, 16px);
    --ftc-shadow-card: 0 18px 45px rgba(42, 34, 24, .07);
    background: var(--white-100, #fff) !important;
    color: var(--ftc-text-default) !important;
}

/* Header desktop */
#header-floating-bar {
    min-height: 74px !important;
    padding: 0 !important;
    background: var(--white-100, #fff) !important;
    border: 0 !important;
    box-shadow: none !important;
}
#header-floating-bar .container {
    width: min(1180px, calc(100% - 64px)) !important;
    max-width: 1180px !important;
    min-height: 74px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 !important;
}
#header-floating-bar .navbar-brand {
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
}
#header-floating-bar figure.logo {
    margin: 0 !important;
    line-height: 1 !important;
}
#header-floating-bar figure.logo img {
    max-height: 36px !important;
    width: auto !important;
    object-fit: contain !important;
}
#header-floating-bar .navbar-collapse {
    flex-grow: 0 !important;
    align-items: center !important;
    gap: 22px !important;
}
#header-floating-bar .navbar-nav {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 24px !important;
    margin: 0 !important;
}
#header-floating-bar .navbar-nav .nav-item {
    width: auto !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
}
#header-floating-bar .nav-link,
#header-floating-bar .dropdown-toggle,
#header-floating-bar .selector-idioma,
#header-floating-bar .selector-moneda,
#header-floating-bar .select-selected {
    color: var(--ftc-brand-strong) !important;
    font-family: var(--font-action-nav-family, Inter), Inter, Arial, sans-serif !important;
    font-size: var(--font-action-nav-size, 12px) !important;
    line-height: var(--font-action-nav-line-height, 16px) !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}
#header-floating-bar .nav-link {
    padding: 0 !important;
}
#header-floating-bar .nav-link:hover,
#header-floating-bar .select-selected:hover {
    color: var(--ftc-brand-primary) !important;
}
#header-floating-bar .componentes-header-selectors,
#header-floating-bar .header-selectors {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-left: 18px !important;
}
#header-floating-bar .custom-select {
    min-width: auto !important;
    height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}
#header-floating-bar .select-selected {
    background: transparent !important;
    border: 0 !important;
    padding: 0 8px !important;
    min-height: auto !important;
}

/* Contenedores y tipografía base */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-section .ve-section-inner {
    width: var(--ftc-home-container) !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-section,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-section p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-section li,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-section a,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-section summary,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-section small {
    font-family: var(--font-body-default-family, Inter), Inter, Arial, sans-serif !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-section h1,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-section h2,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-section h3 {
    font-family: var(--font-display-section-family, Signika), Signika, Inter, Arial, sans-serif !important;
    color: var(--ftc-text-strong) !important;
    letter-spacing: var(--font-display-section-letter-spacing, 0) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-section-title,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-section-head h2,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reviews-head h2,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro h2 {
    font-size: var(--font-display-section-size, 40px) !important;
    line-height: var(--font-display-section-line-height, 48px) !important;
    font-weight: 700 !important;
    margin: 0 0 32px !important;
}

/* Hero */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero {
    background: var(--white-100, #fff) !important;
    padding-top: 74px !important;
    padding-bottom: 74px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero .ve-section-inner {
    width: var(--ftc-hero-container) !important;
    max-width: 1050px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-grid {
    display: grid !important;
    grid-template-columns: minmax(260px, 340px) minmax(420px, 560px) !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: clamp(72px, 8vw, 116px) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-copy {
    max-width: 330px !important;
    padding: 0 !important;
    color: var(--ftc-brand-primary) !important;
    text-align: left !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-copy *,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-copy .editable-html {
    text-align: left !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-copy h1 {
    color: var(--ftc-brand-primary) !important;
    font-family: var(--font-display-hero-family, Signika), Signika, Inter, Arial, sans-serif !important;
    font-size: clamp(40px, 3.55vw, 50px) !important;
    line-height: 1.08 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    margin: 0 0 22px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-copy p {
    color: var(--ftc-text-muted) !important;
    font-size: var(--font-body-support-size, 14px) !important;
    line-height: 1.45 !important;
    max-width: 285px !important;
    margin: 0 0 10px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-grid .component-wrapper:has(.ftc-hero-image),
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-grid .component-content:has(.ftc-hero-image) {
    width: 100% !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-image {
    width: 100% !important;
    max-width: 560px !important;
    height: 335px !important;
    object-fit: cover !important;
    border-radius: var(--radius-lg, 16px) !important;
    border: 1px solid var(--border-base-secondary-soft, #f0ebe1) !important;
    box-shadow: none !important;
    display: block !important;
}

/* Experiencias */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-experiences,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reservation-notes,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reviews {
    background: var(--ftc-page-bg) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-experiences {
    padding-top: 78px !important;
    padding-bottom: 34px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-section-title-left {
    text-align: left !important;
    color: var(--ftc-text-strong) !important;
    position: relative !important;
    padding-bottom: 14px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-section-title-left::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 46px;
    height: 1px;
    background: var(--temperature-500, #a89275);
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-tour-grid.tour-cards-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 32px !important;
    align-items: stretch !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card {
    border: 1px solid var(--border-base-secondary-soft, #f0ebe1) !important;
    border-radius: var(--radius-lg, 16px) !important;
    background: var(--white-100, #fff) !important;
    box-shadow: none !important;
    overflow: hidden !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card:hover,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card.selected {
    box-shadow: var(--ftc-shadow-card) !important;
    border-color: var(--border-base-secondary-mid, #ded9d0) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-image {
    height: 178px !important;
    border-bottom: 1px solid var(--border-base-secondary-soft, #f0ebe1) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-badge {
    background: var(--white-100, #fff) !important;
    color: var(--ftc-text-strong) !important;
    border: 1px solid var(--border-base-secondary-soft, #f0ebe1) !important;
    border-radius: var(--radius-sm, 8px) !important;
    box-shadow: none !important;
    font-size: var(--font-body-caption-size, 12px) !important;
    line-height: var(--font-body-caption-line-height, 16px) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-body {
    padding: 20px 20px 22px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-title {
    font-family: var(--font-title-card-family, Signika), Signika, Inter, Arial, sans-serif !important;
    font-size: var(--font-title-card-size, 20px) !important;
    line-height: var(--font-title-card-line-height, 28px) !important;
    color: var(--ftc-text-strong) !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-subtitle,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-meta,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-features {
    color: var(--ftc-text-muted) !important;
    font-size: var(--font-body-support-size, 14px) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-features {
    background: var(--background-base-secondary-soft, #f0ebe1) !important;
    border-radius: var(--radius-sm, 8px) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-price strong {
    color: var(--ftc-brand-primary) !important;
    font-family: var(--font-display-price-family, Signika), Signika, Inter, Arial, sans-serif !important;
    font-size: var(--font-display-price-size, 32px) !important;
    line-height: var(--font-display-price-line-height, 40px) !important;
    font-weight: 700 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .btn-select-tour,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-more a {
    background: var(--background-action-primary-default, #9858cc) !important;
    color: var(--foreground-action-primary-default, #fff) !important;
    border: 1px solid var(--border-action-primary-default, #9858cc) !important;
    border-radius: var(--radius-full, 999px) !important;
    font-family: var(--font-action-primary-family, Inter), Inter, Arial, sans-serif !important;
    font-size: var(--font-action-secondary-size, 14px) !important;
    line-height: var(--font-action-secondary-line-height, 20px) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .btn-select-tour:hover,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-more a:hover {
    background: var(--background-action-primary-hover, #7840b0) !important;
    border-color: var(--border-action-primary-hover, #7840b0) !important;
}

/* Notas */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reservation-notes {
    padding-top: 8px !important;
    padding-bottom: 72px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-notes-grid {
    border-top: 1px solid var(--border-base-secondary-soft, #f0ebe1) !important;
    padding-top: 30px !important;
    gap: 40px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-note-item {
    color: var(--ftc-text-muted) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-note-item span {
    color: var(--ftc-brand-primary) !important;
    border-color: var(--border-base-brand-soft, #9858cc) !important;
    background: var(--background-base-brand-soft, #f8f0fc) !important;
}

/* Descubre / galería */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover {
    background: var(--white-100, #fff) !important;
    padding-top: 88px !important;
    padding-bottom: 90px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-section-head-center {
    max-width: 680px !important;
    margin: 0 auto 38px !important;
    text-align: center !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-section-head p {
    color: var(--ftc-text-muted) !important;
    font-size: var(--font-body-default-size, 16px) !important;
    line-height: var(--font-body-default-line-height, 24px) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-gallery-grid {
    display: grid !important;
    grid-template-columns: 1.05fr 1fr 1fr !important;
    grid-template-rows: 210px 210px !important;
    gap: 16px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-gallery-grid img {
    border-radius: var(--radius-lg, 16px) !important;
    border: 1px solid var(--border-base-secondary-soft, #f0ebe1) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-gallery-grid .ftc-gallery-main {
    grid-row: 1 / 3 !important;
}

/* Artículos / Explora */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore {
    background: var(--ftc-page-bg-mid) !important;
    padding-top: 84px !important;
    padding-bottom: 92px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-section-head-row {
    margin-bottom: 32px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-grid {
    gap: 24px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-card img,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-card .ftc-article-image {
    border-radius: var(--radius-lg, 16px) !important;
    border: 1px solid var(--border-base-secondary-soft, #f0ebe1) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-content h3 {
    font-family: var(--font-title-card-family, Signika), Signika, Inter, Arial, sans-serif !important;
    font-size: var(--font-title-card-size, 20px) !important;
    line-height: var(--font-title-card-line-height, 28px) !important;
    font-weight: 700 !important;
    color: var(--ftc-text-strong) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-content p {
    color: var(--ftc-text-muted) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-content a,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-text-link {
    color: var(--ftc-brand-primary) !important;
}

/* Planea tu visita */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan {
    background: var(--background-base-brand-strong, #82620B) !important;
    padding-top: 86px !important;
    padding-bottom: 92px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan h2,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan h3,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan strong,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan small {
    color: var(--foreground-base-inverse-strong, #fff) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-intro {
    max-width: 560px !important;
    margin-bottom: 52px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-intro h2,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-head h2 {
    font-size: var(--font-display-section-size, 40px) !important;
    line-height: var(--font-display-section-line-height, 48px) !important;
    font-weight: 700 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-intro p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-head p {
    color: var(--foreground-base-inverse-soft, rgba(255,255,255,.75)) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-grid {
    gap: 34px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-card {
    border-top: 1px solid rgba(255,255,255,.22) !important;
    padding-top: 22px !important;
}

/* Location */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .ve-section-inner {
    background: var(--white-100, #fff) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .location-access-grid.ftc-location-grid,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .location-access-grid {
    grid-template-columns: minmax(320px, .82fr) minmax(520px, 1.18fr) !important;
    min-height: 560px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .location-access-copy.ftc-location-copy,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .location-access-copy {
    padding: 78px min(6vw, 88px) 78px max(40px, calc((100vw - 1180px)/2)) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .location-access-copy h2,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-copy h2 {
    font-size: var(--font-display-section-size, 40px) !important;
    line-height: var(--font-display-section-line-height, 48px) !important;
    font-weight: 700 !important;
    color: var(--ftc-text-strong) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .location-access-copy p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-copy p {
    color: var(--ftc-text-muted) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .location-access-map.ftc-map-box,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .location-access-map {
    min-height: 560px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .location-access-map .ftc-map-embed iframe,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .ftc-map-embed iframe {
    min-height: 560px !important;
}

/* Cómo funciona */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how {
    background: var(--white-100, #fff) !important;
    padding-top: 90px !important;
    padding-bottom: 96px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-grid {
    grid-template-columns: minmax(280px, .72fr) minmax(520px, 1.28fr) !important;
    gap: 88px !important;
    align-items: start !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list p {
    color: var(--ftc-text-muted) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list > div {
    grid-template-columns: 64px 1fr !important;
    border-bottom: 1px solid var(--border-base-secondary-soft, #f0ebe1) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list strong {
    color: var(--temperature-500, #a89275) !important;
    font-family: var(--font-display-price-family, Signika), Signika, Inter, Arial, sans-serif !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list h3 {
    color: var(--ftc-text-strong) !important;
    font-family: var(--font-title-step-family, Signika), Signika, Inter, Arial, sans-serif !important;
    font-size: var(--font-title-step-size, 18px) !important;
    line-height: var(--font-title-step-line-height, 24px) !important;
}

/* Beneficios */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits {
    background: var(--support-900, #11374d) !important;
    padding-top: 88px !important;
    padding-bottom: 92px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits h2,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits h3,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits p {
    color: var(--foreground-base-inverse-strong, #fff) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-grid {
    gap: 36px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefit-item span {
    color: var(--accent-500, #f0930a) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefit-item p {
    color: var(--foreground-base-inverse-soft, rgba(255,255,255,.75)) !important;
}

/* Reviews / FAQ */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reviews {
    padding-top: 86px !important;
    padding-bottom: 92px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-grid {
    gap: 28px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-card {
    border: 1px solid var(--border-base-secondary-soft, #f0ebe1) !important;
    border-radius: var(--radius-lg, 16px) !important;
    background: var(--white-100, #fff) !important;
    padding: 24px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq {
    background: var(--white-100, #fff) !important;
    padding-top: 88px !important;
    padding-bottom: 88px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq .ve-section-inner {
    width: min(760px, calc(100% - 64px)) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq-list details {
    border-top: 1px solid var(--border-base-secondary-soft, #f0ebe1) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq-list details:last-of-type {
    border-bottom: 1px solid var(--border-base-secondary-soft, #f0ebe1) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq-list summary {
    color: var(--ftc-text-strong) !important;
    font-weight: 700 !important;
}

/* Footer */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer .ve-section-inner {
    background: var(--white-100, #fff) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-logo div {
    font-size: 0 !important;
    color: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-logo div::before {
    content: "REAL ALCÁZAR\A DE SEVILLA";
    white-space: pre-line;
    display: block;
    color: var(--ftc-brand-primary);
    font-family: var(--font-action-nav-family, Inter), Inter, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: .035em;
    text-align: center;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-grid,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-bottom {
    border-color: var(--border-base-secondary-soft, #f0ebe1) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col h3,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row h3 {
    color: var(--ftc-brand-primary) !important;
    font-family: var(--font-title-notice-family, Inter), Inter, Arial, sans-serif !important;
    font-size: var(--font-title-notice-size, 14px) !important;
    line-height: var(--font-title-notice-line-height, 20px) !important;
    font-weight: 800 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-disclaimer p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-bottom p {
    color: var(--ftc-text-muted) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-disclaimer {
    background: var(--ftc-page-bg) !important;
    border-radius: var(--radius-md, 12px) !important;
}

/* Editor: evita que los handles deformen la comparación visual */
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-section.editable-section {
    outline-offset: -1px;
}

@media (max-width: 1024px) {
    .visual-layout-page[data-design-system="ftc-foundations"] {
        --ftc-home-container: min(672px, calc(100% - 48px));
        --ftc-hero-container: min(672px, calc(100% - 48px));
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .location-access-grid.ftc-location-grid {
        grid-template-columns: 1fr !important;
        gap: 36px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-copy,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-copy p {
        max-width: 520px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-image {
        max-width: 100% !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-tour-grid.tour-cards-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 720px) {
    .visual-layout-page[data-design-system="ftc-foundations"] {
        --ftc-home-container: min(350px, calc(100% - 32px));
        --ftc-hero-container: min(350px, calc(100% - 32px));
    }
    #header-floating-bar .container {
        width: min(350px, calc(100% - 32px)) !important;
        min-height: 64px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero {
        padding-top: 44px !important;
        padding-bottom: 50px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-copy h1 {
        font-size: var(--font-display-page-size, 48px) !important;
        line-height: var(--font-display-page-line-height, 56px) !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-copy p {
        max-width: none !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-image {
        height: 260px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-tour-grid.tour-cards-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-notes-grid {
        grid-template-columns: 1fr !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-gallery-grid {
        grid-template-columns: 1fr 1fr !important;
        grid-template-rows: 190px 130px 130px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-gallery-grid .ftc-gallery-main {
        grid-column: 1 / 3 !important;
        grid-row: auto !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .location-access-copy.ftc-location-copy,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .location-access-copy {
        padding: 54px 24px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .location-access-map.ftc-map-box,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .location-access-map,
    .visual-layout-page[data-design-system="ftc-foundations"] .location-access-map .ftc-map-embed iframe,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .ftc-map-embed iframe {
        min-height: 390px !important;
    }
}

/* Fase 40.1 - Header propio como componente + ajustes Desktop Figma */
.visual-layout-page[data-design-system="ftc-foundations"] {
    --ftc-home-container: min(1440px, calc(100% - 80px));
    --ftc-hero-container: min(1440px, calc(100% - 80px));
    --ftc-brand-primary: var(--foreground-base-brand-emphasis, #5f3a78);
    --ftc-page-bg: #f6f2ea;
    --ftc-text-strong: #3c342b;
    --ftc-text-muted: #655e54;
    background: #ffffff !important;
    font-family: var(--font-body-default-family, Inter), Inter, Arial, sans-serif !important;
}

/* El header legacy solo se oculta cuando la plantilla ya tiene el header nuevo dentro del layout. */
body:has(.visual-layout-page .ftc-site-header) > header,
body:has(.visual-layout-page .ftc-site-header) > #header-floating-bar {
    display: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header {
    background: #ffffff !important;
    padding: 32px 0 24px !important;
    border: 0 !important;
    position: relative;
    z-index: 5;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__inner {
    width: var(--ftc-home-container) !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: 175px 1fr auto !important;
    align-items: center !important;
    gap: 48px !important;
    min-height: 44px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__logo,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__logo:hover {
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__logo img {
    width: 175px !important;
    height: auto !important;
    display: block !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__nav {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 54px !important;
    min-width: 0 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__nav a,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__actions a,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__select .select-selected {
    color: var(--ftc-brand-primary) !important;
    font-family: var(--font-action-nav-family, Inter), Inter, Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 16px !important;
    font-weight: 700 !important;
    letter-spacing: .01em !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: nowrap !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__nav a span {
    margin-left: 6px !important;
    font-size: 12px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 22px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__divider {
    display: block !important;
    width: 1px !important;
    height: 16px !important;
    background: var(--border-base-secondary-mid, #ded7ca) !important;
    margin: 0 2px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__select {
    position: relative !important;
    min-width: auto !important;
    width: auto !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    z-index: 30 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__select:hover {
    background: transparent !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__select .select-selected {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 0 13px 0 0 !important;
    min-height: 18px !important;
    cursor: pointer !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__select .select-selected::after {
    content: "⌄" !important;
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-54%) !important;
    font-size: 12px !important;
    color: var(--ftc-brand-primary) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__select img {
    width: 13px !important;
    height: 13px !important;
    object-fit: contain !important;
    display: inline-block !important;
}

/* Fase 40.3: los SVG exportados de idioma/moneda contienen icono + texto + flecha completos.
   No se usan como <img> dentro del select para evitar que queden microscópicos y duplicados. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__select .select-selected,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__select .select-selected:hover,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__select .select-selected.active,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__select.open .select-selected {
    border: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    outline: 0 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__icon {
    display: inline-block !important;
    width: 14px !important;
    height: 14px !important;
    flex: 0 0 14px !important;
    background: currentColor !important;
    opacity: .95 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__icon--language {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c2.4 2.5 3.6 5.5 3.6 9S14.4 18.5 12 21M12 3c-2.4 2.5-3.6 5.5-3.6 9S9.6 18.5 12 21'/%3E%3C/svg%3E") center / contain no-repeat !important;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c2.4 2.5 3.6 5.5 3.6 9S14.4 18.5 12 21M12 3c-2.4 2.5-3.6 5.5-3.6 9S9.6 18.5 12 21'/%3E%3C/svg%3E") center / contain no-repeat !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__icon--currency {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 9h9M5 15h9'/%3E%3Cpath d='M18 6.6A7 7 0 1 0 18 17.4'/%3E%3C/svg%3E") center / contain no-repeat !important;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 9h9M5 15h9'/%3E%3Cpath d='M18 6.6A7 7 0 1 0 18 17.4'/%3E%3C/svg%3E") center / contain no-repeat !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__select .select-items .ftc-site-header__icon {
    width: 13px !important;
    height: 13px !important;
    flex-basis: 13px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__select .select-items {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    right: 0 !important;
    left: auto !important;
    min-width: 110px !important;
    max-height: min(320px, calc(100vh - 120px)) !important;
    background: #ffffff !important;
    border: 1px solid var(--border-base-secondary-soft, #eee7dc) !important;
    border-radius: 10px !important;
    box-shadow: 0 16px 40px rgba(54, 33, 69, .12) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    display: none !important;
    z-index: 9999 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__select .select-items.active {
    display: block !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__select .select-items div {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 9px 12px !important;
    color: var(--ftc-brand-primary) !important;
    font-size: 12px !important;
    line-height: 16px !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__select .select-items div:hover {
    background: var(--background-base-brand-soft, #f8f0fc) !important;
    color: var(--ftc-brand-primary) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__currency .select-selected span:last-child,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__currency .select-items div span:last-child {
    min-width: 26px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__select .select-items::-webkit-scrollbar {
    width: 6px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__select .select-items::-webkit-scrollbar-thumb {
    background: rgba(95, 58, 120, .28) !important;
    border-radius: 999px !important;
}

/* Fase 69 - Header componentes: la divisa usa el símbolo real configurado en exchange_rates.
   Antes se pintaba un icono fijo con forma de euro, por eso USD aparecía como "€ USD". */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__currency-symbol {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 10px !important;
    width: auto !important;
    height: auto !important;
    flex: 0 0 auto !important;
    background: transparent !important;
    color: currentColor !important;
    font-family: var(--font-action-nav-family, Inter), Inter, Arial, sans-serif !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__currency .select-items div .ftc-site-header__currency-symbol,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-mobile-menu__selector--currency .select-items div .ftc-site-header__currency-symbol {
    min-width: 12px !important;
    text-align: center !important;
}

/* Hero exacto base desktop */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero,
.visual-layout-page[data-design-system="ftc-foundations"] #inicio.ftc-home-hero {
    background: #ffffff !important;
    padding-top: 72px !important;
    padding-bottom: 82px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero .ve-section-inner {
    width: var(--ftc-hero-container) !important;
    max-width: 1440px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-grid {
    display: grid !important;
    grid-template-columns: minmax(310px, 390px) minmax(680px, 961px) !important;
    gap: 88px !important;
    align-items: center !important;
    justify-content: space-between !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-copy {
    max-width: 390px !important;
    text-align: left !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-copy *,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-copy .editable-html {
    text-align: left !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-copy h1 {
    margin: 0 0 36px !important;
    max-width: 390px !important;
    color: var(--ftc-brand-primary) !important;
    font-family: var(--font-display-hero-family, Signika), Signika, Inter, Arial, sans-serif !important;
    font-size: 64px !important;
    line-height: 1.03 !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-copy p {
    margin: 0 0 17px !important;
    max-width: 330px !important;
    color: var(--ftc-text-muted) !important;
    font-family: var(--font-body-default-family, Inter), Inter, Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.38 !important;
    font-weight: 400 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-grid .component-wrapper:has(.ftc-hero-image),
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-grid .component-content:has(.ftc-hero-image) {
    max-width: 961px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-image {
    width: 100% !important;
    max-width: 961px !important;
    height: auto !important;
    aspect-ratio: 961 / 546 !important;
    object-fit: cover !important;
    border-radius: 18px !important;
    display: block !important;
}

/* Sección experiencias según export Figma */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-experiences {
    background: var(--ftc-page-bg) !important;
    padding-top: 92px !important;
    padding-bottom: 36px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-experiences .ve-section-inner,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reservation-notes .ve-section-inner,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ve-section-inner,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ve-section-inner,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan .ve-section-inner,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ve-section-inner,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits .ve-section-inner,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reviews .ve-section-inner,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer .ve-section-inner {
    width: var(--ftc-home-container) !important;
    max-width: 1440px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-section-title-left {
    color: var(--foreground-base-primary-mid, #6d6254) !important;
    font-family: var(--font-display-section-family, Signika), Signika, Inter, Arial, sans-serif !important;
    font-size: 42px !important;
    line-height: 1.1 !important;
    font-weight: 600 !important;
    margin: 0 0 40px !important;
    text-align: left !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-section-title-left::after {
    content: "";
    display: block;
    width: 44px;
    height: 2px;
    background: var(--border-base-secondary-mid, #d8d0c2);
    margin-top: 18px;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-tour-grid.tour-cards-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 34px 36px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .tour-card {
    border: 1px solid var(--border-base-secondary-soft, #e8e0d4) !important;
    border-radius: 18px !important;
    box-shadow: none !important;
    background: #ffffff !important;
    overflow: hidden !important;
    transform: none !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .tour-card:hover,
.visual-layout-page[data-design-system="ftc-foundations"] .tour-card.selected {
    transform: none !important;
    border-color: var(--border-base-secondary-soft, #e8e0d4) !important;
    box-shadow: 0 14px 38px rgba(54, 33, 69, .08) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .tour-card-image {
    height: 280px !important;
    border-radius: 18px 18px 0 0 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .tour-card-badge {
    top: 238px !important;
    left: 18px !important;
    background: #ffffff !important;
    color: var(--foreground-base-primary-mid, #6d6254) !important;
    border-radius: 999px !important;
    padding: 7px 12px !important;
    font-size: 11px !important;
    line-height: 14px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    box-shadow: 0 6px 16px rgba(0,0,0,.08) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .tour-card-body {
    padding: 28px 24px 24px !important;
    gap: 16px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .tour-card-title {
    color: var(--foreground-base-primary-mid, #3c342b) !important;
    font-family: var(--font-title-card-family, Signika), Signika, Inter, Arial, sans-serif !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: .01em !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .tour-card-meta,
.visual-layout-page[data-design-system="ftc-foundations"] .tour-card-features {
    color: var(--ftc-text-muted) !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .tour-card-features li::before {
    content: none !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .tour-card-features li {
    padding-left: 0 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .tour-card-footer {
    border-top: 1px solid var(--border-base-secondary-soft, #eee8df) !important;
    padding-top: 24px !important;
    align-items: end !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .tour-card-price small {
    color: var(--foreground-base-secondary-soft, #8a7f71) !important;
    font-size: 11px !important;
    letter-spacing: .28em !important;
    text-transform: uppercase !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .tour-card-price strong {
    color: var(--ftc-brand-primary) !important;
    font-family: var(--font-display-price-family, Signika), Signika, Inter, Arial, sans-serif !important;
    font-size: 28px !important;
    line-height: 1 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .btn-select-tour {
    background: var(--background-action-primary-default, #5f3a78) !important;
    color: #ffffff !important;
    border-radius: 999px !important;
    min-width: 118px !important;
    min-height: 34px !important;
    padding: 9px 18px !important;
    font-size: 12px !important;
    line-height: 16px !important;
    font-weight: 700 !important;
    text-transform: none !important;
}

@media (max-width: 1280px) {
    .visual-layout-page[data-design-system="ftc-foundations"] {
        --ftc-home-container: min(1120px, calc(100% - 56px));
        --ftc-hero-container: min(1120px, calc(100% - 56px));
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__inner {
        grid-template-columns: 150px 1fr auto !important;
        gap: 28px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__logo img {
        width: 150px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__nav {
        gap: 30px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__actions {
        gap: 14px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-grid {
        grid-template-columns: minmax(300px, 390px) minmax(560px, 1fr) !important;
        gap: 64px !important;
    }
}

@media (max-width: 1024px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__inner {
        display: flex !important;
        justify-content: space-between !important;
        gap: 24px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__nav,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__actions a,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__divider {
        display: none !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-grid {
        grid-template-columns: 1fr !important;
        gap: 38px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-copy,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-copy p {
        max-width: 520px !important;
    }
}

@media (max-width: 720px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header {
        padding: 22px 0 16px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__logo img {
        width: 132px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__currency {
        display: none !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero {
        padding-top: 44px !important;
        padding-bottom: 58px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-copy h1 {
        font-size: 48px !important;
        line-height: 1.08 !important;
        margin-bottom: 24px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-copy p {
        font-size: 15px !important;
        line-height: 1.45 !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-tour-grid.tour-cards-grid {
        grid-template-columns: 1fr !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .tour-card-image {
        height: 220px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .tour-card-badge {
        top: 178px !important;
    }
}


/* Fase 40.5 - Experiencias + notas según Figma */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-image img {
    object-fit: cover !important;
    object-position: center center !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reservation-notes {
    padding-top: 6px !important;
    padding-bottom: 74px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-notes-title {
    grid-column: 1 / -1;
    width: 100%;
    margin: 0 0 26px 0;
    color: var(--foreground-base-primary-strong, #2f2a21);
    font-size: 20px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0;
    text-align: center;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-notes-grid {
    border-top: 0 !important;
    padding-top: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 72px !important;
    align-items: start !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-note-item {
    display: grid !important;
    grid-template-columns: 48px 1fr !important;
    gap: 22px !important;
    align-items: center !important;
    color: var(--foreground-base-secondary, #665c48) !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    text-align: left !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-note-item .ftc-note-icon,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-note-item > span:first-child {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 48px 48px !important;
    color: transparent !important;
    font-size: 0 !important;
    overflow: hidden !important;
    display: block !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-note-item .ftc-note-icon img {
    width: 48px !important;
    height: 48px !important;
    display: block !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-note-item:nth-child(1) > span:first-child { background-image: url('/styles/componentes/assets/icon-note-1.svg'); }
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-note-item:nth-child(2) > span:first-child { background-image: url('/styles/componentes/assets/icon-note-2.svg'); }
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-note-item:nth-child(3) > span:first-child { background-image: url('/styles/componentes/assets/icon-note-3.svg'); }
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-note-item p {
    margin: 0 !important;
}
@media (max-width: 900px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-notes-grid {
        grid-template-columns: 1fr !important;
        gap: 22px !important;
    }
}

/* Fase 40.7 - bloque “Tras realizar tu reserva” editable y fiel al Figma */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reservation-notes .ve-section-inner {
    border-top: 1px solid var(--border-base-default-subtle, #ddd7c9) !important;
    padding-top: 44px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reservation-notes .component-wrapper[data-type="heading"] {
    grid-column: 1 / -1 !important;
    width: 100% !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reservation-notes .ftc-notes-title {
    display: block !important;
    width: 100% !important;
    margin: 0 0 34px 0 !important;
    color: var(--foreground-base-primary-strong, #2f2a21) !important;
    font-family: var(--font-family-body, Inter, system-ui, sans-serif) !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
    text-align: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reservation-notes .ftc-notes-grid {
    border-top: 0 !important;
    padding-top: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reservation-notes .component-wrapper[data-type="rich_text"] {
    min-width: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reservation-notes .editable-rich-text.ftc-note-item {
    cursor: text !important;
}


/* Fase 40.8 - Descubre el Alcázar ajustado al export Figma */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover {
    background: #ffffff !important;
    padding-top: 86px !important;
    padding-bottom: 96px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ve-section-inner {
    width: min(1440px, calc(100% - 96px)) !important;
    max-width: 1440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-section-head-center {
    max-width: 520px !important;
    margin: 0 auto 72px !important;
    text-align: center !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-section-head-center h2 {
    margin: 0 !important;
    color: var(--foreground-base-primary-mid, #6d6254) !important;
    font-family: var(--font-display-section-family, Signika), Signika, Inter, Arial, sans-serif !important;
    font-size: 40px !important;
    line-height: 1.1 !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-section-head-center h2::after {
    content: "";
    display: block;
    width: 48px;
    height: 1px;
    margin: 18px auto 28px;
    background: var(--border-base-secondary-strong, #8f8576);
    opacity: .9;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-section-head-center p {
    max-width: 468px !important;
    margin: 0 auto !important;
    color: var(--foreground-base-primary-mid, #6d6254) !important;
    font-family: var(--font-body-default-family, Inter), Inter, Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-gallery-mosaic {
    width: 100% !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-gallery-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 2.08fr) minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-rows: 282px 282px !important;
    gap: 24px !important;
    align-items: stretch !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-gallery-grid img {
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    display: block !important;
    object-fit: cover !important;
    border: 0 !important;
    border-radius: 16px !important;
    box-shadow: none !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-gallery-grid .ftc-gallery-main {
    grid-column: 1 / 2 !important;
    grid-row: 1 / 3 !important;
}
@media (max-width: 1199px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ve-section-inner {
        width: min(100% - 48px, 960px) !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-gallery-grid {
        grid-template-columns: 1fr 1fr !important;
        grid-template-rows: auto !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-gallery-grid .ftc-gallery-main {
        grid-column: 1 / 3 !important;
        grid-row: auto !important;
        aspect-ratio: 16 / 10 !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-gallery-grid img:not(.ftc-gallery-main) {
        aspect-ratio: 4 / 3 !important;
    }
}
@media (max-width: 767px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover {
        padding-top: 56px !important;
        padding-bottom: 64px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ve-section-inner {
        width: min(100% - 32px, 520px) !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-section-head-center {
        margin-bottom: 36px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-section-head-center h2 {
        font-size: 32px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-gallery-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-gallery-grid .ftc-gallery-main {
        grid-column: auto !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-gallery-grid img,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-gallery-grid .ftc-gallery-main {
        aspect-ratio: 16 / 10 !important;
    }
}

/* Fase 40.9 - Explora el Alcázar: carrusel y estilo Figma */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore {
    background: #f0ebe1 !important;
    padding-top: 86px !important;
    padding-bottom: 100px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore > .ve-section-inner {
    max-width: 1180px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-section-head-row {
    align-items: flex-start !important;
    margin-bottom: 52px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-section-head-row h2 {
    position: relative;
    color: #5b554b !important;
    font-family: var(--font-display-section-family, Signika), Signika, Inter, Arial, sans-serif !important;
    font-size: clamp(34px, 3.1vw, 48px) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.035em !important;
    font-weight: 700 !important;
    margin: 0 !important;
    padding-bottom: 20px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-section-head-row h2::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 38px;
    height: 1px;
    background: #8d846f;
    opacity: .9;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-slider-dots {
    display: none !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-carousel-arrows {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
    flex: 0 0 auto;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-carousel-arrow {
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 999px;
    background: #fff;
    color: #6a6258;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    line-height: 1;
    font-family: Arial, sans-serif;
    box-shadow: 0 2px 8px rgba(44, 35, 24, .06);
    cursor: pointer;
    transition: opacity .18s ease, transform .18s ease, box-shadow .18s ease;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-carousel-arrow:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(44, 35, 24, .12);
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-carousel-arrow:disabled {
    opacity: .42;
    cursor: default;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-carousel-arrows.is-static .ftc-carousel-arrow {
    opacity: .75;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-grid {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: calc((100% - 84px) / 4) !important;
    grid-template-columns: none !important;
    gap: 28px !important;
    overflow-x: auto;
    overflow-y: visible;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    padding-bottom: 4px;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-grid::-webkit-scrollbar {
    display: none;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-grid > .ve-card,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-grid > .component-wrapper {
    scroll-snap-align: start;
    min-width: 0;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-card {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    min-height: 100%;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-card .ftc-article-img,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-card img.ftc-article-img,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-card img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 374 / 280 !important;
    object-fit: cover !important;
    border-radius: 16px !important;
    border: 0 !important;
    display: block;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-content {
    padding-top: 24px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-content h3 {
    color: #463f37 !important;
    font-family: var(--font-title-card-family, Signika), Signika, Inter, Arial, sans-serif !important;
    font-size: 23px !important;
    line-height: 1.16 !important;
    letter-spacing: -0.025em !important;
    font-weight: 700 !important;
    margin: 0 0 22px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-content p {
    color: #6d665d !important;
    font-family: var(--font-body-family, Inter), Inter, Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.68 !important;
    margin: 0 0 32px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-content a {
    color: #3b194f !important;
    font-family: var(--font-body-family, Inter), Inter, Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 1 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

@media (max-width: 1024px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-grid {
        grid-auto-columns: calc((100% - 28px) / 2) !important;
    }
}
@media (max-width: 720px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore {
        padding-top: 64px !important;
        padding-bottom: 72px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-section-head-row {
        margin-bottom: 34px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-grid {
        grid-auto-columns: min(82vw, 320px) !important;
        gap: 20px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-content h3 {
        font-size: 21px !important;
    }
}

/* Fase 40.10 - ftc_article_carousel componente real y escalable */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel.ftc-explore,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore.ftc-article-carousel {
    background: var(--background-base-default-soft) !important;
    color: var(--foreground-base-primary-strong) !important;
    padding-block: var(--layout-section-y-spacing, 88px) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-article-carousel-inner {
    max-width: var(--layout-container-max, 1180px) !important;
    margin-inline: auto !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: var(--spacing-lg, 32px) !important;
    margin-bottom: var(--spacing-3xl, 52px) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel-head h2 {
    position: relative !important;
    color: var(--foreground-base-primary-strong) !important;
    font-family: var(--font-display-section-family, Signika), Signika, Inter, Arial, sans-serif !important;
    font-size: var(--font-display-section-size, 48px) !important;
    line-height: var(--font-display-section-line-height, 56px) !important;
    letter-spacing: var(--font-display-section-letter-spacing, 0) !important;
    font-weight: 700 !important;
    margin: 0 !important;
    padding-bottom: var(--spacing-md, 20px) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel-head h2::after {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 38px !important;
    height: 1px !important;
    background: var(--border-base-primary-strong) !important;
    opacity: .9 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-carousel-arrows {
    display: inline-flex !important;
    align-items: center !important;
    gap: var(--spacing-xs, 8px) !important;
    margin-top: var(--spacing-md, 18px) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-carousel-arrow {
    width: 32px !important;
    height: 32px !important;
    border: 0 !important;
    border-radius: var(--radius-full, 999px) !important;
    background: var(--background-action-ghost-default, #fff) !important;
    color: var(--foreground-base-secondary-mid) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 24px !important;
    line-height: 1 !important;
    box-shadow: 0 2px 8px rgba(44, 35, 24, .06) !important;
    cursor: pointer !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-carousel-arrow:disabled {
    opacity: .42 !important;
    cursor: default !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-article-grid {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: calc((100% - (var(--spacing-xl, 28px) * (var(--ftc-visible-items, 4) - 1))) / var(--ftc-visible-items, 4)) !important;
    grid-template-columns: none !important;
    gap: var(--spacing-xl, 28px) !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: none !important;
    padding-bottom: 4px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-article-grid::-webkit-scrollbar {
    display: none !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-article-card {
    scroll-snap-align: start !important;
    min-width: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-article-media,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-article-media img {
    display: block !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-article-media img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 374 / 280 !important;
    object-fit: cover !important;
    border-radius: var(--radius-lg, 16px) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-article-content {
    padding-top: var(--spacing-lg, 24px) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-article-content h3 {
    color: var(--foreground-base-primary-strong) !important;
    font-family: var(--font-title-card-family, Signika), Signika, Inter, Arial, sans-serif !important;
    font-size: var(--font-title-card-size, 23px) !important;
    line-height: var(--font-title-card-line-height, 30px) !important;
    letter-spacing: var(--font-title-card-letter-spacing, 0) !important;
    font-weight: 700 !important;
    margin: 0 0 var(--spacing-md, 22px) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-article-content p {
    color: var(--foreground-base-secondary-mid) !important;
    font-family: var(--font-body-default-family, Inter), Inter, Arial, sans-serif !important;
    font-size: var(--font-body-support-size, 14px) !important;
    line-height: var(--font-body-support-line-height, 22px) !important;
    margin: 0 0 var(--spacing-xl, 32px) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-article-link {
    color: var(--foreground-action-link-default) !important;
    font-family: var(--font-action-secondary-family, Inter), Inter, Arial, sans-serif !important;
    font-size: var(--font-action-secondary-size, 12px) !important;
    line-height: var(--font-action-secondary-line-height, 16px) !important;
    text-transform: uppercase !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}
@media (max-width: 1024px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-article-grid {
        --ftc-visible-items: 2;
    }
}
@media (max-width: 720px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel {
        padding-block: 64px 72px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel-head {
        margin-bottom: 34px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-article-grid {
        grid-auto-columns: min(82vw, 320px) !important;
        gap: 20px !important;
    }
}

/* Fase 40.12 - Explora como sección compuesta editable por piezas.
   Mantiene diseño oficial, pero cada imagen/título/texto/enlace vuelve a ser componente editable. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore.ftc-article-carousel-editable > .ve-section-inner {
    position: relative !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-heading {
    position: relative !important;
    color: var(--foreground-base-primary-strong, #463f37) !important;
    font-family: var(--font-display-section-family, Signika), Signika, Inter, Arial, sans-serif !important;
    font-size: var(--font-display-section-size, clamp(34px, 3.1vw, 48px)) !important;
    line-height: var(--font-display-section-line-height, 1.04) !important;
    letter-spacing: var(--font-display-section-letter-spacing, -0.035em) !important;
    font-weight: 700 !important;
    margin: 0 0 var(--spacing-3xl, 52px) !important;
    padding-bottom: var(--spacing-md, 20px) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-heading::after {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 38px !important;
    height: 1px !important;
    background: var(--border-base-primary-strong, #8d846f) !important;
    opacity: .9 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-carousel-controls-slot,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore > .ve-section-inner > .component-wrapper[data-type="rich_text"] .ftc-carousel-controls-slot {
    position: absolute !important;
    top: 18px !important;
    right: 0 !important;
    margin: 0 !important;
    width: auto !important;
    min-width: 0 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-title {
    color: var(--foreground-base-primary-strong, #463f37) !important;
    font-family: var(--font-title-card-family, Signika), Signika, Inter, Arial, sans-serif !important;
    font-size: var(--font-title-card-size, 23px) !important;
    line-height: var(--font-title-card-line-height, 30px) !important;
    letter-spacing: var(--font-title-card-letter-spacing, -0.02em) !important;
    font-weight: 700 !important;
    text-align: left !important;
    margin: var(--spacing-lg, 24px) 0 var(--spacing-md, 22px) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-text {
    color: var(--foreground-base-secondary-mid, #6d665d) !important;
    font-family: var(--font-body-default-family, Inter), Inter, Arial, sans-serif !important;
    font-size: var(--font-body-support-size, 14px) !important;
    line-height: var(--font-body-support-line-height, 22px) !important;
    text-align: left !important;
    margin: 0 0 var(--spacing-xl, 32px) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-text p {
    margin: 0 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-link {
    align-self: flex-start !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--foreground-action-link-default, #3b194f) !important;
    font-family: var(--font-action-secondary-family, Inter), Inter, Arial, sans-serif !important;
    font-size: var(--font-action-secondary-size, 12px) !important;
    line-height: var(--font-action-secondary-line-height, 16px) !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}
@media (max-width: 720px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-carousel-controls-slot {
        position: static !important;
        margin: -18px 0 28px auto !important;
    }
}
/* Fase 40.13 - Explore section aligned to Figma + DS tokens */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore {
    background: var(--background-base-default-soft, #f0ebe1) !important;
    color: var(--foreground-base-primary-strong, #2d2924) !important;
    padding-block: clamp(76px, 6vw, 104px) clamp(84px, 7vw, 116px) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore > .ve-section-inner,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-article-carousel-inner {
    width: min(var(--layout-container-content, 1440px), calc(100vw - (var(--layout-section-x-spacing, 64px) * 2))) !important;
    max-width: var(--layout-container-content, 1440px) !important;
    margin-inline: auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-section-head-row,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: var(--layout-elements-gap-loose, 24px) !important;
    margin: 0 0 clamp(42px, 4vw, 56px) !important;
    width: 100% !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-section-head-row h2,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel-head h2,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore > .ve-section-inner > .component-wrapper:first-child h2 {
    position: relative !important;
    color: var(--foreground-base-primary-strong, #2d2924) !important;
    font-family: var(--font-display-section-family, Signika), Signika, Inter, Arial, sans-serif !important;
    font-size: clamp(36px, 2.55vw, var(--font-display-section-size, 48px)) !important;
    line-height: var(--font-display-section-line-height, 56px) !important;
    letter-spacing: var(--font-display-section-letter-spacing, 0) !important;
    font-weight: 700 !important;
    margin: 0 !important;
    padding-bottom: var(--layout-elements-inset-cozy, 16px) !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-section-head-row h2::after,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel-head h2::after,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore > .ve-section-inner > .component-wrapper:first-child h2::after {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 42px !important;
    height: 1px !important;
    background: var(--border-base-primary-soft, var(--foreground-base-tertiary-mid, #8d846f)) !important;
    opacity: .95 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-carousel-arrows,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-carousel-arrows {
    display: inline-flex !important;
    align-items: center !important;
    gap: var(--layout-elements-gap-tight, 8px) !important;
    margin-top: clamp(10px, 1.2vw, 18px) !important;
    flex: 0 0 auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-carousel-arrow,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-carousel-arrow {
    width: 32px !important;
    height: 32px !important;
    border: 0 !important;
    border-radius: var(--radius-full, 999px) !important;
    background: var(--background-action-ghost-default, #fff) !important;
    color: transparent !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0 !important;
    line-height: 1 !important;
    box-shadow: 0 2px 8px rgba(44, 35, 24, .06) !important;
    cursor: pointer !important;
    transition: transform .18s ease, opacity .18s ease, box-shadow .18s ease !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-carousel-arrow::before,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-carousel-arrow::before {
    color: var(--foreground-base-secondary-mid, #6a6258) !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    transform: translateY(-1px) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-carousel-prev::before { content: '\2039' !important; }
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-carousel-next::before { content: '\203A' !important; }

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-carousel-arrow:hover:not(:disabled),
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-carousel-arrow:hover:not(:disabled) {
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 14px rgba(44, 35, 24, .12) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-carousel-arrow:disabled,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-carousel-arrow:disabled {
    opacity: .42 !important;
    cursor: default !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-grid,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-article-grid {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: calc((100% - (var(--layout-elements-gap-loose, 28px) * 3)) / 4) !important;
    grid-template-columns: none !important;
    gap: var(--layout-elements-gap-loose, 28px) !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: none !important;
    padding-bottom: 4px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-grid::-webkit-scrollbar,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-article-grid::-webkit-scrollbar {
    display: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-grid > .ve-card,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-grid > .component-wrapper,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-article-card {
    scroll-snap-align: start !important;
    min-width: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-card .ftc-article-img,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-card img.ftc-article-img,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-card img,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-article-media img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 374 / 280 !important;
    object-fit: cover !important;
    border-radius: var(--radius-lg, 16px) !important;
    border: 0 !important;
    display: block !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-content,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-article-content {
    padding-top: var(--layout-elements-inset-spacious, 24px) !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-content h3,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-article-content h3 {
    color: var(--foreground-base-primary-strong, #2d2924) !important;
    font-family: var(--font-title-card-family, Signika), Signika, Inter, Arial, sans-serif !important;
    font-size: var(--font-title-card-size, 24px) !important;
    line-height: var(--font-title-card-line-height, 32px) !important;
    letter-spacing: var(--font-title-card-letter-spacing, 0) !important;
    font-weight: 700 !important;
    margin: 0 0 var(--layout-elements-inset-spacious, 24px) !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-content p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-article-content p {
    color: var(--foreground-base-secondary-mid, #6d665d) !important;
    font-family: var(--font-body-default-family, Inter), Inter, Arial, sans-serif !important;
    font-size: var(--font-body-support-size, 14px) !important;
    line-height: var(--font-body-support-line-height, 22px) !important;
    margin: 0 0 var(--layout-elements-inset-expanded, 32px) !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-content a,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-article-link {
    color: var(--foreground-action-secondary-default, var(--foreground-base-brand-emphasis, #3b194f)) !important;
    font-family: var(--font-action-secondary-family, Inter), Inter, Arial, sans-serif !important;
    font-size: var(--font-action-secondary-size, 12px) !important;
    line-height: var(--font-action-secondary-line-height, 16px) !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-content a::after {
    content: '\203A' !important;
    font-size: 14px !important;
    line-height: 1 !important;
    transform: translateY(-1px) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-read-more-icon,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-article-link span[aria-hidden="true"] {
    font-size: 14px !important;
    line-height: 1 !important;
    transform: translateY(-1px) !important;
}

@media (max-width: 1180px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-article-grid {
        grid-auto-columns: calc((100% - var(--layout-elements-gap-loose, 28px)) / 2) !important;
    }
}

@media (max-width: 720px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore {
        padding-block: 64px 72px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-article-carousel-inner {
        width: min(var(--layout-container-content, 350px), calc(100vw - (var(--layout-section-x-spacing, 24px) * 2))) !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-section-head-row,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel-head {
        margin-bottom: 34px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-article-grid {
        grid-auto-columns: min(82vw, 320px) !important;
        gap: 20px !important;
    }
}


/* Fase 40.14 - Explora: alineacion final y tokens Design System
   Este bloque NO cambia la estructura editable. Solo normaliza el layout visual.
   Usa tokens semanticos del Design System: color, font, layout, radius. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore {
    background: var(--background-base-default-soft) !important;
    color: var(--foreground-base-primary-strong) !important;
    padding-block: var(--layout-section-y-spacing) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore > .ve-section-inner {
    width: min(var(--layout-container-content), calc(100% - (var(--layout-section-x-spacing) * 2))) !important;
    max-width: min(var(--layout-container-content), calc(100% - (var(--layout-section-x-spacing) * 2))) !important;
    margin-inline: auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-section-head-row {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: calc(var(--layout-elements-gap-loose) * 2) !important;
    margin-bottom: calc(var(--layout-elements-inset-expanded) * 1.45) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-section-head-row h2,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore > .ve-section-inner > .component-wrapper:first-child h2,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore > .ve-section-inner > h2 {
    position: relative !important;
    color: var(--foreground-base-primary-strong) !important;
    font-family: var(--font-display-section-family), var(--font-display-family), sans-serif !important;
    font-size: var(--font-display-section-size) !important;
    line-height: var(--font-display-section-line-height) !important;
    letter-spacing: var(--font-display-section-letter-spacing) !important;
    font-weight: 700 !important;
    margin: 0 !important;
    padding-bottom: var(--layout-elements-inset-loose) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-section-head-row h2::after,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore > .ve-section-inner > .component-wrapper:first-child h2::after,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore > .ve-section-inner > h2::after {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 44px !important;
    height: 1px !important;
    background: var(--border-base-primary-mid) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-carousel-arrows {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: var(--layout-elements-gap-tight) !important;
    margin-top: var(--layout-elements-inset-cozy) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-carousel-arrow {
    inline-size: 32px !important;
    block-size: 32px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: var(--radius-full) !important;
    background: var(--background-action-ghost-default) !important;
    color: var(--foreground-action-ghost-default) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: var(--font-action-compact-size) !important;
    line-height: var(--font-action-compact-line-height) !important;
    box-shadow: 0 2px 8px rgba(44, 35, 24, .06) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-grid {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-template-columns: none !important;
    grid-auto-columns: calc((100% - (calc(var(--layout-elements-gap-loose) * 6))) / 4) !important;
    gap: calc(var(--layout-elements-gap-loose) * 2) !important;
    align-items: stretch !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: none !important;
    padding-bottom: var(--layout-elements-inset-compact) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-grid::-webkit-scrollbar {
    display: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-grid > .ve-card,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-grid > .component-wrapper,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-card {
    min-width: 0 !important;
    height: 100% !important;
    scroll-snap-align: start !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-card {
    display: flex !important;
    flex-direction: column !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-card .sortable-container {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-card img,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-card img.ftc-article-img,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-card .ftc-article-img {
    width: 100% !important;
    aspect-ratio: 374 / 280 !important;
    object-fit: cover !important;
    border-radius: var(--radius-lg) !important;
    display: block !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-content {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    padding-top: var(--layout-elements-inset-spacious) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-content h3,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-card h3 {
    color: var(--foreground-base-primary-strong) !important;
    font-family: var(--font-title-card-family), var(--font-display-family), sans-serif !important;
    font-size: var(--font-title-card-size) !important;
    line-height: var(--font-title-card-line-height) !important;
    letter-spacing: var(--font-title-card-letter-spacing) !important;
    font-weight: 700 !important;
    margin: 0 0 var(--layout-elements-inset-spacious) !important;
    min-height: calc(var(--font-title-card-line-height) * 2.4) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-content p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-card p {
    color: var(--foreground-base-secondary-mid) !important;
    font-family: var(--font-body-support-family), var(--font-body-family), sans-serif !important;
    font-size: var(--font-body-support-size) !important;
    line-height: var(--font-body-support-line-height) !important;
    letter-spacing: var(--font-body-support-letter-spacing) !important;
    margin: 0 0 var(--layout-elements-inset-expanded) !important;
    min-height: calc(var(--font-body-support-line-height) * 4.2) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-content a,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-card a,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-link {
    color: var(--foreground-action-link-default) !important;
    font-family: var(--font-action-secondary-family), var(--font-body-family), sans-serif !important;
    font-size: var(--font-action-secondary-size) !important;
    line-height: var(--font-action-secondary-line-height) !important;
    letter-spacing: var(--font-action-secondary-letter-spacing) !important;
    text-transform: uppercase !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: var(--layout-elements-gap-tight) !important;
    margin-top: auto !important;
    width: fit-content !important;
}

/* Si la flecha ya viene del texto en theme_texts, no añadimos otra por CSS. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-content a::after,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-link::after {
    content: none !important;
}

@media (max-width: 1024px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-grid {
        grid-auto-columns: calc((100% - (calc(var(--layout-elements-gap-loose) * 2))) / 2) !important;
    }
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore > .ve-section-inner {
        width: min(var(--layout-container-content), calc(100% - (var(--layout-section-x-spacing) * 2))) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-section-head-row {
        margin-bottom: var(--layout-elements-inset-expanded) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-grid {
        grid-auto-columns: 86% !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-content h3,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-card h3,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-content p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-card p {
        min-height: 0 !important;
    }
}

/* ===========================================================================
   Home QA alignment — approved Desktop Home 4783:67531 (2026-08-11)
   Keep this scoped layer page-scoped: landing-presets contains legacy layouts
   for other routes and brands that must not inherit these corrections.
   ========================================================================== */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] {
    font-family: var(--font-body-family, "Inter"), Inter, Arial, sans-serif !important;
}

/* Header: there is no Experiencias dropdown yet, so no disclosure caret is
   rendered. The CSS guard also covers already-cached/persisted markup. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header__nav-caret {
    display: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header__actions,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header__actions > *,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header__actions > a,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header__select,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header__select .select-selected {
    align-items: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header__actions > a {
    display: inline-flex !important;
    min-height: var(--icon-sm, 16px) !important;
    line-height: var(--icon-sm, 16px) !important;
}

/* Experience cards: approved internal divider and clean availability label. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-title::after {
    content: "" !important;
    display: block !important;
    width: 40px !important;
    height: var(--stroke-sm, 1px) !important;
    margin-top: var(--layout-elements-gap-tight, 8px) !important;
    border: 0 !important;
    border-radius: 1px !important;
    background: var(--background-base-default-strong, #ded9d0) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-meta span::before {
    content: none !important;
    display: none !important;
    margin: 0 !important;
}

/* The three post-booking notes are vertical from tablet upwards and become
   compact horizontal rows on phones, as in the approved responsive contract. */
@media (min-width: 769px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-reservation-notes .ftc-note-item {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: var(--layout-elements-inset-cozy, 16px) !important;
        width: 100% !important;
        text-align: center !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-reservation-notes .ftc-note-icon,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-reservation-notes .ftc-note-item > span:first-child {
        align-self: center !important;
        flex: 0 0 48px !important;
        width: 48px !important;
        height: 48px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-reservation-notes .ftc-note-item p {
        width: 100% !important;
        margin: 0 !important;
        text-align: center !important;
    }
}

/* FAQ secondary button and links use the semantic interaction states from the
   design system rather than the legacy pressed/underline combination. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-faq .ftc-more a {
    width: auto !important;
    min-width: 0 !important;
    min-height: 44px !important;
    padding: var(--layout-elements-inset-tight, 12px) var(--layout-elements-inset-cozy, 16px) !important;
    border: var(--stroke-sm, 1px) solid var(--border-action-secondary-default, #665c48) !important;
    border-radius: var(--radius-2xl, 32px) !important;
    background: var(--background-action-ghost-default, transparent) !important;
    color: var(--foreground-action-secondary-default, #665c48) !important;
    font-family: var(--font-action-primary-family, var(--font-body-family, "Inter")), Inter, Arial, sans-serif !important;
    font-size: var(--font-action-primary-size, 14px) !important;
    line-height: var(--font-action-primary-line-height, 20px) !important;
    font-weight: 600 !important;
    letter-spacing: var(--font-action-primary-letter-spacing, .7px) !important;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-faq .ftc-more a:hover {
    border-color: var(--border-action-secondary-hover, #84775d) !important;
    background: var(--background-action-ghost-hover, #fbf8f1) !important;
    color: var(--foreground-action-secondary-hover, #82620b) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-faq .ftc-more a:focus-visible {
    border-color: var(--border-action-secondary-focus, #d5b96f) !important;
    outline: 3px solid var(--border-action-secondary-focus, #d5b96f) !important;
    outline-offset: 3px !important;
    background: var(--background-action-ghost-focus, #f5eedb) !important;
    color: var(--foreground-action-secondary-focus, #c7a23f) !important;
}

/* Location/address link and footer links share the approved semantic link
   states. A box-shadow supplies the hover surface without changing layout. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] :is(
    .ftc-location-card-link,
    .ftc-explore .ftc-article-link,
    .ftc-footer a:not(.ftc-footer-logo-link):not(.ftc-footer-top-link)
) {
    color: var(--foreground-action-link-default, #b98b0f) !important;
    border-radius: var(--radius-xs, 4px) !important;
    text-decoration: none !important;
    transition: color .18s ease, background-color .18s ease, box-shadow .18s ease !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] :is(
    .ftc-location-card-link,
    .ftc-explore .ftc-article-link,
    .ftc-footer a:not(.ftc-footer-logo-link):not(.ftc-footer-top-link)
):hover {
    color: var(--foreground-action-link-hover, #82620b) !important;
    background: var(--background-action-link-hover, #fbf8f1) !important;
    box-shadow: 0 0 0 4px var(--background-action-link-hover, #fbf8f1) !important;
    text-decoration: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] :is(
    .ftc-location-card-link,
    .ftc-explore .ftc-article-link,
    .ftc-footer a:not(.ftc-footer-logo-link):not(.ftc-footer-top-link)
):focus-visible {
    color: var(--foreground-action-link-focus, #c7a23f) !important;
    outline: 3px solid var(--border-action-secondary-focus, #d5b96f) !important;
    outline-offset: 4px !important;
    background: var(--background-action-link-focus, #c7a23f) !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

/* Approved 44px secondary icon button for back-to-top. The literal fallback
   arrow stays in the HTML for resilience but is visually replaced by the SVG. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-footer-top-link {
    box-sizing: border-box !important;
    display: inline-flex !important;
    flex: 0 0 44px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 9px !important;
    border: var(--stroke-sm, 1px) solid var(--border-action-secondary-default, #665c48) !important;
    border-radius: var(--radius-full, 999px) !important;
    background: var(--background-action-ghost-default, transparent) !important;
    color: var(--foreground-action-secondary-default, #665c48) !important;
    font-size: 0 !important;
    line-height: 0 !important;
    transform: none !important;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-footer-top-link::before {
    content: "" !important;
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    background: currentColor !important;
    -webkit-mask: url('/styles/componentes/assets/icons/long-arrow-right.svg') center / 24px 24px no-repeat !important;
    mask: url('/styles/componentes/assets/icons/long-arrow-right.svg') center / 24px 24px no-repeat !important;
    transform: rotate(-90deg) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-footer-top-link:hover {
    border-color: var(--border-action-secondary-hover, #84775d) !important;
    background: var(--background-action-ghost-hover, #fbf8f1) !important;
    color: var(--foreground-action-secondary-hover, #82620b) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-footer-top-link:focus-visible {
    border-color: var(--border-action-secondary-focus, #d5b96f) !important;
    outline: 3px solid var(--border-action-secondary-focus, #d5b96f) !important;
    outline-offset: 3px !important;
}

@media (min-width: 1200px) {
    /* One 1440px content contract across every composed Home section. */
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] :is(
        .ftc-experiences,
        .ftc-reservation-notes,
        .ftc-discover,
        .ftc-explore,
        .ftc-plan,
        .ftc-how,
        .ftc-benefits,
        .ftc-faq,
        .ftc-footer
    ) > .ve-section-inner {
        box-sizing: border-box !important;
        width: min(var(--layout-container-content, 1440px), calc(100% - 144px)) !important;
        max-width: var(--layout-container-content, 1440px) !important;
        margin-inline: auto !important;
    }

    /* Experiences + after-booking reproduce the single 1830px approved block
       while retaining the CMS's two adjacent dynamic sections. */
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-experiences {
        padding: 128px 72px 48px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-experiences .tour-cards-grid {
        margin-top: 48px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-reservation-notes {
        padding: 0 72px 128px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-reservation-notes > .ve-section-inner {
        padding-top: 48px !important;
        border-top: var(--stroke-sm, 1px) solid var(--border-base-secondary-mid, #ded9d0) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-reservation-notes .ftc-notes-title {
        margin: 0 0 48px !important;
        text-align: center !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-reservation-notes .ftc-notes-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 48px !important;
        width: 100% !important;
    }

    /* Explore carousel — dimensions, clipping, cards and icon buttons from
       Figma 4783:67573. */
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore {
        box-sizing: border-box !important;
        min-height: 876px !important;
        padding: 128px 72px !important;
        overflow: hidden !important;
        background: var(--background-base-default-mid, #f0ebe1) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore > .ve-section-inner {
        position: relative !important;
        overflow: visible !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore .ftc-article-heading {
        box-sizing: border-box !important;
        min-height: 72px !important;
        margin: 0 !important;
        padding: 0 0 24px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore .ftc-article-heading::after {
        width: 48px !important;
        height: var(--stroke-sm, 1px) !important;
        margin-top: 24px !important;
        background: var(--background-base-default-strong, #ded9d0) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore .ftc-carousel-controls-slot {
        position: absolute !important;
        top: 30px !important;
        right: 0 !important;
        bottom: auto !important;
        left: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 10px !important;
        width: 94px !important;
        height: 42px !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore .ftc-carousel-arrow {
        box-sizing: border-box !important;
        display: inline-flex !important;
        flex: 0 0 42px !important;
        align-items: center !important;
        justify-content: center !important;
        width: 42px !important;
        height: 42px !important;
        margin: 0 !important;
        padding: 8px !important;
        border: var(--stroke-sm, 1px) solid var(--border-action-secondary-default, #665c48) !important;
        border-radius: var(--radius-full, 999px) !important;
        background: var(--background-action-ghost-default, transparent) !important;
        color: var(--foreground-action-secondary-default, #665c48) !important;
        box-shadow: none !important;
        font-size: 0 !important;
        line-height: 0 !important;
        transform: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore .ftc-carousel-arrow::before {
        content: "" !important;
        position: static !important;
        display: block !important;
        width: 24px !important;
        height: 24px !important;
        background: currentColor !important;
        -webkit-mask: url('/styles/componentes/assets/icons/long-arrow-right.svg') center / 24px 24px no-repeat !important;
        mask: url('/styles/componentes/assets/icons/long-arrow-right.svg') center / 24px 24px no-repeat !important;
        transform: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore .ftc-carousel-prev::before {
        transform: rotate(180deg) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore .ftc-carousel-arrow:hover:not(:disabled) {
        border-color: var(--border-action-secondary-hover, #84775d) !important;
        background: var(--background-action-ghost-hover, #fbf8f1) !important;
        color: var(--foreground-action-secondary-hover, #82620b) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore .ftc-carousel-arrow:disabled {
        border-color: var(--border-action-secondary-disabled, #ded9d0) !important;
        background: var(--background-action-secondary-disabled, #faf8f3) !important;
        color: var(--foreground-action-secondary-disabled, #a09a8d) !important;
        opacity: 1 !important;
        cursor: default !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore .ftc-article-grid {
        display: grid !important;
        grid-template-columns: none !important;
        grid-auto-flow: column !important;
        grid-auto-columns: 376px !important;
        align-items: start !important;
        gap: 32px !important;
        width: 100% !important;
        max-width: none !important;
        height: 500px !important;
        margin: 48px 0 0 !important;
        padding: 0 !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-behavior: smooth !important;
        scroll-snap-type: x mandatory !important;
        scrollbar-width: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore .ftc-article-grid::-webkit-scrollbar {
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore .ftc-article-card {
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0 !important;
        width: 376px !important;
        min-width: 376px !important;
        max-width: 376px !important;
        height: 500px !important;
        min-height: 500px !important;
        margin: 0 !important;
        padding: 0 !important;
        scroll-snap-align: start !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore .ftc-article-img {
        flex: 0 0 280px !important;
        width: 376px !important;
        height: 280px !important;
        margin: 0 0 24px !important;
        border-radius: var(--radius-lg, 16px) !important;
        object-fit: cover !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore .ftc-article-title {
        display: -webkit-box !important;
        width: 100% !important;
        min-height: 64px !important;
        max-height: 64px !important;
        margin: 0 !important;
        overflow: hidden !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
        white-space: normal !important;
        text-overflow: ellipsis !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore .ftc-article-card > .cmp-rich_text {
        flex: 1 1 auto !important;
        width: 100% !important;
        min-height: 0 !important;
        margin: 8px 0 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore .ftc-article-text,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore .ftc-article-text p {
        width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
        color: var(--foreground-base-primary-mid, #484132) !important;
        font-family: var(--font-body-support-family, var(--font-body-family, "Inter")), Inter, Arial, sans-serif !important;
        font-size: var(--font-body-support-size, 14px) !important;
        line-height: var(--font-body-support-line-height, 20px) !important;
        font-weight: 400 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore .ftc-article-text p {
        display: -webkit-box !important;
        overflow: hidden !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 3 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore .ftc-article-link {
        display: inline-flex !important;
        flex: 0 0 16px !important;
        align-items: center !important;
        gap: 8px !important;
        min-height: 16px !important;
        margin: 48px 0 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore .ftc-article-link::after {
        content: "" !important;
        display: block !important;
        flex: 0 0 16px !important;
        width: 16px !important;
        height: 16px !important;
        background: currentColor !important;
        -webkit-mask: url('/styles/componentes/assets/icons/header-chevron-down.svg') center / 5.5px 9.5px no-repeat !important;
        mask: url('/styles/componentes/assets/icons/header-chevron-down.svg') center / 5.5px 9.5px no-repeat !important;
    }

    /* Map/location — 440px copy + 72px gap + clipped 1610px map. */
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell {
        box-sizing: border-box !important;
        height: 709px !important;
        margin: 0 !important;
        padding: 0 72px !important;
        overflow: hidden !important;
        background: var(--background-base-default-soft, #fff) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-grid {
        display: grid !important;
        grid-template-columns: 440px 1610px !important;
        align-items: stretch !important;
        gap: 72px !important;
        width: min(var(--layout-container-content, 1440px), 100%) !important;
        max-width: var(--layout-container-content, 1440px) !important;
        height: 709px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-copy {
        box-sizing: border-box !important;
        width: 440px !important;
        min-width: 440px !important;
        max-width: 440px !important;
        height: 709px !important;
        margin: 0 !important;
        padding: 128px 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-title {
        min-height: 72px !important;
        margin: 0 0 48px !important;
        padding: 0 0 24px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-title::after {
        width: 48px !important;
        height: var(--stroke-sm, 1px) !important;
        margin-top: 24px !important;
        background: var(--background-base-default-strong, #ded9d0) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-text-block {
        width: 100% !important;
        margin: 0 0 16px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-text-block strong {
        display: block !important;
        margin: 0 0 8px !important;
        color: var(--foreground-base-primary-mid, #484132) !important;
        font-family: var(--font-body-caption-family, var(--font-body-family, "Inter")), Inter, Arial, sans-serif !important;
        font-size: var(--font-body-caption-size, 12px) !important;
        line-height: var(--font-body-caption-line-height, 16px) !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-text-block p {
        max-width: 372px !important;
        margin: 0 !important;
        color: var(--foreground-base-secondary-mid, #665c48) !important;
        font-family: var(--font-body-support-family, var(--font-body-family, "Inter")), Inter, Arial, sans-serif !important;
        font-size: var(--font-body-support-size, 14px) !important;
        line-height: var(--font-body-support-line-height, 20px) !important;
        font-weight: 400 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-separator {
        width: 100% !important;
        height: var(--stroke-sm, 1px) !important;
        margin: 0 !important;
        border: 0 !important;
        border-top: var(--stroke-sm, 1px) solid var(--border-base-primary-soft, #ded9d0) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-arrival-notice {
        margin: 0 !important;
        padding: 15px 0 0 !important;
        color: var(--foreground-base-tertiary-mid, #84775d) !important;
        font-family: var(--font-body-caption-family, var(--font-body-family, "Inter")), Inter, Arial, sans-serif !important;
        font-size: var(--font-body-caption-size, 12px) !important;
        line-height: var(--font-body-caption-line-height, 16px) !important;
        font-weight: 400 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .location-access-map,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-map-embed,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-map-embed iframe {
        width: 1610px !important;
        min-width: 1610px !important;
        max-width: none !important;
        height: 709px !important;
        min-height: 709px !important;
        margin: 0 !important;
        border-radius: 0 !important;
    }

    /* Timeline — the stored rich-text wrappers are neutralized so the steps
       follow the same 500/48/892 structure as Figma 4783:67634. */
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how {
        box-sizing: border-box !important;
        min-height: 1032px !important;
        padding: 128px 72px !important;
        background: var(--background-base-default-soft, #faf8f3) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-how-grid {
        display: grid !important;
        grid-template-columns: 500px minmax(0, 892px) !important;
        align-items: start !important;
        gap: 48px !important;
        width: 100% !important;
        min-height: 776px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-how-intro {
        width: 500px !important;
        max-width: 500px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-steps-list {
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 128px !important;
        width: 892px !important;
        max-width: 100% !important;
        min-height: 776px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-steps-list::before {
        content: "" !important;
        position: absolute !important;
        z-index: 0 !important;
        top: 40px !important;
        bottom: 58px !important;
        left: 32px !important;
        width: var(--stroke-sm, 1px) !important;
        background: var(--background-base-default-strong, #ded9d0) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-steps-list > .cmp-rich_text {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-how-step {
        position: relative !important;
        z-index: 1 !important;
        display: block !important;
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 80px !important;
        margin: 0 !important;
        padding: 8px 0 0 96px !important;
        border: 0 !important;
        background: transparent !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-how-step::after {
        content: none !important;
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-how-step > strong {
        position: absolute !important;
        z-index: 2 !important;
        top: 0 !important;
        left: 0 !important;
        display: block !important;
        width: auto !important;
        min-width: 64px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: var(--background-base-default-soft, #faf8f3) !important;
        color: var(--foreground-base-tertiary-mid, #84775d) !important;
        font-family: var(--font-display-hero-family, var(--font-display-family, Lora)), Lora, Georgia, serif !important;
        font-size: var(--font-display-hero-size, 64px) !important;
        line-height: var(--font-display-hero-line-height, 72px) !important;
        font-weight: 600 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-how-step > div {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-how-step h3 {
        margin: 0 0 16px !important;
        color: var(--foreground-base-secondary-mid, #665c48) !important;
        font-family: var(--font-title-step-family, var(--font-display-family, Lora)), Lora, Georgia, serif !important;
        font-size: 24px !important;
        line-height: 32px !important;
        font-weight: 500 !important;
        letter-spacing: 1.2px !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-how-step p {
        width: 100% !important;
        margin: 0 !important;
        color: var(--foreground-base-secondary-mid, #665c48) !important;
        font-family: var(--font-body-default-family, var(--font-body-family, "Inter")), Inter, Arial, sans-serif !important;
        font-size: var(--font-body-default-size, 16px) !important;
        line-height: var(--font-body-default-line-height, 24px) !important;
        font-weight: 400 !important;
    }

    /* Footer uses the same 1440px wrapper and the approved 88px top inset. */
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-footer {
        padding: 88px 72px 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-footer > .ve-section-inner {
        grid-template-columns: minmax(0, 1fr) 240px !important;
        column-gap: 72px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-footer .ftc-footer-logo {
        min-height: 73px !important;
        padding: 0 0 32px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-footer .ftc-footer-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 24px !important;
        padding: 32px 0 !important;
    }
}

/* Figma 4783:67603 resolves the map section surface to pure white. Keeping
   this at the section boundary removes the false left gutter before the
   full-width grey surface of the following section. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] section.ftc-location-shell {
    background: #fff !important;
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-reservation-notes {
        padding-bottom: 64px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-reservation-notes .ftc-notes-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 24px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-reservation-notes .ftc-note-item {
        display: grid !important;
        grid-template-columns: 48px minmax(0, 1fr) !important;
        align-items: start !important;
        gap: 16px !important;
        width: 100% !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-reservation-notes .ftc-note-icon,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-reservation-notes .ftc-note-item > span:first-child {
        align-self: start !important;
        width: 48px !important;
        height: 48px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-reservation-notes .ftc-note-item p {
        margin: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore {
        padding-block: 64px !important;
        overflow: hidden !important;
        background: var(--background-base-default-mid, #f0ebe1) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore .ftc-carousel-controls-slot {
        display: flex !important;
        gap: 10px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore .ftc-carousel-arrow {
        box-sizing: border-box !important;
        width: 42px !important;
        height: 42px !important;
        padding: 8px !important;
        border: var(--stroke-sm, 1px) solid var(--border-action-secondary-default, #665c48) !important;
        border-radius: var(--radius-full, 999px) !important;
        background: var(--background-action-ghost-default, transparent) !important;
        color: var(--foreground-action-secondary-default, #665c48) !important;
        font-size: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore .ftc-carousel-arrow::before {
        content: "" !important;
        position: static !important;
        display: block !important;
        width: 24px !important;
        height: 24px !important;
        background: currentColor !important;
        -webkit-mask: url('/styles/componentes/assets/icons/long-arrow-right.svg') center / 24px 24px no-repeat !important;
        mask: url('/styles/componentes/assets/icons/long-arrow-right.svg') center / 24px 24px no-repeat !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore .ftc-carousel-prev::before {
        transform: rotate(180deg) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore .ftc-article-grid {
        display: grid !important;
        grid-template-columns: none !important;
        grid-auto-flow: column !important;
        grid-auto-columns: min(82vw, 320px) !important;
        gap: 16px !important;
        width: 100% !important;
        margin-top: 32px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory !important;
        scrollbar-width: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore .ftc-article-grid::-webkit-scrollbar {
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore .ftc-article-card {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        scroll-snap-align: start !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell {
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-grid {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-copy {
        box-sizing: border-box !important;
        width: min(var(--layout-container-content, 350px), calc(100% - 48px)) !important;
        max-width: var(--layout-container-content, 350px) !important;
        margin: 0 auto !important;
        padding: 64px 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-card {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell :is(.location-access-map, .ftc-map-embed, .ftc-map-embed iframe) {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 420px !important;
        min-height: 420px !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how {
        padding-block: 64px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-how-grid {
        display: block !important;
        width: 100% !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-how-intro {
        width: 100% !important;
        margin: 0 0 48px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-steps-list {
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 48px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-steps-list::before {
        content: "" !important;
        position: absolute !important;
        z-index: 0 !important;
        top: 24px !important;
        bottom: 24px !important;
        left: 20px !important;
        width: var(--stroke-sm, 1px) !important;
        background: var(--background-base-default-strong, #ded9d0) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-steps-list > .cmp-rich_text {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-how-step {
        position: relative !important;
        z-index: 1 !important;
        display: block !important;
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        margin: 0 !important;
        padding: 4px 0 0 64px !important;
        border: 0 !important;
        background: transparent !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-how-step::after {
        content: none !important;
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-how-step > strong {
        position: absolute !important;
        z-index: 2 !important;
        top: 0 !important;
        left: 0 !important;
        min-width: 40px !important;
        margin: 0 !important;
        background: var(--background-base-default-soft, #faf8f3) !important;
        color: var(--foreground-base-tertiary-mid, #84775d) !important;
        font-family: var(--font-display-family, Lora), Lora, Georgia, serif !important;
        font-size: 40px !important;
        line-height: 48px !important;
        font-weight: 600 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-how-step > div {
        width: 100% !important;
        max-width: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-how-step h3 {
        margin: 0 0 12px !important;
        color: var(--foreground-base-secondary-mid, #665c48) !important;
        font-family: var(--font-title-step-family, var(--font-display-family, Lora)), Lora, Georgia, serif !important;
        font-size: 20px !important;
        line-height: 28px !important;
        font-weight: 500 !important;
        letter-spacing: 1px !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-how-step p {
        margin: 0 !important;
        color: var(--foreground-base-secondary-mid, #665c48) !important;
        font-family: var(--font-body-family, "Inter"), Inter, Arial, sans-serif !important;
        font-size: 14px !important;
        line-height: 20px !important;
        font-weight: 400 !important;
    }
}

/* Address card is shared by desktop/mobile within Home. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-card {
    box-sizing: border-box !important;
    min-height: 129px !important;
    margin: 32px 0 0 !important;
    padding: 16px 16px 16px 12px !important;
    border: 0 !important;
    border-left: 4px solid var(--border-base-secondary-mid, #ded9d0) !important;
    border-radius: var(--radius-xs, 4px) var(--radius-md, 12px) var(--radius-md, 12px) var(--radius-xs, 4px) !important;
    background: var(--background-base-default-mid, #f0ebe1) !important;
    box-shadow: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-card-title {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
    color: var(--foreground-base-primary-soft, #665c48) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-card-title::before {
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 24px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-card-address {
    width: calc(100% - 32px) !important;
    margin: 8px 0 0 32px !important;
    color: var(--foreground-base-primary-soft, #665c48) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-card-address::after {
    content: "" !important;
    display: block !important;
    width: 40px !important;
    height: var(--stroke-sm, 1px) !important;
    margin-top: 8px !important;
    border-radius: 1px !important;
    background: var(--background-base-default-strong, #ded9d0) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-card-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 16px 0 0 32px !important;
    color: var(--foreground-action-link-default, #b98b0f) !important;
}

/* Desktop Experience: exact typography and icon geometry from Figma 4610:69513.
   Kept page-scoped so other templates retain their own header and type scale. */
@media (min-width: 1200px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .ftc-site-header__topbar :is(p, a),
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .ftc-site-header__nav a,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .ftc-site-header__actions a,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .ftc-site-header__select .select-selected {
        font-family: var(--font-action-nav-family) !important;
        font-size: var(--font-action-nav-size) !important;
        line-height: var(--font-action-nav-line-height) !important;
        font-weight: 600 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .ftc-site-header__topbar p {
        letter-spacing: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] :is(
        .ftc-site-header__topbar a,
        .ftc-site-header__nav a,
        .ftc-site-header__actions a,
        .ftc-site-header__select .select-selected
    ) {
        letter-spacing: var(--font-action-nav-letter-spacing) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .ftc-site-header__select .select-selected {
        gap: var(--layout-elements-gap-tight) !important;
        min-height: var(--icon-sm, 16px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .ftc-site-header__select .select-selected::after,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .ftc-site-header__nav-caret {
        content: "" !important;
        display: block !important;
        flex: 0 0 var(--icon-sm, 16px) !important;
        width: var(--icon-sm, 16px) !important;
        height: var(--icon-sm, 16px) !important;
        margin: 0 !important;
        border: 0 !important;
        background: currentColor !important;
        -webkit-mask: url('/styles/componentes/assets/icons/header-chevron-down.svg') center / 5.5px 9.5px no-repeat !important;
        mask: url('/styles/componentes/assets/icons/header-chevron-down.svg') center / 5.5px 9.5px no-repeat !important;
        color: inherit !important;
        font-size: 0 !important;
        line-height: 0 !important;
        transform: rotate(-90deg) scaleX(-1) !important;
        transform-origin: center !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .ftc-site-header__icon--language {
        width: var(--icon-sm, 16px) !important;
        height: var(--icon-sm, 16px) !important;
        flex: 0 0 var(--icon-sm, 16px) !important;
        opacity: 1 !important;
        -webkit-mask: url('/styles/componentes/assets/icons/header-language.svg') center / 14.8333px 14.8333px no-repeat !important;
        mask: url('/styles/componentes/assets/icons/header-language.svg') center / 14.8333px 14.8333px no-repeat !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lead,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lead p {
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs a {
        font-family: var(--font-action-nav-family) !important;
        font-size: var(--font-action-nav-size) !important;
        line-height: var(--font-action-nav-line-height) !important;
        font-weight: 600 !important;
        letter-spacing: var(--font-action-nav-letter-spacing) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-location-card h3 {
        gap: var(--layout-elements-gap-tight) !important;
        font-family: var(--font-title-card-family) !important;
        font-size: var(--font-title-card-size) !important;
        line-height: var(--font-title-card-line-height) !important;
        font-weight: 500 !important;
        letter-spacing: var(--font-title-card-letter-spacing) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-location-card h3 img {
        width: var(--icon-md, 20px) !important;
        height: var(--icon-md, 20px) !important;
        flex: 0 0 var(--icon-md, 20px) !important;
        object-fit: contain !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-faq-list summary {
        font-family: var(--font-body-default-family) !important;
        font-size: var(--font-body-default-size) !important;
        line-height: var(--font-body-default-line-height) !important;
        font-weight: 700 !important;
        letter-spacing: var(--font-body-default-letter-spacing) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-faq-list details[open] > :not(summary) {
        font-family: var(--font-body-default-family) !important;
        font-size: var(--font-body-default-size) !important;
        line-height: var(--font-body-default-line-height) !important;
        font-weight: 400 !important;
        letter-spacing: var(--font-body-default-letter-spacing) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-cancellation-copy h2 {
        letter-spacing: var(--font-display-section-letter-spacing) !important;
    }
}

/* Experience includes: exact 12px icon boxes and exported Figma glyphs
   (4610:69546). This replaces the legacy rotated-square markers. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-includes-grid li::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 4px !important;
    width: var(--icon-xs, 12px) !important;
    height: var(--icon-xs, 12px) !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: url("assets/includes/check.svg?v=figma-4610-69546") center / 9.9992px 7.91383px no-repeat !important;
    transform: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-includes-grid > div:nth-child(2) li::before {
    background: url("assets/includes/cross.svg?v=figma-4610-69546") center / 9.34694px 9.34694px no-repeat !important;
}


/* Fase 40.15 - Corrección flechas carrusel Explora
   El HTML guardado puede traer el carácter ‹/› dentro del botón y el CSS añade
   el icono mediante ::before. Para evitar doble flecha, se oculta el texto
   interno y se deja una única flecha visual controlada por el CSS. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-carousel-arrows,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-carousel-controls-slot {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: var(--layout-elements-gap-tight) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-carousel-arrow,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-carousel-controls-slot .ftc-carousel-arrow {
    inline-size: 28px !important;
    block-size: 28px !important;
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: var(--radius-full) !important;
    background: var(--background-action-ghost-default) !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    overflow: hidden !important;
    box-shadow: 0 2px 8px color-mix(in srgb, var(--foreground-base-primary-strong) 8%, transparent) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-carousel-arrow::before,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-carousel-controls-slot .ftc-carousel-arrow::before {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--foreground-base-secondary-mid) !important;
    font-family: var(--font-action-compact-family), var(--font-body-family), sans-serif !important;
    font-size: var(--font-action-compact-size) !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    transform: translateY(-1px) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-carousel-prev::before,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-carousel-controls-slot .ftc-carousel-prev::before {
    content: "‹" !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-carousel-next::before,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-carousel-controls-slot .ftc-carousel-next::before {
    content: "›" !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-carousel-arrow:disabled,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-carousel-controls-slot .ftc-carousel-arrow:disabled {
    opacity: .42 !important;
    cursor: default !important;
}

/* Fase 40.16 - Explore title/image spacing
   Fix only for the editable-composed Explore section.
   The title underline must not collide with the first article image. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore > .ve-section-inner > .component-wrapper:first-child {
    margin-bottom: calc(var(--layout-elements-inset-expanded) * 1.55) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore > .ve-section-inner > .component-wrapper:first-child h2 {
    padding-bottom: var(--layout-elements-inset-loose) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore > .ve-section-inner > .component-wrapper:first-child + .component-wrapper.ftc-carousel-controls-slot,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore > .ve-section-inner > .component-wrapper:first-child + .ftc-carousel-controls-slot {
    margin-top: calc(-1 * var(--layout-elements-inset-expanded)) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-grid {
    margin-top: 0 !important;
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore > .ve-section-inner > .component-wrapper:first-child {
        margin-bottom: var(--layout-elements-inset-expanded) !important;
    }
}

/* Fase 40.17 - Explora: separación real entre título/línea e imágenes
   Mantiene el bloque compuesto editable. Solo corrige el gap visual del grid
   usando tokens del Design System cuando están disponibles. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-grid {
    margin-top: calc(var(--layout-elements-inset-expanded, 32px) * 1.45) !important;
}

/* Si el bloque incluye controles de carrusel entre el título y el grid, los
   dejamos flotando arriba a la derecha sin ocupar el espacio vertical del grid. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-carousel-controls-slot,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-carousel-arrows {
    margin-bottom: 0 !important;
}

/* En modo editor, mantenemos algo de aire aunque los wrappers de edición añadan
   bordes/handles alrededor de los componentes internos. */
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-grid {
    margin-top: calc(var(--layout-elements-inset-expanded, 32px) * 1.25) !important;
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-grid {
        margin-top: var(--layout-elements-inset-expanded, 32px) !important;
    }
}

/* Fase 40.18 - Token cleanup upper home blocks
   Objetivo: Header, Hero, Experiencias, Tras reserva, Descubre y Explora
   usan tokens oficiales del Design System para color, tipografía, radios,
   bordes, fondos, containers y espaciados. Los valores fijos restantes son
   composición del bloque (ratios, columnas, alturas de imagen) para igualar Figma. */
.visual-layout-page[data-design-system="ftc-foundations"] {
    --ftc-color-page: var(--white-100);
    --ftc-color-section-soft: var(--background-base-default-soft);
    --ftc-color-section-mid: var(--background-base-default-mid);
    --ftc-color-text: var(--foreground-base-primary-strong);
    --ftc-color-text-muted: var(--foreground-base-secondary-mid);
    --ftc-color-brand: var(--foreground-base-brand-emphasis);
    --ftc-color-link: var(--foreground-action-link-default);
    --ftc-color-line: var(--border-base-secondary-strong);
    --ftc-color-card: var(--white-100);
    --ftc-color-card-soft: var(--background-base-default-mid);
    --ftc-color-inverse: var(--foreground-base-inverse-strong);
    --ftc-radius-image: var(--radius-lg);
    --ftc-radius-card: var(--radius-xl);
    --ftc-radius-pill: var(--radius-full);
    --ftc-container: min(var(--layout-container-content), calc(100% - (var(--layout-section-x-spacing) * 2)));
    --ftc-container-compact: min(calc(var(--layout-container-content) - 260px), calc(100% - (var(--layout-section-x-spacing) * 2)));
    --ftc-shadow-soft: 0 2px 8px color-mix(in srgb, var(--foreground-base-primary-strong) 8%, transparent);
    --ftc-shadow-card: 0 14px 36px color-mix(in srgb, var(--foreground-base-primary-strong) 8%, transparent);
    background: var(--ftc-color-page) !important;
    color: var(--ftc-color-text) !important;
    font-family: var(--font-body-default-family), var(--font-body-family), system-ui, sans-serif !important;
}

/* Header propio FTC */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header {
    background: var(--ftc-color-page) !important;
    padding-block: var(--layout-elements-inset-spacious) var(--layout-elements-inset-loose) !important;
    border: 0 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__inner {
    width: var(--ftc-container) !important;
    margin-inline: auto !important;
    grid-template-columns: 175px 1fr auto !important;
    gap: calc(var(--layout-elements-inset-expanded) * 1) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__logo img {
    width: 175px !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__nav,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__actions {
    gap: calc(var(--layout-elements-gap-loose) * 2) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__nav a,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__actions a,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__select .select-selected {
    color: var(--ftc-color-brand) !important;
    font-family: var(--font-action-nav-family), var(--font-body-family), system-ui, sans-serif !important;
    font-size: var(--font-action-nav-size) !important;
    line-height: var(--font-action-nav-line-height) !important;
    font-weight: 700 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__divider {
    background: var(--border-base-secondary-mid) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__select .select-items {
    background: var(--ftc-color-card) !important;
    border: 1px solid var(--border-base-secondary-soft) !important;
    border-radius: var(--radius-md) !important;
    box-shadow: var(--ftc-shadow-card) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__select .select-items div:hover {
    background: var(--background-action-ghost-hover) !important;
}

/* Selector de idiomas aprobado: banderas oficiales y geometria del menu de Figma. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__language {
    height: 16px !important;
    min-height: 0 !important;
    padding: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__language > .select-selected {
    height: 16px !important;
    min-height: 16px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__language > .select-selected .ftc-site-header__icon--language {
    flex-basis: 16px !important;
    width: 16px !important;
    height: 16px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__language .select-items {
    top: calc(100% + 27px) !important;
    right: auto !important;
    left: 50% !important;
    width: 97px !important;
    min-width: 97px !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 24px !important;
    overflow: visible !important;
    background: var(--white-100) !important;
    border-color: var(--border-base-secondary-mid) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--ftc-shadow-card) !important;
    transform: translateX(-50%) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__language .select-items::before {
    content: "" !important;
    position: absolute !important;
    top: -9px !important;
    left: 50% !important;
    width: 16px !important;
    height: 16px !important;
    background: var(--white-100) !important;
    border-top: 1px solid var(--border-base-secondary-mid) !important;
    border-right: 1px solid var(--border-base-secondary-mid) !important;
    border-radius: 0 var(--radius-xs, 4px) 0 0 !important;
    transform: translateX(-50%) rotate(-45deg) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__language .select-items div {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    gap: var(--layout-elements-gap-tight, 8px) !important;
    width: max-content !important;
    height: 20px !important;
    padding: 0 !important;
    border: 0 !important;
    color: var(--foreground-base-primary-mid) !important;
    font-family: var(--font-body-default-family) !important;
    font-size: 14px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
    letter-spacing: -0.1504px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__language .select-items div + div {
    margin-top: 16px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__language .select-items div:hover {
    background: transparent !important;
    color: var(--foreground-action-link-hover) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__language .select-items img.ftc-site-header__language-flag,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-mobile-menu__selector--lang .select-items img.ftc-site-header__language-flag {
    display: block !important;
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 20px !important;
    object-fit: cover !important;
    border: 2px solid var(--foreground-base-inverse-strong) !important;
    border-radius: var(--radius-full) !important;
}

/* Hero */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero,
.visual-layout-page[data-design-system="ftc-foundations"] #inicio.ftc-home-hero {
    background: var(--ftc-color-page) !important;
    padding-block: calc(var(--layout-section-y-spacing) * .67) calc(var(--layout-section-y-spacing) * .66) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero .ve-section-inner {
    width: var(--ftc-container) !important;
    max-width: var(--layout-container-content) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-grid {
    gap: calc(var(--layout-elements-inset-expanded) * 2.5) !important;
    grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr) !important;
    align-items: center !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-copy h1 {
    color: var(--ftc-color-brand) !important;
    font-family: var(--font-display-hero-family), var(--font-display-family), system-ui, sans-serif !important;
    font-size: var(--font-display-hero-size) !important;
    line-height: var(--font-display-hero-line-height) !important;
    letter-spacing: var(--font-display-hero-letter-spacing) !important;
    font-weight: 700 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-copy p {
    color: var(--ftc-color-text) !important;
    font-family: var(--font-body-default-family), var(--font-body-family), system-ui, sans-serif !important;
    font-size: var(--font-body-default-size) !important;
    line-height: var(--font-body-default-line-height) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-image {
    border-radius: var(--radius-xl) !important;
    border: 0 !important;
    box-shadow: 0 0 0 var(--layout-elements-inset-dense) var(--white-100), var(--ftc-shadow-soft) !important;
    height: auto !important;
    aspect-ratio: 961 / 546 !important;
    object-position: center center !important;
}

/* Experiencias */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-experiences {
    background: var(--ftc-color-section-soft) !important;
    padding-block: var(--layout-section-y-spacing) var(--layout-elements-inset-spacious) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-experiences .ve-section-inner,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid {
    width: var(--ftc-container) !important;
    max-width: var(--layout-container-content) !important;
    margin-inline: auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-experiences .ftc-dynamic-experience-grid {
    width: 100% !important;
    max-width: none !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-experiences .ftc-section-title,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-section-title-left {
    color: var(--ftc-color-text) !important;
    font-family: var(--font-display-section-family), var(--font-display-family), system-ui, sans-serif !important;
    font-size: var(--font-display-section-size) !important;
    line-height: var(--font-display-section-line-height) !important;
    letter-spacing: var(--font-display-section-letter-spacing) !important;
    font-weight: 400 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-section-title-left::after,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-experiences .ftc-section-title::after {
    background: var(--ftc-color-line) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card {
    background: var(--ftc-color-card) !important;
    border: 1px solid var(--border-base-secondary-soft) !important;
    border-radius: var(--ftc-radius-card) !important;
    box-shadow: var(--ftc-shadow-soft) !important;
    color: var(--ftc-color-text) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-image img {
    border-radius: var(--ftc-radius-card) var(--ftc-radius-card) 0 0 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-badge {
    background: var(--white-100) !important;
    color: var(--ftc-color-text-muted) !important;
    border-radius: var(--ftc-radius-pill) !important;
    border: 1px solid var(--border-base-secondary-soft) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-title {
    color: var(--ftc-color-text) !important;
    font-family: var(--font-title-card-family), var(--font-display-family), system-ui, sans-serif !important;
    font-size: var(--font-title-card-size) !important;
    line-height: var(--font-title-card-line-height) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-subtitle,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-meta,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-features {
    color: var(--ftc-color-text-muted) !important;
    font-family: var(--font-body-support-family), var(--font-body-family), system-ui, sans-serif !important;
    font-size: var(--font-body-support-size) !important;
    line-height: var(--font-body-support-line-height) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-features {
    background: var(--ftc-color-card-soft) !important;
    border-radius: var(--radius-md) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-footer {
    border-top: 1px solid var(--border-base-secondary-soft) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-price small {
    color: var(--ftc-color-text-muted) !important;
    font-family: var(--font-field-title-family), var(--font-body-family), system-ui, sans-serif !important;
    font-size: var(--font-field-title-size) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-price strong {
    color: var(--ftc-color-brand) !important;
    font-family: var(--font-display-price-family), var(--font-display-family), system-ui, sans-serif !important;
    font-size: var(--font-display-price-size) !important;
    line-height: var(--font-display-price-line-height) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .btn-select-tour {
    background: var(--background-action-primary-default) !important;
    color: var(--foreground-action-primary-default) !important;
    border-radius: var(--ftc-radius-pill) !important;
    font-family: var(--font-action-primary-family), var(--font-body-family), system-ui, sans-serif !important;
    font-size: var(--font-action-secondary-size) !important;
    line-height: var(--font-action-secondary-line-height) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .btn-select-tour:hover {
    background: var(--background-action-primary-hover) !important;
}

/* Tras realizar tu reserva */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reservation-notes {
    background: var(--ftc-color-section-soft) !important;
    padding-block: var(--layout-elements-inset-compact) calc(var(--layout-section-y-spacing) * .56) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reservation-notes .ve-section-inner {
    width: var(--ftc-container) !important;
    max-width: var(--layout-container-content) !important;
    border-top: 1px solid var(--border-base-secondary-soft) !important;
    padding-top: calc(var(--layout-elements-inset-expanded) - var(--layout-elements-inset-dense)) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reservation-notes .ftc-notes-title {
    color: var(--ftc-color-text) !important;
    font-family: var(--font-title-notice-family), var(--font-body-family), system-ui, sans-serif !important;
    font-size: var(--font-title-notice-size) !important;
    line-height: var(--font-title-notice-line-height) !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-notes-grid {
    gap: calc(var(--layout-elements-gap-loose) * 2) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-note-item {
    color: var(--ftc-color-text) !important;
    font-family: var(--font-body-default-family), var(--font-body-family), system-ui, sans-serif !important;
    font-size: var(--font-body-default-size) !important;
    line-height: var(--font-body-default-line-height) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-note-icon {
    border: 1px solid var(--border-base-secondary-soft) !important;
    background-color: var(--background-action-ghost-default) !important;
    border-radius: var(--ftc-radius-pill) !important;
}

/* Descubre */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover {
    background: var(--ftc-color-page) !important;
    padding-block: calc(var(--layout-section-y-spacing) * .67) calc(var(--layout-section-y-spacing) * .75) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ve-section-inner {
    width: var(--ftc-container) !important;
    max-width: var(--layout-container-content) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-section-head-center h2,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-section-head-center p {
    color: var(--ftc-color-text) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-section-head-center h2 {
    font-family: var(--font-display-section-family), var(--font-display-family), system-ui, sans-serif !important;
    font-size: var(--font-display-section-size) !important;
    line-height: var(--font-display-section-line-height) !important;
    letter-spacing: var(--font-display-section-letter-spacing) !important;
    font-weight: 400 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-section-head-center h2::after {
    background: var(--ftc-color-line) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-section-head-center p {
    font-family: var(--font-body-default-family), var(--font-body-family), system-ui, sans-serif !important;
    font-size: var(--font-body-default-size) !important;
    line-height: var(--font-body-default-line-height) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-gallery-grid {
    gap: var(--layout-elements-inset-loose) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-gallery-grid img {
    border-radius: var(--ftc-radius-image) !important;
}

/* Explora */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore {
    background: var(--ftc-color-section-soft) !important;
    color: var(--ftc-color-text) !important;
    padding-block: calc(var(--layout-section-y-spacing) * .67) calc(var(--layout-section-y-spacing) * .78) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore > .ve-section-inner {
    width: var(--ftc-container-compact) !important;
    max-width: calc(var(--layout-container-content) - 260px) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-heading,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-section-head-row h2 {
    color: var(--ftc-color-text) !important;
    font-family: var(--font-display-section-family), var(--font-display-family), system-ui, sans-serif !important;
    font-size: var(--font-display-section-size) !important;
    line-height: var(--font-display-section-line-height) !important;
    letter-spacing: var(--font-display-section-letter-spacing) !important;
    font-weight: 400 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-heading::after,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-section-head-row h2::after {
    background: var(--ftc-color-line) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-grid {
    gap: var(--layout-elements-inset-spacious) !important;
    grid-auto-columns: calc((100% - (var(--layout-elements-inset-spacious) * 3)) / 4) !important;
    margin-top: calc(var(--layout-elements-inset-expanded) * 1.45) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-card img,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-img {
    border-radius: var(--ftc-radius-image) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-content h3,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-card h3 {
    color: var(--ftc-color-text) !important;
    font-family: var(--font-title-card-family), var(--font-display-family), system-ui, sans-serif !important;
    font-size: var(--font-title-card-size) !important;
    line-height: var(--font-title-card-line-height) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-content p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-card p {
    color: var(--ftc-color-text-muted) !important;
    font-family: var(--font-body-support-family), var(--font-body-family), system-ui, sans-serif !important;
    font-size: var(--font-body-support-size) !important;
    line-height: var(--font-body-support-line-height) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-link,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-content a,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-card a {
    color: var(--ftc-color-link) !important;
    font-family: var(--font-action-secondary-family), var(--font-body-family), system-ui, sans-serif !important;
    font-size: var(--font-action-secondary-size) !important;
    line-height: var(--font-action-secondary-line-height) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-carousel-arrow {
    background: var(--white-100) !important;
    border-radius: var(--ftc-radius-pill) !important;
    box-shadow: var(--ftc-shadow-soft) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-carousel-arrow::before {
    color: var(--foreground-base-secondary-mid) !important;
}

@media (max-width: 1024px) {
    .visual-layout-page[data-design-system="ftc-foundations"] {
        --ftc-container: min(var(--layout-container-content), calc(100% - (var(--layout-section-x-spacing) * 2)));
        --ftc-container-compact: var(--ftc-container);
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-grid {
        gap: var(--layout-elements-inset-expanded) !important;
        grid-template-columns: 1fr !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-image {
        height: auto !important;
        aspect-ratio: 16 / 9 !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-cards-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-tour-grid.tour-cards-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"] {
        --ftc-container: min(var(--layout-container-content), calc(100% - (var(--layout-section-x-spacing) * 2)));
        --ftc-container-compact: var(--ftc-container);
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__inner {
        grid-template-columns: auto 1fr !important;
        gap: var(--layout-elements-gap-loose) !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-copy h1 {
        font-size: var(--font-display-page-size) !important;
        line-height: var(--font-display-page-line-height) !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-cards-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-tour-grid.tour-cards-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-notes-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-gallery-grid {
        grid-template-columns: 1fr !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-grid {
        grid-auto-columns: 86% !important;
        gap: var(--layout-elements-gap-loose) !important;
        margin-top: var(--layout-elements-inset-expanded) !important;
    }
}

/* Fase 40.19 - Plan visit block aligned to Figma + Design System tokens */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan {
    background: var(--background-base-brand-strong) !important;
    color: var(--foreground-base-inverse-strong) !important;
    padding-block: calc(var(--layout-section-y-spacing) * .66) calc(var(--layout-section-y-spacing) * .70) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan > .ve-section-inner {
    width: min(var(--layout-container-content), calc(100% - (var(--layout-section-x-spacing) * 2))) !important;
    max-width: calc(var(--layout-container-content) - (var(--layout-section-x-spacing) * 2)) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan h2,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan h3,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan strong,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan small {
    font-family: var(--font-body-family), system-ui, sans-serif !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-intro {
    max-width: var(--layout-container-reading) !important;
    margin: 0 0 calc(var(--layout-elements-inset-expanded) * 1.35) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-intro h2 {
    color: var(--foreground-base-inverse-strong) !important;
    font-family: var(--font-display-section-family), var(--font-display-family), system-ui, sans-serif !important;
    font-size: var(--font-display-section-size) !important;
    line-height: var(--font-display-section-line-height) !important;
    letter-spacing: var(--font-display-section-letter-spacing) !important;
    font-weight: 400 !important;
    margin: 0 0 var(--layout-elements-inset-loose) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-intro p {
    color: var(--foreground-base-inverse-soft) !important;
    font-size: var(--font-body-default-size) !important;
    line-height: var(--font-body-default-line-height) !important;
    margin: 0 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--layout-section-x-spacing) !important;
    align-items: start !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-card {
    border-top: 1px solid var(--white-25) !important;
    padding-top: var(--layout-elements-inset-loose) !important;
    text-align: left !important;
    color: var(--foreground-base-inverse-soft) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-card h3 {
    color: var(--foreground-base-inverse-strong) !important;
    font-family: var(--font-title-block-family), var(--font-display-family), system-ui, sans-serif !important;
    font-size: var(--font-title-block-size) !important;
    line-height: var(--font-title-block-line-height) !important;
    letter-spacing: var(--font-title-block-letter-spacing) !important;
    font-weight: 700 !important;
    text-align: center !important;
    margin: 0 0 var(--layout-elements-inset-loose) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-card p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-card small {
    color: var(--foreground-base-inverse-soft) !important;
    font-size: var(--font-body-support-size) !important;
    line-height: var(--font-body-support-line-height) !important;
    margin: 0 0 var(--layout-elements-inset-cozy) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-card strong {
    color: var(--foreground-base-inverse-strong) !important;
    display: block !important;
    font-size: var(--font-body-support-size) !important;
    line-height: var(--font-body-support-line-height) !important;
    font-weight: 700 !important;
    margin: 0 0 var(--layout-elements-inset-compact) !important;
    padding: 0 !important;
    border: 0 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-schedule {
    display: grid !important;
    gap: var(--layout-elements-inset-cozy) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    column-gap: var(--layout-elements-gap-loose) !important;
    row-gap: var(--layout-elements-inset-dense) !important;
    padding-block: var(--layout-elements-inset-tight) !important;
    border-top: 1px solid var(--white-25) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-row:first-child {
    border-top: 0 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-row p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-row strong,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-row small {
    margin: 0 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-row strong {
    text-align: right !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-row small {
    grid-column: 1 / -1 !important;
    color: var(--white-75) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-closed {
    border-top: 1px solid var(--white-25) !important;
    padding-top: var(--layout-elements-inset-tight) !important;
    margin-top: 0 !important;
}

@media (max-width: 1024px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-grid {
        grid-template-columns: 1fr !important;
        gap: var(--layout-elements-inset-expanded) !important;
    }
}

/* Fase 40.20 - Plan visit final Figma alignment + official Design System tokens
   Este override mantiene el bloque como piezas editables y evita colores/fuentes hardcodeados. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan {
    background: var(--background-base-brand-strong) !important;
    color: var(--foreground-base-inverse-strong) !important;
    padding-block: calc(var(--layout-section-y-spacing) * .74) calc(var(--layout-section-y-spacing) * .82) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan > .ve-section-inner {
    width: min(var(--layout-container-content), calc(100% - (var(--layout-section-x-spacing) * 2))) !important;
    max-width: var(--layout-container-content) !important;
    margin-inline: auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan h2,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan h3,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan strong,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan small {
    font-family: var(--font-body-default-family), var(--font-body-family), system-ui, sans-serif !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-intro {
    max-width: calc(var(--layout-container-reading) * .86) !important;
    margin: 0 0 calc(var(--layout-elements-inset-expanded) * 1.45) !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-intro h2 {
    color: var(--foreground-base-inverse-strong) !important;
    font-family: var(--font-display-section-family), var(--font-display-family), system-ui, sans-serif !important;
    font-size: var(--font-display-section-size) !important;
    line-height: var(--font-display-section-line-height) !important;
    letter-spacing: var(--font-display-section-letter-spacing) !important;
    font-weight: 400 !important;
    margin: 0 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-intro h2::after {
    content: "";
    display: block;
    inline-size: calc(var(--layout-elements-inset-expanded) * .72);
    block-size: 1px;
    background: var(--white-75);
    margin-block: var(--layout-elements-inset-compact) var(--layout-elements-inset-spacious);
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-intro p {
    color: var(--foreground-base-inverse-soft) !important;
    font-family: var(--font-body-default-family), var(--font-body-family), system-ui, sans-serif !important;
    font-size: var(--font-body-default-size) !important;
    line-height: var(--font-body-default-line-height) !important;
    letter-spacing: var(--font-body-default-letter-spacing) !important;
    margin: 0 !important;
    max-width: 100% !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-grid {
    position: relative !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: calc(var(--layout-section-x-spacing) * .78) !important;
    align-items: start !important;
    padding-top: calc(var(--layout-elements-inset-expanded) * 1.12) !important;
    margin-top: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-grid::before {
    content: "";
    position: absolute;
    inset-block-start: 0;
    inset-inline: 0;
    block-size: 1px;
    background: var(--white-50);
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-card {
    border-top: 0 !important;
    padding-top: 0 !important;
    text-align: left !important;
    color: var(--foreground-base-inverse-soft) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-card h3 {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: var(--layout-elements-gap-tight) !important;
    color: var(--foreground-base-inverse-strong) !important;
    font-family: var(--font-title-block-family), var(--font-display-family), system-ui, sans-serif !important;
    font-size: var(--font-title-block-size) !important;
    line-height: var(--font-title-block-line-height) !important;
    letter-spacing: var(--font-title-block-letter-spacing) !important;
    font-weight: 700 !important;
    text-align: left !important;
    margin: 0 0 var(--layout-elements-inset-loose) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-card h3::before {
    content: "";
    flex: 0 0 var(--font-title-block-line-height);
    inline-size: var(--font-title-block-line-height);
    block-size: var(--font-title-block-line-height);
    background: currentColor;
    -webkit-mask: var(--ftc-plan-icon) center / contain no-repeat;
    mask: var(--ftc-plan-icon) center / contain no-repeat;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-card-hours {
    --ftc-plan-icon: url('/styles/componentes/assets/plan-hours.svg');
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-card-tickets {
    --ftc-plan-icon: url('/styles/componentes/assets/plan-tickets.svg');
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-card-accessibility {
    --ftc-plan-icon: url('/styles/componentes/assets/plan-accessibility.svg');
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-card p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-card small {
    color: var(--foreground-base-inverse-soft) !important;
    font-family: var(--font-body-support-family), var(--font-body-family), system-ui, sans-serif !important;
    font-size: var(--font-body-support-size) !important;
    line-height: var(--font-body-support-line-height) !important;
    letter-spacing: var(--font-body-support-letter-spacing) !important;
    margin: 0 0 var(--layout-elements-inset-cozy) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-card strong {
    color: var(--foreground-base-inverse-strong) !important;
    display: block !important;
    font-family: var(--font-body-support-family), var(--font-body-family), system-ui, sans-serif !important;
    font-size: var(--font-body-support-size) !important;
    line-height: var(--font-body-support-line-height) !important;
    font-weight: 700 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-schedule {
    display: grid !important;
    gap: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    column-gap: var(--layout-elements-gap-loose) !important;
    row-gap: var(--layout-elements-inset-dense) !important;
    padding-block: var(--layout-elements-inset-cozy) !important;
    border-top: 1px solid var(--white-50) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-row:first-child {
    border-top: 0 !important;
    padding-block-start: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-row p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-row strong,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-row small {
    margin: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-row strong {
    color: var(--foreground-base-inverse-strong) !important;
    text-align: right !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-row small {
    grid-column: 2 !important;
    color: var(--white-75) !important;
    font-style: italic !important;
    text-align: right !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-closed {
    border-top: 1px solid var(--white-50) !important;
    color: var(--foreground-base-inverse-soft) !important;
    font-style: italic !important;
    padding-top: var(--layout-elements-inset-cozy) !important;
    margin-top: 0 !important;
}

@media (max-width: 1024px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan > .ve-section-inner {
        width: min(var(--layout-container-content), calc(100% - (var(--layout-section-x-spacing) * 2))) !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-grid {
        grid-template-columns: 1fr !important;
        gap: var(--layout-elements-inset-expanded) !important;
    }
}

/* ─── Fase 40.21b: Localización y acceso - ajuste seguro sobre estado recuperado ───
   Mantiene el mapa dinámico desde meeting_points. Solo corrige composición/texto y usa tokens DS. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .ve-section-inner {
    background: var(--white-100, #ffffff) !important;
    color: var(--foreground-base-primary-strong, #2d2924) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .location-access-grid.ftc-location-grid {
    display: grid !important;
    grid-template-columns: minmax(430px, 38%) minmax(0, 62%) !important;
    gap: 0 !important;
    align-items: stretch !important;
    min-height: 680px !important;
    background: var(--white-100, #ffffff) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .location-access-copy.ftc-location-copy {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 360px !important;
    justify-self: end !important;
    padding: var(--layout-section-y-spacing, 96px) var(--layout-elements-inset-loose, 40px) var(--layout-section-y-spacing, 96px) var(--layout-elements-inset-cozy, 24px) !important;
    color: var(--foreground-base-secondary-strong, #5f554a) !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .location-access-copy.ftc-location-copy *,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .location-access-copy.ftc-location-copy *::before,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .location-access-copy.ftc-location-copy *::after {
    box-sizing: border-box !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .location-access-copy.ftc-location-copy h2 {
    max-width: 320px !important;
    margin: 0 0 var(--layout-elements-inset-loose, 40px) !important;
    color: var(--foreground-base-primary-strong, #2d2924) !important;
    font-family: var(--font-display-section-family) !important;
    font-size: var(--font-display-section-size) !important;
    line-height: var(--font-display-section-line-height) !important;
    letter-spacing: var(--font-display-section-letter-spacing) !important;
    font-weight: 400 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .location-access-copy.ftc-location-copy h2::after {
    content: "";
    display: block;
    width: 42px;
    height: 1px;
    margin-top: var(--layout-elements-inset-tight, 16px);
    background: var(--border-base-secondary-strong, #b7aa93);
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .location-access-copy.ftc-location-copy p {
    max-width: 310px !important;
    margin: 0 0 var(--layout-elements-inset-cozy, 24px) !important;
    color: var(--foreground-base-secondary-strong, #5f554a) !important;
    font-family: var(--font-body-default-family, var(--font-body-family, Inter)), Inter, Arial, sans-serif !important;
    font-size: var(--font-body-default-size, 16px) !important;
    line-height: var(--font-body-default-line-height, 1.55) !important;
    letter-spacing: var(--font-body-default-letter-spacing, 0) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .location-access-copy.ftc-location-copy strong {
    display: block !important;
    margin: 0 0 var(--layout-elements-inset-dense, 8px) !important;
    color: var(--foreground-base-primary-strong, #211b16) !important;
    font-family: var(--font-action-nav-family, var(--font-body-family, Inter)), Inter, Arial, sans-serif !important;
    font-size: var(--font-action-nav-size, 14px) !important;
    line-height: var(--font-action-nav-line-height, 1.25) !important;
    letter-spacing: var(--font-action-nav-letter-spacing, .02em) !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .location-access-copy.ftc-location-copy hr {
    width: 100% !important;
    max-width: 310px !important;
    margin: var(--layout-elements-inset-loose, 40px) 0 !important;
    border: 0 !important;
    border-top: 1px solid var(--border-base-secondary-soft, #ddd4c5) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .meeting-point-html,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .ftc-address,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .alc-address {
    width: 100% !important;
    max-width: 310px !important;
    margin: var(--layout-elements-inset-loose, 40px) 0 0 !important;
    padding: var(--layout-elements-inset-cozy, 24px) !important;
    border-radius: var(--radius-md, 12px) !important;
    background: var(--background-base-default-soft, #f1eee8) !important;
    color: var(--foreground-base-secondary-strong, #5f554a) !important;
    font-family: var(--font-body-support-family, var(--font-body-family, Inter)), Inter, Arial, sans-serif !important;
    font-size: var(--font-body-support-size, 14px) !important;
    line-height: var(--font-body-support-line-height, 1.5) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .meeting-point-html strong,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .ftc-address strong,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .alc-address strong {
    display: block !important;
    margin-bottom: var(--layout-elements-inset-tight, 16px) !important;
    color: var(--foreground-base-primary-strong, #2d2924) !important;
    font-family: var(--font-title-card-family, var(--font-display-family, Signika)), Signika, Inter, Arial, sans-serif !important;
    font-size: var(--font-title-card-size, 20px) !important;
    line-height: var(--font-title-card-line-height, 1.2) !important;
    letter-spacing: var(--font-title-card-letter-spacing, -0.02em) !important;
    text-transform: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .ftc-location-link,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .meeting-point-html a {
    display: inline-flex !important;
    align-items: center !important;
    gap: var(--layout-elements-inset-dense, 8px) !important;
    margin-top: var(--layout-elements-inset-tight, 16px) !important;
    color: var(--foreground-base-brand-emphasis, #3d214d) !important;
    font-family: var(--font-action-primary-family, var(--font-body-family, Inter)), Inter, Arial, sans-serif !important;
    font-size: var(--font-action-primary-size, 13px) !important;
    line-height: var(--font-action-primary-line-height, 1.2) !important;
    letter-spacing: var(--font-action-primary-letter-spacing, .04em) !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .ftc-location-link::after,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .meeting-point-html a::after {
    content: "›";
    font-size: 1.25em;
    line-height: 1;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .location-access-map,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .ftc-map-embed iframe,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .location-access-map-placeholder {
    min-height: 680px !important;
}

@media (max-width: 900px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .location-access-grid.ftc-location-grid {
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .location-access-copy.ftc-location-copy {
        max-width: 640px !important;
        justify-self: stretch !important;
        margin: 0 auto !important;
        padding: var(--layout-section-y-spacing, 64px) var(--layout-section-x-spacing, 24px) !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .location-access-map,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .ftc-map-embed iframe,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .location-access-map-placeholder {
        min-height: 460px !important;
    }
}

/* ─── Fase 40.22: Location text card from theme_texts, map stays dynamic ───
   Solo corrige la columna editable de texto; el iframe/mapa sigue saliendo de meeting_points. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .ftc-location-text-block {
    max-width: 310px !important;
    margin: 0 0 var(--layout-elements-inset-cozy, 24px) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .ftc-location-text-block strong {
    display: block !important;
    margin: 0 0 var(--layout-elements-inset-dense, 8px) !important;
    color: var(--foreground-base-primary-strong, #211b16) !important;
    font-family: var(--font-action-nav-family, var(--font-body-family, Inter)), Inter, Arial, sans-serif !important;
    font-size: var(--font-action-nav-size, 14px) !important;
    line-height: var(--font-action-nav-line-height, 1.25) !important;
    letter-spacing: var(--font-action-nav-letter-spacing, .02em) !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .ftc-location-text-block p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .ftc-location-arrival-notice {
    max-width: 310px !important;
    margin: 0 !important;
    color: var(--foreground-base-secondary-strong, #5f554a) !important;
    font-family: var(--font-body-default-family, var(--font-body-family, Inter)), Inter, Arial, sans-serif !important;
    font-size: var(--font-body-default-size, 16px) !important;
    line-height: var(--font-body-default-line-height, 1.55) !important;
    letter-spacing: var(--font-body-default-letter-spacing, 0) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .ftc-location-card {
    position: relative !important;
    width: 100% !important;
    max-width: 310px !important;
    margin: var(--layout-elements-inset-loose, 40px) 0 0 !important;
    padding: var(--layout-elements-inset-cozy, 24px) !important;
    border-radius: var(--radius-md, 12px) !important;
    background: var(--background-base-default-soft, #f1eee8) !important;
    color: var(--foreground-base-secondary-strong, #5f554a) !important;
    font-family: var(--font-body-support-family, var(--font-body-family, Inter)), Inter, Arial, sans-serif !important;
    font-size: var(--font-body-support-size, 14px) !important;
    line-height: var(--font-body-support-line-height, 1.5) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .ftc-location-card-title {
    display: flex !important;
    align-items: center !important;
    gap: var(--layout-elements-inset-dense, 8px) !important;
    margin: 0 0 var(--layout-elements-inset-tight, 16px) !important;
    color: var(--foreground-base-primary-strong, #2d2924) !important;
    font-family: var(--font-title-card-family, var(--font-display-family, Signika)), Signika, Inter, Arial, sans-serif !important;
    font-size: var(--font-title-card-size, 20px) !important;
    line-height: var(--font-title-card-line-height, 1.2) !important;
    letter-spacing: var(--font-title-card-letter-spacing, -0.02em) !important;
    font-weight: 700 !important;
    text-transform: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .ftc-location-card-title::before {
    content: "";
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    border: 1.8px solid currentColor;
    border-radius: 999px 999px 999px 0;
    transform: rotate(-45deg);
    opacity: .75;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .ftc-location-card-address {
    margin: 0 0 var(--layout-elements-inset-tight, 16px) !important;
    padding-bottom: var(--layout-elements-inset-tight, 16px) !important;
    border-bottom: 1px solid var(--border-base-secondary-soft, #ddd4c5) !important;
    color: var(--foreground-base-secondary-strong, #5f554a) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .ftc-location-card-link {
    margin-top: 0 !important;
}

/* Fase 40.23 - Icono oficial Figma en tarjeta Location */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .ftc-location-card-title::before {
    content: "" !important;
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 24px !important;
    border: 0 !important;
    border-radius: 0 !important;
    transform: none !important;
    opacity: 1 !important;
    background: url('/styles/componentes/assets/location-card-pin.svg') center center / contain no-repeat !important;
}

/* Fase 40.24 - Cómo funciona según Figma + tokens DS */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how {
    background: var(--white-100) !important;
    color: var(--foreground-base-primary-strong) !important;
    padding-top: var(--layout-section-y-spacing) !important;
    padding-bottom: var(--layout-section-y-spacing) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ve-section-inner {
    width: min(calc(100% - (var(--layout-section-x-spacing) * 2)), var(--layout-container-content)) !important;
    max-width: var(--layout-container-content) !important;
    margin-inline: auto !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-grid {
    display: grid !important;
    grid-template-columns: minmax(300px, 0.34fr) minmax(0, 0.66fr) !important;
    gap: calc(var(--layout-elements-inset-spacious) * 2.75) !important;
    align-items: start !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro {
    max-width: var(--layout-container-reading) !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro h2 {
    margin: 0 0 var(--layout-elements-inset-loose) !important;
    color: var(--foreground-base-primary-strong) !important;
    font-family: var(--font-display-section-family) !important;
    font-size: var(--font-display-section-size) !important;
    line-height: var(--font-display-section-line-height) !important;
    letter-spacing: var(--font-display-section-letter-spacing) !important;
    font-weight: 400 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro p {
    max-width: 420px !important;
    margin: 0 !important;
    color: var(--foreground-base-secondary-strong) !important;
    font-family: var(--font-body-support-family) !important;
    font-size: var(--font-body-support-size) !important;
    line-height: var(--font-body-support-line-height) !important;
    letter-spacing: var(--font-body-support-letter-spacing) !important;
    text-align: left !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list > div,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step {
    display: grid !important;
    grid-template-columns: minmax(72px, 112px) minmax(0, 1fr) !important;
    column-gap: calc(var(--layout-elements-inset-spacious) * 1.85) !important;
    row-gap: var(--layout-elements-inset-compact) !important;
    padding: calc(var(--layout-elements-inset-spacious) * 1.22) 0 !important;
    margin: 0 !important;
    border-bottom: var(--stroke-sm) solid var(--border-base-secondary-soft) !important;
    align-items: start !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list > div:first-child,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step:first-child {
    padding-top: 0 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list > div:last-child,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step:last-child {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list strong,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step > strong {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    margin: 0 !important;
    color: var(--temperature-600) !important;
    font-family: var(--font-display-price-family) !important;
    font-size: var(--font-display-price-size) !important;
    line-height: var(--font-display-price-line-height) !important;
    letter-spacing: var(--font-display-price-letter-spacing) !important;
    font-weight: 700 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list h3,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step h3 {
    grid-column: 2 !important;
    margin: 0 0 var(--layout-elements-inset-tight) !important;
    color: var(--foreground-base-primary-strong) !important;
    font-family: var(--font-title-step-family) !important;
    font-size: var(--font-title-step-size) !important;
    line-height: var(--font-title-step-line-height) !important;
    letter-spacing: var(--font-title-step-letter-spacing) !important;
    font-weight: 700 !important;
    text-align: left !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step p {
    grid-column: 2 !important;
    margin: 0 !important;
    max-width: none !important;
    color: var(--foreground-base-secondary-strong) !important;
    font-family: var(--font-body-support-family) !important;
    font-size: var(--font-body-support-size) !important;
    line-height: var(--font-body-support-line-height) !important;
    letter-spacing: var(--font-body-support-letter-spacing) !important;
    text-align: left !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step > div {
    grid-column: 2 !important;
    min-width: 0 !important;
}

@media (max-width: 900px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-grid {
        grid-template-columns: 1fr !important;
        gap: var(--layout-elements-inset-expanded) !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list > div,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step {
        grid-template-columns: minmax(56px, 72px) minmax(0, 1fr) !important;
        column-gap: var(--layout-elements-inset-loose) !important;
    }
}

/* Fase 40.25 - Cómo funciona: ajuste real Figma + tokens DS
   Mantiene estructura editable por piezas y corrige la compresión del texto. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how {
    background: var(--background-base-default-soft) !important;
    color: var(--foreground-base-primary-strong, #2a2118) !important;
    padding-block: calc(var(--layout-section-y-spacing, 112px) * .92) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ve-section-inner {
    width: min(calc(100% - (var(--layout-section-x-spacing, 64px) * 2)), var(--layout-container-content, 1280px)) !important;
    max-width: var(--layout-container-content, 1280px) !important;
    margin-inline: auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-grid,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-columns.ftc-how-grid,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-columns-1-2.ftc-how-grid {
    display: grid !important;
    grid-template-columns: minmax(280px, 360px) minmax(680px, 1fr) !important;
    gap: clamp(var(--layout-elements-inset-expanded, 48px), 7vw, calc(var(--layout-elements-inset-spacious, 64px) * 1.75)) !important;
    align-items: start !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro {
    width: 100% !important;
    max-width: var(--layout-container-reading, 420px) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro h2,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro .ve-rich-text h2 {
    margin: 0 0 var(--layout-elements-inset-loose, 24px) !important;
    color: var(--foreground-base-primary-strong, #2a2118) !important;
    font-family: var(--font-display-section-family, var(--font-display-family, Signika)), Signika, Inter, Arial, sans-serif !important;
    font-size: var(--font-display-section-size, 40px) !important;
    line-height: var(--font-display-section-line-height, 48px) !important;
    letter-spacing: var(--font-display-section-letter-spacing, 0) !important;
    font-weight: 700 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro .ve-rich-text p {
    margin: 0 !important;
    max-width: var(--layout-container-reading, 420px) !important;
    color: var(--foreground-base-secondary-strong, #5f554b) !important;
    font-family: var(--font-body-support-family, var(--font-body-family, Inter)), Inter, Arial, sans-serif !important;
    font-size: var(--font-body-support-size, 14px) !important;
    line-height: var(--font-body-support-line-height, 22px) !important;
    letter-spacing: var(--font-body-support-letter-spacing, 0) !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-grid.ftc-steps-list {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list > .component-wrapper,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list > div.component-wrapper {
    min-width: 0 !important;
    width: 100% !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-how-step,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-how-step {
    display: grid !important;
    grid-template-columns: minmax(72px, 96px) minmax(0, 1fr) !important;
    column-gap: clamp(var(--layout-elements-inset-loose, 32px), 4.2vw, var(--layout-elements-inset-spacious, 64px)) !important;
    row-gap: var(--layout-elements-inset-tight, 12px) !important;
    align-items: start !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: calc(var(--layout-elements-inset-expanded, 48px) * .76) 0 !important;
    border-bottom: var(--stroke-sm, 1px) solid var(--border-base-secondary-soft, rgba(95, 85, 75, .18)) !important;
    box-sizing: border-box !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step:first-child {
    padding-top: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step:last-child {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step > strong {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    color: var(--temperature-600, #8c7b57) !important;
    font-family: var(--font-display-price-family, var(--font-display-family, Signika)), Signika, Inter, Arial, sans-serif !important;
    font-size: var(--font-display-price-size, 32px) !important;
    line-height: var(--font-display-price-line-height, 40px) !important;
    letter-spacing: var(--font-display-price-letter-spacing, 0) !important;
    font-weight: 700 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step > div {
    grid-column: 2 !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step h3,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step > div > h3 {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 0 var(--layout-elements-inset-tight, 12px) !important;
    color: var(--foreground-base-primary-strong, #2a2118) !important;
    font-family: var(--font-title-step-family, var(--font-display-family, Signika)), Signika, Inter, Arial, sans-serif !important;
    font-size: var(--font-title-step-size, 18px) !important;
    line-height: var(--font-title-step-line-height, 28px) !important;
    letter-spacing: var(--font-title-step-letter-spacing, 0) !important;
    font-weight: 700 !important;
    text-align: left !important;
    white-space: normal !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step > div > p {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    color: var(--foreground-base-secondary-strong, #5f554b) !important;
    font-family: var(--font-body-support-family, var(--font-body-family, Inter)), Inter, Arial, sans-serif !important;
    font-size: var(--font-body-support-size, 14px) !important;
    line-height: var(--font-body-support-line-height, 22px) !important;
    letter-spacing: var(--font-body-support-letter-spacing, 0) !important;
    text-align: left !important;
    white-space: normal !important;
}

@media (max-width: 1180px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-columns.ftc-how-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-columns-1-2.ftc-how-grid {
        grid-template-columns: minmax(260px, 340px) minmax(0, 1fr) !important;
        gap: var(--layout-elements-inset-expanded, 48px) !important;
    }
}

@media (max-width: 900px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-columns.ftc-how-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-columns-1-2.ftc-how-grid {
        grid-template-columns: 1fr !important;
        gap: var(--layout-elements-inset-expanded, 48px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-how-step,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-how-step {
        grid-template-columns: minmax(52px, 64px) minmax(0, 1fr) !important;
        column-gap: var(--layout-elements-inset-loose, 24px) !important;
    }
}

/* Fase 40.26 - Cómo funciona final Figma + tokens DS
   Objetivo: forzar la estructura real del PDF sin romper el editor por piezas.
   Diseño: intro izquierda + timeline derecha con número, línea vertical, título y descripción. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how {
    background: var(--background-base-default-soft) !important;
    color: var(--foreground-base-primary-strong, #2a2118) !important;
    padding-block: calc(var(--layout-section-y-spacing, 112px) * .95) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ve-section-inner {
    width: min(calc(100% - (var(--layout-section-x-spacing, 64px) * 2)), var(--layout-container-content, 1440px)) !important;
    max-width: var(--layout-container-content, 1440px) !important;
    margin-inline: auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-grid,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-columns.ftc-how-grid,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-columns-1-2.ftc-how-grid {
    display: grid !important;
    grid-template-columns: minmax(300px, 420px) minmax(0, 1fr) !important;
    column-gap: clamp(var(--layout-elements-inset-spacious, 64px), 8vw, calc(var(--layout-elements-inset-spacious, 64px) * 2.1)) !important;
    row-gap: var(--layout-elements-inset-expanded, 48px) !important;
    align-items: start !important;
    width: 100% !important;
    max-width: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-how-intro,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-how-intro {
    width: 100% !important;
    max-width: var(--layout-container-reading, 720px) !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro h2,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro .ve-rich-text h2 {
    position: relative !important;
    margin: 0 0 calc(var(--layout-elements-inset-expanded, 40px) * 1.08) !important;
    color: var(--foreground-base-primary-strong, #2a2118) !important;
    font-family: var(--font-display-section-family, var(--font-display-family, Signika)), Signika, Inter, Arial, sans-serif !important;
    font-size: var(--font-display-section-size, 40px) !important;
    line-height: var(--font-display-section-line-height, 48px) !important;
    letter-spacing: var(--font-display-section-letter-spacing, 0) !important;
    font-weight: 700 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro h2::after,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro .ve-rich-text h2::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    bottom: calc(var(--layout-elements-inset-loose, 24px) * -1) !important;
    width: calc(var(--layout-elements-inset-expanded, 40px) * 1.05) !important;
    height: var(--stroke-sm, 1px) !important;
    background: var(--border-base-secondary-strong, var(--temperature-500, #a89275)) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro .ve-rich-text p {
    margin: 0 !important;
    width: 100% !important;
    max-width: var(--layout-container-reading, 420px) !important;
    color: var(--foreground-base-secondary-strong, #5f554b) !important;
    font-family: var(--font-body-support-family, var(--font-body-family, Inter)), Inter, Arial, sans-serif !important;
    font-size: var(--font-body-support-size, 14px) !important;
    line-height: var(--font-body-support-line-height, 22px) !important;
    letter-spacing: var(--font-body-support-letter-spacing, 0) !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-grid.ftc-steps-list {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    gap: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list > .component-wrapper,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list > div.component-wrapper,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list > .component-wrapper > .component-content {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-how-step,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-how-step {
    position: relative !important;
    display: grid !important;
    grid-template-columns: clamp(76px, 6vw, 112px) minmax(0, 1fr) !important;
    column-gap: clamp(var(--layout-elements-inset-loose, 32px), 4vw, var(--layout-elements-inset-spacious, 64px)) !important;
    align-items: start !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 0 calc(var(--layout-elements-inset-spacious, 64px) * 1.02) !important;
    border: 0 !important;
    box-sizing: border-box !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step + .ftc-how-step,
.visual-layout-page[data-design-system="ftc-foundations"] .component-wrapper + .component-wrapper .ftc-how-step {
    padding-top: calc(var(--layout-elements-inset-spacious, 64px) * .48) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step:not(:last-child)::after,
.visual-layout-page[data-design-system="ftc-foundations"] .component-wrapper:not(:last-child) .ftc-how-step::after {
    content: "" !important;
    position: absolute !important;
    left: clamp(37px, 3vw, 56px) !important;
    top: calc(var(--font-display-price-line-height, 40px) + var(--layout-elements-inset-loose, 24px)) !important;
    bottom: calc(var(--layout-elements-inset-loose, 24px) * -1) !important;
    width: var(--stroke-sm, 1px) !important;
    background: var(--border-base-secondary-soft, rgba(95, 85, 75, .18)) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step:last-child,
.visual-layout-page[data-design-system="ftc-foundations"] .component-wrapper:last-child .ftc-how-step {
    padding-bottom: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step > strong {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    color: var(--temperature-600, #8c7b57) !important;
    font-family: var(--font-display-price-family, var(--font-display-family, Signika)), Signika, Inter, Arial, sans-serif !important;
    font-size: calc(var(--font-display-price-size, 32px) * 1.62) !important;
    line-height: calc(var(--font-display-price-line-height, 40px) * 1.42) !important;
    letter-spacing: var(--font-display-price-letter-spacing, 0) !important;
    font-weight: 700 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step > div {
    grid-column: 2 !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step h3,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step > div > h3 {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: calc(var(--layout-elements-inset-tight, 12px) * .15) 0 var(--layout-elements-inset-tight, 12px) !important;
    color: var(--foreground-base-primary-strong, #2a2118) !important;
    font-family: var(--font-title-step-family, var(--font-display-family, Signika)), Signika, Inter, Arial, sans-serif !important;
    font-size: var(--font-title-step-size, 18px) !important;
    line-height: var(--font-title-step-line-height, 28px) !important;
    letter-spacing: var(--font-title-step-letter-spacing, 0) !important;
    font-weight: 700 !important;
    text-align: left !important;
    text-transform: uppercase !important;
    white-space: normal !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step > div > p {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    color: var(--foreground-base-secondary-strong, #5f554b) !important;
    font-family: var(--font-body-default-family, var(--font-body-family, Inter)), Inter, Arial, sans-serif !important;
    font-size: var(--font-body-default-size, 16px) !important;
    line-height: var(--font-body-default-line-height, 24px) !important;
    letter-spacing: var(--font-body-default-letter-spacing, 0) !important;
    text-align: left !important;
    white-space: normal !important;
}

@media (max-width: 900px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-columns.ftc-how-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-columns-1-2.ftc-how-grid {
        grid-template-columns: 1fr !important;
        row-gap: var(--layout-elements-inset-expanded, 48px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-how-step,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-how-step {
        grid-template-columns: 64px minmax(0, 1fr) !important;
        column-gap: var(--layout-elements-inset-loose, 24px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step:not(:last-child)::after,
    .visual-layout-page[data-design-system="ftc-foundations"] .component-wrapper:not(:last-child) .ftc-how-step::after {
        left: 32px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step > strong {
        font-size: var(--font-display-price-size, 32px) !important;
        line-height: var(--font-display-price-line-height, 40px) !important;
    }
}

/* Fase 40.27 - Cómo funciona: alineación real en landing pública + editor
   Causa: la landing pública no siempre tiene los wrappers del editor y el timeline podía heredar anchuras estrechas.
   Este bloque fuerza la estructura oficial del PDF sin convertirlo en componente cerrado. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how {
    background: var(--background-base-default-soft) !important;
    color: var(--foreground-base-primary-strong, #2a2118) !important;
    padding-block: calc(var(--layout-section-y-spacing, 112px) * .92) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how > .ve-section-inner {
    width: min(1440px, calc(100vw - (var(--layout-section-x-spacing, 64px) * 2))) !important;
    max-width: min(1440px, calc(100vw - (var(--layout-section-x-spacing, 64px) * 2))) !important;
    margin-inline: auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-grid,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-columns.ftc-how-grid,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-columns-1-2.ftc-how-grid {
    display: grid !important;
    grid-template-columns: minmax(300px, 390px) minmax(0, 1fr) !important;
    column-gap: clamp(72px, 8vw, 132px) !important;
    row-gap: var(--layout-elements-inset-expanded, 48px) !important;
    align-items: start !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-how-intro,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-how-intro {
    width: 100% !important;
    max-width: 390px !important;
    min-width: 0 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro h2 {
    position: relative !important;
    margin: 0 0 calc(var(--layout-elements-inset-expanded, 40px) * 1.08) !important;
    color: var(--foreground-base-primary-strong, #2a2118) !important;
    font-family: var(--font-display-section-family) !important;
    font-size: var(--font-display-section-size) !important;
    line-height: var(--font-display-section-line-height) !important;
    font-weight: 400 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro h2::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    bottom: calc(var(--layout-elements-inset-loose, 24px) * -1) !important;
    width: calc(var(--layout-elements-inset-expanded, 40px) * 1.05) !important;
    height: var(--stroke-sm, 1px) !important;
    background: var(--border-base-secondary-strong, var(--temperature-500, #a89275)) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro p {
    margin: 0 !important;
    max-width: 390px !important;
    color: var(--foreground-base-secondary-strong, #5f554b) !important;
    font-family: var(--font-body-support-family, var(--font-body-family, Inter)), Inter, Arial, sans-serif !important;
    font-size: var(--font-body-support-size, 14px) !important;
    line-height: var(--font-body-support-line-height, 22px) !important;
    text-align: left !important;
    white-space: normal !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-grid.ftc-steps-list {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: min(100%, 720px) !important;
    gap: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list > .component-wrapper,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list > .component-wrapper > .component-content {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-how-step,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-how-step,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list > div.ftc-how-step {
    position: relative !important;
    display: grid !important;
    grid-template-columns: clamp(72px, 6vw, 112px) minmax(420px, 1fr) !important;
    column-gap: clamp(var(--layout-elements-inset-loose, 32px), 4vw, var(--layout-elements-inset-spacious, 64px)) !important;
    align-items: start !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 0 calc(var(--layout-elements-inset-spacious, 64px) * 1.02) !important;
    border: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step + .ftc-how-step,
.visual-layout-page[data-design-system="ftc-foundations"] .component-wrapper + .component-wrapper .ftc-how-step {
    padding-top: calc(var(--layout-elements-inset-spacious, 64px) * .48) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step:not(:last-child)::after,
.visual-layout-page[data-design-system="ftc-foundations"] .component-wrapper:not(:last-child) .ftc-how-step::after {
    content: "" !important;
    position: absolute !important;
    left: clamp(36px, 3vw, 56px) !important;
    top: calc(var(--font-display-price-line-height, 40px) + var(--layout-elements-inset-loose, 24px)) !important;
    bottom: calc(var(--layout-elements-inset-loose, 24px) * -1) !important;
    width: var(--stroke-sm, 1px) !important;
    background: var(--border-base-secondary-soft, rgba(95, 85, 75, .18)) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step:last-child,
.visual-layout-page[data-design-system="ftc-foundations"] .component-wrapper:last-child .ftc-how-step {
    padding-bottom: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step > strong {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    color: var(--temperature-600, #8c7b57) !important;
    font-family: var(--font-display-price-family, var(--font-display-family, Signika)), Signika, Inter, Arial, sans-serif !important;
    font-size: calc(var(--font-display-price-size, 32px) * 1.62) !important;
    line-height: calc(var(--font-display-price-line-height, 40px) * 1.42) !important;
    font-weight: 700 !important;
    text-align: left !important;
    white-space: nowrap !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step > div,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step > h3,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step > p {
    grid-column: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-left: 0 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step h3,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step > div > h3,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step > h3 {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: calc(var(--layout-elements-inset-tight, 12px) * .15) 0 var(--layout-elements-inset-tight, 12px) !important;
    color: var(--foreground-base-primary-strong, #2a2118) !important;
    font-family: var(--font-title-step-family, var(--font-display-family, Signika)), Signika, Inter, Arial, sans-serif !important;
    font-size: var(--font-title-step-size, 18px) !important;
    line-height: var(--font-title-step-line-height, 28px) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step > div > p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step > p {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    color: var(--foreground-base-secondary-strong, #5f554b) !important;
    font-family: var(--font-body-default-family, var(--font-body-family, Inter)), Inter, Arial, sans-serif !important;
    font-size: var(--font-body-default-size, 16px) !important;
    line-height: var(--font-body-default-line-height, 24px) !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

@media (max-width: 1100px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how > .ve-section-inner {
        width: min(100% - (var(--layout-section-x-spacing, 32px) * 2), 860px) !important;
        max-width: min(100% - (var(--layout-section-x-spacing, 32px) * 2), 860px) !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-columns.ftc-how-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-columns-1-2.ftc-how-grid {
        grid-template-columns: 1fr !important;
        row-gap: var(--layout-elements-inset-expanded, 48px) !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-how-step,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-how-step {
        grid-template-columns: 64px minmax(0, 1fr) !important;
        column-gap: var(--layout-elements-inset-loose, 24px) !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step:not(:last-child)::after,
    .visual-layout-page[data-design-system="ftc-foundations"] .component-wrapper:not(:last-child) .ftc-how-step::after {
        left: 32px !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step > strong {
        font-size: var(--font-display-price-size, 32px) !important;
        line-height: var(--font-display-price-line-height, 40px) !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step > div,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step > h3,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step > p {
        grid-column: 2 !important;
    }
}

/* Fase 40.28b - Why us Figma safe block
   Solo afecta a .ftc-benefits. No toca header, hero, mapa, reservas ni compra.
   Mantiene estructura por piezas: head + grid + rich_text items. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits {
    background: var(--background-base-support-emphasis, #11374D) !important;
    color: var(--foreground-base-inverse-strong, #FFFFFF) !important;
    padding-block: calc(var(--layout-section-y-spacing, 112px) * .86) calc(var(--layout-section-y-spacing, 112px) * .92) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits > .ve-section-inner {
    width: min(var(--layout-container-content, 1440px), calc(100vw - (var(--layout-section-x-spacing, 64px) * 2))) !important;
    max-width: min(var(--layout-container-content, 1440px), calc(100vw - (var(--layout-section-x-spacing, 64px) * 2))) !important;
    margin-inline: auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-head,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-benefits-head,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-benefits-head {
    max-width: var(--layout-container-reading, 720px) !important;
    margin: 0 0 calc(var(--layout-elements-inset-expanded, 48px) * 1.22) !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-head h2 {
    position: relative !important;
    margin: 0 0 calc(var(--layout-elements-inset-expanded, 48px) * 1.10) !important;
    color: var(--foreground-base-inverse-strong, #FFFFFF) !important;
    font-family: var(--font-display-section-family) !important;
    font-size: var(--font-display-section-size) !important;
    line-height: var(--font-display-section-line-height) !important;
    font-weight: 400 !important;
    letter-spacing: var(--font-display-page-letter-spacing, 0) !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-head h2::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    bottom: calc(var(--layout-elements-inset-loose, 24px) * -1) !important;
    width: calc(var(--layout-elements-inset-expanded, 48px) * .95) !important;
    height: var(--stroke-sm, 1px) !important;
    background: var(--foreground-base-inverse-soft, rgba(255,255,255,.70)) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-head p {
    margin: 0 !important;
    max-width: var(--layout-container-reading, 720px) !important;
    color: var(--foreground-base-inverse-soft, rgba(255,255,255,.72)) !important;
    font-family: var(--font-body-default-family, var(--font-body-family, Inter)), Inter, Arial, sans-serif !important;
    font-size: var(--font-body-default-size, 16px) !important;
    line-height: var(--font-body-default-line-height, 24px) !important;
    font-weight: 400 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-grid,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-grid.ftc-benefits-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: calc(var(--layout-elements-inset-expanded, 48px) * 1.72) !important;
    row-gap: calc(var(--layout-elements-inset-expanded, 48px) * 1.25) !important;
    align-items: start !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-grid > .component-wrapper,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-grid > .component-wrapper > .component-content {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefit-item,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-benefit-item,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-benefit-item {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    text-align: left !important;
    color: var(--foreground-base-inverse-strong, #FFFFFF) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefit-item > span:first-child {
    display: block !important;
    width: var(--layout-elements-inset-expanded, 40px) !important;
    height: var(--layout-elements-inset-expanded, 40px) !important;
    margin: 0 0 var(--layout-elements-inset-loose, 24px) !important;
    padding: 0 !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-grid > .ftc-benefit-item:nth-child(1) > span:first-child,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-grid > .component-wrapper:nth-child(1) .ftc-benefit-item > span:first-child {
    background-image: url('/styles/componentes/assets/benefits/audioguia.svg') !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-grid > .ftc-benefit-item:nth-child(2) > span:first-child,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-grid > .component-wrapper:nth-child(2) .ftc-benefit-item > span:first-child {
    background-image: url('/styles/componentes/assets/benefits/reserva.svg') !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-grid > .ftc-benefit-item:nth-child(3) > span:first-child,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-grid > .component-wrapper:nth-child(3) .ftc-benefit-item > span:first-child {
    background-image: url('/styles/componentes/assets/benefits/experiencia.svg') !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-grid > .ftc-benefit-item:nth-child(4) > span:first-child,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-grid > .component-wrapper:nth-child(4) .ftc-benefit-item > span:first-child {
    background-image: url('/styles/componentes/assets/benefits/ajustes.svg') !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-grid > .ftc-benefit-item:nth-child(5) > span:first-child,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-grid > .component-wrapper:nth-child(5) .ftc-benefit-item > span:first-child {
    background-image: url('/styles/componentes/assets/benefits/informacion.svg') !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-grid > .ftc-benefit-item:nth-child(6) > span:first-child,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-grid > .component-wrapper:nth-child(6) .ftc-benefit-item > span:first-child {
    background-image: url('/styles/componentes/assets/benefits/soporte.svg') !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefit-item h3 {
    margin: 0 0 var(--layout-elements-inset-cozy, 16px) !important;
    color: var(--foreground-base-inverse-strong, #FFFFFF) !important;
    font-family: var(--font-title-card-family) !important;
    font-size: var(--font-title-card-size) !important;
    line-height: var(--font-title-card-line-height) !important;
    font-weight: 500 !important;
    letter-spacing: var(--font-title-card-letter-spacing) !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefit-item p {
    margin: 0 !important;
    color: var(--foreground-base-inverse-soft, rgba(255,255,255,.72)) !important;
    font-family: var(--font-body-default-family, var(--font-body-family, Inter)), Inter, Arial, sans-serif !important;
    font-size: var(--font-body-default-size, 16px) !important;
    line-height: var(--font-body-default-line-height, 24px) !important;
    font-weight: 400 !important;
    text-align: left !important;
}

@media (max-width: 1100px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-grid.ftc-benefits-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits {
        padding-block: var(--layout-section-y-spacing, 56px) !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-grid.ftc-benefits-grid {
        grid-template-columns: 1fr !important;
        row-gap: var(--layout-elements-inset-expanded, 40px) !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-head h2 {
        font-size: var(--font-display-section-size, 40px) !important;
        line-height: var(--font-display-section-line-height, 48px) !important;
    }
}



/* Fase 40.29 - Benefits icons public/editor robust fix
   Motivo: en la vista pública el icono no debe depender del <span> interno,
   porque el contenido guardado/renderizado puede no conservarlo igual que en el editor.
   Se pinta el icono desde el item, manteniendo textos editables y assets por componente. */
.visual-layout-page .ftc-benefits .ftc-benefit-item > span:first-child,
.visual-layout-page .ftc-benefits .editable-rich-text.ftc-benefit-item > span:first-child,
.visual-layout-page .ftc-benefits .ve-rich-text.ftc-benefit-item > span:first-child {
    display: none !important;
}

.visual-layout-page .ftc-benefits .ftc-benefit-item::before,
.visual-layout-page .ftc-benefits .editable-rich-text.ftc-benefit-item::before,
.visual-layout-page .ftc-benefits .ve-rich-text.ftc-benefit-item::before {
    content: "" !important;
    display: block !important;
    width: var(--layout-elements-inset-expanded, 40px) !important;
    height: var(--layout-elements-inset-expanded, 40px) !important;
    margin: 0 0 var(--layout-elements-inset-loose, 24px) !important;
    background-color: var(--foreground-base-accent-soft, var(--accent-500, #6698BB)) !important;
    -webkit-mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    -webkit-mask-size: contain !important;
    mask-repeat: no-repeat !important;
    mask-position: center !important;
    mask-size: contain !important;
    flex: 0 0 auto !important;
}

.visual-layout-page .ftc-benefits-grid > .ftc-benefit-item:nth-child(1)::before,
.visual-layout-page .ftc-benefits-grid > .ve-rich-text.ftc-benefit-item:nth-child(1)::before,
.visual-layout-page .ftc-benefits-grid > .editable-rich-text.ftc-benefit-item:nth-child(1)::before,
.visual-layout-page .ftc-benefits-grid > .component-wrapper:nth-child(1) .ftc-benefit-item::before {
    -webkit-mask-image: url('/styles/componentes/assets/benefits/audioguia.svg') !important;
    mask-image: url('/styles/componentes/assets/benefits/audioguia.svg') !important;
}

.visual-layout-page .ftc-benefits-grid > .ftc-benefit-item:nth-child(2)::before,
.visual-layout-page .ftc-benefits-grid > .ve-rich-text.ftc-benefit-item:nth-child(2)::before,
.visual-layout-page .ftc-benefits-grid > .editable-rich-text.ftc-benefit-item:nth-child(2)::before,
.visual-layout-page .ftc-benefits-grid > .component-wrapper:nth-child(2) .ftc-benefit-item::before {
    -webkit-mask-image: url('/styles/componentes/assets/benefits/reserva.svg') !important;
    mask-image: url('/styles/componentes/assets/benefits/reserva.svg') !important;
}

.visual-layout-page .ftc-benefits-grid > .ftc-benefit-item:nth-child(3)::before,
.visual-layout-page .ftc-benefits-grid > .ve-rich-text.ftc-benefit-item:nth-child(3)::before,
.visual-layout-page .ftc-benefits-grid > .editable-rich-text.ftc-benefit-item:nth-child(3)::before,
.visual-layout-page .ftc-benefits-grid > .component-wrapper:nth-child(3) .ftc-benefit-item::before {
    -webkit-mask-image: url('/styles/componentes/assets/benefits/experiencia.svg') !important;
    mask-image: url('/styles/componentes/assets/benefits/experiencia.svg') !important;
}

.visual-layout-page .ftc-benefits-grid > .ftc-benefit-item:nth-child(4)::before,
.visual-layout-page .ftc-benefits-grid > .ve-rich-text.ftc-benefit-item:nth-child(4)::before,
.visual-layout-page .ftc-benefits-grid > .editable-rich-text.ftc-benefit-item:nth-child(4)::before,
.visual-layout-page .ftc-benefits-grid > .component-wrapper:nth-child(4) .ftc-benefit-item::before {
    -webkit-mask-image: url('/styles/componentes/assets/benefits/ajustes.svg') !important;
    mask-image: url('/styles/componentes/assets/benefits/ajustes.svg') !important;
}

.visual-layout-page .ftc-benefits-grid > .ftc-benefit-item:nth-child(5)::before,
.visual-layout-page .ftc-benefits-grid > .ve-rich-text.ftc-benefit-item:nth-child(5)::before,
.visual-layout-page .ftc-benefits-grid > .editable-rich-text.ftc-benefit-item:nth-child(5)::before,
.visual-layout-page .ftc-benefits-grid > .component-wrapper:nth-child(5) .ftc-benefit-item::before {
    -webkit-mask-image: url('/styles/componentes/assets/benefits/informacion.svg') !important;
    mask-image: url('/styles/componentes/assets/benefits/informacion.svg') !important;
}

.visual-layout-page .ftc-benefits-grid > .ftc-benefit-item:nth-child(6)::before,
.visual-layout-page .ftc-benefits-grid > .ve-rich-text.ftc-benefit-item:nth-child(6)::before,
.visual-layout-page .ftc-benefits-grid > .editable-rich-text.ftc-benefit-item:nth-child(6)::before,
.visual-layout-page .ftc-benefits-grid > .component-wrapper:nth-child(6) .ftc-benefit-item::before {
    -webkit-mask-image: url('/styles/componentes/assets/benefits/soporte.svg') !important;
    mask-image: url('/styles/componentes/assets/benefits/soporte.svg') !important;
}

/* Fase 40.30 - Benefits icons public .cmp-rich_text fix
   En vista pública, los componentes rich_text con CSS propio se envuelven en .cmp-rich_text.
   El editor usa .component-wrapper, por eso los nth-child anteriores sólo funcionaban dentro del editor.
   Esta capa añade el caso público sin tocar estructura ni JS. */
.visual-layout-page .ftc-benefits-grid > .cmp-rich_text {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}

.visual-layout-page .ftc-benefits-grid > .cmp-rich_text .ftc-benefit-item::before,
.visual-layout-page .ftc-benefits-grid > .cmp-rich_text .ve-rich-text.ftc-benefit-item::before {
    content: "" !important;
    display: block !important;
    width: var(--layout-elements-inset-expanded, 40px) !important;
    height: var(--layout-elements-inset-expanded, 40px) !important;
    margin: 0 0 var(--layout-elements-inset-loose, 24px) !important;
    background-color: var(--foreground-base-accent-soft, var(--accent-500, #6698BB)) !important;
    -webkit-mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    -webkit-mask-size: contain !important;
    mask-repeat: no-repeat !important;
    mask-position: center !important;
    mask-size: contain !important;
    flex: 0 0 auto !important;
}

.visual-layout-page .ftc-benefits-grid > .cmp-rich_text:nth-child(1) .ftc-benefit-item::before,
.visual-layout-page .ftc-benefits-grid > .cmp-rich_text:nth-child(1) .ve-rich-text.ftc-benefit-item::before {
    -webkit-mask-image: url('/styles/componentes/assets/benefits/audioguia.svg') !important;
    mask-image: url('/styles/componentes/assets/benefits/audioguia.svg') !important;
}
.visual-layout-page .ftc-benefits-grid > .cmp-rich_text:nth-child(2) .ftc-benefit-item::before,
.visual-layout-page .ftc-benefits-grid > .cmp-rich_text:nth-child(2) .ve-rich-text.ftc-benefit-item::before {
    -webkit-mask-image: url('/styles/componentes/assets/benefits/reserva.svg') !important;
    mask-image: url('/styles/componentes/assets/benefits/reserva.svg') !important;
}
.visual-layout-page .ftc-benefits-grid > .cmp-rich_text:nth-child(3) .ftc-benefit-item::before,
.visual-layout-page .ftc-benefits-grid > .cmp-rich_text:nth-child(3) .ve-rich-text.ftc-benefit-item::before {
    -webkit-mask-image: url('/styles/componentes/assets/benefits/experiencia.svg') !important;
    mask-image: url('/styles/componentes/assets/benefits/experiencia.svg') !important;
}
.visual-layout-page .ftc-benefits-grid > .cmp-rich_text:nth-child(4) .ftc-benefit-item::before,
.visual-layout-page .ftc-benefits-grid > .cmp-rich_text:nth-child(4) .ve-rich-text.ftc-benefit-item::before {
    -webkit-mask-image: url('/styles/componentes/assets/benefits/ajustes.svg') !important;
    mask-image: url('/styles/componentes/assets/benefits/ajustes.svg') !important;
}
.visual-layout-page .ftc-benefits-grid > .cmp-rich_text:nth-child(5) .ftc-benefit-item::before,
.visual-layout-page .ftc-benefits-grid > .cmp-rich_text:nth-child(5) .ve-rich-text.ftc-benefit-item::before {
    -webkit-mask-image: url('/styles/componentes/assets/benefits/informacion.svg') !important;
    mask-image: url('/styles/componentes/assets/benefits/informacion.svg') !important;
}
.visual-layout-page .ftc-benefits-grid > .cmp-rich_text:nth-child(6) .ftc-benefit-item::before,
.visual-layout-page .ftc-benefits-grid > .cmp-rich_text:nth-child(6) .ve-rich-text.ftc-benefit-item::before {
    -webkit-mask-image: url('/styles/componentes/assets/benefits/soporte.svg') !important;
    mask-image: url('/styles/componentes/assets/benefits/soporte.svg') !important;
}

/* Fase 40.33 - Reviews / Opiniones ajustado a estructura Figma + Design System v0.1
   Bloque limitado a .ftc-reviews.
   Mantiene tokens semánticos de color, tipografía, radios y layout.
   La estructura desktop usa el container content del DS para replicar el ancho real del Figma. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reviews {
    background: var(--background-base-default-soft) !important;
    color: var(--foreground-base-primary-strong) !important;
    padding-block: calc(var(--layout-section-y-spacing) * .75) calc(var(--layout-section-y-spacing) * .72) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reviews .ve-section-inner {
    width: min(var(--layout-container-content), calc(100% - (var(--layout-section-x-spacing) * 2))) !important;
    max-width: var(--layout-container-content) !important;
    margin-inline: auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reviews-head,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-reviews-head,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-reviews-head {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    text-align: center !important;
    margin: 0 0 calc(var(--layout-section-y-spacing) * .72) !important;
    color: var(--foreground-base-primary-mid) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reviews-head h2 {
    margin: 0 !important;
    color: var(--foreground-base-primary-mid) !important;
    font-family: var(--font-display-section-family), var(--font-display-family), sans-serif !important;
    font-size: var(--font-display-section-size) !important;
    line-height: var(--font-display-section-line-height) !important;
    font-weight: 600 !important;
    letter-spacing: var(--font-display-section-letter-spacing) !important;
    text-align: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reviews-head h2::after {
    content: "" !important;
    display: block !important;
    width: var(--layout-elements-inset-expanded) !important;
    height: 1px !important;
    margin: var(--layout-elements-inset-cozy) auto 0 !important;
    background: var(--border-base-secondary-mid) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reviews-head > .ftc-stars {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: var(--layout-elements-gap-tight) !important;
    margin: calc(var(--layout-elements-inset-expanded) * .85) 0 0 !important;
    padding: 0 !important;
    color: var(--foreground-action-secondary-default) !important;
    font-family: var(--font-title-card-family), var(--font-display-family), sans-serif !important;
    font-size: var(--font-title-card-size) !important;
    line-height: var(--font-title-card-line-height) !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    background: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reviews-head > .ftc-stars strong {
    display: inline !important;
    color: inherit !important;
    font: inherit !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reviews-head > .ftc-stars::after {
    content: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reviews-subtitle {
    margin: var(--layout-elements-inset-compact) 0 0 !important;
    color: var(--foreground-base-primary-soft) !important;
    font-family: var(--font-body-caption-family), var(--font-body-family), sans-serif !important;
    font-size: var(--font-body-caption-size) !important;
    line-height: var(--font-body-caption-line-height) !important;
    font-weight: 400 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-grid,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-grid.ftc-review-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--layout-elements-gap-loose) !important;
    align-items: stretch !important;
    width: 100% !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-grid > .component-wrapper,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-grid > .component-wrapper > .component-content,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-grid > .cmp-card {
    display: block !important;
    min-width: 0 !important;
    width: 100% !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-card,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-card.ftc-review-card {
    display: flex !important;
    flex-direction: column !important;
    min-height: calc(var(--layout-elements-inset-expanded) * 6.8) !important;
    height: 100% !important;
    padding: calc(var(--layout-elements-inset-spacious) + var(--layout-elements-inset-compact)) !important;
    border: 1px solid var(--border-base-tertiary-mid) !important;
    border-radius: var(--radius-lg) !important;
    background: var(--white-100) !important;
    box-shadow: 0 2px 0 var(--border-base-secondary-soft) !important;
    color: var(--foreground-base-primary-strong) !important;
    overflow: hidden !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-content,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-review-content,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-review-content {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    color: var(--foreground-base-primary-strong) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-content > .ftc-stars {
    display: block !important;
    margin: 0 0 var(--layout-elements-inset-spacious) !important;
    padding: 0 !important;
    width: auto !important;
    height: auto !important;
    color: var(--foreground-base-accent-soft) !important;
    font-family: var(--font-title-card-family), var(--font-display-family), sans-serif !important;
    font-size: var(--font-title-card-size) !important;
    line-height: var(--font-title-card-line-height) !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    background: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-content blockquote {
    margin: 0 !important;
    color: var(--foreground-base-primary-soft) !important;
    font-family: var(--font-body-support-family), var(--font-body-family), sans-serif !important;
    font-size: var(--font-body-support-size) !important;
    line-height: var(--font-body-support-line-height) !important;
    font-weight: 400 !important;
    font-style: italic !important;
    border: 0 !important;
    padding: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-author,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-content blockquote + p {
    display: grid !important;
    grid-template-columns: var(--layout-elements-inset-expanded) minmax(0, 1fr) !important;
    column-gap: var(--layout-elements-inset-cozy) !important;
    align-items: center !important;
    margin: auto 0 0 !important;
    padding: var(--layout-elements-inset-loose) 0 0 !important;
    border-top: 1px solid var(--border-base-secondary-soft) !important;
    color: var(--foreground-base-primary-strong) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-avatar {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: var(--layout-elements-inset-expanded) !important;
    height: var(--layout-elements-inset-expanded) !important;
    border-radius: var(--radius-full) !important;
    background: var(--background-base-default-mid) !important;
    color: var(--foreground-base-primary-mid) !important;
    font-family: var(--font-title-card-family), var(--font-display-family), sans-serif !important;
    font-size: var(--font-body-default-size) !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    text-align: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-author p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-content blockquote + p {
    margin: 0 !important;
    min-width: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-author strong,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-content blockquote + p strong {
    grid-column: 2 !important;
    display: block !important;
    color: var(--foreground-base-primary-strong) !important;
    font-family: var(--font-body-default-family), var(--font-body-family), sans-serif !important;
    font-size: var(--font-body-support-size) !important;
    line-height: var(--font-body-support-line-height) !important;
    font-weight: 700 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-author small,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-content blockquote + p small {
    grid-column: 2 !important;
    display: block !important;
    color: var(--foreground-base-primary-soft) !important;
    font-family: var(--font-body-caption-family), var(--font-body-family), sans-serif !important;
    font-size: var(--font-body-caption-size) !important;
    line-height: var(--font-body-caption-line-height) !important;
    font-weight: 400 !important;
}

/* Compatibilidad con bloques ya guardados en BD antes de añadir .ftc-review-author. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-content blockquote + p::before {
    content: "C" !important;
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: var(--layout-elements-inset-expanded) !important;
    height: var(--layout-elements-inset-expanded) !important;
    border-radius: var(--radius-full) !important;
    background: var(--background-base-default-mid) !important;
    color: var(--foreground-base-primary-mid) !important;
    font-family: var(--font-title-card-family), var(--font-display-family), sans-serif !important;
    font-size: var(--font-body-default-size) !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    text-align: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-grid > .ve-card:nth-child(2) .ftc-review-content blockquote + p::before,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-grid > .cmp-card:nth-child(2) .ftc-review-content blockquote + p::before,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-grid > .component-wrapper:nth-child(2) .ftc-review-content blockquote + p::before {
    content: "T" !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-grid > .ve-card:nth-child(3) .ftc-review-content blockquote + p::before,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-grid > .cmp-card:nth-child(3) .ftc-review-content blockquote + p::before,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-grid > .component-wrapper:nth-child(3) .ftc-review-content blockquote + p::before {
    content: "E" !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-content blockquote + p small {
    font-size: 0 !important;
    line-height: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-content blockquote + p small::after {
    content: "Barcelona, España • Hace 2 semanas" !important;
    display: block !important;
    font-size: var(--font-body-caption-size) !important;
    line-height: var(--font-body-caption-line-height) !important;
    font-weight: 400 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-grid > .ve-card:nth-child(2) .ftc-review-content blockquote + p small::after,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-grid > .cmp-card:nth-child(2) .ftc-review-content blockquote + p small::after,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-grid > .component-wrapper:nth-child(2) .ftc-review-content blockquote + p small::after {
    content: "Londres, UK • Hace 1 mes" !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-grid > .ve-card:nth-child(3) .ftc-review-content blockquote + p small::after,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-grid > .cmp-card:nth-child(3) .ftc-review-content blockquote + p small::after,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-grid > .component-wrapper:nth-child(3) .ftc-review-content blockquote + p small::after {
    content: "Madrid, España • Hace 2 meses" !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reviews-head:not(:has(.ftc-reviews-subtitle)) > .ftc-stars {
    flex-wrap: wrap !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reviews-head:not(:has(.ftc-reviews-subtitle)) > .ftc-stars::after {
    content: "Basado en 2.847 reseñas verificadas" !important;
    display: block !important;
    flex-basis: 100% !important;
    width: 100% !important;
    margin-top: var(--layout-elements-inset-compact) !important;
    color: var(--foreground-base-primary-soft) !important;
    font-family: var(--font-body-caption-family), var(--font-body-family), sans-serif !important;
    font-size: var(--font-body-caption-size) !important;
    line-height: var(--font-body-caption-line-height) !important;
    font-weight: 400 !important;
    text-align: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-reviews .ve-section-inner:not(:has(.ftc-review-note))::after {
    content: "Todas las reseñas provienen de clientes verificados que han completado su visita al Real Alcázar de Sevilla." !important;
    display: block !important;
    margin: calc(var(--layout-elements-inset-expanded) * 1.15) auto 0 !important;
    color: var(--foreground-base-primary-soft) !important;
    font-family: var(--font-body-caption-family), var(--font-body-family), sans-serif !important;
    font-size: var(--font-body-caption-size) !important;
    line-height: var(--font-body-caption-line-height) !important;
    font-weight: 400 !important;
    text-align: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-note,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-review-note,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-review-note {
    display: block !important;
    margin: calc(var(--layout-elements-inset-expanded) * 1.15) auto 0 !important;
    color: var(--foreground-base-primary-soft) !important;
    font-family: var(--font-body-caption-family), var(--font-body-family), sans-serif !important;
    font-size: var(--font-body-caption-size) !important;
    line-height: var(--font-body-caption-line-height) !important;
    font-weight: 400 !important;
    text-align: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-note p {
    margin: 0 !important;
}

@media (max-width: 1100px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-grid.ftc-review-grid {
        grid-template-columns: 1fr !important;
        gap: var(--layout-elements-gap-loose) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-card,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-card.ftc-review-card {
        min-height: 0 !important;
    }
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-reviews {
        padding-block: var(--layout-section-y-spacing) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-reviews .ve-section-inner {
        width: min(var(--layout-container-content), calc(100% - (var(--layout-section-x-spacing) * 2))) !important;
        max-width: var(--layout-container-content) !important;
    }
}

/* Fase 40.34 - FAQs / Preguntas Frecuentes ajustado a Figma + Design System v0.1
   Bloque limitado a .ftc-faq.
   Replica la estructura desktop del Figma usando tokens semánticos de layout,
   color, tipografía, bordes y radios del Design System. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq {
    background: var(--white-100) !important;
    color: var(--foreground-base-primary-strong) !important;
    padding-block: calc(var(--layout-section-y-spacing) * .64) calc(var(--layout-section-y-spacing) * .76) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq .ve-section-inner {
    width: min(var(--layout-container-content), calc(100% - (var(--layout-section-x-spacing) * 2))) !important;
    max-width: var(--layout-container-content) !important;
    margin-inline: auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq .ftc-section-title,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq h2.ftc-section-title {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 0 calc(var(--layout-section-y-spacing) * .56) !important;
    color: var(--foreground-base-primary-soft) !important;
    font-family: var(--font-display-section-family), var(--font-display-family), sans-serif !important;
    font-size: var(--font-display-section-size) !important;
    line-height: var(--font-display-section-line-height) !important;
    letter-spacing: var(--font-display-section-letter-spacing) !important;
    font-weight: 400 !important;
    text-align: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq .ftc-section-title::after,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq h2.ftc-section-title::after {
    content: "" !important;
    display: block !important;
    width: var(--layout-elements-inset-expanded) !important;
    height: var(--stroke-sm) !important;
    margin: var(--layout-elements-inset-cozy) auto 0 !important;
    background: var(--border-base-secondary-mid) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq-list,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-faq-list,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-faq-list {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq-list details {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: var(--stroke-sm) solid var(--border-base-secondary-mid) !important;
    color: var(--foreground-base-primary-strong) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq-list details:first-of-type {
    border-top: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq-list details:last-of-type {
    border-bottom: var(--stroke-sm) solid var(--border-base-secondary-mid) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq-list summary {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    min-height: calc(var(--layout-elements-inset-expanded) + var(--layout-elements-inset-spacious)) !important;
    padding: var(--layout-elements-inset-loose) calc(var(--layout-elements-inset-spacious) + var(--layout-elements-inset-loose)) var(--layout-elements-inset-loose) 0 !important;
    cursor: pointer !important;
    list-style: none !important;
    color: var(--foreground-base-primary-soft) !important;
    font-family: var(--font-body-default-family), var(--font-body-family), sans-serif !important;
    font-size: var(--font-body-default-size) !important;
    line-height: var(--font-body-default-line-height) !important;
    font-weight: 700 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq-list summary::-webkit-details-marker {
    display: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq-list summary::after {
    content: "⌄" !important;
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: var(--layout-elements-inset-spacious) !important;
    height: var(--layout-elements-inset-spacious) !important;
    border: var(--stroke-sm) solid var(--border-base-secondary-mid) !important;
    border-radius: var(--radius-full) !important;
    background: var(--white-100) !important;
    color: var(--foreground-base-primary-soft) !important;
    font-family: var(--font-action-secondary-family), var(--font-body-family), sans-serif !important;
    font-size: var(--font-action-secondary-size) !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    transform: translateY(-50%) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq-list details[open] summary::after {
    content: "⌄" !important;
    transform: translateY(-50%) rotate(180deg) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq-list p:not(.ftc-more) {
    max-width: var(--layout-container-reading) !important;
    margin: calc(var(--layout-elements-inset-compact) * -1) 0 var(--layout-elements-inset-loose) !important;
    padding: 0 !important;
    color: var(--foreground-base-secondary-mid) !important;
    font-family: var(--font-body-default-family), var(--font-body-family), sans-serif !important;
    font-size: var(--font-body-support-size) !important;
    line-height: var(--font-body-support-line-height) !important;
    font-weight: 400 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq .ftc-more {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin: calc(var(--layout-elements-inset-expanded) * 1.3) 0 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq .ftc-more a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: calc(var(--layout-elements-inset-expanded) + var(--layout-elements-inset-compact)) !important;
    padding: var(--layout-elements-inset-cozy) calc(var(--layout-elements-inset-expanded) * 1.35) !important;
    border: var(--stroke-sm) solid var(--border-action-secondary-hover) !important;
    border-radius: var(--radius-full) !important;
    background: var(--background-action-ghost-default) !important;
    color: var(--foreground-base-primary-soft) !important;
    box-shadow: none !important;
    font-family: var(--font-action-secondary-family), var(--font-body-family), sans-serif !important;
    font-size: var(--font-action-secondary-size) !important;
    line-height: var(--font-action-secondary-line-height) !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq .ftc-more a:hover,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq .ftc-more a:focus-visible {
    background: var(--background-action-ghost-hover) !important;
    border-color: var(--border-action-secondary-pressed) !important;
    color: var(--foreground-action-ghost-hover) !important;
}

@media (max-width: 1024px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq .ve-section-inner {
        width: min(var(--layout-container-content), calc(100% - (var(--layout-section-x-spacing) * 2))) !important;
        max-width: var(--layout-container-content) !important;
    }
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq {
        padding-block: var(--layout-section-y-spacing) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq .ftc-section-title,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq h2.ftc-section-title {
        margin-bottom: var(--layout-elements-inset-expanded) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq-list summary {
        min-height: calc(var(--layout-elements-inset-expanded) * 2) !important;
        padding-right: calc(var(--layout-elements-inset-expanded) + var(--layout-elements-inset-cozy)) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq-list summary::after {
        width: var(--layout-elements-inset-expanded) !important;
        height: var(--layout-elements-inset-expanded) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq .ftc-more a {
        width: 100% !important;
        padding-inline: var(--layout-elements-inset-loose) !important;
    }
}

/* Fase 40.35 - Footer oficial Figma + Design System v0.1
   El footer nuevo vive dentro del layout de componentes. El footer legacy de lang/footer.php
   se deja de cargar desde styles/componentes/index_lang.php. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer {
    background: var(--background-base-default-soft) !important;
    color: var(--foreground-base-primary-strong) !important;
    padding-block: calc(var(--layout-section-y-spacing) * .46) 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer .ve-section-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    column-gap: var(--layout-section-x-spacing) !important;
    width: min(var(--layout-container-content), calc(100% - (var(--layout-section-x-spacing) * 2))) !important;
    max-width: var(--layout-container-content) !important;
    margin-inline: auto !important;
    background: transparent !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-logo,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-logo,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-logo {
    grid-column: 1 / -1 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: var(--layout-elements-gap-loose) !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 calc(var(--layout-elements-inset-expanded) * .92) !important;
    border-bottom: var(--stroke-sm) solid var(--border-base-secondary-mid) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-logo div {
    display: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-logo-link {
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-logo-link img {
    display: block !important;
    width: min(175px, calc(var(--space-8xl) - var(--space-md))) !important;
    height: auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-top-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: var(--icon-xl) !important;
    height: var(--icon-xl) !important;
    color: var(--foreground-action-ghost-default) !important;
    font-family: var(--font-action-secondary-family), var(--font-body-family), sans-serif !important;
    font-size: var(--font-title-card-size) !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-grid,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-grid.ftc-footer-grid {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: 1.15fr 1.15fr .85fr 1.05fr !important;
    gap: var(--layout-section-x-spacing) !important;
    align-items: start !important;
    width: 100% !important;
    margin: 0 !important;
    padding: calc(var(--layout-elements-inset-expanded) * .92) 0 calc(var(--layout-elements-inset-expanded) * 1.14) !important;
    border-bottom: var(--stroke-sm) solid var(--border-base-secondary-mid) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-col,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-col {
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col h3 {
    margin: 0 0 var(--layout-elements-inset-cozy) !important;
    color: var(--foreground-base-primary-soft) !important;
    font-family: var(--font-action-nav-family), var(--font-body-family), sans-serif !important;
    font-size: var(--font-action-nav-size) !important;
    line-height: var(--font-action-nav-line-height) !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col a,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-contact-list span {
    margin: 0 !important;
    color: var(--foreground-action-link-default) !important;
    font-family: var(--font-body-default-family), var(--font-body-family), sans-serif !important;
    font-size: var(--font-body-default-size) !important;
    line-height: calc(var(--font-body-default-line-height) * 1.08) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col a:hover,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col a:focus-visible {
    color: var(--foreground-action-link-hover) !important;
    text-decoration: underline !important;
    text-underline-offset: var(--space-3xs) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-contact-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: var(--layout-elements-inset-cozy) !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-contact-list li {
    display: grid !important;
    grid-template-columns: var(--icon-lg) minmax(0, 1fr) !important;
    gap: var(--layout-elements-inset-tight) !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-contact-list img {
    display: block !important;
    width: var(--icon-lg) !important;
    height: var(--icon-lg) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-disclaimer,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-disclaimer,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-disclaimer {
    grid-column: 1 / 2 !important;
    grid-row: 3 !important;
    max-width: var(--layout-container-reading) !important;
    margin: 0 !important;
    padding: calc(var(--layout-elements-inset-expanded) * .9) 0 calc(var(--layout-elements-inset-expanded) * 1.25) !important;
    border-radius: 0 !important;
    background: transparent !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-disclaimer p {
    margin: 0 !important;
    color: var(--foreground-base-primary-soft) !important;
    font-family: var(--font-body-caption-family), var(--font-body-family), sans-serif !important;
    font-size: var(--font-body-caption-size) !important;
    line-height: var(--font-body-caption-line-height) !important;
    font-weight: 400 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-payment-row,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-payment-row {
    grid-column: 2 / 3 !important;
    grid-row: 3 !important;
    align-self: center !important;
    justify-self: end !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row h3,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row span {
    display: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row p {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-icons {
    display: block !important;
    width: min(239px, 34vw) !important;
    max-width: 100% !important;
    height: auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-bottom,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-bottom,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-bottom {
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: var(--layout-elements-gap-loose) !important;
    width: 100% !important;
    margin: 0 !important;
    padding: calc(var(--layout-elements-inset-expanded) * .9) 0 !important;
    border: 0 !important;
    background: var(--white-100) !important;
    box-shadow: 0 0 0 100vmax var(--white-100) !important;
    clip-path: inset(0 -100vmax) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-bottom p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-bottom a {
    margin: 0 !important;
    color: var(--foreground-base-primary-soft) !important;
    font-family: var(--font-action-nav-family), var(--font-body-family), sans-serif !important;
    font-size: var(--font-action-nav-size) !important;
    line-height: var(--font-action-nav-line-height) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-legal-links {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: calc(var(--layout-elements-inset-expanded) * .65) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-legal-links a {
    color: var(--foreground-action-link-default) !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-legal-links a:hover,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-legal-links a:focus-visible {
    color: var(--foreground-action-link-hover) !important;
    text-decoration: underline !important;
    text-underline-offset: var(--space-3xs) !important;
}

/* Failsafe de visualización si por caché aún llegase el footer legacy antiguo tras la home nueva. */
body:has(.visual-layout-page[data-design-system="ftc-foundations"]) > footer#contacto {
    display: none !important;
}

@media (max-width: 1024px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer .ve-section-inner {
        grid-template-columns: 1fr !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-grid.ftc-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-disclaimer,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row {
        grid-column: 1 / -1 !important;
        justify-self: start !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row {
        grid-row: 4 !important;
        padding-bottom: calc(var(--layout-elements-inset-expanded) * .9) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-bottom {
        grid-row: 5 !important;
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-legal-links {
        justify-content: flex-start !important;
    }
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer {
        padding-top: var(--layout-section-y-spacing) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-logo {
        padding-bottom: var(--layout-elements-inset-expanded) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-grid.ftc-footer-grid {
        grid-template-columns: 1fr !important;
        gap: calc(var(--layout-elements-gap-loose) * 1.35) !important;
        padding-block: var(--layout-elements-inset-expanded) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col-spacer h3 {
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-disclaimer {
        padding-block: var(--layout-elements-inset-expanded) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-icons {
        width: min(239px, 100%) !important;
    }
}

/* Fase 40.36 - Footer: estructura Figma precisa con Design System
   Corrige el exceso de ancho del contenedor, alinea la flecha con la línea superior,
   coloca disclaimer e imagen de pagos en la misma fila y estabiliza el editor visual. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer {
    --ftc-footer-content-width: calc(var(--layout-container-content) - var(--space-7xl));
    background: var(--background-base-default-soft) !important;
    color: var(--foreground-base-primary-strong) !important;
    padding-block: var(--layout-section-y-spacing) 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer .ve-section-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    column-gap: var(--layout-elements-gap-loose) !important;
    row-gap: 0 !important;
    width: min(var(--ftc-footer-content-width), calc(100% - (var(--layout-section-x-spacing) * 2))) !important;
    max-width: var(--ftc-footer-content-width) !important;
    margin-inline: auto !important;
    background: transparent !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-logo,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-logo,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-logo,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer .component-wrapper:has(.ftc-footer-logo) {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
    width: 100% !important;
    max-width: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-logo,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-logo,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-logo {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: var(--layout-elements-gap-loose) !important;
    margin: 0 !important;
    padding: 0 0 var(--space-xl) !important;
    border-bottom: var(--stroke-sm) solid var(--border-base-secondary-mid) !important;
    box-sizing: border-box !important;
}

.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer .component-wrapper:has(.ftc-footer-logo) .component-content,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer .component-wrapper:has(.ftc-footer-logo) .editable-rich-text {
    width: 100% !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-logo-link img {
    width: calc(var(--space-8xl) - var(--space-md)) !important;
    max-width: 100% !important;
    height: auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-top-link {
    flex: 0 0 auto !important;
    width: var(--icon-xl) !important;
    height: var(--icon-xl) !important;
    margin: 0 !important;
    transform: translateY(var(--space-xs)) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-grid,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-grid.ftc-footer-grid,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer .component-wrapper:has(.ftc-footer-grid) {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    max-width: none !important;
    justify-self: stretch !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-grid,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-grid.ftc-footer-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    column-gap: calc(var(--layout-section-x-spacing) + var(--space-lg)) !important;
    row-gap: var(--layout-elements-gap-loose) !important;
    align-items: start !important;
    margin: 0 !important;
    padding: var(--space-xl) 0 var(--space-4xl) !important;
    border-bottom: var(--stroke-sm) solid var(--border-base-secondary-mid) !important;
    box-sizing: border-box !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col h3 {
    margin-bottom: var(--space-md) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col a,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-contact-list span {
    line-height: calc(var(--font-body-default-line-height) * 1.05) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-contact-list {
    gap: var(--space-md) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-disclaimer,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-disclaimer,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-disclaimer,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer .component-wrapper:has(.ftc-footer-disclaimer) {
    grid-column: 1 / 2 !important;
    grid-row: 3 !important;
    justify-self: start !important;
    align-self: center !important;
    width: 100% !important;
    max-width: var(--layout-container-reading) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-disclaimer,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-disclaimer,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-disclaimer {
    margin: 0 !important;
    padding: var(--space-xl) 0 var(--space-4xl) !important;
    background: transparent !important;
    border-radius: 0 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-payment-row,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-payment-row,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer .component-wrapper:has(.ftc-payment-row) {
    grid-column: 2 / 3 !important;
    grid-row: 3 !important;
    justify-self: end !important;
    align-self: center !important;
    width: auto !important;
    max-width: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-payment-row,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-payment-row {
    margin: 0 !important;
    padding: var(--space-xl) 0 var(--space-4xl) !important;
    border: 0 !important;
    background: transparent !important;
    text-align: right !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row p {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-icons {
    display: block !important;
    width: calc(var(--space-8xl) + var(--space-xl)) !important;
    max-width: 100% !important;
    height: auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-bottom,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-bottom,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-bottom,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer .component-wrapper:has(.ftc-footer-bottom) {
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    width: 100% !important;
    max-width: none !important;
    justify-self: stretch !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-bottom,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-bottom,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-bottom {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: var(--space-5xl) !important;
    margin: 0 !important;
    padding: var(--space-xl) 0 !important;
    border: 0 !important;
    background: var(--white-100) !important;
    box-shadow: 0 0 0 100vmax var(--white-100) !important;
    clip-path: inset(0 -100vmax) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-bottom p {
    justify-self: start !important;
    margin: 0 !important;
    max-width: calc(var(--space-8xl) + var(--space-xl)) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-legal-links {
    justify-self: end !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: var(--space-xl) !important;
    white-space: nowrap !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-legal-links a {
    display: inline-flex !important;
    white-space: nowrap !important;
}

@media (max-width: 1024px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer {
        --ftc-footer-content-width: var(--layout-container-content);
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-grid.ftc-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: var(--layout-section-x-spacing) !important;
        padding-bottom: var(--space-3xl) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-disclaimer,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-disclaimer,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-disclaimer,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer .component-wrapper:has(.ftc-footer-disclaimer) {
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
        max-width: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-payment-row,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-payment-row,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer .component-wrapper:has(.ftc-payment-row) {
        grid-column: 1 / -1 !important;
        grid-row: 4 !important;
        justify-self: start !important;
        text-align: left !important;
        padding-top: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row p {
        justify-content: flex-start !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-bottom,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-bottom,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-bottom {
        grid-row: 5 !important;
        grid-template-columns: 1fr !important;
        row-gap: var(--space-md) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-legal-links {
        justify-self: start !important;
        flex-wrap: wrap !important;
        justify-content: flex-start !important;
        gap: var(--space-md) var(--space-xl) !important;
        white-space: normal !important;
    }
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer .ve-section-inner {
        width: min(var(--layout-container-content), calc(100% - (var(--layout-section-x-spacing) * 2))) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-logo,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-logo,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-logo {
        padding-bottom: var(--space-lg) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-logo-link img {
        width: calc(var(--space-7xl) + var(--space-sm)) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-grid.ftc-footer-grid {
        grid-template-columns: 1fr !important;
        padding-block: var(--space-lg) var(--space-2xl) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col-spacer h3 {
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-disclaimer,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-disclaimer,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-disclaimer {
        padding-block: var(--space-lg) var(--space-md) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-payment-row,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-payment-row {
        padding-bottom: var(--space-lg) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-icons {
        width: min(calc(var(--space-8xl) + var(--space-xl)), 100%) !important;
    }
}


/* Fase 40.37 - Footer: sincronización real editor / landing publicada
   Motivo: el editor muestra drafts con wrappers (.component-wrapper / .section-content-wrapper),
   pero la landing publicada renderiza HTML limpio. Además, una sección top-level ftc-footer
   podía salir sin .ve-section-inner. Estas reglas estabilizan ambas salidas. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer {
    --ftc-footer-content-width: calc(var(--layout-container-content) - var(--space-7xl));
    background: var(--background-base-default-soft) !important;
    color: var(--foreground-base-primary-strong) !important;
    padding-block: var(--layout-section-y-spacing) 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    column-gap: var(--layout-elements-gap-loose) !important;
    row-gap: 0 !important;
    width: min(var(--ftc-footer-content-width), calc(100% - (var(--layout-section-x-spacing) * 2))) !important;
    max-width: var(--ftc-footer-content-width) !important;
    margin-inline: auto !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

/* Fallback para layouts publicados muy antiguos donde el footer se renderizase sin inner. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer:not(.editable-section):not(:has(> .ve-section-inner)) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, var(--ftc-footer-content-width)) minmax(0, 1fr) !important;
    align-items: start !important;
    column-gap: 0 !important;
}
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer:not(.editable-section):not(:has(> .ve-section-inner)) > * {
    grid-column: 2 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .ftc-footer-logo,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer:not(.editable-section):not(:has(> .ve-section-inner)) > .ftc-footer-logo,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-footer-logo) {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: none !important;
    justify-self: stretch !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .ftc-footer-grid,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer:not(.editable-section):not(:has(> .ve-section-inner)) > .ftc-footer-grid,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-footer-grid) {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    max-width: none !important;
    justify-self: stretch !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .ftc-footer-disclaimer,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer:not(.editable-section):not(:has(> .ve-section-inner)) > .ftc-footer-disclaimer,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-footer-disclaimer) {
    grid-column: 1 / 2 !important;
    grid-row: 3 !important;
    justify-self: start !important;
    align-self: center !important;
    width: 100% !important;
    max-width: var(--layout-container-reading) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .ftc-payment-row,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer:not(.editable-section):not(:has(> .ve-section-inner)) > .ftc-payment-row,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-payment-row) {
    grid-column: 2 / 3 !important;
    grid-row: 3 !important;
    justify-self: end !important;
    align-self: center !important;
    width: auto !important;
    max-width: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .ftc-footer-bottom,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer:not(.editable-section):not(:has(> .ve-section-inner)) > .ftc-footer-bottom,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-footer-bottom) {
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    width: 100% !important;
    max-width: none !important;
    justify-self: stretch !important;
}

.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-footer-logo) > .component-content,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-footer-grid) > .component-content,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-footer-disclaimer) > .component-content,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-payment-row) > .component-content,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-footer-bottom) > .component-content {
    width: 100% !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-logo,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-logo,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-logo {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: var(--layout-elements-gap-loose) !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 var(--space-xl) !important;
    border-bottom: var(--stroke-sm) solid var(--border-base-secondary-mid) !important;
    box-sizing: border-box !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-grid,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-grid.ftc-footer-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    column-gap: calc(var(--layout-section-x-spacing) + var(--space-lg)) !important;
    row-gap: var(--layout-elements-gap-loose) !important;
    align-items: start !important;
    width: 100% !important;
    margin: 0 !important;
    padding: var(--space-xl) 0 var(--space-4xl) !important;
    border-bottom: var(--stroke-sm) solid var(--border-base-secondary-mid) !important;
    box-sizing: border-box !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-disclaimer,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-disclaimer,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-disclaimer {
    margin: 0 !important;
    padding: var(--space-xl) 0 var(--space-4xl) !important;
    background: transparent !important;
    border-radius: 0 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-payment-row,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-payment-row {
    margin: 0 !important;
    padding: var(--space-xl) 0 var(--space-4xl) !important;
    border: 0 !important;
    background: transparent !important;
    text-align: right !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row p {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-icons {
    display: block !important;
    width: calc(var(--space-8xl) + var(--space-xl)) !important;
    max-width: 100% !important;
    height: auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-bottom,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-bottom,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-bottom {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: var(--space-5xl) !important;
    margin: 0 !important;
    padding: var(--space-xl) 0 !important;
    border: 0 !important;
    background: var(--white-100) !important;
    box-shadow: 0 0 0 100vmax var(--white-100) !important;
    clip-path: inset(0 -100vmax) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-bottom p {
    justify-self: start !important;
    margin: 0 !important;
    max-width: calc(var(--space-8xl) + var(--space-xl)) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-legal-links {
    justify-self: end !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: var(--space-xl) !important;
    white-space: nowrap !important;
}

@media (max-width: 1024px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer {
        --ftc-footer-content-width: var(--layout-container-content);
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-grid.ftc-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: var(--layout-section-x-spacing) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .ftc-footer-disclaimer,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer:not(.editable-section):not(:has(> .ve-section-inner)) > .ftc-footer-disclaimer,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-footer-disclaimer),
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .ftc-payment-row,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer:not(.editable-section):not(:has(> .ve-section-inner)) > .ftc-payment-row,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-payment-row) {
        grid-column: 1 / -1 !important;
        justify-self: start !important;
        max-width: none !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row p {
        justify-content: flex-start !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-bottom,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-bottom,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-bottom {
        grid-template-columns: 1fr !important;
        row-gap: var(--space-md) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-legal-links {
        justify-self: start !important;
        flex-wrap: wrap !important;
        justify-content: flex-start !important;
        gap: var(--space-md) var(--space-xl) !important;
        white-space: normal !important;
    }
}


/* Fase 40.38 - Footer público/editor: grid-item real con wrappers cmp-rich_text
   Causa corregida: en público, rich_text se envuelve en .cmp-rich_text por el CSS de componente.
   El editor usa .component-wrapper. Sin estas reglas, el footer público auto-colocaba logo,
   disclaimer y pagos en posiciones distintas al Figma. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer {
    --ftc-footer-content-width: calc(var(--layout-container-content) - var(--space-7xl));
    background: var(--background-base-default-soft) !important;
    color: var(--foreground-base-primary-strong) !important;
    padding-block: var(--layout-section-y-spacing) 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    column-gap: var(--layout-elements-gap-loose) !important;
    row-gap: 0 !important;
    width: min(var(--ftc-footer-content-width), calc(100% - (var(--layout-section-x-spacing) * 2))) !important;
    max-width: var(--ftc-footer-content-width) !important;
    margin-inline: auto !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .ftc-footer-logo,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .cmp-rich_text.ftc-footer-logo,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .cmp-rich_text:has(> .ftc-footer-logo),
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-footer-logo) {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: none !important;
    justify-self: stretch !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .ftc-footer-grid,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .ve-grid.ftc-footer-grid,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-footer-grid) {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    max-width: none !important;
    justify-self: stretch !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .ftc-footer-disclaimer,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .cmp-rich_text.ftc-footer-disclaimer,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .cmp-rich_text:has(> .ftc-footer-disclaimer),
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-footer-disclaimer) {
    grid-column: 1 / 2 !important;
    grid-row: 3 !important;
    justify-self: start !important;
    align-self: center !important;
    width: 100% !important;
    max-width: var(--layout-container-reading) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .ftc-payment-row,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .cmp-rich_text.ftc-payment-row,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .cmp-rich_text:has(> .ftc-payment-row),
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-payment-row) {
    grid-column: 2 / 3 !important;
    grid-row: 3 !important;
    justify-self: end !important;
    align-self: center !important;
    width: auto !important;
    max-width: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .ftc-footer-bottom,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .cmp-rich_text.ftc-footer-bottom,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .cmp-rich_text:has(> .ftc-footer-bottom),
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-footer-bottom) {
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    width: 100% !important;
    max-width: none !important;
    justify-self: stretch !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .cmp-rich_text.ftc-footer-logo > .ve-rich-text,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .cmp-rich_text.ftc-footer-disclaimer > .ve-rich-text,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .cmp-rich_text.ftc-payment-row > .ve-rich-text,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .cmp-rich_text.ftc-footer-bottom > .ve-rich-text,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .cmp-rich_text:has(> .ftc-footer-logo) > .ve-rich-text,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .cmp-rich_text:has(> .ftc-footer-disclaimer) > .ve-rich-text,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .cmp-rich_text:has(> .ftc-payment-row) > .ve-rich-text,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .cmp-rich_text:has(> .ftc-footer-bottom) > .ve-rich-text,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-footer-logo) > .component-content,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-footer-grid) > .component-content,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-footer-disclaimer) > .component-content,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-payment-row) > .component-content,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-footer-bottom) > .component-content {
    width: 100% !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-logo,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-logo,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-logo {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: var(--layout-elements-gap-loose) !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 var(--space-xl) !important;
    border-bottom: var(--stroke-sm) solid var(--border-base-secondary-mid) !important;
    box-sizing: border-box !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-grid,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-grid.ftc-footer-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    column-gap: calc(var(--layout-section-x-spacing) + var(--space-lg)) !important;
    row-gap: var(--layout-elements-gap-loose) !important;
    align-items: start !important;
    width: 100% !important;
    margin: 0 !important;
    padding: var(--space-xl) 0 var(--space-4xl) !important;
    border-bottom: var(--stroke-sm) solid var(--border-base-secondary-mid) !important;
    box-sizing: border-box !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-disclaimer,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-disclaimer,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-disclaimer {
    margin: 0 !important;
    padding: var(--space-xl) 0 var(--space-4xl) !important;
    background: transparent !important;
    border-radius: 0 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-payment-row,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-payment-row {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 !important;
    padding: var(--space-xl) 0 var(--space-4xl) !important;
    border: 0 !important;
    background: transparent !important;
    text-align: right !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row p {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-icons {
    display: block !important;
    width: calc(var(--space-8xl) + var(--space-xl)) !important;
    max-width: 100% !important;
    height: auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-bottom,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-bottom,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-bottom {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: var(--space-5xl) !important;
    margin: 0 !important;
    padding: var(--space-xl) 0 !important;
    border: 0 !important;
    background: var(--white-100) !important;
    box-shadow: 0 0 0 100vmax var(--white-100) !important;
    clip-path: inset(0 -100vmax) !important;
}

@media (max-width: 1024px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer {
        --ftc-footer-content-width: var(--layout-container-content);
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-grid.ftc-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: var(--layout-section-x-spacing) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .ftc-footer-disclaimer,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .cmp-rich_text.ftc-footer-disclaimer,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .cmp-rich_text:has(> .ftc-footer-disclaimer),
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-footer-disclaimer),
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .ftc-payment-row,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .cmp-rich_text.ftc-payment-row,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > .cmp-rich_text:has(> .ftc-payment-row),
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-payment-row) {
        grid-column: 1 / -1 !important;
        justify-self: start !important;
        max-width: none !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row p {
        justify-content: flex-start !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-bottom,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-bottom,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-bottom {
        grid-template-columns: 1fr !important;
        row-gap: var(--space-md) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-legal-links {
        justify-self: start !important;
        flex-wrap: wrap !important;
        justify-content: flex-start !important;
        gap: var(--space-md) var(--space-xl) !important;
        white-space: normal !important;
    }
}

/* ─── Fase 40.42: páginas independientes Artículo / Legal (Design System) ─── */
.visual-layout-page .alc-inner-hero,
.visual-layout-page .alc-article-hero,
.visual-layout-page .alc-article-body-section,
.visual-layout-page .alc-legal-body-section {
    font-family: var(--font-body-family);
    color: var(--foreground-base-primary-strong);
}

.visual-layout-page .alc-inner-hero,
.visual-layout-page .alc-article-hero {
    background: var(--background-base-default-soft) !important;
}

.visual-layout-page .alc-inner-hero .ve-section-inner,
.visual-layout-page .alc-article-hero .ve-section-inner,
.visual-layout-page .alc-article-body-section .ve-section-inner,
.visual-layout-page .alc-legal-body-section .ve-section-inner {
    width: min(var(--layout-container-content), calc(100% - (var(--layout-section-x-spacing) * 2)));
}

.visual-layout-page .alc-inner-hero-copy,
.visual-layout-page .alc-article-hero-copy {
    max-width: var(--layout-container-reading);
}

.visual-layout-page .alc-inner-hero-copy h1,
.visual-layout-page .alc-article-hero-copy h1 {
    color: var(--foreground-base-brand-emphasis);
    font-family: var(--font-title-block-family);
    font-size: clamp(var(--font-2xl), 4vw, var(--font-4xl));
    line-height: 1.05;
    letter-spacing: var(--font-title-block-letter-spacing);
    margin: 0 0 var(--layout-elements-gap-cozy);
}

.visual-layout-page .alc-inner-hero-copy p,
.visual-layout-page .alc-article-hero-copy p {
    color: var(--foreground-base-secondary-mid);
    font-family: var(--font-body-family);
    font-size: var(--font-body-default-size);
    line-height: var(--font-body-default-line-height);
    max-width: var(--layout-container-reading);
}

.visual-layout-page .alc-article-hero {
    text-align: center;
}

.visual-layout-page .alc-article-hero-copy {
    margin: 0 auto var(--layout-elements-inset-spacious);
}

.visual-layout-page .alc-article-hero-image {
    display: block;
    width: 100%;
    border-radius: var(--radius-lg);
    box-shadow: 0 var(--space-2xs) var(--space-sm) rgba(42, 13, 69, .12);
}

.visual-layout-page .alc-article-layout,
.visual-layout-page .alc-legal-layout {
    display: grid;
    grid-template-columns: minmax(160px, 220px) minmax(0, var(--layout-container-reading)) !important;
    justify-content: center;
    gap: var(--space-4xl) !important;
    align-items: start;
}

.visual-layout-page .alc-article-index,
.visual-layout-page .alc-legal-index {
    position: sticky;
    top: var(--space-4xl);
    color: var(--foreground-base-tertiary-strong);
    font-family: var(--font-body-family);
    font-size: var(--font-body-support-size);
    line-height: 1.55;
}

.visual-layout-page .alc-article-index strong,
.visual-layout-page .alc-legal-index strong {
    display: block;
    margin-bottom: var(--layout-elements-gap-cozy);
    color: var(--foreground-base-primary-strong);
    font-family: var(--font-title-notice-family);
    font-size: var(--font-title-notice-size);
    line-height: var(--font-title-notice-line-height);
    text-transform: uppercase;
    letter-spacing: .08em;
}

.visual-layout-page .alc-article-index a,
.visual-layout-page .alc-legal-index a {
    display: block;
    color: var(--foreground-base-secondary-mid);
    text-decoration: none;
    padding: var(--space-3xs) 0;
    border-left: 0;
}

.visual-layout-page .alc-article-content,
.visual-layout-page .alc-legal-content {
    max-width: var(--layout-container-reading);
    color: var(--foreground-base-secondary-mid);
    font-family: var(--font-body-family);
    font-size: var(--font-body-default-size);
    line-height: var(--font-body-default-line-height);
}

.visual-layout-page .alc-article-content p,
.visual-layout-page .alc-legal-content p,
.visual-layout-page .alc-legal-content li {
    color: var(--foreground-base-secondary-mid);
    margin: 0 0 var(--layout-elements-gap-cozy);
}

.visual-layout-page .alc-article-content h2,
.visual-layout-page .alc-legal-content h2 {
    color: var(--foreground-base-primary-strong);
    font-family: var(--font-title-card-family);
    font-size: var(--font-title-card-size);
    line-height: var(--font-title-card-line-height);
    margin: var(--layout-elements-inset-spacious) 0 var(--layout-elements-gap-tight);
}

.visual-layout-page .alc-legal-content ul {
    margin: 0 0 var(--layout-elements-gap-loose);
    padding-left: var(--layout-elements-inset-spacious);
}

@media (max-width: 1024px) {
    .visual-layout-page .alc-article-layout,
    .visual-layout-page .alc-legal-layout {
        grid-template-columns: 1fr !important;
        gap: var(--layout-elements-inset-expanded) !important;
    }

    .visual-layout-page .alc-article-index,
    .visual-layout-page .alc-legal-index {
        position: static;
        display: none;
    }
}

/* ─── Fase 40.43: Article Detail ajustado al Figma + Design System ───
   Mantiene header/footer existentes, pero corrige hero, imagen y lectura del artículo.
   Se escribe al final para sobreescribir layouts antiguos guardados en BD/editor. */
.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-hero {
    background: var(--white-100) !important;
    padding: var(--space-2xl) 0 var(--space-2xl) !important;
    text-align: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-hero > .ve-section-inner,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .alc-article-hero.editable-section > .section-content-wrapper {
    width: min(1768px, calc(100% - (var(--layout-section-x-spacing) * 2))) !important;
    max-width: 1768px !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-hero-copy,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.alc-article-hero-copy,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.alc-article-hero-copy {
    width: min(var(--layout-container-reading), 100%) !important;
    max-width: var(--layout-container-reading) !important;
    margin: 0 auto var(--space-xl) !important;
    text-align: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-hero-copy h1 {
    max-width: 760px !important;
    margin: 0 auto var(--space-sm) !important;
    color: var(--foreground-base-brand-emphasis) !important;
    font-family: var(--font-display-page-family) !important;
    font-size: clamp(var(--font-3xl), 2.65vw, var(--font-5xl)) !important;
    line-height: 1.08 !important;
    letter-spacing: var(--font-display-page-letter-spacing) !important;
    font-weight: 700 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-hero-copy p {
    max-width: 920px !important;
    margin: 0 auto !important;
    color: var(--foreground-base-secondary-mid) !important;
    font-family: var(--font-body-default-family) !important;
    font-size: var(--font-body-support-size) !important;
    line-height: var(--font-body-support-line-height) !important;
    font-weight: 400 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-hero-image {
    display: block !important;
    width: 100% !important;
    height: clamp(260px, 23vw, 380px) !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-body-section {
    background: var(--white-100) !important;
    padding: var(--space-3xl) 0 var(--space-7xl) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-body-section > .ve-section-inner,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .alc-article-body-section.editable-section > .section-content-wrapper {
    width: min(1120px, calc(100% - (var(--layout-section-x-spacing) * 2))) !important;
    max-width: 1120px !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-layout {
    display: grid !important;
    grid-template-columns: minmax(150px, 210px) minmax(0, var(--layout-container-reading)) !important;
    justify-content: center !important;
    align-items: start !important;
    gap: var(--space-3xl) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-index,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.alc-article-index,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.alc-article-index {
    color: var(--foreground-base-secondary-mid) !important;
    font-family: var(--font-body-caption-family) !important;
    font-size: var(--font-body-caption-size) !important;
    line-height: var(--font-body-caption-line-height) !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-index strong {
    display: block !important;
    margin-bottom: var(--space-xs) !important;
    color: var(--foreground-base-primary-strong) !important;
    font-family: var(--font-title-notice-family) !important;
    font-size: var(--font-body-caption-size) !important;
    line-height: var(--font-body-caption-line-height) !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    font-weight: 700 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-index a {
    display: block !important;
    padding: var(--space-3xs) 0 !important;
    color: var(--foreground-base-brand-mid) !important;
    text-decoration: none !important;
    border-left: 0 !important;
    font-weight: 500 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-content,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.alc-article-content,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.alc-article-content {
    max-width: var(--layout-container-reading) !important;
    color: var(--foreground-base-secondary-mid) !important;
    font-family: var(--font-body-support-family) !important;
    font-size: var(--font-body-support-size) !important;
    line-height: var(--font-body-support-line-height) !important;
    font-weight: 400 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-content p {
    margin: 0 0 var(--space-sm) !important;
    color: var(--foreground-base-secondary-mid) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-content h2 {
    margin: var(--space-md) 0 var(--space-2xs) !important;
    color: var(--foreground-base-primary-strong) !important;
    font-family: var(--font-title-step-family) !important;
    font-size: var(--font-title-step-size) !important;
    line-height: var(--font-title-step-line-height) !important;
    font-weight: 700 !important;
    letter-spacing: var(--font-title-step-letter-spacing) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .alc-related-experiences {
    background: var(--background-base-default-soft) !important;
}

@media (max-width: 1024px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .alc-article-hero > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .alc-article-hero.editable-section > .section-content-wrapper,
    .visual-layout-page[data-design-system="ftc-foundations"] .alc-article-body-section > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .alc-article-body-section.editable-section > .section-content-wrapper {
        width: min(var(--layout-container-content), calc(100% - (var(--layout-section-x-spacing) * 2))) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .alc-article-layout {
        grid-template-columns: 1fr !important;
        gap: var(--space-xl) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .alc-article-index {
        display: none !important;
    }
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .alc-article-hero {
        padding: var(--space-xl) 0 var(--space-lg) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .alc-article-hero-image {
        height: clamp(220px, 52vw, 320px) !important;
    }
}


/* ─── Fase 40.44: Article Detail - sincronía real con tokens Figma/DS ───
   Motivo: las foundations traen nombres de fuentes, pero no los ficheros;
   además el CSS legacy de la landing impone body{text-align:center}. Este bloque
   fuerza composición de componente con tokens semánticos y fallbacks. */
.visual-layout-page[data-design-system="ftc-foundations"][data-brand="ftc"] {
    --font-display-family: "Signika", Inter, Arial, sans-serif;
    --font-body-family: "Inter", Arial, sans-serif;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-brand="alcazar"] {
    /* Tipografía oficial de Alcázar: Lora para display y títulos, Inter para cuerpo. */
    --font-display-family: "Lora", Georgia, serif;
    --font-body-family: "Inter", Arial, sans-serif;

    /* Compatibilidad con componentes antiguos: los alias se resuelven contra
       la marca activa y nunca contra los antiguos valores morados. */
    --ftc-purple: var(--foreground-base-brand-emphasis);
    --ftc-purple-2: var(--foreground-base-brand-mid);
    --ftc-blue: var(--foreground-base-accent-strong);
    --ftc-text: var(--foreground-base-primary-strong);
    --ftc-muted: var(--foreground-base-secondary-mid);
    --ftc-line: var(--border-base-secondary-soft);
    --ftc-cream: var(--background-base-default-soft);
    --ftc-cream-2: var(--background-base-default-mid);

    /* Alias semánticos usados por bloques anteriores a la nomenclatura
       soft/mid/strong del design system actual. */
    --foreground-base-primary: var(--foreground-base-primary-mid);
    --foreground-base-secondary: var(--foreground-base-secondary-mid);
    --foreground-base-tertiary: var(--foreground-base-tertiary-mid);
    --foreground-base-brand: var(--foreground-base-brand-mid);
    --background-base-brand: var(--background-base-brand-strong);
}

.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-body-section,
.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-layout,
.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-content,
.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-index {
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-body-section {
    background: var(--white-100) !important;
    padding: var(--space-3xl) 0 var(--space-7xl) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-body-section > .ve-section-inner,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .alc-article-body-section.editable-section > .section-content-wrapper {
    width: min(var(--layout-container-content), calc(100% - (var(--layout-section-x-spacing) * 2))) !important;
    max-width: var(--layout-container-content) !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-layout {
    display: grid !important;
    grid-template-columns: 220px minmax(0, var(--layout-container-reading)) !important;
    justify-content: center !important;
    align-items: start !important;
    column-gap: var(--space-3xl) !important;
    row-gap: var(--space-xl) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-index,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.alc-article-index,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.alc-article-index,
.visual-layout-page[data-design-system="ftc-foundations"] .cmp-rich_text.alc-article-index {
    max-width: 220px !important;
    padding-left: var(--space-sm) !important;
    border-left: var(--stroke-sm) solid var(--border-base-secondary-mid) !important;
    color: var(--foreground-base-brand-mid) !important;
    font-family: var(--font-body-family), Inter, Arial, sans-serif !important;
    font-size: var(--font-body-caption-size) !important;
    line-height: var(--font-body-caption-line-height) !important;
    font-weight: 600 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-index strong {
    margin: 0 0 var(--space-xs) calc(var(--space-sm) * -1) !important;
    color: var(--foreground-base-secondary-soft) !important;
    font-family: var(--font-body-family), Inter, Arial, sans-serif !important;
    font-size: var(--font-body-support-size) !important;
    line-height: var(--font-body-support-line-height) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-index a {
    display: block !important;
    padding: var(--space-3xs) 0 !important;
    color: var(--foreground-base-brand-mid) !important;
    font-family: var(--font-body-family), Inter, Arial, sans-serif !important;
    font-size: var(--font-body-caption-size) !important;
    line-height: var(--font-body-caption-line-height) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-content,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.alc-article-content,
.visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.alc-article-content,
.visual-layout-page[data-design-system="ftc-foundations"] .cmp-rich_text.alc-article-content {
    max-width: var(--layout-container-reading) !important;
    color: var(--foreground-base-primary-mid) !important;
    font-family: var(--font-body-family), Inter, Arial, sans-serif !important;
    font-size: var(--font-body-default-size) !important;
    line-height: var(--font-body-default-line-height) !important;
    font-weight: 400 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-content p {
    margin: 0 0 var(--space-md) !important;
    color: var(--foreground-base-primary-mid) !important;
    font-family: var(--font-body-family), Inter, Arial, sans-serif !important;
    font-size: var(--font-body-default-size) !important;
    line-height: var(--font-body-default-line-height) !important;
    font-weight: 400 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-content > p:first-child,
.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-content > p:nth-child(2) {
    color: var(--foreground-base-primary-mid) !important;
    font-size: var(--font-body-lead-size) !important;
    line-height: var(--font-body-lead-line-height) !important;
    margin-bottom: var(--space-md) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-content h2 {
    margin: var(--space-lg) 0 var(--space-xs) !important;
    color: var(--foreground-base-secondary-soft) !important;
    font-family: var(--font-title-block-family), Signika, Inter, Arial, sans-serif !important;
    font-size: var(--font-title-block-size) !important;
    line-height: var(--font-title-block-line-height) !important;
    font-weight: 700 !important;
    letter-spacing: var(--font-title-block-letter-spacing) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .alc-article-content h2:first-of-type {
    margin-top: var(--space-md) !important;
}

@media (max-width: 1024px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .alc-article-layout {
        grid-template-columns: 1fr !important;
        gap: var(--space-xl) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .alc-article-index {
        display: none !important;
    }
}

/* ─── Fase 40.48: Home mobile Figma sync (Design System)
   Objetivo: corregir SOLO la vista móvil sin tocar desktop.
   Motivo principal: varias secciones conservan max-width calculado para desktop
   (p.ej. calc(var(--layout-container-content) - 260px)); en mobile eso se convierte
   en contenedores demasiado estrechos. Este bloque normaliza contenedores,
   grids y composición mobile al final del CSS para que gane a reglas anteriores. */
@media (max-width: 768px) {
    html,
    body {
        /* clip evita scroll horizontal sin convertir el documento en un
           contenedor de scroll que inutilice position: sticky. */
        overflow-x: clip !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] {
        --ftc-mobile-container: min(390px, calc(100vw - 48px));
        --ftc-home-container: var(--ftc-mobile-container);
        --ftc-hero-container: var(--ftc-mobile-container);
        --layout-container-content: 390px;
        --layout-container-reading: 390px;
        --layout-section-x-spacing: 24px;
        --layout-section-y-spacing: 56px;
        background: var(--white-100, #fff) !important;
        overflow-x: clip !important;
        overflow-y: visible !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] *,
    .visual-layout-page[data-design-system="ftc-foundations"] *::before,
    .visual-layout-page[data-design-system="ftc-foundations"] *::after {
        box-sizing: border-box;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] img,
    .visual-layout-page[data-design-system="ftc-foundations"] svg,
    .visual-layout-page[data-design-system="ftc-foundations"] iframe {
        max-width: 100%;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-section,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-section-block.ftc-home-section {
        width: 100% !important;
        overflow-x: hidden !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-section > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-experiences > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-reservation-notes > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-location > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-reviews > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-section.editable-section > .section-content-wrapper {
        width: var(--ftc-mobile-container) !important;
        max-width: var(--ftc-mobile-container) !important;
        min-width: 0 !important;
        margin-right: auto !important;
        margin-left: auto !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .component-wrapper,
    .visual-layout-page[data-design-system="ftc-foundations"] .component-content,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-html,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-columns,
    .visual-layout-page[data-design-system="ftc-foundations"] .sortable-container {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    /* Header mobile: logo + accesos compactos como en Figma. */
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header {
        padding: 24px 0 42px !important;
        background: var(--white-100, #fff) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__inner {
        width: var(--ftc-mobile-container) !important;
        max-width: var(--ftc-mobile-container) !important;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        gap: 16px !important;
        margin: 0 auto !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__logo img {
        width: 132px !important;
        height: auto !important;
        display: block !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__nav,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__language,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__currency,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__divider {
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__actions {
        display: inline-flex !important;
        align-items: center !important;
        gap: 18px !important;
        margin-top: 2px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__actions a {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        color: transparent !important;
        font-size: 0 !important;
        line-height: 1 !important;
        text-decoration: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__actions a::before,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__actions::after {
        color: var(--foreground-base-brand-emphasis, #5f3a78) !important;
        font-family: Inter, Arial, sans-serif !important;
        font-size: 26px !important;
        line-height: 1 !important;
        font-weight: 700 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__actions a[href="#contacto"]::before { content: "☎" !important; }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__actions a[href="#faq"]::before {
        content: "?" !important;
        width: 25px !important;
        height: 25px !important;
        border: 2px solid currentColor !important;
        border-radius: 999px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 16px !important;
        font-weight: 800 !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__actions::after {
        content: "☰" !important;
        font-size: 31px !important;
        font-weight: 500 !important;
        transform: translateY(-2px) !important;
    }

    /* Hero mobile. */
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero {
        padding: 0 0 56px !important;
        background: var(--white-100, #fff) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-columns.ftc-hero-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 28px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-copy,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-copy p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-copy h1 {
        max-width: 100% !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-copy h1 {
        margin: 0 0 26px !important;
        color: var(--foreground-base-brand-emphasis, #5f3a78) !important;
        font-size: clamp(46px, 12.5vw, 56px) !important;
        line-height: 1.13 !important;
        letter-spacing: 0 !important;
        font-weight: 700 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-copy p {
        margin: 0 0 16px !important;
        color: var(--foreground-base-secondary-mid, #6d6254) !important;
        font-size: 18px !important;
        line-height: 1.45 !important;
        font-weight: 400 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-grid .component-wrapper:has(.ftc-hero-image),
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-grid .component-content:has(.ftc-hero-image) {
        width: 100% !important;
        max-width: 100% !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-hero-image {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 1.46 / 1 !important;
        object-fit: cover !important;
        border: 1px solid var(--border-base-secondary-soft, #e8e0d4) !important;
        border-radius: 20px !important;
        box-shadow: 0 4px 10px rgba(44,35,24,.10) !important;
    }

    /* Experiencias mobile. */
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-experiences {
        padding: 56px 0 42px !important;
        background: var(--background-base-default-soft, #f6f2ea) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-section-title-left,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-section-title,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-section-head h2,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-reviews-head h2,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro h2,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-head h2,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-intro h2 {
        position: relative !important;
        color: var(--foreground-base-primary-mid, #6d6254) !important;
        font-family: var(--font-display-section-family, Signika), Signika, Inter, Arial, sans-serif !important;
        font-size: 32px !important;
        line-height: 1.15 !important;
        letter-spacing: 0 !important;
        font-weight: 700 !important;
        text-align: left !important;
        margin: 0 0 32px !important;
        padding: 0 0 18px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-section-title-left::after,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-section-head h2::after,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-reviews-head h2::after,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro h2::after,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-head h2::after,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-intro h2::after {
        content: "" !important;
        position: absolute !important;
        left: 0 !important;
        bottom: 0 !important;
        width: 52px !important;
        height: 2px !important;
        margin: 0 !important;
        background: var(--border-base-secondary-mid, #cdbfae) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-tour-grid.tour-cards-grid {
        width: 100% !important;
        max-width: 100% !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-tour-grid.tour-cards-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .tour-cards-grid.ftc-tour-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 34px !important;
        align-items: stretch !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .tour-card {
        width: 100% !important;
        min-width: 0 !important;
        border-radius: 20px !important;
        overflow: hidden !important;
        background: var(--white-100, #fff) !important;
        border: 1px solid var(--border-base-secondary-soft, #e8e0d4) !important;
        box-shadow: 0 4px 12px rgba(44,35,24,.09) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .tour-card-image {
        height: auto !important;
        aspect-ratio: 1.76 / 1 !important;
        border-radius: 20px 20px 0 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .tour-card-image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .tour-card-badge {
        top: auto !important;
        right: auto !important;
        bottom: 16px !important;
        left: 18px !important;
        padding: 10px 16px !important;
        border-radius: 999px !important;
        background: var(--white-100, #fff) !important;
        color: var(--foreground-base-primary-mid, #6d6254) !important;
        font-size: 13px !important;
        line-height: 16px !important;
        font-weight: 800 !important;
        letter-spacing: .03em !important;
        text-transform: uppercase !important;
        box-shadow: 0 4px 14px rgba(44,35,24,.12) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .tour-card-body {
        padding: 28px 24px 24px !important;
        gap: 18px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .tour-card-title {
        position: relative !important;
        margin: 0 !important;
        padding-bottom: 18px !important;
        color: var(--foreground-base-primary-mid, #3c342b) !important;
        font-size: 28px !important;
        line-height: 1.16 !important;
        font-weight: 700 !important;
        letter-spacing: .01em !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .tour-card-title::after {
        content: "" !important;
        position: absolute !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 56px !important;
        height: 1px !important;
        background: var(--border-base-secondary-mid, #cdbfae) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .tour-card-meta,
    .visual-layout-page[data-design-system="ftc-foundations"] .tour-card-features,
    .visual-layout-page[data-design-system="ftc-foundations"] .tour-card-subtitle {
        color: var(--foreground-base-secondary-mid, #6d6254) !important;
        font-size: 17px !important;
        line-height: 1.5 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .tour-card-meta {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px 10px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .tour-card-features {
        display: grid !important;
        gap: 10px !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .tour-card-footer {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 18px !important;
        margin-top: 6px !important;
        padding-top: 22px !important;
        border-top: 1px solid var(--border-base-secondary-soft, #e8e0d4) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .tour-card-price small {
        font-size: 13px !important;
        letter-spacing: .28em !important;
        line-height: 1.1 !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .tour-card-price strong {
        color: var(--foreground-base-brand-emphasis, #5f3a78) !important;
        font-size: 40px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .btn-select-tour {
        width: auto !important;
        min-width: 142px !important;
        min-height: 58px !important;
        padding: 16px 24px !important;
        border-radius: 999px !important;
        background: var(--background-action-primary-default, #5f3a78) !important;
        color: var(--foreground-action-primary-default, #fff) !important;
        font-size: 14px !important;
        line-height: 18px !important;
        letter-spacing: .04em !important;
        text-transform: uppercase !important;
        font-weight: 800 !important;
    }

    /* Reserva realizada / notas. */
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-reservation-notes {
        padding: 8px 0 54px !important;
        background: var(--background-base-default-soft, #f6f2ea) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-notes-title {
        margin: 0 0 28px !important;
        color: var(--foreground-base-primary-mid, #6d6254) !important;
        font-size: 20px !important;
        line-height: 1.25 !important;
        text-align: center !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-notes-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 30px !important;
        width: 100% !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-note-item {
        display: grid !important;
        grid-template-columns: 58px minmax(0, 1fr) !important;
        gap: 22px !important;
        align-items: center !important;
        color: var(--foreground-base-primary-mid, #3c342b) !important;
        font-size: 18px !important;
        line-height: 1.45 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-note-item .ftc-note-icon,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-note-item > span:first-child {
        width: 58px !important;
        height: 58px !important;
        min-width: 58px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-note-item .ftc-note-icon {
        background-image: none !important;
    }

    /* Discover + galería. */
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover {
        padding: 54px 0 62px !important;
        background: var(--white-100, #fff) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-section-head,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-section-head-center,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-section-head-center * {
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-section-head p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-section-head p {
        margin: 0 0 34px !important;
        max-width: 100% !important;
        color: var(--foreground-base-primary-mid, #3c342b) !important;
        font-size: 22px !important;
        line-height: 1.38 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-gallery-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: auto !important;
        gap: 18px !important;
        width: 100% !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-gallery-grid img,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-gallery-grid .ftc-gallery-main {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1.48 / 1 !important;
        object-fit: cover !important;
        border-radius: 18px !important;
        grid-column: auto !important;
        grid-row: auto !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-gallery-grid .ftc-gallery-main {
        grid-column: 1 / -1 !important;
    }

    /* Explore carousel mobile. */
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore {
        padding: 58px 0 0 !important;
        background: var(--background-base-default-soft, #f0ebe1) !important;
        overflow: hidden !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel .ftc-article-carousel-inner {
        width: var(--ftc-mobile-container) !important;
        max-width: var(--ftc-mobile-container) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-section-head-row,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-article-carousel-head {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: end !important;
        gap: 16px !important;
        margin-bottom: 42px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-section-head-row h2,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore > .ve-section-inner > .component-wrapper:first-child h2 {
        font-size: 32px !important;
        line-height: 1.15 !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-carousel-arrows,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-carousel-controls-slot {
        position: static !important;
        justify-self: end !important;
        margin: 0 0 14px !important;
        display: inline-flex !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-grid {
        display: grid !important;
        grid-auto-flow: column !important;
        grid-auto-columns: min(342px, calc(100vw - 86px)) !important;
        grid-template-columns: none !important;
        gap: 20px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory !important;
        padding-bottom: 56px !important;
        width: calc(100vw - 24px) !important;
        max-width: calc(100vw - 24px) !important;
        margin-right: calc((var(--ftc-mobile-container) - 100vw + 24px) / 2) !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-grid > .component-wrapper,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-card {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        scroll-snap-align: start !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-card img,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-card .ftc-article-img {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1.25 / 1 !important;
        border-radius: 16px !important;
        object-fit: cover !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-card h3,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-content h3 {
        font-size: 30px !important;
        line-height: 1.18 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-card p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-article-content p {
        font-size: 18px !important;
        line-height: 1.42 !important;
    }

    /* Plan, location, how, benefits, reviews, FAQ. */
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan {
        padding: 60px 0 64px !important;
        background: var(--background-base-brand-strong, #82620B) !important;
        color: var(--white-100, #fff) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list,
    .visual-layout-page[data-design-system="ftc-foundations"] .location-access-grid.ftc-location-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .location-access-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 0 !important;
        width: 100% !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-intro p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-card p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-card small,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-card strong {
        color: rgba(255,255,255,.92) !important;
        font-size: 18px !important;
        line-height: 1.45 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-card {
        padding: 34px 0 !important;
        border-top: 1px solid rgba(255,255,255,.55) !important;
        background: transparent !important;
        border-radius: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-card h3 {
        color: var(--white-100, #fff) !important;
        font-size: 26px !important;
        line-height: 1.2 !important;
        margin-bottom: 28px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-plan-row {
        grid-template-columns: 1fr auto !important;
        gap: 16px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-reviews,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq {
        padding: 58px 0 !important;
        background: var(--white-100, #fff) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .location-access-copy.ftc-location-copy,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .location-access-copy {
        padding: 0 !important;
        color: var(--foreground-base-primary-mid, #3c342b) !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .location-access-map.ftc-map-box,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-location-shell .location-access-map {
        margin-top: 28px !important;
        width: 100% !important;
        min-height: 330px !important;
        border-radius: 20px !important;
        overflow: hidden !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits-head p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-reviews-head p {
        font-size: 18px !important;
        line-height: 1.45 !important;
        text-align: left !important;
        max-width: 100% !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list > div,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step {
        display: grid !important;
        grid-template-columns: 70px minmax(0, 1fr) !important;
        gap: 18px !important;
        padding: 30px 0 !important;
        border-bottom: 1px solid var(--border-base-secondary-soft, #e8e0d4) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list strong {
        color: var(--foreground-base-secondary-soft, #8a7f71) !important;
        font-size: 24px !important;
        line-height: 1 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list h3 {
        font-size: 18px !important;
        line-height: 1.35 !important;
        text-transform: uppercase !important;
        letter-spacing: .03em !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list p {
        font-size: 18px !important;
        line-height: 1.45 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits {
        padding: 58px 0 !important;
        background: var(--support-900, #11374d) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits h2,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits h3,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefits p {
        color: var(--white-100, #fff) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefit-item {
        display: grid !important;
        grid-template-columns: 34px minmax(0, 1fr) !important;
        gap: 12px 18px !important;
        padding: 22px 0 !important;
        border-top: 1px solid rgba(255,255,255,.18) !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefit-item span {
        grid-row: 1 / span 2 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefit-item h3 {
        margin: 0 !important;
        font-size: 18px !important;
        line-height: 1.35 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-benefit-item p {
        margin: 0 !important;
        font-size: 15px !important;
        line-height: 1.45 !important;
        color: rgba(255,255,255,.82) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-reviews {
        background: var(--background-base-default-soft, #f6f2ea) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-grid {
        gap: 20px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-review-card {
        width: 100% !important;
        padding: 22px !important;
        border-radius: 16px !important;
        background: var(--white-100, #fff) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq-list details {
        width: 100% !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq-list summary {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 16px !important;
        text-align: left !important;
        font-size: 17px !important;
        line-height: 1.35 !important;
        padding: 20px 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-more,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq .ftc-more {
        text-align: left !important;
        margin-top: 28px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-more a {
        min-width: 0 !important;
        padding: 13px 22px !important;
        border-radius: 999px !important;
        font-size: 12px !important;
        letter-spacing: .06em !important;
        text-transform: uppercase !important;
    }

    /* Footer mobile. */
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer {
        padding: 40px 0 0 !important;
        background: var(--background-base-default-soft, #f6f2ea) !important;
        overflow: hidden !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-logo,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-logo,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-logo {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        padding: 0 0 36px !important;
        border-bottom: 1px solid var(--border-base-secondary-soft, #e0d8ce) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-logo img {
        width: 174px !important;
        max-width: 70% !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-grid.ftc-footer-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-main-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 28px 24px !important;
        width: 100% !important;
        padding: 34px 0 !important;
        border-bottom: 1px solid var(--border-base-secondary-soft, #e0d8ce) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col * {
        min-width: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col h3 {
        color: var(--foreground-base-secondary-soft, #6d6254) !important;
        font-size: 13px !important;
        line-height: 17px !important;
        letter-spacing: .12em !important;
        text-transform: uppercase !important;
        margin: 0 0 18px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col a,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-contact-list li,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-contact-list span {
        color: var(--foreground-base-brand-emphasis, #5f3a78) !important;
        font-size: 17px !important;
        line-height: 1.45 !important;
        font-weight: 700 !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-contact-list {
        display: grid !important;
        gap: 20px !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-contact-list li {
        display: grid !important;
        grid-template-columns: 28px minmax(0, 1fr) !important;
        gap: 12px !important;
        align-items: start !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-disclaimer,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row {
        grid-column: auto !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-disclaimer {
        padding: 34px 0 12px !important;
        background: transparent !important;
        border-radius: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-disclaimer p {
        color: var(--foreground-base-primary-mid, #3c342b) !important;
        font-size: 14px !important;
        line-height: 1.45 !important;
        text-align: left !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row {
        padding: 0 0 26px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row p {
        display: flex !important;
        justify-content: flex-start !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-icons {
        width: 190px !important;
        height: auto !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-bottom,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-bottom,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-bottom {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc((100vw - var(--ftc-mobile-container)) / -2) !important;
        padding: 24px calc((100vw - var(--ftc-mobile-container)) / 2) 30px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 18px !important;
        background: var(--white-100, #fff) !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-bottom p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-legal-links a {
        color: var(--foreground-base-primary-mid, #3c342b) !important;
        font-size: 13px !important;
        line-height: 18px !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-legal-links {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px !important;
        justify-items: start !important;
        justify-content: start !important;
    }
}

@media (max-width: 390px) {
    .visual-layout-page[data-design-system="ftc-foundations"] {
        --ftc-mobile-container: calc(100vw - 32px);
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .tour-card-body {
        padding: 24px 20px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .tour-card-title {
        font-size: 25px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .tour-card-footer {
        gap: 12px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .btn-select-tour {
        min-width: 124px !important;
        padding-inline: 18px !important;
    }
}

/* ─── Fase 40.49: Header mobile menu + icon exacto (solo mobile). */
@media (min-width: 769px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__mobile-menu-toggle,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-mobile-menu {
        display: none !important;
    }
}

@media (max-width: 768px) {
    body.ftc-mobile-menu-open {
        overflow: hidden !important;
        touch-action: none;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 10000 !important;
        padding: 24px 0 !important;
        border-bottom: 1px solid rgba(95, 58, 120, 0.08) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__inner {
        align-items: center !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__actions {
        gap: 18px !important;
        margin-top: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__actions::after {
        content: none !important;
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__contact-link::before {
        content: "" !important;
        width: 26px !important;
        height: 26px !important;
        display: block !important;
        background: center / contain no-repeat url('/styles/componentes/assets/header/contact.svg') !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__mobile-menu-toggle {
        display: inline-flex !important;
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        cursor: pointer !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        appearance: none !important;
        box-shadow: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__mobile-menu-toggle span {
        display: block !important;
        width: 26px !important;
        height: 3px !important;
        border-radius: 999px !important;
        background: var(--foreground-base-brand-emphasis, #2a0d45) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-mobile-menu {
        position: fixed !important;
        inset: 0 !important;
        z-index: 100000 !important;
        display: none !important;
        background: var(--white-100, #fff) !important;
        color: var(--foreground-base-primary-strong, #18171f) !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-mobile-menu.is-open {
        display: block !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-mobile-menu__panel {
        width: 100% !important;
        min-height: 100vh !important;
        background: var(--white-100, #fff) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-mobile-menu__top {
        height: 72px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        padding: 0 24px !important;
        border: 2px solid #1296ff !important;
        border-bottom-width: 1px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-mobile-menu__close {
        width: 40px !important;
        height: 40px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        color: #5f6673 !important;
        font-size: 34px !important;
        line-height: 1 !important;
        font-weight: 300 !important;
        cursor: pointer !important;
        appearance: none !important;
        box-shadow: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-mobile-menu__nav {
        padding: 18px 24px 48px !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-mobile-menu__eyebrow {
        margin: 0 0 18px !important;
        color: #a7adbb !important;
        font-size: 14px !important;
        line-height: 20px !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
        font-weight: 800 !important;
        letter-spacing: 0.04em !important;
        text-transform: uppercase !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-mobile-menu__group {
        display: grid !important;
        margin: 0 0 28px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-mobile-menu__item,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-mobile-menu__simple {
        color: var(--foreground-base-primary-strong, #18171f) !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
        font-size: 18px !important;
        line-height: 24px !important;
        font-weight: 500 !important;
        text-decoration: none !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-mobile-menu__item {
        min-height: 50px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 16px !important;
        border-bottom: 1px solid rgba(24, 23, 31, 0.08) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-mobile-menu__item span:last-child {
        color: #c5cad3 !important;
        font-size: 26px !important;
        font-weight: 300 !important;
        line-height: 1 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-mobile-menu__simple {
        display: block !important;
        margin: 0 0 30px !important;
        color: #535968 !important;
        font-weight: 500 !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-mobile-menu__selectors {
        display: flex !important;
        align-items: center !important;
        gap: 24px !important;
        padding-top: 12px !important;
        color: #535968 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-mobile-menu__selector {
        display: inline-flex !important;
        align-items: center !important;
        gap: 7px !important;
        color: #535968 !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
        font-size: 16px !important;
        line-height: 22px !important;
        font-weight: 500 !important;
    }
}

/* ─── Fase 40.50: Fix mobile header contact icon overlap.
   Motivo: una regla mobile anterior seguía pintando el icono como texto (☎)
   sobre el nuevo SVG de contacto. Esta capa final neutraliza ese pseudo-icono
   heredado sin tocar desktop ni el menú. */
@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__actions a[href="#contacto"].ftc-site-header__contact-link {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        border-bottom: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: transparent !important;
        font-size: 0 !important;
        line-height: 0 !important;
        text-decoration: none !important;
        overflow: hidden !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__actions a[href="#contacto"].ftc-site-header__contact-link::before {
        content: "" !important;
        display: block !important;
        width: 26px !important;
        height: 26px !important;
        min-width: 26px !important;
        flex: 0 0 26px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: center / contain no-repeat url('/styles/componentes/assets/header/contact.svg') !important;
        color: transparent !important;
        font-size: 0 !important;
        line-height: 0 !important;
        font-family: initial !important;
        font-weight: normal !important;
        text-decoration: none !important;
        box-shadow: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__actions a[href="#contacto"].ftc-site-header__contact-link::after {
        content: none !important;
        display: none !important;
    }
}


/* ─── Fase 40.51: Selector de idioma/moneda funcional dentro del menú mobile.
   Antes eran spans estáticos; ahora son custom-selects como en desktop y necesitan
   estilos propios para no heredar el fondo oscuro/global del header legacy. */
@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-mobile-menu__selector.custom-select {
        position: relative !important;
        display: inline-block !important;
        min-width: 0 !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-mobile-menu__selector.custom-select:hover {
        background: transparent !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-mobile-menu__selector .select-selected {
        display: inline-flex !important;
        align-items: center !important;
        gap: 7px !important;
        padding: 0 14px 8px 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: #535968 !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
        font-size: 16px !important;
        line-height: 22px !important;
        font-weight: 500 !important;
        cursor: pointer !important;
        box-shadow: none !important;
        white-space: nowrap !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-mobile-menu__selector .select-selected::after {
        content: "⌄" !important;
        position: static !important;
        transform: none !important;
        margin-left: 0 !important;
        font-size: 13px !important;
        line-height: 1 !important;
        color: #535968 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-mobile-menu__selector .select-selected > span:last-child {
        color: #535968 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-mobile-menu__selector .select-items {
        position: absolute !important;
        left: 0 !important;
        right: auto !important;
        top: calc(100% + 4px) !important;
        z-index: 100010 !important;
        min-width: 112px !important;
        max-height: 220px !important;
        display: none !important;
        overflow-y: auto !important;
        background: #ffffff !important;
        border: 1px solid rgba(24, 23, 31, 0.10) !important;
        border-radius: 10px !important;
        box-shadow: 0 16px 40px rgba(24, 23, 31, 0.12) !important;
        padding: 6px 0 !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-mobile-menu__selector .select-items.active {
        display: block !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-mobile-menu__selector .select-items div {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        min-height: 38px !important;
        padding: 8px 12px !important;
        color: #535968 !important;
        background: #ffffff !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
        font-size: 14px !important;
        line-height: 20px !important;
        font-weight: 500 !important;
        cursor: pointer !important;
        white-space: nowrap !important;
        border: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-mobile-menu__selector .select-items div:hover {
        background: var(--background-base-brand-soft, #f8f0fc) !important;
        color: var(--foreground-base-brand-emphasis, #2a0d45) !important;
    }
}

/* ======================================================================
   Fase 40.53 - Mobile Discover Figma DS
   Scope: solo mobile. Corrige la galería de "Descubre el Alcázar" para
   evitar que las reglas desktop/tablet fuercen una sola columna.
   ====================================================================== */
@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover {
        padding-top: 48px !important;
        padding-bottom: 56px !important;
        background: var(--white-100, #fff) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ve-section-inner {
        width: calc(100% - 52px) !important;
        max-width: 430px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-section-head,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-section-head-center {
        max-width: none !important;
        margin: 0 0 32px !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-section-head h2,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-section-head-center h2 {
        margin: 0 !important;
        color: var(--foreground-base-primary-mid, #6d6254) !important;
        font-family: var(--font-display-section-family, Signika), Signika, Inter, Arial, sans-serif !important;
        font-size: 30px !important;
        line-height: 1.12 !important;
        font-weight: 600 !important;
        letter-spacing: -0.01em !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-section-head h2::after,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-section-head-center h2::after {
        content: "" !important;
        display: block !important;
        width: 54px !important;
        height: 1px !important;
        margin: 18px 0 28px !important;
        background: var(--border-base-secondary-strong, #8f8576) !important;
        opacity: 1 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-section-head p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-section-head-center p {
        max-width: 100% !important;
        margin: 0 !important;
        color: var(--foreground-base-primary-mid, #6d6254) !important;
        font-family: var(--font-body-default-family, Inter), Inter, Arial, sans-serif !important;
        font-size: 22px !important;
        line-height: 1.35 !important;
        font-weight: 400 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-gallery-mosaic {
        width: 100% !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-gallery-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: auto !important;
        gap: 18px !important;
        width: 100% !important;
        max-width: 100% !important;
        align-items: stretch !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-gallery-grid .ftc-gallery-main {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
        width: 100% !important;
        aspect-ratio: 1.73 / 1 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-gallery-grid img:not(.ftc-gallery-main) {
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100% !important;
        aspect-ratio: 1.55 / 1 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-gallery-grid img,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-gallery-grid .ftc-gallery-main {
        display: block !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        object-fit: cover !important;
        border: 0 !important;
        border-radius: 16px !important;
        box-shadow: none !important;
    }
}

/* ======================================================================
   Fase 40.54 - Mobile Discover Heading Line Fix
   Scope: solo mobile. Resetea la línea del título Descubre para evitar
   que herede position:absolute de reglas mobile globales.
   ====================================================================== */
@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-section-head h2,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-section-head-center h2 {
        position: relative !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-section-head h2::after,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-section-head-center h2::after {
        content: "" !important;
        position: static !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        bottom: auto !important;
        display: block !important;
        width: 54px !important;
        height: 1px !important;
        margin: 18px 0 28px !important;
        background: var(--border-base-secondary-strong, #8f8576) !important;
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ======================================================================
   Fase 40.55 - Mobile Explore arrows alignment
   Scope: solo mobile. Los controles del carrusel "Explora el Alcázar"
   deben ir a la derecha del título como en Figma, no centrados bajo la línea.
   ====================================================================== */
@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore.ftc-article-carousel-editable > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore > .ve-section-inner {
        position: relative !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore > .ve-section-inner > .ftc-article-heading,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore > .ve-section-inner > .component-wrapper:first-child .ftc-article-heading {
        display: block !important;
        max-width: calc(100% - 96px) !important;
        margin: 0 0 42px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore > .ve-section-inner > .ftc-carousel-controls-slot,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore > .ve-section-inner > .component-wrapper .ftc-carousel-controls-slot,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-carousel-arrows.ftc-carousel-controls-slot {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        left: auto !important;
        bottom: auto !important;
        z-index: 2 !important;
        width: auto !important;
        min-width: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 12px !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
        text-align: right !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-explore .ftc-carousel-arrow {
        flex: 0 0 32px !important;
    }
}

/* ======================================================================
   Fase 40.56 - Mobile How it works timeline sync
   Scope: solo mobile. Recompone "Cómo funciona" como timeline vertical
   del Figma: número grande + línea + contenido ancho, sin afectar desktop.
   ====================================================================== */
@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how {
        background: var(--background-base-default-soft, #f7f3ec) !important;
        padding: 48px 0 66px !important;
        color: var(--foreground-base-primary-mid, #3c342b) !important;
        overflow: hidden !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how > .ve-section-inner {
        width: var(--ftc-mobile-container, min(390px, calc(100vw - 48px))) !important;
        max-width: var(--ftc-mobile-container, min(390px, calc(100vw - 48px))) !important;
        margin-inline: auto !important;
        padding-inline: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-columns.ftc-how-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-columns-1-2.ftc-how-grid {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        gap: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-grid > .component-wrapper,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-grid > .component-wrapper > .component-content {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-how-intro,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-how-intro {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 42px !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro h2,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro .ve-rich-text h2 {
        position: relative !important;
        margin: 0 0 34px !important;
        padding: 0 0 18px !important;
        color: var(--foreground-base-primary-mid, #6d6254) !important;
        font-family: var(--font-display-section-family, var(--font-display-family, Signika)), Signika, Inter, Arial, sans-serif !important;
        font-size: 26px !important;
        line-height: 1.18 !important;
        letter-spacing: 0 !important;
        font-weight: 700 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro h2::after,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro .ve-rich-text h2::after {
        content: "" !important;
        position: absolute !important;
        left: 0 !important;
        bottom: 0 !important;
        top: auto !important;
        width: 48px !important;
        height: 1px !important;
        background: var(--border-base-secondary-strong, #a89275) !important;
        transform: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-intro .ve-rich-text p {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        color: var(--foreground-base-secondary-strong, #5f554b) !important;
        font-family: var(--font-body-default-family, var(--font-body-family, Inter)), Inter, Arial, sans-serif !important;
        font-size: 18px !important;
        line-height: 1.45 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        white-space: normal !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-grid.ftc-steps-list {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 0 !important;
        background: transparent !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list > div,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list > .component-wrapper,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list > .component-wrapper > .component-content {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-how-step,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-how-step,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list > div.ftc-how-step {
        position: relative !important;
        display: grid !important;
        grid-template-columns: 52px minmax(0, 1fr) !important;
        column-gap: 16px !important;
        align-items: start !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 0 54px !important;
        border: 0 !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list > .component-wrapper:last-child .ftc-how-step,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-steps-list > .ftc-how-step:last-child,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step:last-child {
        padding-bottom: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step:not(:last-child)::after,
    .visual-layout-page[data-design-system="ftc-foundations"] .component-wrapper:not(:last-child) .ftc-how-step::after {
        content: "" !important;
        position: absolute !important;
        left: 25px !important;
        top: 54px !important;
        bottom: 12px !important;
        width: 1px !important;
        background: var(--border-base-secondary-soft, rgba(109, 98, 84, .22)) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step > strong,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-how-step > strong,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-how-step > strong {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        display: block !important;
        width: 52px !important;
        max-width: 52px !important;
        min-width: 52px !important;
        margin: 0 !important;
        color: var(--temperature-600, #8c7b57) !important;
        font-family: var(--font-display-price-family, var(--font-display-family, Signika)), Signika, Inter, Arial, sans-serif !important;
        font-size: 42px !important;
        line-height: 1 !important;
        letter-spacing: 0 !important;
        font-weight: 700 !important;
        text-align: left !important;
        white-space: nowrap !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step > div,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-how-step > div,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-how-step > div {
        grid-column: 2 !important;
        grid-row: 1 / span 2 !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step h3,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step > div > h3,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-how-step h3,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-how-step h3 {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 2px 0 18px !important;
        color: var(--foreground-base-primary-mid, #6d6254) !important;
        font-family: var(--font-title-step-family, var(--font-display-family, Signika)), Signika, Inter, Arial, sans-serif !important;
        font-size: 22px !important;
        line-height: 1.16 !important;
        letter-spacing: .02em !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        text-align: left !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-step > div > p,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-how-step p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-how-step p {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        color: var(--foreground-base-secondary-strong, #5f554b) !important;
        font-family: var(--font-body-default-family, var(--font-body-family, Inter)), Inter, Arial, sans-serif !important;
        font-size: 17px !important;
        line-height: 1.42 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }
}

/* ======================================================================
   Fase 40.57 - Mobile How it works spacing sync
   Scope: solo mobile. Ajusta la separación vertical del timeline para
   acercarlo al Figma sin alterar desktop.
   ====================================================================== */
@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .editable-rich-text.ftc-how-step,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ve-rich-text.ftc-how-step,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > div.ftc-how-step {
        min-height: 188px !important;
        padding: 0 0 36px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > .component-wrapper:not(:last-child) .ftc-how-step,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step:not(:last-child) {
        margin-bottom: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > .component-wrapper:last-child .ftc-how-step,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > .ftc-how-step:last-child,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step:last-child {
        min-height: 0 !important;
        padding-bottom: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step:not(:last-child)::after,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .component-wrapper:not(:last-child) .ftc-how-step::after {
        top: 56px !important;
        bottom: 18px !important;
        left: 25px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step h3,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step > div > h3,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .editable-rich-text.ftc-how-step h3,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ve-rich-text.ftc-how-step h3 {
        margin-bottom: 20px !important;
    }
}


/* ======================================================================
   Fase 40.58 - Mobile How it works spacing legacy markup fix
   Scope: solo mobile. La versión publicada puede tener los pasos como
   divs directos dentro de .ftc-steps-list sin clase .ftc-how-step; por eso
   la fase 40.57 no alcanzaba el layout guardado en BD. Este bloque cubre
   tanto el marcado antiguo como el nuevo sin tocar desktop.
   ====================================================================== */
@media (max-width: 768px) {
    .visual-layout-page .ftc-how .ftc-steps-list {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 0 !important;
        background: transparent !important;
    }

    /* Caso real publicado: .ftc-steps-list > div sin clase ftc-how-step */
    .visual-layout-page .ftc-how .ftc-steps-list > div:not(.component-wrapper),
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > div:not(.component-wrapper) {
        position: relative !important;
        display: grid !important;
        grid-template-columns: 52px minmax(0, 1fr) !important;
        column-gap: 16px !important;
        align-items: start !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 188px !important;
        margin: 0 !important;
        padding: 0 0 34px !important;
        border: 0 !important;
        background: transparent !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    .visual-layout-page .ftc-how .ftc-steps-list > div:not(.component-wrapper):last-child,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > div:not(.component-wrapper):last-child {
        min-height: 0 !important;
        padding-bottom: 0 !important;
    }

    .visual-layout-page .ftc-how .ftc-steps-list > div:not(.component-wrapper):not(:last-child)::after,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > div:not(.component-wrapper):not(:last-child)::after {
        content: "" !important;
        position: absolute !important;
        left: 25px !important;
        top: 54px !important;
        bottom: 18px !important;
        width: 1px !important;
        background: var(--border-base-secondary-soft, rgba(109, 98, 84, .22)) !important;
    }

    .visual-layout-page .ftc-how .ftc-steps-list > div:not(.component-wrapper) > strong,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > div:not(.component-wrapper) > strong {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        display: block !important;
        width: 52px !important;
        min-width: 52px !important;
        max-width: 52px !important;
        margin: 0 !important;
        color: var(--temperature-600, #8c7b57) !important;
        font-family: var(--font-display-price-family, var(--font-display-family, Signika)), Signika, Inter, Arial, sans-serif !important;
        font-size: 42px !important;
        line-height: 1 !important;
        font-weight: 700 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        white-space: nowrap !important;
    }

    .visual-layout-page .ftc-how .ftc-steps-list > div:not(.component-wrapper) > h3,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > div:not(.component-wrapper) > h3 {
        grid-column: 2 !important;
        grid-row: 1 !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 2px 0 20px !important;
        color: var(--foreground-base-primary-mid, #6d6254) !important;
        font-family: var(--font-title-step-family, var(--font-display-family, Signika)), Signika, Inter, Arial, sans-serif !important;
        font-size: 22px !important;
        line-height: 1.16 !important;
        font-weight: 700 !important;
        letter-spacing: .02em !important;
        text-transform: uppercase !important;
        text-align: left !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    .visual-layout-page .ftc-how .ftc-steps-list > div:not(.component-wrapper) > p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > div:not(.component-wrapper) > p {
        grid-column: 2 !important;
        grid-row: 2 !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        color: var(--foreground-base-secondary-strong, #5f554b) !important;
        font-family: var(--font-body-default-family, var(--font-body-family, Inter)), Inter, Arial, sans-serif !important;
        font-size: 17px !important;
        line-height: 1.42 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    /* Caso nuevo por componentes: .component-wrapper ... .ftc-how-step */
    .visual-layout-page .ftc-how .ftc-steps-list > .component-wrapper:not(:last-child),
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > .component-wrapper:not(:last-child) {
        min-height: 188px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    .visual-layout-page .ftc-how .ftc-how-step,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step {
        min-height: 188px !important;
        padding-bottom: 34px !important;
    }

    .visual-layout-page .ftc-how .ftc-steps-list > .component-wrapper:last-child .ftc-how-step,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > .component-wrapper:last-child .ftc-how-step {
        min-height: 0 !important;
        padding-bottom: 0 !important;
    }
}


/* ======================================================================
   Fase 40.59 - Mobile How it works final alignment fix
   Scope: solo mobile. Corrige el layout real publicado del bloque
   "Cómo funciona" sin tocar desktop: anchura completa mobile, timeline
   vertical con número + línea + contenido ancho.
   ====================================================================== */
@media (max-width: 768px) {
    .visual-layout-page .ftc-how,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how {
        background: var(--background-base-default-soft, #f7f3ec) !important;
        padding: 54px 0 70px !important;
        color: var(--foreground-base-primary-mid, #4c453b) !important;
        overflow: hidden !important;
    }

    .visual-layout-page .ftc-how > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how > .ve-section-inner {
        width: min(390px, calc(100vw - 52px)) !important;
        max-width: min(390px, calc(100vw - 52px)) !important;
        min-width: 0 !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }

    .visual-layout-page .ftc-how .ftc-how-grid,
    .visual-layout-page .ftc-how .ve-columns.ftc-how-grid,
    .visual-layout-page .ftc-how .ve-columns-1-2.ftc-how-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ve-columns.ftc-how-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ve-columns-1-2.ftc-how-grid {
        display: block !important;
        grid-template-columns: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        gap: 0 !important;
    }

    .visual-layout-page .ftc-how .ftc-how-grid > *,
    .visual-layout-page .ftc-how .ftc-how-grid > .component-wrapper,
    .visual-layout-page .ftc-how .ftc-how-grid > .component-wrapper > .component-content,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-grid > *,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-grid > .component-wrapper,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-grid > .component-wrapper > .component-content {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
    }

    .visual-layout-page .ftc-how .ftc-how-intro,
    .visual-layout-page .ftc-how .editable-rich-text.ftc-how-intro,
    .visual-layout-page .ftc-how .ve-rich-text.ftc-how-intro,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-intro,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .editable-rich-text.ftc-how-intro,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ve-rich-text.ftc-how-intro {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 58px !important;
        padding: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page .ftc-how .ftc-how-intro h2,
    .visual-layout-page .ftc-how .ftc-how-intro .ve-rich-text h2,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-intro h2,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-intro .ve-rich-text h2 {
        position: relative !important;
        margin: 0 0 44px !important;
        padding: 0 !important;
        color: var(--foreground-base-primary-mid, #5f554b) !important;
        font-family: var(--font-display-section-family, var(--font-display-family, Signika)), Signika, Inter, Arial, sans-serif !important;
        font-size: 24px !important;
        line-height: 1.18 !important;
        letter-spacing: 0 !important;
        font-weight: 700 !important;
        text-align: left !important;
    }

    .visual-layout-page .ftc-how .ftc-how-intro h2::after,
    .visual-layout-page .ftc-how .ftc-how-intro .ve-rich-text h2::after,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-intro h2::after,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-intro .ve-rich-text h2::after {
        content: "" !important;
        position: absolute !important;
        left: 0 !important;
        top: auto !important;
        bottom: -17px !important;
        width: 48px !important;
        height: 1px !important;
        background: var(--border-base-secondary-strong, #8c7b57) !important;
        transform: none !important;
    }

    .visual-layout-page .ftc-how .ftc-how-intro p,
    .visual-layout-page .ftc-how .ftc-how-intro .ve-rich-text p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-intro p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-intro .ve-rich-text p {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        color: var(--foreground-base-secondary-strong, #5f554b) !important;
        font-family: var(--font-body-default-family, var(--font-body-family, Inter)), Inter, Arial, sans-serif !important;
        font-size: 16px !important;
        line-height: 1.52 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        white-space: normal !important;
    }

    .visual-layout-page .ftc-how .ftc-steps-list,
    .visual-layout-page .ftc-how .ve-grid.ftc-steps-list,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ve-grid.ftc-steps-list {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 0 !important;
        background: transparent !important;
        overflow: visible !important;
    }

    .visual-layout-page .ftc-how .ftc-steps-list > .component-wrapper,
    .visual-layout-page .ftc-how .ftc-steps-list > .component-wrapper > .component-content,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > .component-wrapper,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > .component-wrapper > .component-content {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    .visual-layout-page .ftc-how .ftc-steps-list > div:not(.component-wrapper),
    .visual-layout-page .ftc-how .ftc-how-step,
    .visual-layout-page .ftc-how .editable-rich-text.ftc-how-step,
    .visual-layout-page .ftc-how .ve-rich-text.ftc-how-step,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > div:not(.component-wrapper),
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .editable-rich-text.ftc-how-step,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ve-rich-text.ftc-how-step {
        position: relative !important;
        display: grid !important;
        grid-template-columns: 52px minmax(0, calc(100% - 70px)) !important;
        column-gap: 18px !important;
        row-gap: 0 !important;
        align-items: start !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 188px !important;
        margin: 0 !important;
        padding: 0 0 50px !important;
        border: 0 !important;
        background: transparent !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    .visual-layout-page .ftc-how .ftc-steps-list > div:not(.component-wrapper):last-child,
    .visual-layout-page .ftc-how .ftc-how-step:last-child,
    .visual-layout-page .ftc-how .ftc-steps-list > .component-wrapper:last-child .ftc-how-step,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > div:not(.component-wrapper):last-child,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step:last-child,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > .component-wrapper:last-child .ftc-how-step {
        min-height: 0 !important;
        padding-bottom: 0 !important;
    }

    .visual-layout-page .ftc-how .ftc-steps-list > div:not(.component-wrapper):not(:last-child)::after,
    .visual-layout-page .ftc-how .ftc-how-step:not(:last-child)::after,
    .visual-layout-page .ftc-how .ftc-steps-list > .component-wrapper:not(:last-child) .ftc-how-step::after,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > div:not(.component-wrapper):not(:last-child)::after,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step:not(:last-child)::after,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > .component-wrapper:not(:last-child) .ftc-how-step::after {
        content: "" !important;
        position: absolute !important;
        left: 25px !important;
        top: 58px !important;
        bottom: -18px !important;
        width: 1px !important;
        background: var(--border-base-secondary-soft, rgba(109, 98, 84, .22)) !important;
        transform: none !important;
    }

    .visual-layout-page .ftc-how .ftc-steps-list > div:not(.component-wrapper) > strong,
    .visual-layout-page .ftc-how .ftc-how-step > strong,
    .visual-layout-page .ftc-how .editable-rich-text.ftc-how-step > strong,
    .visual-layout-page .ftc-how .ve-rich-text.ftc-how-step > strong,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > div:not(.component-wrapper) > strong,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step > strong,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .editable-rich-text.ftc-how-step > strong,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ve-rich-text.ftc-how-step > strong {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        display: block !important;
        width: 52px !important;
        min-width: 52px !important;
        max-width: 52px !important;
        margin: 0 !important;
        padding: 0 !important;
        color: var(--temperature-600, #8c7b57) !important;
        font-family: var(--font-display-price-family, var(--font-display-family, Signika)), Signika, Inter, Arial, sans-serif !important;
        font-size: 42px !important;
        line-height: 1 !important;
        letter-spacing: 0 !important;
        font-weight: 700 !important;
        text-align: left !important;
        white-space: nowrap !important;
    }

    .visual-layout-page .ftc-how .ftc-how-step > div,
    .visual-layout-page .ftc-how .editable-rich-text.ftc-how-step > div,
    .visual-layout-page .ftc-how .ve-rich-text.ftc-how-step > div,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step > div,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .editable-rich-text.ftc-how-step > div,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ve-rich-text.ftc-how-step > div {
        grid-column: 2 !important;
        grid-row: 1 / span 2 !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page .ftc-how .ftc-steps-list > div:not(.component-wrapper) > h3,
    .visual-layout-page .ftc-how .ftc-how-step h3,
    .visual-layout-page .ftc-how .ftc-how-step > div > h3,
    .visual-layout-page .ftc-how .editable-rich-text.ftc-how-step h3,
    .visual-layout-page .ftc-how .ve-rich-text.ftc-how-step h3,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > div:not(.component-wrapper) > h3,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step h3,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step > div > h3,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .editable-rich-text.ftc-how-step h3,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ve-rich-text.ftc-how-step h3 {
        grid-column: 2 !important;
        grid-row: 1 !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 4px 0 20px !important;
        padding: 0 !important;
        color: var(--foreground-base-primary-mid, #5f554b) !important;
        font-family: var(--font-title-step-family, var(--font-display-family, Signika)), Signika, Inter, Arial, sans-serif !important;
        font-size: 22px !important;
        line-height: 1.15 !important;
        font-weight: 700 !important;
        letter-spacing: .02em !important;
        text-transform: uppercase !important;
        text-align: left !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
    }

    .visual-layout-page .ftc-how .ftc-steps-list > div:not(.component-wrapper) > p,
    .visual-layout-page .ftc-how .ftc-how-step p,
    .visual-layout-page .ftc-how .ftc-how-step > div > p,
    .visual-layout-page .ftc-how .editable-rich-text.ftc-how-step p,
    .visual-layout-page .ftc-how .ve-rich-text.ftc-how-step p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > div:not(.component-wrapper) > p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step > div > p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .editable-rich-text.ftc-how-step p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ve-rich-text.ftc-how-step p {
        grid-column: 2 !important;
        grid-row: 2 !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        color: var(--foreground-base-secondary-strong, #5f554b) !important;
        font-family: var(--font-body-default-family, var(--font-body-family, Inter)), Inter, Arial, sans-serif !important;
        font-size: 16px !important;
        line-height: 1.5 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
    }
}


/* ======================================================================
   Fase 40.60 - Mobile How it works text column hard fix
   Scope: solo mobile. Corrige la causa real vista en local: el layout
   publicado conserva wrappers/grid antiguos que estrechan el bloque derecho
   y parten los textos palabra a palabra. Este bloque fuerza el contenedor,
   la lista y cada paso a tener ancho mobile real, manteniendo desktop intacto.
   ====================================================================== */
@media (max-width: 768px) {
    .visual-layout-page .ftc-how,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how {
        --ftc-how-mobile-width: min(390px, calc(100vw - 48px));
        --ftc-how-number-width: 54px;
        --ftc-how-gap: 22px;
        background: var(--background-base-default-soft, #f7f3ec) !important;
        padding: 48px 0 72px !important;
        overflow: visible !important;
    }

    .visual-layout-page .ftc-how > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how > .ve-section-inner {
        width: var(--ftc-how-mobile-width) !important;
        max-width: var(--ftc-how-mobile-width) !important;
        min-width: 0 !important;
        margin: 0 auto !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    /* Reseteo amplio: cubre el columns/grid inline del editor y layouts ya publicados. */
    .visual-layout-page .ftc-how-grid,
    .visual-layout-page .ftc-how .ftc-how-grid,
    .visual-layout-page .ftc-how .ve-columns,
    .visual-layout-page .ftc-how .ve-columns.ftc-how-grid,
    .visual-layout-page .ftc-how .ve-columns-1-2.ftc-how-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ve-columns,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ve-columns.ftc-how-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ve-columns-1-2.ftc-how-grid {
        display: block !important;
        grid-template-columns: none !important;
        gap: 0 !important;
        width: var(--ftc-how-mobile-width) !important;
        max-width: var(--ftc-how-mobile-width) !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    .visual-layout-page .ftc-how-grid > *,
    .visual-layout-page .ftc-how .ftc-how-grid > *,
    .visual-layout-page .ftc-how .component-wrapper,
    .visual-layout-page .ftc-how .component-wrapper > .component-content,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how-grid > *,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-grid > *,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .component-wrapper,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .component-wrapper > .component-content {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
        float: none !important;
    }

    .visual-layout-page .ftc-how .ftc-how-intro,
    .visual-layout-page .ftc-how .editable-rich-text.ftc-how-intro,
    .visual-layout-page .ftc-how .ve-rich-text.ftc-how-intro,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-intro,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .editable-rich-text.ftc-how-intro,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ve-rich-text.ftc-how-intro {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 54px !important;
        padding: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page .ftc-how .ftc-how-intro h2,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-intro h2 {
        margin: 0 0 34px !important;
        padding: 0 0 18px !important;
        font-size: 26px !important;
        line-height: 1.18 !important;
        text-align: left !important;
    }

    .visual-layout-page .ftc-how .ftc-how-intro p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-intro p {
        width: 100% !important;
        max-width: 100% !important;
        font-size: 18px !important;
        line-height: 1.45 !important;
        text-align: left !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    .visual-layout-page .ftc-how .ftc-steps-list,
    .visual-layout-page .ftc-how .ve-grid.ftc-steps-list,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ve-grid.ftc-steps-list {
        display: block !important;
        grid-template-columns: none !important;
        gap: 0 !important;
        width: var(--ftc-how-mobile-width) !important;
        max-width: var(--ftc-how-mobile-width) !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    .visual-layout-page .ftc-how .ftc-steps-list > .component-wrapper,
    .visual-layout-page .ftc-how .ftc-steps-list > .component-wrapper > .component-content,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > .component-wrapper,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > .component-wrapper > .component-content {
        width: var(--ftc-how-mobile-width) !important;
        max-width: var(--ftc-how-mobile-width) !important;
        min-width: 0 !important;
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .visual-layout-page .ftc-how .ftc-how-step,
    .visual-layout-page .ftc-how .editable-rich-text.ftc-how-step,
    .visual-layout-page .ftc-how .ve-rich-text.ftc-how-step,
    .visual-layout-page .ftc-how .ftc-steps-list > div:not(.component-wrapper),
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .editable-rich-text.ftc-how-step,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ve-rich-text.ftc-how-step,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > div:not(.component-wrapper) {
        position: relative !important;
        display: grid !important;
        grid-template-columns: var(--ftc-how-number-width) minmax(0, calc(var(--ftc-how-mobile-width) - var(--ftc-how-number-width) - var(--ftc-how-gap))) !important;
        column-gap: var(--ftc-how-gap) !important;
        row-gap: 0 !important;
        align-items: start !important;
        width: var(--ftc-how-mobile-width) !important;
        max-width: var(--ftc-how-mobile-width) !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 0 66px !important;
        border: 0 !important;
        background: transparent !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    .visual-layout-page .ftc-how .ftc-how-step:last-child,
    .visual-layout-page .ftc-how .ftc-steps-list > .component-wrapper:last-child .ftc-how-step,
    .visual-layout-page .ftc-how .ftc-steps-list > div:not(.component-wrapper):last-child,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step:last-child,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > .component-wrapper:last-child .ftc-how-step,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > div:not(.component-wrapper):last-child {
        padding-bottom: 0 !important;
    }

    .visual-layout-page .ftc-how .ftc-how-step:not(:last-child)::after,
    .visual-layout-page .ftc-how .ftc-steps-list > .component-wrapper:not(:last-child) .ftc-how-step::after,
    .visual-layout-page .ftc-how .ftc-steps-list > div:not(.component-wrapper):not(:last-child)::after,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step:not(:last-child)::after,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > .component-wrapper:not(:last-child) .ftc-how-step::after,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > div:not(.component-wrapper):not(:last-child)::after {
        content: "" !important;
        position: absolute !important;
        left: 27px !important;
        top: 58px !important;
        bottom: 18px !important;
        width: 1px !important;
        background: var(--border-base-secondary-soft, rgba(109, 98, 84, .22)) !important;
        transform: none !important;
    }

    .visual-layout-page .ftc-how .ftc-how-step > strong,
    .visual-layout-page .ftc-how .ftc-how-step__number,
    .visual-layout-page .ftc-how .ftc-steps-list > div:not(.component-wrapper) > strong,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step > strong,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step__number,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > div:not(.component-wrapper) > strong {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        display: block !important;
        width: var(--ftc-how-number-width) !important;
        min-width: var(--ftc-how-number-width) !important;
        max-width: var(--ftc-how-number-width) !important;
        margin: 0 !important;
        padding: 0 !important;
        color: var(--temperature-600, #8c7b57) !important;
        font-size: 42px !important;
        line-height: 1 !important;
        font-weight: 700 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        white-space: nowrap !important;
    }

    .visual-layout-page .ftc-how .ftc-how-step > div,
    .visual-layout-page .ftc-how .ftc-how-step__body,
    .visual-layout-page .ftc-how .ftc-steps-list > div:not(.component-wrapper) > div,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step > div,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step__body,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > div:not(.component-wrapper) > div {
        grid-column: 2 !important;
        grid-row: 1 / span 2 !important;
        display: block !important;
        width: calc(var(--ftc-how-mobile-width) - var(--ftc-how-number-width) - var(--ftc-how-gap)) !important;
        max-width: calc(var(--ftc-how-mobile-width) - var(--ftc-how-number-width) - var(--ftc-how-gap)) !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
        box-sizing: border-box !important;
    }

    .visual-layout-page .ftc-how .ftc-how-step h3,
    .visual-layout-page .ftc-how .ftc-how-step > div > h3,
    .visual-layout-page .ftc-how .ftc-how-step__body > h3,
    .visual-layout-page .ftc-how .ftc-steps-list > div:not(.component-wrapper) > h3,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step h3,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step > div > h3,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step__body > h3,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > div:not(.component-wrapper) > h3 {
        grid-column: 2 !important;
        grid-row: 1 !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 2px 0 20px !important;
        padding: 0 !important;
        color: var(--foreground-base-primary-mid, #5f554b) !important;
        font-size: 22px !important;
        line-height: 1.16 !important;
        font-weight: 700 !important;
        letter-spacing: .02em !important;
        text-transform: uppercase !important;
        text-align: left !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
    }

    .visual-layout-page .ftc-how .ftc-how-step p,
    .visual-layout-page .ftc-how .ftc-how-step > div > p,
    .visual-layout-page .ftc-how .ftc-how-step__body > p,
    .visual-layout-page .ftc-how .ftc-steps-list > div:not(.component-wrapper) > p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step > div > p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-how-step__body > p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-how .ftc-steps-list > div:not(.component-wrapper) > p {
        grid-column: 2 !important;
        grid-row: 2 !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        color: var(--foreground-base-secondary-strong, #5f554b) !important;
        font-size: 16px !important;
        line-height: 1.5 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
    }
}

/* ─── Fase 40.61: Footer mobile Figma sync (solo mobile)
   Corrige la composición mobile del footer sin tocar desktop:
   - una sola columna de navegación,
   - métodos de pago antes del aviso legal,
   - bloque legal inferior blanco con enlaces apilados y copyright al final.
*/
@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer {
        --ftc-footer-mobile-width: var(--ftc-mobile-container, min(390px, calc(100vw - 48px)));
        padding: 48px 0 0 !important;
        background: var(--background-base-default-soft, #f7f3ec) !important;
        color: var(--foreground-base-primary-mid, #5f554b) !important;
        overflow: hidden !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
        grid-template-columns: none !important;
        width: var(--ftc-footer-mobile-width) !important;
        max-width: var(--ftc-footer-mobile-width) !important;
        min-width: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer:not(.editable-section):not(:has(> .ve-section-inner)) {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        grid-template-columns: none !important;
        width: 100% !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner > *,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer:not(.editable-section):not(:has(> .ve-section-inner)) > *,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper {
        grid-column: auto !important;
        grid-row: auto !important;
        justify-self: stretch !important;
        align-self: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-logo,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-logo,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-logo,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-footer-logo) {
        order: 1 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-grid.ftc-footer-grid,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-footer-grid) {
        order: 2 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-payment-row,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-payment-row,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-payment-row) {
        order: 3 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-disclaimer,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-disclaimer,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-disclaimer,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-footer-disclaimer) {
        order: 4 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-bottom,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-bottom,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-bottom,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper > .component-wrapper:has(.ftc-footer-bottom) {
        order: 5 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-logo,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-logo,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-logo {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        gap: 24px !important;
        margin: 0 !important;
        padding: 0 0 30px !important;
        border-bottom: 1px solid var(--border-base-secondary-soft, #ddd4c8) !important;
        background: transparent !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-logo-link {
        display: inline-flex !important;
        align-items: flex-start !important;
        width: auto !important;
        max-width: 74% !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-logo-link img,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-logo img {
        display: block !important;
        width: 188px !important;
        max-width: 100% !important;
        height: auto !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-top-link {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 32px !important;
        height: 32px !important;
        flex: 0 0 32px !important;
        color: var(--foreground-base-brand-emphasis, #5f3a78) !important;
        font-size: 34px !important;
        line-height: 1 !important;
        font-weight: 500 !important;
        text-decoration: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-grid.ftc-footer-grid {
        display: block !important;
        grid-template-columns: none !important;
        column-gap: 0 !important;
        row-gap: 0 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 34px 0 30px !important;
        border-bottom: 1px solid var(--border-base-secondary-soft, #ddd4c8) !important;
        background: transparent !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-col,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-col {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 36px !important;
        padding: 0 !important;
        text-align: left !important;
        background: transparent !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col-spacer,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-col-spacer,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-col-spacer {
        margin-top: -20px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col:last-child,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-col:last-child,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-col:last-child {
        margin-bottom: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col h3 {
        margin: 0 0 24px !important;
        color: var(--foreground-base-secondary-soft, #7c7162) !important;
        font-size: 14px !important;
        line-height: 18px !important;
        font-weight: 700 !important;
        letter-spacing: .10em !important;
        text-transform: uppercase !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col-spacer h3 {
        display: none !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col p {
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col p br {
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col a,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-contact-list span {
        color: var(--foreground-base-brand-emphasis, #5f3a78) !important;
        font-size: 20px !important;
        line-height: 1.42 !important;
        font-weight: 700 !important;
        text-align: left !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col a {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 15px !important;
        text-decoration: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col a:last-child {
        margin-bottom: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-contact-list {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 22px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-contact-list li {
        display: grid !important;
        grid-template-columns: 40px minmax(0, 1fr) !important;
        gap: 18px !important;
        align-items: center !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-contact-list img {
        width: 31px !important;
        height: 31px !important;
        object-fit: contain !important;
        align-self: center !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-contact-list span {
        display: block !important;
        min-width: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-payment-row,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-payment-row {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 34px 0 22px !important;
        border: 0 !important;
        background: transparent !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row p {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-icons {
        display: block !important;
        width: 230px !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-disclaimer,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-disclaimer,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-disclaimer {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 0 56px !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-disclaimer p {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        color: var(--foreground-base-secondary-soft, #7c7162) !important;
        font-size: 16px !important;
        line-height: 1.45 !important;
        font-weight: 400 !important;
        text-align: left !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-bottom,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-bottom,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-bottom {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 32px !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc((100vw - var(--ftc-footer-mobile-width)) / -2) !important;
        margin-right: 0 !important;
        padding: 54px calc((100vw - var(--ftc-footer-mobile-width)) / 2) 44px !important;
        border: 0 !important;
        background: var(--white-100, #fff) !important;
        box-shadow: none !important;
        clip-path: none !important;
        text-align: center !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-legal-links {
        order: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 24px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        white-space: normal !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-legal-links a {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        color: var(--foreground-base-brand-emphasis, #5f3a78) !important;
        font-size: 17px !important;
        line-height: 1.35 !important;
        font-weight: 700 !important;
        letter-spacing: .06em !important;
        text-align: center !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
        white-space: normal !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-bottom p {
        order: 2 !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 12px 0 0 !important;
        padding: 0 !important;
        color: var(--foreground-base-secondary-soft, #7c7162) !important;
        font-size: 18px !important;
        line-height: 1.35 !important;
        font-weight: 400 !important;
        text-align: center !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }
}


/* Fase 40.62 - Footer mobile: orden final y layout Figma
   Refuerza el footer mobile sin afectar desktop. Cubre el layout público limpio
   y el editor con component-wrapper. */
@media (max-width: 768px) {
    .visual-layout-page .ftc-footer,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer {
        --ftc-footer-mobile-width: min(390px, calc(100vw - 52px));
        padding: 48px 0 0 !important;
        background: var(--background-base-default-soft, #f7f3ec) !important;
        overflow: hidden !important;
    }

    .visual-layout-page .ftc-footer > .ve-section-inner,
    .visual-layout-page .ftc-footer > .section-content-wrapper,
    .editor-mode .visual-layout-page .ftc-footer.editable-section > .section-content-wrapper,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer.editable-section > .section-content-wrapper {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
        grid-template-columns: none !important;
        width: var(--ftc-footer-mobile-width) !important;
        max-width: var(--ftc-footer-mobile-width) !important;
        min-width: 0 !important;
        margin-inline: auto !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        background: transparent !important;
    }

    .visual-layout-page .ftc-footer:not(.editable-section):not(:has(> .ve-section-inner)),
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer:not(.editable-section):not(:has(> .ve-section-inner)) {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        grid-template-columns: none !important;
        width: 100% !important;
    }

    .visual-layout-page .ftc-footer .component-wrapper,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer .component-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .visual-layout-page .ftc-footer-logo,
    .visual-layout-page .ftc-footer .component-wrapper:has(.ftc-footer-logo),
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-logo,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer .component-wrapper:has(.ftc-footer-logo) {
        order: 10 !important;
    }

    .visual-layout-page .ftc-footer-grid,
    .visual-layout-page .ftc-footer .component-wrapper:has(.ftc-footer-grid),
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer .component-wrapper:has(.ftc-footer-grid) {
        order: 20 !important;
    }

    .visual-layout-page .ftc-payment-row,
    .visual-layout-page .ftc-footer .component-wrapper:has(.ftc-payment-row),
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer .component-wrapper:has(.ftc-payment-row) {
        order: 30 !important;
    }

    .visual-layout-page .ftc-footer-disclaimer,
    .visual-layout-page .ftc-footer .component-wrapper:has(.ftc-footer-disclaimer),
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-disclaimer,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer .component-wrapper:has(.ftc-footer-disclaimer) {
        order: 40 !important;
    }

    .visual-layout-page .ftc-footer-bottom,
    .visual-layout-page .ftc-footer .component-wrapper:has(.ftc-footer-bottom),
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-bottom,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer .component-wrapper:has(.ftc-footer-bottom) {
        order: 50 !important;
    }

    .visual-layout-page .ftc-footer-logo,
    .visual-layout-page .editable-rich-text.ftc-footer-logo,
    .visual-layout-page .ve-rich-text.ftc-footer-logo,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-logo,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-logo,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-logo {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        gap: 24px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 0 31px !important;
        border-bottom: 1px solid var(--border-base-secondary-soft, #ddd4c8) !important;
        background: transparent !important;
        box-sizing: border-box !important;
    }

    .visual-layout-page .ftc-footer-logo-link img,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-logo-link img {
        width: min(218px, 72vw) !important;
        max-width: 100% !important;
        height: auto !important;
    }

    .visual-layout-page .ftc-footer-top-link,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-top-link {
        width: 36px !important;
        height: 36px !important;
        flex: 0 0 36px !important;
        color: var(--foreground-base-brand-emphasis, #5f3a78) !important;
        font-size: 36px !important;
        line-height: 1 !important;
        text-decoration: none !important;
    }

    .visual-layout-page .ftc-footer-grid,
    .visual-layout-page .ve-grid.ftc-footer-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-grid,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-grid.ftc-footer-grid {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
        gap: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 34px 0 34px !important;
        border-bottom: 1px solid var(--border-base-secondary-soft, #ddd4c8) !important;
        background: transparent !important;
        box-sizing: border-box !important;
    }

    .visual-layout-page .ftc-footer-grid > *,
    .visual-layout-page .ve-grid.ftc-footer-grid > *,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-grid > *,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-grid.ftc-footer-grid > * {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .visual-layout-page .ftc-footer-col,
    .visual-layout-page .editable-rich-text.ftc-footer-col,
    .visual-layout-page .ve-rich-text.ftc-footer-col,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-col,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-col {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 32px !important;
        padding: 0 !important;
        text-align: left !important;
        background: transparent !important;
    }

    .visual-layout-page .ftc-footer-col-spacer,
    .visual-layout-page .editable-rich-text.ftc-footer-col-spacer,
    .visual-layout-page .ve-rich-text.ftc-footer-col-spacer,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col-spacer,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-col-spacer,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-col-spacer {
        margin-top: -12px !important;
    }

    .visual-layout-page .ftc-footer-col:last-child,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col:last-child {
        margin-bottom: 0 !important;
    }

    .visual-layout-page .ftc-footer-col h3,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col h3 {
        display: block !important;
        margin: 0 0 24px !important;
        color: var(--foreground-base-secondary-soft, #7c7162) !important;
        font-size: 16px !important;
        line-height: 20px !important;
        font-weight: 700 !important;
        letter-spacing: .10em !important;
        text-transform: uppercase !important;
        text-align: left !important;
    }

    .visual-layout-page .ftc-footer-col-spacer h3,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col-spacer h3 {
        display: none !important;
    }

    .visual-layout-page .ftc-footer-col p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col p {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page .ftc-footer-col p br,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col p br {
        display: none !important;
    }

    .visual-layout-page .ftc-footer-col a,
    .visual-layout-page .ftc-footer-contact-list span,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-col a,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-contact-list span {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 18px !important;
        color: var(--foreground-base-brand-emphasis, #5f3a78) !important;
        font-size: 24px !important;
        line-height: 1.35 !important;
        font-weight: 700 !important;
        text-align: left !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
        text-decoration: none !important;
    }

    .visual-layout-page .ftc-footer-contact-list,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-contact-list {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 28px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .visual-layout-page .ftc-footer-contact-list li,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-contact-list li {
        display: grid !important;
        grid-template-columns: 40px minmax(0, 1fr) !important;
        gap: 22px !important;
        align-items: center !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .visual-layout-page .ftc-footer-contact-list img,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-contact-list img {
        display: block !important;
        width: 31px !important;
        height: 31px !important;
        object-fit: contain !important;
    }

    .visual-layout-page .ftc-footer-contact-list span,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-contact-list span {
        margin: 0 !important;
        overflow-wrap: anywhere !important;
    }

    .visual-layout-page .ftc-payment-row,
    .visual-layout-page .editable-rich-text.ftc-payment-row,
    .visual-layout-page .ve-rich-text.ftc-payment-row,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-payment-row,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-payment-row {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 36px 0 24px !important;
        border: 0 !important;
        background: transparent !important;
        text-align: left !important;
    }

    .visual-layout-page .ftc-payment-row p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-row p {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .visual-layout-page .ftc-payment-icons,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-payment-icons {
        display: block !important;
        width: 238px !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 !important;
    }

    .visual-layout-page .ftc-footer-disclaimer,
    .visual-layout-page .editable-rich-text.ftc-footer-disclaimer,
    .visual-layout-page .ve-rich-text.ftc-footer-disclaimer,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-disclaimer,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-disclaimer,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-disclaimer {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 0 56px !important;
        border: 0 !important;
        background: transparent !important;
        text-align: left !important;
    }

    .visual-layout-page .ftc-footer-disclaimer p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-disclaimer p {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        color: var(--foreground-base-secondary-soft, #7c7162) !important;
        font-size: 20px !important;
        line-height: 1.42 !important;
        font-weight: 400 !important;
        text-align: left !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
    }

    .visual-layout-page .ftc-footer-bottom,
    .visual-layout-page .editable-rich-text.ftc-footer-bottom,
    .visual-layout-page .ve-rich-text.ftc-footer-bottom,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-bottom,
    .visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.ftc-footer-bottom,
    .visual-layout-page[data-design-system="ftc-foundations"] .ve-rich-text.ftc-footer-bottom {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 34px !important;
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 100vw !important;
        margin-left: calc((100vw - var(--ftc-footer-mobile-width)) / -2) !important;
        margin-right: 0 !important;
        padding: 56px calc((100vw - var(--ftc-footer-mobile-width)) / 2) 48px !important;
        border: 0 !important;
        background: var(--white-100, #fff) !important;
        box-shadow: none !important;
        clip-path: none !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    .visual-layout-page .ftc-footer-legal-links,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-legal-links {
        order: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 29px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .visual-layout-page .ftc-footer-legal-links a,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-legal-links a {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        color: var(--foreground-base-brand-emphasis, #5f3a78) !important;
        font-size: 18px !important;
        line-height: 1.35 !important;
        font-weight: 700 !important;
        letter-spacing: .06em !important;
        text-align: center !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
    }

    .visual-layout-page .ftc-footer-bottom p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-bottom p {
        order: 2 !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 22px 0 0 !important;
        padding: 0 !important;
        color: var(--foreground-base-secondary-soft, #7c7162) !important;
        font-size: 20px !important;
        line-height: 1.35 !important;
        font-weight: 400 !important;
        text-align: center !important;
    }
}

/* Fase 40.63 - Footer mobile dedicado Figma
   El orden del footer publicado puede venir contaminado por layouts antiguos guardados.
   Para mobile se usa un render limpio (.ftc-footer-mobile) y se oculta el inner desktop solo en <=768px.
   Desktop queda intacto. */
.visual-layout-page .ftc-footer-mobile,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile {
    display: none !important;
}

@media (max-width: 768px) {
    .visual-layout-page .ftc-footer,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer {
        padding: 0 !important;
        background: var(--background-base-default-soft, #f7f3ec) !important;
        overflow: hidden !important;
    }

    .visual-layout-page .ftc-footer > .ve-section-inner,
    .visual-layout-page .ftc-footer > .section-content-wrapper,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer > .section-content-wrapper {
        display: none !important;
    }

    .visual-layout-page .ftc-footer-mobile,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile {
        --ftc-footer-mobile-width: min(390px, calc(100vw - 52px));
        display: block !important;
        width: var(--ftc-footer-mobile-width) !important;
        max-width: var(--ftc-footer-mobile-width) !important;
        min-width: 0 !important;
        margin: 0 auto !important;
        padding: 48px 0 0 !important;
        background: transparent !important;
        color: var(--foreground-base-secondary-soft, #7c7162) !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
        box-sizing: border-box !important;
    }

    .visual-layout-page .ftc-footer-mobile *,
    .visual-layout-page .ftc-footer-mobile *::before,
    .visual-layout-page .ftc-footer-mobile *::after,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile *,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile *::before,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile *::after {
        box-sizing: border-box !important;
    }

    .visual-layout-page .ftc-footer-mobile__top,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile__top {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        gap: 24px !important;
        width: 100% !important;
        padding: 0 0 30px !important;
        border-bottom: 1px solid var(--border-base-secondary-soft, #ddd4c8) !important;
    }

    .visual-layout-page .ftc-footer-mobile__top .ftc-footer-logo-link,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile__top .ftc-footer-logo-link {
        display: inline-flex !important;
        width: auto !important;
        max-width: calc(100% - 58px) !important;
        text-decoration: none !important;
    }

    .visual-layout-page .ftc-footer-mobile__top .ftc-footer-logo-link img,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile__top .ftc-footer-logo-link img {
        display: block !important;
        width: min(218px, 100%) !important;
        max-width: 100% !important;
        height: auto !important;
    }

    .visual-layout-page .ftc-footer-mobile__top .ftc-footer-top-link,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile__top .ftc-footer-top-link {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 36px !important;
        width: 36px !important;
        height: 36px !important;
        margin: 0 !important;
        color: var(--foreground-base-brand-emphasis, #5f3a78) !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
        font-size: 36px !important;
        line-height: 1 !important;
        font-weight: 500 !important;
        text-decoration: none !important;
        transform: none !important;
    }

    .visual-layout-page .ftc-footer-mobile__nav,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile__nav {
        display: block !important;
        width: 100% !important;
        padding: 34px 0 34px !important;
        border-bottom: 1px solid var(--border-base-secondary-soft, #ddd4c8) !important;
    }

    .visual-layout-page .ftc-footer-mobile__group,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile__group {
        display: block !important;
        width: 100% !important;
        margin: 0 0 34px !important;
        padding: 0 !important;
    }

    .visual-layout-page .ftc-footer-mobile__group:last-child,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile__group:last-child {
        margin-bottom: 0 !important;
    }

    .visual-layout-page .ftc-footer-mobile__group h3,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile__group h3 {
        display: block !important;
        margin: 0 0 22px !important;
        color: var(--foreground-base-secondary-soft, #7c7162) !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
        font-size: 16px !important;
        line-height: 1.25 !important;
        font-weight: 700 !important;
        letter-spacing: .10em !important;
        text-transform: uppercase !important;
        text-align: left !important;
    }

    .visual-layout-page .ftc-footer-mobile__group a,
    .visual-layout-page .ftc-footer-mobile__contact-row,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile__group a,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile__contact-row {
        display: block !important;
        width: 100% !important;
        margin: 0 0 21px !important;
        color: var(--foreground-base-brand-emphasis, #5f3a78) !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
        font-size: 20px !important;
        line-height: 1.35 !important;
        font-weight: 700 !important;
        text-align: left !important;
        text-decoration: none !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
    }

    .visual-layout-page .ftc-footer-mobile__group a:last-child,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile__group a:last-child {
        margin-bottom: 0 !important;
    }

    .visual-layout-page .ftc-footer-mobile__contact a,
    .visual-layout-page .ftc-footer-mobile__contact-row,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile__contact a,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile__contact-row {
        display: grid !important;
        grid-template-columns: 36px minmax(0, 1fr) !important;
        gap: 22px !important;
        align-items: center !important;
        margin-bottom: 28px !important;
    }

    .visual-layout-page .ftc-footer-mobile__contact,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile__contact {
        scroll-margin-top: 96px !important;
    }

    .visual-layout-page .ftc-footer-mobile__contact img,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile__contact img {
        display: block !important;
        width: 31px !important;
        height: 31px !important;
        object-fit: contain !important;
    }

    .visual-layout-page .ftc-footer-mobile__contact span,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile__contact span {
        min-width: 0 !important;
        color: var(--foreground-base-brand-emphasis, #5f3a78) !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
        font-size: 20px !important;
        line-height: 1.35 !important;
        font-weight: 700 !important;
        overflow-wrap: anywhere !important;
    }

    .visual-layout-page .ftc-footer-mobile__legal-block,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile__legal-block {
        display: block !important;
        width: 100% !important;
        padding: 34px 0 56px !important;
        background: transparent !important;
    }

    .visual-layout-page .ftc-footer-mobile__payments,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile__payments {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 100% !important;
        margin: 0 0 26px !important;
        padding: 0 !important;
    }

    .visual-layout-page .ftc-footer-mobile__payments .ftc-payment-icons,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile__payments .ftc-payment-icons {
        display: block !important;
        width: 238px !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 !important;
    }

    .visual-layout-page .ftc-footer-mobile__disclaimer,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile__disclaimer {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        color: var(--foreground-base-secondary-soft, #7c7162) !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
        font-size: 20px !important;
        line-height: 1.42 !important;
        font-weight: 400 !important;
        text-align: left !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
    }

    .visual-layout-page .ftc-footer-mobile__bottom,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile__bottom {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 34px !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc((100vw - var(--ftc-footer-mobile-width)) / -2) !important;
        padding: 56px calc((100vw - var(--ftc-footer-mobile-width)) / 2) 48px !important;
        background: var(--white-100, #fff) !important;
        text-align: center !important;
    }

    .visual-layout-page .ftc-footer-mobile__legal-links,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile__legal-links {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 29px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .visual-layout-page .ftc-footer-mobile__legal-links a,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile__legal-links a {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        color: var(--foreground-base-brand-emphasis, #5f3a78) !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
        font-size: 18px !important;
        line-height: 1.35 !important;
        font-weight: 700 !important;
        letter-spacing: .06em !important;
        text-align: center !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
    }

    .visual-layout-page .ftc-footer-mobile__copy,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile__copy {
        display: block !important;
        width: 100% !important;
        margin: 22px 0 0 !important;
        padding: 0 !important;
        color: var(--foreground-base-secondary-soft, #7c7162) !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
        font-size: 20px !important;
        line-height: 1.35 !important;
        font-weight: 400 !important;
        text-align: center !important;
    }
}

/* ─── Fase 40.66: Página Legal - sincronía real con Figma + Design System ───
   Motivo: la plantilla legal usaba el hero interno genérico y heredaba centrados
   del CSS legacy. Este bloque acota la corrección a page=legal y no toca Home,
   FAQs ni Artículo. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] {
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-inner-hero,
.visual-layout-page[data-design-system="ftc-foundations"] .alc-legal-hero {
    background: var(--background-base-default-soft, #FAF8F3) !important;
    padding: 56px 0 66px !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-inner-hero > .ve-section-inner,
.visual-layout-page[data-design-system="ftc-foundations"] .alc-legal-hero > .ve-section-inner,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-inner-hero.editable-section > .section-content-wrapper,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .alc-legal-hero.editable-section > .section-content-wrapper {
    width: min(var(--layout-container-content, 1440px), calc(100% - (var(--layout-section-x-spacing, 72px) * 2))) !important;
    max-width: var(--layout-container-content, 1440px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-inner-hero-copy,
.visual-layout-page[data-design-system="ftc-foundations"] .alc-legal-hero-copy,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .editable-rich-text.alc-inner-hero-copy,
.visual-layout-page[data-design-system="ftc-foundations"] .editable-rich-text.alc-legal-hero-copy {
    width: min(760px, 100%) !important;
    max-width: 760px !important;
    margin: 0 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-inner-hero-copy h1,
.visual-layout-page[data-design-system="ftc-foundations"] .alc-legal-hero-copy h1 {
    margin: 0 0 var(--space-sm, 16px) !important;
    color: var(--foreground-base-brand-emphasis, #5F3A78) !important;
    font-family: var(--font-display-page-family, "Signika", Inter, Arial, sans-serif) !important;
    font-size: var(--font-display-page-size, 48px) !important;
    line-height: var(--font-display-page-line-height, 56px) !important;
    letter-spacing: var(--font-display-page-letter-spacing, 0) !important;
    font-weight: 400 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-inner-hero-copy p,
.visual-layout-page[data-design-system="ftc-foundations"] .alc-legal-hero-copy p {
    max-width: 720px !important;
    margin: 0 0 var(--space-3xs, 4px) !important;
    color: var(--foreground-base-secondary-mid, #665C48) !important;
    font-family: var(--font-body-support-family, "Inter", Arial, sans-serif) !important;
    font-size: var(--font-body-support-size, 14px) !important;
    line-height: var(--font-body-support-line-height, 20px) !important;
    font-weight: 400 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-body-section {
    background: var(--white-100, #fff) !important;
    padding: var(--space-5xl, 96px) 0 var(--space-6xl, 128px) !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-body-section > .ve-section-inner,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-body-section.editable-section > .section-content-wrapper {
    width: min(1120px, calc(100% - (var(--layout-section-x-spacing, 72px) * 2))) !important;
    max-width: 1120px !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-layout {
    display: grid !important;
    grid-template-columns: 220px minmax(0, var(--layout-container-reading, 720px)) !important;
    justify-content: center !important;
    align-items: start !important;
    column-gap: var(--space-4xl, 88px) !important;
    row-gap: var(--space-xl, 40px) !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-index,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .editable-rich-text.alc-legal-index,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .ve-rich-text.alc-legal-index {
    position: sticky !important;
    top: var(--space-4xl, 88px) !important;
    color: var(--foreground-base-secondary-mid, #665C48) !important;
    font-family: var(--font-body-caption-family, "Inter", Arial, sans-serif) !important;
    font-size: var(--font-body-caption-size, 12px) !important;
    line-height: var(--font-body-caption-line-height, 16px) !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-index strong {
    display: block !important;
    margin: 0 0 var(--space-xs, 12px) !important;
    color: var(--foreground-base-secondary-soft, #84775D) !important;
    font-family: var(--font-title-notice-family, "Inter", Arial, sans-serif) !important;
    font-size: var(--font-body-caption-size, 12px) !important;
    line-height: var(--font-body-caption-line-height, 16px) !important;
    font-weight: 700 !important;
    letter-spacing: .10em !important;
    text-transform: uppercase !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-index a {
    display: block !important;
    margin: 0 !important;
    padding: var(--space-3xs, 4px) 0 var(--space-3xs, 4px) var(--space-sm, 16px) !important;
    border-left: 1px solid var(--border-base-secondary-soft, #F0EBE1) !important;
    color: var(--foreground-base-brand-mid, #5F3A78) !important;
    font-family: var(--font-body-caption-family, "Inter", Arial, sans-serif) !important;
    font-size: var(--font-body-caption-size, 12px) !important;
    line-height: var(--font-body-caption-line-height, 16px) !important;
    font-weight: 500 !important;
    text-align: left !important;
    text-decoration: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .editable-rich-text.alc-legal-content,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .ve-rich-text.alc-legal-content {
    width: 100% !important;
    max-width: var(--layout-container-reading, 720px) !important;
    color: var(--foreground-base-secondary-mid, #665C48) !important;
    font-family: var(--font-body-support-family, "Inter", Arial, sans-serif) !important;
    font-size: var(--font-body-support-size, 14px) !important;
    line-height: var(--font-body-support-line-height, 20px) !important;
    font-weight: 400 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content p,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content li {
    margin: 0 0 var(--space-sm, 16px) !important;
    color: var(--foreground-base-secondary-mid, #665C48) !important;
    font-family: var(--font-body-support-family, "Inter", Arial, sans-serif) !important;
    font-size: var(--font-body-support-size, 14px) !important;
    line-height: var(--font-body-support-line-height, 20px) !important;
    font-weight: 400 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content > p:first-child {
    margin-bottom: var(--space-md, 24px) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content strong {
    color: inherit !important;
    font-weight: 700 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content h2 {
    margin: var(--space-md, 24px) 0 var(--space-xs, 12px) !important;
    color: var(--foreground-base-secondary-soft, #84775D) !important;
    font-family: var(--font-title-card-family, "Signika", Inter, Arial, sans-serif) !important;
    font-size: var(--font-title-card-size, 20px) !important;
    line-height: var(--font-title-card-line-height, 28px) !important;
    font-weight: 700 !important;
    letter-spacing: var(--font-title-card-letter-spacing, 0) !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content h2:first-of-type {
    margin-top: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content ul {
    margin: 0 0 var(--space-sm, 16px) !important;
    padding-left: var(--space-md, 24px) !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content li::marker {
    color: var(--foreground-base-secondary-mid, #665C48) !important;
}

@media (max-width: 1024px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-layout {
        grid-template-columns: 1fr !important;
        gap: var(--space-xl, 40px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-index {
        display: none !important;
    }
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-inner-hero,
    .visual-layout-page[data-design-system="ftc-foundations"] .alc-legal-hero {
        padding: var(--space-2xl, 48px) 0 var(--space-4xl, 88px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-inner-hero-copy h1,
    .visual-layout-page[data-design-system="ftc-foundations"] .alc-legal-hero-copy h1 {
        font-size: var(--font-display-page-size, 32px) !important;
        line-height: var(--font-display-page-line-height, 40px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-body-section {
        padding: var(--space-3xl, 72px) 0 var(--space-5xl, 96px) !important;
    }
}

/* ─── Fase 40.67: Legal Desktop - tokens reales de Figma ───────────────────
   Corrige la plantilla legal sin tocar Home/Artículo/FAQs:
   - el H1 legal en Figma es Signika 400, 48/48 y color text/brand (#5F3A78),
     no brand-emphasis ni max-width de lectura.
   - el cuerpo legal usa Inter 16/24 en text/primary (#484132).
   - los epígrafes legales usan Signika bold 24/32 en text/tertiary (#84775D).
*/
@media (min-width: 769px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-inner-hero,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-hero {
        background: var(--background-base-default-soft, #FAF8F3) !important;
        padding-top: 52px !important;
        padding-bottom: 72px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-inner-hero > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-hero > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-inner-hero.editable-section > .section-content-wrapper,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-hero.editable-section > .section-content-wrapper {
        width: min(var(--layout-container-content, 1440px), calc(100% - 144px)) !important;
        max-width: var(--layout-container-content, 1440px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-inner-hero-copy,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-hero-copy,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .editable-rich-text.alc-inner-hero-copy,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .editable-rich-text.alc-legal-hero-copy {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-inner-hero-copy h1,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-hero-copy h1 {
        max-width: 1344px !important;
        margin: 0 0 16px !important;
        color: var(--foreground-base-brand-mid, #5F3A78) !important;
        font-family: var(--font-display-page-family, "Signika", Inter, Arial, sans-serif) !important;
        font-size: 48px !important;
        line-height: 48px !important;
        font-weight: 400 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-inner-hero-copy p,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-hero-copy p {
        max-width: 760px !important;
        margin: 0 !important;
        color: var(--foreground-base-primary-soft, #665C48) !important;
        font-family: var(--font-body-family, "Inter", Arial, sans-serif) !important;
        font-size: 18px !important;
        line-height: 24px !important;
        font-weight: 400 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-body-section {
        background: #fff !important;
        padding-top: 128px !important;
        padding-bottom: 128px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-body-section > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-body-section.editable-section > .section-content-wrapper {
        width: min(1048px, calc(100% - 144px)) !important;
        max-width: 1048px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-layout {
        display: grid !important;
        grid-template-columns: 280px minmax(0, 720px) !important;
        column-gap: 48px !important;
        row-gap: 0 !important;
        justify-content: start !important;
        align-items: start !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-index,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .editable-rich-text.alc-legal-index,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .ve-rich-text.alc-legal-index {
        max-width: 280px !important;
        font-family: var(--font-body-family, "Inter", Arial, sans-serif) !important;
        font-size: 12px !important;
        line-height: 16px !important;
        color: var(--foreground-base-brand-mid, #5F3A78) !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-index strong {
        margin-bottom: 20px !important;
        color: var(--foreground-base-secondary-soft, #84775D) !important;
        font-family: var(--font-body-family, "Inter", Arial, sans-serif) !important;
        font-size: 14px !important;
        line-height: 16px !important;
        font-weight: 700 !important;
        letter-spacing: .10em !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-index a {
        padding: 0 0 0 18px !important;
        margin: 0 0 20px !important;
        border-left: 1px solid var(--border-base-secondary-soft, #F0EBE1) !important;
        color: var(--foreground-base-brand-mid, #5F3A78) !important;
        font-family: var(--font-body-family, "Inter", Arial, sans-serif) !important;
        font-size: 12px !important;
        line-height: 16px !important;
        font-weight: 700 !important;
        text-align: left !important;
        text-decoration: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .editable-rich-text.alc-legal-content,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .ve-rich-text.alc-legal-content {
        width: 720px !important;
        max-width: 720px !important;
        color: var(--foreground-base-primary-mid, #484132) !important;
        font-family: var(--font-body-family, "Inter", Arial, sans-serif) !important;
        font-size: 16px !important;
        line-height: 24px !important;
        font-weight: 400 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content p,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content li {
        margin: 0 0 16px !important;
        color: var(--foreground-base-primary-mid, #484132) !important;
        font-family: var(--font-body-family, "Inter", Arial, sans-serif) !important;
        font-size: 16px !important;
        line-height: 24px !important;
        font-weight: 400 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content > p:first-child {
        margin-bottom: 32px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content strong,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content b {
        color: inherit !important;
        font-weight: 700 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content h2 {
        margin: 32px 0 16px !important;
        color: var(--foreground-base-secondary-soft, #84775D) !important;
        font-family: var(--font-title-block-family, "Signika", Inter, Arial, sans-serif) !important;
        font-size: 24px !important;
        line-height: 32px !important;
        font-weight: 700 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content h2:first-of-type {
        margin-top: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content ul {
        margin: 0 0 16px !important;
        padding-left: 20px !important;
        list-style-position: outside !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content li::marker {
        color: var(--foreground-base-primary-mid, #484132) !important;
    }
}

/* ─── Fase 40.68: Página FAQs desktop - ajuste real a Figma + Design System ──
   Acotado a page=faqs y solo desktop. La página FAQ guardada venía de estilos
   genéricos: hero centrado, acordeón en cajas y bloque de relacionadas con títulos
   fuera de escala. Aquí se fuerza la lectura de tokens FTC sin tocar Home/Legal/
   Artículo ni mobile. */
@media (min-width: 769px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] {
        background: var(--white-100, #fff) !important;
        color: var(--foreground-base-primary-mid, #484132) !important;
        font-family: var(--font-body-family, "Inter", Arial, sans-serif) !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero {
        background: var(--background-base-default-soft, #FAF8F3) !important;
        padding: 52px 0 64px !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero.editable-section > .section-content-wrapper {
        width: min(var(--layout-container-content, 1440px), calc(100% - 144px)) !important;
        max-width: var(--layout-container-content, 1440px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero-copy,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .editable-rich-text.alc-inner-hero-copy,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ve-rich-text.alc-inner-hero-copy {
        width: min(720px, 100%) !important;
        max-width: 720px !important;
        margin: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero-copy h1 {
        margin: 0 0 12px !important;
        color: var(--foreground-base-brand-mid, #5F3A78) !important;
        font-family: var(--font-display-section-family, "Signika", Inter, Arial, sans-serif) !important;
        font-size: var(--font-display-section-size, 40px) !important;
        line-height: var(--font-display-section-line-height, 48px) !important;
        font-weight: 400 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero-copy p {
        max-width: 560px !important;
        margin: 0 !important;
        color: var(--foreground-base-primary-soft, #665C48) !important;
        font-family: var(--font-body-support-family, "Inter", Arial, sans-serif) !important;
        font-size: var(--font-body-support-size, 14px) !important;
        line-height: var(--font-body-support-line-height, 20px) !important;
        font-weight: 400 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-section {
        background: var(--white-100, #fff) !important;
        padding: 40px 0 72px !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-section > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-section.editable-section > .section-content-wrapper {
        width: min(1128px, calc(100% - 144px)) !important;
        max-width: 1128px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-filters {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 16px !important;
        margin: 0 0 88px !important;
        padding: 0 !important;
        text-align: center !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-filters button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 28px !important;
        margin: 0 !important;
        padding: 6px 18px !important;
        border: 0 !important;
        border-radius: var(--radius-full, 999px) !important;
        background: var(--background-base-brand-soft, #F8F0FC) !important;
        color: var(--foreground-base-brand-mid, #5F3A78) !important;
        font-family: var(--font-action-compact-family, "Inter", Arial, sans-serif) !important;
        font-size: 11px !important;
        line-height: 16px !important;
        font-weight: 700 !important;
        letter-spacing: .02em !important;
        text-transform: uppercase !important;
        box-shadow: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-filters button.active {
        background: var(--background-base-brand-emphasis, #2A0D45) !important;
        color: var(--foreground-base-inverse-strong, #fff) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .editable-rich-text.alc-faq-page-list,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ve-rich-text.alc-faq-page-list {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        color: var(--foreground-base-primary-mid, #484132) !important;
        font-family: var(--font-body-family, "Inter", Arial, sans-serif) !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list details {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-bottom: 1px solid var(--border-base-secondary-soft, #F0EBE1) !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list summary {
        display: block !important;
        width: 100% !important;
        min-height: 54px !important;
        padding: 19px 48px 19px 0 !important;
        list-style: none !important;
        cursor: pointer !important;
        position: relative !important;
        color: var(--foreground-base-primary-strong, #2A2218) !important;
        font-family: var(--font-body-support-family, "Inter", Arial, sans-serif) !important;
        font-size: var(--font-body-support-size, 14px) !important;
        line-height: var(--font-body-support-line-height, 20px) !important;
        font-weight: 700 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        text-transform: none !important;
        white-space: normal !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list summary::-webkit-details-marker {
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list summary::after {
        content: '⌄' !important;
        position: absolute !important;
        top: 50% !important;
        right: 0 !important;
        width: 24px !important;
        height: 24px !important;
        display: inline-grid !important;
        place-items: center !important;
        transform: translateY(-50%) !important;
        border: 1px solid var(--border-base-secondary-soft, #F0EBE1) !important;
        border-radius: var(--radius-full, 999px) !important;
        background: var(--white-100, #fff) !important;
        color: var(--foreground-base-secondary-soft, #84775D) !important;
        font-family: var(--font-body-family, "Inter", Arial, sans-serif) !important;
        font-size: 14px !important;
        line-height: 1 !important;
        text-align: center !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list details[open] summary::after {
        content: '⌃' !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list details p {
        margin: -4px 0 0 !important;
        padding: 0 48px 24px 0 !important;
        border: 0 !important;
        color: var(--foreground-base-secondary-mid, #665C48) !important;
        font-family: var(--font-body-caption-family, "Inter", Arial, sans-serif) !important;
        font-size: var(--font-body-caption-size, 12px) !important;
        line-height: var(--font-body-caption-line-height, 16px) !important;
        font-weight: 400 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-section {
        background: var(--white-100, #fff) !important;
        padding: 0 0 76px !important;
        text-align: center !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-section > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-section.editable-section > .section-content-wrapper {
        width: min(1128px, calc(100% - 144px)) !important;
        max-width: 1128px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-top: 58px !important;
        border-top: 1px solid var(--border-base-secondary-soft, #F0EBE1) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-card {
        max-width: 560px !important;
        margin: 0 auto !important;
        text-align: center !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-icon {
        width: 32px !important;
        height: 32px !important;
        margin: 0 auto 14px !important;
        border: 1px solid var(--border-base-secondary-soft, #F0EBE1) !important;
        border-radius: var(--radius-full, 999px) !important;
        background: var(--white-100, #fff) !important;
        color: var(--foreground-base-secondary-soft, #84775D) !important;
        font-size: 14px !important;
        line-height: 32px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-card h3 {
        margin: 0 0 12px !important;
        color: var(--foreground-base-primary-mid, #484132) !important;
        font-family: var(--font-body-caption-family, "Inter", Arial, sans-serif) !important;
        font-size: 12px !important;
        line-height: 16px !important;
        font-weight: 700 !important;
        letter-spacing: .08em !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-card p {
        max-width: 520px !important;
        margin: 0 auto 24px !important;
        color: var(--foreground-base-secondary-mid, #665C48) !important;
        font-family: var(--font-body-caption-family, "Inter", Arial, sans-serif) !important;
        font-size: 12px !important;
        line-height: 16px !important;
        font-weight: 400 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-actions {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 12px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-actions a {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 36px !important;
        padding: 8px 22px !important;
        border: 1px solid var(--border-base-secondary-mid, #DED9D0) !important;
        border-radius: var(--radius-full, 999px) !important;
        background: var(--white-100, #fff) !important;
        color: var(--foreground-base-primary-strong, #2A2218) !important;
        font-family: var(--font-action-compact-family, "Inter", Arial, sans-serif) !important;
        font-size: 12px !important;
        line-height: 16px !important;
        font-weight: 700 !important;
        letter-spacing: .04em !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences {
        background: var(--background-base-default-mid, #F0EBE1) !important;
        padding: 48px 0 72px !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences.editable-section > .section-content-wrapper {
        width: min(1180px, calc(100% - 144px)) !important;
        max-width: 1180px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-head {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 24px !important;
        margin: 0 0 32px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-head h2 {
        margin: 0 !important;
        color: var(--foreground-base-primary-soft, #665C48) !important;
        font-family: var(--font-display-price-family, "Signika", Inter, Arial, sans-serif) !important;
        font-size: var(--font-display-price-size, 32px) !important;
        line-height: var(--font-display-price-line-height, 40px) !important;
        font-weight: 400 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-head a {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 40px !important;
        padding: 10px 24px !important;
        border: 1px solid var(--border-base-secondary-mid, #DED9D0) !important;
        border-radius: var(--radius-full, 999px) !important;
        background: var(--white-100, #fff) !important;
        color: var(--foreground-base-primary-strong, #2A2218) !important;
        font-family: var(--font-action-compact-family, "Inter", Arial, sans-serif) !important;
        font-size: 12px !important;
        line-height: 16px !important;
        font-weight: 700 !important;
        letter-spacing: .06em !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
        box-shadow: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-cards-grid,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-cards-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 32px !important;
    }
}


/* ─── Fase 40.69: Capa común de roles tipográficos para páginas internas ─────
   El Design System no dibuja una plantilla por sí solo: define tokens.
   Esta capa mapea los roles reales del Figma (page title, section title,
   legal content, FAQ list, help block) a esos tokens para que Legal y FAQs
   sigan el mismo enfoque que Article, sin depender de estilos genéricos legacy.
   Scope: solo tema componentes + FTC foundations. Desktop únicamente salvo
   ajustes seguros de tipografía de rol. */
.visual-layout-page[data-design-system="ftc-foundations"] {
    --ftc-role-page-title-family: var(--font-display-page-family, var(--font-display-family, "Signika"));
    --ftc-role-page-title-size: var(--font-display-page-size, 48px);
    --ftc-role-page-title-line-height: var(--font-display-page-line-height, 56px);
    --ftc-role-page-title-letter-spacing: var(--font-display-page-letter-spacing, 0);

    --ftc-role-section-title-family: var(--font-display-section-family, var(--font-display-family, "Signika"));
    --ftc-role-section-title-size: var(--font-display-section-size, 40px);
    --ftc-role-section-title-line-height: var(--font-display-section-line-height, 48px);
    --ftc-role-section-title-letter-spacing: var(--font-display-section-letter-spacing, 0);

    --ftc-role-body-family: var(--font-body-default-family, var(--font-body-family, "Inter"));
    --ftc-role-body-size: var(--font-body-default-size, 16px);
    --ftc-role-body-line-height: var(--font-body-default-line-height, 24px);

    --ftc-role-support-family: var(--font-body-support-family, var(--font-body-family, "Inter"));
    --ftc-role-support-size: var(--font-body-support-size, 14px);
    --ftc-role-support-line-height: var(--font-body-support-line-height, 20px);

    --ftc-role-caption-family: var(--font-body-caption-family, var(--font-body-family, "Inter"));
    --ftc-role-caption-size: var(--font-body-caption-size, 12px);
    --ftc-role-caption-line-height: var(--font-body-caption-line-height, 16px);

    --ftc-page-bg-soft: var(--background-base-default-soft, #FAF8F3);
    --ftc-page-text: var(--foreground-base-primary-mid, #484132);
    --ftc-page-text-soft: var(--foreground-base-primary-soft, #665C48);
    --ftc-page-text-tertiary: var(--foreground-base-secondary-soft, #84775D);
    --ftc-page-brand: var(--foreground-base-brand-mid, #5F3A78);
    --ftc-page-border: var(--border-base-secondary-soft, #F0EBE1);
}

@media (min-width: 769px) {
    /* LEGAL: page title role del Figma: Signika regular 48/48, brand. */
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-inner-hero,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-hero {
        background: var(--ftc-page-bg-soft) !important;
        padding: 52px 0 72px !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-inner-hero > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-hero > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-inner-hero.editable-section > .section-content-wrapper,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-hero.editable-section > .section-content-wrapper {
        width: min(var(--layout-container-content, 1440px), calc(100% - 144px)) !important;
        max-width: var(--layout-container-content, 1440px) !important;
        margin-inline: auto !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-inner-hero-copy,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-hero-copy,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .editable-rich-text.alc-inner-hero-copy,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .editable-rich-text.alc-legal-hero-copy {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-inner-hero-copy h1,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-hero-copy h1 {
        max-width: 1344px !important;
        margin: 0 0 16px !important;
        color: var(--ftc-page-brand) !important;
        font-family: var(--ftc-role-page-title-family), "Signika", Inter, Arial, sans-serif !important;
        font-size: 48px !important;
        line-height: 48px !important;
        font-weight: 400 !important;
        letter-spacing: var(--ftc-role-page-title-letter-spacing) !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-inner-hero-copy p,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-hero-copy p {
        max-width: 760px !important;
        margin: 0 !important;
        color: var(--ftc-page-text-soft) !important;
        font-family: var(--ftc-role-body-family), "Inter", Arial, sans-serif !important;
        font-size: var(--ftc-role-body-size) !important;
        line-height: var(--ftc-role-body-line-height) !important;
        font-weight: 400 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-body-section {
        background: var(--white-100, #fff) !important;
        padding: 128px 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-body-section > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-body-section.editable-section > .section-content-wrapper {
        width: min(1048px, calc(100% - 144px)) !important;
        max-width: 1048px !important;
        margin-inline: auto !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-layout {
        display: grid !important;
        grid-template-columns: 280px minmax(0, 720px) !important;
        gap: 0 48px !important;
        justify-content: start !important;
        align-items: start !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-index,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .editable-rich-text.alc-legal-index,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .ve-rich-text.alc-legal-index {
        width: 280px !important;
        max-width: 280px !important;
        position: sticky !important;
        top: 88px !important;
        color: var(--ftc-page-brand) !important;
        font-family: var(--ftc-role-caption-family), "Inter", Arial, sans-serif !important;
        font-size: var(--ftc-role-caption-size) !important;
        line-height: var(--ftc-role-caption-line-height) !important;
        font-weight: 700 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-index strong {
        display: block !important;
        margin: 0 0 20px !important;
        color: var(--ftc-page-text-tertiary) !important;
        font-family: var(--ftc-role-support-family), "Inter", Arial, sans-serif !important;
        font-size: var(--ftc-role-support-size) !important;
        line-height: var(--ftc-role-caption-line-height) !important;
        font-weight: 700 !important;
        letter-spacing: .10em !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-index a {
        display: block !important;
        margin: 0 0 20px !important;
        padding: 0 0 0 18px !important;
        border-left: 1px solid var(--ftc-page-border) !important;
        color: var(--ftc-page-brand) !important;
        font-family: var(--ftc-role-caption-family), "Inter", Arial, sans-serif !important;
        font-size: var(--ftc-role-caption-size) !important;
        line-height: var(--ftc-role-caption-line-height) !important;
        font-weight: 700 !important;
        text-align: left !important;
        text-decoration: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .editable-rich-text.alc-legal-content,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .ve-rich-text.alc-legal-content {
        width: 720px !important;
        max-width: 720px !important;
        color: var(--ftc-page-text) !important;
        font-family: var(--ftc-role-body-family), "Inter", Arial, sans-serif !important;
        font-size: var(--ftc-role-body-size) !important;
        line-height: var(--ftc-role-body-line-height) !important;
        font-weight: 400 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content p,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content li {
        margin: 0 0 16px !important;
        color: var(--ftc-page-text) !important;
        font-family: var(--ftc-role-body-family), "Inter", Arial, sans-serif !important;
        font-size: var(--ftc-role-body-size) !important;
        line-height: var(--ftc-role-body-line-height) !important;
        font-weight: 400 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content h2 {
        margin: 32px 0 16px !important;
        color: var(--ftc-page-text-tertiary) !important;
        font-family: var(--font-title-block-family, var(--ftc-role-section-title-family)), "Signika", Inter, Arial, sans-serif !important;
        font-size: var(--font-title-block-size, 24px) !important;
        line-height: var(--font-title-block-line-height, 32px) !important;
        font-weight: 700 !important;
        letter-spacing: var(--font-title-block-letter-spacing, 0) !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content h2:first-of-type {
        margin-top: 0 !important;
    }

    /* FAQs: section title role del Figma: Signika regular 40/48, brand. */
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero {
        background: var(--ftc-page-bg-soft) !important;
        padding: 52px 0 64px !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero.editable-section > .section-content-wrapper {
        width: min(var(--layout-container-content, 1440px), calc(100% - 144px)) !important;
        max-width: var(--layout-container-content, 1440px) !important;
        margin-inline: auto !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero-copy,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .editable-rich-text.alc-inner-hero-copy,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ve-rich-text.alc-inner-hero-copy {
        width: min(720px, 100%) !important;
        max-width: 720px !important;
        margin: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero-copy h1 {
        margin: 0 0 12px !important;
        color: var(--ftc-page-brand) !important;
        font-family: var(--ftc-role-section-title-family), "Signika", Inter, Arial, sans-serif !important;
        font-size: var(--ftc-role-section-title-size) !important;
        line-height: var(--ftc-role-section-title-line-height) !important;
        font-weight: 400 !important;
        letter-spacing: var(--ftc-role-section-title-letter-spacing) !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero-copy p {
        max-width: 560px !important;
        margin: 0 !important;
        color: var(--ftc-page-text-soft) !important;
        font-family: var(--ftc-role-support-family), "Inter", Arial, sans-serif !important;
        font-size: var(--ftc-role-support-size) !important;
        line-height: var(--ftc-role-support-line-height) !important;
        font-weight: 400 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-section {
        background: var(--white-100, #fff) !important;
        padding: 40px 0 72px !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-section > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-section.editable-section > .section-content-wrapper {
        width: min(1128px, calc(100% - 144px)) !important;
        max-width: 1128px !important;
        margin-inline: auto !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-filters {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 16px !important;
        margin: 0 0 88px !important;
        padding: 0 !important;
        text-align: center !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list details {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-bottom: 1px solid var(--ftc-page-border) !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list summary {
        display: block !important;
        width: 100% !important;
        min-height: 54px !important;
        padding: 19px 48px 19px 0 !important;
        list-style: none !important;
        color: var(--foreground-base-primary-strong, #2A2218) !important;
        font-family: var(--ftc-role-support-family), "Inter", Arial, sans-serif !important;
        font-size: var(--ftc-role-support-size) !important;
        line-height: var(--ftc-role-support-line-height) !important;
        font-weight: 700 !important;
        text-align: left !important;
        white-space: normal !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list details p {
        margin: -4px 0 0 !important;
        padding: 0 48px 24px 0 !important;
        border: 0 !important;
        color: var(--ftc-page-text-soft) !important;
        font-family: var(--ftc-role-caption-family), "Inter", Arial, sans-serif !important;
        font-size: var(--ftc-role-caption-size) !important;
        line-height: var(--ftc-role-caption-line-height) !important;
        font-weight: 400 !important;
        text-align: left !important;
    }
}

/* ─── Fase 40.70: Article Detail final sync Figma ───────────────────────────
   El DS aporta tokens; aquí se mapean los roles concretos del artículo Figma.
   Scope: solo page=article para no tocar Home, Legal ni FAQs completas. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] {
    --article-figma-brand: var(--foreground-base-brand-mid, #5F3A78);
    --article-figma-text: var(--foreground-base-primary-mid, #484132);
    --article-figma-text-soft: var(--foreground-base-primary-soft, #665C48);
    --article-figma-muted: var(--foreground-base-secondary-soft, #84775D);
    --article-figma-bg-soft: var(--background-base-default-soft, #FAF8F3);
    --article-figma-border: var(--border-base-secondary-soft, #F0EBE1);
    --article-figma-border-strong: var(--border-base-secondary-mid, #DED9D0);
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-article-hero-copy h1,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .editable-rich-text.alc-article-hero-copy h1,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .ve-rich-text.alc-article-hero-copy h1 {
    color: var(--article-figma-brand) !important;
    font-family: var(--font-display-page-family, var(--font-display-family, "Signika")), "Signika", Inter, Arial, sans-serif !important;
    font-weight: 500 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-experiences {
    background: var(--article-figma-bg-soft) !important;
    padding: 56px 0 72px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-experiences > .ve-section-inner,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-experiences.editable-section > .section-content-wrapper {
    width: min(1180px, calc(100% - 144px)) !important;
    max-width: 1180px !important;
    margin-inline: auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-head,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .editable-rich-text.alc-related-head,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .ve-rich-text.alc-related-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 32px !important;
    width: 100% !important;
    margin: 0 0 28px !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-head h2 {
    margin: 0 !important;
    color: var(--article-figma-text-soft) !important;
    font-family: var(--font-display-section-family, var(--font-display-family, "Signika")), "Signika", Inter, Arial, sans-serif !important;
    font-size: 32px !important;
    line-height: 40px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-head h2::after {
    content: "" !important;
    display: block !important;
    width: 44px !important;
    height: 1px !important;
    margin-top: 14px !important;
    background: var(--article-figma-border-strong) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-head a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 196px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 11px 22px !important;
    border: 1px solid var(--article-figma-border-strong) !important;
    border-radius: var(--radius-full, 999px) !important;
    background: var(--white-100, #fff) !important;
    color: var(--foreground-base-primary-strong, #2A2218) !important;
    font-family: var(--font-action-compact-family, var(--font-body-family, "Inter")), "Inter", Arial, sans-serif !important;
    font-size: 11px !important;
    line-height: 16px !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-tour-grid,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-dynamic-tour-grid {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-tour-grid .tour-cards-grid,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-experiences .tour-cards-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 32px !important;
    align-items: stretch !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-experiences .tour-card {
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 100% !important;
    border: 1px solid var(--article-figma-border-strong) !important;
    border-radius: var(--radius-lg, 16px) !important;
    background: var(--white-100, #fff) !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transform: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-experiences .tour-card:hover,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-experiences .tour-card.selected {
    border-color: var(--article-figma-border-strong) !important;
    box-shadow: 0 12px 30px rgba(42, 34, 24, .08) !important;
    transform: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-experiences .tour-card-image {
    position: relative !important;
    height: auto !important;
    aspect-ratio: 374 / 214 !important;
    overflow: hidden !important;
    border-radius: var(--radius-lg, 16px) var(--radius-lg, 16px) 0 0 !important;
    background: var(--article-figma-border) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-experiences .tour-card-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    border-radius: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-experiences .tour-card-badge {
    position: absolute !important;
    left: 14px !important;
    bottom: 10px !important;
    top: auto !important;
    z-index: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    min-height: 24px !important;
    padding: 5px 10px !important;
    border: 0 !important;
    border-radius: var(--radius-full, 999px) !important;
    background: var(--white-100, #fff) !important;
    color: var(--article-figma-text-soft) !important;
    box-shadow: 0 5px 14px rgba(42, 34, 24, .10) !important;
    font-family: var(--font-body-caption-family, var(--font-body-family, "Inter")), "Inter", Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-experiences .tour-card-body {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    gap: 14px !important;
    padding: 22px 20px 20px !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-experiences .tour-card-title {
    margin: 0 !important;
    color: var(--article-figma-text) !important;
    font-family: var(--font-title-card-family, var(--font-display-family, "Signika")), "Signika", Inter, Arial, sans-serif !important;
    font-size: 20px !important;
    line-height: 24px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-experiences .tour-card-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px 12px !important;
    margin: 0 !important;
    color: var(--article-figma-text-soft) !important;
    font-family: var(--font-body-caption-family, var(--font-body-family, "Inter")), "Inter", Arial, sans-serif !important;
    font-size: 11px !important;
    line-height: 16px !important;
    font-weight: 400 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-experiences .tour-card-features {
    display: grid !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
    color: var(--article-figma-text-soft) !important;
    font-family: var(--font-body-caption-family, var(--font-body-family, "Inter")), "Inter", Arial, sans-serif !important;
    font-size: 11px !important;
    line-height: 16px !important;
    font-weight: 400 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-experiences .tour-card-features li {
    padding: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-experiences .tour-card-features li::before {
    content: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-experiences .tour-card-details-link {
    align-self: flex-start !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--article-figma-brand) !important;
    box-shadow: none !important;
    font-family: var(--font-action-compact-family, var(--font-body-family, "Inter")), "Inter", Arial, sans-serif !important;
    font-size: 11px !important;
    line-height: 16px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-experiences .tour-card-footer {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-top: auto !important;
    padding-top: 18px !important;
    border-top: 1px solid var(--article-figma-border-strong) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-experiences .tour-card-price small {
    display: block !important;
    color: var(--article-figma-muted) !important;
    font-family: var(--font-field-title-family, var(--font-body-family, "Inter")), "Inter", Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .28em !important;
    text-transform: uppercase !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-experiences .tour-card-price strong {
    display: block !important;
    color: var(--article-figma-brand) !important;
    font-family: var(--font-display-price-family, var(--font-display-family, "Signika")), "Signika", Inter, Arial, sans-serif !important;
    font-size: 28px !important;
    line-height: 32px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-experiences .tour-card-footer .btn-select-tour {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 96px !important;
    min-height: 32px !important;
    padding: 8px 18px !important;
    border: 0 !important;
    border-radius: var(--radius-full, 999px) !important;
    background: var(--background-action-primary-default, #5F3A78) !important;
    color: var(--foreground-action-primary-default, #fff) !important;
    font-family: var(--font-action-compact-family, var(--font-body-family, "Inter")), "Inter", Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 16px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    box-shadow: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-faq-compact-section {
    background: var(--white-100, #fff) !important;
    padding: 80px 0 96px !important;
    text-align: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-faq-compact-section > .ve-section-inner,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-faq-compact-section.editable-section > .section-content-wrapper {
    width: min(1128px, calc(100% - 144px)) !important;
    max-width: 1128px !important;
    margin-inline: auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-faq-compact-section .alc-section-title,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-faq-compact-section h2.alc-section-title {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    margin: 0 0 44px !important;
    color: var(--article-figma-text-soft) !important;
    font-family: var(--font-title-block-family, var(--font-display-family, "Signika")), "Signika", Inter, Arial, sans-serif !important;
    font-size: 24px !important;
    line-height: 32px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-faq-compact-section .alc-section-title::after {
    content: "" !important;
    display: block !important;
    width: 44px !important;
    height: 1px !important;
    margin: 12px auto 0 !important;
    background: var(--article-figma-border-strong) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-faq-page-list.compact,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .editable-rich-text.alc-faq-page-list.compact,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .ve-rich-text.alc-faq-page-list.compact {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-faq-page-list.compact details {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--article-figma-border-strong) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-faq-page-list.compact details:first-of-type {
    border-top: 1px solid var(--article-figma-border-strong) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-faq-page-list.compact summary {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    min-height: 56px !important;
    padding: 18px 56px 18px 0 !important;
    color: var(--foreground-base-primary-strong, #2A2218) !important;
    font-family: var(--font-body-caption-family, var(--font-body-family, "Inter")), "Inter", Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 16px !important;
    font-weight: 700 !important;
    text-align: left !important;
    list-style: none !important;
    cursor: pointer !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-faq-page-list.compact summary::-webkit-details-marker {
    display: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-faq-page-list.compact summary::after {
    content: "⌄" !important;
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    border: 1px solid var(--article-figma-border-strong) !important;
    border-radius: var(--radius-full, 999px) !important;
    background: var(--white-100, #fff) !important;
    color: var(--article-figma-text-soft) !important;
    font-size: 12px !important;
    line-height: 1 !important;
    transform: translateY(-50%) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-faq-page-list.compact details[open] summary::after {
    transform: translateY(-50%) rotate(180deg) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-faq-page-list.compact details p {
    margin: -4px 0 0 !important;
    padding: 0 56px 20px 0 !important;
    border: 0 !important;
    color: var(--article-figma-text-soft) !important;
    font-family: var(--font-body-caption-family, var(--font-body-family, "Inter")), "Inter", Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 18px !important;
    font-weight: 400 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-faq-page-list.compact .alc-more-faqs {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: max-content !important;
    min-height: 40px !important;
    margin: 48px auto 0 !important;
    padding: 11px 24px !important;
    border: 1px solid var(--article-figma-border-strong) !important;
    border-radius: var(--radius-full, 999px) !important;
    background: var(--white-100, #fff) !important;
    color: var(--foreground-base-primary-strong, #2A2218) !important;
    font-family: var(--font-action-compact-family, var(--font-body-family, "Inter")), "Inter", Arial, sans-serif !important;
    font-size: 11px !important;
    line-height: 16px !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    text-align: center !important;
}

@media (max-width: 1024px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-experiences > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-experiences.editable-section > .section-content-wrapper,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-faq-compact-section > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-faq-compact-section.editable-section > .section-content-wrapper {
        width: min(720px, calc(100% - 48px)) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-tour-grid .tour-cards-grid,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-experiences .tour-cards-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-article-hero-copy h1 {
        color: var(--article-figma-brand) !important;
        font-size: var(--font-display-page-size, 32px) !important;
        line-height: var(--font-display-page-line-height, 40px) !important;
        font-weight: 500 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-experiences {
        padding: 48px 0 56px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-head {
        flex-direction: row !important;
        align-items: flex-start !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-head h2 {
        font-size: 28px !important;
        line-height: 36px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-head a {
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-tour-grid .tour-cards-grid,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-experiences .tour-cards-grid {
        display: flex !important;
        overflow-x: auto !important;
        gap: 24px !important;
        scroll-snap-type: x mandatory !important;
        padding-bottom: 4px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-related-experiences .tour-card {
        flex: 0 0 min(330px, 82vw) !important;
        scroll-snap-align: start !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .alc-faq-compact-section {
        padding: 56px 0 72px !important;
    }
}


/* ─── Fase 40.71: Header desktop sync con Figma.
   Solo afecta a desktop. Mobile conserva los ajustes específicos ya aplicados.
   El PDF del header define una barra de 96px aprox., textos en mayúsculas
   y navegación compacta sobre un contenedor centrado de 1440px. */
@media (min-width: 769px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header {
        height: 96px !important;
        min-height: 96px !important;
        padding: 0 !important;
        background: var(--white-100, #fff) !important;
        border: 0 !important;
        display: flex !important;
        align-items: center !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__inner {
        width: min(var(--layout-container-content, 1440px), calc(100% - 160px)) !important;
        max-width: var(--layout-container-content, 1440px) !important;
        min-height: 96px !important;
        margin: 0 auto !important;
        display: grid !important;
        grid-template-columns: 175px minmax(420px, 1fr) auto !important;
        align-items: center !important;
        gap: 56px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__logo img {
        width: 175px !important;
        height: auto !important;
        display: block !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__nav {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 72px !important;
        min-width: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__actions {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 24px !important;
        min-width: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__nav a,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__actions a,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__select .select-selected {
        color: var(--foreground-base-brand-mid, var(--ftc-brand-primary, #5F3A78)) !important;
        font-family: var(--font-action-nav-family, var(--font-body-family, Inter)), Inter, Arial, sans-serif !important;
        font-size: var(--font-action-nav-size, 12px) !important;
        line-height: var(--font-action-nav-line-height, 16px) !important;
        font-weight: 700 !important;
        letter-spacing: .04em !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__nav a span {
        margin-left: 8px !important;
        font-size: 12px !important;
        line-height: 1 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__select .select-selected {
        gap: 6px !important;
        padding: 0 18px 0 0 !important;
        min-height: 18px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__select .select-selected::after {
        right: 0 !important;
        font-size: 12px !important;
        color: var(--foreground-base-brand-mid, var(--ftc-brand-primary, #5F3A78)) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__icon {
        width: 14px !important;
        height: 14px !important;
        flex-basis: 14px !important;
        background: currentColor !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__divider {
        width: 1px !important;
        height: 16px !important;
        margin: 0 4px !important;
        background: var(--border-base-secondary-mid, #DED7CA) !important;
    }
}

/* =========================================================
   Fase 40.73b - Página detalle de experiencia por componentes
   ========================================================= */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] {
    background: var(--white-100);
    color: var(--foreground-base-primary, #484132);
    font-family: var(--font-body-family, Inter, Arial, sans-serif);
}

.visual-layout-page[data-page-key="experience"] .alc-exp-hero,
.visual-layout-page[data-page-key="experience"] .alc-exp-tabs-section,
.visual-layout-page[data-page-key="experience"] .alc-exp-detail-section,
.visual-layout-page[data-page-key="experience"] .alc-exp-faqs {
    overflow: visible;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-hero > .ve-section-inner,
.editor-mode .visual-layout-page[data-page-key="experience"] .alc-exp-hero.editable-section > .section-content-wrapper,
.visual-layout-page[data-page-key="experience"] .alc-exp-tabs-section > .ve-section-inner,
.editor-mode .visual-layout-page[data-page-key="experience"] .alc-exp-tabs-section.editable-section > .section-content-wrapper,
.visual-layout-page[data-page-key="experience"] .alc-exp-detail-section > .ve-section-inner,
.editor-mode .visual-layout-page[data-page-key="experience"] .alc-exp-detail-section.editable-section > .section-content-wrapper {
    width: min(var(--layout-container-content), calc(100% - (var(--layout-section-x-spacing) * 2)));
    margin-inline: auto;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-hero-grid {
    align-items: center;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-hero-copy {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-self: end;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-title {
    max-width: 720px;
    margin: 0;
    color: var(--foreground-base-brand, #5F3A78);
    font-family: var(--font-display-family, Signika, Inter, Arial, sans-serif);
    font-size: clamp(42px, 4.8vw, 72px);
    line-height: .94;
    font-weight: 600;
    letter-spacing: -0.02em;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-lead p {
    max-width: 650px;
    margin: 0;
    color: var(--foreground-base-primary, #484132);
    font: 400 18px/1.55 var(--font-body-family, Inter, Arial, sans-serif);
}

.visual-layout-page[data-page-key="experience"] .alc-exp-stats {
    max-width: 690px;
    border-top: 1px solid var(--border-base-default, rgba(72,65,50,.16));
    border-bottom: 1px solid var(--border-base-default, rgba(72,65,50,.16));
    margin-top: 14px;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-stat {
    padding: 18px 28px 18px 0;
    border-right: 1px solid var(--border-base-default, rgba(72,65,50,.16));
}
.visual-layout-page[data-page-key="experience"] .alc-exp-stat:last-child { border-right: 0; padding-left: 28px; }
.visual-layout-page[data-page-key="experience"] .alc-exp-stat small {
    display: block;
    color: var(--foreground-base-tertiary, #84775D);
    font: 700 12px/1.15 var(--font-body-family, Inter, Arial, sans-serif);
    text-transform: uppercase;
    letter-spacing: .28em;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-stat strong {
    display: block;
    margin-top: 8px;
    color: var(--foreground-base-brand, #5F3A78);
    font-family: var(--font-display-family, Signika, Inter, Arial, sans-serif);
    font-size: 24px;
    line-height: 1;
    font-weight: 700;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-stat--duration {
    display: none !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-gallery__grid {
    display: grid;
    grid-template-columns: 1.28fr 1fr;
    grid-template-rows: repeat(2, minmax(0, 190px));
    gap: 14px;
    width: min(520px, 100%);
    margin-left: auto;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-gallery img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 14px;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-gallery__main {
    grid-row: 1 / span 2;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-gallery__tile {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 14px;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-gallery__tile::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(34, 16, 45, .26);
}
.visual-layout-page[data-page-key="experience"] .alc-exp-gallery__tile b {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 7px 12px;
    border-radius: 999px;
    background: var(--foreground-base-brand, #5F3A78);
    color: #fff;
    font: 700 12px/1 var(--font-body-family, Inter, Arial, sans-serif);
}

.visual-layout-page[data-page-key="experience"] .alc-exp-tabs-section {
    border-top: 1px solid var(--border-base-default, rgba(72,65,50,.15));
    border-bottom: 1px solid var(--border-base-default, rgba(72,65,50,.15));
}
.visual-layout-page[data-page-key="experience"] .alc-exp-tabs {
    display: flex;
    align-items: center;
    gap: 54px;
    min-height: 68px;
    overflow-x: auto;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-tabs a {
    position: relative;
    color: var(--foreground-base-tertiary, #84775D);
    text-decoration: none;
    font: 700 12px/1 var(--font-body-family, Inter, Arial, sans-serif);
    text-transform: uppercase;
    letter-spacing: .18em;
    white-space: nowrap;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-tabs a.active {
    color: var(--foreground-base-brand, #5F3A78);
}
.visual-layout-page[data-page-key="experience"] .alc-exp-tabs a.active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -26px;
    height: 3px;
    border-radius: 999px;
    background: var(--foreground-base-brand, #5F3A78);
}

.visual-layout-page[data-page-key="experience"] .alc-exp-detail-grid {
    align-items: start;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-main-content {
    display: grid;
    gap: 64px;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-main-content h2,
.visual-layout-page[data-page-key="experience"] .alc-exp-section-title,
.visual-layout-page[data-page-key="experience"] .alc-exp-cancellation h2 {
    margin: 0 0 24px;
    color: var(--foreground-base-primary, #484132);
    font-family: var(--font-display-family, Signika, Inter, Arial, sans-serif);
    font-size: 30px;
    line-height: 1.12;
    font-weight: 600;
    letter-spacing: -0.01em;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-main-content h2::after,
.visual-layout-page[data-page-key="experience"] .alc-exp-section-title::after,
.visual-layout-page[data-page-key="experience"] .alc-exp-cancellation h2::after {
    content: "";
    display: block;
    width: 58px;
    height: 1px;
    margin-top: 16px;
    background: var(--foreground-base-tertiary, #84775D);
}
.visual-layout-page[data-page-key="experience"] .alc-exp-main-content p,
.visual-layout-page[data-page-key="experience"] .alc-exp-main-content li,
.visual-layout-page[data-page-key="experience"] .alc-exp-cancellation p,
.visual-layout-page[data-page-key="experience"] .alc-exp-faq-list p {
    color: var(--foreground-base-primary, #484132);
    font: 400 16px/1.65 var(--font-body-family, Inter, Arial, sans-serif);
}
.visual-layout-page[data-page-key="experience"] .alc-exp-main-content p { margin: 0 0 18px; }
.visual-layout-page[data-page-key="experience"] .alc-exp-about-split {
    display: grid;
    grid-template-columns: 1fr 330px;
    gap: 34px;
    align-items: center;
    margin-top: 28px;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-about-split img {
    width: 100%;
    border-radius: 14px;
    object-fit: cover;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-about-split ul,
.visual-layout-page[data-page-key="experience"] .alc-exp-includes ul,
.visual-layout-page[data-page-key="experience"] .alc-exp-know ul,
.visual-layout-page[data-page-key="experience"] .alc-exp-important ul {
    list-style: none;
    padding: 0;
    margin: 22px 0 0;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-about-split li,
.visual-layout-page[data-page-key="experience"] .alc-exp-includes li,
.visual-layout-page[data-page-key="experience"] .alc-exp-know li,
.visual-layout-page[data-page-key="experience"] .alc-exp-important li {
    position: relative;
    padding-left: 22px;
    margin: 10px 0;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-about-split li::before,
.visual-layout-page[data-page-key="experience"] .alc-exp-includes li::before,
.visual-layout-page[data-page-key="experience"] .alc-exp-know li::before,
.visual-layout-page[data-page-key="experience"] .alc-exp-important li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--foreground-base-brand, #5F3A78);
    font-weight: 800;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-includes-grid,
.visual-layout-page[data-page-key="experience"] .alc-exp-location-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-includes-grid h3,
.visual-layout-page[data-page-key="experience"] .alc-exp-location-grid h3,
.visual-layout-page[data-page-key="experience"] .alc-exp-important h3 {
    margin: 0 0 14px;
    color: var(--foreground-base-primary-strong, #22102D);
    font: 700 13px/1.1 var(--font-body-family, Inter, Arial, sans-serif);
    text-transform: uppercase;
    letter-spacing: .18em;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-includes-grid > div + div,
.visual-layout-page[data-page-key="experience"] .alc-exp-location-grid > div + div {
    border-left: 1px solid var(--border-base-default, rgba(72,65,50,.16));
    padding-left: 36px;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-digital {
    margin-inline: calc(var(--layout-section-x-spacing) * -0.25);
    padding: 46px 54px;
    border-radius: 10px;
    background: var(--background-base-brand-emphasis, #22102D);
    color: #fff;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-digital h2,
.visual-layout-page[data-page-key="experience"] .alc-exp-digital p,
.visual-layout-page[data-page-key="experience"] .alc-exp-digital strong,
.visual-layout-page[data-page-key="experience"] .alc-exp-digital span {
    color: #fff;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-digital-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px 54px;
    margin-top: 32px;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-digital-grid div {
    display: grid;
    gap: 8px;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-digital-grid strong {
    font: 700 15px/1.2 var(--font-body-family, Inter, Arial, sans-serif);
}
.visual-layout-page[data-page-key="experience"] .alc-exp-digital-grid span {
    opacity: .82;
    font: 400 14px/1.5 var(--font-body-family, Inter, Arial, sans-serif);
}
.visual-layout-page[data-page-key="experience"] .alc-exp-lang-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-lang-list span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 8px 18px;
    border: 1px solid var(--border-base-default, rgba(72,65,50,.14));
    border-radius: 6px;
    background: #fff;
    font: 600 13px/1 var(--font-body-family, Inter, Arial, sans-serif);
}
.visual-layout-page[data-page-key="experience"] .alc-exp-map {
    width: 100%;
    height: 175px;
    display: block;
    object-fit: cover;
    border-radius: 6px;
    margin-bottom: 24px;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-know {
    margin-top: 28px;
    padding: 26px 32px;
    border-radius: 10px;
    background: var(--background-base-default-soft, #F0EBE1);
}
.visual-layout-page[data-page-key="experience"] .alc-exp-know ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 30px;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-sidebar {
    position: sticky;
    top: 118px;
    align-self: start;
    display: grid;
    gap: 14px;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-head {
    border-radius: 12px 12px 0 0;
    padding: 18px 22px;
    background: var(--foreground-base-brand, #5F3A78);
    color: #fff;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-head small {
    display: block;
    opacity: .82;
    font: 700 11px/1 var(--font-body-family, Inter, Arial, sans-serif);
    text-transform: uppercase;
    letter-spacing: .18em;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-head strong {
    display: block;
    margin-top: 6px;
    font: 700 24px/1 var(--font-display-family, Signika, Inter, Arial, sans-serif);
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-form {
    margin: -14px 0 0 !important;
    padding: 0 !important;
    background: #fff;
    border: 1px solid var(--border-base-default, rgba(72,65,50,.16));
    border-top: 0;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 18px 44px rgba(34, 16, 45, .12);
    overflow: hidden;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-form .haz_tu_reserva,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-form #form_reserva,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-form .booking-form-container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-form .booking-form-row {
    display: block !important;
    margin: 0 !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-form .booking-form-left,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-form .booking-form-right {
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
    padding: 18px 22px !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-form .booking-form-right {
    border-top: 1px solid var(--border-base-default, rgba(72,65,50,.12));
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-form .alc-hidden-tour-radios,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-form #client_form_container,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-form .completar .terminos {
    display: none !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-form .titulo_formulario {
    margin: 0 0 10px !important;
    color: var(--foreground-base-primary-strong, #22102D) !important;
    font: 700 13px/1.2 var(--font-body-family, Inter, Arial, sans-serif) !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-form #datepicker,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-form .ui-datepicker {
    max-width: 100%;
    width: 100%;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-form #payment_button_container button,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-form #payment_button_container a,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-form .payment_button,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-form .btn_pago {
    width: 100% !important;
    border-radius: 999px !important;
    background: var(--foreground-base-brand, #5F3A78) !important;
    color: #fff !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-important {
    padding: 18px 20px;
    border: 1px solid var(--border-base-default, rgba(72,65,50,.14));
    border-radius: 12px;
    background: #fff;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-important li {
    font-size: 13px;
    line-height: 1.45;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-offer {
    background: var(--background-base-support-emphasis, #00394A) !important;
    color: #fff;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-offer > .ve-section-inner,
.editor-mode .visual-layout-page[data-page-key="experience"] .alc-exp-offer.editable-section > .section-content-wrapper,
.visual-layout-page[data-page-key="experience"] .alc-exp-cancellation > .ve-section-inner,
.editor-mode .visual-layout-page[data-page-key="experience"] .alc-exp-cancellation.editable-section > .section-content-wrapper,
.visual-layout-page[data-page-key="experience"] .alc-exp-faqs > .ve-section-inner,
.editor-mode .visual-layout-page[data-page-key="experience"] .alc-exp-faqs.editable-section > .section-content-wrapper {
    width: min(calc(var(--layout-container-content) - 260px), calc(100% - (var(--layout-section-x-spacing) * 2)));
    margin-inline: auto;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-offer .alc-exp-section-title,
.visual-layout-page[data-page-key="experience"] .alc-exp-offer .alc-exp-section-title::after,
.visual-layout-page[data-page-key="experience"] .alc-exp-offer strong,
.visual-layout-page[data-page-key="experience"] .alc-exp-offer p {
    color: #fff;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-offer-grid {
    margin-top: 34px;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-offer-item strong {
    display: block;
    margin-bottom: 12px;
    font: 700 16px/1.25 var(--font-body-family, Inter, Arial, sans-serif);
}
.visual-layout-page[data-page-key="experience"] .alc-exp-offer-item p {
    margin: 0;
    opacity: .82;
    font: 400 14px/1.5 var(--font-body-family, Inter, Arial, sans-serif);
}
.visual-layout-page[data-page-key="experience"] .alc-exp-cancellation {
    background: var(--background-base-default-soft, #F0EBE1) !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-cancellation-copy {
    max-width: 940px;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-faq-list {
    max-width: 850px;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-faq-list details {
    border-top: 1px solid var(--border-base-default, rgba(72,65,50,.16));
    padding: 18px 0;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-faq-list details:last-of-type {
    border-bottom: 1px solid var(--border-base-default, rgba(72,65,50,.16));
}
.visual-layout-page[data-page-key="experience"] .alc-exp-faq-list summary {
    cursor: pointer;
    color: var(--foreground-base-primary-strong, #22102D);
    font: 700 16px/1.4 var(--font-body-family, Inter, Arial, sans-serif);
    list-style: none;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-faq-list summary::-webkit-details-marker { display: none; }
.visual-layout-page[data-page-key="experience"] .alc-exp-faq-list summary::after {
    content: "⌄";
    float: right;
    color: var(--foreground-base-tertiary, #84775D);
}
.visual-layout-page[data-page-key="experience"] .alc-exp-faq-list details[open] summary::after { content: "⌃"; }
.visual-layout-page[data-page-key="experience"] .alc-exp-more-faqs a {
    display: inline-flex;
    margin-top: 18px;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    border: 1px solid var(--border-base-default, rgba(72,65,50,.22));
    border-radius: 4px;
    color: var(--foreground-base-primary-strong, #22102D);
    text-decoration: none;
    font: 700 12px/1 var(--font-body-family, Inter, Arial, sans-serif);
    text-transform: uppercase;
    letter-spacing: .08em;
}

@media (max-width: 1100px) {
    .visual-layout-page[data-page-key="experience"] .alc-exp-hero-grid,
    .visual-layout-page[data-page-key="experience"] .alc-exp-detail-grid {
        grid-template-columns: 1fr !important;
    }
    .visual-layout-page[data-page-key="experience"] .alc-exp-gallery__grid {
        margin-left: 0;
    }
    .visual-layout-page[data-page-key="experience"] .alc-exp-sidebar {
        position: static;
    }
}

@media (max-width: 680px) {
    .visual-layout-page[data-page-key="experience"] .alc-exp-hero > .ve-section-inner,
    .visual-layout-page[data-page-key="experience"] .alc-exp-tabs-section > .ve-section-inner,
    .visual-layout-page[data-page-key="experience"] .alc-exp-detail-section > .ve-section-inner,
    .visual-layout-page[data-page-key="experience"] .alc-exp-offer > .ve-section-inner,
    .visual-layout-page[data-page-key="experience"] .alc-exp-cancellation > .ve-section-inner,
    .visual-layout-page[data-page-key="experience"] .alc-exp-faqs > .ve-section-inner {
        width: min(100% - 48px, 430px);
    }
    .visual-layout-page[data-page-key="experience"] .alc-exp-title {
        font-size: 42px;
        line-height: .96;
    }
    .visual-layout-page[data-page-key="experience"] .alc-exp-gallery__grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 180px 150px;
    }
    .visual-layout-page[data-page-key="experience"] .alc-exp-gallery__main {
        grid-column: 1 / span 2;
        grid-row: auto;
    }
    .visual-layout-page[data-page-key="experience"] .alc-exp-stats {
        grid-template-columns: 1fr !important;
    }
    .visual-layout-page[data-page-key="experience"] .alc-exp-stat,
    .visual-layout-page[data-page-key="experience"] .alc-exp-stat:last-child {
        border-right: 0;
        border-bottom: 1px solid var(--border-base-default, rgba(72,65,50,.16));
        padding: 16px 0;
    }
    .visual-layout-page[data-page-key="experience"] .alc-exp-stat:last-child { border-bottom: 0; }
    .visual-layout-page[data-page-key="experience"] .alc-exp-about-split,
    .visual-layout-page[data-page-key="experience"] .alc-exp-includes-grid,
    .visual-layout-page[data-page-key="experience"] .alc-exp-location-grid,
    .visual-layout-page[data-page-key="experience"] .alc-exp-digital-grid,
    .visual-layout-page[data-page-key="experience"] .alc-exp-know ul,
    .visual-layout-page[data-page-key="experience"] .alc-exp-offer-grid {
        grid-template-columns: 1fr !important;
    }
    .visual-layout-page[data-page-key="experience"] .alc-exp-includes-grid > div + div,
    .visual-layout-page[data-page-key="experience"] .alc-exp-location-grid > div + div {
        border-left: 0;
        padding-left: 0;
        border-top: 1px solid var(--border-base-default, rgba(72,65,50,.16));
        padding-top: 24px;
    }
    .visual-layout-page[data-page-key="experience"] .alc-exp-digital {
        margin-inline: 0;
        padding: 36px 28px;
    }
}

/* =========================================================
   Fase 40.74 - Experience detail: lower blocks synced to Figma
   Scope: only page=experience. Keeps the componentized layout and uses DS tokens.
   ========================================================= */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] {
    --alc-exp-content-width: min(calc(var(--layout-container-content, 1440px) - 260px), calc(100% - (var(--layout-section-x-spacing, 72px) * 2)));
    --alc-exp-ink: var(--foreground-base-primary, #484132);
    --alc-exp-muted: var(--foreground-base-tertiary, #84775D);
    --alc-exp-line: var(--border-base-secondary-mid, #DED7CA);
    --alc-exp-soft: var(--background-base-default-soft, #F0EBE1);
    --alc-exp-navy: var(--background-base-support-emphasis, #07384A);
    --alc-exp-gold: var(--accent-500, #F0930A);
}

/* Debes saber que... */
.visual-layout-page[data-page-key="experience"] .alc-exp-know {
    margin: 34px 0 0 !important;
    padding: 34px 42px 38px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: var(--alc-exp-soft, #F0EBE1) !important;
    color: var(--alc-exp-ink, #484132) !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-know h3 {
    margin: 0 0 28px !important;
    color: var(--alc-exp-muted, #84775D) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
    text-align: left !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-know ul {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    column-gap: 74px !important;
    row-gap: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-know li {
    position: relative !important;
    margin: 0 !important;
    padding: 0 0 0 34px !important;
    color: var(--alc-exp-ink, #484132) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
    text-align: left !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-know li::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: .72em !important;
    width: 16px !important;
    height: 1px !important;
    background: var(--alc-exp-muted, #84775D) !important;
    color: transparent !important;
}

/* Shared lower section container widths */
.visual-layout-page[data-page-key="experience"] .alc-exp-offer,
.visual-layout-page[data-page-key="experience"] .alc-exp-cancellation,
.visual-layout-page[data-page-key="experience"] .alc-exp-faqs {
    background: transparent !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-offer > .ve-section-inner,
.editor-mode .visual-layout-page[data-page-key="experience"] .alc-exp-offer.editable-section > .section-content-wrapper,
.visual-layout-page[data-page-key="experience"] .alc-exp-cancellation > .ve-section-inner,
.editor-mode .visual-layout-page[data-page-key="experience"] .alc-exp-cancellation.editable-section > .section-content-wrapper,
.visual-layout-page[data-page-key="experience"] .alc-exp-faqs > .ve-section-inner,
.editor-mode .visual-layout-page[data-page-key="experience"] .alc-exp-faqs.editable-section > .section-content-wrapper {
    width: var(--alc-exp-content-width) !important;
    margin-inline: auto !important;
}

/* Qué te ofrecemos */
.visual-layout-page[data-page-key="experience"] .alc-exp-offer {
    padding: 70px 0 0 !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-offer > .ve-section-inner,
.editor-mode .visual-layout-page[data-page-key="experience"] .alc-exp-offer.editable-section > .section-content-wrapper {
    box-sizing: border-box !important;
    padding: 58px 54px 52px !important;
    border-radius: 12px 12px 0 0 !important;
    background: var(--alc-exp-navy, #07384A) !important;
    color: #fff !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-offer .alc-exp-section-title {
    max-width: none !important;
    margin: 0 !important;
    color: #fff !important;
    font-family: var(--font-display-family, Signika, Inter, Arial, sans-serif) !important;
    font-size: 34px !important;
    line-height: 1.12 !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    text-align: left !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-offer .alc-exp-section-title::after {
    content: "" !important;
    display: block !important;
    width: 58px !important;
    height: 1px !important;
    margin: 18px 0 0 !important;
    background: #fff !important;
    opacity: .95 !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-offer-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    margin-top: 58px !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-offer-item {
    position: relative !important;
    min-height: 132px !important;
    padding: 0 28px 0 0 !important;
    text-align: left !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-offer-item + .alc-exp-offer-item {
    padding-left: 34px !important;
    border-left: 1px solid rgba(255,255,255,.16) !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-offer-item::before {
    content: "" !important;
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 0 18px !important;
    background-color: var(--alc-exp-gold, #F0930A) !important;
    -webkit-mask: var(--alc-exp-offer-icon) center / 22px 22px no-repeat;
    mask: var(--alc-exp-offer-icon) center / 22px 22px no-repeat;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-offer-item:nth-child(1) { --alc-exp-offer-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 18v-6a9 9 0 0 1 18 0v6'/%3E%3Cpath d='M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3z'/%3E%3Cpath d='M3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z'/%3E%3C/svg%3E"); }
.visual-layout-page[data-page-key="experience"] .alc-exp-offer-item:nth-child(2) { --alc-exp-offer-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='m21 15-5-5L5 21'/%3E%3C/svg%3E"); }
.visual-layout-page[data-page-key="experience"] .alc-exp-offer-item:nth-child(3) { --alc-exp-offer-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9a3 3 0 0 0 0 6v3a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3a3 3 0 0 0 0-6V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2z'/%3E%3Cpath d='M13 5v14'/%3E%3C/svg%3E"); }
.visual-layout-page[data-page-key="experience"] .alc-exp-offer-item:nth-child(4) { --alc-exp-offer-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Crect x='8' y='2' width='8' height='4' rx='1'/%3E%3Cpath d='m9 14 2 2 4-4'/%3E%3C/svg%3E"); }
/* Fase 40.95: iconos específicos del bloque Qué te ofrecemos.
   Se usan clases, no :nth-child, porque en el editor los componentes pueden renderizarse envueltos
   y todos acababan tomando el primer icono. */
.visual-layout-page[data-page-key="experience"] .alc-exp-offer-item::before {
    background-color: transparent !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 22px 22px !important;
    -webkit-mask: none !important;
    mask: none !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-offer-item--pace::before { background-image: url('/styles/componentes/assets/alcazar/offer/headphones.svg?v=20260813') !important; }
.visual-layout-page[data-page-key="experience"] .alc-exp-offer-item--content::before { background-image: url('/styles/componentes/assets/alcazar/offer/image.svg?v=20260813') !important; }
.visual-layout-page[data-page-key="experience"] .alc-exp-offer-item--access::before { background-image: url('/styles/componentes/assets/alcazar/offer/ticket.svg?v=20260813') !important; }
.visual-layout-page[data-page-key="experience"] .alc-exp-offer-item--ready::before { background-image: url('/styles/componentes/assets/alcazar/offer/checklist.svg?v=20260813') !important; }
.visual-layout-page[data-page-key="experience"] .alc-exp-offer-grid > :nth-child(1) .alc-exp-offer-item:not(.alc-exp-offer-item--content):not(.alc-exp-offer-item--access):not(.alc-exp-offer-item--ready)::before,
.visual-layout-page[data-page-key="experience"] .alc-exp-offer-grid > .alc-exp-offer-item:nth-child(1)::before { background-image: url('/styles/componentes/assets/alcazar/offer/headphones.svg?v=20260813') !important; }
.visual-layout-page[data-page-key="experience"] .alc-exp-offer-grid > :nth-child(2) .alc-exp-offer-item::before,
.visual-layout-page[data-page-key="experience"] .alc-exp-offer-grid > .alc-exp-offer-item:nth-child(2)::before { background-image: url('/styles/componentes/assets/alcazar/offer/image.svg?v=20260813') !important; }
.visual-layout-page[data-page-key="experience"] .alc-exp-offer-grid > :nth-child(3) .alc-exp-offer-item::before,
.visual-layout-page[data-page-key="experience"] .alc-exp-offer-grid > .alc-exp-offer-item:nth-child(3)::before { background-image: url('/styles/componentes/assets/alcazar/offer/ticket.svg?v=20260813') !important; }
.visual-layout-page[data-page-key="experience"] .alc-exp-offer-grid > :nth-child(4) .alc-exp-offer-item::before,
.visual-layout-page[data-page-key="experience"] .alc-exp-offer-grid > .alc-exp-offer-item:nth-child(4)::before { background-image: url('/styles/componentes/assets/alcazar/offer/checklist.svg?v=20260813') !important; }


.visual-layout-page[data-page-key="experience"] .alc-exp-offer-item strong {
    display: block !important;
    margin: 0 0 16px !important;
    color: #fff !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    text-align: left !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-offer-item p {
    max-width: 190px !important;
    margin: 0 !important;
    color: rgba(255,255,255,.78) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    font-weight: 400 !important;
    text-align: left !important;
}

/* Política de cancelación */
.visual-layout-page[data-page-key="experience"] .alc-exp-cancellation {
    padding: 0 !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-cancellation > .ve-section-inner,
.editor-mode .visual-layout-page[data-page-key="experience"] .alc-exp-cancellation.editable-section > .section-content-wrapper {
    box-sizing: border-box !important;
    padding: 58px 54px 64px !important;
    border-radius: 0 0 12px 12px !important;
    background: var(--alc-exp-soft, #F0EBE1) !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-cancellation-copy {
    max-width: none !important;
    text-align: left !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-cancellation-copy h2,
.visual-layout-page[data-page-key="experience"] .alc-exp-cancellation h2 {
    margin: 0 0 42px !important;
    color: var(--alc-exp-ink, #484132) !important;
    font-family: var(--font-display-family, Signika, Inter, Arial, sans-serif) !important;
    font-size: 30px !important;
    line-height: 1.12 !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    text-align: left !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-cancellation-copy h2::after,
.visual-layout-page[data-page-key="experience"] .alc-exp-cancellation h2::after {
    content: "" !important;
    display: block !important;
    width: 58px !important;
    height: 1px !important;
    margin: 18px 0 0 !important;
    background: var(--alc-exp-muted, #84775D) !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-cancellation-copy p,
.visual-layout-page[data-page-key="experience"] .alc-exp-cancellation p {
    max-width: 960px !important;
    margin: 0 0 18px !important;
    color: var(--alc-exp-ink, #484132) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
    font-weight: 400 !important;
    text-align: left !important;
}

/* Preguntas frecuentes */
.visual-layout-page[data-page-key="experience"] .alc-exp-faqs {
    padding: 86px 0 104px !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-faqs > .ve-section-inner,
.editor-mode .visual-layout-page[data-page-key="experience"] .alc-exp-faqs.editable-section > .section-content-wrapper {
    box-sizing: border-box !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-faqs .alc-exp-section-title {
    margin: 0 0 48px !important;
    color: var(--alc-exp-ink, #484132) !important;
    font-family: var(--font-display-family, Signika, Inter, Arial, sans-serif) !important;
    font-size: 30px !important;
    line-height: 1.12 !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    text-align: left !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-faqs .alc-exp-section-title::after {
    content: "" !important;
    display: block !important;
    width: 58px !important;
    height: 1px !important;
    margin: 18px 0 0 !important;
    background: var(--alc-exp-muted, #84775D) !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-faq-list {
    max-width: none !important;
    text-align: left !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-faq-list details {
    position: relative !important;
    border: 0 !important;
    border-top: 1px solid var(--alc-exp-line, #DED7CA) !important;
    padding: 0 !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-faq-list details:last-of-type {
    border-bottom: 1px solid var(--alc-exp-line, #DED7CA) !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-faq-list summary {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    min-height: 78px !important;
    padding: 0 0 !important;
    color: var(--alc-exp-ink, #484132) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    text-align: left !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-faq-list summary::after {
    content: "⌄" !important;
    float: none !important;
    flex: 0 0 auto !important;
    width: 36px !important;
    height: 36px !important;
    border: 1px solid var(--alc-exp-line, #DED7CA) !important;
    border-radius: 999px !important;
    display: inline-grid !important;
    place-items: center !important;
    color: var(--alc-exp-muted, #84775D) !important;
    background: var(--white-100, #fff) !important;
    font-size: 18px !important;
    line-height: 1 !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-faq-list details[open] summary::after {
    content: "⌃" !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-faq-list details p {
    max-width: 780px !important;
    margin: -8px 0 30px !important;
    color: var(--foreground-base-secondary-strong, #665C48) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
    text-align: left !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-more-faqs {
    margin: 42px 0 0 !important;
    text-align: left !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-more-faqs a {
    display: inline-flex !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 28px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--alc-exp-line, #DED7CA) !important;
    border-radius: 0 !important;
    background: var(--white-100, #fff) !important;
    color: var(--alc-exp-ink, #484132) !important;
    text-decoration: none !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

@media (max-width: 900px) {
    .visual-layout-page[data-page-key="experience"] .alc-exp-know ul,
    .visual-layout-page[data-page-key="experience"] .alc-exp-offer-grid {
        grid-template-columns: 1fr !important;
    }
    .visual-layout-page[data-page-key="experience"] .alc-exp-offer-item + .alc-exp-offer-item {
        margin-top: 26px !important;
        padding-top: 26px !important;
        padding-left: 0 !important;
        border-left: 0 !important;
        border-top: 1px solid rgba(255,255,255,.16) !important;
    }
}

@media (max-width: 680px) {
    .visual-layout-page[data-page-key="experience"] {
        --alc-exp-content-width: min(100% - 48px, 430px);
    }
    .visual-layout-page[data-page-key="experience"] .alc-exp-know {
        padding: 28px 26px 30px !important;
    }
    .visual-layout-page[data-page-key="experience"] .alc-exp-offer > .ve-section-inner,
    .visual-layout-page[data-page-key="experience"] .alc-exp-cancellation > .ve-section-inner,
    .editor-mode .visual-layout-page[data-page-key="experience"] .alc-exp-offer.editable-section > .section-content-wrapper,
    .editor-mode .visual-layout-page[data-page-key="experience"] .alc-exp-cancellation.editable-section > .section-content-wrapper {
        padding: 42px 26px !important;
    }
    .visual-layout-page[data-page-key="experience"] .alc-exp-offer .alc-exp-section-title,
    .visual-layout-page[data-page-key="experience"] .alc-exp-cancellation h2,
    .visual-layout-page[data-page-key="experience"] .alc-exp-faqs .alc-exp-section-title {
        font-size: 28px !important;
    }
}

/* =========================================================
   Fase 40.75 - Experience lower blocks: left column alignment
   Scope: only page=experience. Keeps sidebar/calendar area free.
   ========================================================= */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] {
    --alc-exp-sidebar-width: 420px;
    --alc-exp-detail-gap: 56px;
    --alc-exp-left-column-width: min(
        calc(var(--layout-container-content, 1440px) - var(--alc-exp-sidebar-width) - var(--alc-exp-detail-gap)),
        calc(100% - (var(--layout-section-x-spacing, 72px) * 2))
    );
    --alc-exp-container-left: max(
        var(--layout-section-x-spacing, 72px),
        calc((100% - var(--layout-container-content, 1440px)) / 2)
    );
}

/* El bloque vive dentro de la columna izquierda del grid: solo corregimos el título. */
.visual-layout-page[data-page-key="experience"] .alc-exp-know {
    text-align: left !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-know h3 {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    justify-self: start !important;
    text-align: left !important;
}

/* Los bloques inferiores ya no se centran en toda la página: se alinean con la columna izquierda. */
.visual-layout-page[data-page-key="experience"] .alc-exp-offer > .ve-section-inner,
.editor-mode .visual-layout-page[data-page-key="experience"] .alc-exp-offer.editable-section > .section-content-wrapper,
.visual-layout-page[data-page-key="experience"] .alc-exp-cancellation > .ve-section-inner,
.editor-mode .visual-layout-page[data-page-key="experience"] .alc-exp-cancellation.editable-section > .section-content-wrapper,
.visual-layout-page[data-page-key="experience"] .alc-exp-faqs > .ve-section-inner,
.editor-mode .visual-layout-page[data-page-key="experience"] .alc-exp-faqs.editable-section > .section-content-wrapper {
    width: var(--alc-exp-left-column-width) !important;
    max-width: var(--alc-exp-left-column-width) !important;
    margin-left: var(--alc-exp-container-left) !important;
    margin-right: auto !important;
}

/* El fondo interno de cancelación debe continuar pegado al bloque azul y ocupar la misma columna. */
.visual-layout-page[data-page-key="experience"] .alc-exp-offer,
.visual-layout-page[data-page-key="experience"] .alc-exp-cancellation,
.visual-layout-page[data-page-key="experience"] .alc-exp-faqs {
    width: 100% !important;
}

@media (max-width: 900px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] {
        --alc-exp-left-column-width: min(100% - 48px, 680px);
        --alc-exp-container-left: max(24px, calc((100% - var(--alc-exp-left-column-width)) / 2));
    }
}


/* =========================================================
   Fase 40.76b - Experience languages: safe Figma sync
   Scope: solo page=experience. No toca LayoutManager ni index_lang.
   Corrige también layouts guardados con emojis/???? usando pseudo-elementos.
   ========================================================= */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-languages {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-languages h2 {
    margin: 0 0 24px !important;
    color: var(--foreground-base-primary, #484132) !important;
    font-family: var(--font-display-family, Signika, Inter, Arial, sans-serif) !important;
    font-size: 30px !important;
    line-height: 1.12 !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-languages h2::after {
    content: "" !important;
    display: block !important;
    width: 58px !important;
    height: 1px !important;
    margin: 18px 0 0 !important;
    background: var(--foreground-base-tertiary, #84775D) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-languages p {
    max-width: 960px !important;
    margin: 0 0 30px !important;
    color: var(--foreground-base-primary, #484132) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
    font-weight: 400 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-list {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(145px, 1fr)) !important;
    gap: 14px 18px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    justify-content: start !important;
    align-items: start !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-list span {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 16px !important;
    width: 100% !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 13px 20px !important;
    border: 1px solid var(--border-base-default, rgba(72,65,50,.16)) !important;
    border-radius: 8px !important;
    background: var(--white-100, #fff) !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-align: left !important;
    box-shadow: none !important;
    white-space: nowrap !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-list span::before {
    content: "" !important;
    flex: 0 0 32px !important;
    width: 32px !important;
    height: 32px !important;
    display: block !important;
    border-radius: 999px !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-list span::after {
    color: var(--foreground-base-tertiary, #84775D) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-list span:nth-child(1)::before,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-item--es::before { background-image: url("assets/flags/es.svg") !important; }
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-list span:nth-child(1)::after,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-item--es::after { content: "ESPAÑOL" !important; }

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-list span:nth-child(2)::before,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-item--en::before { background-image: url("assets/flags/en.svg") !important; }
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-list span:nth-child(2)::after,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-item--en::after { content: "INGLÉS" !important; }

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-list span:nth-child(3)::before,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-item--fr::before { background-image: url("assets/flags/fr.svg") !important; }
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-list span:nth-child(3)::after,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-item--fr::after { content: "FRANCÉS" !important; }

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-list span:nth-child(4)::before,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-item--it::before { background-image: url("assets/flags/it.svg") !important; }
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-list span:nth-child(4)::after,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-item--it::after { content: "ITALIANO" !important; }

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-list span:nth-child(5)::before,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-item--de::before { background-image: url("assets/flags/de.svg") !important; }
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-list span:nth-child(5)::after,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-item--de::after { content: "ALEMÁN" !important; }

@media (max-width: 900px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-list {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 480px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-list {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   Fase 40.78 - Experience includes: DS scale adjustment
   Scope: solo page=experience. No toca calendario/sidebar.
   ========================================================= */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    color: var(--foreground-base-primary-strong, var(--warm-800, #484132)) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes h2 {
    margin: 0 0 var(--space-2xl, 48px) !important;
    color: var(--foreground-base-primary-strong, var(--warm-800, #484132)) !important;
    font-family: var(--font-display-section-family, var(--font-display-family, Signika, Inter, Arial, sans-serif)) !important;
    font-size: clamp(var(--font-3xl, 28px), 2vw, var(--font-4xl, 32px)) !important;
    line-height: 1.12 !important;
    font-weight: 600 !important;
    letter-spacing: var(--font-display-section-letter-spacing, -0.01em) !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes h2::after {
    content: "" !important;
    display: block !important;
    width: var(--space-3xl, 72px) !important;
    max-width: 84px !important;
    height: var(--stroke-sm, 1px) !important;
    margin: var(--space-md, 24px) 0 0 !important;
    background: var(--foreground-base-tertiary-strong, var(--warm-600, #84775D)) !important;
    opacity: .95 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 0 !important;
    align-items: start !important;
    width: 100% !important;
    margin: 0 !important;
    color: var(--foreground-base-primary-strong, var(--warm-800, #484132)) !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes-grid > div {
    min-width: 0 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes-grid > div:first-child {
    padding-right: var(--space-3xl, 72px) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes-grid > div + div {
    border-left: var(--stroke-sm, 1px) solid var(--border-base-secondary-mid, var(--warm-300, #DED9D0)) !important;
    border-top: 0 !important;
    padding-left: var(--space-3xl, 72px) !important;
    padding-top: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes-grid h3 {
    margin: 0 0 var(--space-xl, 40px) !important;
    color: var(--foreground-base-tertiary-strong, var(--warm-600, #84775D)) !important;
    font-family: var(--font-action-nav-family, var(--font-body-family, Inter, Arial, sans-serif)) !important;
    font-size: var(--font-action-nav-size, var(--font-xs, 12px)) !important;
    line-height: var(--font-action-nav-line-height, var(--font-md, 16px)) !important;
    font-weight: 800 !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes ul {
    display: grid !important;
    gap: var(--space-lg, 32px) !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes li {
    position: relative !important;
    margin: 0 !important;
    padding: 0 0 0 var(--space-lg, 32px) !important;
    color: var(--foreground-base-primary-strong, var(--warm-800, #484132)) !important;
    font-family: var(--font-title-step-family, var(--font-display-family, Signika, Inter, Arial, sans-serif)) !important;
    font-size: var(--font-title-step-size, var(--font-lg, 18px)) !important;
    line-height: var(--font-title-step-line-height, var(--font-2xl, 24px)) !important;
    font-weight: 600 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes li::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: .22em !important;
    width: 14px !important;
    height: 17px !important;
    background: url("assets/includes/check.svg?v=figma-4610-69546") center / contain no-repeat !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes-grid > div:nth-child(2) li::before {
    background-image: url("assets/includes/cross.svg?v=figma-4610-69546") !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes strong {
    display: inline !important;
    color: var(--foreground-base-primary-strong, var(--warm-800, #484132)) !important;
    font-family: var(--font-title-step-family, var(--font-display-family, Signika, Inter, Arial, sans-serif)) !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: 700 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes span {
    display: block !important;
    margin-top: var(--space-2xs, 8px) !important;
    color: var(--foreground-base-tertiary-strong, var(--warm-600, #84775D)) !important;
    font-family: var(--font-body-default-family, var(--font-body-family, Inter, Arial, sans-serif)) !important;
    font-size: var(--font-body-default-size, var(--font-md, 16px)) !important;
    line-height: var(--font-body-default-line-height, var(--font-2xl, 24px)) !important;
    font-weight: 400 !important;
    text-align: left !important;
}

@media (max-width: 900px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes h2 {
        margin-bottom: var(--space-xl, 40px) !important;
        font-size: var(--font-display-section-size, var(--font-4xl, 32px)) !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes h2::after {
        margin-top: var(--space-sm, 16px) !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes-grid {
        grid-template-columns: 1fr !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes-grid > div:first-child {
        padding-right: 0 !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes-grid > div + div {
        margin-top: var(--space-xl, 40px) !important;
        padding-left: 0 !important;
        padding-top: var(--space-xl, 40px) !important;
        border-left: 0 !important;
        border-top: var(--stroke-sm, 1px) solid var(--border-base-secondary-mid, var(--warm-300, #DED9D0)) !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes-grid h3 {
        margin-bottom: var(--space-lg, 32px) !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes li {
        padding-left: var(--space-lg, 32px) !important;
        font-size: var(--font-title-card-size, var(--font-lg, 18px)) !important;
        line-height: var(--font-title-card-line-height, var(--font-2xl, 24px)) !important;
    }
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes span {
        font-size: var(--font-body-support-size, var(--font-sm, 14px)) !important;
        line-height: var(--font-body-support-line-height, var(--font-xl, 20px)) !important;
    }
}


/* =========================================================
   Fase 40.79 - Experience tabs: Figma button style + active hash state
   Scope: only page=experience. Uses FTC Design System tokens.
   ========================================================= */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs-section {
    border-top: 0 !important;
    border-bottom: 0 !important;
    background: var(--white-100, #FFFFFF) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: var(--space-lg, 32px) !important;
    min-height: 112px !important;
    padding: var(--space-lg, 32px) 0 !important;
    overflow-x: auto !important;
    scrollbar-width: none;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs::-webkit-scrollbar {
    display: none;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs a {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 56px !important;
    padding: 0 clamp(var(--space-sm, 16px), 2.35vw, var(--space-xl, 40px)) !important;
    border: 0 !important;
    border-radius: var(--radius-full, 999px) !important;
    background: transparent !important;
    color: var(--foreground-base-tertiary-strong, #84775D) !important;
    font-family: var(--font-action-nav-family, var(--font-body-family, Inter, Arial, sans-serif)) !important;
    font-size: var(--font-action-secondary-size, 14px) !important;
    line-height: var(--font-action-secondary-line-height, 20px) !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: background-color .18s ease, color .18s ease;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs a::after {
    display: none !important;
    content: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs a.active,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs a.is-active,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs a[aria-current="true"] {
    background: var(--background-action-primary-default, var(--brand-700, #5F3A78)) !important;
    color: var(--foreground-action-primary-default, #FFFFFF) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs a:not(.active):not(.is-active):not([aria-current="true"]):hover,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs a:not(.active):not(.is-active):not([aria-current="true"]):focus-visible {
    background: var(--background-action-ghost-hover, var(--brand-100, #F8F0FC)) !important;
    color: var(--foreground-action-ghost-hover, var(--brand-800, #362145)) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] #descripcion,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] #incluye,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] #localizacion,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] #cancelacion,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] #faqs {
    scroll-margin-top: 112px;
}

@media (max-width: 900px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs {
        justify-content: flex-start !important;
        gap: var(--space-sm, 16px) !important;
        min-height: 88px !important;
        padding: var(--space-sm, 16px) 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs a {
        flex: 0 0 auto !important;
        min-height: 48px !important;
        padding: 0 var(--space-md, 24px) !important;
        font-size: var(--font-action-nav-size, 12px) !important;
        line-height: var(--font-action-nav-line-height, 16px) !important;
        letter-spacing: .14em !important;
    }
}


/* =========================================================
   Fase 40.80 - Experience tabs: anchura real de Figma
   Scope: solo page=experience. Mantiene el estado activo por hash de Fase 40.79.
   ========================================================= */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs-section {
    border-top: 0 !important;
    border-bottom: 0 !important;
    background: var(--white-100, #FFFFFF) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs-section > .ve-section-inner,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs-section.editable-section > .section-content-wrapper {
    width: min(var(--layout-container-content, 1440px), calc(100% - (var(--layout-section-x-spacing, 72px) * 2))) !important;
    max-width: min(var(--layout-container-content, 1440px), calc(100% - (var(--layout-section-x-spacing, 72px) * 2))) !important;
    margin-inline: auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: var(--space-lg, 32px) !important;
    width: var(--alc-exp-left-column-width, calc(var(--layout-container-content, 1440px) - 420px - 56px)) !important;
    max-width: 100% !important;
    min-height: 82px !important;
    margin: 0 !important;
    padding: 21px 0 !important;
    border-bottom: var(--stroke-sm, 1px) solid var(--border-base-secondary-mid, #DED7CA) !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs::-webkit-scrollbar {
    display: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs a {
    box-sizing: border-box !important;
    position: relative !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 38px !important;
    padding: 0 var(--space-sm, 16px) !important;
    border: 0 !important;
    border-radius: var(--radius-full, 999px) !important;
    background: transparent !important;
    color: var(--foreground-base-tertiary-strong, #84775D) !important;
    font-family: var(--font-action-nav-family, var(--font-body-family, Inter, Arial, sans-serif)) !important;
    font-size: var(--font-action-nav-size, 12px) !important;
    line-height: var(--font-action-nav-line-height, 16px) !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: background-color .18s ease, color .18s ease !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs a::after {
    display: none !important;
    content: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs a.active,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs a.is-active,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs a[aria-current="true"] {
    min-width: 112px !important;
    padding-inline: var(--space-sm, 16px) !important;
    background: var(--background-action-primary-default, var(--brand-700, #5F3A78)) !important;
    color: var(--foreground-action-primary-default, #FFFFFF) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs a:not(.active):not(.is-active):not([aria-current="true"]):hover,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs a:not(.active):not(.is-active):not([aria-current="true"]):focus-visible {
    background: var(--background-action-ghost-hover, var(--brand-100, #F8F0FC)) !important;
    color: var(--foreground-action-ghost-hover, var(--brand-800, #362145)) !important;
}

@media (max-width: 900px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs {
        justify-content: flex-start !important;
        gap: var(--space-sm, 16px) !important;
        width: 100% !important;
        min-height: 72px !important;
        padding: var(--space-sm, 16px) 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs a,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs a.active,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs a.is-active,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs a[aria-current="true"] {
        min-width: auto !important;
        min-height: 38px !important;
        padding: 0 var(--space-sm, 16px) !important;
        font-size: var(--font-action-nav-size, 12px) !important;
        line-height: var(--font-action-nav-line-height, 16px) !important;
    }
}


/* =========================================================
   Fase 40.81 - Experience about: réplica Figma/PDF
   Scope: solo page=experience. Usa tokens FTC Design System.
   ========================================================= */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-about {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--foreground-base-primary, #484132) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-about h2,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-about h2 {
    max-width: none !important;
    margin: 0 0 var(--space-lg, 32px) !important;
    color: var(--foreground-base-primary, #484132) !important;
    font-family: var(--font-display-section-family, var(--font-display-family, Signika, Inter, Arial, sans-serif)) !important;
    font-size: clamp(var(--font-3xl, 28px), 2vw, var(--font-4xl, 32px)) !important;
    line-height: 1.12 !important;
    font-weight: 600 !important;
    letter-spacing: var(--font-display-section-letter-spacing, -0.01em) !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-about h2::after,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-about h2::after {
    content: "" !important;
    display: block !important;
    width: var(--space-3xl, 72px) !important;
    max-width: 58px !important;
    height: var(--stroke-sm, 1px) !important;
    margin: var(--space-sm, 16px) 0 0 !important;
    background: var(--foreground-base-tertiary-strong, var(--warm-600, #84775D)) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-about > p,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-about > p {
    max-width: 100% !important;
    margin: 0 0 var(--space-md, 24px) !important;
    color: var(--foreground-base-secondary-strong, var(--warm-700, #665C48)) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: var(--font-body-lg-size, 18px) !important;
    line-height: var(--font-body-lg-line-height, 1.45) !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-about > p:last-of-type {
    margin-bottom: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-about-split,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-about-split {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 390px) !important;
    gap: clamp(var(--space-xl, 40px), 5vw, 76px) !important;
    align-items: start !important;
    width: 100% !important;
    margin: var(--space-2xl, 48px) 0 0 !important;
    padding: var(--space-2xl, 48px) 0 0 !important;
    border-top: var(--stroke-sm, 1px) solid var(--border-base-secondary-mid, #DED7CA) !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-about-split > div {
    min-width: 0 !important;
    max-width: 510px !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-about-split p,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-about-split p {
    max-width: 510px !important;
    margin: 0 0 var(--space-lg, 32px) !important;
    color: var(--foreground-base-secondary-strong, var(--warm-700, #665C48)) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: var(--font-body-lg-size, 18px) !important;
    line-height: var(--font-body-lg-line-height, 1.45) !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-about-split ul,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-about-split ul {
    display: grid !important;
    gap: var(--space-sm, 16px) !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-about-split li,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-about-split li {
    position: relative !important;
    margin: 0 !important;
    padding: 0 0 0 var(--space-sm, 16px) !important;
    color: var(--foreground-base-secondary-strong, var(--warm-700, #665C48)) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: var(--font-body-lg-size, 18px) !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-about-split li::before,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-about-split li::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: .16em !important;
    width: var(--stroke-md, 2px) !important;
    height: 1.15em !important;
    border-radius: var(--radius-xs, 1px) !important;
    background: var(--foreground-base-tertiary-strong, var(--warm-600, #84775D)) !important;
    color: transparent !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-about-split img,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-about-split img {
    justify-self: end !important;
    display: block !important;
    width: min(100%, 390px) !important;
    height: auto !important;
    aspect-ratio: 390 / 300 !important;
    object-fit: cover !important;
    object-position: center center !important;
    border: 0 !important;
    border-radius: var(--radius-md, 8px) !important;
    box-shadow: none !important;
}

@media (max-width: 900px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-about-split,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-about-split {
        grid-template-columns: 1fr !important;
        gap: var(--space-lg, 32px) !important;
        padding-top: var(--space-xl, 40px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-about-split > div,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-about-split p {
        max-width: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-about-split img {
        justify-self: start !important;
        width: 100% !important;
        max-width: 390px !important;
    }
}

/* =========================================================
   Fase 40.82 - Experience audioguide content: réplica Figma/PDF
   Scope: solo page=experience. Usa tokens FTC Design System e iconos del bloque.
   ========================================================= */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] {
    --alc-exp-digital-width: 832px;
    --alc-exp-digital-bg: var(--background-base-brand-strong, var(--brand-800, #362145));
    --alc-exp-digital-icon: var(--accent-500, #F0930A);
    --alc-exp-digital-fg: var(--foreground-base-inverse, #FFFFFF);
    --alc-exp-digital-muted: rgba(255, 255, 255, .64);
    --alc-exp-digital-line: rgba(255, 255, 255, .14);
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-digital,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital {
    box-sizing: border-box !important;
    display: block !important;
    width: min(100%, var(--alc-exp-digital-width)) !important;
    max-width: var(--alc-exp-digital-width) !important;
    min-height: 532px !important;
    margin: 0 auto 0 0 !important;
    padding: var(--space-xl, 48px) !important;
    border: 0 !important;
    border-radius: var(--radius-lg, 12px) !important;
    background: var(--alc-exp-digital-bg) !important;
    color: var(--alc-exp-digital-fg) !important;
    box-shadow: none !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-digital h2,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital h2 {
    max-width: 100% !important;
    margin: 0 0 var(--space-xl, 48px) !important;
    padding: 0 !important;
    color: var(--alc-exp-digital-fg) !important;
    font-family: var(--font-display-section-family, var(--font-display-family, Signika, Inter, Arial, sans-serif)) !important;
    font-size: var(--font-display-section-size, 28px) !important;
    line-height: var(--font-display-section-line-height, 1.18) !important;
    font-weight: 600 !important;
    letter-spacing: var(--font-display-section-letter-spacing, -0.01em) !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-digital h2::after,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital h2::after {
    content: "" !important;
    display: block !important;
    width: var(--space-xl, 48px) !important;
    height: var(--stroke-sm, 1px) !important;
    margin: var(--space-xs, 12px) 0 0 !important;
    background: rgba(255, 255, 255, .70) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-digital > p,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital > p {
    box-sizing: border-box !important;
    max-width: 760px !important;
    margin: 0 0 var(--space-xl, 48px) !important;
    padding: 0 0 var(--space-xl, 48px) !important;
    border-bottom: var(--stroke-sm, 1px) solid var(--alc-exp-digital-line) !important;
    color: var(--alc-exp-digital-muted) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: var(--font-body-md-size, 16px) !important;
    line-height: var(--font-body-md-line-height, 1.55) !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-digital-grid,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital-grid {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(3, auto) !important;
    column-gap: clamp(var(--space-xl, 48px), 7vw, 78px) !important;
    row-gap: var(--space-lg, 32px) !important;
    align-items: start !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-digital-item,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital-item,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-digital-grid > div {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 20px minmax(0, 1fr) !important;
    gap: var(--space-sm, 16px) !important;
    align-items: start !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-digital-item img,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-digital-grid > div > img {
    display: block !important;
    width: var(--space-md, 20px) !important;
    height: var(--space-md, 20px) !important;
    margin: 1px 0 0 !important;
    object-fit: contain !important;
    flex: 0 0 auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-digital-item > div,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-digital-grid > div > div {
    min-width: 0 !important;
    display: block !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-digital strong,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital strong {
    display: block !important;
    margin: 0 0 var(--space-2xs, 8px) !important;
    color: var(--alc-exp-digital-fg) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: var(--font-body-md-size, 16px) !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-digital span,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital span {
    display: block !important;
    margin: 0 !important;
    color: var(--alc-exp-digital-muted) !important;
    opacity: 1 !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: var(--font-body-sm-size, 14px) !important;
    line-height: var(--font-body-sm-line-height, 1.45) !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
}

@media (max-width: 900px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-digital,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital {
        width: 100% !important;
        min-height: 0 !important;
        padding: var(--space-lg, 32px) var(--space-md, 24px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-digital h2,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital h2 {
        margin-bottom: var(--space-lg, 32px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-digital > p,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital > p {
        margin-bottom: var(--space-lg, 32px) !important;
        padding-bottom: var(--space-lg, 32px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-digital-grid,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital-grid {
        grid-auto-flow: row !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: none !important;
        row-gap: var(--space-lg, 32px) !important;
    }
}



/* =========================================================
   Fase 40.83 - Experience location access: réplica Figma + mapa dinámico
   Scope: solo page=experience. Mantiene el layout de columna izquierda y tokens DS.
   ========================================================= */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-location,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-location {
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--foreground-base-primary, #484132) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-location h2,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-location h2 {
    margin: 0 0 38px !important;
    color: var(--foreground-base-secondary-strong, var(--warm-700, #665C48)) !important;
    font-family: var(--font-display-section-family, var(--font-display-family, Signika, Inter, Arial, sans-serif)) !important;
    font-size: clamp(30px, 2.1vw, 34px) !important;
    line-height: 1.14 !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-location h2::after,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-location h2::after {
    content: "" !important;
    display: block !important;
    width: 52px !important;
    height: 1px !important;
    margin: 20px 0 0 !important;
    background: var(--foreground-base-tertiary-strong, var(--warm-600, #84775D)) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-map-wrap,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-map-wrap {
    position: relative !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 253px !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--background-base-default-soft, #F0EBE1) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-map,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-map-iframe,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-map,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-map-iframe {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    object-fit: cover !important;
    filter: grayscale(1) saturate(.35) contrast(.88) brightness(1.08) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-map-wrap::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    background: rgba(255, 255, 255, .42) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-location-grid,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-location-grid {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 42px 0 54px !important;
    border: 0 !important;
    background: transparent !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-location-grid > div,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-location-grid > div {
    box-sizing: border-box !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 36px 0 0 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-location-grid > div + div,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-location-grid > div + div {
    border-left: 1px solid var(--border-base-secondary-mid, #DED7CA) !important;
    padding: 0 0 0 36px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-location-grid h3,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-location-grid h3 {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 0 0 28px !important;
    color: var(--foreground-base-secondary-strong, var(--warm-700, #665C48)) !important;
    font-family: var(--font-display-section-family, var(--font-display-family, Signika, Inter, Arial, sans-serif)) !important;
    font-size: 30px !important;
    line-height: 1.12 !important;
    font-weight: 600 !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-location-grid h3 img {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    flex: 0 0 24px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-location-card--address p,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-location-card--address p {
    margin: 0 0 14px !important;
    color: var(--foreground-base-secondary-strong, var(--warm-700, #665C48)) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 18px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-hours-row,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-hours-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 24px !important;
    align-items: start !important;
    margin: 0 !important;
    padding: 0 0 22px !important;
    border-bottom: 1px solid var(--border-base-secondary-mid, #DED7CA) !important;
    color: var(--foreground-base-secondary-strong, var(--warm-700, #665C48)) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 18px !important;
    line-height: 1.35 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-hours-row + .alc-exp-hours-row {
    padding-top: 22px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-hours-row > div:last-child {
    min-width: 152px !important;
    text-align: right !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-hours-row strong {
    display: block !important;
    margin: 0 !important;
    color: var(--foreground-base-primary, #484132) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    text-align: right !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-hours-row em {
    display: block !important;
    margin-top: 5px !important;
    color: var(--foreground-base-tertiary-strong, var(--warm-600, #84775D)) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-style: italic !important;
    font-weight: 700 !important;
    text-align: right !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-hours-closed,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-hours-closed {
    margin: 26px 0 0 !important;
    color: var(--foreground-base-tertiary-strong, var(--warm-600, #84775D)) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 18px !important;
    line-height: 1.35 !important;
    font-style: italic !important;
    font-weight: 400 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-hours-closed strong {
    color: inherit !important;
    font-weight: 800 !important;
}

@media (max-width: 900px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-map-wrap,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-map-wrap {
        height: 220px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-location-grid,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-location-grid {
        grid-template-columns: 1fr !important;
        padding: 32px 0 44px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-location-grid > div,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-location-grid > div,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-location-grid > div + div,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-location-grid > div + div {
        border-left: 0 !important;
        padding: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-location-grid > div + div,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-location-grid > div + div {
        margin-top: 32px !important;
        padding-top: 32px !important;
        border-top: 1px solid var(--border-base-secondary-mid, #DED7CA) !important;
    }
}

/* =========================================================
   Fase 40.84 - Experience booking sidebar real component
   Scope: page=experience. Reuses BookingEngine/purchase_form_components.
   ========================================================= */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] {
    --alc-booking-brand: var(--surface-brand-strong, var(--background-base-brand-emphasis, #362145));
    --alc-booking-brand-foreground: var(--foreground-base-inverse, #FFFFFF);
    --alc-booking-ink: var(--foreground-base-primary, #484132);
    --alc-booking-muted: var(--foreground-base-tertiary, #84775D);
    --alc-booking-border: var(--border-base-default, #DED7CA);
    --alc-booking-soft: var(--background-base-default-soft, #F8F4EC);
    --alc-booking-card: var(--background-base-default, #FFFFFF);
    --alc-booking-accent: var(--accent-500, #F0930A);
}

.visual-layout-page[data-page-key="experience"] .alc-exp-sidebar {
    width: min(100%, 420px) !important;
    justify-self: end !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-sidebar > .component-wrapper[data-type="booking_sidebar"],
.visual-layout-page[data-page-key="experience"] .alc-exp-sidebar > .component-wrapper[data-type="booking_sidebar"] > .component-content,
.visual-layout-page[data-page-key="experience"] .alc-exp-sidebar > .component-wrapper[data-type="booking_sidebar"] > .component-content > .cmp-booking_sidebar {
    width: 100% !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget {
    display: grid !important;
    gap: 14px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--alc-booking-ink) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-card {
    overflow: hidden !important;
    width: 100% !important;
    border: 1px solid color-mix(in srgb, var(--alc-booking-border) 72%, transparent) !important;
    border-radius: 24px !important;
    background: var(--alc-booking-card) !important;
    box-shadow: 0 16px 42px rgba(54, 33, 69, .10) !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-price-head {
    box-sizing: border-box !important;
    min-height: 94px !important;
    padding: 23px 34px 21px !important;
    border-radius: 23px 23px 0 0 !important;
    background: var(--alc-booking-brand) !important;
    color: var(--alc-booking-brand-foreground) !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-price-head small {
    display: block !important;
    margin: 0 0 7px !important;
    color: rgba(255,255,255,.74) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-price-line {
    display: flex !important;
    align-items: baseline !important;
    gap: 12px !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-start-price {
    display: inline-block !important;
    color: #fff !important;
    font-family: var(--font-display-family, Signika, Inter, Arial, sans-serif) !important;
    font-size: 24px !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;
    letter-spacing: .01em !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-price-line del {
    color: rgba(255,255,255,.48) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration-thickness: 1px !important;
}

.visual-layout-page[data-page-key="experience"] #form_reserva.alc-booking-form {
    position: relative !important;
    display: grid !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 18px 16px 18px !important;
    background: var(--alc-booking-card) !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-hidden-sources {
    display: none !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-accordion,
.visual-layout-page[data-page-key="experience"] .alc-booking-step {
    overflow: hidden !important;
    border: 1px solid color-mix(in srgb, var(--alc-booking-border) 64%, transparent) !important;
    border-radius: 14px !important;
    background: var(--alc-booking-card) !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-accordion-head,
.visual-layout-page[data-page-key="experience"] .alc-booking-step-head {
    appearance: none !important;
    width: 100% !important;
    min-height: 54px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 17px !important;
    border: 0 !important;
    background: var(--alc-booking-soft) !important;
    color: var(--alc-booking-ink) !important;
    cursor: pointer !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-align: left !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-step:not(.is-open) .alc-booking-step-head,
.visual-layout-page[data-page-key="experience"] .alc-booking-accordion:not(.is-open) .alc-booking-accordion-head {
    background: var(--alc-booking-card) !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-step.is-disabled .alc-booking-step-head {
    color: color-mix(in srgb, var(--alc-booking-muted) 45%, #fff) !important;
    cursor: default !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-info-icon,
.visual-layout-page[data-page-key="experience"] .alc-booking-step-number {
    flex: 0 0 auto !important;
    width: 24px !important;
    height: 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: var(--alc-booking-ink) !important;
    color: #fff !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    font-style: normal !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-step.is-disabled .alc-booking-step-number {
    background: color-mix(in srgb, var(--alc-booking-border) 65%, #fff) !important;
    color: #fff !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-chevron {
    margin-left: auto !important;
    width: 10px !important;
    height: 10px !important;
    border-right: 2px solid currentColor !important;
    border-bottom: 2px solid currentColor !important;
    transform: rotate(45deg) translateY(-2px) !important;
    opacity: .72 !important;
}

.visual-layout-page[data-page-key="experience"] .is-open > .alc-booking-step-head .alc-booking-chevron,
.visual-layout-page[data-page-key="experience"] .is-open > .alc-booking-accordion-head .alc-booking-chevron {
    transform: rotate(225deg) translate(-2px, -1px) !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-accordion-body,
.visual-layout-page[data-page-key="experience"] .alc-booking-step-body {
    padding: 18px 18px 20px !important;
    background: var(--alc-booking-card) !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-accordion-body p {
    margin: 0 !important;
    color: var(--alc-booking-muted) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .titulo_formulario,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .calendarios > p.titulo_formulario,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .hora > p.titulo_formulario,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .personas > p.titulo_formulario {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #bloque_calendario,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #datepicker,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker {
    border: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: var(--alc-booking-ink) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 42px !important;
    margin: 0 0 10px !important;
    padding: 0 2px 12px !important;
    border: 0 !important;
    border-bottom: 1px solid color-mix(in srgb, var(--alc-booking-border) 70%, transparent) !important;
    background: transparent !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-title {
    margin: 0 !important;
    color: var(--foreground-base-brand, #6A3E82) !important;
    font-family: var(--font-display-family, Signika, Inter, Arial, sans-serif) !important;
    font-size: 20px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    text-align: left !important;
    order: 1 !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-prev,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-next {
    position: static !important;
    width: 34px !important;
    height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: var(--foreground-base-brand, #6A3E82) !important;
    cursor: pointer !important;
    text-decoration: none !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-prev { order: 2 !important; margin-left: auto !important; }
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-next { order: 3 !important; }
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-prev span,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-next span {
    display: none !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-prev::before,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-next::before {
    content: "" !important;
    display: block !important;
    width: 10px !important;
    height: 10px !important;
    border-left: 3px solid currentColor !important;
    border-bottom: 3px solid currentColor !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-prev::before { transform: rotate(45deg) !important; }
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-next::before { transform: rotate(-135deg) !important; }

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
    table-layout: fixed !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar th {
    padding: 0 0 6px !important;
    color: var(--alc-booking-ink) !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td {
    height: 38px !important;
    padding: 0 !important;
    border: 0 !important;
    text-align: center !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td a,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td span {
    width: 38px !important;
    height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: var(--foreground-base-brand, #6A3E82) !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    text-align: center !important;
    text-decoration: none !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td.ui-state-disabled span,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td.disabled span,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td.disabled a {
    color: color-mix(in srgb, var(--alc-booking-border) 54%, white) !important;
    opacity: 1 !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td a.ui-state-active,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td.ui-datepicker-current-day a {
    background: var(--foreground-base-brand, #6A3E82) !important;
    color: #fff !important;
    font-weight: 800 !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #bloque_hora {
    display: block !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora_contenedor_selector,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora_rango {
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin: 0 !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora:empty,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora_contenedor_selector:empty,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora_rango:empty {
    display: none !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora .col-auto,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #template_hora .col-auto {
    width: 100% !important;
    max-width: none !important;
    flex: 0 0 100% !important;
    padding: 0 !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora p,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora_contenedor_selector select,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora_rango > div {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border: 1px solid color-mix(in srgb, var(--alc-booking-border) 75%, transparent) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: var(--alc-booking-ink) !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget input[name="hora"] {
    margin-right: 9px !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #bloque_personas {
    margin: 0 !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #bloque_personas .linea {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid color-mix(in srgb, var(--alc-booking-border) 58%, transparent) !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #bloque_personas .linea.d-none {
    display: none !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #bloque_personas .linea:last-child {
    border-bottom: 0 !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #bloque_personas .linea p {
    margin: 0 !important;
    color: var(--alc-booking-ink) !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #bloque_personas .precio_personas {
    color: var(--alc-booking-muted) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #bloque_personas .personas_input input {
    width: 34px !important;
    height: 32px !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--alc-booking-ink) !important;
    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-align: center !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #bloque_personas .personas_input {
    min-width: 122px !important;
    padding: 4px !important;
    border: 1px solid color-mix(in srgb, var(--alc-booking-border) 62%, transparent) !important;
    border-radius: 12px !important;
    background: color-mix(in srgb, var(--surface-neutral-subtle, #F8F6F2) 90%, #fff) !important;
    box-shadow: 0 1px 2px rgba(22, 18, 14, .04) !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #bloque_personas .personas_input .row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: 7px !important;
    margin: 0 !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #bloque_personas .personas_input .col-auto {
    padding: 0 !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .mas,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .menos {
    width: 30px !important;
    height: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px !important;
    border: 1px solid color-mix(in srgb, var(--alc-booking-border) 70%, transparent) !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 1px 3px rgba(22, 18, 14, .08) !important;
    color: var(--alc-booking-muted, #6E6478) !important;
    cursor: pointer !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .mas circle,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .menos circle {
    fill: transparent !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .mas line,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .menos line {
    stroke: var(--alc-booking-muted, #6E6478) !important;
    stroke-width: 3px !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .mas:hover,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .menos:hover {
    border-color: color-mix(in srgb, var(--foreground-base-brand, #6A3E82) 35%, var(--alc-booking-border)) !important;
    color: var(--foreground-base-brand, #6A3E82) !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .mas:hover line,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .menos:hover line {
    stroke: var(--foreground-base-brand, #6A3E82) !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-footer {
    margin: 5px -16px -18px !important;
    padding: 18px 20px 20px !important;
    border-top: 1px solid color-mix(in srgb, var(--alc-booking-border) 68%, transparent) !important;
    background: #fff !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-footer .precio_total {
    width: 100% !important;
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    margin: 0 0 16px !important;
    color: var(--alc-booking-ink) !important;
    text-align: left !important;
}
.visual-layout-page[data-page-key="experience"] .alc-booking-footer .precio_total.d-none {
    display: flex !important;
}
.visual-layout-page[data-page-key="experience"] .alc-booking-footer .precio_total > div:first-child {
    color: var(--alc-booking-muted) !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .24em !important;
    text-transform: uppercase !important;
}
.visual-layout-page[data-page-key="experience"] .alc-booking-footer .precio_final {
    color: var(--foreground-base-brand, #6A3E82) !important;
    font-family: var(--font-display-family, Signika, Inter, Arial, sans-serif) !important;
    font-size: 32px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}
.visual-layout-page[data-page-key="experience"] .alc-booking-footer #descuento_combo {
    margin-right: 8px !important;
    color: var(--alc-booking-muted) !important;
    font-size: 14px !important;
    text-decoration: line-through !important;
}
.visual-layout-page[data-page-key="experience"] .alc-booking-footer #payment_button_container {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
.visual-layout-page[data-page-key="experience"] .alc-booking-footer #payment_button_container .mensaje_custom,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .mensaje_dispo {
    margin: 0 0 10px !important;
    color: #9a3412 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
}
.visual-layout-page[data-page-key="experience"] .alc-booking-footer #btn_comprar {
    width: 100% !important;
    min-height: 50px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 24px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--foreground-base-brand, #6A3E82) !important;
    color: #fff !important;
    box-shadow: none !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-important {
    box-sizing: border-box !important;
    width: 100% !important;
    padding: 23px 26px 24px !important;
    border: 1px solid color-mix(in srgb, var(--alc-booking-border) 72%, transparent) !important;
    border-radius: 16px !important;
    background: #fff !important;
    color: var(--alc-booking-ink) !important;
}
.visual-layout-page[data-page-key="experience"] .alc-booking-important h3 {
    margin: 0 0 22px !important;
    color: var(--alc-booking-ink) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    letter-spacing: .24em !important;
    text-align: center !important;
    text-transform: uppercase !important;
}
.visual-layout-page[data-page-key="experience"] .alc-booking-important ul {
    display: grid !important;
    gap: 15px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.visual-layout-page[data-page-key="experience"] .alc-booking-important li {
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) !important;
    gap: 11px !important;
    align-items: start !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--alc-booking-muted) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
}
.visual-layout-page[data-page-key="experience"] .alc-booking-important-icon {
    width: 18px !important;
    height: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 1px !important;
    border: 1.5px solid currentColor !important;
    border-radius: 999px !important;
    color: var(--alc-booking-muted) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    font-style: normal !important;
}

/* Desactiva los estilos del booking_form legacy en la página de experiencia cuando el render ya usa el nuevo componente. */
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .booking-form-container,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .booking-form-row,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .booking-form-left,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .booking-form-right {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

@media (max-width: 1100px) {
    .visual-layout-page[data-page-key="experience"] .alc-exp-sidebar {
        width: 100% !important;
        justify-self: stretch !important;
        position: static !important;
    }
    .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget {
        max-width: 480px !important;
        margin-inline: auto !important;
    }
}

@media (max-width: 520px) {
    .visual-layout-page[data-page-key="experience"] .alc-booking-price-head {
        min-height: 82px !important;
        padding: 20px 24px !important;
    }
    .visual-layout-page[data-page-key="experience"] #form_reserva.alc-booking-form {
        padding-inline: 12px !important;
    }
    .visual-layout-page[data-page-key="experience"] .alc-booking-footer {
        margin-inline: -12px !important;
    }
    .visual-layout-page[data-page-key="experience"] .alc-booking-footer .precio_final {
        font-size: 28px !important;
    }
}

/* =========================================================
   Fase 40.85 - Correcciones booking sidebar real
   - Editor seguro sin formulario/calendario legacy.
   - Calendario Figma sin precios por día superpuestos.
   - Chevrons mes correctos.
   ========================================================= */
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget[data-editor-preview="1"] {
    pointer-events: none !important;
}
.visual-layout-page[data-page-key="experience"] .alc-booking-editor-preview-body {
    display: grid !important;
    gap: 10px !important;
    padding: 18px 16px 18px !important;
    background: var(--alc-booking-card, #fff) !important;
}
.visual-layout-page[data-page-key="experience"] .alc-booking-editor-calendar-head {
    display: flex !important;
    align-items: center !important;
    gap: 22px !important;
    padding: 2px 2px 14px !important;
    border-bottom: 1px solid color-mix(in srgb, var(--alc-booking-border, #DED7CA) 70%, transparent) !important;
    color: var(--foreground-base-brand, #6A3E82) !important;
    font-family: var(--font-display-family, Signika, Inter, Arial, sans-serif) !important;
    font-size: 19px !important;
    font-weight: 800 !important;
}
.visual-layout-page[data-page-key="experience"] .alc-booking-editor-calendar-head strong {
    margin-right: auto !important;
    font: inherit !important;
}
.visual-layout-page[data-page-key="experience"] .alc-booking-editor-calendar-grid {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 8px 0 !important;
    padding-top: 14px !important;
    text-align: center !important;
}
.visual-layout-page[data-page-key="experience"] .alc-booking-editor-calendar-grid b {
    color: var(--alc-booking-ink, #484132) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}
.visual-layout-page[data-page-key="experience"] .alc-booking-editor-calendar-grid span {
    width: 34px !important;
    height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: center !important;
    border-radius: 999px !important;
    color: var(--foreground-base-brand, #6A3E82) !important;
    font-size: 17px !important;
    line-height: 1 !important;
}
.visual-layout-page[data-page-key="experience"] .alc-booking-editor-calendar-grid span.is-selected {
    background: var(--foreground-base-brand, #6A3E82) !important;
    color: #fff !important;
    font-weight: 900 !important;
}
.visual-layout-page[data-page-key="experience"] .alc-booking-editor-footer {
    margin: 5px -16px -18px !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td a[data-custom],
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td span[data-custom] {
    padding-bottom: 0 !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td a[data-custom]::after,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td span[data-custom]::after,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .datepicker tbody td::after {
    display: none !important;
    content: none !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-prev::before,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-next::before {
    width: auto !important;
    height: auto !important;
    border: 0 !important;
    display: block !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 34px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    transform: none !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-prev::before {
    content: "‹" !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-next::before {
    content: "›" !important;
}

/* =========================================================
   Fase 40.86 - Correcciones sidebar reserva/calendario
   - El sidebar deja de ser sticky para no cortar el calendario.
   - Los precios del calendario vuelven a mostrarse sin solaparse.
   - Flechas de mes sin heredar transform/background legacy.
   ========================================================= */
.visual-layout-page[data-page-key="experience"] .alc-exp-sidebar {
    position: static !important;
    top: auto !important;
    align-self: start !important;
    max-height: none !important;
    overflow: visible !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-prev,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-next {
    float: none !important;
    text-indent: 0 !important;
    overflow: visible !important;
    background: none !important;
    transform: none !important;
    -webkit-transform: none !important;
    -moz-transform: none !important;
    -ms-transform: none !important;
    -o-transform: none !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-prev::before,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-next::before {
    width: auto !important;
    height: auto !important;
    border: 0 !important;
    display: block !important;
    color: var(--foreground-base-brand, #6A3E82) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 34px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    transform: none !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-prev::before {
    content: "‹" !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-next::before {
    content: "›" !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar {
    border-spacing: 0 11px !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td {
    height: 56px !important;
    position: relative !important;
    vertical-align: top !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td a,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td span {
    box-sizing: border-box !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 44px !important;
    min-height: 44px !important;
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    padding: 0 !important;
    border-radius: 14px !important;
    white-space: nowrap !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td a[data-custom],
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td span[data-custom] {
    padding-bottom: 0 !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td a[data-custom]::after,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td span[data-custom]::after {
    content: attr(data-custom) !important;
    display: block !important;
    margin: 0 !important;
    color: var(--alc-booking-muted, #84775D) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 9px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
    white-space: nowrap !important;
    transform: none !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td a.ui-state-active[data-custom]::after,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td.ui-datepicker-current-day a[data-custom]::after {
    color: rgba(255, 255, 255, .86) !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .datepicker tbody td::after {
    display: none !important;
    content: "" !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .datepicker tbody td:has(a[data-custom])::after {
    display: block !important;
    width: 5px !important;
    height: 5px !important;
    left: 50% !important;
    bottom: 1px !important;
    border-radius: 999px !important;
    background: #02b18a !important;
    transform: translateX(-50%) !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .datepicker tbody td.ui-datepicker-current-day::after,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .datepicker tbody td.ui-state-disabled::after,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .datepicker tbody td.disabled::after,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .datepicker tbody td.pasado::after,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .datepicker tbody td.ui-datepicker-other-month::after {
    display: none !important;
}

/* =========================================================
   Fase 40.87 - Experience dynamic hero + calendar cleanup
   - El calendario del sidebar no muestra precios dentro de los días.
   - Mantiene el punto de disponibilidad y corrige flechas con iconos reales.
   ========================================================= */
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar {
    border-spacing: 0 8px !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td {
    height: 38px !important;
    vertical-align: middle !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td a,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td span {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    padding: 0 !important;
    border-radius: 999px !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td a[data-custom]::after,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td span[data-custom]::after {
    display: none !important;
    content: none !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .datepicker tbody td:has(a[data-custom])::after {
    display: block !important;
    width: 5px !important;
    height: 5px !important;
    left: 50% !important;
    bottom: 0 !important;
    border-radius: 999px !important;
    background: #02b18a !important;
    transform: translateX(-50%) !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .datepicker tbody td.ui-datepicker-current-day::after,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .datepicker tbody td.ui-state-disabled::after,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .datepicker tbody td.disabled::after,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .datepicker tbody td.pasado::after,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .datepicker tbody td.ui-datepicker-other-month::after {
    display: none !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-prev,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-next {
    width: 34px !important;
    height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    text-indent: 0 !important;
    background: transparent !important;
    transform: none !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-prev span,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-next span {
    display: none !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-prev::before,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-next::before {
    content: "" !important;
    width: 11px !important;
    height: 18px !important;
    display: block !important;
    border: 0 !important;
    background: var(--foreground-base-brand, #6A3E82) !important;
    transform: none !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-prev::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 20'%3E%3Cpath d='M10 2 2 10l8 8' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 20'%3E%3Cpath d='M10 2 2 10l8 8' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-next::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 20'%3E%3Cpath d='M2 2l8 8-8 8' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 20'%3E%3Cpath d='M2 2l8 8-8 8' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}


/* =========================================================
   Fase 40.89 - Experience booking sin precio tachado
   El sidebar de reserva solo debe mostrar el precio desde real del tour.
   ========================================================= */
.visual-layout-page[data-page-key="experience"] .alc-booking-price-line del {
    display: none !important;
}

/* =========================================================
   Fase 40.90 - Experience booking languages logic
   Reproduce legacy checkin_unico behaviour inside booking_sidebar.
   ========================================================= */
.visual-layout-page[data-page-key="experience"] .alc-booking-language-panel {
    display: block !important;
    color: var(--alc-booking-ink, #484132) !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-language-panel .main_tour,
.visual-layout-page[data-page-key="experience"] .alc-booking-main-tour {
    margin: 0 !important;
    padding: 2px 0 !important;
    color: var(--alc-booking-muted, #84775D) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-main-tour img,
.visual-layout-page[data-page-key="experience"] .alc-booking-language-panel .main_tour img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    border-radius: 12px !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-language-panel .hora.servicios {
    display: block;
    margin: 0 !important;
    padding: 0 !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-language-panel .hora.servicios .row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 0 !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-language-panel .hora.servicios .col {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 0 !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-language-panel .hora.servicios p[class^="linea_"],
.visual-layout-page[data-page-key="experience"] .alc-booking-language-panel .hora.servicios p[class*=" linea_"] {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-language-panel .hora.servicios input[name="servicio"] {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-language-panel .hora.servicios input[name="servicio"] + label {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    min-height: 48px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 11px 14px 11px 42px !important;
    border: 1px solid color-mix(in srgb, var(--alc-booking-border, #DED7CA) 78%, transparent) !important;
    border-radius: 12px !important;
    background: var(--alc-booking-card, #FFFFFF) !important;
    color: var(--alc-booking-ink, #484132) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    box-shadow: none !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-language-panel .hora.servicios input[name="servicio"] + label::before {
    content: "" !important;
    position: absolute !important;
    left: 15px !important;
    top: 50% !important;
    width: 18px !important;
    height: 18px !important;
    transform: translateY(-50%) !important;
    border: 2px solid color-mix(in srgb, var(--alc-booking-muted, #84775D) 72%, #fff) !important;
    border-radius: 999px !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-language-panel .hora.servicios input[name="servicio"]:checked + label {
    border-color: var(--alc-booking-brand, #362145) !important;
    background: color-mix(in srgb, var(--alc-booking-brand, #362145) 7%, #fff) !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-language-panel .hora.servicios input[name="servicio"]:checked + label::before {
    border-color: var(--alc-booking-brand, #362145) !important;
    background: radial-gradient(circle at center, var(--alc-booking-brand, #362145) 0 42%, #fff 45% 100%) !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-language-panel .hora.servicios input[name="servicio"]:disabled + label {
    opacity: .45 !important;
    cursor: default !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-language-panel .hora.servicios label small,
.visual-layout-page[data-page-key="experience"] .alc-booking-language-panel .hora.servicios label .agotadas {
    color: var(--alc-booking-muted, #84775D) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-language-panel .hora.servicios br {
    display: none !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-language-panel .hora.servicios label::after {
    display: none !important;
}

/* =========================================================
   Fase 40.91 - Experience booking compact time/language selectors
   Ajuste visual del sidebar: horarios en grid compacto y selector de idiomas
   sin radio circular visible, manteniendo inputs legacy para la lógica real.
   ========================================================= */
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px 12px !important;
    align-items: stretch !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora .col-auto,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #template_hora .col-auto {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    padding: 0 !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora p.with_info,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #template_hora p.with_info {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora input[name="hora"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    pointer-events: none !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora input[name="hora"] + label {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 54px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 12px 8px !important;
    border: 1px solid color-mix(in srgb, var(--alc-booking-border, #DED7CA) 78%, transparent) !important;
    border-radius: 10px !important;
    background: var(--alc-booking-card, #FFFFFF) !important;
    color: #374151 !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    text-align: center !important;
    cursor: pointer !important;
    box-shadow: none !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora input[name="hora"]:checked + label {
    border-color: #343434 !important;
    background: #343434 !important;
    color: #FFFFFF !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora input[name="hora"]:disabled + label {
    opacity: .45 !important;
    cursor: default !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora label br,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora label .agotadas {
    display: none !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-language-panel .hora.servicios input[name="servicio"] + label {
    min-height: 54px !important;
    justify-content: flex-start !important;
    padding: 14px 24px !important;
    border-radius: 10px !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    font-weight: 500 !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-language-panel .hora.servicios input[name="servicio"] + label::before {
    display: none !important;
    content: none !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-language-panel .hora.servicios input[name="servicio"]:checked + label {
    border-color: #343434 !important;
    background: #343434 !important;
    color: #FFFFFF !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-language-panel .hora.servicios input[name="servicio"]:checked + label::before {
    display: none !important;
    content: none !important;
}

.visual-layout-page[data-page-key="experience"] .alc-booking-language-panel .hora.servicios input[name="servicio"]:checked + label small,
.visual-layout-page[data-page-key="experience"] .alc-booking-language-panel .hora.servicios input[name="servicio"]:checked + label .agotadas {
    color: rgba(255,255,255,.78) !important;
}

@media (max-width: 420px) {
    .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* =========================================================
   Fase 40.92 - Experience booking time selector without radio dots
   Mantiene los inputs legacy para la lógica real, pero elimina los
   círculos visuales heredados de Materialize en las horas del sidebar.
   ========================================================= */
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora input[name="hora"] + label,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #template_hora input[name="hora"] + label {
    padding-left: 8px !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora input[name="hora"] + label::before,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora input[name="hora"] + label::after,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #template_hora input[name="hora"] + label::before,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #template_hora input[name="hora"] + label::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
}


/* =========================================================
   Fase 40.93 - Experience booking: force compact time grid
   El formulario legacy cambia a un <select> cuando hay muchas horas
   (tour 960). En el sidebar componetizado siempre debe verse el grid
   compacto del Figma; el select se mantiene en DOM solo para no romper
   lógica antigua, pero no se muestra.
   ========================================================= */
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora_contenedor_selector,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora_contenedor_selector select,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora_contenedor_selector .hora_selector_arrow {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora:not(:empty) {
    display: grid !important;
}

/* =========================================================
   Fase 40.96 - Experience booking: header alignment + sidebar top
   - El precio del sidebar vuelve al layout Figma: DESDE arriba a la izquierda
     y precio debajo, sin centrado heredado.
   - El sidebar se eleva para arrancar alineado con la subnavegación/tabs.
   ========================================================= */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-price-head {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    text-align: left !important;
    min-height: 94px !important;
    padding: 22px 34px 20px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-price-head small {
    align-self: flex-start !important;
    width: auto !important;
    margin: 0 0 8px !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-price-line {
    justify-content: flex-start !important;
    align-items: baseline !important;
    width: 100% !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-start-price {
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-sidebar {
    margin-top: calc(-1 * (82px + 42px)) !important;
}

@media (max-width: 1100px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-sidebar {
        margin-top: 0 !important;
    }
}


/* =========================================================
   Fase 40.97 - Experience hero title + gallery lightbox
   ========================================================= */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-title {
    max-width: 640px !important;
    text-align: left !important;
    font-family: var(--font-display-page-family, var(--font-display-family, Signika), Inter, Arial, sans-serif) !important;
    font-size: clamp(var(--font-display-section-size, 40px), 3.2vw, var(--font-display-page-size, 48px)) !important;
    line-height: var(--font-display-page-line-height, 56px) !important;
    letter-spacing: var(--font-display-page-letter-spacing, 0) !important;
    text-wrap: balance;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    white-space: normal !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-hero-copy {
    align-items: flex-start !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-gallery__button {
    appearance: none;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    border-radius: 14px;
    background: transparent;
    cursor: zoom-in;
    overflow: hidden;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-gallery__button:focus-visible {
    outline: 3px solid var(--foreground-base-brand, #5F3A78);
    outline-offset: 3px;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-gallery__button--main {
    grid-row: 1 / span 2;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-gallery__button img,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-gallery__tile img {
    transition: transform .22s ease;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-gallery__button:hover img {
    transform: scale(1.035);
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-gallery__tile {
    border: 0;
}

body.editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-gallery__button {
    cursor: default;
}

.alc-exp-lightbox {
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: clamp(18px, 4vw, 54px);
    background: rgba(15, 12, 18, .82);
}

.alc-exp-lightbox.is-open {
    display: flex;
}

.alc-exp-lightbox__dialog {
    position: relative;
    width: min(1120px, calc(100vw - 132px));
    max-height: min(820px, calc(100vh - 40px));
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
}

.alc-exp-lightbox__image-wrap {
    width: 100%;
    height: min(650px, calc(100vh - 190px));
    display: flex;
    align-items: center;
    justify-content: center;
}

.alc-exp-lightbox__image {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: calc(100vh - 190px);
    object-fit: contain;
    border-radius: var(--radius-lg, 14px);
    box-shadow: 0 24px 90px rgba(0, 0, 0, .32);
}

.alc-exp-lightbox__close,
.alc-exp-lightbox__nav {
    appearance: none;
    z-index: 2;
    border: 0;
    background: var(--white-100, #fff);
    color: var(--foreground-base-primary-strong, #22102D);
    cursor: pointer;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .25);
}

.alc-exp-lightbox__close {
    position: fixed;
    top: 22px;
    right: 22px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    font: 700 22px/1 var(--font-body-family, Inter, Arial, sans-serif);
}

.alc-exp-lightbox__nav {
    position: fixed;
    top: 50%;
    width: 42px;
    height: 42px;
    transform: translateY(-50%);
    border-radius: 50%;
    font: 700 30px/1 var(--font-display-family, Signika, Inter, Arial, sans-serif);
}

.alc-exp-lightbox__prev { left: 26px; }
.alc-exp-lightbox__next { right: 26px; }

.alc-exp-lightbox__thumbs {
    display: flex;
    gap: 9px;
    max-width: 100%;
    overflow-x: auto;
    padding: 8px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .13);
    -webkit-overflow-scrolling: touch;
}

.alc-exp-lightbox__thumb {
    appearance: none;
    width: 76px;
    height: 52px;
    flex: 0 0 auto;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 8px;
    overflow: hidden;
    background: transparent;
    opacity: .58;
    cursor: pointer;
}

.alc-exp-lightbox__thumb.is-active {
    opacity: 1;
    border-color: var(--white-100, #fff);
}

.alc-exp-lightbox__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

@media (max-width: 680px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-title {
        font-size: var(--font-display-page-size, 40px) !important;
        line-height: var(--font-display-page-line-height, 48px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-gallery__button--main {
        grid-column: 1 / span 2;
        grid-row: auto;
    }

    .alc-exp-lightbox {
        padding: 18px;
    }

    .alc-exp-lightbox__dialog {
        width: min(100%, calc(100vw - 36px));
    }

    .alc-exp-lightbox__image-wrap {
        height: calc(100vh - 150px);
        max-height: calc(100vh - 150px);
    }

    .alc-exp-lightbox__image {
        max-height: calc(100vh - 150px);
    }

    .alc-exp-lightbox__nav {
        width: 36px;
        height: 36px;
        font-size: 24px;
    }

    .alc-exp-lightbox__prev { left: 10px; }
    .alc-exp-lightbox__next { right: 10px; }
    .alc-exp-lightbox__close { top: 10px; right: 10px; }
}

body.alc-exp-lightbox-open {
    overflow: hidden;
}

/* Fase 40.100 - Header: acercar caret de idioma y divisa al texto según Figma */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__select {
    display: inline-flex !important;
    align-items: center !important;
    width: max-content !important;
    min-width: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__select .select-selected {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    width: max-content !important;
    min-width: 0 !important;
    padding: 0 !important;
    gap: var(--spacing-150, 6px) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__select .select-selected::after {
    position: static !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: auto !important;
    margin-left: var(--spacing-050, 2px) !important;
    font-size: 11px !important;
    line-height: 1 !important;
    color: currentColor !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__language,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__currency {
    flex: 0 0 auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__currency .select-selected span:last-child,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__currency .select-items div span:last-child {
    min-width: 0 !important;
}

/* ─── Fase 40.105: Fix header mobile tras ajuste desktop de caret.
   La capa 40.100 era global y en mobile volvía a mostrar idioma/divisa con
   display inline-flex, haciendo que el flex comprimiera el logo hasta quedar
   microscópico. Esta capa final reequilibra SOLO mobile: logo con ancho fijo,
   acciones compactas y selectores sin romper el layout. */
@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 10000 !important;
        width: 100% !important;
        padding: 18px 0 !important;
        background: var(--white-100, #fff) !important;
        border-bottom: 1px solid rgba(95, 58, 120, 0.08) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__inner {
        width: min(390px, calc(100vw - 40px)) !important;
        max-width: min(390px, calc(100vw - 40px)) !important;
        min-height: 36px !important;
        margin: 0 auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 14px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__logo,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__logo:hover {
        flex: 0 0 106px !important;
        width: 106px !important;
        min-width: 106px !important;
        max-width: 106px !important;
        display: inline-flex !important;
        align-items: center !important;
        text-decoration: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__logo img {
        width: 106px !important;
        min-width: 106px !important;
        max-width: none !important;
        height: auto !important;
        display: block !important;
        flex: 0 0 auto !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__nav,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__divider {
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__actions {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 12px !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__language,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__currency {
        display: inline-flex !important;
        flex: 0 0 auto !important;
        min-width: 0 !important;
        width: auto !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__select .select-selected {
        display: inline-flex !important;
        align-items: center !important;
        gap: 4px !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 18px !important;
        padding: 0 !important;
        color: var(--foreground-base-brand-emphasis, #5F3A78) !important;
        font-family: var(--font-action-nav-family, var(--font-body-family, Inter)), Inter, Arial, sans-serif !important;
        font-size: 12px !important;
        line-height: 16px !important;
        font-weight: 700 !important;
        letter-spacing: .01em !important;
        white-space: nowrap !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__select .select-selected::after {
        position: static !important;
        display: inline-flex !important;
        margin-left: 1px !important;
        transform: none !important;
        font-size: 10px !important;
        line-height: 1 !important;
        color: currentColor !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__icon {
        width: 14px !important;
        height: 14px !important;
        flex: 0 0 14px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__actions a,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__mobile-menu-toggle {
        flex: 0 0 auto !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__actions a[href="#contacto"].ftc-site-header__contact-link,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__actions a[href="#faq"].ftc-site-header__faq-link {
        width: 26px !important;
        height: 26px !important;
        min-width: 26px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__mobile-menu-toggle {
        display: inline-flex !important;
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        gap: 5px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__mobile-menu-toggle span {
        width: 24px !important;
        height: 3px !important;
    }
}

@media (max-width: 380px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__inner {
        width: calc(100vw - 28px) !important;
        max-width: calc(100vw - 28px) !important;
        gap: 10px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__logo,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__logo:hover {
        flex-basis: 92px !important;
        width: 92px !important;
        min-width: 92px !important;
        max-width: 92px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__logo img {
        width: 92px !important;
        min-width: 92px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__actions {
        gap: 9px !important;
    }
}

/* =========================================================
   Checkout componetizado - Details
   Fuente Figma: Desktop | Checkout - Details
   ========================================================= */
body.componentes-checkout-flow > header,
body.componentes-checkout-flow > #header-floating-bar {
    display: none !important;
}

body.componentes-checkout-flow {
    background: var(--background-base-default, #fff) !important;
}

/* Checkout flow: bridge the selected site colour to the legacy brand aliases. */
.visual-layout-page[data-page-key^="checkout_"] {
    --foreground-base-brand: var(--foreground-base-brand-mid, var(--theme-color, #6B3E82));
    --surface-brand-strong: var(--background-action-primary-default, var(--foreground-base-brand-mid, var(--theme-color, #6B3E82)));
}

.visual-layout-page[data-page-key="checkout_details"] {
    background: var(--background-base-default, #fff) !important;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-layout-section,
.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-layout-section > .ve-section-inner {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-layout-section > .ve-section-inner {
    display: block !important;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--background-base-default, #fff);
    color: var(--foreground-base-primary, #484132);
    font-family: var(--font-body-family, Inter, Arial, sans-serif);
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-header {
    display: flex;
    height: 96px;
    padding: 0 var(--layout-section-x-spacing, var(--section-x-spacing, 72px));
    flex-direction: column;
    justify-content: center;
    align-items: center;
    align-self: stretch;
    position: relative;
    background: var(--background-base-default, #fff);
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-back {
    position: absolute;
    left: max(24px, var(--layout-section-x-spacing, 72px));
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border-base-tertiary-mid, #F0EBE1);
    border-radius: 999px;
    background: var(--background-base-default, #fff);
    color: var(--foreground-base-tertiary, #84775D);
    cursor: pointer;
    font-size: 22px;
    line-height: 1;
    padding: 0;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-logo img {
    width: 146px;
    height: auto;
    display: block;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-main {
    display: flex;
    justify-content: center;
    flex: 1 0 auto;
    padding: 54px 80px;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-frame {
    display: flex;
    max-width: var(--container-content, var(--layout-container-content, 1440px));
    width: 100%;
    align-items: flex-start;
    gap: 104px;
    flex: 1 0 0;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 35px;
    flex: 1 0 0;
    min-width: 0;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-right {
    display: flex;
    width: 402px;
    max-width: 402px;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    flex: 0 0 402px;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-steps {
    display: flex;
    height: 56px;
    align-items: center;
    gap: 32px;
    align-self: stretch;
    border-bottom: 1px solid var(--border-base-tertiary-mid, #F0EBE1);
    background: var(--background-base-default-soft, #FFF);
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-step {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--foreground-base-tertiary, #84775D);
    font-family: var(--font-action-label-family, var(--font-body-family, Inter, Arial, sans-serif));
    font-size: 12px;
    line-height: 16px;
    font-weight: 700;
    white-space: nowrap;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-step b {
    width: 20px;
    height: 20px;
    border-radius: 999px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--border-base-default, #DED7CA);
    color: currentColor;
    font-size: 11px;
    line-height: 1;
    font-weight: 700;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-step--active {
    color: var(--foreground-base-brand, #6B3E82);
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-step--active b,
.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-step--done b {
    border-color: var(--surface-brand-strong, #6B3E82);
    background: var(--surface-brand-strong, #6B3E82);
    color: var(--foreground-base-inverse, #fff);
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-step-separator {
    width: 36px;
    height: 1px;
    background: var(--border-base-tertiary-mid, #F0EBE1);
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-title-block h1 {
    margin: 0;
    color: var(--foreground-base-primary, #484132);
    font-family: var(--font-heading-family, var(--font-body-family, Inter, Arial, sans-serif));
    font-size: clamp(24px, 1.5vw, 32px);
    line-height: 1.18;
    font-weight: 700;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-title-block::after {
    content: "";
    display: block;
    width: 48px;
    height: 1px;
    margin-top: 16px;
    background: var(--border-base-secondary, #8D7F64);
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-contact-form {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    align-self: stretch;
    border-radius: var(--radius-md, 12px);
    border: var(--stroke-sm, 1px) solid var(--border-base-tertiary-mid, #F0EBE1);
    background: var(--background-base-default, #fff);
    padding: 24px;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(3, max-content);
    grid-auto-rows: max-content;
    align-items: start;
    align-content: start;
    gap: 24px;
    width: 100%;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
    color: var(--foreground-base-secondary-mid, #665C48);
    font-family: var(--font-field-label-family, var(--font-body-family, Inter, Arial, sans-serif));
    font-size: var(--font-field-label-size, 14px);
    line-height: var(--font-field-label-line-height, 20px);
    font-weight: 500;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-field-label {
    display: block;
    width: 100%;
    text-align: left;
    color: var(--foreground-base-secondary-mid, #665C48);
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-input-control {
    position: relative;
    display: block;
    width: 100%;
    min-width: 0;
    height: 48px;
    line-height: 0;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-field input,
.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-field select {
    display: block;
    width: 100%;
    height: 48px;
    border: var(--stroke-sm, 1px) solid var(--border-base-secondary-mid, #DED9D0) !important;
    border-radius: var(--radius-sm, 8px) !important;
    background: var(--background-base-default, #fff) !important;
    color: var(--foreground-base-secondary-mid, #665C48) !important;
    font-family: var(--font-field-label-family, var(--font-body-family, Inter, Arial, sans-serif));
    font-size: var(--font-field-label-size, 14px) !important;
    line-height: var(--font-field-label-line-height, 20px) !important;
    padding: 8px 12px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .05) !important;
    box-sizing: border-box;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-field input:-webkit-autofill,
.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-field input:-webkit-autofill:hover,
.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-field input:-webkit-autofill:focus,
.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-field input:-webkit-autofill:active {
    -webkit-text-fill-color: var(--foreground-base-primary, #484132) !important;
    caret-color: var(--foreground-base-primary, #484132) !important;
    -webkit-box-shadow: 0 0 0 1000px var(--background-base-default, #fff) inset !important;
    box-shadow: 0 0 0 1000px var(--background-base-default, #fff) inset !important;
    transition: background-color 9999s ease-out 0s;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-field input:autofill {
    color: var(--foreground-base-primary, #484132) !important;
    background: var(--background-base-default, #fff) !important;
    box-shadow: 0 0 0 1000px var(--background-base-default, #fff) inset !important;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-field input::placeholder {
    color: var(--foreground-action-secondary-disabled, #C8B99A);
    opacity: 1;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-field input.is-invalid,
.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-field select.is-invalid {
    border-color: var(--border-feedback-error-mid, #B84035) !important;
    color: var(--foreground-feedback-error-mid, #B84035) !important;
    padding-right: 40px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .05) !important;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-field input.is-invalid:focus,
.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-field select.is-invalid:focus {
    outline: none;
    border-color: var(--border-feedback-error-mid, #B84035) !important;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-field input.is-invalid::placeholder,
.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-field.has-error > .alc-checkout-field-label {
    color: var(--foreground-feedback-error-mid, #B84035);
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-field input.is-invalid:-webkit-autofill {
    -webkit-text-fill-color: var(--foreground-feedback-error-mid, #B84035) !important;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-field-status {
    display: none;
    position: absolute;
    z-index: 2;
    top: 50%;
    right: 12px;
    width: 16px;
    height: 16px;
    transform: translateY(-50%);
    pointer-events: none;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-field.has-error .alc-checkout-field-status {
    display: block;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-field-message {
    display: flex;
    align-items: flex-start;
    gap: 4px;
    width: 100%;
    color: var(--foreground-feedback-error-mid, #B84035);
    font-family: var(--font-field-detail-family, var(--font-body-family, Inter, Arial, sans-serif));
    font-size: var(--font-field-detail-size, 12px);
    line-height: var(--font-field-detail-line-height, 16px);
    font-weight: 500;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-field-message[hidden] {
    display: none !important;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-field-message img {
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-phone-field {
    grid-column: 1 / 2;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-phone-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-phone-row > .alc-checkout-input-control {
    grid-column: 2 / span 2;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-prefix-control {
    position: relative;
    min-width: 0;
    height: 48px;
    line-height: 0;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-prefix-control::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 12px;
    z-index: 3;
    width: 7px;
    height: 7px;
    border-right: 2px solid var(--foreground-base-secondary, #6B6253);
    border-bottom: 2px solid var(--foreground-base-secondary, #6B6253);
    transform: translateY(-65%) rotate(45deg);
    pointer-events: none;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-prefix-flag {
    position: absolute;
    z-index: 3;
    top: 0;
    bottom: 0;
    left: 12px;
    width: 22px;
    height: 16px;
    margin: auto 0;
    border-radius: 2px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    box-shadow: 0 0 0 1px rgba(72, 65, 50, .12);
    pointer-events: none;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-prefix-control select {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    position: relative;
    z-index: 2;
    padding-right: 36px !important;
    padding-left: 44px !important;
    color: transparent !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    cursor: pointer;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-info {
    display: flex;
    padding: var(--elements-inset-loose, 32px);
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    align-self: stretch;
    border-radius: 16px;
    background: var(--background-base-default-soft, #FAF8F3);
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-info h2 {
    margin: 0 auto;
    color: var(--foreground-base-tertiary, #84775D);
    font-family: var(--font-action-label-family, var(--font-body-family, Inter, Arial, sans-serif));
    font-size: 11px;
    font-weight: 800;
    line-height: 16px;
    letter-spacing: .24em;
    text-transform: uppercase;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-info ul {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none;
    width: 100%;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-info li {
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: 12px;
    color: var(--foreground-base-secondary, #6B6253);
    font-size: 12px;
    line-height: 16px;
    min-height: 48px;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-info li span {
    width: 18px;
    height: 18px;
    border: 1px solid currentColor;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-summary-card {
    display: flex;
    width: 402px;
    max-width: 402px;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    border: 1px solid var(--border-base-tertiary-mid, #F0EBE1);
    border-radius: var(--radius-md, 12px);
    background: var(--background-base-default, #fff);
    overflow: hidden;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-summary-head,
.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-summary-body,
.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-summary-total {
    width: 100%;
    box-sizing: border-box;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-summary-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 40px;
    padding: 0 0 8px;
    border-bottom: var(--stroke-sm, 1px) solid var(--border-base-secondary-mid, #DED9D0);
    color: var(--foreground-base-tertiary, #84775D);
    font-family: var(--font-action-label-family, var(--font-body-family, Inter, Arial, sans-serif));
    font-size: 11px;
    line-height: 16px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    text-align: left;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-summary-head a {
    color: var(--foreground-base-tertiary, #84775D);
    text-decoration: none;
    font-size: 18px;
    line-height: 1;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-summary-body {
    padding: 8px 0 0;
    border-bottom: 0;
    text-align: left;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-summary-body h2 {
    margin: 0 0 16px;
    color: var(--foreground-base-primary, #484132);
    font-family: var(--font-heading-family, var(--font-body-family, Inter, Arial, sans-serif));
    font-size: 16px;
    line-height: 22px;
    font-weight: 800;
    text-align: left;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-summary-body dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 4px;
    margin: 0;
    color: var(--foreground-base-secondary, #6B6253);
    font-size: 12px;
    line-height: 16px;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-summary-body dt {
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: 10px;
    font-weight: 800;
    color: var(--foreground-base-tertiary, #84775D);
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-summary-body dd {
    margin: 0;
    text-align: left;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-summary-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 16px 0;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-summary-footer {
    display: flex;
    width: 100%;
    flex-direction: column;
    border-top: var(--stroke-sm, 1px) solid var(--border-base-secondary-mid, #DED9D0);
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-summary-total span {
    color: var(--foreground-base-tertiary, #84775D);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .12em;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-summary-total strong {
    color: var(--foreground-base-brand, #6B3E82);
    font-size: 28px;
    line-height: 32px;
    font-weight: 900;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-continue {
    display: flex;
    width: calc(100% - 32px);
    height: 44px;
    margin: 24px 16px 16px;
    justify-content: center;
    align-items: center;
    border: 0;
    border-radius: 999px;
    background: var(--surface-brand-strong, #6B3E82);
    color: var(--foreground-base-inverse, #fff);
    font-family: var(--font-action-label-family, var(--font-body-family, Inter, Arial, sans-serif));
    font-size: 12px;
    line-height: 16px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    cursor: pointer;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-continue:disabled {
    opacity: .55;
    cursor: not-allowed;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-prefix-control select option {
    color: var(--foreground-base-secondary-mid, #665C48);
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-prefix-label {
    position: absolute;
    z-index: 3;
    top: 50%;
    right: 36px;
    left: 44px;
    overflow: hidden;
    transform: translateY(-50%);
    white-space: nowrap;
    text-overflow: ellipsis;
    line-height: var(--font-field-label-line-height, 20px);
    pointer-events: none;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-book-now-requirements {
    width: 402px;
    max-width: 402px;
    padding: 20px 24px;
    box-sizing: border-box;
    border: 1px solid var(--border-base-tertiary-mid, #F0EBE1);
    border-radius: var(--radius-md, 12px) var(--radius-md, 12px) var(--radius-xl, 24px) var(--radius-xl, 24px);
    background: var(--background-base-default-soft, #FAF8F3);
    color: var(--foreground-base-secondary, #6B6253);
    font-family: var(--font-body-family, Inter, Arial, sans-serif);
    font-size: 12px;
    line-height: 18px;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-book-now-requirement,
.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-book-now-requirement p {
    margin: 0;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-book-now-requirement + .alc-checkout-book-now-requirement {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--border-base-tertiary-mid, #F0EBE1);
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-book-now-requirement ul,
.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-book-now-requirement ol {
    margin: 8px 0 0;
    padding-left: 20px;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-book-now-requirement a {
    color: var(--foreground-base-brand, #6B3E82);
    font-weight: 700;
    text-underline-offset: 2px;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-form-error {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-form-error.is-success {
    color: #2F684E;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-footer {
    display: flex;
    padding: var(--elements-inset-cozy, 24px) var(--layout-section-x-spacing, 72px);
    justify-content: center;
    align-items: center;
    align-self: stretch;
    background: var(--background-base-default-soft, #FAF8F3);
    color: var(--foreground-base-tertiary, #84775D);
    font-size: 12px;
    line-height: 16px;
}

@media (max-width: 1440px) {
    .visual-layout-page[data-page-key="checkout_details"] .alc-checkout-phone-field {
        grid-column: 1 / -1;
    }
}

@media (max-width: 1024px) {
    .visual-layout-page[data-page-key="checkout_details"] .alc-checkout-main {
        padding: 32px 24px;
    }
    .visual-layout-page[data-page-key="checkout_details"] .alc-checkout-frame {
        flex-direction: column;
        gap: 32px;
    }
    .visual-layout-page[data-page-key="checkout_details"] .alc-checkout-right,
    .visual-layout-page[data-page-key="checkout_details"] .alc-checkout-summary-card,
    .visual-layout-page[data-page-key="checkout_details"] .alc-checkout-book-now-requirements {
        width: 100%;
        max-width: none;
        flex-basis: auto;
    }
}

@media (max-width: 640px) {
    .visual-layout-page[data-page-key="checkout_details"] .alc-checkout-header {
        height: 76px;
        padding: 0 20px;
    }
    .visual-layout-page[data-page-key="checkout_details"] .alc-checkout-back {
        left: 20px;
    }
    .visual-layout-page[data-page-key="checkout_details"] .alc-checkout-logo img {
        width: 120px;
    }
    .visual-layout-page[data-page-key="checkout_details"] .alc-checkout-main {
        padding: 24px 16px;
    }
    .visual-layout-page[data-page-key="checkout_details"] .alc-checkout-steps {
        gap: 12px;
        overflow-x: auto;
    }
    .visual-layout-page[data-page-key="checkout_details"] .alc-checkout-step-separator {
        width: 22px;
    }
    .visual-layout-page[data-page-key="checkout_details"] .alc-checkout-contact-form {
        padding: 20px;
    }
    .visual-layout-page[data-page-key="checkout_details"] .alc-checkout-field-grid,
    .visual-layout-page[data-page-key="checkout_details"] .alc-checkout-info ul {
        grid-template-columns: 1fr;
    }
    .visual-layout-page[data-page-key="checkout_details"] .alc-checkout-phone-field {
        grid-column: auto;
    }
    .visual-layout-page[data-page-key="checkout_details"] .alc-checkout-phone-row {
        grid-template-columns: 150px minmax(0, 1fr);
    }
    .visual-layout-page[data-page-key="checkout_details"] .alc-checkout-phone-row > .alc-checkout-input-control {
        grid-column: auto;
    }
    .visual-layout-page[data-page-key="checkout_details"] .alc-checkout-info {
        padding: 24px;
    }
}

/* Fase 42c — checkout_details por piezas editables */
.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-info-list {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
    width: 100%;
    align-items: start;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-info-item {
    color: var(--foreground-base-secondary, #6B6253);
    font-size: 12px;
    line-height: 16px;
    min-height: 48px;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-info-item p {
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: 12px;
    margin: 0;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-info-item span[aria-hidden="true"] {
    width: 18px;
    height: 18px;
    border: 1px solid currentColor;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}

@media (max-width: 640px) {
    .visual-layout-page[data-page-key="checkout_details"] .alc-checkout-info-list {
        grid-template-columns: 1fr !important;
    }
}

/* Fase 42f — flujo checkout pre-pago por pasos (datos contacto → visitantes → pago legacy) */
.visual-layout-page[data-page-key="checkout_visitors"] {
    background: var(--background-base-default, #fff) !important;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-layout-section,
.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-layout-section > .ve-section-inner {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-layout-section > .ve-section-inner {
    display: block !important;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--background-base-default, #fff);
    color: var(--foreground-base-primary, #484132);
    font-family: var(--font-body-family, Inter, Arial, sans-serif);
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-header {
    display: flex;
    height: 96px;
    padding: 0 var(--layout-section-x-spacing, var(--section-x-spacing, 72px));
    flex-direction: column;
    justify-content: center;
    align-items: center;
    align-self: stretch;
    position: relative;
    background: var(--background-base-default, #fff);
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-back {
    position: absolute;
    left: max(24px, var(--layout-section-x-spacing, 72px));
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border-base-tertiary-mid, #F0EBE1);
    border-radius: 999px;
    background: var(--background-base-default, #fff);
    color: var(--foreground-base-tertiary, #84775D);
    cursor: pointer;
    font-size: 22px;
    line-height: 1;
    padding: 0;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-logo img {
    width: 146px;
    height: auto;
    display: block;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-main {
    display: flex;
    justify-content: center;
    flex: 1 0 auto;
    padding: 54px 80px;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-frame {
    display: flex;
    max-width: var(--container-content, var(--layout-container-content, 1440px));
    width: 100%;
    align-items: flex-start;
    gap: 104px;
    flex: 1 0 0;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 35px;
    flex: 1 0 0;
    min-width: 0;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-right {
    display: flex;
    width: 402px;
    max-width: 402px;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    flex: 0 0 402px;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-steps {
    display: flex;
    height: 48px;
    align-items: center;
    gap: 32px;
    align-self: stretch;
    border-bottom: 1px solid var(--border-base-tertiary-mid, #F0EBE1);
    background: var(--background-base-default-soft, #FFF);
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-step {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--foreground-base-tertiary, #84775D);
    font-family: var(--font-action-label-family, var(--font-body-family, Inter, Arial, sans-serif));
    font-size: 12px;
    line-height: 16px;
    font-weight: 700;
    white-space: nowrap;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-step b {
    width: 20px;
    height: 20px;
    border-radius: 999px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--border-base-default, #DED7CA);
    color: currentColor;
    font-size: 11px;
    line-height: 1;
    font-weight: 700;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-step--active {
    color: var(--foreground-base-brand, #6B3E82);
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-step--active b,
.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-step--done b {
    border-color: var(--surface-brand-strong, #6B3E82);
    background: var(--surface-brand-strong, #6B3E82);
    color: var(--foreground-base-inverse, #fff);
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-step-separator {
    width: 36px;
    height: 1px;
    background: var(--border-base-tertiary-mid, #F0EBE1);
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-title-block h1,
.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-title-block .alc-checkout-title {
    margin: 0;
    color: var(--foreground-base-primary, #484132);
    font-family: var(--font-heading-family, var(--font-body-family, Inter, Arial, sans-serif));
    font-size: clamp(24px, 1.5vw, 32px);
    line-height: 1.18;
    font-weight: 700;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-title-block::after {
    content: "";
    display: block;
    width: 48px;
    height: 1px;
    margin-top: 16px;
    background: var(--border-base-secondary, #8D7F64);
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-summary-contact,
.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-summary-contact {
    width: 100%;
    box-sizing: border-box;
    padding: 0 24px 16px;
    border-bottom: 1px solid var(--border-base-tertiary-mid, #F0EBE1);
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-summary-contact .alc-checkout-summary-head,
.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-summary-contact .alc-checkout-summary-head {
    padding: 0 0 12px;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-summary-contact dl,
.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-summary-contact dl {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 8px 16px;
    margin: 0;
    color: var(--foreground-base-secondary, #6B6253);
    font-size: 12px;
    line-height: 16px;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-summary-contact dt,
.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-summary-contact dt {
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: 10px;
    font-weight: 800;
    color: var(--foreground-base-tertiary, #84775D);
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-summary-contact dd,
.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-summary-contact dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-summary-card {
    display: flex;
    width: 402px;
    max-width: 402px;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    border: 1px solid var(--border-base-tertiary-mid, #F0EBE1);
    border-radius: var(--radius-md, 12px);
    background: var(--background-base-default, #fff);
    overflow: hidden;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-summary-content {
    width: 100%;
    padding: 16px;
    box-sizing: border-box;
}

.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-summary-experience {
    width: 100%;
    padding: 16px;
    box-sizing: border-box;
    border: var(--stroke-sm, 1px) solid var(--border-base-secondary-mid, #DED9D0);
    border-radius: var(--radius-sm, 8px);
    overflow: hidden;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-summary-head,
.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-summary-body,
.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-summary-total {
    width: 100%;
    box-sizing: border-box;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-summary-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px 0;
    color: var(--foreground-base-tertiary, #84775D);
    font-family: var(--font-action-label-family, var(--font-body-family, Inter, Arial, sans-serif));
    font-size: 11px;
    line-height: 16px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-summary-head a {
    color: var(--foreground-base-tertiary, #84775D);
    text-decoration: none;
    font-size: 18px;
    line-height: 1;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-summary-body {
    padding: 0 24px 16px;
    border-bottom: 1px solid var(--border-base-tertiary-mid, #F0EBE1);
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-summary-body h2 {
    margin: 0 0 20px;
    color: var(--foreground-base-primary, #484132);
    font-family: var(--font-heading-family, var(--font-body-family, Inter, Arial, sans-serif));
    font-size: 16px;
    line-height: 22px;
    font-weight: 800;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-summary-body dl {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 10px 16px;
    margin: 0;
    color: var(--foreground-base-secondary, #6B6253);
    font-size: 12px;
    line-height: 16px;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-summary-body dt {
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: 10px;
    font-weight: 800;
    color: var(--foreground-base-tertiary, #84775D);
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-summary-body dd {
    margin: 0;
    text-align: left;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-summary-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 24px;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-summary-total span {
    color: var(--foreground-base-tertiary, #84775D);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .12em;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-summary-total strong {
    color: var(--foreground-base-brand, #6B3E82);
    font-size: 28px;
    line-height: 32px;
    font-weight: 900;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-continue {
    display: flex;
    width: calc(100% - 48px);
    height: 48px;
    margin: 0 24px 24px;
    justify-content: center;
    align-items: center;
    border: 0;
    border-radius: 999px;
    background: var(--surface-brand-strong, #6B3E82);
    color: var(--foreground-base-inverse, #fff);
    font-family: var(--font-action-label-family, var(--font-body-family, Inter, Arial, sans-serif));
    font-size: 12px;
    line-height: 16px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    cursor: pointer;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-continue:disabled {
    opacity: .55;
    cursor: not-allowed;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-visitors-form {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 16px;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-visitors-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-visitor-card {
    border: 1px solid var(--border-base-tertiary-mid, #F0EBE1);
    border-radius: var(--radius-md, 12px);
    background: var(--background-base-default, #fff);
    overflow: hidden;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-visitor-card header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 48px;
    padding: 0 16px;
    background: var(--background-base-default-soft, #FAF8F3);
    color: var(--foreground-base-primary, #484132);
    font-size: 13px;
    font-weight: 800;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-visitor-grid {
    padding: 16px;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 32px;
    width: 100%;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
    color: var(--foreground-base-primary, #484132);
    font-family: var(--font-body-family, Inter, Arial, sans-serif);
    font-size: 12px;
    line-height: 16px;
    font-weight: 700;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-field input {
    height: 42px;
    border: 1px solid var(--border-base-default, #DED7CA) !important;
    border-radius: var(--radius-sm, 8px) !important;
    background: var(--background-base-default, #fff) !important;
    color: var(--foreground-base-primary, #484132) !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif);
    font-size: 14px !important;
    line-height: 20px !important;
    padding: 0 14px !important;
    box-shadow: none !important;
    box-sizing: border-box;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-field input.is-invalid {
    border-color: #A83400 !important;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-info {
    display: flex;
    padding: var(--elements-inset-loose, 32px) var(--layout-section-x-spacing, 72px) var(--elements-inset-loose, 32px) var(--space-lg, 32px);
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    align-self: stretch;
    border-radius: var(--radius-md, 12px);
    background: var(--background-base-default-soft, #FAF8F3);
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-info h2 {
    margin: 0;
    align-self: center;
    color: var(--foreground-base-tertiary, #84775D);
    font-size: 11px;
    line-height: 16px;
    font-weight: 800;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-info ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    padding: 0;
    margin: 0;
    list-style: none;
    width: 100%;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-info li {
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: 12px;
    color: var(--foreground-base-secondary, #6B6253);
    font-size: 12px;
    line-height: 16px;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-info li span {
    width: 18px;
    height: 18px;
    border: 1px solid currentColor;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
}

.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-footer {
    display: flex;
    padding: var(--elements-inset-cozy, 24px) var(--layout-section-x-spacing, 72px);
    justify-content: center;
    align-items: center;
    align-self: stretch;
    background: var(--background-base-default-soft, #FAF8F3);
    color: var(--foreground-base-tertiary, #84775D);
    font-size: 12px;
    line-height: 16px;
}

@media (max-width: 1024px) {
    .visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-main { padding: 32px 24px; }
    .visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-frame { flex-direction: column; gap: 32px; }
    .visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-right,
    .visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-summary-card { width: 100%; max-width: none; flex-basis: auto; }
}

@media (max-width: 640px) {
    .visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-header { height: 76px; padding: 0 20px; }
    .visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-back { left: 20px; }
    .visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-logo img { width: 120px; }
    .visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-main { padding: 24px 16px; }
    .visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-steps { gap: 12px; overflow-x: auto; }
    .visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-step-separator { width: 22px; }
    .visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-field-grid,
    .visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-info ul { grid-template-columns: 1fr; }
    .visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-info { padding: 24px; }
}

/* Fase 43 — Checkout payment componentizado conectado a Stripe legacy */
.visual-layout-page[data-page-key="checkout_payment"] {
    background: var(--background-base-default, #fff) !important;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-layout-section,
.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-layout-section > .ve-section-inner {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-layout-section > .ve-section-inner {
    display: block !important;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--background-base-default, #fff);
    color: var(--foreground-base-primary, #484132);
    font-family: var(--font-body-family, Inter, Arial, sans-serif);
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-header {
    display: flex;
    height: 96px;
    padding: 0 var(--layout-section-x-spacing, var(--section-x-spacing, 72px));
    flex-direction: column;
    justify-content: center;
    align-items: center;
    align-self: stretch;
    position: relative;
    background: var(--background-base-default, #fff);
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-back {
    position: absolute;
    left: max(24px, var(--layout-section-x-spacing, 72px));
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border-base-tertiary-mid, #F0EBE1);
    border-radius: 999px;
    background: var(--background-base-default, #fff);
    color: var(--foreground-base-tertiary, #84775D);
    cursor: pointer;
    font-size: 22px;
    line-height: 1;
    padding: 0;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-logo img {
    width: 146px;
    height: auto;
    display: block;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-reserved-timer {
    position: absolute;
    right: max(24px, var(--layout-section-x-spacing, 72px));
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: min(360px, 38vw);
    padding: 8px 14px;
    border: 1px solid var(--border-base-subtle, #d8d1c7);
    border-radius: 999px;
    background: var(--background-base-default, #fff);
    color: var(--foreground-base-secondary, #5d554d);
    font-size: 12px;
    line-height: 1;
    white-space: nowrap;
    box-shadow: 0 8px 24px rgba(49, 36, 20, .04);
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-reserved-timer[hidden] {
    display: none !important;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-reserved-icon {
    font-size: 13px;
    line-height: 1;
    opacity: .76;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-reserved-timer strong {
    color: inherit;
    font-weight: 750;
    font-variant-numeric: tabular-nums;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-main {
    display: flex;
    justify-content: center;
    flex: 1 0 auto;
    padding: 54px 80px;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-frame {
    display: flex;
    max-width: var(--container-content, var(--layout-container-content, 1440px));
    width: 100%;
    align-items: flex-start;
    gap: 104px;
    flex: 1 0 0;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 35px;
    flex: 1 0 0;
    min-width: 0;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-right {
    display: flex;
    width: 402px;
    max-width: 402px;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    flex: 0 0 402px;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-steps {
    display: flex;
    height: 48px;
    align-items: center;
    gap: 32px;
    align-self: stretch;
    border-bottom: 1px solid var(--border-base-tertiary-mid, #F0EBE1);
    background: var(--background-base-default-soft, #FFF);
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-step {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--foreground-base-tertiary, #84775D);
    font-family: var(--font-action-label-family, var(--font-body-family, Inter, Arial, sans-serif));
    font-size: 12px;
    line-height: 16px;
    font-weight: 700;
    white-space: nowrap;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-step b {
    width: 20px;
    height: 20px;
    border-radius: 999px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--border-base-default, #DED7CA);
    color: currentColor;
    font-size: 11px;
    line-height: 1;
    font-weight: 700;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-step--active {
    color: var(--foreground-base-brand, #6B3E82);
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-step--active b,
.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-step--done b {
    border-color: var(--surface-brand-strong, #6B3E82);
    background: var(--surface-brand-strong, #6B3E82);
    color: var(--foreground-base-inverse, #fff);
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-step-separator {
    width: 36px;
    height: 1px;
    background: var(--border-base-tertiary-mid, #F0EBE1);
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-title-block h1,
.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-title-block .alc-checkout-title {
    margin: 0;
    color: var(--foreground-base-primary, #484132);
    font-family: var(--font-heading-family, var(--font-body-family, Inter, Arial, sans-serif));
    font-size: clamp(24px, 1.5vw, 32px);
    line-height: 1.18;
    font-weight: 700;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-title-block::after {
    content: "";
    display: block;
    width: 48px;
    height: 1px;
    margin-top: 16px;
    background: var(--border-base-secondary, #8D7F64);
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-summary-card {
    display: flex;
    width: 402px;
    max-width: 402px;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    border: 1px solid var(--border-base-tertiary-mid, #F0EBE1);
    border-radius: var(--radius-md, 12px);
    background: var(--background-base-default, #fff);
    overflow: hidden;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-summary-head,
.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-summary-body,
.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-summary-total {
    width: 100%;
    box-sizing: border-box;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-summary-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px 0;
    color: var(--foreground-base-tertiary, #84775D);
    font-family: var(--font-action-label-family, var(--font-body-family, Inter, Arial, sans-serif));
    font-size: 11px;
    line-height: 16px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-summary-head a {
    color: var(--foreground-base-tertiary, #84775D);
    text-decoration: none;
    font-size: 18px;
    line-height: 1;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-summary-body {
    padding: 0 24px 16px;
    border-bottom: 1px solid var(--border-base-tertiary-mid, #F0EBE1);
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-summary-body h2 {
    margin: 0 0 20px;
    color: var(--foreground-base-primary, #484132);
    font-family: var(--font-heading-family, var(--font-body-family, Inter, Arial, sans-serif));
    font-size: 16px;
    line-height: 22px;
    font-weight: 800;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-summary-body dl {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 10px 16px;
    margin: 0;
    color: var(--foreground-base-secondary, #6B6253);
    font-size: 12px;
    line-height: 16px;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-summary-body dt,
.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-summary-contact dt {
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: 10px;
    font-weight: 800;
    color: var(--foreground-base-tertiary, #84775D);
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-summary-body dd,
.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-summary-contact dd {
    margin: 0;
    text-align: left;
    overflow-wrap: anywhere;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-summary-contact {
    width: 100%;
    box-sizing: border-box;
    padding: 0 24px 16px;
    border-bottom: 1px solid var(--border-base-tertiary-mid, #F0EBE1);
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-summary-contact .alc-checkout-summary-head {
    padding: 0 0 12px;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-summary-contact dl {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 8px 16px;
    margin: 0;
    color: var(--foreground-base-secondary, #6B6253);
    font-size: 12px;
    line-height: 16px;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-summary-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 24px;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-summary-total span {
    color: var(--foreground-base-tertiary, #84775D);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .12em;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-summary-total strong {
    color: var(--foreground-base-brand, #6B3E82);
    font-size: 28px;
    line-height: 32px;
    font-weight: 900;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-continue {
    display: flex;
    width: calc(100% - 48px);
    height: 48px;
    margin: 0 24px 24px;
    justify-content: center;
    align-items: center;
    border: 0;
    border-radius: 999px;
    background: var(--surface-brand-strong, #6B3E82);
    color: var(--foreground-base-inverse, #fff);
    font-family: var(--font-action-label-family, var(--font-body-family, Inter, Arial, sans-serif));
    font-size: 12px;
    line-height: 16px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    cursor: pointer;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-continue:disabled {
    opacity: .55;
    cursor: progress;
}

/* Bloqueado por error de la reserva: no es una espera, no se puede continuar. */
.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-continue[aria-disabled="true"] {
    cursor: not-allowed;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-payment-form {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 24px;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-card {
    width: 100%;
    border: 1px solid var(--border-base-tertiary-mid, #F0EBE1);
    border-radius: var(--radius-md, 12px);
    background: var(--background-base-default, #fff);
    overflow: hidden;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-card header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 48px;
    padding: 0 20px;
    border-bottom: 1px solid var(--border-base-tertiary-mid, #F0EBE1);
    background: var(--background-base-default-soft, #FAF8F3);
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-card h2 {
    margin: 0;
    color: var(--foreground-base-tertiary, #84775D);
    font-family: var(--font-action-label-family, var(--font-body-family, Inter, Arial, sans-serif));
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-card header span {
    color: var(--foreground-base-tertiary, #84775D);
    font-size: 11px;
    font-weight: 700;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-element,
.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-currency {
    padding: 18px 20px 0;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-error {
    margin: 16px 20px 0;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-terms {
    display: flex;
    flex-direction: column;
    gap: 14px;
    color: var(--foreground-base-secondary, #6B6253);
    font-size: 13px;
    line-height: 18px;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-term .col-md,
.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-term .col-12 {
    width: 100%;
    max-width: none;
    flex: none;
    padding: 0;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-term label {
    display: inline;
    margin: 0;
    color: inherit;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-term input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0 8px 0 0;
    vertical-align: middle;
    opacity: 1 !important;
    position: static !important;
    pointer-events: auto !important;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-terms.has-error {
    outline: 1px solid #c0392b;
    outline-offset: 8px;
    border-radius: 8px;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-processing {
    padding: 16px 18px;
    border-radius: 12px;
    background: var(--background-base-default-soft, #FAF8F3);
    color: var(--foreground-base-secondary, #6B6253);
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-processing strong,
.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-processing span {
    display: block;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-footer {
    display: flex;
    padding: var(--elements-inset-cozy, 24px) var(--section-x-spacing, 72px);
    justify-content: center;
    align-items: center;
    align-self: stretch;
    background: var(--background-base-default-soft, #FAF8F3);
    color: var(--foreground-base-tertiary, #84775D);
    font-size: 12px;
}

@media (max-width: 1024px) {
    .visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-main {
        padding: 40px 24px;
    }
    .visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-frame {
        flex-direction: column;
        gap: 32px;
    }
    .visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-right,
    .visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-summary-card {
        width: 100%;
        max-width: none;
        flex-basis: auto;
    }
}

@media (max-width: 640px) {
    .visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-header {
        min-height: 96px;
        height: auto;
        padding: 14px 18px;
        gap: 10px;
    }
    .visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-logo img {
        width: 118px;
    }
    .visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-reserved-timer {
        position: static;
        transform: none;
        max-width: 100%;
        justify-content: center;
        align-self: center;
        font-size: 11px;
    }
    .visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-steps {
        gap: 10px;
        overflow-x: auto;
    }
    .visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-step-separator {
        width: 18px;
    }
}

@media (max-width: 360px) {
    .visual-layout-page[data-page-key="checkout_details"] .alc-checkout-phone-row {
        grid-template-columns: 1fr;
    }
}

/* Fase 44 — Payment: iconos reales de tarjeta, checkboxes sin duplicados y carga robusta Stripe */
.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-card-icons {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-card-icons img {
    display: block;
    height: 16px;
    width: auto;
    object-fit: contain;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-card-icons img:first-child {
    height: 8px;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-term {
    display: block;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-term-control {
    display: grid !important;
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: start;
    column-gap: 10px;
    min-height: 20px;
    margin: 0 !important;
    color: var(--foreground-base-secondary, #6B6253) !important;
    cursor: pointer;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-term-control input[type="checkbox"] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    pointer-events: auto !important;
    appearance: none;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-term-box {
    position: relative;
    display: inline-flex;
    width: 18px;
    height: 18px;
    box-sizing: border-box;
    border: 1px solid var(--border-base-secondary, #8D7F64);
    border-radius: 3px;
    background: var(--background-base-default, #fff);
    margin-top: 1px;
    flex: 0 0 18px;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-term-control input[type="checkbox"]:checked + .alc-payment-term-box {
    border-color: var(--surface-brand-strong, #6B3E82);
    background: var(--surface-brand-strong, #6B3E82);
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-term-control input[type="checkbox"]:checked + .alc-payment-term-box::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 2px;
    width: 5px;
    height: 10px;
    border: solid var(--foreground-base-inverse, #fff);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-term-control input[type="checkbox"]:focus-visible + .alc-payment-term-box {
    outline: 2px solid var(--surface-brand-strong, #6B3E82);
    outline-offset: 2px;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-term-text {
    display: block;
    color: inherit;
    font-size: 13px;
    line-height: 20px;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-term-text a {
    color: var(--foreground-base-brand, #6B3E82);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-error:not([hidden]) {
    display: block;
    text-align: center;
    margin: 42px 20px 0;
    color: var(--foreground-base-primary, #484132);
    background: transparent;
    border: 0;
}

/* Fase 45 - Checkout OK componentizado */
.visual-layout-page[data-page-key="checkout_ok"],
.visual-layout-page[data-page-key="checkout_ok"] .alc-checkout-ok-layout-section,
.visual-layout-page[data-page-key="checkout_ok"] .alc-checkout-ok-layout-section > .ve-section-inner {
    background: var(--background-base-default, #fff);
    color: var(--foreground-base-primary, #2F2A22);
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-checkout-ok-layout-section > .ve-section-inner {
    max-width: none !important;
    margin: 0 !important;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-checkout-ok-page-shell {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--background-base-default, #fff);
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-page {
    width: min(1180px, calc(100% - 64px));
    margin: 0 auto;
    padding: 31px 0 116px;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-header {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 56px;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-logo img {
    width: 151px;
    height: auto;
    display: block;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-hero {
    margin: 142px auto 28px;
    text-align: center;
    max-width: 640px;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-success-icon {
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 28px;
    border-radius: 999px;
    border: 1px solid #5E966C;
    background: rgba(94, 150, 108, .08);
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-success-icon svg {
    width: 26px;
    height: 26px;
    fill: #477E55;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-hero h1 {
    margin: 0 0 10px;
    color: var(--foreground-base-primary, #4A4135);
    font-family: var(--font-family-title, inherit);
    font-size: clamp(30px, 3vw, 40px);
    line-height: 1.12;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-hero p {
    margin: 0;
    color: var(--foreground-base-secondary, #6C6254);
    font-size: 15px;
    line-height: 1.5;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 354px;
    gap: 52px;
    align-items: start;
    margin-top: 32px;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-left {
    display: grid;
    gap: 24px;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-card,
.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-summary-card {
    border: 1px solid var(--border-base-default, #E2D8C8);
    border-radius: 14px;
    background: var(--background-base-default, #fff);
    box-shadow: 0 14px 34px rgba(39, 31, 20, .035);
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-card {
    padding: 18px 22px 22px;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-card h2,
.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-summary-card h2 {
    margin: 0;
    color: var(--foreground-base-primary, #4A4135);
    font-size: 13px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-card h2 {
    padding-bottom: 14px;
    border-bottom: 1px solid var(--border-base-soft, #EFE8DD);
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-contact-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px 78px;
    margin: 20px 0 0;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-contact-grid div,
.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-visitor dl div {
    display: grid;
    grid-template-columns: 126px minmax(0, 1fr);
    align-items: baseline;
    gap: 16px;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-contact-grid dt,
.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-visitor dt,
.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-total span {
    color: var(--foreground-base-tertiary, #8A7B65);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-contact-grid dd,
.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-visitor dd {
    margin: 0;
    color: var(--foreground-base-secondary, #5D5348);
    font-size: 14px;
    line-height: 1.35;
    word-break: break-word;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-visitors-card {
    padding-bottom: 30px;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-visitors-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 48px;
    margin-top: 25px;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-visitor {
    min-width: 0;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-visitor h3 {
    margin: 0 0 16px;
    padding-bottom: 13px;
    border-bottom: 1px solid var(--border-base-soft, #EFE8DD);
    color: var(--foreground-base-tertiary, #8A7B65);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-visitor dl {
    display: grid;
    gap: 14px;
    margin: 0;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-visitor dl div {
    grid-template-columns: 116px minmax(0, 1fr);
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-summary-card {
    padding: 28px 20px 24px;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-summary-card h2 {
    padding: 0 0 20px;
    border-bottom: 1px solid var(--border-base-soft, #EFE8DD);
    font-size: 20px;
    letter-spacing: 0;
    text-transform: none;
    line-height: 1.25;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-summary-card ul {
    list-style: none;
    margin: 22px 0 28px;
    padding: 0;
    display: grid;
    gap: 18px;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-summary-card li {
    display: flex;
    gap: 14px;
    align-items: center;
    color: var(--foreground-base-secondary, #5D5348);
    font-size: 15px;
    line-height: 1.35;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-summary-icon {
    width: 20px;
    min-width: 20px;
    color: var(--foreground-base-brand-mid, var(--brand-700, #B19726));
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-summary-icon svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-top: 21px;
    border-top: 1px solid var(--border-base-soft, #EFE8DD);
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-total strong {
    color: var(--foreground-base-brand-mid, var(--brand-700, #B19726));
    font-size: 34px;
    line-height: 1;
    font-weight: 800;
    white-space: nowrap;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-home-action {
    margin: 34px 0 52px;
    text-align: center;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-home-action a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 278px;
    min-height: 48px;
    padding: 13px 28px;
    border-radius: 999px;
    background: var(--background-action-primary-default, var(--brand-700, #B19726));
    color: var(--foreground-action-primary-default, #fff);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-home-action a:hover {
    background: var(--background-action-primary-hover, var(--brand-800, #806D1C));
    color: var(--foreground-action-primary-hover, #fff);
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-home-action a:focus-visible {
    outline: 3px solid var(--border-action-primary-focus, var(--brand-300, #E4D48F));
    outline-offset: 3px;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-help {
    border-top: 1px solid var(--border-base-soft, #DED5C7);
    padding-top: 42px;
    text-align: center;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-help-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    margin-bottom: 20px;
    color: var(--foreground-base-brand-mid, var(--brand-700, #B19726));
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-help-icon svg {
    width: 30px;
    height: 30px;
    fill: currentColor;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-help h2 {
    margin: 0 0 20px;
    color: var(--foreground-base-primary, #4A4135);
    font-size: 16px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-help p {
    margin: 0 auto 22px;
    max-width: 560px;
    color: var(--foreground-base-secondary, #6C6254);
    font-size: 14px;
    line-height: 1.55;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-help-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-help-actions a {
    min-height: 45px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 22px;
    border: 1px solid var(--border-base-default, #D8CDBB);
    border-radius: 0;
    background: var(--background-base-default, #fff);
    color: var(--foreground-base-primary, #5D5348);
    font-size: 13px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
}


.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-help-actions a svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-checkout-footer {
    display: flex;
    margin-top: auto;
    padding: var(--elements-inset-cozy, 24px) var(--section-x-spacing, 72px);
    justify-content: center;
    align-items: center;
    align-self: stretch;
    background: var(--background-base-default-soft, #FAF8F3);
    color: var(--foreground-base-tertiary, #84775D);
    font-size: 12px;
}

@media (max-width: 1100px) {
    .visual-layout-page[data-page-key="checkout_ok"] .alc-ok-content {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .visual-layout-page[data-page-key="checkout_ok"] .alc-ok-summary-card {
        max-width: 460px;
        width: 100%;
        margin: 0 auto;
    }
}

@media (max-width: 760px) {
    .visual-layout-page[data-page-key="checkout_ok"] .alc-ok-page {
        width: min(100% - 32px, 540px);
        padding: 24px 0 76px;
    }

    .visual-layout-page[data-page-key="checkout_ok"] .alc-ok-hero {
        margin-top: 70px;
    }

    .visual-layout-page[data-page-key="checkout_ok"] .alc-ok-contact-grid,
    .visual-layout-page[data-page-key="checkout_ok"] .alc-ok-visitors-grid {
        grid-template-columns: 1fr;
    }

    .visual-layout-page[data-page-key="checkout_ok"] .alc-ok-contact-grid div,
    .visual-layout-page[data-page-key="checkout_ok"] .alc-ok-visitor dl div {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .visual-layout-page[data-page-key="checkout_ok"] .alc-ok-total strong {
        font-size: 28px;
    }

    .visual-layout-page[data-page-key="checkout_ok"] .alc-ok-home-action a {
        width: 100%;
        min-width: 0;
    }

    .visual-layout-page[data-page-key="checkout_ok"] .alc-ok-help-actions {
        flex-direction: column;
        align-items: stretch;
    }
}

/* Fase 46 — Payment/OK: Stripe sin carrera de carga y OK editable por bloques */
.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-terms {
    align-items: stretch;
    text-align: left;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-term {
    text-align: left;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-term-control {
    width: 100%;
    text-align: left;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-page > .component-wrapper,
.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-content > .component-wrapper,
.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-left > .component-wrapper {
    display: contents;
}

/* Fase 47 — ajustes checkout pago/OK editor independiente */
.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-card h2,
.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-summary-card h2 {
    text-align: left !important;
}

.editor-mode .visual-layout-page[data-page-key="checkout_ok"] .alc-ok-page > .component-wrapper,
.editor-mode .visual-layout-page[data-page-key="checkout_ok"] .alc-ok-content > .component-wrapper,
.editor-mode .visual-layout-page[data-page-key="checkout_ok"] .alc-ok-left > .component-wrapper {
    display: block !important;
    min-width: 0;
}

.editor-mode .visual-layout-page[data-page-key="checkout_ok"] .alc-ok-page > .component-wrapper > .component-content,
.editor-mode .visual-layout-page[data-page-key="checkout_ok"] .alc-ok-content > .component-wrapper > .component-content,
.editor-mode .visual-layout-page[data-page-key="checkout_ok"] .alc-ok-left > .component-wrapper > .component-content {
    min-width: 0;
}

.editor-mode .visual-layout-page[data-page-key="checkout_ok"] .alc-ok-content > .component-wrapper[data-type="container"] {
    min-width: 0;
}

.editor-mode .visual-layout-page[data-page-key="checkout_ok"] .alc-ok-content > .component-wrapper[data-type="checkout_ok_summary_card"] {
    width: 354px;
    max-width: 100%;
}

.editor-mode .visual-layout-page[data-page-key="checkout_ok"] .alc-ok-left > .component-wrapper + .component-wrapper {
    margin-top: 24px;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-payment-form.is-editor-preview {
    pointer-events: auto;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-card--preview {
    min-height: auto;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-preview-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 18px;
    padding: 24px 24px 0;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-preview-field {
    display: grid;
    gap: 8px;
    margin: 0;
    color: var(--foreground-base-secondary, #5D5348);
    font-size: 13px;
    font-weight: 500;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-preview-field--full {
    grid-column: 1 / -1;
}

.visual-layout-page[data-page-key="checkout_payment"] .alc-payment-preview-field input {
    width: 100%;
    min-height: 38px;
    border: 1px solid var(--border-base-default, #D8CDBB);
    border-radius: 7px;
    padding: 8px 11px;
    background: var(--background-base-default, #fff);
    color: var(--foreground-base-tertiary, #8A7B65);
    font: inherit;
}

@media (max-width: 760px) {
    .visual-layout-page[data-page-key="checkout_payment"] .alc-payment-preview-fields {
        grid-template-columns: 1fr;
        padding: 20px 18px 0;
    }
}

/* Fase 50 - Checkout post-pago: formulario de datos de visitantes */
.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-layout-section,
.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-layout-section > .ve-section-inner {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    background: var(--background-base-default, #fff);
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-page-shell {
    min-height: 100vh;
    background: var(--background-base-default, #fff);
    color: var(--text-base-default, #222);
    font-family: var(--font-family-base, inherit);
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-header {
    height: 82px;
    border-bottom: 1px solid var(--border-base-subtle, #e4ded3);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 0 clamp(24px, 5vw, 86px);
    background: #fff;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-logo,
.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-logo img {
    display: block;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-logo img {
    max-height: 44px;
    width: auto;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-timer {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 14px;
    border: 1px solid var(--border-base-subtle, #d8d1c7);
    border-radius: 999px;
    font-size: 12px;
    line-height: 1;
    color: var(--text-base-muted, #5d554d);
    background: #fff;
    white-space: nowrap;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-timer strong {
    color: inherit;
    font-weight: 700;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-page {
    max-width: 1240px;
    margin: 0 auto;
    padding: clamp(42px, 5vw, 72px) 24px 0;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 48px;
    align-items: start;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-left,
.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-right {
    min-width: 0;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-right {
    display: grid;
    gap: 20px;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-message {
    text-align: center;
    padding: 0 0 34px;
    margin: 0 0 28px;
    border-bottom: 1px solid var(--border-base-subtle, #ded8ce);
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-success-icon {
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #ececec;
    margin: 0 auto 18px;
    color: #303030;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-success-icon svg {
    width: 30px;
    height: 30px;
    fill: currentColor;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-message h1 {
    margin: 0 0 14px;
    font-size: clamp(28px, 3vw, 38px);
    line-height: 1.1;
    font-weight: 800;
    color: var(--text-base-default, #161616);
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-message p {
    margin: 7px 0 0;
    color: var(--text-base-muted, #5d5d5d);
    font-size: 14px;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-message strong {
    font-weight: 800;
    color: var(--text-base-default, #222);
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-visitors,
.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-info,
.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-summary-card,
.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-help {
    border: 1px solid var(--border-base-subtle, #ddd6cd);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 2px 6px rgba(0,0,0,.04);
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-intro {
    max-width: 530px;
    margin: 0 auto 26px;
    text-align: center;
    font-weight: 700;
    line-height: 1.45;
    color: var(--text-base-default, #262626);
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-visitors {
    border: 0;
    box-shadow: none;
    background: transparent;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-visitor-card {
    border: 1px solid var(--border-base-subtle, #ddd6cd);
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 2px 6px rgba(0,0,0,.04);
    margin-bottom: 22px;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-visitor-card > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    background: #f7f7f7;
    border-bottom: 1px solid #e3ded6;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-visitor-card > header strong {
    font-size: 15px;
    font-weight: 800;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-use-contact {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 20px;
    border-bottom: 1px solid #e3ded6;
    font-size: 14px;
    cursor: pointer;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-use-contact input {
    width: 18px;
    height: 18px;
    accent-color: var(--color-primary, #2b2b2b);
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 24px;
    padding: 18px 20px 20px;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-field--document {
    grid-column: 1 / span 1;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-field span {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 700;
    color: var(--text-base-default, #222);
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-field input {
    width: 100%;
    min-height: 40px;
    border: 1px solid #d8d8d8;
    border-radius: 6px;
    padding: 8px 12px;
    font-size: 15px;
    background: #fff;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-field input:focus {
    outline: none;
    border-color: #8f7f6d;
    box-shadow: 0 0 0 2px rgba(143,127,109,.18);
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-checkout-form-error {
    margin: 8px 0 0;
    color: #b42318;
    font-weight: 700;
    text-align: center;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-info {
    padding: 22px 26px;
    margin-top: 20px;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-info h2 {
    margin: 0 0 18px;
    text-align: center;
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: .04em;
    font-weight: 900;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-info ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-info li {
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: 10px;
    font-size: 13px;
    line-height: 1.35;
    color: #444;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-info li > span:first-child,
.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-summary-note > span:first-child {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 1px solid #a5a5a5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 800;
    color: #777;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-submit-row {
    margin: 26px 0 0;
    text-align: center;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-confirm-button {
    min-width: 230px;
    min-height: 50px;
    border: 0;
    border-radius: 10px;
    background: #000;
    color: #fff;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: .07em;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(0,0,0,.22);
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-summary-card {
    overflow: hidden;
    padding: 24px 20px 0;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-summary-card h2 {
    margin: 0 0 16px;
    padding-bottom: 18px;
    border-bottom: 1px solid #e3ded6;
    font-size: 20px;
    line-height: 1.2;
    font-weight: 900;
    color: #171d2a;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-summary-card ul {
    list-style: none;
    margin: 0;
    padding: 0 0 20px;
    display: grid;
    gap: 18px;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-summary-card li {
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: 12px;
    align-items: center;
    font-size: 15px;
    color: #161b26;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-summary-icon {
    width: 18px;
    height: 18px;
    color: #9d7924;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-summary-icon svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-total {
    border-top: 1px solid #e3ded6;
    padding: 18px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-total span {
    color: #6b625a;
    font-size: 13px;
    text-transform: uppercase;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-total strong {
    color: var(--foreground-base-brand-mid, var(--brand-700, #B19726));
    font-size: 26px;
    line-height: 1;
    font-weight: 900;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-summary-note {
    margin: 0 -20px;
    padding: 18px 20px;
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: 10px;
    background: #efefef;
    color: #6b7280;
    font-size: 12px;
    line-height: 1.4;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-help {
    padding: 28px 24px;
    text-align: center;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-help-icon {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 18px;
    color: #9aa0aa;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-help-icon svg {
    width: 34px;
    height: 34px;
    fill: currentColor;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-help h2 {
    margin: 0 0 14px;
    font-size: 18px;
    font-weight: 900;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-help p {
    margin: 0 auto 18px;
    max-width: 240px;
    color: #6b7280;
    font-size: 13px;
    line-height: 1.45;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-help a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 38px;
    margin: 10px auto 0;
    border: 1px solid #d6d6d6;
    border-radius: 8px;
    color: #111827;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    background: #fff;
}

.visual-layout-page[data-page-key="checkout_fill_details"] .alc-checkout-footer {
    margin-top: 58px;
    padding: 24px;
    background: #efefef;
    text-align: center;
    color: #777;
    font-size: 13px;
}

.editor-mode .visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-page-shell > .component-wrapper,
.editor-mode .visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-page > .component-wrapper,
.editor-mode .visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-main > .component-wrapper,
.editor-mode .visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-left > .component-wrapper,
.editor-mode .visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-right > .component-wrapper {
    display: contents;
}

@media (max-width: 980px) {
    .visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-main {
        grid-template-columns: 1fr;
    }

    .visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-right {
        order: -1;
    }

    .visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-info ul {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-header {
        height: auto;
        min-height: 72px;
        padding: 16px 18px;
        align-items: flex-start;
        flex-direction: column;
    }

    .visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-page {
        padding: 32px 16px 0;
    }

    .visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-field-grid {
        grid-template-columns: 1fr;
    }

    .visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-field--document {
        grid-column: auto;
    }

    .visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-confirm-button {
        width: 100%;
    }
}

/* Fase 51 - Checkout post-pago: estilos base no dependientes de data-page-key.
   En el editor el canvas puede no propagar data-page-key a tiempo; estas clases
   son únicas del flujo post-pago y evitan iconos enormes/negros o layout sin grid. */
.alc-post-layout-section,
.alc-post-layout-section > .ve-section-inner {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    background: var(--background-base-default, #fff);
}

.alc-post-page-shell {
    min-height: 100vh;
    background: var(--background-base-default, #fff);
    color: var(--text-base-default, #2f2b27);
    font-family: var(--font-family-base, inherit);
}

.alc-post-header {
    min-height: 82px;
    border-bottom: 1px solid var(--border-base-subtle, #e4ded3);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 18px clamp(24px, 5vw, 86px);
    background: var(--background-base-default, #fff);
}

.alc-post-logo,
.alc-post-logo img {
    display: block;
}

.alc-post-logo img {
    max-height: 44px;
    width: auto;
}

.alc-post-timer {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border: 1px solid var(--border-base-subtle, #d8d1c7);
    border-radius: 999px;
    font-size: 12px;
    line-height: 1;
    color: var(--text-base-muted, #5d554d);
    background: var(--background-base-default, #fff);
    white-space: nowrap;
}

.alc-post-timer strong {
    color: inherit;
    font-weight: 700;
}

.alc-post-page {
    max-width: 1240px;
    margin: 0 auto;
    padding: clamp(42px, 5vw, 72px) 24px 0;
}

.alc-post-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 48px;
    align-items: start;
}

.alc-post-left,
.alc-post-right {
    min-width: 0;
}

.alc-post-right {
    display: grid;
    gap: 20px;
}

.alc-post-message {
    text-align: center;
    padding: 0 0 34px;
    margin: 0 0 28px;
    border-bottom: 1px solid var(--border-base-subtle, #ded8ce);
}

.alc-post-success-icon {
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--background-base-subtle, #eef6f0);
    margin: 0 auto 18px;
    color: var(--feedback-success-foreground, #3d8a54);
    border: 1px solid rgba(61, 138, 84, .28);
}

.alc-post-success-icon svg {
    display: block;
    width: 28px !important;
    height: 28px !important;
    fill: currentColor;
}

.alc-post-message h1 {
    margin: 0 0 14px;
    font-size: clamp(28px, 3vw, 38px);
    line-height: 1.1;
    font-weight: 800;
    color: var(--text-base-default, #302b28);
}

.alc-post-message p {
    margin: 7px 0 0;
    color: var(--text-base-muted, #5d5d5d);
    font-size: 14px;
}

.alc-post-message strong {
    font-weight: 800;
    color: var(--text-base-default, #222);
}

.alc-post-visitors,
.alc-post-info,
.alc-post-summary-card,
.alc-post-help {
    border: 1px solid var(--border-base-subtle, #ddd6cd);
    border-radius: var(--radius-card, 14px);
    background: var(--background-base-default, #fff);
    box-shadow: 0 2px 10px rgba(33, 24, 18, .04);
}

.alc-post-intro {
    max-width: 560px;
    margin: 0 auto 26px;
    text-align: center;
    font-weight: 700;
    line-height: 1.45;
    color: var(--text-base-default, #262626);
}

.alc-post-visitors {
    border: 0;
    box-shadow: none;
    background: transparent;
}

.alc-post-visitor-card {
    border: 1px solid var(--border-base-subtle, #ddd6cd);
    border-radius: var(--radius-card, 14px);
    overflow: hidden;
    background: var(--background-base-default, #fff);
    box-shadow: 0 2px 10px rgba(33, 24, 18, .04);
    margin-bottom: 22px;
}

.alc-post-visitor-card > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    background: var(--background-base-subtle, #f7f6f2);
    border-bottom: 1px solid var(--border-base-subtle, #e3ded6);
}

.alc-post-visitor-card > header strong {
    font-size: 15px;
    font-weight: 800;
}

.alc-post-use-contact {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 20px;
    border-bottom: 1px solid var(--border-base-subtle, #e3ded6);
    font-size: 14px;
    cursor: pointer;
}

.alc-post-use-contact input {
    width: 18px;
    height: 18px;
    accent-color: var(--color-primary, #6f3f88);
}

.alc-post-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 24px;
    padding: 18px 20px 20px;
}

.alc-post-field--document {
    grid-column: 1 / span 1;
}

.alc-post-field span {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 700;
    color: var(--text-base-default, #222);
}

.alc-post-field input {
    width: 100%;
    min-height: 42px;
    border: 1px solid var(--border-base-default, #d8d8d8);
    border-radius: var(--radius-input, 7px);
    padding: 8px 12px;
    font-size: 15px;
    background: var(--background-base-default, #fff);
}

.alc-post-field input:focus {
    outline: none;
    border-color: var(--color-primary, #6f3f88);
    box-shadow: 0 0 0 2px rgba(111, 63, 136, .16);
}

.alc-post-info {
    padding: 22px 26px;
    margin-top: 20px;
}

.alc-post-info h2 {
    margin: 0 0 18px;
    text-align: center;
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: .04em;
    font-weight: 900;
}

.alc-post-info ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.alc-post-info li {
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: 10px;
    font-size: 13px;
    line-height: 1.35;
    color: var(--text-base-muted, #444);
}

.alc-post-info li > span:first-child,
.alc-post-summary-note > span:first-child {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 1px solid var(--border-base-default, #a5a5a5);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 800;
    color: var(--text-base-muted, #777);
}

.alc-post-submit-row {
    margin: 26px 0 0;
    text-align: center;
}

.alc-post-confirm-button {
    min-width: 230px;
    min-height: 50px;
    border: 0;
    border-radius: var(--radius-button, 10px);
    background: var(--button-primary-background, var(--color-primary, #6f3f88));
    color: var(--button-primary-foreground, #fff);
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: .07em;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(111, 63, 136, .18);
}

.alc-post-summary-card {
    overflow: hidden;
    padding: 24px 20px 0;
}

.alc-post-summary-card h2 {
    margin: 0 0 16px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--border-base-subtle, #e3ded6);
    font-size: 20px;
    line-height: 1.2;
    font-weight: 900;
    color: var(--text-base-default, #2f2b27);
}

.alc-post-summary-card ul {
    list-style: none;
    margin: 0;
    padding: 0 0 20px;
    display: grid;
    gap: 18px;
}

.alc-post-summary-card li {
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: 12px;
    align-items: center;
    font-size: 15px;
    color: var(--text-base-default, #2f2b27);
}

.alc-post-summary-icon {
    width: 18px;
    height: 18px;
    color: var(--color-accent, #b39128);
}

.alc-post-summary-icon svg {
    display: block;
    width: 18px !important;
    height: 18px !important;
    fill: currentColor;
}

.alc-post-total {
    border-top: 1px solid var(--border-base-subtle, #e3ded6);
    padding: 18px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.alc-post-total span {
    color: var(--text-base-muted, #6b625a);
    font-size: 13px;
    text-transform: uppercase;
}

.alc-post-total strong {
    color: var(--foreground-base-brand-mid, var(--brand-700, #B19726));
    font-size: 26px;
    line-height: 1;
    font-weight: 900;
}

.alc-post-summary-note {
    margin: 0 -20px;
    padding: 18px 20px;
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: 10px;
    background: var(--background-base-subtle, #efefef);
    color: var(--text-base-muted, #6b7280);
    font-size: 12px;
    line-height: 1.4;
}

.alc-post-help {
    padding: 28px 24px;
    text-align: center;
}

.alc-post-help-icon {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 18px;
    color: var(--text-base-muted, #9aa0aa);
}

.alc-post-help-icon svg {
    display: block;
    width: 34px !important;
    height: 34px !important;
    fill: currentColor;
}

.alc-post-help h2 {
    margin: 0 0 14px;
    font-size: 18px;
    font-weight: 900;
}

.alc-post-help p {
    margin: 0 auto 18px;
    max-width: 240px;
    color: var(--text-base-muted, #6b7280);
    font-size: 13px;
    line-height: 1.45;
}

.alc-post-help a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 38px;
    margin: 10px auto 0;
    border: 1px solid var(--border-base-default, #d6d6d6);
    border-radius: var(--radius-button, 8px);
    color: var(--text-base-default, #111827);
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    background: var(--background-base-default, #fff);
}

.editor-mode .alc-post-page-shell > .component-wrapper,
.editor-mode .alc-post-page > .component-wrapper,
.editor-mode .alc-post-main > .component-wrapper,
.editor-mode .alc-post-left > .component-wrapper,
.editor-mode .alc-post-right > .component-wrapper {
    display: contents;
}

@media (max-width: 980px) {
    .alc-post-main { grid-template-columns: 1fr; }
    .alc-post-right { order: -1; }
    .alc-post-info ul { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .alc-post-header {
        min-height: 72px;
        padding: 16px 18px;
        align-items: flex-start;
        flex-direction: column;
    }
    .alc-post-page { padding: 32px 16px 0; }
    .alc-post-field-grid { grid-template-columns: 1fr; }
    .alc-post-field--document { grid-column: auto; }
    .alc-post-confirm-button { width: 100%; }
}
/* =========================================================
   Fase 57 - Experience booking: combo flow inside date step
   Los combos montan calendario/hora por cada elemento desde la lógica legacy.
   Aquí se adaptan al sidebar componentizado y se evita mostrar un paso horario
   genérico que no aplica en combos.
   ========================================================= */
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget.is-combo-booking .alc-booking-step--time {
    display: none !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .alc-booking-combo-picker {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .alc-booking-combo-picker > br {
    display: none !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .alc-booking-combo-picker .cont_elemento_combo {
    overflow: hidden !important;
    margin: 0 0 16px !important;
    border: 1px solid color-mix(in srgb, var(--alc-booking-border, #DED7CA) 70%, transparent) !important;
    border-radius: 14px !important;
    background: var(--alc-booking-card, #FFFFFF) !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .alc-booking-combo-picker .cont_elemento_combo:last-child {
    margin-bottom: 0 !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .alc-booking-combo-picker .cabecera_elemento_combo {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 18px 18px 10px !important;
    background: var(--alc-booking-card, #FFFFFF) !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .alc-booking-combo-picker .cabecera_elemento_combo .col {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .alc-booking-combo-picker .cabecera_elemento_combo .col-auto {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .alc-booking-combo-picker .titulo_formulario_combo {
    margin: 0 0 6px !important;
    color: var(--alc-booking-ink, #484132) !important;
    font-family: var(--font-display-family, Signika, Inter, Arial, sans-serif) !important;
    font-size: 20px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    text-align: left !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .alc-booking-combo-picker .cabecera_elemento_combo p:not(.titulo_formulario_combo) {
    margin: 0 !important;
    color: var(--alc-booking-muted, #84775D) !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    text-align: left !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .alc-booking-combo-picker .cabecera_elemento_combo figure.icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    margin: 0 !important;
    color: var(--alc-booking-accent, #F05A43) !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .alc-booking-combo-picker .cabecera_elemento_combo figure.icon svg {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .alc-booking-combo-picker .cuerpo_elemento_combo {
    padding: 0 18px 18px !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .alc-booking-combo-picker .datepicker,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .alc-booking-combo-picker .ui-datepicker {
    width: 100% !important;
    max-width: 100% !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .alc-booking-combo-picker [id^="wrapper_hora_"]:not([id^="wrapper_hora_contenedor_selector_"]):not([id^="wrapper_hora_rango_"]) {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px 12px !important;
    align-items: stretch !important;
    margin-top: 12px !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .alc-booking-combo-picker [id^="wrapper_hora_"]:not([id^="wrapper_hora_contenedor_selector_"]):not([id^="wrapper_hora_rango_"]) .col-auto {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    padding: 0 !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .alc-booking-combo-picker input[type="radio"][name^="hora_"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    pointer-events: none !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .alc-booking-combo-picker input[type="radio"][name^="hora_"] + label {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 11px 8px !important;
    border: 1px solid color-mix(in srgb, var(--alc-booking-border, #DED7CA) 78%, transparent) !important;
    border-radius: 10px !important;
    background: var(--alc-booking-card, #FFFFFF) !important;
    color: #374151 !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 16px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    text-align: center !important;
    cursor: pointer !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .alc-booking-combo-picker input[type="radio"][name^="hora_"]:checked + label {
    border-color: #343434 !important;
    background: #343434 !important;
    color: #FFFFFF !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .alc-booking-combo-picker input[type="radio"][name^="hora_"] + label::before,
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .alc-booking-combo-picker input[type="radio"][name^="hora_"] + label::after {
    content: none !important;
    display: none !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .alc-booking-combo-picker .wrapper_hora_selector_combo {
    width: 100% !important;
    min-height: 50px !important;
    margin-top: 12px !important;
    padding: 0 14px !important;
    border: 1px solid color-mix(in srgb, var(--alc-booking-border, #DED7CA) 78%, transparent) !important;
    border-radius: 10px !important;
    background: #FFFFFF !important;
    color: var(--alc-booking-ink, #484132) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

@media (max-width: 420px) {
    .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget .alc-booking-combo-picker [id^="wrapper_hora_"]:not([id^="wrapper_hora_contenedor_selector_"]):not([id^="wrapper_hora_rango_"]) {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}


/* Fase 64 - Combo componentizado: nunca usar el selector legacy de horas. */
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget.is-combo-booking .alc-booking-combo-picker [id^="wrapper_hora_contenedor_selector_"] {
    display: none !important;
}

/* ----------------------------------------------------------
   Fase 59 - Combo checkout summary sin falso descuento
   ---------------------------------------------------------- */
.visual-layout-page[data-page-key^="checkout_"] .alc-checkout-summary-card.is-combo-summary .alc-checkout-summary-body h2,
.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-summary-card.is-combo-summary .alc-checkout-summary-body h2,
.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-summary-card.is-combo-summary .alc-checkout-summary-body h2,
.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-summary-card.is-combo-summary .alc-checkout-summary-body h2 {
    margin-bottom: 16px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid var(--border-base-tertiary-mid, #F0EBE1) !important;
}

.visual-layout-page[data-page-key^="checkout_"] .alc-checkout-combo-items,
.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-combo-items,
.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-combo-items,
.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-combo-items {
    display: flex !important;
    width: 100% !important;
    flex-direction: column !important;
    gap: 14px !important;
    margin: 0 0 14px !important;
}

.visual-layout-page[data-page-key^="checkout_"] .alc-checkout-combo-item,
.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-combo-item,
.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-combo-item,
.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-combo-item {
    width: 100% !important;
    padding: 0 0 14px !important;
    border-bottom: 1px solid var(--border-base-tertiary-mid, #F0EBE1) !important;
}

.visual-layout-page[data-page-key^="checkout_"] .alc-checkout-combo-item:last-child,
.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-combo-item:last-child,
.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-combo-item:last-child,
.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-combo-item:last-child {
    margin-bottom: 0 !important;
}

.visual-layout-page[data-page-key^="checkout_"] .alc-checkout-combo-item h3,
.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-combo-item h3,
.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-combo-item h3,
.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-combo-item h3 {
    margin: 0 0 10px !important;
    color: var(--foreground-base-tertiary, #84775D) !important;
    font-family: var(--font-action-label-family, var(--font-body-family, Inter, Arial, sans-serif)) !important;
    font-size: 10px !important;
    line-height: 14px !important;
    font-weight: 900 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.visual-layout-page[data-page-key^="checkout_"] .alc-checkout-combo-item dl,
.visual-layout-page[data-page-key^="checkout_"] .alc-checkout-summary-tickets-row,
.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-combo-item dl,
.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-summary-tickets-row,
.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-combo-item dl,
.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-summary-tickets-row,
.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-combo-item dl,
.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-summary-tickets-row {
    display: grid !important;
    grid-template-columns: 90px 1fr !important;
    gap: 8px 16px !important;
    margin: 0 !important;
    color: var(--foreground-base-secondary, #6B6253) !important;
    font-size: 12px !important;
    line-height: 16px !important;
}

.visual-layout-page[data-page-key^="checkout_"] .alc-checkout-summary-tickets-row,
.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-summary-tickets-row,
.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-summary-tickets-row,
.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-summary-tickets-row {
    padding-top: 2px !important;
}

.visual-layout-page[data-page-key^="checkout_"] .alc-checkout-combo-item dt,
.visual-layout-page[data-page-key^="checkout_"] .alc-checkout-summary-tickets-row dt,
.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-combo-item dt,
.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-summary-tickets-row dt,
.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-combo-item dt,
.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-summary-tickets-row dt,
.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-combo-item dt,
.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-summary-tickets-row dt {
    color: var(--foreground-base-tertiary, #84775D) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.visual-layout-page[data-page-key^="checkout_"] .alc-checkout-combo-item dd,
.visual-layout-page[data-page-key^="checkout_"] .alc-checkout-summary-tickets-row dd,
.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-combo-item dd,
.visual-layout-page[data-page-key="checkout_details"] .alc-checkout-summary-tickets-row dd,
.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-combo-item dd,
.visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-summary-tickets-row dd,
.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-combo-item dd,
.visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-summary-tickets-row dd {
    margin: 0 !important;
    color: var(--foreground-base-primary, #484132) !important;
    text-align: left !important;
    overflow-wrap: anywhere !important;
}

/* ----------------------------------------------------------
   Fase 65 - Combo summary en OK y completar datos post-pago
   ---------------------------------------------------------- */
.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-summary-card.is-combo-summary h2,
.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-summary-card.is-combo-summary h2,
.alc-ok-summary-card.is-combo-summary h2,
.alc-post-summary-card.is-combo-summary h2 {
    margin-bottom: 16px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid var(--border-base-tertiary-mid, #F0EBE1) !important;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-combo-items,
.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-combo-items,
.alc-ok-combo-items,
.alc-post-combo-items {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    margin: 0 0 14px !important;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-combo-item,
.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-combo-item,
.alc-ok-combo-item,
.alc-post-combo-item {
    padding: 0 0 14px !important;
    border-bottom: 1px solid var(--border-base-tertiary-mid, #F0EBE1) !important;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-combo-item h3,
.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-combo-item h3,
.alc-ok-combo-item h3,
.alc-post-combo-item h3 {
    margin: 0 0 10px !important;
    color: var(--foreground-base-tertiary, #84775D) !important;
    font-size: 10px !important;
    line-height: 14px !important;
    font-weight: 900 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-combo-item ul,
.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-combo-item ul,
.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-summary-meta,
.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-summary-meta,
.alc-ok-combo-item ul,
.alc-post-combo-item ul,
.alc-ok-summary-meta,
.alc-post-summary-meta {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-combo-item li,
.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-combo-item li,
.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-summary-meta li,
.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-summary-meta li,
.alc-ok-combo-item li,
.alc-post-combo-item li,
.alc-ok-summary-meta li,
.alc-post-summary-meta li {
    display: grid !important;
    grid-template-columns: 24px 1fr !important;
    gap: 12px !important;
    align-items: center !important;
    color: var(--foreground-base-primary, #484132) !important;
    font-size: 14px !important;
    line-height: 20px !important;
}

.visual-layout-page[data-page-key="checkout_ok"] .alc-ok-summary-meta,
.visual-layout-page[data-page-key="checkout_fill_details"] .alc-post-summary-meta,
.alc-ok-summary-meta,
.alc-post-summary-meta {
    padding-bottom: 14px !important;
    border-bottom: 1px solid var(--border-base-tertiary-mid, #F0EBE1) !important;
}

/* Fase 67 - Checkout Payment KO componentizado */
.visual-layout-page[data-page-key="checkout_payment_ko"],
.visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-layout-section,
.visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-layout-section > .ve-section-inner {
    background: var(--background-base-default, #fff);
    color: var(--foreground-base-primary, #4A4135);
}

.visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-layout-section > .ve-section-inner {
    max-width: none !important;
    margin: 0 !important;
}

.visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-page-shell {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--background-base-default, #fff);
}

.visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-header {
    min-height: 82px;
    padding-top: 28px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-logo img {
    width: 154px;
    height: auto;
    display: block;
}

.visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-main {
    width: min(1260px, calc(100% - 72px));
    margin: 0 auto;
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 88px 0 128px;
}

.visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-message {
    width: min(100%, 640px);
    text-align: center;
    margin: 0 auto;
}

.visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-warning-icon {
    width: 62px;
    height: 62px;
    margin: 0 auto 26px;
    border: 1px solid #F2A023;
    border-radius: 999px;
    background: rgba(242, 160, 35, .08);
    color: #F2A023;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-warning-icon svg {
    width: 30px;
    height: 30px;
    fill: currentColor;
}

.visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-message h1 {
    margin: 0 0 10px;
    color: var(--foreground-base-primary, #5B5144);
    font-family: var(--font-family-title, inherit);
    font-size: clamp(30px, 3vw, 40px);
    line-height: 1.12;
    font-weight: 800;
    letter-spacing: -.025em;
}

.visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-subtitle,
.visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-return-hint {
    margin: 0;
    color: var(--foreground-base-secondary, #6C6254);
    font-size: 15px;
    line-height: 1.5;
}

.visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-notice {
    width: min(100%, 490px);
    margin: 36px auto 52px;
    padding: 18px 26px;
    border: 1px solid var(--border-base-default, #E0D8C8);
    border-radius: 12px;
    background: var(--background-base-default-soft, #FAF8F3);
    color: var(--foreground-base-secondary, #5D5348);
    font-size: 15px;
    line-height: 1.45;
    box-shadow: 0 10px 22px rgba(39, 31, 20, .025);
}

.visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-return {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 288px;
    min-height: 50px;
    padding: 14px 30px;
    border-radius: 999px;
    background: var(--background-action-primary-default, var(--brand-700, #B19726));
    color: var(--foreground-action-primary-default, #fff);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: 13px;
    line-height: 1;
    font-weight: 850;
    margin: 0 auto 22px;
}

.visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-return:hover {
    background: var(--background-action-primary-hover, var(--brand-800, #806D1C));
    color: var(--foreground-action-primary-hover, #fff);
}

.visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-return:focus-visible {
    outline: 3px solid var(--border-action-primary-focus, var(--brand-300, #E4D48F));
    outline-offset: 3px;
}

.visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-help {
    width: 100%;
    margin-top: 62px;
    padding-top: 34px;
    border-top: 1px solid var(--border-base-soft, #DED5C7);
    text-align: center;
}

.visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-help-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    margin: 0 auto 18px;
    color: #A99A7D;
}

.visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-help-icon svg {
    width: 32px;
    height: 32px;
    fill: currentColor;
}

.visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-help h2 {
    margin: 0 0 20px;
    color: var(--foreground-base-primary, #4A4135);
    font-size: 16px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-contact {
    min-height: 45px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 24px;
    border: 1px solid var(--border-base-default, #D8CDBB);
    background: #fff;
    color: var(--foreground-base-primary, #5D5348);
    font-size: 13px;
    font-weight: 850;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
}

.visual-layout-page[data-page-key="checkout_payment_ko"] .alc-checkout-footer {
    display: flex;
    margin-top: auto;
    padding: var(--elements-inset-cozy, 24px) var(--section-x-spacing, 72px);
    justify-content: center;
    align-items: center;
    align-self: stretch;
    background: var(--background-base-default-soft, #FAF8F3);
    color: var(--foreground-base-tertiary, #84775D);
    font-size: 12px;
}

.visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-page-shell > .component-wrapper,
.visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-main > .component-wrapper {
    display: contents;
}

.editor-mode .visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-page-shell > .component-wrapper,
.editor-mode .visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-main > .component-wrapper {
    display: block;
}

.editor-mode .visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-main > .component-wrapper + .component-wrapper {
    margin-top: 62px;
}

@media (max-width: 760px) {
    .visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-main {
        width: min(100% - 32px, 560px);
        padding: 58px 0 88px;
    }

    .visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-header {
        min-height: 72px;
        padding-top: 22px;
    }

    .visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-logo img {
        width: 132px;
    }

    .visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-notice {
        margin: 30px auto 42px;
        padding: 16px 18px;
    }

    .visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-return,
    .visual-layout-page[data-page-key="checkout_payment_ko"] .alc-payment-ko-contact {
        width: 100%;
        min-width: 0;
    }
}
/* ─── Header mobile: idioma y moneda viven solo en el menú desplegable.
   La capa 40.105 los mostraba compactos junto al burger, pero colisionan
   entre sí en anchos de móvil. El menú mobile (fase 40.51) ya incluye los
   mismos custom-selects funcionales, así que en el header se ocultan. */
@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__language,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header__currency {
        display: none !important;
    }
}

/* ─── FAQs mobile: las categorías de preguntas en una sola fila con scroll
   lateral (carrusel de píldoras cortadas en el borde, según diseño), en vez
   de envolverse en varias filas centradas. */
@media (max-width: 768px) {
    .visual-layout-page[data-page-key="faqs"] .alc-faq-filters {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        gap: 12px !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
        padding: 2px 2px 6px !important;
    }

    .visual-layout-page[data-page-key="faqs"] .alc-faq-filters::-webkit-scrollbar {
        display: none !important;
    }

    .visual-layout-page[data-page-key="faqs"] .alc-faq-filters button {
        flex: 0 0 auto !important;
        white-space: nowrap !important;
    }
}

/* ─── Experience mobile: reserva fija + modal (según Figma mobile).
   En móvil el widget de reserva (con el calendario) NO sale en el flujo de la
   página: aparece una barra fija con precio + CTA "Reservar Entradas" y, al
   pulsarla, el propio widget se abre como modal a pantalla completa. La barra
   y el botón de cerrar los inyecta booking_sidebar.component.js solo en público. */
html.alc-booking-modal-lock,
html.alc-booking-modal-lock body {
    overflow: hidden !important;
}

.alc-exp-mobile-book-bar,
.alc-booking-modal-close {
    display: none;
}

@media (max-width: 768px) {
    /* El widget de reserva desaparece del flujo (solo vive en el modal). */
    body:not(.editor-mode) .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget {
        display: none !important;
    }

    body:not(.editor-mode) .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open {
        display: block !important;
        position: fixed !important;
        inset: 0 !important;
        z-index: 100060 !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 58px 20px 36px !important;
        background: #fff !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-modal-close {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        position: fixed !important;
        top: 12px !important;
        right: 14px !important;
        z-index: 100070 !important;
        width: 36px !important;
        height: 36px !important;
        border: 0 !important;
        border-radius: 999px !important;
        background: #f1f2f4 !important;
        color: #17191d !important;
        font-size: 22px !important;
        line-height: 1 !important;
        cursor: pointer !important;
    }

    /* Barra fija inferior con precio + CTA (estilo Figma: banda oscura). */
    .alc-exp-mobile-book-bar {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 16px !important;
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 100040 !important;
        padding: 12px 20px !important;
        padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
        background: #17191d !important;
        color: #fff !important;
    }

    .alc-exp-mobile-book-bar.is-hidden {
        display: none !important;
    }

    .alc-exp-mobile-book-bar__price small {
        display: block !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        letter-spacing: .1em !important;
        text-transform: uppercase !important;
        opacity: .72 !important;
    }

    .alc-exp-mobile-book-bar__price strong {
        font-size: 19px !important;
        line-height: 1.2 !important;
        font-weight: 800 !important;
    }

    .alc-exp-mobile-book-bar__cta {
        flex: 0 0 auto !important;
        border: 0 !important;
        border-radius: 10px !important;
        padding: 12px 18px !important;
        background: #fff !important;
        color: #17191d !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        white-space: nowrap !important;
        cursor: pointer !important;
    }

    /* Hueco al final para que la barra fija no tape el contenido. */
    body:not(.editor-mode) .visual-layout-page[data-page-key="experience"] {
        padding-bottom: 74px !important;
    }

    /* Stats del hero: solo precio y próximo día disponible. */
    .visual-layout-page[data-page-key="experience"] .alc-exp-stats {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    /* La duración está oculta, pero su wrapper seguía ocupando una celda.
       Se elimina ese hueco para mantener la fecha al lado del precio. */
    .visual-layout-page[data-page-key="experience"] .alc-exp-stats > .cmp-rich_text:has(> .alc-exp-stat--duration) {
        display: none !important;
    }

    .visual-layout-page[data-page-key="experience"] .alc-exp-stat {
        border-bottom: 0 !important;
        padding: 12px 0 !important;
    }

    .visual-layout-page[data-page-key="experience"] .alc-exp-stat--price {
        border-right: 1px solid var(--border-base-default, rgba(72, 65, 50, .16)) !important;
        padding-right: 16px !important;
    }

    .visual-layout-page[data-page-key="experience"] .alc-exp-stat--next-date {
        border-right: 0 !important;
        padding-left: 16px !important;
    }
}

/* ─── Botón flotante de WhatsApp vs. barra fija de reserva (experience mobile).
   El botón lo inyecta un bloque HTML guardado en BD con bottom:30px y z-index 999,
   así que la barra fija lo tapaba. Cuando existe la barra (body.alc-has-mobile-book-bar,
   lo marca booking_sidebar.component.js), se sube por encima de ella. */
@media (max-width: 768px) {
    body.alc-has-mobile-book-bar .whatsapp-float {
        bottom: calc(84px + env(safe-area-inset-bottom, 0px)) !important;
        right: 16px !important;
        z-index: 100035 !important;
    }
}

/* ─── Experience mobile: flujo de compra del modal según Figma "Mobile | Form".
   Pasos como tarjetas sueltas con check + resumen al completarse, y pie fijo
   dentro del modal con: información importante plegable (minimizada por
   defecto), fila TOTAL siempre visible y CTA que pasa de gris a negro cuando
   día + horario + entradas están elegidos. El JS del componente mueve la
   información importante al pie al abrir el modal y añade los resúmenes. */
.alc-booking-step-summary {
    display: none;
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-language-info .alc-booking-main-tour {
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-language-info-list {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px 14px !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-language-info-list li {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-language-info-list img {
        display: block !important;
        flex: 0 0 20px !important;
        width: 20px !important;
        min-width: 20px !important;
        max-width: 20px !important;
        height: 15px !important;
        min-height: 15px !important;
        max-height: 15px !important;
        aspect-ratio: 4 / 3 !important;
        object-fit: cover !important;
        border-radius: 2px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-lang-list {
        display: grid !important;
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
        gap: 12px !important;
        width: 100% !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-lang-item {
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        width: 100% !important;
        min-height: 48px !important;
        margin: 0 !important;
        padding: 11px 14px !important;
        color: var(--foreground-base-tertiary-mid, #84775d) !important;
        font-size: 12px !important;
        line-height: 16px !important;
        font-weight: 600 !important;
        letter-spacing: .04em !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-lang-item::before,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-lang-item::after {
        content: none !important;
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-lang-item img {
        display: block !important;
        flex: 0 0 24px !important;
        width: 24px !important;
        min-width: 24px !important;
        max-width: 24px !important;
        height: 18px !important;
        min-height: 18px !important;
        max-height: 18px !important;
        aspect-ratio: 4 / 3 !important;
        object-fit: cover !important;
        border-radius: 2px !important;
    }

    body:not(.editor-mode) .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open {
        padding: 54px 16px 0 !important;
    }

    /* La franja "Desde + precio" no existe en el modal del diseño. */
    .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-price-head {
        display: none !important;
    }

    /* La card exterior se disuelve: cada acordeón/paso es su propia tarjeta. */
    .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-card {
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
        overflow: visible !important;
    }

    .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open #form_reserva.alc-booking-form {
        padding: 0 !important;
        background: transparent !important;
        gap: 12px !important;
    }

    /* Cabeceras de paso: dos líneas cuando hay resumen (título + selección). */
    .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-step-head {
        flex-wrap: wrap !important;
        padding-top: 13px !important;
        padding-bottom: 13px !important;
    }

    .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-step-summary {
        display: block !important;
        flex: 1 1 100% !important;
        order: 10 !important;
        margin: 3px 0 0 36px !important;
        color: var(--alc-booking-muted, #84775D) !important;
        font-size: 12px !important;
        line-height: 1.35 !important;
        font-weight: 600 !important;
    }

    .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-step-summary:empty,
    .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-step.is-open .alc-booking-step-summary {
        display: none !important;
    }

    /* Paso completado: el número se convierte en check. */
    .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-step.is-complete .alc-booking-step-number {
        position: relative !important;
        color: transparent !important;
    }

    .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-step.is-complete .alc-booking-step-number::after {
        content: "" !important;
        position: absolute !important;
        left: 9px !important;
        top: 5px !important;
        width: 6px !important;
        height: 11px !important;
        border-right: 2px solid #fff !important;
        border-bottom: 2px solid #fff !important;
        transform: rotate(45deg) !important;
    }

    /* Pie fijo del modal: info importante + total + CTA. */
    .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-footer {
        position: sticky !important;
        bottom: 0 !important;
        z-index: 5 !important;
        display: block !important;
        padding: 0 14px calc(8px + env(safe-area-inset-bottom, 0px)) !important;
        background: #fff !important;
        border-top: 1px solid var(--border-base-default, #E4E7EC) !important;
        box-shadow: 0 -12px 28px rgba(24, 23, 31, .08) !important;
    }

    /* Información importante dentro del pie: plegable y minimizada por defecto. */
    .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-footer .alc-booking-important {
        margin: 0 !important;
        padding: 7px 0 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-footer .alc-booking-important h3 {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #17191d !important;
        font-size: 10px !important;
        line-height: 14px !important;
        font-weight: 800 !important;
        letter-spacing: .14em !important;
        text-transform: uppercase !important;
        cursor: pointer !important;
        user-select: none !important;
    }

    .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-footer .alc-booking-important h3::after {
        content: "" !important;
        width: 8px !important;
        height: 8px !important;
        margin-left: 10px !important;
        border-right: 2px solid currentColor !important;
        border-bottom: 2px solid currentColor !important;
        transform: rotate(225deg) translate(-2px, -1px) !important;
        opacity: .7 !important;
    }

    .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-footer .alc-booking-important.is-collapsed h3::after {
        transform: rotate(45deg) translateY(-2px) !important;
    }

    .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-footer .alc-booking-important ul {
        margin: 10px 0 0 !important;
        padding: 0 !important;
        list-style: none !important;
        display: grid !important;
        gap: 8px !important;
    }

    .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-footer .alc-booking-important.is-collapsed ul {
        display: none !important;
    }

    .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-footer .alc-booking-important li {
        display: flex !important;
        gap: 8px !important;
        color: var(--alc-booking-muted, #667085) !important;
        font-size: 12px !important;
        line-height: 1.4 !important;
    }

    /* Fila TOTAL siempre visible en el pie del modal. */
    .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-footer .precio_total,
    .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-footer .precio_total.d-none {
        display: flex !important;
        align-items: baseline !important;
        justify-content: space-between !important;
        margin: 7px 0 8px !important;
        padding: 8px 0 0 !important;
        border-top: 1px solid var(--border-base-default, #E4E7EC) !important;
    }

    .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-footer .precio_total > div:first-child {
        color: #17191d !important;
        font-size: 11px !important;
        font-weight: 800 !important;
        letter-spacing: .14em !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-footer .precio_final {
        color: #17191d !important;
        font-size: 22px !important;
        line-height: 1.1 !important;
        font-weight: 800 !important;
    }

    /* CTA: gris hasta completar día + horario + entradas; negro cuando está listo. */
    .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-footer #btn_comprar {
        width: 100% !important;
        min-height: 44px !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 10px !important;
        padding: 11px 16px !important;
        background: #9aa0a8 !important;
        color: #fff !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        letter-spacing: .12em !important;
        text-transform: uppercase !important;
        transition: background-color .18s ease !important;
    }

    .visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open.is-ready .alc-booking-footer #btn_comprar {
        background: #17191d !important;
    }
}

/* Chevrons de acordeones/pasos de reserva: giro animado acompasado con el
   despliegue animado de los cuerpos (booking_sidebar.component.js). */
.visual-layout-page[data-page-key="experience"] .alc-booking-chevron {
    transition: transform .22s cubic-bezier(.4, 0, .2, 1) !important;
}

/* ─── Checkout mobile: precio fijo abajo + "Ver detalles" con hoja de resumen.
   Según Figma "Mobile | Checkout - Details / Payment": el resumen de la reserva
   sale del flujo; abajo queda fija una barra con información importante plegable
   (solo Details), fila "Ver detalles" + total, y CONTINUAR a ancho completo.
   "Ver detalles" abre la hoja "Resumen de tu reserva" con la tarjeta de resumen
   (y datos de contacto en Pago), dejando la barra visible debajo.
   Los elementos los construye checkout_details.component.js solo en público. */
@media (max-width: 768px) {
    body.alc-has-checkout-bar {
        padding-bottom: calc(var(--alc-checkout-bar-h, 150px) + 14px) !important;
    }

    /* El hueco del resumen en el flujo queda vacío tras mover la tarjeta. */
    body.alc-has-checkout-bar .alc-checkout-right {
        display: none !important;
    }

    /* Barra fija inferior. */
    .alc-checkout-mobile-bar {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 100050;
        background: #fff;
        border-top: 1px solid var(--border-base-default, #E4E7EC);
        box-shadow: 0 -12px 28px rgba(24, 23, 31, .08);
        padding: 0 16px calc(12px + env(safe-area-inset-bottom, 0px));
    }

    /* Información importante dentro de la barra: banda gris plegable. */
    .alc-checkout-mobile-bar .alc-checkout-info {
        margin: 0 -16px !important;
        padding: 11px 16px !important;
        border: 0 !important;
        border-bottom: 1px solid var(--border-base-default, #E4E7EC) !important;
        border-radius: 0 !important;
        background: #f4f5f6 !important;
        box-shadow: none !important;
    }

    .alc-checkout-mobile-bar .alc-checkout-info h2 {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #17191d !important;
        font-size: 11px !important;
        line-height: 16px !important;
        font-weight: 800 !important;
        letter-spacing: .14em !important;
        text-transform: uppercase !important;
        cursor: pointer !important;
        user-select: none !important;
    }

    .alc-checkout-mobile-bar .alc-checkout-info h2::after {
        content: "";
        width: 8px;
        height: 8px;
        margin-left: 10px;
        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        transform: rotate(225deg) translate(-2px, -1px);
        opacity: .7;
    }

    .alc-checkout-mobile-bar .alc-checkout-info.is-collapsed h2::after {
        transform: rotate(45deg) translateY(-2px);
    }

    .alc-checkout-mobile-bar .alc-checkout-info ul {
        margin: 10px 0 0 !important;
        padding: 0 !important;
        list-style: none !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .alc-checkout-mobile-bar .alc-checkout-info.is-collapsed ul {
        display: none !important;
    }

    .alc-checkout-mobile-bar .alc-checkout-info li {
        display: flex !important;
        gap: 8px !important;
        color: var(--foreground-base-secondary, #667085) !important;
        font-size: 12px !important;
        line-height: 1.4 !important;
    }

    /* Fila "Ver detalles" / TOTAL + precio. */
    .alc-checkout-mobile-bar__row {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 12px;
        padding: 12px 0 10px;
    }

    .alc-checkout-mobile-bar__link {
        border: 0;
        padding: 0;
        background: transparent;
        color: var(--foreground-base-secondary, #667085);
        font-size: 13px;
        font-weight: 600;
        text-decoration: underline;
        cursor: pointer;
    }

    .alc-checkout-mobile-bar__total-label {
        display: none;
        color: #17191d;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .14em;
        text-transform: uppercase;
    }

    html.alc-checkout-sheet-open .alc-checkout-mobile-bar__link {
        display: none;
    }

    html.alc-checkout-sheet-open .alc-checkout-mobile-bar__total-label {
        display: inline;
    }

    .alc-checkout-mobile-bar__price {
        color: #17191d;
        font-size: 21px;
        line-height: 1.1;
        font-weight: 800;
    }

    /* CONTINUAR a ancho completo dentro de la barra. */
    .alc-checkout-mobile-bar .alc-checkout-continue {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 10px !important;
        padding: 14px 18px !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        letter-spacing: .12em !important;
        text-transform: uppercase !important;
    }

    /* Fondo oscurecido tras la hoja. */
    .alc-checkout-mobile-backdrop {
        display: none;
        position: fixed;
        inset: 0;
        z-index: 100042;
        background: rgba(24, 23, 31, .45);
    }

    html.alc-checkout-sheet-open .alc-checkout-mobile-backdrop {
        display: block;
    }

    /* Hoja "Resumen de tu reserva": anclada abajo, la barra sigue visible. */
    .alc-checkout-mobile-sheet {
        display: none;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 100045;
        max-height: 76vh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        background: #f4f5f6;
        border-radius: 14px 14px 0 0;
        padding-bottom: calc(var(--alc-checkout-bar-h, 150px) + 10px);
    }

    html.alc-checkout-sheet-open .alc-checkout-mobile-sheet {
        display: block;
    }

    .alc-checkout-mobile-sheet__head {
        position: sticky;
        top: 0;
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 14px 16px;
        background: #ecedef;
        color: #17191d;
        font-size: 14px;
        font-weight: 800;
    }

    .alc-checkout-mobile-sheet__head button {
        border: 0;
        padding: 0;
        width: 28px;
        height: 28px;
        border-radius: 999px;
        background: transparent;
        color: #17191d;
        font-size: 22px;
        line-height: 1;
        cursor: pointer;
    }

    .alc-checkout-mobile-sheet__body {
        padding: 14px 16px 8px;
    }

    /* La tarjeta de resumen dentro de la hoja: sin su fila de total ni botón
       (viven en la barra fija), a ancho completo. */
    .alc-checkout-mobile-sheet__body .alc-checkout-summary-card {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .alc-checkout-mobile-sheet__body .alc-checkout-summary-total {
        display: none !important;
    }
}

/* Animación de entrada de la hoja de resumen del checkout. */
@keyframes alc-sheet-up {
    from { transform: translateY(26px); opacity: .4; }
    to { transform: none; opacity: 1; }
}

@keyframes alc-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

@media (max-width: 768px) {
    html.alc-checkout-sheet-open .alc-checkout-mobile-sheet {
        animation: alc-sheet-up .28s cubic-bezier(.4, 0, .2, 1);
    }
    html.alc-checkout-sheet-open .alc-checkout-mobile-backdrop {
        animation: alc-fade-in .24s ease;
    }
    @media (prefers-reduced-motion: reduce) {
        html.alc-checkout-sheet-open .alc-checkout-mobile-sheet,
        html.alc-checkout-sheet-open .alc-checkout-mobile-backdrop {
            animation: none;
        }
    }
}

/* ─── Fixes checkout mobile bar ──────────────────────────────────────────────
   1) En columna (mobile), el align-items:flex-start del frame (pensado para la
      fila desktop) encogía la columna izquierda y la pegaba a la izquierda:
      en columna el eje transversal es el horizontal.
   2) El bloque de información importante del layout real usa
      .alc-checkout-info-list (grid con estilo inline), no <ul>: el plegado
      debe ocultar también esa lista y forzar una sola columna en la barra. */
@media (max-width: 1024px) {
    .visual-layout-page[data-page-key="checkout_details"] .alc-checkout-frame,
    .visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-frame,
    .visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-frame {
        align-items: stretch !important;
    }

    .visual-layout-page[data-page-key="checkout_details"] .alc-checkout-left,
    .visual-layout-page[data-page-key="checkout_payment"] .alc-checkout-left,
    .visual-layout-page[data-page-key="checkout_visitors"] .alc-checkout-left {
        width: 100% !important;
        max-width: none !important;
    }
}

@media (max-width: 768px) {
    .alc-checkout-mobile-bar .alc-checkout-info .alc-checkout-info-list {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        margin: 10px 0 0 !important;
    }

    .alc-checkout-mobile-bar .alc-checkout-info.is-collapsed .alc-checkout-info-list {
        display: none !important;
    }

    .alc-checkout-mobile-bar .alc-checkout-info-item,
    .alc-checkout-mobile-bar .alc-checkout-info-item p {
        margin: 0 !important;
        color: var(--foreground-base-secondary, #667085) !important;
        font-size: 12px !important;
        line-height: 1.4 !important;
    }
}

/* ────────────────────────────────────────────────────────────────────────────
   Página de contenido legacy (page=content + legacy_page_content).
   Scope: solo la plantilla "content", que pinta el HTML de la tabla pages
   dentro del tema. Columna de lectura centrada con tokens del DS; el HTML
   interno llega del CMS legacy (p, h1, img con estilos inline).
──────────────────────────────────────────────────────────────────────────── */
.visual-layout-page[data-page-key="content"] .ftc-content-page {
    background: var(--white-100, #fff);
    padding: calc(var(--layout-section-y-spacing, 96px) * .5) 0 var(--layout-section-y-spacing, 96px);
}

.ftc-legacy-page__inner {
    max-width: 820px;
    margin: 0 auto;
    padding: 0 24px;
    font-family: var(--font-body-family, Inter), Inter, Arial, sans-serif;
    color: var(--foreground-base-primary, #2a2218);
    line-height: 1.7;
}

.ftc-legacy-page__inner h1,
.ftc-legacy-page__inner h2,
.ftc-legacy-page__inner h3 {
    font-family: var(--font-heading-family, inherit);
    color: var(--foreground-base-primary-strong, #2a2218);
    line-height: 1.25;
    margin: 1.4em 0 .6em;
}

.ftc-legacy-page__inner h1 { font-size: clamp(28px, 4vw, 40px); margin-top: .6em; }
.ftc-legacy-page__inner h2 { font-size: clamp(22px, 3vw, 30px); }
.ftc-legacy-page__inner h3 { font-size: clamp(18px, 2.4vw, 24px); }

.ftc-legacy-page__inner p {
    margin: 0 0 1em;
}

.ftc-legacy-page__inner img {
    max-width: 100%;
    height: auto;
    border-radius: var(--radius-lg, 16px);
}

.ftc-legacy-page__inner img.img-thumbnail {
    border: none;
    padding: 0;
}

.ftc-legacy-page__inner a {
    color: var(--foreground-brand-primary, #b19726);
}

.ftc-legacy-page__inner ul,
.ftc-legacy-page__inner ol {
    margin: 0 0 1em;
    padding-left: 1.4em;
}

@media (max-width: 768px) {
    .ftc-legacy-page__inner {
        padding: 0 16px;
    }
}

/* FAQ help block repair: legacy layouts, editable text keys and mobile centering. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-section > .ve-section-inner,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-section.editable-section > .section-content-wrapper {
    display: flex !important;
    justify-content: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-card,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .editable-rich-text.alc-help-card,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ve-rich-text.alc-help-card {
    width: min(720px, 100%) !important;
    max-width: 720px !important;
    min-height: 190px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-icon {
    width: 32px !important;
    height: 32px !important;
    margin: 0 0 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: transparent !important;
    font-size: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-icon img {
    display: block !important;
    width: 32px !important;
    height: 32px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-card p {
    width: 100% !important;
    max-width: 520px !important;
    margin-inline: auto !important;
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__topbar-inner,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__topbar-inner {
        width: min(350px, 100%) !important;
        padding: 16px 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__topbar p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__topbar p {
        max-width: 350px !important;
        margin-inline: auto !important;
        text-align: center !important;
        text-wrap: balance;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-card,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .editable-rich-text.alc-help-card,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ve-rich-text.alc-help-card {
        width: 100% !important;
        max-width: 350px !important;
        min-height: 282px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-card p {
        max-width: 350px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-actions {
        width: 100% !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-actions a {
        width: auto !important;
        max-width: 100% !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero-copy h1 {
        margin-bottom: 16px !important;
        font-size: 24px !important;
        line-height: 32px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero-copy p {
        max-width: 350px !important;
        font-size: 12px !important;
        line-height: 18px !important;
    }
}

/* Experience mobile final override: keep badges inside the hero rail. */
@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-hero-grid > .alc-exp-hero-copy {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-hero-grid > .alc-exp-hero-copy > .cmp-rich_text:has(> .alc-exp-badges) {
        box-sizing: border-box !important;
        flex: 0 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-hero-grid > .alc-exp-hero-copy .alc-exp-badges {
        box-sizing: border-box !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none !important;
        white-space: nowrap !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-hero-grid > .alc-exp-hero-copy .alc-exp-badges::-webkit-scrollbar {
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-hero-grid > .alc-exp-hero-copy .alc-exp-badges span {
        box-sizing: border-box !important;
        display: inline-flex !important;
        flex: 0 0 auto !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 26px !important;
        padding: 5px 12px !important;
        border: 1px solid var(--border-base-secondary-strong, #c8b99a) !important;
        border-radius: 16px !important;
        background: var(--background-base-default-soft, #faf8f3) !important;
        color: var(--foreground-base-secondary-mid, #665c48) !important;
        box-shadow: 0 1px 2px rgba(0, 0, 0, .08) !important;
        font-size: 10px !important;
        line-height: 14px !important;
        font-weight: 600 !important;
        letter-spacing: .5px !important;
        text-transform: uppercase !important;
    }
}

/* =========================================================
   Experience final desktop composition (Figma 3488:12695)
   ========================================================= */
@media (min-width: 769px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] {
        --alc-exp-content: min(1440px, calc(100% - 144px));
        --alc-exp-main: min(934px, calc(100% - 506px));
        --alc-exp-brand: var(--foreground-base-brand-mid, #5f3a78);
        --alc-exp-brand-strong: var(--background-base-brand-strong, #362145);
        --alc-exp-support: var(--background-base-support-emphasis, #11374d);
        --alc-exp-ink: var(--foreground-base-primary-mid, #484132);
        --alc-exp-ink-soft: var(--foreground-base-secondary-mid, #665c48);
        --alc-exp-muted: var(--foreground-base-tertiary-soft, #a89275);
        --alc-exp-border: var(--border-base-secondary-mid, #ded9d0);
        --alc-exp-border-soft: var(--border-base-secondary-soft, #f0ebe1);
        overflow-x: clip;
        background: var(--white-100) !important;
        color: var(--alc-exp-ink) !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-hero {
        box-sizing: border-box !important;
        padding: 48px 0 88px !important;
        background: var(--white-100) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-hero > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-hero.editable-section > .section-content-wrapper {
        width: var(--alc-exp-content) !important;
        max-width: 1440px !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-hero-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1.054054fr) minmax(0, 1fr) !important;
        gap: 72px !important;
        align-items: end !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-hero-copy {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        align-self: end !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-hero-copy .alc-exp-badges {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: flex-start !important;
        gap: 8px 16px !important;
        width: 100% !important;
        margin: 0 0 48px !important;
        padding: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-badges span {
        box-sizing: border-box !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 34px !important;
        padding: 9px 17px !important;
        border: 1px solid var(--border-base-secondary-strong, #c8b99a) !important;
        border-radius: 16px !important;
        background: var(--background-base-default-soft, #faf8f3) !important;
        color: var(--alc-exp-ink-soft) !important;
        box-shadow: 0 1px 2px rgba(0, 0, 0, .10) !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
        font-size: 11px !important;
        line-height: 16px !important;
        font-weight: 600 !important;
        letter-spacing: .55px !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-title {
        width: 100% !important;
        max-width: none !important;
        margin: 0 0 24px !important;
        color: var(--alc-exp-brand) !important;
        font-family: var(--font-display-family, Signika, Inter, Arial, sans-serif) !important;
        font-size: 48px !important;
        line-height: 56px !important;
        font-weight: 500 !important;
        letter-spacing: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lead,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lead p {
        width: 100% !important;
        margin: 0 !important;
        color: var(--alc-exp-ink) !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
        font-size: 18px !important;
        line-height: 24px !important;
        font-weight: 400 !important;
        letter-spacing: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-stats {
        display: flex !important;
        align-items: flex-end !important;
        gap: 48px !important;
        width: 100% !important;
        margin: 48px 0 0 !important;
        padding: 48px 0 0 !important;
        border-top: 1px solid var(--alc-exp-border) !important;
        border-bottom: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-stat {
        box-sizing: border-box !important;
        display: flex !important;
        flex: 0 0 auto !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        min-height: 50px !important;
        margin: 0 !important;
        padding: 0 32px 0 0 !important;
        border-right: 1px solid var(--alc-exp-border) !important;
        gap: 0 !important;
        white-space: nowrap !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-stat:last-child {
        padding-right: 0 !important;
        border-right: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-stat small {
        display: block !important;
        color: var(--alc-exp-muted) !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
        font-size: 12px !important;
        line-height: 18px !important;
        font-weight: 700 !important;
        letter-spacing: .96px !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-stat strong {
        display: block !important;
        color: var(--alc-exp-ink-soft) !important;
        font-family: var(--font-display-family, Signika, Inter, Arial, sans-serif) !important;
        font-size: 24px !important;
        line-height: 32px !important;
        font-weight: 600 !important;
        letter-spacing: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-stat--price strong {
        color: var(--alc-exp-brand) !important;
        font-size: 32px !important;
        line-height: 32px !important;
        font-weight: 700 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-gallery {
        box-sizing: border-box !important;
        align-self: stretch !important;
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 666 / 566 !important;
        margin: 0 !important;
        padding: 12px !important;
        overflow: hidden !important;
        border: 1px solid var(--alc-exp-border) !important;
        border-radius: 24px !important;
        background: var(--white-100) !important;
        box-shadow: 0 1px 3px rgba(0, 0, 0, .10), 0 1px 2px rgba(0, 0, 0, .10) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-gallery__grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
        width: 100% !important;
        height: 100% !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-gallery__button {
        position: relative !important;
        display: block !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 16px !important;
        background: transparent !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-gallery__button--main {
        grid-column: 1 !important;
        grid-row: 1 / 3 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-gallery__button:not(.alc-exp-gallery__button--main):not(.alc-exp-gallery__tile) {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-gallery__tile {
        grid-column: 2 !important;
        grid-row: 2 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-gallery img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        border-radius: inherit !important;
        object-fit: cover !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-gallery__tile b {
        position: absolute !important;
        inset: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: inherit !important;
        background: var(--black-50) !important;
        color: var(--foreground-base-inverse-strong) !important;
        font-size: 16px !important;
        line-height: 24px !important;
        font-weight: 600 !important;
        letter-spacing: .48px !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs-section {
        min-height: 83px !important;
        padding: 0 !important;
        background: #fff !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs-section > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs-section.editable-section > .section-content-wrapper {
        width: var(--alc-exp-content) !important;
        max-width: 1440px !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs {
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 934px !important;
        max-width: calc(100% - 506px) !important;
        min-height: 83px !important;
        margin: 0 !important;
        padding: 24px 16px !important;
        overflow: hidden !important;
        border-top: 1px solid var(--alc-exp-border) !important;
        border-bottom: 1px solid var(--alc-exp-border) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs a {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 34px !important;
        padding: 9px 16px !important;
        border-radius: 24px !important;
        color: var(--alc-exp-brand) !important;
        background: transparent !important;
        font-size: 12px !important;
        line-height: 16px !important;
        font-weight: 700 !important;
        letter-spacing: .24px !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs a.active {
        background: var(--alc-exp-brand) !important;
        color: #fff !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-detail-section {
        padding: 0 !important;
        background: #fff !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-detail-section > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-detail-section.editable-section > .section-content-wrapper {
        width: var(--alc-exp-content) !important;
        max-width: 1440px !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-detail-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 934px) 402px !important;
        gap: 104px !important;
        align-items: start !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content {
        display: flex !important;
        flex-direction: column !important;
        width: 934px !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content h2,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-section-title {
        margin: 0 !important;
        color: var(--alc-exp-ink-soft) !important;
        font-family: var(--font-display-family, Signika, Inter, Arial, sans-serif) !important;
        font-size: 32px !important;
        line-height: 40px !important;
        font-weight: 500 !important;
        letter-spacing: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content p,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content li {
        color: var(--alc-exp-ink) !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
        font-size: 16px !important;
        line-height: 24px !important;
        font-weight: 400 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-about,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-digital,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-languages,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-location {
        box-sizing: border-box !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-about {
        min-height: 790px !important;
        padding: 48px 72px 97px 32px !important;
        border-bottom: 1px solid var(--alc-exp-border-soft) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-about h2 {
        margin-bottom: 32px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-about > p {
        margin: 0 0 16px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-about-split {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 40px !important;
        align-items: start !important;
        margin-top: 40px !important;
        padding-top: 40px !important;
        border-top: 1px solid var(--alc-exp-border) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-about-split p {
        margin: 0 0 32px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-about-split ul {
        display: grid !important;
        gap: 16px !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-about-split li {
        position: relative !important;
        padding-left: 28px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-about-split li::before {
        content: "" !important;
        position: absolute !important;
        left: 0 !important;
        top: 6px !important;
        width: 20px !important;
        height: 12px !important;
        border-top: 2px solid var(--alc-exp-brand) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-about-split img {
        display: block !important;
        width: 100% !important;
        height: 248px !important;
        object-fit: cover !important;
        border-radius: 16px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes {
        min-height: 468px !important;
        padding: 96px 72px 96px 32px !important;
        border-bottom: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes h2 {
        margin-bottom: 48px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 40px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes-grid h3 {
        margin: 0 0 24px !important;
        color: var(--alc-exp-ink-soft) !important;
        font-family: var(--font-display-family, Signika, Inter, Arial, sans-serif) !important;
        font-size: 20px !important;
        line-height: 28px !important;
        font-weight: 600 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes-grid ul {
        display: grid !important;
        gap: 16px !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes-grid li {
        position: relative !important;
        padding-left: 20px !important;
        color: var(--alc-exp-ink-soft) !important;
        font-size: 14px !important;
        line-height: 20px !important;
        font-weight: 600 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-includes-grid li::before {
        content: "" !important;
        position: absolute !important;
        left: 2px !important;
        top: 5px !important;
        width: 8px !important;
        height: 8px !important;
        border: 2px solid var(--alc-exp-brand) !important;
        transform: rotate(45deg) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-digital {
        position: relative !important;
        min-height: 768px !important;
        padding: 96px 72px 96px 32px !important;
        border-radius: 0 16px 16px 0 !important;
        background: var(--alc-exp-brand-strong) !important;
        box-shadow: none !important;
        color: #fff !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-digital h2 {
        margin-bottom: 48px !important;
        color: #fff !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-digital > p {
        margin: 0 0 48px !important;
        padding-bottom: 48px !important;
        border-bottom: 1px solid rgba(255, 255, 255, .25) !important;
        color: rgba(255, 255, 255, .75) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-digital-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 32px 48px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-digital-item {
        display: grid !important;
        grid-template-columns: 20px minmax(0, 1fr) !important;
        gap: 16px !important;
        align-items: start !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-digital-item img {
        width: 20px !important;
        height: 20px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-digital-item div {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-digital-item strong {
        color: #fff !important;
        font-family: var(--font-display-family, Signika, Inter, Arial, sans-serif) !important;
        font-size: 16px !important;
        line-height: 24px !important;
        font-weight: 500 !important;
        letter-spacing: 1.2px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-digital-item span {
        color: rgba(255, 255, 255, .75) !important;
        font-size: 14px !important;
        line-height: 20px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-languages {
        min-height: 513px !important;
        padding: 96px 72px 97px 32px !important;
        border-bottom: 1px solid #e8e4dc !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-languages h2 {
        margin-bottom: 48px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-languages > p {
        margin: 0 0 40px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-list {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 16px 24px !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-item {
        display: inline-flex !important;
        align-items: center !important;
        gap: 12px !important;
        min-height: 40px !important;
        color: var(--alc-exp-ink-soft) !important;
        font-size: 14px !important;
        line-height: 20px !important;
        font-weight: 600 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-lang-item img {
        width: 24px !important;
        height: 18px !important;
        object-fit: cover !important;
        border-radius: 2px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-location {
        min-height: 1070px !important;
        padding: 96px 72px 96px 32px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-location h2 {
        margin-bottom: 48px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-map-wrap {
        width: 100% !important;
        height: 360px !important;
        margin: 0 0 48px !important;
        overflow: hidden !important;
        border-radius: 16px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-map-wrap iframe,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-map-wrap img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-location-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 40px !important;
        margin: 0 0 48px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-location-card {
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-location-card h3,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-know h3 {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        margin: 0 0 24px !important;
        color: var(--alc-exp-ink-soft) !important;
        font-family: var(--font-display-family, Signika, Inter, Arial, sans-serif) !important;
        font-size: 20px !important;
        line-height: 28px !important;
        font-weight: 600 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-location-card h3 img {
        width: 20px !important;
        height: 20px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-location-card p {
        margin: 0 0 8px !important;
        font-size: 14px !important;
        line-height: 20px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-hours-row {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
        gap: 16px !important;
        margin-bottom: 16px !important;
        font-size: 14px !important;
        line-height: 20px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-hours-row div:last-child {
        display: flex !important;
        flex-direction: column !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-hours-row em {
        color: var(--alc-exp-muted) !important;
        font-size: 12px !important;
        line-height: 18px !important;
        font-style: normal !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-know {
        padding-top: 40px !important;
        border-top: 1px solid var(--alc-exp-border) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-know ul {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px 40px !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-know li {
        position: relative !important;
        padding-left: 28px !important;
        color: var(--alc-exp-ink-soft) !important;
        font-size: 14px !important;
        line-height: 20px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-know li::before {
        content: "i" !important;
        position: absolute !important;
        left: 0 !important;
        top: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 20px !important;
        height: 20px !important;
        border: 1px solid var(--alc-exp-brand) !important;
        border-radius: 50% !important;
        color: var(--alc-exp-brand) !important;
        font-size: 11px !important;
        line-height: 1 !important;
        font-weight: 700 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-cancellation,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-faqs {
        padding: 0 !important;
        background: transparent !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-cancellation > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-faqs > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer.editable-section > .section-content-wrapper,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-cancellation.editable-section > .section-content-wrapper,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-faqs.editable-section > .section-content-wrapper {
        box-sizing: border-box !important;
        width: 934px !important;
        max-width: 934px !important;
        margin-left: max(72px, calc((100% - 1440px) / 2)) !important;
        margin-right: auto !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer.editable-section > .section-content-wrapper {
        min-height: 444px !important;
        padding: 96px 72px 96px 32px !important;
        border-radius: 0 16px 0 0 !important;
        background: var(--alc-exp-support) !important;
        box-shadow: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer .alc-exp-section-title {
        margin-bottom: 48px !important;
        color: #fff !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer-grid {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 24px !important;
        width: 100% !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer-item {
        position: relative !important;
        min-width: 0 !important;
        min-height: 120px !important;
        margin: 0 !important;
        padding: 28px 24px 0 0 !important;
        border-right: 1px solid rgba(255, 255, 255, .25) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer-item:last-child {
        padding-right: 0 !important;
        border-right: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer-item::before {
        content: "" !important;
        position: absolute !important;
        left: 0 !important;
        top: 0 !important;
        width: 20px !important;
        height: 20px !important;
        border: 2px solid rgba(255, 255, 255, .85) !important;
        border-radius: 4px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer-item strong {
        display: block !important;
        min-height: 48px !important;
        margin: 0 0 8px !important;
        color: #fff !important;
        font-family: var(--font-display-family, Signika, Inter, Arial, sans-serif) !important;
        font-size: 16px !important;
        line-height: 24px !important;
        font-weight: 500 !important;
        letter-spacing: 1.2px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer-item p {
        margin: 0 !important;
        color: rgba(255, 255, 255, .75) !important;
        font-size: 14px !important;
        line-height: 20px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-cancellation > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-cancellation.editable-section > .section-content-wrapper {
        min-height: 408px !important;
        padding: 96px 72px 96px 32px !important;
        border-radius: 0 0 16px 0 !important;
        background: var(--background-base-default-mid, #f0ebe1) !important;
        box-shadow: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-cancellation-copy h2 {
        margin: 0 0 48px !important;
        color: var(--alc-exp-ink-soft) !important;
        font-family: var(--font-display-family, Signika, Inter, Arial, sans-serif) !important;
        font-size: 32px !important;
        line-height: 40px !important;
        font-weight: 500 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-cancellation-copy p {
        margin: 0 0 16px !important;
        color: var(--alc-exp-ink) !important;
        font-size: 16px !important;
        line-height: 24px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-faqs > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-faqs.editable-section > .section-content-wrapper {
        min-height: 800px !important;
        padding: 96px 72px 96px 32px !important;
        background: #fff !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-faqs .alc-exp-section-title {
        margin-bottom: 48px !important;
    }
}

/* Experience booking widget final desktop states. */
@media (min-width: 769px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-sidebar {
        position: sticky !important;
        top: 0 !important;
        align-self: start !important;
        justify-self: end !important;
        width: 402px !important;
        max-width: 402px !important;
        margin: -83px 0 0 !important;
        padding: 0 !important;
        z-index: 8 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        width: 402px !important;
        max-width: 402px !important;
        margin: 0 !important;
        padding: 0 !important;
        color: var(--alc-exp-ink) !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-card {
        box-sizing: border-box !important;
        width: 402px !important;
        overflow: hidden !important;
        border: 1px solid var(--alc-exp-border) !important;
        border-radius: 24px !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-price-head {
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-end !important;
        gap: 16px !important;
        width: 100% !important;
        height: 98px !important;
        min-height: 98px !important;
        margin: 0 !important;
        padding: 16px 24px !important;
        border-radius: 23px 23px 0 0 !important;
        background: var(--alc-exp-brand-strong) !important;
        color: #fff !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-price-head small {
        display: block !important;
        margin: 0 !important;
        color: rgba(255, 255, 255, .60) !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
        font-size: 12px !important;
        line-height: 18px !important;
        font-weight: 700 !important;
        letter-spacing: .96px !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-price-line {
        display: flex !important;
        align-items: flex-end !important;
        gap: 10px !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-start-price {
        color: #fff !important;
        font-family: var(--font-display-family, Signika, Inter, Arial, sans-serif) !important;
        font-size: 24px !important;
        line-height: 32px !important;
        font-weight: 600 !important;
        letter-spacing: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] #form_reserva.alc-booking-form {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-hidden-sources,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-service-source[hidden],
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-step-body[hidden],
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-accordion-body[hidden] {
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-accordion,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-step {
        box-sizing: border-box !important;
        width: calc(100% - 32px) !important;
        margin: 0 16px !important;
        padding: 0 !important;
        overflow: visible !important;
        border: 0 !important;
        border-bottom: 1px solid var(--alc-exp-border) !important;
        border-radius: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-accordion {
        margin-top: 8px !important;
        border-bottom: 0 !important;
        background: var(--background-feedback-info-soft, #eef4f8) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-accordion-head,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-step-head {
        box-sizing: border-box !important;
        appearance: none !important;
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 52px !important;
        margin: 0 !important;
        padding: 8px 12px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #fff !important;
        color: var(--alc-exp-brand) !important;
        box-shadow: none !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
        font-size: 12px !important;
        line-height: 18px !important;
        font-weight: 700 !important;
        letter-spacing: .96px !important;
        text-align: left !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-accordion-head {
        background: var(--background-feedback-info-soft, #eef4f8) !important;
        color: var(--foreground-feedback-info-mid, #1c5685) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-step.is-disabled .alc-booking-step-head {
        color: var(--alc-exp-ink-soft) !important;
        opacity: .45 !important;
        cursor: default !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-info-icon,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-step-number {
        box-sizing: border-box !important;
        display: inline-flex !important;
        flex: 0 0 20px !important;
        align-items: center !important;
        justify-content: center !important;
        width: 20px !important;
        height: 20px !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 4px !important;
        background: var(--alc-exp-brand) !important;
        color: #fff !important;
        font-size: 11px !important;
        line-height: 1 !important;
        font-weight: 700 !important;
        letter-spacing: 0 !important;
        font-style: normal !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-info-icon {
        background: var(--foreground-feedback-info-mid, #1c5685) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-step.is-complete .alc-booking-step-number {
        color: transparent !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-step.is-complete .alc-booking-step-number::after {
        content: "" !important;
        position: absolute !important;
        width: 8px !important;
        height: 4px !important;
        border-left: 2px solid #fff !important;
        border-bottom: 2px solid #fff !important;
        transform: rotate(-45deg) translate(1px, -1px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-step.is-complete .alc-booking-step-number {
        position: relative !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-step.is-disabled .alc-booking-step-number {
        background: var(--alc-exp-border) !important;
        color: #fff !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-chevron {
        flex: 0 0 auto !important;
        width: 8px !important;
        height: 8px !important;
        margin: 0 2px 0 auto !important;
        border-right: 1.5px solid currentColor !important;
        border-bottom: 1.5px solid currentColor !important;
        opacity: 1 !important;
        transform: rotate(45deg) translateY(-2px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .is-open > .alc-booking-step-head .alc-booking-chevron,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .is-open > .alc-booking-accordion-head .alc-booking-chevron {
        transform: rotate(225deg) translate(-2px, -1px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-step-summary {
        display: none !important;
        flex: 0 0 100% !important;
        order: 5 !important;
        margin: -2px 0 0 28px !important;
        color: var(--alc-exp-ink-soft) !important;
        font-size: 12px !important;
        line-height: 16px !important;
        font-weight: 400 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-step.is-complete:not(.is-open) .alc-booking-step-summary:not(:empty) {
        display: block !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-accordion-body {
        box-sizing: border-box !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 16px 16px !important;
        background: var(--background-feedback-info-soft, #eef4f8) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-step-body {
        box-sizing: border-box !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 8px 16px 16px !important;
        background: #fff !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-language-info .alc-booking-main-tour {
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-language-info-list {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px 16px !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-language-info-list li {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        min-width: 0 !important;
        margin: 0 !important;
        color: var(--alc-exp-ink-soft) !important;
        font-size: 12px !important;
        line-height: 16px !important;
        font-weight: 400 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-language-info-list img {
        width: 20px !important;
        height: 15px !important;
        object-fit: cover !important;
        border-radius: 2px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .titulo_formulario,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .calendarios > p.titulo_formulario,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .hora > p.titulo_formulario,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .personas > p.titulo_formulario {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
        white-space: nowrap !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget #bloque_calendario,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget #datepicker,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker {
        box-sizing: border-box !important;
        width: 335px !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        color: var(--alc-exp-ink) !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-header {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        min-height: 24px !important;
        margin: 0 0 16px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-title {
        order: 1 !important;
        margin: 0 !important;
        color: var(--alc-exp-brand) !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
        font-size: 16px !important;
        line-height: 20px !important;
        font-weight: 700 !important;
        letter-spacing: .32px !important;
        text-align: left !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-prev,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-next {
        position: static !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 24px !important;
        height: 24px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: var(--alc-exp-brand) !important;
        text-indent: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-prev {
        order: 2 !important;
        margin-left: auto !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-next {
        order: 3 !important;
        margin-left: 8px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-prev span,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-next span {
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-prev::before,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-next::before {
        content: "" !important;
        display: block !important;
        width: 7px !important;
        height: 12px !important;
        border: 0 !important;
        background: currentColor !important;
        transform: none !important;
        -webkit-mask-repeat: no-repeat !important;
        mask-repeat: no-repeat !important;
        -webkit-mask-position: center !important;
        mask-position: center !important;
        -webkit-mask-size: contain !important;
        mask-size: contain !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-prev::before {
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'%3E%3Cpath d='M7 1 1 7l6 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'%3E%3Cpath d='M7 1 1 7l6 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-next::before {
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'%3E%3Cpath d='m1 1 6 6-6 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'%3E%3Cpath d='m1 1 6 6-6 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar {
        width: 100% !important;
        margin: 0 !important;
        border-collapse: separate !important;
        border-spacing: 0 7px !important;
        table-layout: fixed !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar th {
        box-sizing: border-box !important;
        height: 20px !important;
        padding: 0 !important;
        color: var(--alc-exp-ink-soft) !important;
        opacity: .50 !important;
        font-size: 12px !important;
        line-height: 16px !important;
        font-weight: 700 !important;
        letter-spacing: .24px !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td {
        position: relative !important;
        box-sizing: border-box !important;
        height: 30px !important;
        padding: 0 !important;
        border: 0 !important;
        vertical-align: middle !important;
        text-align: center !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td a,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td span {
        box-sizing: border-box !important;
        display: inline-flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        width: 30px !important;
        min-width: 30px !important;
        height: 30px !important;
        min-height: 30px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: transparent !important;
        color: var(--alc-exp-ink) !important;
        font-size: 14px !important;
        line-height: 20px !important;
        font-weight: 600 !important;
        text-align: center !important;
        text-decoration: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td.ui-state-disabled span,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td.disabled span,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td.disabled a,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td.pasado span,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td.pasado a {
        color: var(--alc-exp-border) !important;
        opacity: 1 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td a.ui-state-active,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td.ui-datepicker-current-day a {
        background: var(--alc-exp-brand) !important;
        color: #fff !important;
        font-weight: 700 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td a[data-custom]::after,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .ui-datepicker-calendar td span[data-custom]::after,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .datepicker tbody td::after,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .datepicker tbody td:has(a[data-custom])::after {
        content: none !important;
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-language-panel .hora.servicios .row {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-language-panel .hora.servicios .col {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-language-panel .hora.servicios p[class^="linea_"],
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-language-panel .hora.servicios p[class*=" linea_"] {
        margin: 0 !important;
        padding: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-language-panel .hora.servicios input[name="servicio"] {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-language-panel .hora.servicios input[name="servicio"] + label {
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-height: 36px !important;
        margin: 0 !important;
        padding: 8px !important;
        border: 1px solid var(--alc-exp-border) !important;
        border-radius: 8px !important;
        background: #fff !important;
        color: var(--alc-exp-ink-soft) !important;
        font-size: 12px !important;
        line-height: 16px !important;
        font-weight: 600 !important;
        text-align: center !important;
        cursor: pointer !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-language-panel .hora.servicios input[name="servicio"] + label::before,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-language-panel .hora.servicios label::after,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-language-panel .hora.servicios label br,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-language-panel .hora.servicios label .agotadas {
        content: none !important;
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-language-panel .hora.servicios input[name="servicio"]:checked + label {
        border-color: var(--alc-exp-brand) !important;
        background: var(--alc-exp-brand) !important;
        color: #fff !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-time-notice {
        box-sizing: border-box !important;
        display: flex !important;
        align-items: flex-start !important;
        gap: 8px !important;
        width: 100% !important;
        min-height: 48px !important;
        margin: 0 0 12px !important;
        padding: 8px !important;
        border-radius: 8px !important;
        background: var(--background-feedback-info-soft, #eef4f8) !important;
        color: var(--foreground-feedback-info-mid, #1c5685) !important;
        font-size: 11px !important;
        line-height: 16px !important;
        font-weight: 400 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-time-notice__icon {
        display: inline-flex !important;
        flex: 0 0 16px !important;
        align-items: center !important;
        justify-content: center !important;
        width: 16px !important;
        height: 16px !important;
        border: 1px solid currentColor !important;
        border-radius: 50% !important;
        font-size: 10px !important;
        line-height: 1 !important;
        font-weight: 700 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora .col-auto,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget #template_hora .col-auto {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora p.with_info {
        display: block !important;
        width: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora input[name="hora"] {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora input[name="hora"] + label {
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-height: 36px !important;
        margin: 0 !important;
        padding: 8px !important;
        border: 1px solid var(--alc-exp-border) !important;
        border-radius: 8px !important;
        background: #fff !important;
        color: var(--alc-exp-ink-soft) !important;
        font-size: 12px !important;
        line-height: 16px !important;
        font-weight: 600 !important;
        text-align: center !important;
        cursor: pointer !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora input[name="hora"]:checked + label {
        border-color: var(--alc-exp-brand) !important;
        background: var(--alc-exp-brand) !important;
        color: #fff !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora label br,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget #wrapper_hora label .agotadas {
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget #bloque_personas {
        width: 100% !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget #bloque_personas .linea {
        box-sizing: border-box !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-rows: auto auto !important;
        gap: 2px 12px !important;
        align-items: center !important;
        width: 100% !important;
        min-height: 52px !important;
        margin: 0 0 8px !important;
        padding: 8px !important;
        border: 1px solid var(--alc-exp-border-soft) !important;
        border-radius: 4px !important;
        background: #fff !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget #bloque_personas .linea.is-selected,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget #bloque_personas .linea:has(input:not([value="0"])) {
        border-color: var(--border-action-primary-default, #b963e2) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget #bloque_personas .linea.d-none {
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget #bloque_personas .linea > .vcenter {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget #bloque_personas .linea p {
        margin: 0 !important;
        color: var(--alc-exp-ink-soft) !important;
        font-size: 12px !important;
        line-height: 16px !important;
        font-weight: 600 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget #bloque_personas .precio_personas {
        grid-column: 1 !important;
        grid-row: 2 !important;
        color: var(--alc-exp-ink-soft) !important;
        font-size: 10px !important;
        line-height: 14px !important;
        font-weight: 400 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget #bloque_personas .personas_input {
        grid-column: 2 !important;
        grid-row: 1 / 3 !important;
        min-width: 104px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget #bloque_personas .personas_input .row {
        display: grid !important;
        grid-template-columns: 32px 32px 32px !important;
        gap: 4px !important;
        align-items: center !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget #bloque_personas .personas_input .col-auto {
        width: 32px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget #bloque_personas .personas_input input {
        box-sizing: border-box !important;
        width: 32px !important;
        height: 32px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: var(--background-base-default-soft, #faf8f3) !important;
        color: var(--alc-exp-ink-soft) !important;
        font-size: 12px !important;
        line-height: 32px !important;
        font-weight: 700 !important;
        text-align: center !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .mas,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .menos {
        box-sizing: border-box !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 32px !important;
        height: 32px !important;
        margin: 0 !important;
        padding: 8px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: var(--background-base-default-soft, #faf8f3) !important;
        box-shadow: none !important;
        color: var(--alc-exp-ink-soft) !important;
        cursor: pointer !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .mas circle,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .menos circle {
        fill: transparent !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .mas line,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget .menos line {
        stroke: var(--alc-exp-ink-soft) !important;
        stroke-width: 2px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-footer {
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 24px !important;
        width: 100% !important;
        margin: 8px 0 0 !important;
        padding: 16px !important;
        border-top: 1px solid var(--alc-exp-border) !important;
        background: #fff !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-footer .precio_total {
        display: flex !important;
        align-items: flex-end !important;
        justify-content: space-between !important;
        gap: 16px !important;
        width: 100% !important;
        margin: 0 !important;
        color: var(--alc-exp-ink-soft) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-footer .precio_total > .text-left {
        color: var(--alc-exp-ink-soft) !important;
        font-size: 12px !important;
        line-height: 18px !important;
        font-weight: 700 !important;
        letter-spacing: .96px !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-footer .precio_final {
        color: var(--alc-exp-brand) !important;
        font-family: var(--font-display-family, Signika, Inter, Arial, sans-serif) !important;
        font-size: 32px !important;
        line-height: 40px !important;
        font-weight: 600 !important;
        letter-spacing: 0 !important;
        white-space: nowrap !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-footer #payment_button_container,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-footer .boton_enviar {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-footer #btn_comprar {
        box-sizing: border-box !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-height: 52px !important;
        margin: 0 !important;
        padding: 14px 24px !important;
        border: 0 !important;
        border-radius: 32px !important;
        background: var(--background-action-primary-default) !important;
        color: var(--foreground-action-primary-default) !important;
        box-shadow: none !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
        font-size: 12px !important;
        line-height: 18px !important;
        font-weight: 700 !important;
        letter-spacing: .24px !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-footer #btn_comprar:disabled,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget:not(.is-ready) .alc-booking-footer #btn_comprar {
        background: var(--background-action-primary-disabled) !important;
        color: var(--foreground-action-primary-disabled) !important;
        cursor: default !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-important {
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: var(--layout-elements-gap-loose) !important;
        width: 402px !important;
        margin: 0 !important;
        padding: var(--layout-elements-inset-spacious) !important;
        border: 1px solid var(--alc-exp-border) !important;
        border-radius: var(--radius-lg) !important;
        background: var(--white-100) !important;
        box-shadow: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-important h3 {
        margin: 0 !important;
        color: var(--foreground-base-tertiary-mid) !important;
        font-family: var(--font-body-family) !important;
        font-size: var(--font-sm) !important;
        line-height: var(--font-xl) !important;
        font-weight: 700 !important;
        letter-spacing: 1.3px !important;
        text-align: center !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-important ul {
        display: grid !important;
        gap: var(--layout-elements-gap-tight) !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-important li {
        display: grid !important;
        grid-template-columns: 20px minmax(0, 1fr) !important;
        gap: 8px !important;
        align-items: start !important;
        color: var(--foreground-base-primary-mid) !important;
        font-family: var(--font-body-caption-family) !important;
        font-size: var(--font-body-caption-size) !important;
        line-height: var(--font-body-caption-line-height) !important;
        font-weight: 400 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-important-icon {
        display: block !important;
        width: 20px !important;
        height: 20px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background-color: var(--foreground-base-tertiary-mid) !important;
        color: transparent !important;
        font-size: 0 !important;
        -webkit-mask: url('/styles/componentes/assets/icons/info-circle.svg') center / 20px 20px no-repeat !important;
        mask: url('/styles/componentes/assets/icons/info-circle.svg') center / 20px 20px no-repeat !important;
    }
}

/* Experience content specificity repair after legacy phase selectors. */
@media (min-width: 769px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content {
        gap: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content h2,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-about h2,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-includes h2,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital h2,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-languages h2,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-location h2 {
        font-family: var(--font-display-section-family) !important;
        font-size: var(--font-4xl) !important;
        line-height: var(--font-5xl) !important;
        font-weight: 400 !important;
        letter-spacing: var(--font-display-section-letter-spacing) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-about {
        width: 100% !important;
        max-width: none !important;
        min-height: 790px !important;
        margin: 0 !important;
        padding: 48px 72px 97px 32px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-about > p {
        margin: 0 0 16px !important;
        font-size: 16px !important;
        line-height: 24px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-about > p:last-of-type {
        margin-bottom: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-about-split {
        grid-template-columns: minmax(0, 1fr) 358px !important;
        gap: 40px !important;
        margin: 40px 0 0 !important;
        padding: 40px 0 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-about-split img {
        width: 100% !important;
        height: 300px !important;
        max-width: none !important;
        object-fit: cover !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-includes {
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        min-height: 468px !important;
        margin: 0 !important;
        padding: 96px 72px 96px 32px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-includes h2,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer .alc-exp-section-title,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-cancellation .alc-exp-cancellation-copy h2 {
        box-sizing: border-box !important;
        height: auto !important;
        min-height: 56px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-includes-grid h3 {
        margin: 0 0 24px !important;
        color: var(--foreground-base-tertiary-mid, #84775d) !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
        font-size: 14px !important;
        line-height: 20px !important;
        font-weight: 500 !important;
        letter-spacing: 1.3px !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-includes-grid li br {
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-includes-grid li strong {
        display: block !important;
        color: var(--alc-exp-ink-soft) !important;
        font-size: 14px !important;
        line-height: 20px !important;
        font-weight: 600 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-includes-grid li span {
        display: block !important;
        margin-top: 4px !important;
        color: var(--foreground-base-tertiary-mid, #84775d) !important;
        font-size: 12px !important;
        line-height: 16px !important;
        font-weight: 400 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        min-height: 768px !important;
        margin: 0 !important;
        padding: 96px 72px 96px 32px !important;
        border-radius: 0 16px 16px 0 !important;
        background: var(--alc-exp-brand-strong) !important;
        box-shadow: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital h2 {
        margin: 0 0 48px !important;
        color: var(--foreground-base-inverse-strong) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital > p {
        margin: 0 0 48px !important;
        padding: 0 0 48px !important;
        color: var(--foreground-base-inverse-soft) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 32px 48px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-languages {
        width: 100% !important;
        max-width: none !important;
        min-height: 513px !important;
        margin: 0 !important;
        padding: 96px 72px 97px 32px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-lang-list {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: flex-start !important;
        gap: 16px !important;
        width: 100% !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-lang-item {
        box-sizing: border-box !important;
        display: inline-flex !important;
        flex: 0 0 auto !important;
        align-items: center !important;
        gap: 16px !important;
        min-height: 64px !important;
        width: auto !important;
        max-width: none !important;
        padding: 16px 32px 16px 24px !important;
        border: 1px solid var(--alc-exp-border-soft) !important;
        border-radius: 8px !important;
        color: var(--foreground-base-tertiary-mid, #84775d) !important;
        font-size: 14px !important;
        line-height: 20px !important;
        font-weight: 500 !important;
        letter-spacing: .42px !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-lang-item::before,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-lang-item::after {
        content: none !important;
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-lang-item img {
        display: block !important;
        width: 32px !important;
        height: 32px !important;
        border-radius: 50% !important;
        object-fit: cover !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-location {
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 32px !important;
        width: 100% !important;
        max-width: none !important;
        min-height: 1070px !important;
        margin: 0 !important;
        padding: 96px 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-location h2 {
        position: relative !important;
        margin: 0 !important;
        padding: 0 72px 16px 32px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-location h2::after {
        content: "" !important;
        position: absolute !important;
        left: 32px !important;
        bottom: 0 !important;
        width: 48px !important;
        height: 1px !important;
        background: var(--alc-exp-border) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-map-wrap {
        width: 100% !important;
        height: 280px !important;
        min-height: 280px !important;
        margin: 0 !important;
        border-radius: 4px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-location-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 48px !important;
        align-items: start !important;
        height: auto !important;
        min-height: 193px !important;
        margin: 0 !important;
        padding: 0 72px 0 32px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-location-grid > div + div {
        margin: 0 !important;
        padding: 0 0 0 48px !important;
        border-top: 0 !important;
        border-left: 1px solid var(--alc-exp-border) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-know {
        margin: 0 !important;
        padding: 48px 72px 48px 32px !important;
        border: 0 !important;
        border-radius: 16px !important;
        background: var(--background-base-default-soft, #faf8f3) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-know h3 {
        margin: 0 0 24px !important;
        color: var(--foreground-base-tertiary-mid, #84775d) !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
        font-size: 14px !important;
        line-height: 20px !important;
        font-weight: 500 !important;
        letter-spacing: 1.3px !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-know ul {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 24px 32px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer .alc-exp-section-title,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-faqs .alc-exp-section-title,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-cancellation .alc-exp-cancellation-copy h2 {
        font-size: 32px !important;
        line-height: 40px !important;
        font-weight: 400 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer-grid {
        margin: 48px 0 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-cancellation-copy p:last-child {
        margin-bottom: 0 !important;
    }
}

/* Wide desktop surfaces extend to the left viewport edge while keeping the
   same right edge as the 934px main-content column. */
@media (min-width: 1600px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-cancellation > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer.editable-section > .section-content-wrapper,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-cancellation.editable-section > .section-content-wrapper {
        position: relative !important;
        isolation: isolate;
        background: transparent !important;
        box-shadow: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital::before,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer > .ve-section-inner::before,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-cancellation > .ve-section-inner::before,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer.editable-section > .section-content-wrapper::before,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-cancellation.editable-section > .section-content-wrapper::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: calc((var(--layout-container-content, 1440px) - 100vw) / 2);
        z-index: -1;
        pointer-events: none;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital::before {
        /* El fondo combinado del nodo Figma ocupa los 934 px de la sección.
           La compensación anterior de 68 px dejaba una franja transparente a
           la derecha y hacía parecer incorrecto el padding de 72 px. */
        right: 0;
        border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
        background: var(--alc-exp-brand-strong);
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer > .ve-section-inner::before,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer.editable-section > .section-content-wrapper::before {
        right: 0;
        border-radius: 0 var(--radius-lg) 0 0;
        background: var(--alc-exp-support);
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-cancellation > .ve-section-inner::before,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-cancellation.editable-section > .section-content-wrapper::before {
        right: 0;
        border-radius: 0 0 var(--radius-lg) 0;
        background: var(--background-base-default-mid);
    }
}

/* The 1920px composition becomes a single-column tablet/laptop layout before
   its fixed 934px + 402px columns can collide. Content remains fluid and the
   booking panel follows the descriptive content instead of being clipped. */
@media (min-width: 769px) and (max-width: 1599px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-hero-grid,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-detail-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 64px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-gallery {
        width: min(100%, 666px) !important;
        justify-self: center !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs {
        justify-content: flex-start !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: thin;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content {
        width: 100% !important;
        max-width: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-sidebar {
        position: static !important;
        width: min(100%, 402px) !important;
        max-width: 402px !important;
        margin-inline: auto !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-card,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-important,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-cancellation > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-faqs > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer.editable-section > .section-content-wrapper,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-cancellation.editable-section > .section-content-wrapper,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-faqs.editable-section > .section-content-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        margin-inline: auto !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-cancellation > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer.editable-section > .section-content-wrapper,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-cancellation.editable-section > .section-content-wrapper {
        border-radius: var(--radius-lg) !important;
        box-shadow: none !important;
    }
}

/* Shared static-page footer, matching the Figma desktop component. */
@media (min-width: 769px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] > section {
        padding-bottom: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-footer {
        box-sizing: border-box !important;
        min-height: 628px !important;
        padding: 88px 0 0 !important;
        overflow: hidden !important;
        background: var(--background-base-default-soft, #faf8f3) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-footer > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-footer.editable-section > .section-content-wrapper {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-rows: auto auto auto auto !important;
        align-items: start !important;
        gap: 0 72px !important;
        width: min(1440px, calc(100% - 144px)) !important;
        max-width: 1440px !important;
        min-height: 540px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        background: transparent !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-footer > .ve-section-inner > .cmp-rich_text:has(.ftc-footer-logo) {
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
        width: 100% !important;
        height: 77px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-footer-logo,
    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ve-rich-text.ftc-footer-logo {
        box-sizing: border-box !important;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        width: 100% !important;
        height: 77px !important;
        margin: 0 !important;
        padding: 0 0 32px !important;
        border-bottom: 1px solid var(--border-base-secondary-mid, #ded9d0) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-footer-logo-link img,
    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-footer-logo img {
        display: block !important;
        width: 82px !important;
        height: 40px !important;
        object-fit: contain !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-footer-top-link {
        box-sizing: border-box !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        height: 44px !important;
        border: 1px solid var(--border-action-secondary-default, #665c48) !important;
        border-radius: 50% !important;
        color: var(--foreground-base-secondary-mid, #665c48) !important;
        font-size: 24px !important;
        line-height: 1 !important;
        text-decoration: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-footer-grid,
    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ve-grid.ftc-footer-grid {
        box-sizing: border-box !important;
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 24px !important;
        width: 100% !important;
        min-height: 215px !important;
        margin: 0 !important;
        padding: 32px 0 !important;
        border-bottom: 1px solid var(--border-base-secondary-mid, #ded9d0) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-footer-col,
    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ve-rich-text.ftc-footer-col {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-footer-col h3 {
        margin: 0 0 12px !important;
        color: var(--foreground-base-tertiary-mid, #84775d) !important;
        font-size: 12px !important;
        line-height: 18px !important;
        font-weight: 700 !important;
        letter-spacing: .96px !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-footer-col-spacer h3 {
        visibility: hidden !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-footer-col p {
        display: grid !important;
        gap: 8px !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-footer-col br {
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-footer-col a,
    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-footer-contact-list span {
        margin: 0 !important;
        color: var(--foreground-action-link-default, #5f3a78) !important;
        font-size: 14px !important;
        line-height: 20px !important;
        font-weight: 600 !important;
        text-decoration: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-footer-contact-list {
        display: grid !important;
        gap: 8px !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-footer-contact-list li {
        display: grid !important;
        grid-template-columns: 24px minmax(0, 1fr) !important;
        gap: 8px !important;
        align-items: center !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-footer-contact-list img {
        width: 24px !important;
        height: 24px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-footer > .ve-section-inner > .cmp-rich_text:has(.ftc-footer-disclaimer) {
        grid-column: 1 !important;
        grid-row: 3 !important;
        width: 720px !important;
        max-width: 720px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-footer-disclaimer,
    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ve-rich-text.ftc-footer-disclaimer {
        box-sizing: border-box !important;
        width: 720px !important;
        max-width: 720px !important;
        margin: 0 !important;
        padding: 32px 0 88px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-footer-disclaimer p {
        margin: 0 !important;
        color: var(--foreground-base-tertiary-mid, #84775d) !important;
        font-size: 12px !important;
        line-height: 16px !important;
        font-weight: 400 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-footer > .ve-section-inner > .cmp-rich_text:has(.ftc-payment-row) {
        grid-column: 2 !important;
        grid-row: 3 !important;
        justify-self: end !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-payment-row,
    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ve-rich-text.ftc-payment-row {
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 8px !important;
        width: auto !important;
        margin: 0 !important;
        padding: 32px 0 88px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-payment-row p {
        margin: 0 !important;
        color: var(--foreground-base-tertiary-mid, #84775d) !important;
        font-size: 12px !important;
        line-height: 18px !important;
        font-weight: 700 !important;
        letter-spacing: .96px !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-payment-icons {
        width: 239px !important;
        height: 24px !important;
        object-fit: contain !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-footer > .ve-section-inner > .cmp-rich_text:has(.ftc-footer-bottom) {
        grid-column: 1 / -1 !important;
        grid-row: 4 !important;
        width: 100% !important;
        min-height: 80px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-footer-bottom,
    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ve-rich-text.ftc-footer-bottom {
        box-sizing: border-box !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 72px !important;
        width: 100% !important;
        min-height: 80px !important;
        margin: 0 !important;
        padding: 32px 0 !important;
        background: #fff !important;
        box-shadow: 0 0 0 100vmax #fff !important;
        clip-path: inset(0 -100vmax) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-footer-bottom p {
        margin: 0 !important;
        color: var(--foreground-base-tertiary-mid, #84775d) !important;
        font-size: 12px !important;
        line-height: 16px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-footer-legal-links {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 24px !important;
        margin: 0 !important;
        white-space: nowrap !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="experience"], [data-page-key="faqs"], [data-page-key="legal"], [data-page-key="article"]) .ftc-footer-legal-links a {
        color: var(--foreground-action-link-default, #5f3a78) !important;
        font-size: 12px !important;
        line-height: 16px !important;
        font-weight: 600 !important;
        letter-spacing: .6px !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
    }
}

/* Legal final Figma override: scoped to the static Legal page. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] {
    --legal-static-wrap: min(1440px, calc(100% - 144px));
    --legal-reading-wrap: min(1048px, calc(100% - 144px));
    background: var(--white-100, #fff) !important;
    color: var(--foreground-base-primary-mid, #484132) !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-inner-hero.alc-legal-hero,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-hero {
    min-height: 274px !important;
    height: 274px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    background: var(--background-base-brand-strong, #362145) !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-hero > .ve-section-inner,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-hero.editable-section > .section-content-wrapper {
    width: var(--legal-static-wrap) !important;
    max-width: 1440px !important;
    height: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-hero-copy,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .editable-rich-text.alc-legal-hero-copy,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .ve-rich-text.alc-legal-hero-copy {
    width: min(760px, 100%) !important;
    max-width: 760px !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-hero-copy h1 {
    max-width: 760px !important;
    margin: 0 0 16px !important;
    color: var(--foreground-base-invert-default, #fff) !important;
    font-family: var(--font-display-section-family, "Signika", Inter, Arial, sans-serif) !important;
    font-size: 32px !important;
    line-height: 40px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-hero-copy p {
    max-width: 680px !important;
    margin: 0 0 4px !important;
    color: rgba(255, 255, 255, .78) !important;
    font-family: var(--font-body-support-family, "Inter", Arial, sans-serif) !important;
    font-size: 14px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-body-section {
    background: var(--white-100, #fff) !important;
    padding: 72px 0 128px !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-body-section > .ve-section-inner,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-body-section.editable-section > .section-content-wrapper {
    width: var(--legal-reading-wrap) !important;
    max-width: 1048px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-layout {
    display: grid !important;
    grid-template-columns: 280px minmax(0, 720px) !important;
    column-gap: 48px !important;
    row-gap: 0 !important;
    justify-content: start !important;
    align-items: start !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-index,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .editable-rich-text.alc-legal-index,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .ve-rich-text.alc-legal-index {
    max-width: 280px !important;
    color: var(--foreground-base-brand-mid, #5F3A78) !important;
    font-family: var(--font-body-caption-family, "Inter", Arial, sans-serif) !important;
    font-size: 12px !important;
    line-height: 16px !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-index strong {
    display: block !important;
    margin: 0 0 20px !important;
    color: var(--foreground-base-secondary-soft, #84775D) !important;
    font-family: var(--font-body-caption-family, "Inter", Arial, sans-serif) !important;
    font-size: 12px !important;
    line-height: 16px !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-index a {
    display: block !important;
    margin: 0 0 20px !important;
    padding: 0 0 0 18px !important;
    border-left: 1px solid var(--border-base-secondary-soft, #F0EBE1) !important;
    color: var(--foreground-base-brand-mid, #5F3A78) !important;
    font-family: var(--font-body-caption-family, "Inter", Arial, sans-serif) !important;
    font-size: 12px !important;
    line-height: 16px !important;
    font-weight: 700 !important;
    text-align: left !important;
    text-decoration: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .editable-rich-text.alc-legal-content,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .ve-rich-text.alc-legal-content {
    width: 720px !important;
    max-width: 720px !important;
    color: var(--foreground-base-primary-mid, #484132) !important;
    font-family: var(--font-body-support-family, "Inter", Arial, sans-serif) !important;
    font-size: 14px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content p,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content li {
    margin: 0 0 16px !important;
    color: var(--foreground-base-primary-mid, #484132) !important;
    font-family: var(--font-body-support-family, "Inter", Arial, sans-serif) !important;
    font-size: 14px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content > p:first-child {
    margin-bottom: 28px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content strong,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content b {
    color: inherit !important;
    font-weight: 700 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content h2 {
    margin: 28px 0 14px !important;
    color: var(--foreground-base-secondary-soft, #84775D) !important;
    font-family: var(--font-title-card-family, "Signika", Inter, Arial, sans-serif) !important;
    font-size: 20px !important;
    line-height: 28px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content h2:first-of-type {
    margin-top: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content ul {
    margin: 0 0 16px !important;
    padding-left: 20px !important;
    list-style-position: outside !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .ftc-footer-logo-link img,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-footer-logo-link img,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .ftc-footer-logo-link img {
    width: 82px !important;
    height: auto !important;
    object-fit: contain !important;
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] {
        --legal-static-wrap: min(350px, calc(100% - 52px));
        --legal-reading-wrap: min(350px, calc(100% - 52px));
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-inner-hero.alc-legal-hero,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-hero {
        min-height: 274px !important;
        height: 274px !important;
        align-items: flex-start !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-hero > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-hero.editable-section > .section-content-wrapper {
        align-items: flex-start !important;
        padding-top: 48px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-hero-copy,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .editable-rich-text.alc-legal-hero-copy,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .ve-rich-text.alc-legal-hero-copy {
        width: 100% !important;
        max-width: 350px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-hero-copy h1 {
        margin-bottom: 12px !important;
        font-size: 20px !important;
        line-height: 28px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-hero-copy p {
        max-width: 350px !important;
        font-size: 12px !important;
        line-height: 18px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-body-section {
        padding: 48px 0 96px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-layout {
        display: block !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-index,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .editable-rich-text.alc-legal-index,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .ve-rich-text.alc-legal-index {
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .editable-rich-text.alc-legal-content,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .ve-rich-text.alc-legal-content {
        width: 100% !important;
        max-width: 350px !important;
        font-size: 12px !important;
        line-height: 18px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content p,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content li {
        font-size: 12px !important;
        line-height: 18px !important;
        margin-bottom: 12px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content h2 {
        margin: 24px 0 12px !important;
        font-size: 16px !important;
        line-height: 22px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .alc-legal-content ul {
        padding-left: 18px !important;
        margin-bottom: 12px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="legal"] .ftc-footer-logo-link img,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-footer-logo-link img,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="article"] .ftc-footer-logo-link img {
        width: 72px !important;
    }
}

/* FAQ page - Figma Dev Mode node 3488:9861 / 3488:9906 */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] {
    --faq-figma-purple: var(--background-base-brand-strong, #362145);
    --faq-figma-beige: var(--background-base-default-mid, #f0ebe1);
    --faq-figma-white: var(--background-base-default-soft, #ffffff);
    --faq-figma-offwhite: var(--background-base-default-soft, #faf8f3);
    --faq-figma-primary: var(--foreground-base-primary-soft, #665c48);
    --faq-figma-primary-mid: var(--foreground-base-primary-mid, #484132);
    --faq-figma-tertiary: var(--foreground-base-tertiary-mid, #84775d);
    --faq-figma-link: var(--foreground-action-link-default, #5f3a78);
    --faq-figma-border: var(--border-base-secondary-mid, #ded9d0);
    --faq-figma-filter: var(--background-action-selection-default, #f8f0fc);
    --faq-figma-wrap: min(1440px, calc(100% - 144px));
    background: var(--faq-figma-white) !important;
    color: var(--faq-figma-primary) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header {
    width: 100% !important;
    min-height: 144px !important;
    padding: 0 !important;
    border: 0 !important;
    background: var(--faq-figma-white) !important;
    box-shadow: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__topbar {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 0 72px !important;
    background: var(--faq-figma-beige) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__topbar-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: min(1296px, 100%) !important;
    padding: 16px 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__topbar p {
    width: 100% !important;
    margin: 0 !important;
    color: var(--faq-figma-primary) !important;
    font-family: var(--font-action-nav-family, "Inter", Arial, sans-serif) !important;
    font-size: var(--font-body-caption-size, 12px) !important;
    line-height: var(--font-body-caption-line-height, 16px) !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__topbar a {
    color: var(--faq-figma-link) !important;
    font-size: 12px !important;
    line-height: 16px !important;
    font-weight: 600 !important;
    letter-spacing: .6px !important;
    text-decoration: underline !important;
    text-underline-position: from-font !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__inner {
    width: var(--faq-figma-wrap) !important;
    max-width: 1440px !important;
    height: 96px !important;
    min-height: 96px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__logo,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__logo:hover {
    width: 82px !important;
    height: 40px !important;
    min-width: 82px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__logo img {
    width: 82px !important;
    height: 40px !important;
    object-fit: contain !important;
    object-position: left center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__nav {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 48px !important;
    height: 40px !important;
    margin: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 24px !important;
    height: 40px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__nav a,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__actions a,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__select .select-selected {
    min-height: 16px !important;
    padding: 0 !important;
    color: var(--faq-figma-link) !important;
    font-family: var(--font-action-nav-family, "Inter", Arial, sans-serif) !important;
    font-size: var(--font-action-nav-size, 12px) !important;
    line-height: var(--font-action-nav-line-height, 16px) !important;
    font-weight: 600 !important;
    letter-spacing: var(--font-action-nav-letter-spacing, .6px) !important;
    text-transform: uppercase !important;
    background: transparent !important;
    border: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__nav a span {
    width: 16px !important;
    height: 16px !important;
    font-size: 0 !important;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%235F3A78' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px 16px no-repeat !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__select {
    min-width: 64px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__divider {
    display: block !important;
    width: 1px !important;
    height: 24px !important;
    background: var(--faq-figma-border) !important;
    margin: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero {
    height: 274px !important;
    min-height: 274px !important;
    padding: 0 !important;
    background: var(--faq-figma-purple) !important;
    display: flex !important;
    align-items: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero > .ve-section-inner,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero.editable-section > .section-content-wrapper {
    width: var(--faq-figma-wrap) !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero-copy,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .editable-rich-text.alc-inner-hero-copy,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ve-rich-text.alc-inner-hero-copy {
    width: 100% !important;
    max-width: 720px !important;
    margin: 0 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero-copy h1 {
    margin: 0 0 24px !important;
    color: var(--foreground-base-inverse-strong, #ffffff) !important;
    font-family: var(--font-display-page-family, "Signika", Inter, Arial, sans-serif) !important;
    font-size: var(--font-display-page-size, 48px) !important;
    line-height: var(--font-display-page-line-height, 56px) !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero-copy p {
    max-width: 720px !important;
    margin: 0 !important;
    color: var(--foreground-base-inverse-soft, rgba(255, 255, 255, .75)) !important;
    font-family: var(--font-body-lead-family, "Inter", Arial, sans-serif) !important;
    font-size: var(--font-body-lead-size, 18px) !important;
    line-height: var(--font-body-lead-line-height, 24px) !important;
    font-weight: 400 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-section {
    padding: 48px 0 0 !important;
    background: var(--faq-figma-white) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-section > .ve-section-inner,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-section.editable-section > .section-content-wrapper,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-section > .ve-section-inner,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-section.editable-section > .section-content-wrapper,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences > .ve-section-inner,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences.editable-section > .section-content-wrapper,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-footer > .ve-section-inner,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-footer.editable-section > .section-content-wrapper {
    width: var(--faq-figma-wrap) !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
    padding-inline: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .faq-accordion--page.alc-faq-page-list {
    width: 100% !important;
    max-width: 1440px !important;
    margin: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-filters {
    width: 100% !important;
    height: 33px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 24px !important;
    margin: 0 0 48px !important;
    padding: 0 !important;
    overflow: visible !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-filters button {
    min-width: auto !important;
    height: 33px !important;
    min-height: 33px !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 24px !important;
    background: var(--faq-figma-filter) !important;
    color: var(--faq-figma-link) !important;
    font-family: var(--font-action-nav-family, "Inter", Arial, sans-serif) !important;
    font-size: var(--font-action-nav-size, 12px) !important;
    line-height: var(--font-action-nav-line-height, 16px) !important;
    font-weight: 600 !important;
    letter-spacing: var(--font-action-nav-letter-spacing, .6px) !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    box-shadow: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-filters button.active {
    width: 69px !important;
    background: var(--faq-figma-link) !important;
    color: #ffffff !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list details {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--faq-figma-border) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list summary {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 83px !important;
    padding: 24px 50px 24px 0 !important;
    color: var(--faq-figma-primary) !important;
    font-family: var(--font-body-content-family, "Inter", Arial, sans-serif) !important;
    font-size: var(--font-body-content-size, 16px) !important;
    line-height: var(--font-body-content-line-height, 24px) !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    list-style: none !important;
    cursor: pointer !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list summary::-webkit-details-marker {
    display: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list summary::after {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    width: 34px !important;
    height: 34px !important;
    margin-top: -17px !important;
    border: 1px solid var(--faq-figma-border) !important;
    border-radius: 999px !important;
    background: var(--faq-figma-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%2384775D' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px 16px no-repeat !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list details[open] summary::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 10l4-4 4 4' stroke='%2384775D' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list details p {
    width: 100% !important;
    max-width: 720px !important;
    margin: 0 !important;
    padding: 0 0 24px !important;
    color: var(--faq-figma-tertiary) !important;
    font-family: var(--font-body-content-family, "Inter", Arial, sans-serif) !important;
    font-size: var(--font-body-content-size, 16px) !important;
    line-height: var(--font-body-content-line-height, 24px) !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-section {
    padding: 0 0 96px !important;
    background: var(--faq-figma-white) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-card {
    width: 100% !important;
    min-height: 190px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-icon {
    width: 32px !important;
    height: 32px !important;
    margin: 0 0 16px !important;
    border: 2px solid var(--faq-figma-tertiary) !important;
    border-radius: 50% !important;
    background:
        radial-gradient(circle at center, transparent 0 7px, var(--faq-figma-white) 8px 10px, transparent 11px),
        conic-gradient(from 45deg, var(--faq-figma-tertiary) 0 18deg, transparent 18deg 72deg, var(--faq-figma-tertiary) 72deg 90deg, transparent 90deg 162deg, var(--faq-figma-tertiary) 162deg 180deg, transparent 180deg 252deg, var(--faq-figma-tertiary) 252deg 270deg, transparent 270deg 360deg) !important;
    color: transparent !important;
    font-size: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-card h3 {
    margin: 0 0 16px !important;
    color: var(--faq-figma-tertiary) !important;
    font-family: var(--font-title-utility-family, "Inter", Arial, sans-serif) !important;
    font-size: var(--font-title-utility-size, 12px) !important;
    line-height: var(--font-title-utility-line-height, 18px) !important;
    font-weight: 700 !important;
    letter-spacing: var(--font-title-utility-letter-spacing, .96px) !important;
    text-transform: uppercase !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-card p {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    color: var(--faq-figma-primary) !important;
    font-family: var(--font-body-content-family, "Inter", Arial, sans-serif) !important;
    font-size: var(--font-body-content-size, 16px) !important;
    line-height: var(--font-body-content-line-height, 24px) !important;
    font-weight: 400 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    margin: 32px 0 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-actions a {
    min-height: 52px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 16px 24px !important;
    border: 1px solid var(--faq-figma-primary) !important;
    border-radius: 32px !important;
    background: transparent !important;
    color: var(--faq-figma-primary) !important;
    font-family: var(--font-action-primary-family, "Inter", Arial, sans-serif) !important;
    font-size: var(--font-action-primary-size, 14px) !important;
    line-height: var(--font-action-primary-line-height, 20px) !important;
    font-weight: 600 !important;
    letter-spacing: var(--font-action-primary-letter-spacing, .7px) !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-action-icon {
    width: 20px !important;
    height: 20px !important;
    display: inline-block !important;
    background: currentColor !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M6.1 3.5c.5-.5 1.3-.5 1.8 0l1.3 1.3c.4.4.5 1 .2 1.5l-.8 1.4c.9 1.7 2 2.8 3.7 3.7l1.4-.8c.5-.3 1.1-.2 1.5.2l1.3 1.3c.5.5.5 1.3 0 1.8l-.9.9c-.9.9-2.3 1.2-3.5.7-3.8-1.4-6.2-3.8-7.6-7.6-.5-1.2-.2-2.6.7-3.5l.9-.9Z' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences {
    padding: 128px 0 !important;
    background: var(--faq-figma-beige) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-head {
    width: 100% !important;
    min-height: 56px !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 24px !important;
    margin: 0 0 48px !important;
    padding: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-head h2 {
    width: auto !important;
    margin: 0 !important;
    color: var(--faq-figma-primary) !important;
    font-family: var(--font-display-section-family, "Signika", Inter, Arial, sans-serif) !important;
    font-size: var(--font-display-section-compact-size, 32px) !important;
    line-height: var(--font-display-section-compact-line-height, 40px) !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-head h2::after {
    content: "" !important;
    display: block !important;
    width: 48px !important;
    height: 1px !important;
    margin-top: 16px !important;
    background: var(--faq-figma-border) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-head a {
    height: 52px !important;
    min-width: 281px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 16px 24px !important;
    border: 1px solid var(--faq-figma-primary) !important;
    border-radius: 32px !important;
    color: var(--faq-figma-primary) !important;
    background: transparent !important;
    font-family: var(--font-action-primary-family, "Inter", Arial, sans-serif) !important;
    font-size: var(--font-action-primary-size, 14px) !important;
    line-height: var(--font-action-primary-line-height, 20px) !important;
    font-weight: 600 !important;
    letter-spacing: var(--font-action-primary-letter-spacing, .7px) !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .tour-cards-grid.alc-tour-grid-dynamic {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 32px !important;
    width: 100% !important;
}

/* FAQ cross-selling cards — Figma 3488:9902.
   The duration remains data-driven and no empty or invented slot is reserved. */
@media (min-width: 1200px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card {
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        min-height: 577px !important;
        overflow: hidden !important;
        border: 1px solid var(--border-base-secondary-mid) !important;
        border-radius: var(--radius-xl) !important;
        background: var(--white-100) !important;
        box-shadow: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-image,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-image {
        box-sizing: border-box !important;
        flex: 0 0 200px !important;
        width: calc(100% - 16px) !important;
        height: 200px !important;
        margin: 8px 8px 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: var(--radius-lg) var(--radius-lg) 0 0 !important;
        background: var(--background-base-default-mid) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-image img,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        border-radius: inherit !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-badge,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-badge {
        top: auto !important;
        right: auto !important;
        bottom: 16px !important;
        left: 16px !important;
        min-height: 34px !important;
        padding: 9px 17px !important;
        border: 1px solid var(--border-base-tertiary-mid) !important;
        border-radius: var(--radius-lg) !important;
        background: var(--white-100) !important;
        color: var(--foreground-base-secondary-mid) !important;
        box-shadow: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1) !important;
        font-family: var(--font-body-caption-family) !important;
        font-size: 11px !important;
        line-height: var(--font-body-caption-line-height) !important;
        font-weight: 600 !important;
        letter-spacing: .55px !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-body,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-body {
        box-sizing: border-box !important;
        display: flex !important;
        flex: 1 1 auto !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        width: 100% !important;
        min-height: 0 !important;
        padding: 16px 24px 32px !important;
        gap: 24px !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-title,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-title {
        width: 100% !important;
        margin: 0 0 -8px !important;
        color: var(--foreground-base-primary-mid) !important;
        font-family: var(--font-title-card-family) !important;
        font-size: var(--font-title-card-size) !important;
        line-height: var(--font-title-card-line-height) !important;
        font-weight: 500 !important;
        letter-spacing: 1.2px !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-title::after,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-title::after {
        content: "" !important;
        display: block !important;
        width: 40px !important;
        height: 1px !important;
        margin-top: 8px !important;
        background: var(--border-base-secondary-mid) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-meta,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-meta {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 8px !important;
        width: 100% !important;
        margin: 0 !important;
        color: var(--foreground-base-tertiary-mid) !important;
        font-family: var(--font-body-support-family) !important;
        font-size: var(--font-body-support-size) !important;
        line-height: var(--font-body-support-line-height) !important;
        font-weight: 400 !important;
        letter-spacing: var(--font-body-support-letter-spacing) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-meta span::before,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-meta span::before {
        content: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-meta strong,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-meta strong {
        color: inherit !important;
        font-weight: 600 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-features,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-features {
        display: grid !important;
        gap: var(--space-xs) !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: var(--foreground-base-secondary-mid) !important;
        font-family: var(--font-body-caption-family) !important;
        font-size: var(--font-body-caption-size) !important;
        line-height: var(--font-body-caption-line-height) !important;
        font-weight: 400 !important;
        letter-spacing: var(--font-body-caption-letter-spacing) !important;
        list-style: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-features li,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-features li {
        padding: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-features li::before,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-features li::before {
        content: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-details-link,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-details-link {
        display: inline-flex !important;
        align-items: center !important;
        align-self: flex-start !important;
        gap: 8px !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 16px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: var(--foreground-action-link-default) !important;
        font-family: var(--font-action-nav-family) !important;
        font-size: var(--font-action-nav-size) !important;
        line-height: var(--font-action-nav-line-height) !important;
        font-weight: 600 !important;
        letter-spacing: .6px !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-details-link > span:last-child,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-details-link > span:last-child {
        display: block !important;
        width: 16px !important;
        height: 16px !important;
        background: currentColor !important;
        font-size: 0 !important;
        line-height: 0 !important;
        mask: url("assets/icons/header-chevron-down.svg") center / 5.5px 9.5px no-repeat !important;
        transform: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-footer,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-footer {
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 16px !important;
        width: 100% !important;
        min-height: 80px !important;
        margin: auto 0 0 !important;
        padding: 32px 0 0 !important;
        border-top: 1px solid var(--border-base-secondary-mid) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-price,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-price {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        gap: 8px !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-price small,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-price small {
        color: var(--foreground-base-tertiary-mid) !important;
        font-family: var(--font-body-caption-family) !important;
        font-size: 10px !important;
        line-height: var(--font-body-caption-line-height) !important;
        font-weight: 600 !important;
        letter-spacing: 1.6px !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-price strong,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-price strong {
        color: var(--foreground-base-brand-mid) !important;
        font-family: var(--font-display-price-family) !important;
        font-size: var(--font-2xl) !important;
        line-height: var(--font-4xl) !important;
        font-weight: 600 !important;
        letter-spacing: var(--font-display-price-letter-spacing) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .btn-select-tour,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .btn-select-tour {
        box-sizing: border-box !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        height: 44px !important;
        min-height: 44px !important;
        margin: 0 !important;
        padding: 12px 16px !important;
        border: 0 !important;
        border-radius: var(--radius-full) !important;
        background: var(--background-action-primary-default) !important;
        color: var(--foreground-action-primary-default) !important;
        font-family: var(--font-action-primary-family) !important;
        font-size: var(--font-sm) !important;
        line-height: var(--font-xl) !important;
        font-weight: 600 !important;
        letter-spacing: .7px !important;
        text-align: center !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .btn-select-tour:hover,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .btn-select-tour:focus-visible,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .btn-select-tour:hover,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .btn-select-tour:focus-visible {
        background: var(--background-action-primary-hover) !important;
    }
}

/* Home mobile cards share the validated FAQ card contract. Content remains
   CMS-driven and the absent duration is neither invented nor space-reserved. */
@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-cards-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: var(--space-lg) !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card {
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 550px !important;
        height: auto !important;
        min-height: 549px !important;
        overflow: hidden !important;
        border: var(--stroke-sm) solid var(--border-base-secondary-mid) !important;
        border-radius: var(--radius-xl) !important;
        background: var(--white-100) !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-image {
        box-sizing: border-box !important;
        position: relative !important;
        flex: 0 0 176px !important;
        width: calc(100% - (var(--space-2xs) * 2)) !important;
        height: 176px !important;
        min-height: 176px !important;
        margin: var(--space-2xs) var(--space-2xs) 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: var(--radius-lg) var(--radius-lg) 0 0 !important;
        background: var(--background-base-default-mid) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-image img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        border-radius: inherit !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-badge {
        top: auto !important;
        right: auto !important;
        bottom: var(--space-sm) !important;
        left: var(--space-sm) !important;
        min-height: 34px !important;
        padding: calc(var(--space-2xs) + var(--stroke-sm)) calc(var(--space-sm) + var(--stroke-sm)) !important;
        border: var(--stroke-sm) solid var(--border-base-tertiary-mid) !important;
        border-radius: var(--radius-lg) !important;
        background: var(--white-100) !important;
        color: var(--foreground-base-secondary-mid) !important;
        font-family: var(--font-body-caption-family) !important;
        font-size: var(--font-2xs) !important;
        line-height: var(--font-body-caption-line-height) !important;
        font-weight: 600 !important;
        letter-spacing: .55px !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-body {
        box-sizing: border-box !important;
        display: flex !important;
        flex: 1 1 auto !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        width: 100% !important;
        min-height: 0 !important;
        gap: var(--space-md) !important;
        padding: var(--space-sm) var(--space-md) var(--space-lg) !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-title {
        width: 100% !important;
        margin: 0 0 calc(var(--space-2xs) * -1) !important;
        color: var(--foreground-base-primary-mid) !important;
        font-family: var(--font-title-card-family) !important;
        font-size: var(--font-title-card-size) !important;
        line-height: var(--font-title-card-line-height) !important;
        font-weight: 500 !important;
        letter-spacing: 1px !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-title::after {
        content: "" !important;
        display: block !important;
        width: 40px !important;
        height: var(--stroke-sm) !important;
        margin-top: var(--space-2xs) !important;
        background: var(--border-base-secondary-mid) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-meta {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: var(--space-2xs) !important;
        width: 100% !important;
        margin: 0 !important;
        color: var(--foreground-base-tertiary-mid) !important;
        font-family: var(--font-body-support-family) !important;
        font-size: var(--font-body-support-size) !important;
        line-height: var(--font-body-support-line-height) !important;
        font-weight: 400 !important;
        letter-spacing: var(--font-body-support-letter-spacing) !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-meta span::before,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-features li::before {
        content: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-meta strong {
        color: inherit !important;
        font-weight: 600 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-features {
        display: grid !important;
        grid-auto-flow: row !important;
        grid-auto-columns: auto !important;
        grid-template-columns: minmax(0, 1fr) !important;
        align-items: start !important;
        justify-items: start !important;
        gap: var(--space-xs) !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: var(--foreground-base-secondary-mid) !important;
        font-family: var(--font-body-caption-family) !important;
        font-size: var(--font-body-caption-size) !important;
        line-height: var(--font-body-caption-line-height) !important;
        font-weight: 400 !important;
        letter-spacing: var(--font-body-caption-letter-spacing) !important;
        text-align: left !important;
        list-style: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-features li {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
        white-space: normal !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-details-link {
        display: inline-flex !important;
        align-items: center !important;
        align-self: flex-start !important;
        justify-content: flex-start !important;
        gap: var(--space-2xs) !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: var(--icon-sm) !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: var(--foreground-action-link-default) !important;
        font-family: var(--font-action-nav-family) !important;
        font-size: var(--font-action-nav-size) !important;
        line-height: var(--font-action-nav-line-height) !important;
        font-weight: 600 !important;
        letter-spacing: .6px !important;
        text-align: left !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-details-link > span:last-child {
        display: block !important;
        width: var(--icon-sm) !important;
        height: var(--icon-sm) !important;
        background: currentColor !important;
        font-size: 0 !important;
        line-height: 0 !important;
        -webkit-mask: url("assets/icons/header-chevron-down.svg") center / 5.5px 9.5px no-repeat !important;
        mask: url("assets/icons/header-chevron-down.svg") center / 5.5px 9.5px no-repeat !important;
        transform: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-footer {
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: var(--space-sm) !important;
        width: 100% !important;
        min-height: 80px !important;
        margin: auto 0 0 !important;
        padding: var(--space-lg) 0 0 !important;
        border-top: var(--stroke-sm) solid var(--border-base-secondary-mid) !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-price {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        gap: var(--space-2xs) !important;
        width: auto !important;
        height: 47px !important;
        margin: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-price small {
        color: var(--foreground-base-tertiary-mid) !important;
        font-family: var(--font-body-caption-family) !important;
        font-size: var(--font-2xs) !important;
        line-height: var(--font-body-caption-line-height) !important;
        font-weight: 600 !important;
        letter-spacing: 1.6px !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-price strong {
        color: var(--foreground-base-brand-mid) !important;
        font-family: var(--font-display-price-family) !important;
        font-size: var(--font-display-price-size) !important;
        line-height: var(--font-display-price-line-height) !important;
        font-weight: 600 !important;
        letter-spacing: var(--font-display-price-letter-spacing) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .btn-select-tour {
        box-sizing: border-box !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        height: 44px !important;
        min-height: 44px !important;
        margin: 0 !important;
        padding: var(--space-xs) var(--space-sm) !important;
        border: 0 !important;
        border-radius: var(--radius-full) !important;
        background: var(--background-action-primary-default) !important;
        color: var(--foreground-action-primary-default) !important;
        font-family: var(--font-action-primary-family) !important;
        font-size: var(--font-action-primary-size) !important;
        line-height: var(--font-action-primary-line-height) !important;
        font-weight: 600 !important;
        letter-spacing: .7px !important;
        text-align: center !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .btn-select-tour:hover,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .btn-select-tour:focus-visible {
        background: var(--background-action-primary-hover) !important;
        color: var(--foreground-action-primary-hover) !important;
    }
}

/* FAQ related experiences, mobile — approved frame 3488:9906.
   Keep the content dynamic: no duration value or empty duration slot is added. */
@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid > .tour-cards-grid,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-cards-grid.alc-tour-grid-dynamic {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: var(--space-lg) !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card {
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 550px !important;
        height: auto !important;
        min-height: 549px !important;
        overflow: hidden !important;
        border: var(--stroke-sm) solid var(--border-base-secondary-mid) !important;
        border-radius: var(--radius-xl) !important;
        background: var(--white-100) !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-image,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-image {
        box-sizing: border-box !important;
        position: relative !important;
        flex: 0 0 176px !important;
        width: calc(100% - (var(--layout-elements-inset-compact) * 2)) !important;
        height: 176px !important;
        min-height: 176px !important;
        margin: var(--layout-elements-inset-compact) var(--layout-elements-inset-compact) 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: var(--radius-lg) var(--radius-lg) 0 0 !important;
        background: var(--background-base-default-mid) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-image img,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-image img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        border-radius: inherit !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-badge,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-badge {
        top: auto !important;
        right: auto !important;
        bottom: var(--layout-elements-inset-cozy) !important;
        left: var(--layout-elements-inset-cozy) !important;
        min-height: 34px !important;
        padding: calc(var(--space-2xs) + var(--stroke-sm)) calc(var(--space-sm) + var(--stroke-sm)) !important;
        border: var(--stroke-sm) solid var(--border-base-tertiary-mid) !important;
        border-radius: var(--radius-lg) !important;
        background: var(--white-100) !important;
        color: var(--foreground-base-secondary-mid) !important;
        font-family: var(--font-body-caption-family) !important;
        font-size: var(--font-2xs) !important;
        line-height: var(--font-body-caption-line-height) !important;
        font-weight: 600 !important;
        letter-spacing: .55px !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-body,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-body {
        box-sizing: border-box !important;
        display: flex !important;
        flex: 1 1 auto !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        width: 100% !important;
        min-height: 0 !important;
        gap: var(--space-md) !important;
        padding: var(--space-sm) var(--space-md) var(--space-lg) !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-title,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-title {
        width: 100% !important;
        margin: 0 0 calc(var(--layout-elements-gap-tight) * -1) !important;
        color: var(--foreground-base-primary-mid) !important;
        font-family: var(--font-title-card-family) !important;
        font-size: var(--font-title-card-size) !important;
        line-height: var(--font-title-card-line-height) !important;
        font-weight: 500 !important;
        letter-spacing: 1px !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-title::after,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-title::after {
        content: "" !important;
        display: block !important;
        width: 40px !important;
        height: var(--stroke-sm) !important;
        margin-top: var(--layout-elements-gap-tight) !important;
        background: var(--border-base-secondary-mid) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-meta,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-meta {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: var(--layout-elements-gap-tight) !important;
        width: 100% !important;
        margin: 0 !important;
        color: var(--foreground-base-tertiary-mid) !important;
        font-family: var(--font-body-support-family) !important;
        font-size: var(--font-body-support-size) !important;
        line-height: var(--font-body-support-line-height) !important;
        font-weight: 400 !important;
        letter-spacing: var(--font-body-support-letter-spacing) !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-meta span::before,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-meta span::before {
        content: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-meta strong,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-meta strong {
        color: inherit !important;
        font-weight: 600 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-features,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-features {
        display: grid !important;
        gap: var(--space-xs) !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: var(--foreground-base-secondary-mid) !important;
        font-family: var(--font-body-caption-family) !important;
        font-size: var(--font-body-caption-size) !important;
        line-height: var(--font-body-caption-line-height) !important;
        font-weight: 400 !important;
        letter-spacing: var(--font-body-caption-letter-spacing) !important;
        text-align: left !important;
        list-style: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-features li,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-features li {
        padding: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-features li::before,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-features li::before {
        content: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-details-link,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-details-link {
        display: inline-flex !important;
        align-items: center !important;
        align-self: flex-start !important;
        justify-content: flex-start !important;
        gap: var(--layout-elements-gap-tight) !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: var(--icon-sm) !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: var(--foreground-action-link-default) !important;
        font-family: var(--font-action-nav-family) !important;
        font-size: var(--font-action-nav-size) !important;
        line-height: var(--font-action-nav-line-height) !important;
        font-weight: 600 !important;
        letter-spacing: .6px !important;
        text-align: left !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-details-link > span:last-child,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-details-link > span:last-child {
        display: block !important;
        width: var(--icon-sm) !important;
        height: var(--icon-sm) !important;
        background: currentColor !important;
        font-size: 0 !important;
        line-height: 0 !important;
        -webkit-mask: url("assets/icons/header-chevron-down.svg") center / 5.5px 9.5px no-repeat !important;
        mask: url("assets/icons/header-chevron-down.svg") center / 5.5px 9.5px no-repeat !important;
        transform: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-footer,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-footer {
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: var(--space-sm) !important;
        width: 100% !important;
        min-height: 80px !important;
        margin: auto 0 0 !important;
        padding: var(--space-lg) 0 0 !important;
        border-top: var(--stroke-sm) solid var(--border-base-secondary-mid) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-price,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-price {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        gap: var(--space-2xs) !important;
        height: 47px !important;
        margin: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-price small,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-price small {
        color: var(--foreground-base-tertiary-mid) !important;
        font-family: var(--font-body-caption-family) !important;
        font-size: var(--font-2xs) !important;
        line-height: var(--font-body-caption-line-height) !important;
        font-weight: 600 !important;
        letter-spacing: 1.6px !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .tour-card-price strong,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-price strong {
        color: var(--foreground-base-brand-mid) !important;
        font-family: var(--font-display-price-family) !important;
        font-size: var(--font-display-price-size) !important;
        line-height: var(--font-display-price-line-height) !important;
        font-weight: 600 !important;
        letter-spacing: var(--font-display-price-letter-spacing) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .btn-select-tour,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .btn-select-tour {
        box-sizing: border-box !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        height: 44px !important;
        min-height: 44px !important;
        margin: 0 !important;
        padding: var(--layout-elements-inset-tight) var(--layout-elements-inset-cozy) !important;
        border: 0 !important;
        border-radius: var(--radius-full) !important;
        background: var(--background-action-primary-default) !important;
        color: var(--foreground-action-primary-default) !important;
        font-family: var(--font-action-primary-family) !important;
        font-size: var(--font-action-primary-size) !important;
        line-height: var(--font-action-primary-line-height) !important;
        font-weight: 600 !important;
        letter-spacing: .7px !important;
        text-align: center !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .btn-select-tour:hover,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid .btn-select-tour:focus-visible,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .btn-select-tour:hover,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .btn-select-tour:focus-visible {
        background: var(--background-action-primary-hover) !important;
        color: var(--foreground-action-primary-hover) !important;
    }
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-footer {
    background: var(--faq-figma-white) !important;
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] {
        --faq-figma-wrap: min(350px, calc(100% - 52px));
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header {
        min-height: 139px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__topbar {
        min-height: 64px !important;
        padding: 0 24px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__topbar-inner {
        width: var(--faq-figma-wrap) !important;
        max-width: 350px !important;
        padding: 16px 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__topbar p,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__topbar a {
        font-size: 12px !important;
        line-height: 16px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__inner {
        width: 100% !important;
        max-width: none !important;
        height: 75px !important;
        min-height: 75px !important;
        padding: 0 16px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__nav,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__language,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__currency,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__divider {
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__actions {
        gap: 20px !important;
        height: 32px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__actions a,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__mobile-menu-toggle {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: var(--faq-figma-link) !important;
        font-size: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__actions a[href="#contacto"].ftc-site-header__contact-link::before,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__faq-link::before,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__mobile-menu-toggle::before {
        content: "" !important;
        width: 20px !important;
        height: 20px !important;
        display: block !important;
        background: currentColor !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__actions a[href="#contacto"].ftc-site-header__contact-link::before {
        width: 20px !important;
        height: 20px !important;
        min-width: 20px !important;
        flex: 0 0 20px !important;
        color: var(--faq-figma-link) !important;
        background: currentColor !important;
        background-image: none !important;
        -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M6.1 3.5c.5-.5 1.3-.5 1.8 0l1.3 1.3c.4.4.5 1 .2 1.5l-.8 1.4c.9 1.7 2 2.8 3.7 3.7l1.4-.8c.5-.3 1.1-.2 1.5.2l1.3 1.3c.5.5.5 1.3 0 1.8l-.9.9c-.9.9-2.3 1.2-3.5.7-3.8-1.4-6.2-3.8-7.6-7.6-.5-1.2-.2-2.6.7-3.5l.9-.9Z' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E") center / contain no-repeat !important;
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M6.1 3.5c.5-.5 1.3-.5 1.8 0l1.3 1.3c.4.4.5 1 .2 1.5l-.8 1.4c.9 1.7 2 2.8 3.7 3.7l1.4-.8c.5-.3 1.1-.2 1.5.2l1.3 1.3c.5.5.5 1.3 0 1.8l-.9.9c-.9.9-2.3 1.2-3.5.7-3.8-1.4-6.2-3.8-7.6-7.6-.5-1.2-.2-2.6.7-3.5l.9-.9Z' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E") center / contain no-repeat !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__faq-link::before {
        -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M10 17a7 7 0 1 0 0-14 7 7 0 0 0 0 14Z' stroke='black' stroke-width='1.5'/%3E%3Cpath d='M8.2 8a2 2 0 1 1 3.2 1.6c-.8.5-1.4 1-1.4 2' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M10 14h.01' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M10 17a7 7 0 1 0 0-14 7 7 0 0 0 0 14Z' stroke='black' stroke-width='1.5'/%3E%3Cpath d='M8.2 8a2 2 0 1 1 3.2 1.6c-.8.5-1.4 1-1.4 2' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M10 14h.01' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__mobile-menu-toggle::before {
        width: 24px !important;
        height: 24px !important;
        -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__mobile-menu-toggle span {
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero {
        height: 274px !important;
        min-height: 274px !important;
        padding: 48px 0 !important;
        align-items: center !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero.editable-section > .section-content-wrapper,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-section > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-section.editable-section > .section-content-wrapper,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-section > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-section.editable-section > .section-content-wrapper,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences.editable-section > .section-content-wrapper,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-footer > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-footer.editable-section > .section-content-wrapper {
        width: var(--faq-figma-wrap) !important;
        max-width: 350px !important;
        margin-inline: auto !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero-copy h1 {
        margin-bottom: 24px !important;
        font-size: var(--font-display-page-size, 48px) !important;
        line-height: var(--font-display-page-line-height, 56px) !important;
        font-weight: 500 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero-copy p {
        font-size: var(--font-body-lead-size, 18px) !important;
        line-height: var(--font-body-lead-line-height, 24px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-section {
        padding: 48px 0 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-filters {
        width: calc(100% + 52px) !important;
        height: 33px !important;
        justify-content: flex-start !important;
        gap: 24px !important;
        margin: 0 -26px 48px !important;
        padding: 0 42px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none !important;
        scroll-padding-inline: 26px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-filters::-webkit-scrollbar {
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list summary {
        min-height: 97px !important;
        padding: 24px 50px 24px 0 !important;
        font-size: var(--font-body-content-size, 16px) !important;
        line-height: var(--font-body-content-line-height, 24px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list details:nth-of-type(3) summary {
        min-height: 121px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list details:nth-of-type(5) summary {
        min-height: 83px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list summary::after {
        width: 34px !important;
        height: 34px !important;
        margin-top: -17px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list details p {
        max-width: 350px !important;
        padding: 0 0 24px !important;
        font-size: var(--font-body-content-size, 16px) !important;
        line-height: var(--font-body-content-line-height, 24px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-section {
        padding: 0 0 96px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-card {
        min-height: 282px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-card p {
        max-width: 350px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-actions {
        width: 100% !important;
        flex-direction: column !important;
        gap: 16px !important;
        margin-top: 32px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-actions a {
        width: auto !important;
        min-width: 207px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-actions a + a {
        min-width: 294px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences {
        padding: 32px 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-head {
        min-height: 124px !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 32px !important;
        margin-bottom: 48px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-head h2 {
        width: 100% !important;
        font-size: var(--font-display-section-compact-size, 32px) !important;
        line-height: var(--font-display-section-compact-line-height, 40px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-head a {
        width: 281px !important;
        min-width: 281px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .tour-cards-grid.alc-tour-grid-dynamic {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }
}

/* FAQ accordion component: final desktop/mobile sync with the FTC design system.
   Keeps legacy rich_text FAQ blocks working while faq_accordion reuses the same
   public classes. */
.visual-layout-page[data-design-system="ftc-foundations"] .faq-accordion {
    box-sizing: border-box !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .faq-accordion *,
.visual-layout-page[data-design-system="ftc-foundations"] .faq-accordion *::before,
.visual-layout-page[data-design-system="ftc-foundations"] .faq-accordion *::after {
    box-sizing: border-box !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .faq-accordion details {
    transition: border-color .18s ease !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .faq-accordion summary {
    user-select: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .faq-accordion summary::after,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq-list summary::after,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list summary::after {
    content: "\2304" !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .faq-accordion details[open] summary::after,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-faq-list details[open] summary::after {
    content: "\2304" !important;
    transform: translateY(-50%) rotate(180deg) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list details[open] summary::after {
    content: "\2303" !important;
    transform: translateY(-50%) !important;
}

@media (min-width: 769px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-section > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-section.editable-section > .section-content-wrapper {
        width: min(1128px, calc(100% - 144px)) !important;
        max-width: 1128px !important;
        margin-inline: auto !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list summary {
        min-height: 58px !important;
        padding: 19px 48px 19px 0 !important;
        color: var(--foreground-base-primary-strong, #2A2218) !important;
        font-family: var(--font-body-support-family, "Inter", Arial, sans-serif) !important;
        font-size: var(--font-body-support-size, 14px) !important;
        line-height: var(--font-body-support-line-height, 20px) !important;
        font-weight: 700 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list details p {
        max-width: 760px !important;
        padding: 0 48px 24px 0 !important;
        color: var(--foreground-base-secondary-mid, #665C48) !important;
        font-family: var(--font-body-caption-family, "Inter", Arial, sans-serif) !important;
        font-size: var(--font-body-caption-size, 12px) !important;
        line-height: var(--font-body-caption-line-height, 16px) !important;
    }
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] {
        background: var(--white-100, #fff) !important;
        color: var(--foreground-base-primary-mid, #484132) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero {
        background: var(--background-base-default-soft, #FAF8F3) !important;
        padding: 36px 0 44px !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero.editable-section > .section-content-wrapper,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-section > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-section.editable-section > .section-content-wrapper,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-section > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-section.editable-section > .section-content-wrapper,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences.editable-section > .section-content-wrapper {
        width: calc(100% - 40px) !important;
        max-width: none !important;
        margin-inline: auto !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero-copy,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .editable-rich-text.alc-inner-hero-copy,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ve-rich-text.alc-inner-hero-copy {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero-copy h1 {
        margin: 0 0 12px !important;
        color: var(--foreground-base-brand-mid, #5F3A78) !important;
        font-family: var(--font-display-section-family, "Signika", Inter, Arial, sans-serif) !important;
        font-size: var(--font-display-section-size, 32px) !important;
        line-height: var(--font-display-section-line-height, 40px) !important;
        font-weight: 400 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero-copy p {
        max-width: none !important;
        margin: 0 !important;
        color: var(--foreground-base-primary-soft, #665C48) !important;
        font-family: var(--font-body-support-family, "Inter", Arial, sans-serif) !important;
        font-size: var(--font-body-support-size, 14px) !important;
        line-height: var(--font-body-support-line-height, 20px) !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-section {
        padding: 32px 0 56px !important;
        background: var(--white-100, #fff) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-filters {
        width: calc(100% + 40px) !important;
        margin: 0 -20px 32px !important;
        padding: 2px 20px 8px !important;
        gap: 12px !important;
        scroll-padding-inline: 20px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-filters button {
        min-height: 32px !important;
        padding: 8px 16px !important;
        border-radius: var(--radius-full, 999px) !important;
        font-family: var(--font-action-compact-family, "Inter", Arial, sans-serif) !important;
        font-size: 11px !important;
        line-height: 16px !important;
        font-weight: 700 !important;
        letter-spacing: .04em !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list details {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-bottom: 1px solid var(--border-base-secondary-soft, #F0EBE1) !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list summary {
        display: block !important;
        position: relative !important;
        width: 100% !important;
        min-height: 56px !important;
        padding: 18px 40px 18px 0 !important;
        border: 0 !important;
        color: var(--foreground-base-primary-strong, #2A2218) !important;
        font-family: var(--font-body-support-family, "Inter", Arial, sans-serif) !important;
        font-size: var(--font-body-support-size, 14px) !important;
        line-height: var(--font-body-support-line-height, 20px) !important;
        font-weight: 700 !important;
        text-align: left !important;
        white-space: normal !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list summary::after {
        right: 0 !important;
        width: 24px !important;
        height: 24px !important;
        border: 1px solid var(--border-base-secondary-soft, #F0EBE1) !important;
        border-radius: var(--radius-full, 999px) !important;
        background: var(--white-100, #fff) !important;
        color: var(--foreground-base-secondary-soft, #84775D) !important;
        font-size: 14px !important;
        line-height: 1 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list details p {
        margin: -4px 0 0 !important;
        padding: 0 40px 20px 0 !important;
        border: 0 !important;
        color: var(--foreground-base-secondary-mid, #665C48) !important;
        font-family: var(--font-body-caption-family, "Inter", Arial, sans-serif) !important;
        font-size: var(--font-body-caption-size, 12px) !important;
        line-height: var(--font-body-caption-line-height, 16px) !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-section {
        padding: 0 0 56px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-section > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-section.editable-section > .section-content-wrapper {
        padding-top: 40px !important;
        border-top: 1px solid var(--border-base-secondary-soft, #F0EBE1) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-actions {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-actions a {
        width: 100% !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences {
        padding: 44px 0 60px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-head {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 18px !important;
        margin-bottom: 28px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-head h2 {
        font-family: var(--font-display-section-family, "Signika", Inter, Arial, sans-serif) !important;
        font-size: var(--font-display-section-size, 32px) !important;
        line-height: var(--font-display-section-line-height, 40px) !important;
        font-weight: 400 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-head a {
        width: 100% !important;
    }
}

/* FAQ page final mobile lock - must stay after legacy FAQ overrides. */
@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] {
        --faq-figma-wrap: min(350px, calc(100% - 52px));
        background: var(--background-base-default-soft, #ffffff) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header {
        min-height: 139px !important;
        padding: 0 !important;
        background: #ffffff !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__topbar {
        display: flex !important;
        min-height: 64px !important;
        padding: 0 24px !important;
        background: var(--background-base-default-mid, #f0ebe1) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__topbar-inner {
        width: var(--faq-figma-wrap) !important;
        max-width: 350px !important;
        padding: 16px 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__topbar p,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__topbar a {
        font-size: 12px !important;
        line-height: 16px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__inner {
        width: 100% !important;
        max-width: none !important;
        height: 75px !important;
        min-height: 75px !important;
        padding: 0 16px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ftc-site-header__logo img {
        width: 82px !important;
        height: 40px !important;
        object-fit: contain !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero {
        height: 274px !important;
        min-height: 274px !important;
        padding: 48px 0 !important;
        background: var(--background-base-brand-strong, #362145) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero.editable-section > .section-content-wrapper,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-section > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-section.editable-section > .section-content-wrapper,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-section > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-section.editable-section > .section-content-wrapper,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences.editable-section > .section-content-wrapper {
        width: var(--faq-figma-wrap) !important;
        max-width: 350px !important;
        margin-inline: auto !important;
        padding-inline: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero-copy h1 {
        margin: 0 0 24px !important;
        color: #ffffff !important;
        font-family: var(--font-display-page-family, "Signika", Inter, Arial, sans-serif) !important;
        font-size: var(--font-display-page-size, 48px) !important;
        line-height: var(--font-display-page-line-height, 56px) !important;
        font-weight: 500 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero-copy p {
        color: rgba(255, 255, 255, .75) !important;
        font-family: var(--font-body-lead-family, "Inter", Arial, sans-serif) !important;
        font-size: var(--font-body-lead-size, 18px) !important;
        line-height: var(--font-body-lead-line-height, 24px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-section {
        padding: 48px 0 0 !important;
        background: #ffffff !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-filters {
        width: calc(100% + 52px) !important;
        height: 33px !important;
        justify-content: flex-start !important;
        gap: 24px !important;
        margin: 0 -26px 48px !important;
        padding: 0 42px !important;
        overflow-x: auto !important;
        scrollbar-width: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list summary {
        min-height: 97px !important;
        padding: 24px 50px 24px 0 !important;
        color: var(--foreground-base-primary-soft, #665c48) !important;
        font-family: var(--font-body-content-family, "Inter", Arial, sans-serif) !important;
        font-size: var(--font-body-content-size, 16px) !important;
        line-height: var(--font-body-content-line-height, 24px) !important;
        font-weight: 700 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list summary::after {
        width: 34px !important;
        height: 34px !important;
        margin-top: -17px !important;
        border: 1px solid var(--border-base-secondary-mid, #ded9d0) !important;
        background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%2384775D' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px 16px no-repeat !important;
        color: transparent !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list details[open] summary::after {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 10l4-4 4 4' stroke='%2384775D' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list details p {
        max-width: 350px !important;
        margin: 0 !important;
        padding: 0 0 24px !important;
        color: var(--foreground-base-tertiary-mid, #84775d) !important;
        font-family: var(--font-body-content-family, "Inter", Arial, sans-serif) !important;
        font-size: var(--font-body-content-size, 16px) !important;
        line-height: var(--font-body-content-line-height, 24px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-section {
        padding: 0 0 96px !important;
        background: #ffffff !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-section > .ve-section-inner,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-section.editable-section > .section-content-wrapper {
        padding-top: 0 !important;
        border-top: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-card {
        min-height: 282px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-actions {
        align-items: center !important;
        gap: 16px !important;
        margin-top: 32px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-actions a {
        width: auto !important;
        min-width: 207px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-actions a + a {
        min-width: 294px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences {
        padding: 32px 0 !important;
        background: var(--background-base-default-mid, #f0ebe1) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-head {
        min-height: 124px !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 32px !important;
        margin: 0 0 48px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-head h2 {
        width: 100% !important;
        color: var(--foreground-base-primary-soft, #665c48) !important;
        font-size: var(--font-display-section-compact-size, 32px) !important;
        line-height: var(--font-display-section-compact-line-height, 40px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-head a {
        width: 281px !important;
        min-width: 281px !important;
    }
}

/* Figma static pages repair: shared header + FAQ layout, after legacy overrides. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header.ftc-site-header--static,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header.ftc-site-header--figma-static {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 10000 !important;
    width: 100% !important;
    min-height: 144px !important;
    padding: 0 !important;
    border: 0 !important;
    background: #ffffff !important;
    box-shadow: 0 4px 18px rgba(42, 13, 69, .08) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__topbar,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__topbar {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 0 72px !important;
    background: var(--background-base-default-mid, #f0ebe1) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__topbar-inner,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__topbar-inner {
    width: min(1296px, 100%) !important;
    padding: 16px 0 !important;
    text-align: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__topbar p,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__topbar p {
    margin: 0 !important;
    color: var(--foreground-base-primary-soft, #665c48) !important;
    font-family: var(--font-action-nav-family) !important;
    font-size: var(--font-action-nav-size) !important;
    line-height: var(--font-action-nav-line-height) !important;
    font-weight: 600 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__topbar a,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__topbar a {
    color: var(--foreground-action-link-default, #5f3a78) !important;
    font-weight: 600 !important;
    letter-spacing: .6px !important;
    text-decoration: underline !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__inner,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__inner {
    display: grid !important;
    grid-template-columns: 82px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 48px !important;
    width: min(1440px, calc(100% - 144px)) !important;
    max-width: 1440px !important;
    height: 96px !important;
    min-height: 96px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__logo,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__logo {
    width: 82px !important;
    height: 40px !important;
    min-width: 82px !important;
    padding: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__logo img,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__logo img {
    display: block !important;
    width: 82px !important;
    height: 40px !important;
    object-fit: contain !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__nav,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__nav {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 48px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__actions,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 24px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__nav a,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__actions a,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__select .select-selected,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__nav a,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__actions a,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__select .select-selected {
    color: var(--foreground-action-link-default, #5f3a78) !important;
    font-family: var(--font-action-nav-family) !important;
    font-size: var(--font-action-nav-size) !important;
    line-height: var(--font-action-nav-line-height) !important;
    font-weight: 600 !important;
    letter-spacing: .6px !important;
    text-transform: uppercase !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__nav a,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__nav a {
    display: inline-flex !important;
    align-items: center !important;
    gap: var(--space-2xs) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__nav-caret,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__nav-caret {
    display: block !important;
    flex: 0 0 16px !important;
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    border: 0 !important;
    font-size: 0 !important;
    background-color: currentColor !important;
    -webkit-mask: url('/styles/componentes/assets/icons/header-chevron-down.svg') center / 5.5px 9.5px no-repeat !important;
    mask: url('/styles/componentes/assets/icons/header-chevron-down.svg') center / 5.5px 9.5px no-repeat !important;
    transform: rotate(-90deg) scaleX(-1) !important;
    transform-origin: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__select .select-selected,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__select .select-selected {
    gap: var(--layout-elements-gap-tight) !important;
    min-height: var(--icon-sm, 16px) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__select .select-selected::after,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__select .select-selected::after {
    content: "" !important;
    position: static !important;
    display: block !important;
    flex: 0 0 var(--icon-sm, 16px) !important;
    width: var(--icon-sm, 16px) !important;
    height: var(--icon-sm, 16px) !important;
    margin: 0 !important;
    border: 0 !important;
    background: currentColor !important;
    -webkit-mask: url('/styles/componentes/assets/icons/header-chevron-down.svg') center / 5.5px 9.5px no-repeat !important;
    mask: url('/styles/componentes/assets/icons/header-chevron-down.svg') center / 5.5px 9.5px no-repeat !important;
    color: inherit !important;
    font-size: 0 !important;
    line-height: 0 !important;
    transform: rotate(-90deg) scaleX(-1) !important;
    transform-origin: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__icon--language,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__icon--language {
    width: var(--icon-sm, 16px) !important;
    height: var(--icon-sm, 16px) !important;
    flex: 0 0 var(--icon-sm, 16px) !important;
    margin: 0 !important;
    opacity: 1 !important;
    -webkit-mask: url('/styles/componentes/assets/icons/header-language.svg') center / 14.8333px 14.8333px no-repeat !important;
    mask: url('/styles/componentes/assets/icons/header-language.svg') center / 14.8333px 14.8333px no-repeat !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] {
    --faq-static-wrap: min(1440px, calc(100% - 144px));
    background: #ffffff !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero {
    height: 274px !important;
    min-height: 274px !important;
    padding: 0 !important;
    background: var(--background-base-brand-strong, #362145) !important;
    display: flex !important;
    align-items: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero > .ve-section-inner,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-section > .ve-section-inner,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-section > .ve-section-inner,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences > .ve-section-inner {
    width: var(--faq-static-wrap) !important;
    max-width: 1440px !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero-copy h1 {
    margin: 0 0 24px !important;
    color: #ffffff !important;
    font-family: var(--font-display-page-family, "Signika", Inter, Arial, sans-serif) !important;
    font-size: var(--font-display-page-size, 48px) !important;
    line-height: var(--font-display-page-line-height, 56px) !important;
    font-weight: 500 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero-copy p {
    max-width: 720px !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, .75) !important;
    font-family: var(--font-body-lead-family, "Inter", Arial, sans-serif) !important;
    font-size: var(--font-body-lead-size, 18px) !important;
    line-height: var(--font-body-lead-line-height, 24px) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-section {
    padding: 48px 0 0 !important;
    background: #ffffff !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-filters {
    display: flex !important;
    justify-content: center !important;
    gap: 24px !important;
    height: 33px !important;
    margin: 0 0 48px !important;
    padding: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-filters button {
    height: 33px !important;
    min-height: 33px !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 24px !important;
    background: var(--background-action-selection-default, #f8f0fc) !important;
    color: var(--foreground-action-link-default, #5f3a78) !important;
    font-family: var(--font-action-nav-family, "Inter", Arial, sans-serif) !important;
    font-size: 12px !important;
    line-height: 16px !important;
    font-weight: 600 !important;
    letter-spacing: .6px !important;
    text-transform: uppercase !important;
    width: auto !important;
    box-sizing: border-box !important;
    transform: none !important;
    transition: background-color 180ms ease, color 180ms ease, box-shadow 180ms ease !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-filters button.active {
    width: auto !important;
    background: var(--foreground-action-link-default, #5f3a78) !important;
    color: #ffffff !important;
    transform: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list details[hidden] {
    display: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list details,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list details[open] {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--border-base-secondary-mid, #ded9d0) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list summary {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    min-height: 83px !important;
    padding: 24px 50px 24px 0 !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    color: var(--foreground-base-primary-soft, #665c48) !important;
    font-family: var(--font-body-content-family, "Inter", Arial, sans-serif) !important;
    font-size: 16px !important;
    line-height: 24px !important;
    font-weight: 700 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list summary:focus,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list summary:focus-visible {
    outline: 0 !important;
    box-shadow: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list summary::after {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    width: 34px !important;
    height: 34px !important;
    margin-top: -17px !important;
    border: 1px solid var(--border-base-secondary-mid, #ded9d0) !important;
    border-radius: 999px !important;
    background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%2384775D' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px 16px no-repeat !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list details[open] summary::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 10l4-4 4 4' stroke='%2384775D' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list details p {
    max-width: 720px !important;
    margin: 0 !important;
    padding: 0 0 24px !important;
    color: var(--foreground-base-tertiary-mid, #84775d) !important;
    font-family: var(--font-body-content-family, "Inter", Arial, sans-serif) !important;
    font-size: 16px !important;
    line-height: 24px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-section {
    padding: 48px 0 96px !important;
    background: #ffffff !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-card {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-section > .ve-section-inner {
    border-top: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-actions {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    margin-top: 32px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-actions a {
    width: auto !important;
    min-height: 52px !important;
    padding: 16px 24px !important;
    border: 1px solid var(--foreground-base-primary-soft, #665c48) !important;
    border-radius: 32px !important;
    background: transparent !important;
    color: var(--foreground-base-primary-soft, #665c48) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences {
    padding: 128px 0 !important;
    background: var(--background-base-default-mid, #f0ebe1) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid {
    display: block !important;
    width: 100% !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid > .tour-cards-grid,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-cards-grid.alc-tour-grid-dynamic {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 32px !important;
    width: 100% !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card {
    width: 100% !important;
    max-width: none !important;
    min-height: 577px !important;
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header.ftc-site-header--static,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header.ftc-site-header--figma-static {
        min-height: 139px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__topbar,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__topbar {
        min-height: 64px !important;
        padding: 0 24px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__inner,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__inner {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        max-width: none !important;
        height: 75px !important;
        min-height: 75px !important;
        padding: 0 16px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__nav,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__language,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__currency,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__divider,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__nav,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__language,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__currency,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__divider {
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__actions,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__actions {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 20px !important;
        height: 32px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__actions a,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__mobile-menu-toggle,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__actions a,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__mobile-menu-toggle {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: var(--foreground-action-link-default, #5f3a78) !important;
        font-size: 0 !important;
        line-height: 0 !important;
        box-shadow: none !important;
    }

    /* El contacto heredaba simultáneamente el SVG legacy y la máscara del tema.
       Forzamos un único color antes de dibujar el teléfono con la máscara actual. */
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__actions .ftc-site-header__contact-link,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__actions .ftc-site-header__contact-link {
        color: var(--foreground-action-link-default, #5f3a78) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__contact-link::before,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__faq-link::before,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__mobile-menu-toggle::before,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__contact-link::before,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__faq-link::before,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__mobile-menu-toggle::before {
        content: "" !important;
        display: block !important;
        width: 20px !important;
        height: 20px !important;
        background: currentColor !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__actions a[href="#contacto"].ftc-site-header__contact-link::before,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__actions a[href="#contacto"].ftc-site-header__contact-link::before {
        width: 20px !important;
        height: 20px !important;
        min-width: 20px !important;
        flex: 0 0 20px !important;
        border: 0 !important;
        color: var(--foreground-action-link-default, #5f3a78) !important;
        background: currentColor !important;
        background-image: none !important;
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M6.1 3.5c.5-.5 1.3-.5 1.8 0l1.3 1.3c.4.4.5 1 .2 1.5l-.8 1.4c.9 1.7 2 2.8 3.7 3.7l1.4-.8c.5-.3 1.1-.2 1.5.2l1.3 1.3c.5.5.5 1.3 0 1.8l-.9.9c-.9.9-2.3 1.2-3.5.7-3.8-1.4-6.2-3.8-7.6-7.6-.5-1.2-.2-2.6.7-3.5l.9-.9Z' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E") center / contain no-repeat !important;
        -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M6.1 3.5c.5-.5 1.3-.5 1.8 0l1.3 1.3c.4.4.5 1 .2 1.5l-.8 1.4c.9 1.7 2 2.8 3.7 3.7l1.4-.8c.5-.3 1.1-.2 1.5.2l1.3 1.3c.5.5.5 1.3 0 1.8l-.9.9c-.9.9-2.3 1.2-3.5.7-3.8-1.4-6.2-3.8-7.6-7.6-.5-1.2-.2-2.6.7-3.5l.9-.9Z' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E") center / contain no-repeat !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__faq-link::before,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__faq-link::before {
        -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M10 17a7 7 0 1 0 0-14 7 7 0 0 0 0 14Z' stroke='black' stroke-width='1.5'/%3E%3Cpath d='M8.2 8a2 2 0 1 1 3.2 1.6c-.8.5-1.4 1-1.4 2' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M10 14h.01' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M10 17a7 7 0 1 0 0-14 7 7 0 0 0 0 14Z' stroke='black' stroke-width='1.5'/%3E%3Cpath d='M8.2 8a2 2 0 1 1 3.2 1.6c-.8.5-1.4 1-1.4 2' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M10 14h.01' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__mobile-menu-toggle::before,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__mobile-menu-toggle::before {
        width: 24px !important;
        height: 24px !important;
        -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__mobile-menu-toggle span,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__mobile-menu-toggle span {
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] {
        --faq-static-wrap: min(350px, calc(100% - 52px));
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero {
        padding: 48px 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-filters {
        width: calc(100% + 52px) !important;
        justify-content: flex-start !important;
        margin-inline: -26px !important;
        padding: 0 42px !important;
        overflow-x: auto !important;
        scrollbar-width: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-faq-page-list summary {
        min-height: 97px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-section {
        padding: 48px 0 96px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-actions {
        flex-direction: column !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences {
        padding: 32px 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-tour-grid > .tour-cards-grid,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-cards-grid.alc-tour-grid-dynamic {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card {
        min-height: 549px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-related-experiences .tour-card-image {
        height: 176px !important;
    }
}

/* FAQ help final override: must stay after static-page repair rules. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-section > .ve-section-inner,
.editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-section.editable-section > .section-content-wrapper {
    display: flex !important;
    justify-content: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-card,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .editable-rich-text.alc-help-card,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ve-rich-text.alc-help-card {
    width: min(720px, 100%) !important;
    max-width: 720px !important;
    min-height: 190px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-icon {
    width: 32px !important;
    height: 32px !important;
    margin: 0 0 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: transparent !important;
    font-size: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-icon img {
    display: block !important;
    width: 32px !important;
    height: 32px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-card p {
    width: 100% !important;
    max-width: 520px !important;
    margin-inline: auto !important;
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-card,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .editable-rich-text.alc-help-card,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .ve-rich-text.alc-help-card {
        width: 100% !important;
        max-width: 350px !important;
        min-height: 282px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-card p {
        max-width: 350px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-actions {
        width: 100% !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-help-actions a {
        width: auto !important;
        max-width: 100% !important;
    }
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__topbar-inner,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__topbar-inner {
        width: min(350px, 100%) !important;
        padding: 16px 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--static .ftc-site-header__topbar p,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--figma-static .ftc-site-header__topbar p {
        max-width: 350px !important;
        margin-inline: auto !important;
        text-align: center !important;
        text-wrap: balance;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero-copy h1 {
        margin-bottom: 16px !important;
        font-size: 24px !important;
        line-height: 32px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="faqs"] .alc-inner-hero-copy p {
        max-width: 350px !important;
        font-size: 12px !important;
        line-height: 18px !important;
    }
}


/* ─── Experience · correcciones visuales y de interacción (2026-07-10) ─── */
/* El loader legacy era fixed y podía dejar una capa transparente sobre toda la página.
   En experiencia queda confinado al formulario y nunca captura clics cuando está oculto. */
.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #form_reserva > #loader {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: -1 !important;
}

.visual-layout-page[data-page-key="experience"] .alc-exp-booking-widget #form_reserva > #loader.show {
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 50 !important;
}

/* Figma: guiones simples en “Debes saber que…”, sin iconos circulares. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-know li::before {
    content: "" !important;
    left: 0 !important;
    top: .72em !important;
    width: 16px !important;
    height: 1px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--alc-exp-ink-soft, #6f654f) !important;
    box-shadow: none !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

/* Figma 4848:69828: las formas vienen de los SVG, pero el color pertenece al
   tema y debe responder automáticamente a --accent-500. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer-item::before {
    width: 20px !important;
    height: 20px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background-color: var(--accent-500, #6698BB) !important;
    background-image: none !important;
    box-shadow: none !important;
    -webkit-mask: var(--alc-exp-offer-theme-icon) center / var(--alc-exp-offer-theme-icon-size) no-repeat !important;
    mask: var(--alc-exp-offer-theme-icon) center / var(--alc-exp-offer-theme-icon-size) no-repeat !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer-item--pace::before {
    --alc-exp-offer-theme-icon: url('/styles/componentes/assets/alcazar/offer/headphones.svg?v=20260813');
    --alc-exp-offer-theme-icon-size: 16.5px 16.5px;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer-item--content::before {
    --alc-exp-offer-theme-icon: url('/styles/componentes/assets/alcazar/offer/image.svg?v=20260813');
    --alc-exp-offer-theme-icon-size: 18.1667px 18.1667px;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer-item--access::before {
    --alc-exp-offer-theme-icon: url('/styles/componentes/assets/alcazar/offer/ticket.svg?v=20260813');
    --alc-exp-offer-theme-icon-size: 18.1667px 13.1667px;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-offer-item--ready::before {
    --alc-exp-offer-theme-icon: url('/styles/componentes/assets/alcazar/offer/checklist.svg?v=20260813');
    --alc-exp-offer-theme-icon-size: 14.832px 18.168px;
}

/* Fase 76: identidad FTC única en footers y cabeceras de todo el checkout. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer .ftc-footer-logo-link img,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer .ftc-footer-logo img {
    display: block !important;
    width: 82px !important;
    height: 40px !important;
    max-width: 82px !important;
    max-height: 40px !important;
    object-fit: contain !important;
}


/* ─── Home · variantes persistidas del hero (2026-07-17) ───
   Split y overlay comparten exactamente el mismo árbol: texto + imagen.
   La propiedad `variant` del section_block decide la composición y se guarda
   en theme_layouts; cargar o desplegar código nunca convierte el layout. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero.ftc-home-hero--overlay,
.visual-layout-page[data-design-system="ftc-foundations"] #inicio.ftc-home-hero.ftc-home-hero--overlay {
    --ve-hero-height: clamp(590px, 43vw, 824px);
    position: relative !important;
    display: block !important;
    height: auto !important;
    min-height: var(--ve-hero-height) !important;
    padding: 0 !important;
    background: var(--ve-section-background, #2b2130) !important;
    color: var(--white-100, #fff) !important;
    overflow: hidden !important;
    isolation: isolate;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero--overlay.ftc-home-hero--height-fluid {
    --ve-hero-height: clamp(590px, 43vw, 824px);
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero--overlay.ftc-home-hero--height-viewport {
    --ve-hero-height: max(590px, calc(100svh - 114px));
}

.visual-layout-page[data-design-system="ftc-foundations"]:has(.ftc-site-header--compact) .ftc-home-hero--overlay.ftc-home-hero--height-viewport {
    --ve-hero-height: max(590px, calc(100svh - 96px));
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero--overlay.ftc-home-hero--height-compact {
    --ve-hero-height: 520px;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero--overlay.ftc-home-hero--height-tall {
    --ve-hero-height: 820px;
}

body.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero--overlay.ftc-home-hero--height-viewport {
    --ve-hero-height: max(590px, calc(100svh - 168px));
}

body.editor-mode .visual-layout-page[data-design-system="ftc-foundations"]:has(.ftc-site-header--compact) .ftc-home-hero--overlay.ftc-home-hero--height-viewport {
    --ve-hero-height: max(590px, calc(100svh - 150px));
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero.ftc-home-hero--overlay > .ve-section-inner {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: inherit !important;
    margin: 0 !important;
    padding: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero.ftc-home-hero--overlay .ftc-hero-grid {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(var(--ve-hero-height), auto) !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: inherit !important;
    align-items: stretch !important;
    overflow: visible !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero.ftc-home-hero--overlay .ftc-hero-grid > * {
    grid-area: 1 / 1 !important;
    min-width: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero.ftc-home-hero--overlay .ftc-hero-grid::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, var(--black-75) 0%, var(--black-50) 46%, var(--black-25) 100%);
    pointer-events: none;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero.ftc-home-hero--overlay .ftc-hero-grid > .cmp-image,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero.ftc-home-hero--overlay .ftc-hero-grid > .component-wrapper:has(.ftc-hero-image) {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    align-self: stretch !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero.ftc-home-hero--overlay .component-content:has(.ftc-hero-image) {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero.ftc-home-hero--overlay .ftc-hero-image {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    object-fit: var(--ve-hero-image-fit, cover) !important;
    object-position: var(--ve-hero-image-position, center center) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero.ftc-home-hero--overlay .ftc-hero-grid > .cmp-rich_text,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero.ftc-home-hero--overlay .ftc-hero-grid > .component-wrapper:has(.ftc-hero-copy) {
    position: relative !important;
    z-index: 2 !important;
    align-self: end !important;
    width: 100% !important;
    max-width: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero.ftc-home-hero--overlay .ftc-hero-copy {
    position: relative !important;
    z-index: 2 !important;
    width: min(1440px, calc(100% - 144px)) !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
    padding: 0 0 var(--layout-section-y-spacing) !important;
    color: var(--white-100, #fff) !important;
    text-align: left !important;
    text-wrap: balance;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero.ftc-home-hero--overlay .ftc-hero-copy h1 {
    max-width: 521px !important;
    margin: 0 0 var(--space-md) !important;
    color: var(--white-100, #fff) !important;
    font-family: var(--font-display-hero-family) !important;
    font-size: var(--font-display-hero-size) !important;
    line-height: var(--font-display-hero-line-height) !important;
    letter-spacing: var(--font-display-hero-letter-spacing, 0) !important;
    font-weight: 600 !important;
    text-align: left !important;
    text-shadow: 0 2px 18px rgba(0, 0, 0, .22);
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero.ftc-home-hero--overlay .ftc-hero-copy p {
    max-width: 521px !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, .94) !important;
    font-family: var(--font-body-lead-family) !important;
    font-size: var(--font-body-lead-size, 18px) !important;
    line-height: var(--font-body-lead-line-height) !important;
    font-weight: 400 !important;
    text-align: left !important;
    text-shadow: 0 1px 12px rgba(0, 0, 0, .28);
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero.ftc-home-hero--overlay .ftc-hero-copy p + p {
    margin-top: 12px !important;
}

/* La barra superior es una decisión independiente y persistida en show_topbar. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header.ftc-site-header--compact {
    min-height: 96px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header--compact .ftc-site-header__topbar {
    display: none !important;
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-site-header.ftc-site-header--compact {
        min-height: 75px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero--overlay.ftc-home-hero--height-fluid {
        --ve-hero-height: 590px;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero--overlay.ftc-home-hero--height-viewport {
        --ve-hero-height: max(590px, calc(100svh - 75px));
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero--overlay.ftc-home-hero--height-compact {
        --ve-hero-height: 560px;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero--overlay.ftc-home-hero--height-tall {
        --ve-hero-height: 720px;
    }

    body.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero--overlay.ftc-home-hero--height-viewport {
        --ve-hero-height: max(590px, calc(100svh - 129px));
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero.ftc-home-hero--overlay,
    .visual-layout-page[data-design-system="ftc-foundations"] #inicio.ftc-home-hero.ftc-home-hero--overlay {
        height: auto !important;
        min-height: var(--ve-hero-height) !important;
        padding: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero.ftc-home-hero--overlay > .ve-section-inner,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero.ftc-home-hero--overlay .ftc-hero-grid {
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        min-height: inherit !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero.ftc-home-hero--overlay .ftc-hero-grid::after {
        background: linear-gradient(180deg, rgba(20, 12, 25, .18) 10%, rgba(20, 12, 25, .66) 62%, rgba(20, 12, 25, .88) 100%);
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero.ftc-home-hero--overlay .ftc-hero-image {
        height: 100% !important;
        min-height: 0 !important;
        object-position: var(--ve-hero-image-position, 60% center) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero.ftc-home-hero--overlay .ftc-hero-grid > .cmp-rich_text,
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero.ftc-home-hero--overlay .ftc-hero-grid > .component-wrapper:has(.ftc-hero-copy) {
        align-self: end !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero.ftc-home-hero--overlay .ftc-hero-copy {
        width: min(390px, calc(100% - 48px)) !important;
        max-width: min(390px, calc(100% - 48px)) !important;
        padding: 56px 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero.ftc-home-hero--overlay .ftc-hero-copy h1 {
        max-width: 100% !important;
        margin-bottom: 24px !important;
        font-size: clamp(40px, 11.5vw, 48px) !important;
        line-height: 1.1 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-home-hero.ftc-home-hero--overlay .ftc-hero-copy p {
        max-width: 100% !important;
        font-size: 16px !important;
        line-height: 1.5 !important;
    }
}

/* Offset compartido para navegación por anclas. El valor de reserva evita que
   el header sticky tape el destino antes de que JS mida su altura real. */
.visual-layout-page[data-design-system="ftc-foundations"] {
    --ftc-anchor-scroll-offset: 160px;
}

.visual-layout-page[data-design-system="ftc-foundations"] > [id],
.visual-layout-page[data-design-system="ftc-foundations"] > #main > [id],
.visual-layout-page[data-design-system="ftc-foundations"] .ve-section-block[id] {
    scroll-margin-top: var(--ftc-anchor-scroll-offset, 160px) !important;
}

/* El enlace principal de Experiencias debe terminar de superar el hero para
   activar la variante clara del header sin ocultar el inicio de la sección. */
body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] #experiencias {
    scroll-margin-top: calc(var(--ftc-anchor-scroll-offset, 160px) - 20px) !important;
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"] {
        --ftc-anchor-scroll-offset: 155px;
    }
}

/* Experience subnavigation (2026-08-12)
   Se mantiene justo debajo de la cabecera global. Las alturas se miden en
   runtime porque cambian entre escritorio, tablet y móvil. */
body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs-sticky-shell {
    position: sticky !important;
    top: var(--ftc-sticky-header-height, 144px) !important;
    z-index: 9999 !important;
    background: var(--white-100, #FFFFFF) !important;
    pointer-events: none;
}

body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs-sticky-shell > .alc-exp-tabs-section {
    position: relative !important;
    top: auto !important;
    z-index: auto !important;
    background: transparent !important;
    pointer-events: none;
}

body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs-sticky-shell .alc-exp-tabs {
    position: relative;
    z-index: 1;
    background: var(--white-100, #FFFFFF) !important;
    pointer-events: auto;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] :is(
    #descripcion,
    #incluye,
    #localizacion,
    #cancelacion,
    #faqs
) {
    scroll-margin-top: var(--ftc-anchor-scroll-offset, 243px) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] #faqs .alc-exp-section-title {
    scroll-margin-top: calc(var(--ftc-anchor-scroll-offset, 243px) + 24px) !important;
}

/* Audioguide typography - Figma 4848:69776.
   Override legacy rich-text weights so feature labels use the medium display
   style instead of inheriting Inter ExtraBold. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital > p {
    width: 100% !important;
    max-width: none !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 16px !important;
    line-height: 24px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital-item strong {
    font-family: var(--font-display-family, Signika, Inter, Arial, sans-serif) !important;
    font-size: 16px !important;
    line-height: 24px !important;
    font-weight: 500 !important;
    letter-spacing: 1.2px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital-item span {
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 14px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}

/* Audioguide icons: the SVG supplies only the shape; --accent-500 supplies the
   colour so every brand/theme can recolour the component automatically. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital-item {
    position: relative !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital-item > img {
    opacity: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital-item::before {
    content: "";
    position: absolute;
    top: 1px;
    left: 0;
    width: 20px;
    height: 20px;
    background-color: var(--accent-500, #6698BB);
    -webkit-mask: var(--alc-exp-digital-theme-icon) center / 20px 20px no-repeat;
    mask: var(--alc-exp-digital-theme-icon) center / 20px 20px no-repeat;
    pointer-events: none;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital-item:nth-child(1) {
    --alc-exp-digital-theme-icon: url('/styles/componentes/assets/alcazar/audioguide/globe.svg?v=20260813');
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital-item:nth-child(2) {
    --alc-exp-digital-theme-icon: url('/styles/componentes/assets/alcazar/audioguide/play-square.svg?v=20260813');
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital-item:nth-child(3) {
    --alc-exp-digital-theme-icon: url('/styles/componentes/assets/alcazar/audioguide/headphones.svg?v=20260813');
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital-item:nth-child(4) {
    --alc-exp-digital-theme-icon: url('/styles/componentes/assets/alcazar/audioguide/map-pin.svg?v=20260813');
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital-item:nth-child(5) {
    --alc-exp-digital-theme-icon: url('/styles/componentes/assets/alcazar/audioguide/rotate-cw.svg?v=20260813');
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-digital-item:nth-child(6) {
    --alc-exp-digital-theme-icon: url('/styles/componentes/assets/alcazar/audioguide/smartphone.svg?v=20260813');
}

/* Hero product — Figma 4848:69730.
   El renderizador envuelve cada stat en .cmp-rich_text, por lo que
   .alc-exp-stat:last-child coincidía con los tres bloques y borraba todos los
   separadores. El último bloque se determina ahora en el nivel real del grid. */
@media (min-width: 769px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-stats {
        border-top: var(--stroke-sm, 1px) solid var(--border-base-secondary-mid, #ded9d0) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-stats > .cmp-rich_text:not(:last-child) .alc-exp-stat {
        min-height: 50px !important;
        padding-right: 32px !important;
        border-right: var(--stroke-sm, 1px) solid var(--border-base-primary-soft, #ded9d0) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-stats > .cmp-rich_text:last-child .alc-exp-stat {
        padding-right: 0 !important;
        border-right: 0 !important;
    }
}

/* Booking card QA — radio superior 12px e inferior 24px.
   El color de cabecera se vincula directamente al token solicitado por diseño. */
@media (min-width: 769px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-card {
        border-radius: 12px 12px 24px 24px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-price-head {
        border-radius: 12px 12px 0 0 !important;
        background: var(--background-base-brand-strong, #82620B) !important;
    }
}

@media (min-width: 1600px) {
    body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs-sticky-shell {
        position: sticky !important;
        background: transparent !important;
    }

    body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs-sticky-shell::before {
        content: "";
        position: absolute;
        inset: 0 auto 0 0;
        width: min(100%, calc(max(72px, (100% - 1440px) / 2) + 934px));
        background: var(--white-100, #FFFFFF);
        pointer-events: none;
    }

    /* El sidebar acompaña a la subnavegación sin quedar detrás de las dos
       barras sticky. La fila de tabs solo pinta la columna izquierda. */
    body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-sidebar {
        top: calc(var(--ftc-sticky-header-height, 144px) + var(--ftc-sticky-tabs-height, 83px)) !important;
    }

}

/* Home hero header (2026-07-21)
   El disclaimer permanece en el flujo y desaparece con el scroll; solo la
   navegación queda fijada sobre la fotografía. */
body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header.ftc-site-header--static {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    z-index: 10000 !important;
    height: auto !important;
    min-height: 48px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

/* Al abandonar el inicio del hero, la navegación recupera el tratamiento
   claro del header: fondo blanco, logo original y colores del tema. */
body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header.ftc-site-header--static::after {
    content: "" !important;
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    z-index: 1 !important;
    height: 96px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(54, 33, 69, .12) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .2s ease !important;
    -webkit-backdrop-filter: blur(12px) !important;
    backdrop-filter: blur(12px) !important;
}

body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header.ftc-site-header--static.ftc-site-header--scrolled::after {
    opacity: 1 !important;
}

body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__topbar {
    position: relative !important;
    z-index: 2 !important;
    min-height: 48px !important;
    height: 48px !important;
    padding: 0 24px !important;
    background: var(--black-25) !important;
}

body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__topbar-inner {
    width: min(1440px, 100%) !important;
    padding: 16px 0 !important;
}

body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__topbar p,
body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__topbar a {
    color: var(--foreground-base-inverse-strong) !important;
    font-family: var(--font-action-nav-family) !important;
    font-size: 11px !important;
    line-height: 16px !important;
}

body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__inner {
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    z-index: 3 !important;
    width: min(1440px, calc(100% - 144px)) !important;
    max-width: 1440px !important;
    margin: 0 !important;
    background: transparent !important;
    color: #fff !important;
    transform: translateX(-50%) !important;
}

body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static.ftc-site-header--nav-fixed .ftc-site-header__inner {
    position: fixed !important;
    top: 0 !important;
}

body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__logo img {
    filter: brightness(0) invert(1) !important;
}

body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__nav a,
body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__actions > a,
body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__select .select-selected,
body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__select > .select-selected .ftc-site-header__currency-symbol {
    color: #fff !important;
}

body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__nav a:hover,
body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__nav a:focus-visible,
body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__actions > a:hover,
body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__actions > a:focus-visible {
    color: #fff !important;
    opacity: .8 !important;
}

body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__select > .select-selected .ftc-site-header__icon,
body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__contact-link::before,
body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__faq-link::before,
body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__mobile-menu-toggle::before {
    color: #fff !important;
    background-color: #fff !important;
}

body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__select .select-selected::after {
    border-color: #fff transparent transparent transparent !important;
}

body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__divider {
    background: rgba(255, 255, 255, .55) !important;
}

body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__mobile-menu-toggle {
    color: #fff !important;
}

body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__mobile-menu-toggle span {
    background: #fff !important;
}

body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static.ftc-site-header--scrolled .ftc-site-header__logo img {
    filter: none !important;
}

body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static.ftc-site-header--scrolled .ftc-site-header__inner,
body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static.ftc-site-header--scrolled .ftc-site-header__nav a,
body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static.ftc-site-header--scrolled .ftc-site-header__actions > a,
body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static.ftc-site-header--scrolled .ftc-site-header__select .select-selected,
body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static.ftc-site-header--scrolled .ftc-site-header__select > .select-selected .ftc-site-header__currency-symbol,
body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static.ftc-site-header--scrolled .ftc-site-header__mobile-menu-toggle {
    color: var(--ftc-brand-primary) !important;
}

body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static.ftc-site-header--scrolled .ftc-site-header__nav a:hover,
body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static.ftc-site-header--scrolled .ftc-site-header__nav a:focus-visible,
body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static.ftc-site-header--scrolled .ftc-site-header__actions > a:hover,
body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static.ftc-site-header--scrolled .ftc-site-header__actions > a:focus-visible {
    color: var(--ftc-brand-primary) !important;
}

body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static.ftc-site-header--scrolled .ftc-site-header__select > .select-selected .ftc-site-header__icon,
body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static.ftc-site-header--scrolled .ftc-site-header__contact-link::before,
body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static.ftc-site-header--scrolled .ftc-site-header__faq-link::before,
body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static.ftc-site-header--scrolled .ftc-site-header__mobile-menu-toggle::before {
    color: var(--ftc-brand-primary) !important;
    background-color: var(--ftc-brand-primary) !important;
}

body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static.ftc-site-header--scrolled .ftc-site-header__select .select-selected::after {
    color: var(--ftc-brand-primary) !important;
    border-color: var(--ftc-brand-primary) transparent transparent transparent !important;
}

body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static.ftc-site-header--scrolled .ftc-site-header__divider {
    background: var(--border-base-secondary-mid, #ded7ca) !important;
}

body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static.ftc-site-header--scrolled .ftc-site-header__mobile-menu-toggle span {
    background: var(--ftc-brand-primary) !important;
}

@media (max-width: 768px) {
    body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header.ftc-site-header--static {
        min-height: 40px !important;
    }

    body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header.ftc-site-header--static::after {
        height: 75px !important;
    }

    body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__topbar {
        min-height: 40px !important;
        height: auto !important;
        padding: 0 16px !important;
    }

    body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__topbar-inner {
        width: 100% !important;
        padding: 4px 0 !important;
    }

    body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__topbar p,
    body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__topbar a {
        font-size: 10px !important;
        line-height: 14px !important;
    }

    body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__inner {
        width: 100% !important;
        max-width: none !important;
        padding-inline: 16px !important;
    }

    body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__actions .ftc-site-header__contact-link,
    body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__actions .ftc-site-header__faq-link,
    body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__mobile-menu-toggle {
        color: #fff !important;
    }
}

/* La antigua réplica visual queda aislada: la Home monta ahora el
   booking_sidebar real y hereda directamente sus estilos. */
@supports (display: __ftc_legacy_home_booking_disabled__) {
/* El formulario de la home comparte el contrato visual del booking_sidebar.
   El modal conserva únicamente su contenedor exterior; pasos, estados y CTA
   usan las mismas métricas que la experiencia. */
@media (min-width: 769px) {
    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.alc-exp-booking-widget {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        color: var(--alc-exp-ink) !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-card.alc-booking-card {
        border-radius: 24px !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .alc-booking-price-head {
        gap: 16px !important;
        padding: 16px 24px !important;
        border-radius: 23px 23px 0 0 !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .alc-booking-price-head small {
        font-size: 12px !important;
        line-height: 18px !important;
        letter-spacing: .96px !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .alc-booking-start-price {
        line-height: 32px !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] #form_reserva.booking-modal-mode.alc-booking-form {
        position: relative !important;
        padding: 0 !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step.alc-booking-step,
    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step.alc-booking-accordion,
    #tourReservationModal[data-home-booking-modal="1"] #bloque_calendario.tour-modal-form-step {
        width: calc(100% - 32px) !important;
        margin: 0 16px !important;
        overflow: visible !important;
        border: 0 !important;
        border-bottom: 1px solid var(--alc-exp-border) !important;
        background: #fff !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step.alc-booking-accordion {
        margin-top: 8px !important;
        border-bottom: 0 !important;
        background: var(--background-feedback-info-soft, #eef4f8) !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step > .alc-booking-step-head,
    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step > .alc-booking-accordion-head {
        flex-wrap: wrap !important;
        gap: 8px !important;
        min-height: 52px !important;
        padding: 8px 12px !important;
        color: var(--alc-exp-brand) !important;
        font-size: 12px !important;
        line-height: 18px !important;
        letter-spacing: .96px !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step > .alc-booking-accordion-head {
        color: var(--foreground-feedback-info-mid, #1c5685) !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step.is-disabled > .alc-booking-step-head {
        color: var(--alc-exp-ink-soft) !important;
        opacity: .45 !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step .alc-booking-step-number,
    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step .alc-booking-info-icon {
        font-size: 11px !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step.is-complete .alc-booking-step-number {
        position: relative !important;
        color: transparent !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step.is-complete .alc-booking-step-number::after {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        width: 8px !important;
        height: 4px !important;
        border: 0 !important;
        border-left: 2px solid #fff !important;
        border-bottom: 2px solid #fff !important;
        transform: rotate(-45deg) translate(1px, -1px) !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .alc-booking-step-summary {
        display: none !important;
        flex: 0 0 100% !important;
        order: 5 !important;
        margin: -2px 0 0 28px !important;
        color: var(--alc-exp-ink-soft) !important;
        font-size: 12px !important;
        line-height: 16px !important;
        font-weight: 400 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step.is-complete:not(.is-open) .alc-booking-step-summary:not(:empty) {
        display: block !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step > .alc-booking-step-body {
        padding: 8px 16px 16px !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step > .alc-booking-accordion-body {
        padding: 0 16px 16px !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] #bloque_calendario > .alc-booking-step-body {
        padding: 8px 16px 16px !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-footer.alc-booking-footer {
        gap: 24px !important;
        margin: 8px 0 0 !important;
        padding: 16px !important;
        border-top: 1px solid var(--alc-exp-border) !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-footer .precio_total > div:first-child {
        font-size: 12px !important;
        line-height: 18px !important;
        letter-spacing: .96px !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-footer .precio_final {
        font-size: 32px !important;
        line-height: 40px !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-footer #btn_comprar {
        min-height: 52px !important;
        padding: 14px 24px !important;
        border-radius: 32px !important;
        font-size: 12px !important;
        line-height: 18px !important;
        letter-spacing: .24px !important;
    }
}

@media (max-width: 768px) {
    body:not(.editor-mode) #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open {
        padding: 54px 16px 0 !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open #form_reserva.booking-modal-mode.alc-booking-form {
        padding: 0 !important;
        gap: 12px !important;
    }

}

/* Home booking modal: parity with the experience booking flow. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-details-link:hover,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-details-link:focus-visible,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-details-link:hover > span,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-details-link:focus-visible > span {
    color: var(--foreground-base-brand-mid, #5f3a78) !important;
    -webkit-text-fill-color: var(--foreground-base-brand-mid, #5f3a78) !important;
    background: transparent !important;
}

#tourReservationModal[data-home-booking-modal="1"] #form_reserva.booking-modal-mode #client_form_container,
#tourReservationModal[data-home-booking-modal="1"] #form_reserva.booking-modal-mode .booking-form-right > .completar > .completar:not(#payment_button_container):not(.tour-modal-booking-footer) {
    display: none !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-language-source--hidden,
#tourReservationModal[data-home-booking-modal="1"] .tour-modal-service-source--hidden {
    display: none !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-important {
    display: none !important;
}

@media (max-width: 768px) {
    #tourReservationModal[data-home-booking-modal="1"] {
        padding: 0 !important;
        background: #fff !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-overlay {
        background: #fff !important;
        backdrop-filter: none !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-content {
        display: block !important;
        width: 100vw !important;
        max-width: none !important;
        height: 100dvh !important;
        max-height: none !important;
        overflow: visible !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-header {
        position: fixed !important;
        inset: 0 0 auto 0 !important;
        z-index: 100080 !important;
        min-height: 0 !important;
        height: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-header h3 {
        display: none !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-close {
        position: fixed !important;
        top: 12px !important;
        right: 14px !important;
        z-index: 100085 !important;
        width: 36px !important;
        height: 36px !important;
        border: 0 !important;
        border-radius: 999px !important;
        background: #f1f2f4 !important;
        color: #17191d !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-body {
        width: 100% !important;
        height: 100% !important;
        padding: 0 !important;
        overflow: visible !important;
        background: transparent !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-skin {
        width: 100% !important;
        height: 100% !important;
    }

    body:not(.editor-mode) #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open {
        display: block !important;
        position: fixed !important;
        inset: 0 !important;
        z-index: 100060 !important;
        width: auto !important;
        max-width: none !important;
        height: auto !important;
        margin: 0 !important;
        padding: 58px 16px 0 !important;
        overflow-y: auto !important;
        background: #fff !important;
        -webkit-overflow-scrolling: touch !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .alc-booking-price-head {
        display: none !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .tour-modal-booking-card {
        overflow: visible !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open #form_reserva.booking-modal-mode.alc-booking-form {
        display: block !important;
        padding: 0 !important;
        background: transparent !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .tour-modal-form-step {
        margin: 0 0 12px !important;
        overflow: hidden !important;
        border: 1px solid var(--border-base-secondary-mid, #ded9d0) !important;
        border-radius: 14px !important;
        background: #fff !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .tour-modal-form-step > .alc-booking-step-head,
    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .tour-modal-form-step > .alc-booking-accordion-head {
        box-sizing: border-box !important;
        min-height: 54px !important;
        padding: 13px 16px !important;
        border: 0 !important;
        background: var(--background-base-default-soft, #fbf9f5) !important;
        color: var(--foreground-base-primary-mid, #484132) !important;
        font-size: 14px !important;
        line-height: 18px !important;
        font-weight: 700 !important;
        letter-spacing: 0 !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .alc-booking-step-number,
    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .alc-booking-info-icon {
        flex: 0 0 24px !important;
        width: 24px !important;
        height: 24px !important;
        border-radius: 50% !important;
        background: var(--foreground-base-primary-mid, #484132) !important;
        color: #fff !important;
        font-size: 12px !important;
        line-height: 24px !important;
        text-align: center !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .tour-modal-form-step.is-disabled > .alc-booking-step-head {
        color: #bbb4a6 !important;
        cursor: default !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .tour-modal-form-step.is-disabled .alc-booking-step-number {
        background: #e8e4db !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .alc-booking-step-summary {
        display: block !important;
        flex: 1 1 100% !important;
        order: 10 !important;
        margin: 3px 0 0 36px !important;
        color: var(--foreground-base-tertiary-mid, #84775d) !important;
        font-size: 12px !important;
        line-height: 1.35 !important;
        font-weight: 600 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .alc-booking-step-summary:empty,
    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .tour-modal-form-step.is-open .alc-booking-step-summary {
        display: none !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .tour-modal-form-step.is-complete .alc-booking-step-number {
        position: relative !important;
        color: transparent !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .tour-modal-form-step.is-complete .alc-booking-step-number::after {
        content: "" !important;
        position: absolute !important;
        left: 9px !important;
        top: 5px !important;
        width: 6px !important;
        height: 11px !important;
        border-right: 2px solid #fff !important;
        border-bottom: 2px solid #fff !important;
        transform: rotate(45deg) !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .tour-modal-booking-footer {
        position: sticky !important;
        bottom: 0 !important;
        z-index: 5 !important;
        display: block !important;
        margin: 0 -16px !important;
        padding: 0 14px calc(8px + env(safe-area-inset-bottom, 0px)) !important;
        border-top: 1px solid var(--border-base-default, #e4e7ec) !important;
        background: #fff !important;
        box-shadow: 0 -12px 28px rgba(24, 23, 31, .08) !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .tour-modal-booking-important {
        display: block !important;
        margin: 0 !important;
        padding: 7px 0 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .tour-modal-booking-important h3 {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #17191d !important;
        font-size: 10px !important;
        line-height: 14px !important;
        font-weight: 800 !important;
        letter-spacing: .14em !important;
        text-transform: uppercase !important;
        cursor: pointer !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .tour-modal-booking-important h3::after {
        content: "" !important;
        width: 8px !important;
        height: 8px !important;
        border-right: 2px solid currentColor !important;
        border-bottom: 2px solid currentColor !important;
        transform: rotate(225deg) !important;
        opacity: .7 !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .tour-modal-booking-important.is-collapsed h3::after {
        transform: rotate(45deg) !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .tour-modal-booking-important ul {
        display: grid !important;
        gap: 8px !important;
        margin: 10px 0 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .tour-modal-booking-important.is-collapsed ul {
        display: none !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .tour-modal-booking-footer .precio_total,
    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .tour-modal-booking-footer .precio_total.d-none {
        display: flex !important;
        align-items: baseline !important;
        justify-content: space-between !important;
        margin: 7px 0 8px !important;
        padding: 8px 0 0 !important;
        border-top: 1px solid var(--border-base-default, #e4e7ec) !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .tour-modal-booking-footer .precio_total > div:first-child,
    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .tour-modal-booking-footer .precio_final {
        color: #17191d !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .tour-modal-booking-footer #btn_comprar,
    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open:not(.is-ready) .tour-modal-booking-footer #btn_comprar:disabled {
        width: 100% !important;
        min-height: 44px !important;
        border-radius: 10px !important;
        background: #9aa0a8 !important;
        color: #fff !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        letter-spacing: .12em !important;
        text-transform: uppercase !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open.is-ready .tour-modal-booking-footer #btn_comprar {
        background: #17191d !important;
        color: #fff !important;
    }
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-details-link {
    display: inline-flex !important;
    align-items: center !important;
    align-self: flex-start !important;
    gap: 7px !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--foreground-base-brand-mid, #5f3a78) !important;
    box-shadow: none !important;
    font-family: var(--font-action-compact-family, var(--font-body-family, Inter)), Inter, Arial, sans-serif !important;
    font-size: 11px !important;
    line-height: 16px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-details-link > span:last-child {
    font-size: 17px !important;
    line-height: 12px !important;
    transform: translateY(-1px) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-details-link:hover,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-details-link:focus-visible {
    color: var(--foreground-base-brand-mid, #5f3a78) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

#tourReservationModal[data-home-booking-modal="1"] {
    box-sizing: border-box !important;
    z-index: 100050 !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 24px !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-overlay {
    background: rgba(35, 30, 25, .42) !important;
    backdrop-filter: blur(3px) !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-content {
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    width: min(586px, calc(100vw - 32px)) !important;
    max-height: min(848px, calc(100dvh - 32px)) !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 24px !important;
    background: #fff !important;
    box-shadow: 0 24px 70px rgba(39, 28, 20, .22) !important;
    outline: 0 !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-header {
    position: relative !important;
    inset: auto !important;
    z-index: 2 !important;
    flex: 0 0 auto !important;
    min-height: 96px !important;
    margin: 0 !important;
    padding: 38px 49px 24px !important;
    border: 0 !important;
    background: #fff !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-header h3 {
    flex: 1 1 auto !important;
    max-width: calc(100% - 48px) !important;
    margin: 0 !important;
    text-align: left !important;
    color: var(--foreground-base-primary-mid, #484132) !important;
    font-family: var(--font-display-family, Signika, Inter, Arial, sans-serif) !important;
    font-size: 18px !important;
    line-height: 24px !important;
    font-weight: 600 !important;
    letter-spacing: .35px !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-close {
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--border-base-secondary-mid, #ded9d0) !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: var(--foreground-base-secondary-mid, #665c48) !important;
    box-shadow: none !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-close:hover,
#tourReservationModal[data-home-booking-modal="1"] .tour-modal-close:focus-visible {
    border-color: var(--foreground-base-brand-mid, #5f3a78) !important;
    color: var(--foreground-base-brand-mid, #5f3a78) !important;
    outline: 2px solid color-mix(in srgb, var(--foreground-base-brand-mid, #5f3a78) 22%, transparent) !important;
    outline-offset: 2px !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-body {
    box-sizing: border-box !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 49px 49px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    background: #fff !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-skin {
    --alc-exp-brand: var(--foreground-base-brand-mid, #5f3a78);
    --alc-exp-brand-strong: var(--background-base-brand-strong, #362145);
    --alc-exp-ink: var(--foreground-base-primary-mid, #484132);
    --alc-exp-ink-soft: var(--foreground-base-secondary-mid, #665c48);
    --alc-exp-border: var(--border-base-secondary-mid, #ded9d0);
    --alc-exp-border-soft: var(--border-base-secondary-soft, #f0ebe1);
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.alc-exp-booking-widget {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-card.alc-booking-card {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--alc-exp-border) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: none !important;
}

#tourReservationModal[data-home-booking-modal="1"] .alc-booking-price-head {
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    width: 100% !important;
    height: 98px !important;
    min-height: 98px !important;
    margin: 0 !important;
    padding: 20px 24px !important;
    border-radius: 15px 15px 0 0 !important;
    background: var(--alc-exp-brand-strong) !important;
    color: #fff !important;
}

#tourReservationModal[data-home-booking-modal="1"] .alc-booking-price-head small {
    margin: 0 !important;
    color: rgba(255,255,255,.64) !important;
    font-size: 10px !important;
    line-height: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

#tourReservationModal[data-home-booking-modal="1"] .alc-booking-price-line {
    display: flex !important;
    align-items: baseline !important;
    gap: 10px !important;
    margin: 0 !important;
}

#tourReservationModal[data-home-booking-modal="1"] .alc-booking-start-price {
    color: #fff !important;
    font-family: var(--font-display-family, Signika, Inter, Arial, sans-serif) !important;
    font-size: 24px !important;
    line-height: 30px !important;
    font-weight: 600 !important;
}

#tourReservationModal[data-home-booking-modal="1"] #modal-form-container,
#tourReservationModal[data-home-booking-modal="1"] #form_reserva.booking-modal-mode,
#tourReservationModal[data-home-booking-modal="1"] #form_reserva.booking-modal-mode .booking-form-container {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

#tourReservationModal[data-home-booking-modal="1"] #form_reserva.booking-modal-mode.alc-booking-form {
    display: block !important;
    padding: 8px 8px 0 !important;
    background: #fff !important;
}

#tourReservationModal[data-home-booking-modal="1"] #form_reserva.booking-modal-mode .booking-form-container {
    padding: 0 !important;
}

#tourReservationModal[data-home-booking-modal="1"] #form_reserva.booking-modal-mode .booking-form-row {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
}

#tourReservationModal[data-home-booking-modal="1"] #form_reserva.booking-modal-mode .booking-form-left,
#tourReservationModal[data-home-booking-modal="1"] #form_reserva.booking-modal-mode .booking-form-right,
#tourReservationModal[data-home-booking-modal="1"] #form_reserva.booking-modal-mode .mitad_ipad,
#tourReservationModal[data-home-booking-modal="1"] #form_reserva.booking-modal-mode .booking-form-right > .completar {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#tourReservationModal[data-home-booking-modal="1"] #form_reserva.booking-modal-mode .booking-form-left > br,
#tourReservationModal[data-home-booking-modal="1"] #form_reserva.booking-modal-mode .mitad_ipad > br,
#tourReservationModal[data-home-booking-modal="1"] #form_reserva.booking-modal-mode .booking-form-left > .personas:not(#bloque_personas) {
    display: none !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step.alc-booking-step,
#tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step.alc-booking-accordion,
#tourReservationModal[data-home-booking-modal="1"] #bloque_calendario.tour-modal-form-step {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-top: 1px solid var(--alc-exp-border-soft) !important;
    border-radius: 0 !important;
    background: #fff !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step.alc-booking-accordion {
    border-top: 0 !important;
    background: var(--background-feedback-info-soft, #eef4f8) !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step[data-booking-step="contact"]:not(.is-available) {
    display: none !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step[data-booking-step="language"][style*="display: none"] {
    display: none !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step > .alc-booking-step-head,
#tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step > .alc-booking-accordion-head {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: var(--alc-exp-ink-soft) !important;
    box-shadow: none !important;
    font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    font-size: 10px !important;
    line-height: 14px !important;
    font-weight: 700 !important;
    letter-spacing: .09em !important;
    text-align: left !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step > .alc-booking-accordion-head {
    background: var(--background-feedback-info-soft, #eef4f8) !important;
    color: var(--foreground-feedback-info-mid, #1c5685) !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step > .alc-booking-step-head:focus-visible,
#tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step > .alc-booking-accordion-head:focus-visible {
    outline: 2px solid color-mix(in srgb, var(--alc-exp-brand) 28%, transparent) !important;
    outline-offset: -2px !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step .alc-booking-step-number,
#tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step .alc-booking-info-icon {
    box-sizing: border-box !important;
    position: relative !important;
    display: inline-flex !important;
    flex: 0 0 20px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 4px !important;
    background: var(--alc-exp-brand) !important;
    color: #fff !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    font-style: normal !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step .alc-booking-info-icon {
    background: var(--foreground-feedback-info-mid, #1c5685) !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step .alc-booking-chevron {
    flex: 0 0 8px !important;
    width: 8px !important;
    height: 8px !important;
    margin: 0 2px 0 auto !important;
    border-right: 1.5px solid currentColor !important;
    border-bottom: 1.5px solid currentColor !important;
    opacity: .85 !important;
    transform: rotate(45deg) translateY(-2px) !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step.is-open > .alc-booking-step-head .alc-booking-chevron,
#tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step.is-open > .alc-booking-accordion-head .alc-booking-chevron {
    transform: rotate(225deg) translate(-2px, -1px) !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step > .alc-booking-step-body,
#tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step > .alc-booking-accordion-body {
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 8px 8px 16px !important;
    background: #fff !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step > .alc-booking-accordion-body {
    padding: 4px 12px 12px !important;
    background: var(--background-feedback-info-soft, #eef4f8) !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step > [hidden] {
    display: none !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step:not(.is-open) > .alc-booking-step-body,
#tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step:not(.is-open) > .alc-booking-accordion-body {
    display: none !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step .titulo_formulario {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
}

#tourReservationModal[data-home-booking-modal="1"] .main_tour .text-center,
#tourReservationModal[data-home-booking-modal="1"] .main_tour .text-center p {
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

#tourReservationModal[data-home-booking-modal="1"] .main_tour .text-center p {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px 14px !important;
}

#tourReservationModal[data-home-booking-modal="1"] .main_tour .text-center p > span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 0 !important;
    color: var(--alc-exp-ink-soft) !important;
    font-size: 11px !important;
    line-height: 16px !important;
}

#tourReservationModal[data-home-booking-modal="1"] #bloque_calendario > .alc-booking-step-body {
    padding: 8px 8px 14px !important;
}

#tourReservationModal[data-home-booking-modal="1"] .alc-exp-booking-widget #bloque_calendario .alc-booking-step-body #datepicker,
#tourReservationModal[data-home-booking-modal="1"] .alc-exp-booking-widget #bloque_calendario .alc-booking-step-body .ui-datepicker {
    width: 335px !important;
    max-width: 100% !important;
    margin-inline: auto !important;
}

#tourReservationModal[data-home-booking-modal="1"] #client_form_container .input-field {
    margin: 0 0 14px !important;
}

#tourReservationModal[data-home-booking-modal="1"] #client_form_container input,
#tourReservationModal[data-home-booking-modal="1"] #client_form_container select {
    box-sizing: border-box !important;
    width: 100% !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-footer.alc-booking-footer {
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 14px 8px 8px !important;
    border-top: 1px solid var(--alc-exp-border-soft) !important;
    background: #fff !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-footer .precio_total,
#tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-footer .precio_total.d-none {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    width: 100% !important;
    margin: 0 !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-footer .precio_total > div:first-child {
    color: var(--alc-exp-ink-soft) !important;
    font-size: 10px !important;
    line-height: 14px !important;
    font-weight: 700 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-footer .precio_final {
    color: var(--alc-exp-brand) !important;
    font-family: var(--font-display-family, Signika, Inter, Arial, sans-serif) !important;
    font-size: 24px !important;
    line-height: 30px !important;
    font-weight: 600 !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-footer #payment_button_container,
#tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-footer .boton_enviar {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-footer #btn_comprar {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 11px 20px !important;
    border: 0 !important;
    border-radius: 24px !important;
    background: var(--alc-exp-brand) !important;
    color: #fff !important;
    font-size: 10px !important;
    line-height: 14px !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-footer #btn_comprar:disabled,
#tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget:not(.is-ready) .tour-modal-booking-footer #btn_comprar {
    background: #f8f0fc !important;
    color: #d4a8ec !important;
    cursor: default !important;
}

#tourReservationModal[data-home-booking-modal="1"] .modal-form-missing {
    margin: 0 !important;
    padding: 18px !important;
    font-size: 14px !important;
    line-height: 20px !important;
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-details-link {
        font-size: 12px !important;
        line-height: 18px !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] {
        padding: 12px !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-content {
        width: calc(100vw - 24px) !important;
        max-height: calc(100dvh - 24px) !important;
        border-radius: 20px !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-header {
        min-height: 74px !important;
        padding: 20px 20px 14px !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-header h3 {
        font-size: 17px !important;
        line-height: 22px !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-body {
        padding: 0 16px 20px !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .alc-booking-price-head {
        height: 82px !important;
        min-height: 82px !important;
        padding: 14px 20px !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] #form_reserva.booking-modal-mode.alc-booking-form {
        padding: 6px 6px 0 !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step > .alc-booking-step-head,
    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step > .alc-booking-accordion-head {
        min-height: 46px !important;
        padding-inline: 6px !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .alc-exp-booking-widget #bloque_calendario .alc-booking-step-body #datepicker,
    #tourReservationModal[data-home-booking-modal="1"] .alc-exp-booking-widget #bloque_calendario .alc-booking-step-body .ui-datepicker {
        width: 100% !important;
        max-width: 335px !important;
    }
}

/* These viewport rules intentionally come last: the home modal must resolve to
   the same full-screen booking surface as the experience on mobile. */
@media (max-width: 768px) {
    body #tourReservationModal[data-home-booking-modal="1"] {
        padding: 0 !important;
        background: #fff !important;
    }

    body #tourReservationModal[data-home-booking-modal="1"] .tour-modal-overlay {
        background: #fff !important;
        backdrop-filter: none !important;
    }

    body #tourReservationModal[data-home-booking-modal="1"] .tour-modal-content {
        display: block !important;
        width: 100vw !important;
        max-width: none !important;
        height: 100dvh !important;
        max-height: none !important;
        overflow: visible !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body #tourReservationModal[data-home-booking-modal="1"] .tour-modal-header {
        position: fixed !important;
        inset: 0 0 auto 0 !important;
        z-index: 100080 !important;
        min-height: 0 !important;
        height: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    body #tourReservationModal[data-home-booking-modal="1"] .tour-modal-header h3 {
        display: none !important;
    }

    body #tourReservationModal[data-home-booking-modal="1"] .tour-modal-close {
        position: fixed !important;
        top: 12px !important;
        right: 14px !important;
        z-index: 100085 !important;
        width: 36px !important;
        height: 36px !important;
        border: 0 !important;
        border-radius: 999px !important;
        background: #f1f2f4 !important;
        color: #17191d !important;
    }

    body #tourReservationModal[data-home-booking-modal="1"] .tour-modal-body {
        width: 100% !important;
        height: 100% !important;
        padding: 0 !important;
        overflow: visible !important;
        background: transparent !important;
    }

    body:not(.editor-mode) #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open {
        display: block !important;
        position: fixed !important;
        inset: 0 !important;
        z-index: 100060 !important;
        width: auto !important;
        max-width: none !important;
        height: auto !important;
        margin: 0 !important;
        padding: 58px 16px 0 !important;
        overflow-y: auto !important;
        background: #fff !important;
        -webkit-overflow-scrolling: touch !important;
    }

    body #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open #bloque_calendario .alc-booking-step-body #datepicker,
    body #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open #bloque_calendario .alc-booking-step-body .ui-datepicker {
        width: 100% !important;
        max-width: none !important;
    }
}

/* Home booking modal: use the same language list and completed-step treatment
   as the experience without leaking the mobile checkmark into desktop. */
@media (min-width: 769px) {
    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step.is-complete .alc-booking-step-number {
        color: #fff !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step.is-complete .alc-booking-step-number::after {
        content: none !important;
        display: none !important;
    }
}

@media (max-width: 768px) {
    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .alc-booking-accordion-body.alc-booking-language-info {
        padding: 0 16px 16px !important;
        background: var(--background-feedback-info-soft, #eef4f8) !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .alc-booking-main-tour {
        display: none !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .alc-booking-language-info-list {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px 14px !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .alc-booking-language-info-list li {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        min-width: 0 !important;
        margin: 0 !important;
        color: var(--alc-exp-ink-soft, #84775d) !important;
        font-size: 12px !important;
        line-height: 16px !important;
        font-weight: 400 !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .alc-booking-language-info-list img {
        display: block !important;
        flex: 0 0 20px !important;
        width: 20px !important;
        height: 15px !important;
        object-fit: cover !important;
        border-radius: 2px !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .tour-modal-form-step.is-complete .alc-booking-step-number::after {
        left: auto !important;
        top: auto !important;
        width: 8px !important;
        height: 4px !important;
        border: 0 !important;
        border-left: 2px solid #fff !important;
        border-bottom: 2px solid #fff !important;
        transform: rotate(-45deg) translate(1px, -1px) !important;
    }
}

/* Final parity layer: the home keeps its dialog shell, while the complete
   booking surface resolves to the same tokens and states as booking_sidebar. */
@media (min-width: 769px) {
    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.alc-exp-booking-widget {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        color: var(--alc-exp-ink) !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-card.alc-booking-card {
        border-radius: 24px !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .alc-booking-price-head {
        gap: 16px !important;
        padding: 16px 24px !important;
        border-radius: 23px 23px 0 0 !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .alc-booking-price-head small {
        font-size: 12px !important;
        line-height: 18px !important;
        letter-spacing: .96px !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] #form_reserva.booking-modal-mode.alc-booking-form {
        position: relative !important;
        padding: 0 !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step.alc-booking-step,
    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step.alc-booking-accordion,
    #tourReservationModal[data-home-booking-modal="1"] #bloque_calendario.tour-modal-form-step {
        width: calc(100% - 32px) !important;
        margin: 0 16px !important;
        overflow: visible !important;
        border: 0 !important;
        border-bottom: 1px solid var(--alc-exp-border) !important;
        border-radius: 0 !important;
        background: #fff !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step.alc-booking-accordion {
        margin-top: 8px !important;
        border-bottom: 0 !important;
        background: var(--background-feedback-info-soft, #eef4f8) !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step > .alc-booking-step-head,
    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step > .alc-booking-accordion-head {
        flex-wrap: wrap !important;
        gap: 8px !important;
        min-height: 52px !important;
        padding: 8px 12px !important;
        color: var(--alc-exp-brand) !important;
        font-size: 12px !important;
        line-height: 18px !important;
        letter-spacing: .96px !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step > .alc-booking-accordion-head {
        color: var(--foreground-feedback-info-mid, #1c5685) !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step.is-disabled > .alc-booking-step-head {
        color: var(--alc-exp-ink-soft) !important;
        opacity: .45 !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step .alc-booking-step-number,
    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step .alc-booking-info-icon {
        font-size: 11px !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step.is-complete .alc-booking-step-number {
        position: relative !important;
        color: transparent !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step.is-complete .alc-booking-step-number::after {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        left: auto !important;
        top: auto !important;
        width: 8px !important;
        height: 4px !important;
        border: 0 !important;
        border-left: 2px solid #fff !important;
        border-bottom: 2px solid #fff !important;
        transform: rotate(-45deg) translate(1px, -1px) !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .alc-booking-step-summary {
        display: none !important;
        flex: 0 0 100% !important;
        order: 5 !important;
        margin: -2px 0 0 28px !important;
        color: var(--alc-exp-ink-soft) !important;
        font-size: 12px !important;
        line-height: 16px !important;
        font-weight: 400 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step.is-complete:not(.is-open) .alc-booking-step-summary:not(:empty) {
        display: block !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step > .alc-booking-step-body,
    #tourReservationModal[data-home-booking-modal="1"] #bloque_calendario > .alc-booking-step-body {
        padding: 8px 16px 16px !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-form-step > .alc-booking-accordion-body {
        padding: 0 16px 16px !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-footer.alc-booking-footer {
        gap: 24px !important;
        margin: 8px 0 0 !important;
        padding: 16px !important;
        border-top: 1px solid var(--alc-exp-border) !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-footer .precio_total > div:first-child {
        font-size: 12px !important;
        line-height: 18px !important;
        letter-spacing: .96px !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-footer .precio_final {
        font-size: 32px !important;
        line-height: 40px !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-footer #btn_comprar {
        min-height: 52px !important;
        padding: 14px 24px !important;
        border-radius: 32px !important;
        font-size: 12px !important;
        line-height: 18px !important;
        letter-spacing: .24px !important;
    }
}

@media (max-width: 768px) {
    body:not(.editor-mode) #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open {
        padding: 54px 16px 0 !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open #form_reserva.booking-modal-mode.alc-booking-form {
        padding: 0 !important;
        gap: 12px !important;
    }

    /* Los resúmenes de fecha/hora ocupan una segunda línea real y las
       banderas mantienen separación respecto a la cabecera del acordeón. */
    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .alc-booking-accordion-body.alc-booking-language-info {
        padding-top: 10px !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .tour-modal-form-step.is-complete:not(.is-open) > .alc-booking-step-head {
        height: auto !important;
        min-height: 72px !important;
        overflow: visible !important;
        align-content: center !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget.is-mobile-modal-open .tour-modal-form-step.is-complete:not(.is-open) .alc-booking-step-summary:not(:empty) {
        display: block !important;
        width: calc(100% - 36px) !important;
        min-width: 0 !important;
        margin: 0 0 0 36px !important;
        white-space: normal !important;
        overflow: visible !important;
    }
}
}

/* Home booking: only the dialog shell is specific to this page. The booking
   surface mounted in #modal-booking-container is the canonical booking_sidebar
   and intentionally receives no Home-specific visual overrides. */
#tourReservationModal[data-home-booking-modal="1"] {
    position: fixed !important;
    inset: 0 !important;
    z-index: 100000 !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 24px !important;
}

#tourReservationModal[data-home-booking-modal="1"] > .tour-modal-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(20, 16, 24, .58) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

#tourReservationModal[data-home-booking-modal="1"] > .tour-modal-content {
    position: relative !important;
    z-index: 1 !important;
    width: min(500px, calc(100vw - 48px)) !important;
    max-height: calc(100dvh - 48px) !important;
    overflow: auto !important;
    border-radius: 24px !important;
    background: #fff !important;
    box-shadow: 0 28px 90px rgba(20, 16, 24, .30) !important;
}

#tourReservationModal[data-home-booking-modal="1"] > .tour-modal-content > .tour-modal-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 18px !important;
    padding: 24px 28px 18px !important;
    border: 0 !important;
    background: #fff !important;
}

#tourReservationModal[data-home-booking-modal="1"] > .tour-modal-content > .tour-modal-header > h3 {
    margin: 0 !important;
    color: var(--foreground-base-primary, #484132) !important;
    font-family: var(--font-display-family, Signika, Inter, Arial, sans-serif) !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

#tourReservationModal[data-home-booking-modal="1"] > .tour-modal-content > .tour-modal-header > .tour-modal-close {
    flex: 0 0 auto !important;
    width: 34px !important;
    height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border: 1px solid var(--border-base-default, #ded7ca) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: var(--foreground-base-primary, #484132) !important;
    font-size: 22px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

#tourReservationModal[data-home-booking-modal="1"] > .tour-modal-content > .tour-modal-body {
    padding: 0 28px 28px !important;
}

#tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-skin {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
}

#tourReservationModal[data-home-booking-modal="1"] #modal-booking-container {
    width: min(100%, 420px) !important;
}

#tourReservationModal[data-home-booking-modal="1"] .modal-form-missing {
    padding: 18px !important;
}

html.alc-booking-modal-lock,
html.alc-booking-modal-lock body,
body.modal-open {
    overflow: hidden !important;
}

@media (max-width: 768px) {
    #tourReservationModal[data-home-booking-modal="1"] {
        padding: 0 !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] > .tour-modal-content {
        width: 100vw !important;
        max-width: none !important;
        height: 100dvh !important;
        max-height: none !important;
        overflow: visible !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] > .tour-modal-content > .tour-modal-header {
        position: fixed !important;
        inset: 0 0 auto 0 !important;
        z-index: 100080 !important;
        min-height: 0 !important;
        height: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] > .tour-modal-content > .tour-modal-header > h3 {
        display: none !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] > .tour-modal-content > .tour-modal-header > .tour-modal-close {
        position: fixed !important;
        top: 12px !important;
        right: 14px !important;
        z-index: 100085 !important;
        width: 36px !important;
        height: 36px !important;
        padding: 1px 6px !important;
        border: 0 !important;
        background: #f1f2f4 !important;
        color: #17191d !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] > .tour-modal-content > .tour-modal-body {
        width: 100% !important;
        height: 100% !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    #tourReservationModal[data-home-booking-modal="1"] #modal-booking-container {
        width: 100% !important;
    }
}

/* Keep the card action readable in every interactive state. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-details-link:hover,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-details-link:focus-visible,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-details-link:hover > span,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-details-link:focus-visible > span {
    color: var(--foreground-base-brand-mid, #5f3a78) !important;
    -webkit-text-fill-color: var(--foreground-base-brand-mid, #5f3a78) !important;
    background: transparent !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-details-link:hover,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-dynamic-experience-grid .tour-card-details-link:focus-visible {
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

/* Experience mobile: barra fija conectada al contexto de marca del Design System. */
@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] > .alc-exp-mobile-book-bar {
        box-sizing: border-box !important;
        gap: var(--layout-elements-gap-cozy, 12px) !important;
        padding: var(--layout-elements-inset-tight, 12px) var(--layout-elements-inset-loose, 16px) !important;
        padding-bottom: calc(var(--layout-elements-inset-tight, 12px) + env(safe-area-inset-bottom, 0px)) !important;
        background: var(--background-action-primary-default, #b19726) !important;
        color: var(--foreground-base-inverse-strong, #fff) !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] > .alc-exp-mobile-book-bar .alc-exp-mobile-book-bar__price small {
        color: var(--foreground-base-inverse-soft, rgba(255, 255, 255, .75)) !important;
        font-family: var(--font-action-nav-family, var(--font-body-family, Inter, Arial, sans-serif)) !important;
        font-size: var(--font-action-nav-size, 10px) !important;
        line-height: var(--font-action-nav-line-height, 14px) !important;
        opacity: 1 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] > .alc-exp-mobile-book-bar .alc-exp-mobile-book-bar__price strong {
        color: var(--foreground-base-inverse-strong, #fff) !important;
        font-family: var(--font-display-price-family, var(--font-display-family, Inter, Arial, sans-serif)) !important;
        font-size: var(--font-display-price-size, 18px) !important;
        line-height: var(--font-display-price-line-height, 24px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] > .alc-exp-mobile-book-bar .alc-exp-mobile-book-bar__cta {
        min-height: 40px !important;
        padding: var(--layout-elements-inset-tight, 12px) var(--layout-elements-inset-loose, 16px) !important;
        border: 0 !important;
        border-radius: var(--radius-full, 999px) !important;
        background: var(--white-100, #fff) !important;
        color: var(--foreground-action-secondary-default, #5f3a78) !important;
        font-family: var(--font-action-secondary-family, var(--font-body-family, Inter, Arial, sans-serif)) !important;
        font-size: var(--font-action-secondary-size, 12px) !important;
        line-height: var(--font-action-secondary-line-height, 18px) !important;
        font-weight: 800 !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] > .alc-exp-mobile-book-bar .alc-exp-mobile-book-bar__cta:hover,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] > .alc-exp-mobile-book-bar .alc-exp-mobile-book-bar__cta:focus-visible {
        background: var(--background-base-brand-soft, #f8f0fc) !important;
        color: var(--foreground-action-secondary-hover, #362145) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] > .alc-exp-mobile-book-bar .alc-exp-mobile-book-bar__cta:focus-visible {
        outline: 2px solid var(--border-action-primary-focus, #362145) !important;
        outline-offset: 2px !important;
    }
}

/* Los pictogramas usan los SVG existentes como máscara: el color procede del brand activo. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-contact-icon {
    display: block !important;
    width: var(--icon-lg, 24px) !important;
    min-width: var(--icon-lg, 24px) !important;
    height: var(--icon-lg, 24px) !important;
    color: var(--foreground-action-link-default, #5f3a78) !important;
    background-color: currentColor !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-contact-list .ftc-footer-contact-icon,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile__contact .ftc-footer-contact-icon {
    color: var(--foreground-action-link-default, #5f3a78) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-contact-icon--mail {
    -webkit-mask-image: url("/styles/componentes/assets/footer/mail.svg") !important;
    mask-image: url("/styles/componentes/assets/footer/mail.svg") !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-contact-icon--phone {
    -webkit-mask-image: url("/styles/componentes/assets/footer/phone.svg") !important;
    mask-image: url("/styles/componentes/assets/footer/phone.svg") !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-contact-icon--smartphone,
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-contact-icon--whatsapp {
    -webkit-mask-image: url("/styles/componentes/assets/footer/whatsapp.svg") !important;
    mask-image: url("/styles/componentes/assets/footer/whatsapp.svg") !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-contact-icon--clock {
    -webkit-mask-image: url("/styles/componentes/assets/footer/clock.svg") !important;
    mask-image: url("/styles/componentes/assets/footer/clock.svg") !important;
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-footer-mobile__contact .ftc-footer-contact-icon {
        width: 31px !important;
        min-width: 31px !important;
        height: 31px !important;
    }
}

/* Booking compartido (Home + experiencia): puente de tokens legacy al DS actual. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] {
    --alc-exp-brand: var(--foreground-base-brand-mid, #5f3a78);
    --alc-exp-brand-strong: var(--background-base-brand-strong, #362145);
    --alc-exp-ink: var(--foreground-base-primary-mid, #484132);
    --alc-exp-ink-soft: var(--foreground-base-secondary-mid, #665c48);
    --alc-exp-border: var(--border-base-secondary-mid, #ded9d0);
    --alc-exp-border-soft: var(--border-base-secondary-soft, #f0ebe1);
    --alc-booking-brand: var(--background-action-primary-default, #5f3a78);
    --alc-booking-brand-foreground: var(--foreground-action-primary-default, #fff);
    --alc-booking-ink: var(--foreground-base-primary-mid, #484132);
    --alc-booking-muted: var(--foreground-base-tertiary-mid, #84775d);
    --alc-booking-border: var(--border-base-secondary-mid, #ded9d0);
    --alc-booking-soft: var(--background-base-default-soft, #faf8f3);
    --alc-booking-card: var(--white-100, #fff);
    --alc-booking-accent: var(--background-feedback-success-mid, #02b18a);
    --foreground-base-brand: var(--foreground-base-brand-mid, #5f3a78);
    --foreground-base-primary: var(--foreground-base-primary-mid, #484132);
    --foreground-base-tertiary: var(--foreground-base-tertiary-mid, #84775d);
    --foreground-base-inverse: var(--foreground-base-inverse-strong, #fff);
    --border-base-default: var(--border-base-secondary-mid, #ded9d0);
    --background-base-default: var(--white-100, #fff);
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open {
        background: var(--white-100, #fff) !important;
        color: var(--foreground-base-primary-mid, #484132) !important;
        font-family: var(--font-body-family, Inter, Arial, sans-serif) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-accordion,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-step {
        border-color: var(--border-base-secondary-mid, #ded9d0) !important;
        background: var(--white-100, #fff) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-accordion-head,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-step-head {
        background: var(--background-base-default-soft, #faf8f3) !important;
        color: var(--foreground-base-primary-mid, #484132) !important;
        font-family: var(--font-title-notice-family, var(--font-body-family, Inter, Arial, sans-serif)) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-step:not(.is-open) .alc-booking-step-head,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-accordion:not(.is-open) .alc-booking-accordion-head {
        background: var(--white-100, #fff) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-info-icon {
        border-radius: var(--radius-xs, 4px) !important;
        background: var(--background-feedback-info-strong, #1c5685) !important;
        color: var(--foreground-base-inverse-strong, #fff) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-step-number {
        border-radius: var(--radius-xs, 4px) !important;
        background: var(--background-action-primary-default, #5f3a78) !important;
        color: var(--foreground-action-primary-default, #fff) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-step.is-disabled .alc-booking-step-number {
        background: var(--background-action-primary-disabled, #ded9d0) !important;
        color: var(--foreground-action-primary-disabled, #a89275) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-chevron {
        color: var(--foreground-action-secondary-default, #5f3a78) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-step-body,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-accordion-body,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .ui-datepicker {
        background: var(--white-100, #fff) !important;
        color: var(--foreground-base-primary-mid, #484132) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .ui-datepicker-header {
        border-color: var(--border-base-secondary-soft, #f0ebe1) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .ui-datepicker-title {
        color: var(--foreground-base-brand-mid, #5f3a78) !important;
        font-family: var(--font-title-step-family, var(--font-display-family, Signika, Inter, Arial, sans-serif)) !important;
        font-size: var(--font-title-step-size, 16px) !important;
        line-height: var(--font-title-step-line-height, 24px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .ui-datepicker-prev,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .ui-datepicker-next {
        color: var(--foreground-action-secondary-default, #5f3a78) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .ui-datepicker-prev::before,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .ui-datepicker-next::before {
        background: var(--foreground-action-secondary-default, #5f3a78) !important;
        color: var(--foreground-action-secondary-default, #5f3a78) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .ui-datepicker-calendar th {
        color: var(--foreground-base-secondary-mid, #665c48) !important;
        font-family: var(--font-body-caption-family, var(--font-body-family, Inter, Arial, sans-serif)) !important;
        font-size: var(--font-body-caption-size, 12px) !important;
        line-height: var(--font-body-caption-line-height, 16px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .ui-datepicker-calendar td a,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .ui-datepicker-calendar td span {
        color: var(--foreground-base-brand-mid, #5f3a78) !important;
        font-family: var(--font-body-default-family, var(--font-body-family, Inter, Arial, sans-serif)) !important;
        font-size: var(--font-body-default-size, 16px) !important;
        line-height: var(--font-body-default-line-height, 24px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .ui-datepicker-calendar td.ui-state-disabled span,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .ui-datepicker-calendar td.disabled span,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .ui-datepicker-calendar td.disabled a,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .ui-datepicker-calendar td.pasado span,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .ui-datepicker-calendar td.pasado a {
        color: var(--foreground-action-secondary-disabled, #a89275) !important;
        opacity: .28 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .ui-datepicker-calendar td a:hover,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .ui-datepicker-calendar td a:focus-visible {
        background: var(--background-base-brand-soft, #f8f0fc) !important;
        color: var(--foreground-action-secondary-hover, #362145) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .ui-datepicker-calendar td a.ui-state-active,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .ui-datepicker-calendar td.ui-datepicker-current-day a {
        background: var(--background-action-primary-default, #5f3a78) !important;
        color: var(--foreground-action-primary-default, #fff) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .datepicker tbody td:has(a[data-custom])::after {
        background: var(--background-feedback-success-mid, #02b18a) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open #wrapper_hora input[name="hora"]:checked + label,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-language-panel input[name="servicio"]:checked + label {
        border-color: var(--border-action-primary-selected, #5f3a78) !important;
        background: var(--background-action-primary-selected, #362145) !important;
        color: var(--foreground-action-primary-selected, #fff) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-footer {
        border-color: var(--border-base-secondary-mid, #ded9d0) !important;
        background: var(--white-100, #fff) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-footer .precio_total > div:first-child {
        color: var(--foreground-base-secondary-mid, #665c48) !important;
        font-family: var(--font-field-title-family, var(--font-body-family, Inter, Arial, sans-serif)) !important;
        font-size: var(--font-field-title-size, 12px) !important;
        line-height: var(--font-field-title-line-height, 16px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-footer .precio_final {
        color: var(--foreground-base-brand-mid, #5f3a78) !important;
        font-family: var(--font-display-price-family, var(--font-display-family, Signika, Inter, Arial, sans-serif)) !important;
        font-size: var(--font-display-price-size, 24px) !important;
        line-height: var(--font-display-price-line-height, 32px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open .alc-booking-footer #btn_comprar,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open:not(.is-ready) .alc-booking-footer #btn_comprar:disabled {
        min-height: 44px !important;
        border-radius: var(--radius-full, 999px) !important;
        background: var(--background-action-primary-disabled, #ded9d0) !important;
        color: var(--foreground-action-primary-disabled, #a89275) !important;
        font-family: var(--font-action-primary-family, var(--font-body-family, Inter, Arial, sans-serif)) !important;
        font-size: var(--font-action-primary-size, 14px) !important;
        line-height: var(--font-action-primary-line-height, 20px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open.is-ready .alc-booking-footer #btn_comprar {
        background: var(--background-action-primary-default, #5f3a78) !important;
        color: var(--foreground-action-primary-default, #fff) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open.is-ready .alc-booking-footer #btn_comprar:hover,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget.is-mobile-modal-open.is-ready .alc-booking-footer #btn_comprar:focus-visible {
        background: var(--background-action-primary-hover, #362145) !important;
        color: var(--foreground-action-primary-hover, #fff) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-modal-close {
        background: var(--background-base-default-mid, #f0ebe1) !important;
        color: var(--foreground-base-primary-strong, #2a2218) !important;
    }
}

/* Experience header logo: la regla compartida del header estático lo reducía
   a 82x40 px. La experiencia recupera la escala de marca y su proporción real. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] {
    --ftc-experience-header-logo-width: 82px;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .ftc-site-header--static .ftc-site-header__inner {
    grid-template-columns: var(--ftc-experience-header-logo-width) minmax(0, 1fr) auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .ftc-site-header--static .ftc-site-header__logo,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .ftc-site-header--static .ftc-site-header__logo:hover {
    flex: 0 0 var(--ftc-experience-header-logo-width) !important;
    width: var(--ftc-experience-header-logo-width) !important;
    min-width: var(--ftc-experience-header-logo-width) !important;
    max-width: var(--ftc-experience-header-logo-width) !important;
    height: auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .ftc-site-header--static .ftc-site-header__logo img {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: left center !important;
}

@media (min-width: 769px) and (max-width: 1280px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] {
        --ftc-experience-header-logo-width: 82px;
    }
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] {
        --ftc-experience-header-logo-width: 82px;
    }
}

/* Legal header logo: iguala la escala de marca del resto de páginas.
   La regla compartida del header estático usa 82x40 px para layouts compactos,
   pero en las páginas legales dejaba el logotipo desproporcionadamente pequeño. */
.visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="legal"], [data-page-key="content"]) {
    --ftc-legal-header-logo-width: 82px;
}

.visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="legal"], [data-page-key="content"]) .ftc-site-header--static .ftc-site-header__inner {
    grid-template-columns: var(--ftc-legal-header-logo-width) minmax(0, 1fr) auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="legal"], [data-page-key="content"]) .ftc-site-header--static .ftc-site-header__logo,
.visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="legal"], [data-page-key="content"]) .ftc-site-header--static .ftc-site-header__logo:hover {
    flex: 0 0 var(--ftc-legal-header-logo-width) !important;
    width: var(--ftc-legal-header-logo-width) !important;
    min-width: var(--ftc-legal-header-logo-width) !important;
    max-width: var(--ftc-legal-header-logo-width) !important;
    height: auto !important;
}

.visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="legal"], [data-page-key="content"]) .ftc-site-header--static .ftc-site-header__logo img {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: left center !important;
}

@media (min-width: 769px) and (max-width: 1280px) {
    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="legal"], [data-page-key="content"]) {
        --ftc-legal-header-logo-width: 82px;
    }
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="legal"], [data-page-key="content"]) {
        --ftc-legal-header-logo-width: 82px;
    }
}

@media (max-width: 380px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] {
        --ftc-experience-header-logo-width: 82px;
    }
}

/* Home cards: visual contract from the approved design. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card {
    border: var(--stroke-sm) solid var(--border-base-secondary-mid) !important;
    border-radius: var(--radius-xl) !important;
    background: var(--white-100) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-image {
    width: calc(100% - (var(--layout-elements-inset-compact) * 2)) !important;
    height: 200px !important;
    margin: var(--layout-elements-inset-compact) var(--layout-elements-inset-compact) 0 !important;
    border-radius: var(--radius-lg) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-image img {
    border-radius: inherit !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-body {
    gap: var(--layout-elements-gap-loose) !important;
    padding: var(--layout-elements-inset-cozy) var(--layout-elements-inset-loose) var(--layout-elements-inset-spacious) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-title {
    color: var(--foreground-base-primary-mid) !important;
    font-family: var(--font-title-card-family) !important;
    font-size: var(--font-title-card-size) !important;
    line-height: var(--font-title-card-line-height) !important;
    font-weight: 500 !important;
    letter-spacing: var(--font-title-card-letter-spacing) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-details-link {
    display: inline-flex !important;
    align-items: center !important;
    align-self: flex-start !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--foreground-base-brand-mid, #5f3a78) !important;
    box-shadow: none !important;
    font-family: var(--font-action-nav-family) !important;
    font-size: var(--font-action-nav-size) !important;
    line-height: var(--font-action-nav-line-height) !important;
    font-weight: 600 !important;
    letter-spacing: var(--font-action-nav-letter-spacing) !important;
    text-align: left !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-price strong {
    font-family: var(--font-display-price-family) !important;
    font-size: var(--font-display-price-size) !important;
    line-height: var(--font-display-price-line-height) !important;
    font-weight: 600 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-cards-grid {
    gap: var(--space-lg) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .btn-select-tour {
    min-width: 110px !important;
    font-family: var(--font-action-primary-family) !important;
    font-size: var(--font-action-primary-size) !important;
    line-height: var(--font-action-primary-line-height) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
}

/* Home Discover: each mosaic tile opens the shared gallery lightbox. */
.visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-gallery-grid .ftc-gallery-item {
    appearance: none !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: var(--ftc-radius-image, 16px) !important;
    background: transparent !important;
    box-shadow: none !important;
    cursor: zoom-in !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-gallery-grid .ftc-gallery-item.ftc-gallery-main {
    grid-column: 1 / 2 !important;
    grid-row: 1 / 3 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-gallery-grid .ftc-gallery-item img {
    width: 100% !important;
    height: 100% !important;
    border-radius: inherit !important;
    object-fit: cover !important;
    pointer-events: none !important;
    transition: transform .24s ease, filter .24s ease !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-gallery-grid .ftc-gallery-item:hover img {
    transform: scale(1.025) !important;
    filter: brightness(.94) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-gallery-grid .ftc-gallery-item:focus-visible {
    outline: 3px solid var(--border-action-primary-focus, var(--foreground-base-brand-mid, #5f3a78)) !important;
    outline-offset: 3px !important;
}

body.editor-mode .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-gallery-grid .ftc-gallery-item {
    cursor: default !important;
}

@media (max-width: 1199px) {
    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-gallery-grid .ftc-gallery-item.ftc-gallery-main {
        grid-column: 1 / 3 !important;
        grid-row: auto !important;
        height: auto !important;
        aspect-ratio: 16 / 10 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"] .ftc-discover .ftc-gallery-grid .ftc-gallery-item:not(.ftc-gallery-main) {
        height: auto !important;
        aspect-ratio: 4 / 3 !important;
    }
}

/* Home after-booking: keep every icon aligned to the first line of its copy. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-reservation-notes .ftc-note-item {
    align-items: start !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-reservation-notes .ftc-note-icon,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-reservation-notes .ftc-note-item > span:first-child {
    align-self: start !important;
}

/* Home: categorías administrables de las tarjetas (Figma 3867:40122). */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-features {
    display: grid !important;
    align-self: stretch !important;
    justify-items: start !important;
    gap: var(--layout-elements-inset-tight) !important;
    width: 100% !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--foreground-base-secondary-mid, #6d6254) !important;
    font-family: var(--font-body-caption-family) !important;
    font-size: var(--font-body-caption-size) !important;
    line-height: var(--font-body-caption-line-height) !important;
    font-weight: 400 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-features li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: inherit !important;
    line-height: inherit !important;
    text-align: left !important;
    white-space: normal !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-features li::before {
    content: none !important;
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-features {
        grid-auto-flow: column !important;
        grid-auto-columns: minmax(0, 1fr) !important;
        align-items: start !important;
        gap: var(--layout-elements-gap-tight) !important;
    }
}

/*
 * Artículos: las experiencias relacionadas reutilizan el contrato visual
 * interno de las tarjetas de la home. Las rutas legacy se resuelven como
 * `content`, mientras que las nuevas usan `article`, por eso se cubren ambas.
 */
.visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="article"], [data-page-key="content"]) .alc-related-experiences .tour-card {
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 100% !important;
    border: 1px solid var(--border-base-secondary-soft, #f0ebe1) !important;
    border-radius: var(--ftc-radius-card, var(--radius-lg, 16px)) !important;
    background: var(--ftc-color-card, var(--white-100, #fff)) !important;
    box-shadow: var(--ftc-shadow-soft, none) !important;
    color: var(--ftc-color-text, var(--foreground-base-primary-strong)) !important;
    transform: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="article"], [data-page-key="content"]) .alc-related-experiences .tour-card-image {
    position: relative !important;
    height: 178px !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
    border-bottom: 1px solid var(--border-base-secondary-soft, #f0ebe1) !important;
    border-radius: var(--ftc-radius-card, var(--radius-lg, 16px)) var(--ftc-radius-card, var(--radius-lg, 16px)) 0 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="article"], [data-page-key="content"]) .alc-related-experiences .tour-card-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: inherit !important;
    object-fit: cover !important;
    object-position: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="article"], [data-page-key="content"]) .alc-related-experiences .tour-card-body {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    gap: 16px !important;
    padding: 20px 20px 22px !important;
    text-align: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="article"], [data-page-key="content"]) .alc-related-experiences .tour-card-title {
    margin: 0 !important;
    color: var(--ftc-color-text, var(--foreground-base-primary-strong)) !important;
    font-family: var(--font-title-card-family, var(--font-display-family, Signika)), Signika, Inter, Arial, sans-serif !important;
    font-size: var(--font-title-card-size, 20px) !important;
    line-height: var(--font-title-card-line-height, 28px) !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="article"], [data-page-key="content"]) .alc-related-experiences .tour-card-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 4px 12px !important;
    margin: 0 !important;
    color: var(--ftc-color-text-muted, var(--foreground-base-secondary-mid)) !important;
    font-family: var(--font-body-support-family, var(--font-body-family, Inter)), Inter, Arial, sans-serif !important;
    font-size: var(--font-body-support-size, 14px) !important;
    line-height: var(--font-body-support-line-height, 20px) !important;
    font-weight: 400 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="article"], [data-page-key="content"]) .alc-related-experiences .tour-card-features {
    display: grid !important;
    align-self: stretch !important;
    justify-items: start !important;
    gap: 4px !important;
    width: 100% !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--foreground-base-secondary-mid, #6d6254) !important;
    font-family: var(--font-body-support-family, var(--font-body-family, Inter)), Inter, Arial, sans-serif !important;
    font-size: 11px !important;
    line-height: 16px !important;
    font-weight: 400 !important;
    text-align: left !important;
}

.visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="article"], [data-page-key="content"]) .alc-related-experiences .tour-card-features li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: inherit !important;
    line-height: inherit !important;
    text-align: left !important;
    white-space: nowrap !important;
}

.visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="article"], [data-page-key="content"]) .alc-related-experiences .tour-card-features li::before {
    content: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="article"], [data-page-key="content"]) .alc-related-experiences .tour-card-details-link {
    display: inline-flex !important;
    align-items: center !important;
    align-self: flex-start !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--foreground-base-brand-mid, var(--ftc-color-brand)) !important;
    box-shadow: none !important;
    font-family: var(--font-action-compact-family, var(--font-body-family, Inter)), Inter, Arial, sans-serif !important;
    font-size: 11px !important;
    line-height: 16px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-align: left !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="article"], [data-page-key="content"]) .alc-related-experiences .tour-card-footer {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin-top: auto !important;
    padding-top: 24px !important;
    border-top: 1px solid var(--border-base-secondary-soft, #f0ebe1) !important;
    text-align: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="article"], [data-page-key="content"]) .alc-related-experiences .tour-card-price small {
    display: block !important;
    color: var(--ftc-color-text-muted, var(--foreground-base-secondary-mid)) !important;
    font-family: var(--font-field-title-family, var(--font-body-family, Inter)), Inter, Arial, sans-serif !important;
    font-size: var(--font-field-title-size, 11px) !important;
    line-height: var(--font-field-title-line-height, 16px) !important;
    font-weight: 700 !important;
    letter-spacing: .28em !important;
    text-transform: uppercase !important;
}

.visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="article"], [data-page-key="content"]) .alc-related-experiences .tour-card-price strong {
    display: block !important;
    color: var(--ftc-color-brand, var(--foreground-base-brand-mid)) !important;
    font-family: var(--font-title-card-family, var(--font-display-family, Signika)), Signika, Inter, Arial, sans-serif !important;
    font-size: var(--font-title-card-size, 20px) !important;
    line-height: var(--font-title-card-line-height, 28px) !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

.visual-layout-page[data-design-system="ftc-foundations"]:is([data-page-key="article"], [data-page-key="content"]) .alc-related-experiences .tour-card-footer .btn-select-tour {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 108px !important;
    min-height: 40px !important;
    padding: 9px 18px !important;
    border: 1px solid var(--border-action-primary-default, transparent) !important;
    border-radius: var(--ftc-radius-pill, var(--radius-full, 999px)) !important;
    background: var(--background-action-primary-default) !important;
    color: var(--foreground-action-primary-default) !important;
    font-family: var(--font-action-primary-family, var(--font-body-family, Inter)), Inter, Arial, sans-serif !important;
    font-size: var(--font-action-secondary-size, 14px) !important;
    line-height: var(--font-action-secondary-line-height, 20px) !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    box-shadow: none !important;
}

/* Fase 44.1 - Icon button de FAQ fiel al componente de Figma.
   Una capa antigua sustituía el chevron por los glifos tipográficos ⌄/⌃;
   su caja varía según la fuente y nunca queda centrada de forma estable.
   Todas las variantes comparten ahora el vector exportado y la misma geometría. */
.visual-layout-page[data-design-system="ftc-foundations"][data-design-system] :is(
    .faq-accordion,
    .ftc-faq-list,
    .alc-faq-page-list,
    .alc-exp-faq-list,
    .preset-faq-list
) summary {
    position: relative !important;
    padding-right: 52px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-design-system] :is(
    .faq-accordion,
    .ftc-faq-list,
    .alc-faq-page-list,
    .alc-exp-faq-list,
    .preset-faq-list
) summary::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    right: 0 !important;
    bottom: auto !important;
    left: auto !important;
    display: block !important;
    flex: 0 0 36px !important;
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border: var(--stroke-sm, 1px) solid var(--border-base-secondary-mid) !important;
    border-radius: var(--radius-full, 999px) !important;
    background-color: var(--white-100, #fff) !important;
    background-image: url('/styles/componentes/assets/icons/faq-chevron-down.svg') !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: 5.5px 9.5px !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: 0 !important;
    transform: translateY(-50%) rotate(90deg) !important;
    transform-origin: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-design-system] :is(
    .faq-accordion,
    .ftc-faq-list,
    .alc-faq-page-list,
    .alc-exp-faq-list,
    .preset-faq-list
) details[open] > summary::after {
    content: "" !important;
    background-image: url('/styles/componentes/assets/icons/faq-chevron-up.svg') !important;
    transform: translateY(-50%) rotate(-90deg) !important;
}

/* iOS amplía automáticamente la página al enfocar controles editables con
   texto menor de 16px. Se mantiene el zoom accesible del navegador y se evita
   ese salto asegurando el umbral nativo solo en campos de las landings. */
@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key] input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="hidden"]):not([type="image"]),
    .visual-layout-page[data-page-key] select:not([disabled]),
    .visual-layout-page[data-page-key] textarea:not([readonly]) {
        font-size: 16px !important;
    }
}

/* Desktop Home — capa ganadora y acotada de tipografía (Figma 4608:67942). */
@media (min-width: 1200px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] {
        --home-title-feature-tracking: 1.2px;
        --home-title-utility-tracking: .96px;
        --home-action-primary-tracking: .7px;
        --home-action-nav-tracking: .6px;
        --home-badge-tracking: .55px;
        --home-price-label-tracking: 1.6px;
    }

    /* Cards Figma 4608:67959: 458.67px en el grid de 1440px, altura base
       577px, imagen de 200px con inset de 8px y contenido alineado al inicio. */
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card {
        align-items: flex-start !important;
        width: 100% !important;
        max-width: 550px !important;
        min-height: 577px !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-image {
        width: calc(100% - (var(--layout-elements-inset-compact) * 2)) !important;
        height: 200px !important;
        margin: var(--layout-elements-inset-compact) !important;
        border-radius: var(--radius-lg) var(--radius-lg) 0 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-body {
        align-items: flex-start !important;
        width: 100% !important;
        gap: var(--layout-elements-gap-loose) !important;
        padding: var(--layout-elements-inset-cozy) var(--layout-elements-inset-loose) var(--layout-elements-inset-spacious) !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid :is(
        .tour-card-title,
        .tour-card-meta,
        .tour-card-features,
        .tour-card-price
    ) {
        width: 100% !important;
        text-align: left !important;
    }

    /* El componente aprobado muestra únicamente el nombre del producto; la
       segunda línea del tipo permanece en los datos de la card, no en el H3. */
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-title :is(br, span) {
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-meta {
        justify-content: flex-start !important;
        gap: var(--layout-elements-gap-tight) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-details-link {
        align-self: flex-start !important;
        gap: var(--layout-elements-gap-tight) !important;
        margin: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-features {
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-footer {
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        min-height: 79px !important;
        padding-top: var(--layout-elements-inset-spacious) !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-price {
        align-items: flex-start !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .btn-select-tour {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        height: 44px !important;
        min-height: 44px !important;
        padding: var(--layout-elements-inset-tight) var(--layout-elements-inset-cozy) !important;
        border-radius: var(--radius-full) !important;
        white-space: nowrap !important;
        text-align: center !important;
        vertical-align: middle !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-price strong {
        color: var(--foreground-base-brand-mid) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] :is(
        .ftc-notes-title,
        .ftc-explore .ftc-article-title,
        .ftc-how-step h3
    ) {
        color: var(--foreground-base-primary-mid) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-text-block strong {
        color: var(--foreground-base-primary-soft) !important;
    }

    body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static .ftc-site-header__topbar :is(p, a) {
        font-size: var(--font-action-nav-size) !important;
        line-height: var(--font-action-nav-line-height) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-price strong {
        font-family: var(--font-display-price-family) !important;
        font-size: var(--font-2xl) !important;
        line-height: var(--font-4xl) !important;
        font-weight: 600 !important;
        letter-spacing: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .btn-select-tour {
        font-family: var(--font-action-primary-family) !important;
        font-size: var(--font-sm) !important;
        line-height: var(--font-xl) !important;
        font-weight: 600 !important;
        letter-spacing: var(--home-action-primary-tracking) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .location-access-copy.ftc-location-copy .ftc-location-text-block strong {
        font-family: var(--font-action-nav-family) !important;
        font-size: var(--font-action-nav-size) !important;
        line-height: var(--font-action-nav-line-height) !important;
        font-weight: 600 !important;
        letter-spacing: var(--home-action-nav-tracking) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .location-access-copy.ftc-location-copy .ftc-location-text-block p,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .location-access-copy.ftc-location-copy .ftc-location-arrival-notice {
        font-family: var(--font-body-default-family) !important;
        font-size: var(--font-body-default-size) !important;
        line-height: var(--font-body-default-line-height) !important;
        font-weight: 400 !important;
        letter-spacing: var(--font-body-default-letter-spacing) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header__topbar :is(p, a),
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header__nav a,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header__actions a,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header__select .select-selected {
        font-family: var(--font-action-nav-family) !important;
        font-size: var(--font-action-nav-size) !important;
        line-height: var(--font-action-nav-line-height) !important;
        font-weight: 600 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header__topbar p {
        letter-spacing: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] :is(
        .ftc-site-header__topbar a,
        .ftc-site-header__nav a,
        .ftc-site-header__actions a,
        .ftc-site-header__select .select-selected
    ) {
        letter-spacing: var(--home-action-nav-tracking) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header__select .select-selected {
        gap: var(--layout-elements-gap-tight) !important;
        min-height: var(--icon-sm, 16px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header__select .select-selected::after,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header__nav-caret {
        content: "" !important;
        display: block !important;
        flex: 0 0 var(--icon-sm, 16px) !important;
        width: var(--icon-sm, 16px) !important;
        height: var(--icon-sm, 16px) !important;
        margin: 0 !important;
        border: 0 !important;
        background: currentColor !important;
        -webkit-mask: url('/styles/componentes/assets/icons/header-chevron-down.svg') center / 5.5px 9.5px no-repeat !important;
        mask: url('/styles/componentes/assets/icons/header-chevron-down.svg') center / 5.5px 9.5px no-repeat !important;
        color: inherit !important;
        font-size: 0 !important;
        line-height: 0 !important;
        transform: rotate(-90deg) scaleX(-1) !important;
        transform-origin: center !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] :is(
        .ftc-experiences,
        .ftc-discover,
        .ftc-explore,
        .ftc-location,
        .ftc-how,
        .ftc-faq
    ) h2 {
        color: var(--foreground-base-primary-soft) !important;
        font-family: var(--font-display-section-family) !important;
        font-size: var(--font-display-section-size) !important;
        line-height: var(--font-display-section-line-height) !important;
        font-weight: 400 !important;
        letter-spacing: var(--font-display-section-letter-spacing) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] :is(.ftc-plan, .ftc-benefits) h2 {
        font-family: var(--font-display-section-family) !important;
        font-size: var(--font-display-section-size) !important;
        line-height: var(--font-display-section-line-height) !important;
        font-weight: 400 !important;
        letter-spacing: var(--font-display-section-letter-spacing) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] :is(
        .tour-card-title,
        .ftc-explore .ftc-article-title,
        .ftc-plan-card h3,
        .ftc-location-card-title,
        .ftc-benefit-item h3
    ) {
        font-family: var(--font-title-card-family) !important;
        font-size: var(--font-title-card-size) !important;
        line-height: var(--font-title-card-line-height) !important;
        font-weight: 500 !important;
        letter-spacing: var(--home-title-feature-tracking) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] :is(
        .tour-card-meta,
        .ftc-note-item p,
        .ftc-explore .ftc-article-card p,
        .ftc-plan-card p,
        .ftc-plan-card small,
        .ftc-location-card-address
    ) {
        font-family: var(--font-body-support-family) !important;
        font-size: var(--font-body-support-size) !important;
        line-height: var(--font-body-support-line-height) !important;
        font-weight: 400 !important;
        letter-spacing: var(--font-body-support-letter-spacing) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] :is(
        .ftc-plan-intro p,
        .ftc-location-copy > p,
        .ftc-how-intro p,
        .ftc-how-step p,
        .ftc-faq-list details p
    ) {
        font-family: var(--font-body-default-family) !important;
        font-size: var(--font-body-default-size) !important;
        line-height: var(--font-body-default-line-height) !important;
        font-weight: 400 !important;
        letter-spacing: var(--font-body-default-letter-spacing) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] :is(
        .tour-card-details-link,
        .ftc-explore .ftc-article-link,
        .ftc-location-copy > strong,
        .ftc-location-card-link
    ) {
        font-family: var(--font-action-nav-family) !important;
        font-size: var(--font-action-nav-size) !important;
        line-height: var(--font-action-nav-line-height) !important;
        font-weight: 600 !important;
        letter-spacing: var(--home-action-nav-tracking) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how-step h3 {
        font-family: var(--font-display-family) !important;
        font-size: var(--font-2xl) !important;
        line-height: var(--font-4xl) !important;
        font-weight: 500 !important;
        letter-spacing: var(--home-title-feature-tracking) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-notes-title {
        font-family: var(--font-title-notice-family) !important;
        font-size: var(--font-title-notice-size) !important;
        line-height: var(--font-title-notice-line-height) !important;
        font-weight: 700 !important;
        letter-spacing: 1.3px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .tour-card-badge {
        font-family: var(--font-body-caption-family) !important;
        font-size: var(--font-2xs) !important;
        line-height: var(--font-body-caption-line-height) !important;
        font-weight: 600 !important;
        letter-spacing: var(--home-badge-tracking) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .tour-card-price small {
        font-family: var(--font-body-caption-family) !important;
        font-size: var(--font-2xs) !important;
        line-height: var(--font-body-caption-line-height) !important;
        font-weight: 600 !important;
        letter-spacing: var(--home-price-label-tracking) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .tour-card-price strong {
        font-family: var(--font-display-price-family) !important;
        font-size: var(--font-2xl) !important;
        line-height: var(--font-4xl) !important;
        font-weight: 600 !important;
        letter-spacing: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .btn-select-tour {
        font-family: var(--font-action-primary-family) !important;
        font-size: var(--font-sm) !important;
        line-height: var(--font-xl) !important;
        font-weight: 600 !important;
        letter-spacing: var(--home-action-primary-tracking) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-footer-col h3 {
        font-family: var(--font-body-caption-family) !important;
        font-size: var(--font-body-caption-size) !important;
        line-height: var(--font-lg) !important;
        font-weight: 700 !important;
        letter-spacing: var(--home-title-utility-tracking) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] :is(.ftc-footer-col a, .ftc-footer-contact-list span) {
        font-family: var(--font-action-secondary-family) !important;
        font-size: var(--font-action-secondary-size) !important;
        line-height: var(--font-action-secondary-line-height) !important;
        font-weight: 600 !important;
        letter-spacing: var(--font-action-secondary-letter-spacing) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] :is(.ftc-footer-disclaimer, .ftc-footer-bottom) p {
        font-family: var(--font-body-caption-family) !important;
        font-size: var(--font-body-caption-size) !important;
        line-height: var(--font-body-caption-line-height) !important;
        font-weight: 400 !important;
        letter-spacing: var(--font-body-caption-letter-spacing) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-footer-legal-links a {
        font-family: var(--font-action-nav-family) !important;
        font-size: var(--font-action-nav-size) !important;
        line-height: var(--font-action-nav-line-height) !important;
        font-weight: 600 !important;
        letter-spacing: var(--home-action-nav-tracking) !important;
    }
}

/* Exact Figma check/x glyphs for Experience includes (4610:69546). */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-includes-grid li::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 4px !important;
    width: var(--icon-xs, 12px) !important;
    height: var(--icon-xs, 12px) !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: url("assets/includes/check.svg?v=figma-4610-69546") center / 9.9992px 7.91383px no-repeat !important;
    transform: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-includes-grid > div:nth-child(2) li::before {
    background: url("assets/includes/cross.svg?v=figma-4610-69546") center / 9.34694px 9.34694px no-repeat !important;
}

/* Final Experience winners. These declarations replace legacy, more-specific
   desktop rules without changing content or reserving data that the API lacks. */
@media (min-width: 1200px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .ftc-site-header__select .select-selected::after,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .ftc-site-header__nav-caret {
        -webkit-mask-size: 5.5px 9.5px !important;
        mask-size: 5.5px 9.5px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-tabs a {
        font-family: var(--font-action-nav-family) !important;
        font-size: var(--font-action-nav-size) !important;
        line-height: var(--font-action-nav-line-height) !important;
        font-weight: 600 !important;
        letter-spacing: var(--font-action-nav-letter-spacing) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-location-card h3 {
        gap: var(--layout-elements-gap-tight) !important;
        font-family: var(--font-title-card-family) !important;
        font-size: var(--font-title-card-size) !important;
        line-height: var(--font-title-card-line-height) !important;
        font-weight: 500 !important;
        letter-spacing: var(--font-title-card-letter-spacing) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-location-card h3 img {
        width: var(--icon-md, 20px) !important;
        height: var(--icon-md, 20px) !important;
        flex: 0 0 var(--icon-md, 20px) !important;
        object-fit: contain !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-faq-list summary {
        font-family: var(--font-body-default-family) !important;
        font-size: var(--font-body-default-size) !important;
        line-height: var(--font-body-default-line-height) !important;
        font-weight: 700 !important;
        letter-spacing: var(--font-body-default-letter-spacing) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-faq-list details[open] > :not(summary),
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-faq-list details[open] > :not(summary) p {
        font-family: var(--font-body-default-family) !important;
        font-size: var(--font-body-default-size) !important;
        line-height: var(--font-body-default-line-height) !important;
        font-weight: 400 !important;
        letter-spacing: var(--font-body-default-letter-spacing) !important;
    }
}

/* Final mobile Home winners: keep parity with the validated FAQ cards after
   the shared Home card layer and its legacy horizontal-feature rule. */
@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-cards-grid {
        max-width: 350px !important;
        margin-inline: auto !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-image {
        flex-basis: 176px !important;
        width: calc(100% - (var(--space-2xs) * 2)) !important;
        height: 176px !important;
        min-height: 176px !important;
        margin: var(--space-2xs) var(--space-2xs) 0 !important;
        border-radius: var(--radius-lg) var(--radius-lg) 0 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-body {
        align-items: flex-start !important;
        gap: var(--space-md) !important;
        padding: var(--space-sm) var(--space-md) var(--space-lg) !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-title {
        margin: 0 0 calc(var(--space-2xs) * -1) !important;
        letter-spacing: 1px !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-meta {
        justify-content: flex-start !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-features {
        grid-auto-flow: row !important;
        grid-auto-columns: auto !important;
        grid-template-columns: minmax(0, 1fr) !important;
        align-items: start !important;
        justify-items: start !important;
        gap: var(--space-xs) !important;
        margin: 0 !important;
        text-align: left !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-details-link {
        gap: var(--space-2xs) !important;
        min-height: var(--icon-sm) !important;
        margin: 0 !important;
        font-family: var(--font-action-nav-family) !important;
        font-size: var(--font-action-nav-size) !important;
        line-height: var(--font-action-nav-line-height) !important;
        font-weight: 600 !important;
        letter-spacing: .6px !important;
    }
}

/* Home QA final winners.
   These selectors sit after the historical preset layers so the approved
   Home geometry and interaction states cannot be replaced by legacy rules. */
@media (min-width: 769px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-reservation-notes .ftc-note-item {
        align-items: center !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-reservation-notes :is(.ftc-note-icon, .ftc-note-item > span:first-child) {
        align-self: center !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-faq .ftc-more > a {
        width: 247px !important;
        min-width: 247px !important;
    }
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-faq .ftc-more > a {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 11px 16px !important;
    border: 1px solid #665c48 !important;
    border-radius: var(--radius-2xl, 32px) !important;
    background: transparent !important;
    color: #665c48 !important;
    font-family: var(--font-action-primary-family, var(--font-body-family, "Inter")), Inter, Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 20px !important;
    font-weight: 600 !important;
    letter-spacing: .7px !important;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-faq .ftc-more > a:hover {
    border-color: #484132 !important;
    background: #484132 !important;
    color: #fff !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-faq .ftc-more > a:active {
    border-color: #2a2218 !important;
    background: #2a2218 !important;
    color: rgba(255, 255, 255, .75) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-faq .ftc-more > a:focus-visible {
    border-color: var(--border-action-secondary-focus, #d5b96f) !important;
    outline: 3px solid var(--border-action-secondary-focus, #d5b96f) !important;
    outline-offset: 3px !important;
    background: var(--background-action-ghost-focus, #f5eedb) !important;
    color: var(--foreground-action-secondary-focus, #c7a23f) !important;
}

@media (min-width: 1200px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .location-access-grid.ftc-location-grid {
        grid-template-columns: 440px 1610px !important;
        gap: 72px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .location-access-copy.ftc-location-copy {
        box-sizing: border-box !important;
        width: 440px !important;
        max-width: none !important;
        min-width: 440px !important;
        max-width: 440px !important;
        margin: 0 !important;
        padding: 128px 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .location-access-copy.ftc-location-copy .ftc-location-card {
        width: 100% !important;
        max-width: none !important;
    }
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-faq .ftc-more > a {
        width: 100% !important;
        min-width: 0 !important;
    }
}

@media (min-width: 1200px) {
    /* Exact desktop rhythm from Figma 4783:67531. */
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-experiences .ftc-section-title {
        box-sizing: border-box !important;
        height: 72px !important;
        min-height: 72px !important;
        padding-bottom: 24px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card {
        height: 577px !important;
        min-height: 577px !important;
        max-height: 577px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-title::after {
        height: 0 !important;
        border-top: var(--stroke-sm, 1px) solid var(--border-base-secondary-mid, #ded9d0) !important;
        background: transparent !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-meta {
        margin-top: -8px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-discover {
        box-sizing: border-box !important;
        height: 1024px !important;
        min-height: 1024px !important;
        padding: 128px 72px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-discover > .ve-section-inner {
        width: min(var(--layout-container-content, 1440px), 100%) !important;
        max-width: var(--layout-container-content, 1440px) !important;
        height: 768px !important;
        min-height: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-discover .ftc-section-head {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        height: 144px !important;
        margin: 0 0 48px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-discover .ftc-section-head > p {
        width: 720px !important;
        max-width: 720px !important;
        margin-inline: auto !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-discover :is(.ftc-gallery-mosaic, .ftc-gallery-grid) {
        width: 1440px !important;
        height: 576px !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-discover .ftc-gallery-grid {
        grid-template-columns: 712px repeat(2, 348px) !important;
        grid-template-rows: repeat(2, 280px) !important;
        gap: 16px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-plan {
        box-sizing: border-box !important;
        height: 804px !important;
        min-height: 804px !important;
        padding: 128px 72px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-plan > .ve-section-inner {
        width: min(var(--layout-container-content, 1440px), 100%) !important;
        max-width: var(--layout-container-content, 1440px) !important;
        height: 548px !important;
        min-height: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-plan .ftc-plan-intro {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        height: 280px !important;
        margin: 0 0 48px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-plan .ftc-plan-intro > p {
        width: 720px !important;
        max-width: 720px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-plan .ftc-plan-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 48px !important;
        width: 100% !important;
        max-width: 1440px !important;
        height: 220px !important;
        margin: 0 !important;
        padding: 48px 0 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-benefits {
        box-sizing: border-box !important;
        height: 968px !important;
        min-height: 968px !important;
        padding: 128px 72px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-benefits > .ve-section-inner {
        width: min(var(--layout-container-content, 1440px), 100%) !important;
        max-width: var(--layout-container-content, 1440px) !important;
        height: 712px !important;
        min-height: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-benefits .ftc-benefits-head {
        box-sizing: border-box !important;
        width: 720px !important;
        max-width: 720px !important;
        height: 216px !important;
        margin: 0 0 48px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-benefits .ftc-benefits-grid {
        grid-template-columns: repeat(3, 448px) !important;
        grid-template-rows: repeat(2, 200px) !important;
        gap: 48px !important;
        width: 1440px !important;
        height: 448px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-benefits .ftc-benefits-grid > *,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-benefits .ftc-benefit-item {
        box-sizing: border-box !important;
        height: 200px !important;
        min-height: 200px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-faq {
        box-sizing: border-box !important;
        height: auto !important;
        min-height: 856px !important;
        padding: 128px 72px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-faq > .ve-section-inner {
        width: min(var(--layout-container-content, 1440px), 100%) !important;
        max-width: var(--layout-container-content, 1440px) !important;
        height: auto !important;
        min-height: 600px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-faq .ftc-section-title {
        box-sizing: border-box !important;
        height: 72px !important;
        min-height: 72px !important;
        margin: 0 0 48px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-faq .ftc-faq-list {
        position: static !important;
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
        min-height: 480px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-faq .ftc-more {
        position: static !important;
        margin: auto 0 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-footer .ftc-footer-col h3 {
        margin-bottom: 12px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-footer .ftc-footer-contact-list {
        gap: 8px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-footer .ftc-footer-contact-list li {
        column-gap: 8px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-footer .ftc-footer-disclaimer,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-footer .ftc-payment-row {
        padding: 32px 0 88px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-footer .ftc-footer-bottom {
        padding: 32px 0 !important;
    }
}

/* Icon-button geometry is shared across breakpoints. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-explore .ftc-carousel-arrow {
    box-sizing: border-box !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 8px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-title :is(br, span) {
    display: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-footer .ftc-footer-top-link {
    box-sizing: border-box !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 9px !important;
}

/* Location/access — exact structure and assets from Figma 4783:67603. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-map-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: left top !important;
}

/* Mapa interactivo de la home: mismo tratamiento B/N que los mapas de tours/experiencias. */
.visual-layout-page .ftc-location-shell .ftc-location-map-iframe {
    filter: grayscale(1) saturate(.35) contrast(.88) brightness(1.08) !important;
}

.visual-layout-page .ftc-location-shell .location-access-map::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    background: rgba(255, 255, 255, .18) !important;
    z-index: 1 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-card-title::before {
    display: none !important;
    content: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-card-icon {
    display: block !important;
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 20px !important;
    margin: 4px 0 0 !important;
    background: url('/styles/componentes/assets/icons/location-pin-approved.svg') center / 14.8333px 18.1665px no-repeat !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-card-content,
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-card-main {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-card-content {
    flex: 1 1 0 !important;
    gap: 16px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-card-main {
    gap: 8px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-card-divider {
    display: block !important;
    flex: 0 0 1px !important;
    width: 40px !important;
    height: 1px !important;
    margin: 0 !important;
    border-radius: 1px !important;
    background: var(--background-base-default-strong, #ded9d0) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-card-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: auto !important;
    min-height: 16px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-card-link::after {
    content: "" !important;
    display: block !important;
    flex: 0 0 16px !important;
    width: 16px !important;
    height: 16px !important;
    background: url('/styles/componentes/assets/icons/location-link-arrow-approved.svg') center / 16px 16px no-repeat !important;
}

@media (min-width: 1200px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell {
        box-sizing: border-box !important;
        height: 709px !important;
        min-height: 709px !important;
        padding: 0 72px !important;
        overflow: hidden !important;
        background: var(--background-base-default-soft, #fff) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .location-access-grid.ftc-location-grid {
        display: grid !important;
        grid-template-columns: 440px 1610px !important;
        align-items: stretch !important;
        gap: 72px !important;
        width: min(var(--layout-container-content, 1440px), 100%) !important;
        max-width: var(--layout-container-content, 1440px) !important;
        height: 709px !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .location-access-copy.ftc-location-copy {
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 48px !important;
        width: 440px !important;
        min-width: 440px !important;
        max-width: 440px !important;
        height: 709px !important;
        margin: 0 !important;
        padding: 128px 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-title {
        box-sizing: border-box !important;
        position: relative !important;
        flex: 0 0 72px !important;
        width: 440px !important;
        height: 72px !important;
        min-height: 72px !important;
        margin: 0 !important;
        padding: 0 !important;
        color: var(--foreground-base-primary-soft, #665c48) !important;
        font-family: var(--font-display-section-family, Signika), Signika, Inter, Arial, sans-serif !important;
        font-size: var(--font-display-section-size, 40px) !important;
        line-height: var(--font-display-section-line-height, 48px) !important;
        font-weight: 400 !important;
        letter-spacing: var(--font-display-section-letter-spacing, 0) !important;
        white-space: nowrap !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-title::after {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 48px !important;
        height: 1px !important;
        margin: 0 !important;
        background: var(--background-base-default-strong, #ded9d0) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-content {
        display: flex !important;
        flex: 0 0 333px !important;
        flex-direction: column !important;
        gap: 32px !important;
        width: 440px !important;
        height: 333px !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-top {
        display: flex !important;
        flex: 0 0 172px !important;
        flex-direction: column !important;
        gap: 16px !important;
        width: 440px !important;
        height: 172px !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-text-block {
        width: 440px !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-guided {
        flex: 0 0 64px !important;
        height: 64px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-unguided {
        flex: 0 0 44px !important;
        height: 44px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-text-block strong {
        display: block !important;
        margin: 0 0 8px !important;
        color: var(--foreground-base-primary-mid, #484132) !important;
        font-family: var(--font-body-caption-family, var(--font-body-family, "Inter")), Inter, Arial, sans-serif !important;
        font-size: var(--font-body-caption-size, 12px) !important;
        line-height: var(--font-body-caption-line-height, 16px) !important;
        font-weight: 700 !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-text-block p {
        width: 372px !important;
        max-width: 372px !important;
        margin: 0 !important;
        color: var(--foreground-base-secondary-mid, #665c48) !important;
        font-family: var(--font-body-support-family, var(--font-body-family, "Inter")), Inter, Arial, sans-serif !important;
        font-size: var(--font-body-support-size, 14px) !important;
        line-height: var(--font-body-support-line-height, 20px) !important;
        font-weight: 400 !important;
        letter-spacing: var(--font-body-support-letter-spacing, 0) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-support {
        box-sizing: border-box !important;
        flex: 0 0 32px !important;
        width: 440px !important;
        height: 32px !important;
        padding: 15px 0 0 !important;
        border-top: 1px solid var(--border-base-primary-soft, #ded9d0) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-arrival-notice {
        width: 440px !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        color: var(--foreground-base-tertiary-mid, #84775d) !important;
        font-family: var(--font-body-caption-family, var(--font-body-family, "Inter")), Inter, Arial, sans-serif !important;
        font-size: var(--font-body-caption-size, 12px) !important;
        line-height: var(--font-body-caption-line-height, 16px) !important;
        font-weight: 400 !important;
        letter-spacing: var(--font-body-caption-letter-spacing, 0) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-card {
        box-sizing: border-box !important;
        display: flex !important;
        flex: 0 0 129px !important;
        align-items: flex-start !important;
        gap: 12px !important;
        width: 440px !important;
        max-width: none !important;
        height: 129px !important;
        margin: 0 !important;
        padding: 16px !important;
        border: 0 !important;
        border-left: 4px solid var(--border-base-secondary-mid, #ded9d0) !important;
        border-radius: 4px 12px 12px 4px !important;
        background: var(--background-base-default-mid, #f0ebe1) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-card-title {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        color: var(--foreground-base-primary-soft, #665c48) !important;
        font-family: var(--font-title-feature-family, var(--font-display-family, Signika)), Signika, Inter, Arial, sans-serif !important;
        font-size: var(--font-title-feature-size, 20px) !important;
        line-height: var(--font-title-feature-line-height, 28px) !important;
        font-weight: 500 !important;
        letter-spacing: var(--font-title-feature-letter-spacing, 1.2px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-card-address {
        width: 310px !important;
        height: 20px !important;
        min-height: 20px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        color: var(--foreground-base-primary-soft, #665c48) !important;
        font-family: var(--font-body-support-family, var(--font-body-family, "Inter")), Inter, Arial, sans-serif !important;
        font-size: var(--font-body-support-size, 14px) !important;
        line-height: var(--font-body-support-line-height, 20px) !important;
        font-weight: 400 !important;
        letter-spacing: var(--font-body-support-letter-spacing, 0) !important;
        white-space: nowrap !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-card-link {
        margin: 0 !important;
        padding: 0 !important;
        color: var(--foreground-action-link-default, #b98b0f) !important;
        font-family: var(--font-action-nav-family, var(--font-body-family, "Inter")), Inter, Arial, sans-serif !important;
        font-size: var(--font-action-nav-size, 12px) !important;
        line-height: var(--font-action-nav-line-height, 16px) !important;
        font-weight: 600 !important;
        letter-spacing: var(--font-action-nav-letter-spacing, .6px) !important;
        text-transform: uppercase !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .location-access-map {
        box-sizing: border-box !important;
        width: 1610px !important;
        min-width: 1610px !important;
        max-width: none !important;
        height: 709px !important;
        min-height: 709px !important;
        margin: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #f3f3f1 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-map-image {
        width: 1168px !important;
        min-width: 1168px !important;
        height: 709px !important;
        min-height: 709px !important;
        object-fit: fill !important;
    }
}

@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-map-image {
        width: 100% !important;
        min-width: 100% !important;
        height: 420px !important;
        min-height: 420px !important;
        object-fit: cover !important;
        object-position: 46% center !important;
    }
}

@media (min-width: 1200px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .location-access-copy.ftc-location-copy > h2.ftc-location-title {
        width: 440px !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-content > .ftc-location-top > .ftc-location-support > p.ftc-location-arrival-notice {
        width: 440px !important;
        max-width: none !important;
        height: 16px !important;
        min-height: 16px !important;
        margin: 0 !important;
        padding: 0 !important;
        color: var(--foreground-base-tertiary-mid, #84775d) !important;
        font-family: var(--font-body-caption-family, var(--font-body-family, "Inter")), Inter, Arial, sans-serif !important;
        font-size: var(--font-body-caption-size, 12px) !important;
        line-height: var(--font-body-caption-line-height, 16px) !important;
        font-weight: 400 !important;
        letter-spacing: var(--font-body-caption-letter-spacing, 0) !important;
        white-space: nowrap !important;
    }
}

/* Experience QA final winners — Figma 4783:67684.
   Visual-only corrections; reservation flow and API-backed content stay intact. */
@media (min-width: 1200px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-gallery__tile b {
        flex-direction: row !important;
        gap: 4px !important;
        white-space: nowrap !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-gallery__tile b span {
        display: inline !important;
        white-space: nowrap !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-accordion--languages,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-accordion--languages .alc-booking-accordion-head {
        border-radius: var(--radius-xs, 4px) !important;
        background: var(--background-feedback-info-soft, #eef4f8) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-footer #btn_comprar {
        height: 44px !important;
        min-height: 44px !important;
        padding: 12px 16px !important;
        font-family: var(--font-action-primary-family, var(--font-body-family, Inter, Arial, sans-serif)) !important;
        font-size: var(--font-action-primary-size, 14px) !important;
        line-height: var(--font-action-primary-line-height, 20px) !important;
        font-weight: 600 !important;
        letter-spacing: var(--font-action-primary-letter-spacing, .7px) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-footer #btn_comprar:disabled,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-booking-widget:not(.is-ready) .alc-booking-footer #btn_comprar {
        background: var(--background-base-brand-soft, #fbf8f1) !important;
        color: var(--brand-300, #ebdfbc) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-important-icon {
        background: url('/styles/componentes/assets/icons/info-circle-approved.svg') center / 18.1667px 18.1667px no-repeat !important;
        -webkit-mask: none !important;
        mask: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-location-card h3 img {
        content: url('/styles/componentes/assets/alcazar/location/pin-approved.svg') !important;
        width: 24px !important;
        height: 24px !important;
        flex: 0 0 24px !important;
        object-fit: contain !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-hours-row {
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 16px !important;
        font-family: var(--font-body-support-family, var(--font-body-family, Inter, Arial, sans-serif)) !important;
        font-size: var(--font-body-support-size, 14px) !important;
        line-height: var(--font-body-support-line-height, 20px) !important;
        font-weight: 400 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-hours-row > div:first-child,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-hours-row > div:last-child,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-hours-row strong,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-hours-row em {
        white-space: nowrap !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-hours-row strong {
        font-size: var(--font-body-support-size, 14px) !important;
        line-height: var(--font-body-support-line-height, 20px) !important;
        font-weight: 700 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-main-content .alc-exp-hours-row em {
        font-size: var(--font-body-caption-size, 12px) !important;
        line-height: 18px !important;
        font-weight: 400 !important;
        font-style: normal !important;
    }
}

@media (min-width: 1600px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-cancellation > .ve-section-inner::before,
    .editor-mode .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-cancellation.editable-section > .section-content-wrapper::before {
        right: 0 !important;
    }
}

/* Booking languages — exact Figma component 4783:67822. */
@media (min-width: 1200px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-accordion--languages,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-accordion--languages .alc-booking-accordion-head {
        background: #eef4f8 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-accordion--languages .alc-booking-accordion-head {
        gap: 8px !important;
        min-height: 52px !important;
        padding: 16px 12px !important;
        color: var(--foreground-base-support-strong, #222527) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-accordion--languages .alc-booking-info-icon {
        position: relative !important;
        flex: 0 0 20px !important;
        width: 20px !important;
        height: 20px !important;
        border-radius: var(--radius-xs, 4px) !important;
        background: var(--background-base-support-strong, #181a1b) !important;
        color: transparent !important;
        font-size: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-accordion--languages .alc-booking-info-icon::before {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        background: url('/styles/componentes/assets/alcazar/booking/info-approved.svg') center / 2.0175px 9px no-repeat !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-accordion--languages .alc-booking-chevron {
        flex: 0 0 20px !important;
        width: 20px !important;
        height: 20px !important;
        margin-left: auto !important;
        border: 0 !important;
        background: url('/styles/componentes/assets/alcazar/booking/arrow-approved.svg') center / 7px 12px no-repeat !important;
        opacity: 1 !important;
        transform: rotate(90deg) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-booking-accordion--languages.is-open .alc-booking-chevron {
        transform: rotate(-90deg) !important;
    }
}

/* Structured tour duration — Figma 4783:67686. */
@media (min-width: 769px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-stat--duration {
        display: flex !important;
    }
}

/* Content responsibilities — Figma 4783:67697 / 4783:67757. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-location-access-instruction:empty {
    display: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="experience"] .alc-exp-location-access-instruction {
    margin-top: 16px !important;
    color: var(--foreground-base-secondary-mid, #665c48) !important;
}

/* Experience card availability separator — Figma 4783:67548. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-meta > span + span {
    display: inline-flex !important;
    align-items: center !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .tour-card-meta > span + span::before {
    content: "" !important;
    display: inline-block !important;
    flex: 0 0 2px !important;
    width: 2px !important;
    height: 2px !important;
    margin: 0 var(--layout-elements-gap-tight, 8px) 0 0 !important;
    border-radius: 50% !important;
    background: var(--foreground-base-tertiary-mid, #84775d) !important;
}

/* Home / Planea tu visita mobile - Figma 3805:20966.
   Keep only the approved intro and schedule separators. */
@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-plan {
        padding-block: 32px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-plan-intro {
        max-width: 100% !important;
        margin: 0 0 48px !important;
        padding: 0 0 48px !important;
        border-bottom: 1px solid var(--border-base-inverse-soft, rgba(255, 255, 255, .75)) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-plan-intro h2 {
        margin: 0 0 24px !important;
        padding: 0 !important;
        color: var(--foreground-base-inverse-strong, #fff) !important;
        font-family: var(--font-display-section-family, Signika), Signika, Inter, Arial, sans-serif !important;
        font-size: var(--font-display-section-size, 32px) !important;
        line-height: var(--font-display-section-line-height, 40px) !important;
        font-weight: 400 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-plan-intro h2::after {
        width: 48px !important;
        height: 1px !important;
        background: var(--border-base-inverse-soft, rgba(255, 255, 255, .75)) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-plan-intro p {
        color: var(--foreground-base-inverse-strong, #fff) !important;
        font-size: 14px !important;
        line-height: 20px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-plan-grid {
        gap: 48px !important;
        padding-top: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-plan-grid::before {
        content: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-plan-card {
        padding: 0 !important;
        border: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-plan-card h3 {
        margin: 0 0 24px !important;
        color: var(--foreground-base-inverse-strong, #fff) !important;
        font-family: var(--font-title-card-family, Signika), Signika, Inter, Arial, sans-serif !important;
        font-size: 20px !important;
        line-height: 28px !important;
        font-weight: 500 !important;
        letter-spacing: 1.2px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-plan-card > p {
        margin: 0 !important;
        color: var(--foreground-base-inverse-strong, #fff) !important;
        font-size: 14px !important;
        line-height: 20px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-plan-card > p + p {
        margin-top: 14px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-plan-schedule {
        gap: 16px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-plan-row {
        gap: 4px 16px !important;
        padding: 0 0 5px !important;
        border: 0 !important;
        border-bottom: 1px solid var(--border-base-inverse-soft, rgba(255, 255, 255, .75)) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-plan-row p,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-plan-row strong {
        color: var(--foreground-base-inverse-strong, #fff) !important;
        font-size: 14px !important;
        line-height: 20px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-plan-row small {
        color: var(--foreground-base-inverse-soft, rgba(255, 255, 255, .75)) !important;
        font-size: 12px !important;
        line-height: 16px !important;
        font-weight: 600 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-plan-closed {
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        color: var(--foreground-base-inverse-soft, rgba(255, 255, 255, .75)) !important;
        font-size: 14px !important;
        line-height: 20px !important;
        font-weight: 600 !important;
    }
}

/* Home mobile location + timeline repair.
   Overrides legacy wrapper rules without changing the validated desktop layout. */
@media (max-width: 768px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-card {
        display: flex !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-card-content {
        flex: 1 1 0 !important;
        width: auto !important;
        min-width: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-card-main,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-card-title,
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-card-address {
        width: 100% !important;
        max-width: 100% !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-card-address {
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        white-space: normal !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-card-address::after {
        content: none !important;
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-location-shell .ftc-location-card-link {
        margin: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-steps-list {
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 48px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-steps-list::before {
        content: "" !important;
        position: absolute !important;
        z-index: 0 !important;
        top: 24px !important;
        bottom: 24px !important;
        left: 20px !important;
        display: block !important;
        width: 1px !important;
        background: var(--border-base-secondary-soft, rgba(109, 98, 84, .22)) !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-steps-list > .cmp-rich_text {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-steps-list > .cmp-rich_text > .ftc-how-step {
        position: relative !important;
        z-index: 1 !important;
        display: grid !important;
        grid-template-columns: 40px minmax(0, 1fr) !important;
        column-gap: 24px !important;
        row-gap: 0 !important;
        align-items: start !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-how-step::after {
        content: none !important;
        display: none !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-how-step > strong {
        position: relative !important;
        z-index: 2 !important;
        top: auto !important;
        left: auto !important;
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        display: block !important;
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
        margin: 0 !important;
        padding: 0 !important;
        background: var(--background-base-default-soft, #fff) !important;
        font-size: 40px !important;
        line-height: 48px !important;
        font-weight: 600 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-how-step > div {
        grid-column: 2 !important;
        grid-row: 1 / span 2 !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-how-step h3 {
        margin: 0 0 12px !important;
        font-size: 20px !important;
        line-height: 28px !important;
        font-weight: 500 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-how .ftc-how-step p {
        margin: 0 !important;
        font-size: 14px !important;
        line-height: 20px !important;
    }
}

/* Home experience CTA — Figma 4783:67548. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-dynamic-experience-grid .btn-select-tour {
    border: 0 !important;
    border-radius: var(--radius-2xl, 32px) !important;
    font-family: var(--font-action-primary-family, "Inter") !important;
    font-size: var(--font-action-primary-size, 14px) !important;
    line-height: var(--font-action-primary-line-height, 20px) !important;
    font-weight: 600 !important;
    letter-spacing: var(--font-action-primary-letter-spacing, .7px) !important;
}

/* Figma 4109:68418 / 4109:68642 — authoritative action states.
   Kept at the end of the preset so legacy component CSS cannot collapse focus
   into hover or paint link text and its focus surface with the same token. */
.visual-layout-page[data-design-system="ftc-foundations"] :is(
    .ftc-dynamic-experience-grid .btn-select-tour,
    .alc-booking-footer #btn_comprar,
    .alc-exp-mobile-book-bar__cta
),
#tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-footer #btn_comprar {
    background: var(--background-action-primary-default) !important;
    color: var(--foreground-action-primary-default) !important;
    font-family: var(--font-action-primary-family, "Inter"), Inter, Arial, sans-serif !important;
    font-size: var(--font-action-primary-size, 14px) !important;
    line-height: var(--font-action-primary-line-height, 20px) !important;
    font-weight: 600 !important;
    letter-spacing: var(--font-action-primary-letter-spacing, .7px) !important;
    text-transform: uppercase !important;
    transition: background-color .18s ease, color .18s ease, border-color .18s ease !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] :is(
    .ftc-dynamic-experience-grid .btn-select-tour,
    .alc-booking-footer #btn_comprar,
    .alc-exp-mobile-book-bar__cta
):hover:not(:disabled):not([aria-disabled="true"]),
#tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-footer #btn_comprar:hover:not(:disabled):not([aria-disabled="true"]) {
    background: var(--background-action-primary-hover) !important;
    color: var(--foreground-action-primary-hover) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] :is(
    .ftc-dynamic-experience-grid .btn-select-tour,
    .alc-booking-footer #btn_comprar,
    .alc-exp-mobile-book-bar__cta
):active:not(:disabled):not([aria-disabled="true"]),
#tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-footer #btn_comprar:active:not(:disabled):not([aria-disabled="true"]) {
    background: var(--background-action-primary-pressed) !important;
    color: var(--foreground-action-primary-pressed) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] :is(
    .ftc-dynamic-experience-grid .btn-select-tour,
    .alc-booking-footer #btn_comprar,
    .alc-exp-mobile-book-bar__cta
):focus-visible,
#tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-footer #btn_comprar:focus-visible {
    background: var(--background-action-primary-focus) !important;
    color: var(--foreground-action-primary-focus) !important;
    outline: var(--stroke-lg, 2px) solid var(--border-action-primary-focus) !important;
    outline-offset: 3px !important;
    box-shadow: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"] :is(
    .ftc-dynamic-experience-grid .btn-select-tour,
    .alc-booking-footer #btn_comprar,
    .alc-exp-mobile-book-bar__cta
):is(:disabled, [aria-disabled="true"]),
.visual-layout-page[data-design-system="ftc-foundations"] .alc-exp-booking-widget:not(.is-ready) .alc-booking-footer #btn_comprar,
#tourReservationModal[data-home-booking-modal="1"] .tour-modal-booking-widget:not(.is-ready) .tour-modal-booking-footer #btn_comprar {
    background: var(--background-action-primary-disabled) !important;
    color: var(--foreground-action-primary-disabled) !important;
    cursor: not-allowed !important;
}

/* Secondary action: FAQ CTA. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-faq .ftc-more > a:hover {
    border-color: var(--border-action-secondary-hover) !important;
    background: var(--background-action-secondary-hover) !important;
    color: var(--foreground-action-secondary-hover) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-faq .ftc-more > a:active {
    border-color: var(--border-action-secondary-pressed) !important;
    background: var(--background-action-secondary-pressed) !important;
    color: var(--foreground-action-secondary-pressed) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-faq .ftc-more > a:focus-visible {
    border-color: var(--background-action-secondary-focus) !important;
    background: var(--background-action-secondary-focus) !important;
    color: var(--foreground-action-secondary-focus) !important;
    outline: var(--stroke-lg, 2px) solid var(--border-action-secondary-focus) !important;
    outline-offset: 3px !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-faq .ftc-more > a[aria-disabled="true"] {
    border-color: var(--border-action-secondary-disabled) !important;
    background: var(--background-action-secondary-disabled) !important;
    color: var(--foreground-action-secondary-disabled) !important;
    cursor: not-allowed !important;
}

/* Default link states on light surfaces, including both desktop and mobile footer. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] :is(
    .ftc-location-card-link,
    .ftc-explore .ftc-article-link,
    .ftc-dynamic-experience-grid .tour-card-details-link,
    .ftc-footer a:not(.ftc-footer-logo-link):not(.ftc-footer-top-link),
    .ftc-footer-mobile a:not(.ftc-footer-logo-link):not(.ftc-footer-top-link)
) {
    border-radius: var(--radius-xs, 4px) !important;
    color: var(--foreground-action-link-default) !important;
    text-decoration: none !important;
    transition: color .18s ease, background-color .18s ease, box-shadow .18s ease !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] :is(
    .ftc-location-card-link,
    .ftc-explore .ftc-article-link,
    .ftc-dynamic-experience-grid .tour-card-details-link,
    .ftc-footer a:not(.ftc-footer-logo-link):not(.ftc-footer-top-link),
    .ftc-footer-mobile a:not(.ftc-footer-logo-link):not(.ftc-footer-top-link)
):hover {
    background: var(--background-action-link-hover) !important;
    color: var(--foreground-action-link-hover) !important;
    box-shadow: 0 0 0 4px var(--background-action-link-hover) !important;
    text-decoration: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] :is(
    .ftc-location-card-link,
    .ftc-explore .ftc-article-link,
    .ftc-dynamic-experience-grid .tour-card-details-link,
    .ftc-footer a:not(.ftc-footer-logo-link):not(.ftc-footer-top-link),
    .ftc-footer-mobile a:not(.ftc-footer-logo-link):not(.ftc-footer-top-link)
):active {
    background: var(--background-action-link-pressed) !important;
    color: var(--foreground-action-link-pressed) !important;
    box-shadow: 0 0 0 4px var(--background-action-link-pressed) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] :is(
    .ftc-location-card-link,
    .ftc-explore .ftc-article-link,
    .ftc-dynamic-experience-grid .tour-card-details-link,
    .ftc-footer a:not(.ftc-footer-logo-link):not(.ftc-footer-top-link),
    .ftc-footer-mobile a:not(.ftc-footer-logo-link):not(.ftc-footer-top-link)
):focus-visible {
    background: var(--background-action-link-focus) !important;
    color: var(--foreground-action-link-focus) !important;
    outline: var(--stroke-sm, 1px) solid var(--border-action-link-focus) !important;
    outline-offset: 4px !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] :is(
    .ftc-location-card-link,
    .ftc-explore .ftc-article-link,
    .ftc-dynamic-experience-grid .tour-card-details-link,
    .ftc-footer a:not(.ftc-footer-logo-link):not(.ftc-footer-top-link),
    .ftc-footer-mobile a:not(.ftc-footer-logo-link):not(.ftc-footer-top-link)
)[aria-disabled="true"] {
    background: var(--background-action-link-disabled) !important;
    color: var(--foreground-action-link-disabled) !important;
    pointer-events: none !important;
}

/* Inverse links while the Home header sits on top of the dark hero. */
body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static:not(.ftc-site-header--scrolled) :is(
    .ftc-site-header__nav a,
    .ftc-site-header__actions > a
):hover {
    background: var(--background-action-link-inverse-hover) !important;
    color: var(--foreground-action-link-inverse-hover) !important;
    box-shadow: 0 0 0 4px var(--background-action-link-inverse-hover) !important;
    opacity: 1 !important;
}

/* Home QA 12/08/2026 — exact card CTA, plan-visit rhythm and footer icon button. */
.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-plan .ftc-plan-intro > p + p {
    margin-top: var(--layout-elements-gap-cozy, 16px) !important;
}

@media (min-width: 1200px) {
    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-plan .ftc-plan-intro {
        margin-bottom: 0 !important;
    }

    .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-plan .ftc-plan-intro h2::after {
        margin-block: 24px 47px !important;
    }
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] :is(
    .ftc-footer,
    .ftc-footer-mobile
) .ftc-footer-top-link {
    border-color: var(--warm-700, #665c48) !important;
    background: transparent !important;
    color: var(--warm-700, #665c48) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] :is(
    .ftc-footer,
    .ftc-footer-mobile
) .ftc-footer-top-link:hover {
    border-color: var(--warm-800, #484132) !important;
    background: var(--warm-800, #484132) !important;
    color: var(--white-100, #fff) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] :is(
    .ftc-footer,
    .ftc-footer-mobile
) .ftc-footer-top-link:active {
    border-color: var(--warm-900, #2a2218) !important;
    background: var(--warm-900, #2a2218) !important;
    color: var(--white-75, rgba(255, 255, 255, .75)) !important;
}

.visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] :is(
    .ftc-footer,
    .ftc-footer-mobile
) .ftc-footer-top-link:focus-visible {
    border-color: var(--warm-800, #484132) !important;
    background: var(--warm-800, #484132) !important;
    color: var(--white-100, #fff) !important;
    outline: var(--stroke-lg, 2px) solid var(--warm-600, #84775d) !important;
    outline-offset: 3px !important;
}

body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static:not(.ftc-site-header--scrolled) :is(
    .ftc-site-header__nav a,
    .ftc-site-header__actions > a
):active {
    background: var(--background-action-link-inverse-pressed) !important;
    color: var(--foreground-action-link-inverse-pressed) !important;
    box-shadow: 0 0 0 4px var(--background-action-link-inverse-pressed) !important;
}

body:not(.editor-mode) .visual-layout-page[data-design-system="ftc-foundations"][data-page-key="home"] .ftc-site-header--static:not(.ftc-site-header--scrolled) :is(
    .ftc-site-header__nav a,
    .ftc-site-header__actions > a
):focus-visible {
    background: var(--background-action-link-inverse-focus) !important;
    color: var(--foreground-action-link-inverse-focus) !important;
    outline: var(--stroke-sm, 1px) solid var(--border-action-link-inverse-focus) !important;
    outline-offset: 4px !important;
    box-shadow: none !important;
    opacity: 1 !important;
}
