/* ------------------------------------------------ */
/* ----------- RESPONSIVE FIXES (CUSTOM) ---------- */
/* ------------------------------------------------ */

/* --- 1. Menu @ 1024px --- */
@media (max-width: 1200px) {
    .main-header .main-menu .navigation>li {
        margin-left: 10px;
        margin-right: 10px;
    }
}

@media (max-width: 1024px) {
    .main-header .main-menu .navigation>li>a {
        padding: 15px 5px;
        font-size: 14px;
    }
}

/* --- 2. Menu @ 768px & Mobile Implementation --- */
.mobile-nav-toggler {
    display: none;
    cursor: pointer;
    font-size: 24px;
    color: #111;
    padding: 10px;
}

@media (max-width: 991px) {
    .main-header .nav-outer .main-menu {
        display: none !important;
    }

    .main-header .mobile-nav-toggler {
        display: block;
        float: right;
    }

    .header-style-one .header-lower .logo-box {
        float: left;
    }
}

/* Mobile Menu Styling */
.mobile-menu {
    position: fixed;
    left: 0;
    top: 0;
    width: 300px;
    padding-right: 30px;
    max-width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    z-index: 999999;
}

.mobile-menu-visible .mobile-menu {
    opacity: 1;
    visibility: visible;
}

.mobile-menu .menu-backdrop {
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    transition: all 900ms ease;
    background-color: #000;
    opacity: 0;
    visibility: hidden;
}

.mobile-menu-visible .mobile-menu .menu-backdrop {
    opacity: 0.8;
    visibility: visible;
}

.mobile-menu .menu-box {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    max-height: 100%;
    overflow-y: auto;
    background-color: #ffffff;
    padding: 0px 0px;
    z-index: 5;
    opacity: 0;
    visibility: hidden;
    border-radius: 0px;
    -webkit-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    transform: translateX(-100%);
    transition: all 900ms ease;
}

.mobile-menu-visible .mobile-menu .menu-box {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
}

.mobile-menu .nav-logo {
    padding: 20px;
    text-align: center;
}

.mobile-menu .nav-logo img {
    max-width: 150px;
}

.mobile-menu .close-btn {
    position: absolute;
    right: 15px;
    top: 15px;
    line-height: 30px;
    width: 30px;
    text-align: center;
    font-size: 18px;
    color: #111;
    cursor: pointer;
    z-index: 10;
}

.mobile-menu .close-btn:hover {
    color: #d32f2f;
}

.mobile-menu .navigation {
    position: relative;
    display: block;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.mobile-menu .navigation li {
    position: relative;
    display: block;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    width: 100%;
    margin: 0;
}

.mobile-menu .navigation li>a {
    position: relative;
    display: block;
    line-height: 24px;
    padding: 12px 20px;
    font-size: 15px;
    font-weight: 500;
    color: #111;
    border: none;
}

.mobile-menu .navigation li:hover>a,
.mobile-menu .navigation li.current>a {
    color: #d32f2f;
}

.mobile-menu .navigation li.dropdown .dropdown-btn {
    position: absolute;
    right: 0;
    top: 0;
    width: 44px;
    height: 44px;
    text-align: center;
    font-size: 16px;
    line-height: 44px;
    color: #111;
    cursor: pointer;
    z-index: 5;
}

/* Submenu fixes */
.mobile-menu .navigation li.dropdown ul {
    position: relative;
    display: none;
    margin-left: 0px;
    background: #f9f9f9;
    width: 100%;
}

.mobile-menu .navigation li.dropdown ul li {
    width: 100%;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.mobile-menu .navigation li.dropdown ul li a {
    padding-left: 30px;
    width: 100%;
}

/* --- 3. About Section Fixes @ 768px --- */
@media (max-width: 768px) {

    /* Fix About Image Pseduo-elements */
    .about-section .image-column .inner-column .image-box:before,
    .about-section .image-column .inner-column .image-box .icon-lines,
    .about-section .image-column .inner-column .image-box .shape-1 {
        display: none !important;
    }

    /* Fix Icon Box Shape */
    .about-section .image-column .inner-column .icon-box,
    .about-section .image-column .inner-column .icon-box-two {
        border-radius: 10px;
        overflow: hidden;
    }

    .about-section .image-column .inner-column .image-box figure.image {
        margin-bottom: 30px;
        /* Space below image */
    }

    /* Destinations Banner (Breadcrumb) Fixes */
    .breadcume-section .breadcumb-content,
    .breadcume-section .breadcumb-content.text-left {
        text-align: center !important;
        width: 100% !important;
        /* Center padding and ensure full width */
    }

    .breadcume-section .breadcumb-title h1 {
        font-size: 32px !important;
        line-height: 1.2;
        margin-bottom: 15px;
    }

    .breadcume-section .breadcumb-text p {
        font-size: 16px !important;
        padding: 0 10px;
        margin-bottom: 30px;
    }

    .breadcume-section .breadcumb-buttons {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 15px;
        width: 100%;
    }

    .breadcume-section .breadcumb-buttons .theme-btn {
        margin: 0 !important;
        width: 100%;
        max-width: 280px;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 15px 30px;
        /* Ensure good tap target */
    }
}

/* --- 4. Mobile Fixes (<= 425px) --- */
@media (max-width: 575px) {

    /* Eliminate Icon 1 from image */
    .about-section .image-column .inner-column .icon-1,
    .about-section .image-column .inner-column .icon-box {
        display: none !important;
    }

    .about-section .image-column .inner-column .image-box .icon-box {
        display: none !important;
    }

    /* Fix About Image general */
    .about-section .image-column .inner-column {
        padding-right: 0;
        margin-top: 30px;
    }

    /* FAQ Titles */
    .faq-section .sec-title h2 {
        font-size: 24px;
        line-height: 1.3em;
    }

    .accordion-box-four .block .acc-btn {
        font-size: 16px;
        line-height: 1.5em;
        /* Mas interlineado */
        padding: 15px;
        white-space: normal;
        /* Force wrap */
    }

    /* Team Title/Text Wrapping */
    .team-section .sec-title h2 {
        font-size: 26px;
        word-wrap: break-word;
        overflow-wrap: break-word;
        /* Ensure Stunet completes */
    }

    /* Testimonials Title Wrapping */
    .testimonial-section .sec-title h2 {
        font-size: 26px;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }

    /* Footer Columns Centering */
    .main-footer .footer-widget {
        text-align: center;
    }

    .main-footer .footer-widget .widget-content,
    .main-footer .footer-widget .user-links {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .main-footer .footer-widget h4 {
        text-align: center;
    }

    .main-footer .contact-list li {
        justify-content: center;
    }

    /* Footer Title Decoration Centering */
    .main-footer .footer-widget h4:before {
        left: 50% !important;
        transform: translateX(-50%);
    }

    /* Testimonials Question Mark & Title */
    .testimonial-section .sec-title h2 {
        font-size: 24px;
        line-height: 1.3em;
    }

    /* Team Section Stunet Wrap */
    .team-section .sec-title h2 {
        font-size: 24px;
        line-height: 1.3em;
        word-break: break-word;
        /* Ensure it breaks */
    }

    /* Services Button Fixes */
    .service-block .inner-box .content-box .btn-box:before {
        bottom: -155px !important;
        right: -30px !important;
    }

    /* Banner Height Consistency */
    .banner-section .swiper-slide {
        height: auto;
        display: flex;
    }

    .banner-section .swiper-slide .outer-box {
        height: 100%;
    }

    /* Hamburger Icon Styling */
    .main-header .mobile-nav-toggler {
        color: #fff !important;
        /* White icon */
        background: var(--cta-red, #d32f2f);
        /* Red background to match design */
        border-radius: 5px;
        padding: 5px 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 45px;
        height: 45px;
    }
}

/* --- 5. Banner Height Fixes <= 1024px --- */
@media (max-width: 1024px) {
    .banner-section .swiper-slide {
        min-height: 600px;
        /* Ensure minimum height */
    }

    .banner-section .swiper-slide .outer-box {
        height: 100%;
        display: flex;
        align-items: center;
    }
}

/* --- 6. Mobile Menu Submenu Expansion Fix --- */
.mobile-menu .navigation li.dropdown .dropdown-btn {
    display: block;
    /* Ensure it's visible */
    border-left: 1px solid rgba(0, 0, 0, 0.1);
}

/* --- 7. Refinements Round 2 --- */

/* Remove icons from Programas/Destinos inside Mobile Menu only */
.mobile-menu .navigation li.dropdown>a i {
    display: none;
}

/* Fix Services Button Visibility and Layout */
@media (max-width: 575px) {

    /* Content Box Styling - Flex column with space between */
    .service-block .inner-box .content-box {
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        padding-bottom: 0 !important;
        min-height: 380px;
    }

    .service-block .inner-box .content-box .btn-box {
        display: block !important;
        position: relative !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        padding: 0 !important;
        margin-top: 0 !important;
    }

    /* Skill Title Spacing */
    .service-block .inner-box .content-box .title {
        margin-bottom: 10px !important;
    }

    /* Icon Size */
    .service-block .inner-box .image-box .icon-box .icon.fa-solid {
        font-size: 33px !important;
    }


    /* Reset link styles */
    .service-block .inner-box .content-box .btn-box a {
        background: transparent !important;
        padding: 0 !important;
        width: auto;
    }

    /* Fix Read More Link Margin and Display */
    .service-block .inner-box .content-box .btn-box a {
        display: inline-block !important;
        margin-bottom: 10px !important;
    }

    /* Btn Box Before (THEME 3 background, hidden by default) */
    .service-block .inner-box .content-box .btn-box:before {
        content: "";
        position: absolute;
        bottom: 0 !important;
        right: -33px !important;
        width: 182px;
        height: 57px;
        border-top-left-radius: 50px;
        background-color: var(--theme-color3, #1f2937) !important;
        display: none !important;
        opacity: 0;
        transition: all 0.3s ease;
        z-index: -1;
    }

    /* HOVER STATES */
    /* On hover, hide inner-box red bg */
    .service-block .inner-box:hover:before {
        opacity: 0 !important;
        visibility: hidden !important;
    }

    /* On hover, show btn-box theme-3 bg */
    .service-block .inner-box:hover .content-box .btn-box:before {
        display: block !important;
        opacity: 1 !important;
    }

    /* On hover, make text white */
    .service-block .inner-box:hover .content-box .text,
    .service-block .inner-box:hover .content-box .title a,
    .service-block .inner-box:hover .content-box .list-style-three li,
    .service-block .inner-box:hover .content-box .list-style-three li i,
    .service-block .inner-box:hover .content-box .btn-box a {
        color: #fff !important;
    }

    /* Ensure content is above backgrounds */
    .service-block .inner-box .content-box {
        z-index: 1;
        position: relative;
    }

    /* Fix FAQ Plus Icon Overlap */
    .accordion-box-four .block .acc-btn {
        padding-right: 50px;
        position: relative;
    }

    .accordion-box-four .block .icon-outer {
        position: absolute;
        right: 15px;
        top: 50%;
        transform: translateY(-50%);
        left: auto;
    }

    /* Reposition Nav Box below card & Fix Prev Button */
    .service-section .nav-box {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        margin-top: 30px !important;
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
        z-index: 10;
    }

    .service-section .nav-box .swiper-button-prev,
    .service-section .nav-box .swiper-button-next {
        position: relative !important;
        inset: auto !important;
        margin: 0 10px !important;
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        background-color: #fff !important;
        color: var(--cta-red, #d32f2f) !important;
        width: 50px;
        height: 50px;
        border-radius: 50%;
        align-items: center;
        justify-content: center;
        transition: all 0.3s ease;
    }

    .service-section .nav-box .swiper-button-prev:hover,
    .service-section .nav-box .swiper-button-next:hover {
        background-color: var(--cta-red, #d32f2f) !important;
        color: #fff !important;
    }
}

/* --- 8. Hide icon-1 bounce-y @ 425px or less --- */
@media (max-width: 425px) {
    .banner-section .outer-box .image-column .inner-column .icon-1.bounce-y {
        display: none !important;
    }
}

/* --- 9. Text Reveal Animation - Prevent Awkward Line Breaks --- */
/* Base styles for all text-reveal-anim elements */
.text-reveal-anim {
    text-wrap: balance;
    /* Modern CSS for balanced line distribution */
    hyphens: none;
    /* Prevent hyphenation */
    word-break: keep-all;
    /* Keep words together */
    overflow-wrap: normal;
    /* Don't break words unless absolutely necessary */
}

/* Responsive font sizing to reduce wrapping issues */
@media (max-width: 768px) {
    .about-section .text-reveal-anim {
        font-size: 28px !important;
        line-height: 1.3em !important;
    }

    .project-section .text-reveal-anim {
        font-size: 26px !important;
        line-height: 1.3em !important;
    }
}

@media (max-width: 575px) {
    .about-section .text-reveal-anim {
        font-size: 24px !important;
        line-height: 1.3em !important;
    }

    .project-section .text-reveal-anim {
        font-size: 22px !important;
        line-height: 1.3em !important;
    }
}

@media (max-width: 425px) {
    .about-section .text-reveal-anim {
        font-size: 22px !important;
        line-height: 1.3em !important;
    }

    .project-section .text-reveal-anim {
        font-size: 20px !important;
        line-height: 1.3em !important;
    }
}

/* --- 10. Choose Section (Why Choose) Mobile Alignment --- */
@media (max-width: 768px) {
    .choose-section .sec-title {
        text-align: center;
    }

    /* Center subtitle and icon together */
    .choose-section .sec-title .sub-title {
        text-align: center !important;
        display: inline-block !important;
        /* Changed to inline-block to center with icon */
        margin-bottom: 15px !important;
        padding-left: 21px !important;
        /* Ensure space for the icon */
    }

    /* Center items */
    .choose-section .single-box {
        text-align: center;
        margin-bottom: 30px;
    }

    .choose-section .single-box .inner-box {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .choose-section .single-box .inner-box .icon {
        margin-bottom: 10px;
        margin-right: 0 !important;
    }

    /* --- About Section Six Mobile Alignment --- */
    .about-section-six .sec-title {
        text-align: center;
        /* Center title items */
    }

    .about-section-six .sec-title .sub-title {
        display: inline-block !important;
        padding-left: 21px !important;
    }

    .about-section-six .sec-title .text {
        text-align: justify;
        padding: 0 10px;
    }

    .about-section-six .inner-box {
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-bottom: 30px;
    }

    .pricing-block .inner-box .content {
        padding: 40px !important;
    }

    /* --- Content Box Section Fixes --- */
    .content-box-section .content-box {
        flex-direction: column !important;
        text-align: center !important;
        padding: 50px 20px !important;
        gap: 20px !important;
    }

    .content-box-section .content-box .title-box .title {
        font-size: 18px !important;
        line-height: 1.5em !important;
    }

    .content-box-section .content-box .btn-box {
        width: 100%;
        display: flex;
        justify-content: center;
    }

    /* --- Gallery Section Fixes --- */
    .project-section-two .sec-title {
        text-align: center;
    }

    .project-section-two .sec-title .sub-title {
        display: inline-block !important;
        padding-left: 21px !important;
    }

    .project-swiper-two {
        padding: 0 10px;
    }

    .project-block-two .inner-box .image-box .image img {
        width: 100%;
        height: auto;
        border-radius: 20px;
    }
}

/* --- Service Section: outer-box centered --- */
.service-section > .outer-box {
    width: 90%;
    margin: 0 auto;
}

/* --- Service Cards: btn at bottom without excessive space --- */
.service-section .service-swiper .swiper-wrapper {
    align-items: stretch !important;
}

.service-section .service-swiper .swiper-slide.service-block {
    height: auto !important;
}

.service-block {
    height: 100% !important;
}

.service-block > .inner-box {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

.service-block > .inner-box > .content-box {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: auto !important;
}

.service-block > .inner-box > .content-box > .btn-box {
    margin-top: auto !important;
    flex-shrink: 0;
}

/* --- Mobile Menu CTA Icons: smaller + red --- */
.mobile-menu .contact-list-one li .icon {
    font-size: 18px !important;
    line-height: 30px !important;
    color: #d32f2f !important;
}

.mobile-menu .contact-list-one li {
    padding-left: 35px !important;
    min-height: 40px !important;
}

/* --- Banner Nav-Box: base override (all screens) --- */
.banner-section > .nav-box {
    position: absolute !important;
    top: auto !important;
    bottom: 100px !important;
    left: 0 !important;
    right: 0 !important;
    width: 130px !important;
    margin: 0 auto !important;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    z-index: 20 !important;
}

/* --- Banner Nav-Box: smaller on mobile --- */
@media (max-width: 767px) {
    .banner-section > .nav-box {
        width: 100px !important;
        height: 46px !important;
        gap: 6px !important;
        bottom: 80px !important;
    }

    .banner-section > .nav-box .swiper-button-prev,
    .banner-section > .nav-box .swiper-button-next {
        width: 32px !important;
        height: 32px !important;
        font-size: 14px !important;
    }
}

@media (max-width: 480px) {
    .banner-section > .nav-box {
        width: 84px !important;
        height: 38px !important;
        gap: 4px !important;
        bottom: 70px !important;
    }

    .banner-section > .nav-box .swiper-button-prev,
    .banner-section > .nav-box .swiper-button-next {
        width: 26px !important;
        height: 26px !important;
        font-size: 11px !important;
    }
}

/* --- 10. Team Swiper - 1 card centrada en Mobile --- */
@media (max-width: 599px) {
    .team-section {
        overflow: hidden !important;
    }

    .team-swiper {
        overflow: hidden !important;
        width: 100% !important;
    }

    /* Swiper maneja el centrado; solo aseguramos 100% de ancho */
    .team-swiper .swiper-slide {
        box-sizing: border-box !important;
        padding: 0 40px !important;
    }

    /* El inner-box se reduce visualmente dentro del slide */
    .team-section .team-block .inner-box {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
    }

    /* Reducir imagen */
    .team-section .team-block .inner-box .image-box .image img {
        max-height: 250px !important;
        object-fit: cover !important;
        object-position: top !important;
    }

    /* Borde redondeado proporcional */
    .team-section .team-block .inner-box,
    .team-section .team-block .inner-box .image-box .image {
        border-radius: 0 100px 100px 100px !important;
    }

    .team-section .team-block .inner-box:before {
        border-radius: 0 100px 100px 100px !important;
    }

    /* Paginación visible */
    .team-swiper .swiper-pagination {
        position: relative !important;
        margin-top: 10px !important;
    }
}

/* --- 11. Footer - Center Logo and Social Icons on Mobile --- */
@media (max-width: 425px) {
    .main-footer .footer-widget.about-widget {
        text-align: center !important;
    }

    .main-footer .footer-widget.about-widget figure.image {
        display: flex !important;
        justify-content: center !important;
        margin-bottom: 20px;
        width: 100% !important;
        max-width: 100% !important;
    }

    .main-footer .footer-widget.about-widget figure.image img {
        margin: 0 auto !important;
    }

    .main-footer .footer-widget.about-widget .text {
        text-align: center !important;
    }

    .main-footer .footer-widget.about-widget .social-icon-two {
        display: flex !important;
        justify-content: center !important;
        margin-top: 15px;
    }

    /* Center copyright text and add padding */
    .main-footer .footer-bottom .copyright-text {
        text-align: center !important;
        padding: 10px 20px 0 !important;
    }

    .main-footer .footer-bottom .inner-container {
        flex-direction: column !important;
        align-items: center !important;
        padding: 0 15px !important;
    }

    .main-footer .footer-bottom .footer-nav {
        margin-top: 15px;
        text-align: center !important;
    }
}

/* --- 12. Service Block: btn-box before always visible --- */
.service-block .inner-box .content-box .btn-box:before {
    transform: translateX(0) !important;
    background: var(--gradient-1) !important;
}

.service-block .inner-box:hover .content-box .btn-box:before {
    background: var(--theme-color3) !important;
}

/* ---------------------------------------------------- */
/* --- 13. Mobile Fixes — width < 600px             --- */
/* ---------------------------------------------------- */
@media (max-width: 599px) {

    /* 1. Banner: contener texto dentro del slide, evitar desborde */
    .banner-section,
    .banner-section .banner-swiper,
    .banner-section .swiper-slide,
    .banner-section .banner-slide {
        overflow: hidden !important;
        max-width: 100vw !important;
    }

    /* Row de Bootstrap: eliminar gutters negativos que causan overflow */
    .banner-section .outer-box .inner-box .row {
        --bs-gutter-x: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        overflow: hidden !important;
    }

    /* Contenedor principal: auto height para adaptarse al texto */
    .banner-section .outer-box .inner-box {
        height: auto !important;
        min-height: 380px !important;
        padding: 30px 15px 70px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    /* Columna de contenido: max-width 100% para no desbordar */
    .banner-section .outer-box .content-column,
    .banner-section .outer-box .content-column .inner-column {
        max-width: 100% !important;
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    /* Título: selector específico igual al de style.css para ganar especificidad */
    .banner-section .outer-box .content-column .inner-column .title {
        font-size: 18px !important;
        line-height: 1.3 !important;
        margin-bottom: 8px !important;
        white-space: normal !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        max-width: 100% !important;
    }

    /* Texto descriptivo */
    .banner-section .outer-box .content-column .inner-column .text {
        font-size: 11px !important;
        line-height: 1.45 !important;
        margin-bottom: 12px !important;
        max-width: 100% !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }

    .banner-section .inner-column .btn-box .theme-btn-main {
        font-size: 11px !important;
        padding: 6px 12px !important;
    }

    .banner-section .inner-column .btn-box .theme-btn-arrow-left,
    .banner-section .inner-column .btn-box .theme-btn-arrow-right {
        width: 32px !important;
        height: 32px !important;
    }

    /* 2. Service swiper nav-box: centrado horizontal */
    .service-section .outer-box .nav-box,
    .service-section .nav-box {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        transform: none !important;
        -webkit-transform: none !important;
        margin: 20px auto 10px !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 20px !important;
        width: 100% !important;
        z-index: 10 !important;
    }

    .service-section .outer-box .nav-box .swiper-button-prev,
    .service-section .outer-box .nav-box .swiper-button-next,
    .service-section .nav-box .swiper-button-prev,
    .service-section .nav-box .swiper-button-next {
        position: relative !important;
        inset: auto !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        margin: 0 !important;
        transform: none !important;
        -webkit-transform: none !important;
    }

    /* 3. Destinos: 1 card centrada, height reducida */
    .project-section {
        padding-bottom: 20px !important;
    }

    .project-section .outer-box {
        margin: 0 auto !important;
        padding: 0 20px !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    /* Clip del coverflow effect: ocultar slides adyacentes */
    .project-section .project-swiper {
        overflow: hidden !important;
        width: 100% !important;
        perspective: none !important;
    }

    .project-section .project-swiper .swiper-wrapper {
        display: flex !important;
        align-items: center !important;
    }

    .project-section .project-swiper .swiper-slide,
    .project-section .project-swiper .project-block {
        width: 100% !important;
        max-width: 100% !important;
        flex-shrink: 0 !important;
        /* Ocultar slides no activos del coverflow */
        opacity: 0 !important;
        pointer-events: none !important;
        transform: none !important;
        -webkit-transform: none !important;
        transition: opacity 0.3s ease !important;
    }

    .project-section .project-swiper .swiper-slide.swiper-slide-active,
    .project-section .project-swiper .project-block.swiper-slide-active {
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    /* Reducir altura de la card */
    .project-section .project-block .inner-box .image img,
    .project-section .project-block .inner-box .image-box img {
        min-height: 260px !important;
        max-height: 280px !important;
        height: 270px !important;
        width: 100% !important;
        object-fit: cover !important;
    }

    /* 4. FAQ: reducir espacio entre destinos y FAQ */
    #faq.benefit-section,
    section.benefit-section.style-one {
        margin-top: 0 !important;
        padding-top: 25px !important;
    }

    /* Eliminar el padding excesivo del inner-column (75px derecho) */
    .benefit-section .content-column .inner-column {
        padding: 15px !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* 5. FAQ cajas: casi todo el ancho, solo espacio para scrollbar */
    .faq-scroll-box {
        width: 100% !important;
        max-width: 100% !important;
        padding-right: 10px !important;
        box-sizing: border-box !important;
    }

    .faq-scroll-box .accordion.block {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        margin-right: 0 !important;
    }

    /* Ocultar columna de imagen en mobile (solo muestra el contenido) */
    .benefit-section .image-column {
        display: none !important;
    }

    .benefit-section .content-column {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* 6. Contacto: eliminar padding/margin que genera "esquinas" y arreglar imagen */

    /* Quitar padding exterior que expone el fondo de la página */
    .contact-section {
        padding: 0 !important;
    }

    /* Quitar border-radius del bg que crea el efecto redondeado */
    .contact-section .outer-box {
        border-radius: 0 !important;
        padding-left: 0 !important;
    }

    .contact-section .outer-box .bg {
        border-radius: 0 !important;
    }

    /* Formulario: padding reducido */
    .contact-section .content-column .inner-column {
        padding: 40px 15px 30px !important;
        box-sizing: border-box !important;
    }

    /* Columna imagen: ancho completo, sin márgenes */
    .contact-section .image-column {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        padding: 0 !important;
    }

    .contact-section .image-column .inner-column {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    /* Imagen visible y a ancho completo */
    .contact-section .image-column .inner-column .image,
    .contact-section .image-column figure.reveal,
    .contact-section .image-column .image.reveal {
        visibility: visible !important;
        display: block !important;
        width: 100% !important;
        border-radius: 0 !important;
        overflow: hidden !important;
    }

    .contact-section .image-column figure.reveal img,
    .contact-section .image-column .image.reveal img,
    .contact-section .image-column .inner-column .image img {
        transform: none !important;
        -webkit-transform: none !important;
        width: 100% !important;
        height: 260px !important;
        object-fit: cover !important;
        object-position: center top !important;
    }
}