
    
    /* ==========================================================================
        VARIABLES, RESET & BASE
    ========================================================================== */
    :root {
        --primary-color: #006402;
        --secondary-color: #fdfdfc;
        --accent-color: #f9e60f;
        --dark-color: #222;
        --light-gray-color: #f4f4f4;
        --text-color: #333;
        --header-height: 6rem;
    }
   

    * { margin: 0; padding: 0; box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
    html { scroll-behavior: smooth; overflow-x: hidden; }
    html.no-scroll, body.no-scroll { overflow: hidden; }

    body {
        font-family: 'Poppins', sans-serif;
        background-color: var(--secondary-color);
        color: var(--text-color);
        line-height: 1.6;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
        display: flex; flex-direction: column;
    }

    h1, h2, h3, h4 { color: var(--dark-color); font-weight: 600; }
    ul { list-style: none; }
    a { text-decoration: none; color: var(--primary-color); }
    img { max-width: 100%; height: auto; display: block; }


    /* =========================================
    UTILIDAD DE RENDIMIENTO (PAUSA)
   ========================================= */
    .paused-animation,
    .paused-animation::after,
    .paused-animation::before,
    .paused-animation i,
    .paused-animation i::after {
        animation-play-state: paused !important;
        -webkit-animation-play-state: paused !important;
    }

    /* ===============================
         Custom Scrollbar (Global)
    =============================== */

        html {
            scrollbar-width: auto; 
            scrollbar-color: var(--accent-color) #f1f1f1;
        }

 
        html::-webkit-scrollbar,
        body::-webkit-scrollbar {
            width: 15px; 
        }

        html::-webkit-scrollbar-track,
        body::-webkit-scrollbar-track {
            background: #f1f1f1;
        }

        html::-webkit-scrollbar-thumb,
        body::-webkit-scrollbar-thumb {
            background-color: var(--accent-color);
            border-radius: 10px;
            border: 2px solid #f1f1f1;
        }

        html::-webkit-scrollbar-thumb:hover,
        body::-webkit-scrollbar-thumb:hover {
            background-color: #e0cd0d;
        }

        /* ===============================
                ARROWS SCROLLBAR
        =============================== */

        html::-webkit-scrollbar-button,
        body::-webkit-scrollbar-button {
            display: block;
            height: 16px;
            background-color: #f1f1f1;
            background-repeat: no-repeat;
            background-position: center;
            border: none;
        }

        html::-webkit-scrollbar-button:vertical:start:increment,
        html::-webkit-scrollbar-button:vertical:end:decrement,
        body::-webkit-scrollbar-button:vertical:start:increment,
        body::-webkit-scrollbar-button:vertical:end:decrement {
            display: none;
        }

        html::-webkit-scrollbar-button:single-button:vertical:decrement,
        body::-webkit-scrollbar-button:single-button:vertical:decrement {
            background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23000' d='M7 14l5-5 5 5z'/></svg>");
        }

        html::-webkit-scrollbar-button:single-button:vertical:increment,
        body::-webkit-scrollbar-button:single-button:vertical:increment {
            background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23000' d='M7 10l5 5 5-5z'/></svg>");
        }

        html::-webkit-scrollbar-button:hover,
        body::-webkit-scrollbar-button:hover {
            background-color: #e0e0e0;
        }

        /* =======================================================
            AJUSTE MÓVIL - Scrollbar
        ======================================================= */
        @media (max-width: 992px) {
            html::-webkit-scrollbar,
            body::-webkit-scrollbar {
                width: 8px; 
            }

            html::-webkit-scrollbar-button,
            body::-webkit-scrollbar-button {
                display: none;
            }
        }

    /* ==========================================================================
        LAYOUT & UTILIDADES
    ========================================================================== */
    .container { max-width: 1200px; margin-left: auto; margin-right: auto; padding: 0 1.5rem; }
    .section { padding: 5rem 2rem; width: 100%; }

  
    section[id], 
    div[id], 
    a[name] { 
        scroll-margin-top: calc(var(--header-height) + 3rem);
    }
    .service__card[id] {
        scroll-margin-top: calc(var(--header-height) + 8rem) !important;
    }

    #home { scroll-margin-top: 0; }



    :root {
        --scroll-padding: 4rem; 
    }

    section[id], 
    div[id] {
        scroll-margin-top: calc(var(--header-height) + var(--scroll-padding));
    }

    @media (max-width: 992px) {
        :root {
            --scroll-padding: 2rem; 
        }
        .service__card[id] {
            scroll-margin-top: calc(var(--header-height) + 6rem) !important;
    }
    }


    .section--white { background-color: #ffffff; }
    .container--secondary-color { background-color: var(--secondary-color); }
    .section--gray, #servicios-guardamuebles-mudanzas, #zonas, #bauleras-y-espacios-abiertos, #ventajas-beneficios, #por-que-necesito-una-mudanza-traslado-profesional, #por-que-necesito-alquilar-guardamuebles, #como-trabajamos { background-color: var(--light-gray-color); }
    .section--bg-form { background-color: var(--light-gray-color); padding-top: 4rem; padding-bottom: 4rem; }

    .section__title { font-size: 2.5rem; text-align: center; margin-bottom: 3rem; margin-top: 3rem; color: var(--primary-color); }
    .section__subtitle { text-align: center; margin-bottom: 3rem; font-size: 1.1rem; color: #666; max-width: 800px; margin-left: auto; margin-right: auto; }

    .editorial-card {
        display: flex;
        align-items: center;
        background: #fff;
        border-radius: 15px;
        padding: 2.5rem;
        max-width: 1400px;
        margin: 0 auto 3rem auto;
        box-shadow: 0 15px 40px rgba(0,0,0,0.06); /* Sombra suave premium */
        border: 1px solid rgba(0,0,0,0.02);
        position: relative;
    }

    .editorial-block {
        flex: 1;
        position: relative;
        padding: 0 1.5rem;
        text-align: center;
    }

    .icon-watermark {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-size: 5rem;
        color: rgba(0, 100, 2, 0.03); /* Verde muy muy suave */
        z-index: 0;
        pointer-events: none;
    }

    .editorial-text {
        position: relative;
        z-index: 1;
        font-size: 1.1rem;
        color: #555;
        line-height: 1.6;
        margin: 0;
    }

    .editorial-text strong {
        color: var(--primary-color);
        font-weight: 700;
        border-bottom: 2px solid var(--accent-color); 
    }

    .vertical-divider {
        width: 1px;
        height: 80px;
        background: #eee;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .vertical-divider span {
        background: #fff;
        color: var(--primary-color);
        font-weight: bold;
        font-size: 2rem;
        padding: 5px;
        font-style: italic;
        font-family: serif; 
    }

    @media (max-width: 768px) {
        .editorial-card {
            flex-direction: column;
            gap: 2rem;
            padding: 2rem 1rem;
        }
        .vertical-divider {
            width: 80%;
            height: 1px;
        }
    }

    .content-card { background: #ffffff; border-radius: 20px; padding: 3rem; box-shadow: 0 10px 30px rgba(0,0,0,0.15); border: 1px solid rgba(0,0,0,0.02); max-width: 1200px; margin: 0 auto; }

    
    /* ==========================================================================
                BOTONES
    ========================================================================== */
    .button {
        display: inline-block; padding: 1rem 2.5rem; border-radius: 50px;
        font-weight: 600; text-transform: uppercase; letter-spacing: 1px;
        color: var(--dark-color); background-color: var(--accent-color);
        border: none; cursor: pointer; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        position: relative; z-index: 1; overflow: hidden;
        transition: transform 0.2s ease-out;
    }
    .button::before { content: ''; position: absolute; top: 0; left: 0; width: 0; height: 100%; background-color: #d8c80d; transition: width 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); z-index: -1; border-radius: inherit; }
    .button:hover { transform: translateY(-2px); box-shadow: 0 8px 12px rgba(0, 0, 0, 0.15); }
    .button:hover::before { width: 100%; }
    .button:active { transform: translateY(1px); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); }
    .button--whatsapp-form::before { background-color: #1ebe5b; }

    .button--outline {
        display: inline-block;  padding: 1rem 2.5rem; border-radius: 50px;
        font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px;
        font-size: 0.75rem; color: var(--primary-color); background-color: #fff;
        border: 2px solid var(--primary-color); cursor: pointer;
        transition: background-color 0.3s, color 0.3s; margin-top: 2rem;
    }
    .button--outline:hover { background-color: var(--primary-color); color: var(--secondary-color); }

   

    .button--whatsapp-form { background-color: #25D366; color: #fff; width: 100%; margin-top: 15px; display: flex; justify-content: center; align-items: center; gap: 8px; padding: 1.1rem; }
    .button--email-form { width: 100%; margin-top: 10px; display: flex; justify-content: center; align-items: center; gap: 8px; padding: 1.1rem; }

    .form__input:invalid {
        border-color: #ff6b6b;
    }

    .contact__form.submitted .form__input:invalid {
        border-color: red;
        background-color: #fff0f0;
    }


    .contact-pill { display: flex; align-items: center; width: fit-content; max-width: 100%; box-sizing: border-box; gap: 12px; padding: 10px 20px; margin-bottom: 10px; border-radius: 50px; background-color: #f8f9fa; border: 1px solid #e0e0e0; color: #555; font-weight: 500; font-size: 0.95rem; text-decoration: none; transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); cursor: pointer; box-shadow: 0 2px 5px rgba(0,0,0,0.10); }
    .contact-pill i { font-size: 1.2rem; color: var(--primary-color); transition: color 0.3s; flex-shrink: 0; }
    .contact-pill span { white-space: normal; word-break: break-word; overflow-wrap: break-word; line-height: 1.3; text-align: left; }
    .contact-pill:hover { transform: scale(1.05); background-color: var(--primary-color); color: #ffffff; border-color: var(--primary-color); box-shadow: 0 8px 15px rgba(0, 100, 2, 0.25); text-decoration: none; }
    .contact-pill:hover i { color: var(--accent-color); }

    /* ==========================================================================
            HEADER & NAV
    ========================================================================== */
    .header { width: 100%; background-color: rgba(3, 138, 61, 0.9); position: fixed; top: 0; left: 0; z-index: 100; box-shadow: 0 2px 4px rgba(0,0,0,0.2); backdrop-filter: blur(5px); transition: box-shadow 0.4s ease; }
    .header.scrolled-header { box-shadow: 0 4px 8px rgba(0,0,0,0.15); }
    .header.scrolled-header .nav { height: calc(var(--header-height) - 1.5rem); }
    .header.scrolled-header .nav__logo img { height: 70px; }

    .nav { height: var(--header-height); display: flex; justify-content: space-between; align-items: center; transition: height 0.4s ease; }
    .nav__logo img { height: 100px; width: auto; transition: height 0.4s ease; }
    .nav__list { display: flex; gap: 1.5rem; align-items: center; }
    .nav__link { color: #FFFFFF; font-weight: 500; position: relative; transition: color 0.3s; display: flex; align-items: center; gap: 5px; cursor: pointer; }
    .nav__link::after { content: ''; position: absolute; bottom: -5px; left: 0; width: 0; height: 2px; background-color: var(--accent-color); transition: width 0.3s; }
    .nav__link:hover { color: var(--accent-color); }
    .nav__link:hover::after, .nav__link.active-link::after { width: 100%; }
    .nav__link.active-link { color: var(--accent-color); }

    .nav__toggle { 
        font-size: 1.5rem; 
        cursor: pointer; 
        display: none; 
        color: var(--secondary-color);
        
        width: 50px;           
        height: 50px;          
        align-items: center;   
        justify-content: center;
        border-radius: 50%;     
        transition: background-color 0.3s; 
    }

    .nav__toggle:active {
        background-color: rgba(255, 255, 255, 0.1);
    }   
     
    .nav__close { 
        font-size: 1.5rem; 
        cursor: pointer; 
        display: none; 
        color: var(--secondary-color);
        
        position: absolute; 
        top: 1rem;    
        right: 1rem; 
        width: 44px;  
        height: 44px; 
        align-items: center;
        justify-content: center;
        display: flex; 
    }    
    .nav__mobile-header { display: none; }

    .nav__item--dropdown { position: relative; padding-bottom: 0; }
    .dropdown__icon { font-size: 0.7rem; transition: transform 0.3s ease; margin-left: 3px; }
    @media screen and (min-width: 993px) {
        .dropdown__menu { 
            position: absolute; 
            top: 140%; 
            left: 0; 
            background-color: rgba(3, 138, 61, 0.95); 
            border-radius: 0 0 8px 8px; 
            box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); 
            list-style: none; 
            padding: 0.5rem 0; 
            min-width: 200px; 
            z-index: 10; 
            opacity: 0; 
            visibility: hidden; 
            transform: translateY(15px); 
            transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s; 
            pointer-events: none;
    }


    .dropdown__menu::before {
        content: "";
        display: block;
        position: absolute;
        bottom: 100%; 
        left: 0;
        width: 100%;
        height: 30px;  
        background: transparent; 
    }

    .nav__item--dropdown:hover .dropdown__menu { 
        opacity: 1; 
        visibility: visible; 
        transform: translateY(0); 
        pointer-events: auto;
    }


        .nav__item--dropdown:hover .dropdown__icon { transform: rotate(180deg); }
        .dropdown__link { display: block; padding: 0.8rem 1.5rem; color: #fff; font-size: 0.95rem; position: relative; transition: all 0.3s; }
        .dropdown__link:hover { background-color: rgba(255,255,255,0.1); color: var(--accent-color); padding-left: 1.8rem; }
    }

    .overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); backdrop-filter: blur(5px); z-index: 98; opacity: 0; visibility: hidden; transition: opacity 0.4s ease, visibility 0.4s ease; }
    .overlay.active { opacity: 1; visibility: visible; }


    /* =========================================
        ESTILOS NUEVOS: MENÚ SITEMAP & BUSCADOR
    ========================================= */

   
    .nav__mobile-actions {
        display: none; 
        align-items: center;
        gap: 1.2rem;
    }

    .nav__search-mobile {
        font-size: 1.3rem;
        color: var(--secondary-color);
        cursor: pointer;
        transition: color 0.3s;
    }
    .nav__search-mobile:active {
        color: var(--accent-color);
    }

    .desktop-search-item {
        display: flex;
        align-items: center;
        margin-left: 10px;
    }
    .nav__search-icon {
        font-size: 1.1rem;
        color: #fff;
        cursor: pointer;
        transition: transform 0.3s, color 0.3s;
    }
    .nav__search-icon:hover {
        color: var(--accent-color);
        transform: scale(1.1);
    }

    /* =========================================
    SCROLLBAR PERSONALIZADO PARA MENÚ LATERAL
    ========================================= */

    #sitemap-menu {
        overflow-y: auto;
        overflow-x: hidden;
        
        -webkit-overflow-scrolling: touch;
        
        scrollbar-width: thin;
        scrollbar-color: var(--accent-color) rgba(0, 0, 0, 0.2);
    }


    #sitemap-menu::-webkit-scrollbar {
        width: 8px; 
    }

    #sitemap-menu::-webkit-scrollbar-track {
        background: rgba(0, 0, 0, 0.15); 
        border-radius: 0;
    }

    #sitemap-menu::-webkit-scrollbar-thumb {
        background-color: var(--accent-color); 
        border-radius: 10px;
        border: 2px solid transparent; 
        background-clip: content-box;
    }

    #sitemap-menu::-webkit-scrollbar-thumb:hover {
        background-color: #fff; 
    }


    .sitemap-menu {
        position: fixed;
        top: 0;
        left: -100%; 
        width: 300px;
        height: 100vh;
        background: rgba(3, 138, 61, 0.99);
        backdrop-filter: blur(5px);
        z-index: 105; 
        box-shadow: 5px 0 15px rgba(0,0,0,0.3);
        transition: left 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
        display: flex;
        flex-direction: column;
        overflow-y: auto; 
        scrollbar-width: thin;
    }

    .sitemap-menu.active {
        left: 0; 
    }

    .sitemap-header {
        padding: 1rem;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-bottom: 1px solid rgba(255,255,255,0.1);
        background-color: rgba(0,0,0,0.1);
    }

    .sitemap-header h3 {
        color: var(--accent-color);
        margin: 0;
        font-size: 1.2rem;
        text-transform: uppercase;
    }

    .sitemap-close {
        color: #fff;
        font-size: 1.5rem;
        cursor: pointer;
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        transition: background 0.3s;
    }
    .sitemap-close:hover {
        background-color: rgba(255,255,255,0.1);
        color: var(--accent-color);
    }

    .sitemap-content {
        padding: 1.5rem;
    }

    .sitemap-section {
        border-bottom: 1px solid rgba(255,255,255,0.05);
        padding-bottom: 1.5rem;
        margin-bottom: 1.5rem;
    }

    .sitemap-section:last-child {
        border-bottom: none;
        padding-bottom: 5rem;
      
    }

    .sitemap-section h4 {
        color: #fff;
        font-size: 1.1rem;
        border-bottom: 2px solid var(--accent-color);
        padding-bottom: 0.5rem;
        margin-bottom: 1rem;
        display: inline-block;
    }

    .sitemap-section ul {
        list-style: none;
        padding: 0;
    }

    .sitemap-section ul li {
        margin-bottom: 0.8rem;
    }

    .sitemap-section ul li a {
        color: rgba(255,255,255,0.9);
        text-decoration: none;
        font-size: 0.95rem;
        transition: color 0.3s, padding-left 0.3s;
        display: flex;
        align-items: center; 
        gap: 12px; 
        padding: 5px 0;
    }

    .sitemap-section ul li a:hover {
        color: var(--accent-color);
        padding-left: 5px;
    }

    .sitemap-section ul li a i {
        width: 20px; 
        text-align: center;
        color: var(--accent-color); 
        font-size: 1.1rem;
    }


    @media screen and (max-width: 992px) {
        .nav__mobile-actions {
            display: flex; 
        }
        
        .nav__toggle {
            display: flex; 
        }

        .desktop-search-item {
            display: none;
        }
    }

    @media screen and (max-width: 350px) {
        .sitemap-menu {
            width: 80%;
        }
    }


    /* =========================================
         BANNER DE COOKIES (ACTUALIZADO)
    ========================================= */
    .cookie-banner {
        position: fixed;
        bottom: 12vh;
        left: 20px;
        background-color: #fff;
        border-left: 5px solid var(--primary-color);
        box-shadow: 0 5px 20px rgba(0,0,0,0.15);
        padding: 1.5rem;
        border-radius: 8px;
        z-index: 1000;
        display: none; 
        animation: slideInUp 0.5s ease-out;
        max-width: 600px;
        margin: 0 auto;
    }

    .cookie-content {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1.5rem;
        flex-wrap: wrap;
    }

    .cookie-banner p {
        margin: 0;
        font-size: 0.9rem;
        color: #444;
        flex: 1;
        line-height: 1.4;
        min-width: 200px; /* Para asegurar que el texto no se aplaste */
    }

    .cookie-banner a {
        color: var(--primary-color);
        text-decoration: underline;
        font-weight: 600;
    }

    /* Wrapper para los botones */
    .cookie-buttons-wrapper {
        display: flex;
        gap: 10px;
    }

    .cookie-btn {
        background-color: var(--primary-color);
        color: #fff;
        border: 2px solid var(--primary-color); /* Agregado borde */
        padding: 0.6rem 1.2rem;
        border-radius: 50px;
        cursor: pointer;
        font-weight: 600;
        font-size: 0.9rem;
        transition: background 0.3s, color 0.3s;
        white-space: nowrap;
    }

    .cookie-btn:hover {
        background-color: var(--dark-color);
        border-color: var(--dark-color);
    }

    /* Estilo para el botón Rechazar */
    .cookie-btn--outline {
        background-color: transparent;
        color: #555;
        border: 2px solid #ccc;
    }

    .cookie-btn--outline:hover {
        background-color: #f0f0f0;
        border-color: #bbb;
        color: #333;
    }

    @keyframes slideInUp {
        from { transform: translateY(100px); opacity: 0; }
        to { transform: translateY(0); opacity: 1; }
    }

    @media (max-width: 600px) {
        .cookie-banner { bottom: 0; left: 0; right: 0; border-radius: 0; border-left: none; border-top: 4px solid var(--primary-color); }
        .cookie-content { flex-direction: column; text-align: center; }
        .cookie-buttons-wrapper { width: 100%; justify-content: center; gap: 15px; }
        .cookie-btn { flex: 1; }
    }

    @media (max-width: 768px) {
        .cookie-banner {bottom: 25; left: 0; right: 0; border-radius: 0; border-left: none; border-top: 4px solid var(--primary-color);}
    
    
        }



    /* ==========================================================================
        HERO SECTIONS
    ========================================================================== */

    .home { position: relative; width: 100%; overflow: hidden; }

  
    #page-home .home { height: 110vh; min-height: 600px; }
    #page-home .home-swiper, #page-home .home-swiper .swiper-slide { width: 100%; height: 100%; }
    #page-home .home-swiper .swiper-slide {
        display: flex;
        align-items: center;
        justify-content: center;
        padding-bottom: 20vh;
        padding-top: var(--header-height);
    }
    #page-home .home__content {
        text-align: center;
        width: 100%;
        max-width: 1000px;
        margin-top: -5vh;
    }

    .home__content h1, 
    .home__content h2 { 
        color: var(--accent-color);
        font-family: 'Poppins', sans-serif;
        font-weight: 900;           
        text-transform: uppercase;
        font-size: 3.5rem;          
        line-height: 1.1;
        letter-spacing: 2px;        
        margin-bottom: 1.5rem;
        
        text-shadow: 0 4px 10px rgba(0, 0, 0, 0.8), 
                    0 10px 20px rgba(0,0,0,0.5); 
                    
        position: relative;
        display: inline-block;      
    }



    .home__content p { 
        font-size: 1.35rem; 
        color: #fdfdfc;             
        font-weight: 300;           
        line-height: 1.7;         
        text-shadow: 0 2px 4px rgba(0,0,0,0.9);
        margin-bottom: 2.5rem;
        max-width: 800px;
        margin-left: auto;
        margin-right: auto;
        letter-spacing: 0.5px;      
    }

    .home__content p strong {
        color: var(--accent-color);
        font-weight: 700;           
    }

    @media (max-width: 768px) {
        .home__content h1, 
        .home__content h2 { 
            font-size: 2.2rem;      
            letter-spacing: 1px;
        }
        
        .home__content h1::after,
        .home__content h2::after {
            width: 40px;           
            height: 3px;
            margin-top: 1rem;
        }

        .home__content p { 
            font-size: 1.1rem; 
            font-weight: 400;       
            line-height: 1.5;
        }
    }


    .location-badge {
        display: inline-block; 
        background-color: rgba(255, 255, 255, 0.15); 
        border: 1px solid rgba(255, 255, 255, 0.3); 
        backdrop-filter: blur(4px); 
        padding: 8px 20px; 
        border-radius: 50px; 
        margin-top: 15px; 
        
        color: #ffffff;
        font-weight: 600;
        text-transform: uppercase;
        font-size: 0.85em; 
        letter-spacing: 1px;
        box-shadow: 0 4px 10px rgba(0,0,0,0.1); 
    }

    @media screen and (max-width: 768px) {
        .location-badge {
            padding: 6px 15px;
            font-size: 0.8em;
            margin-top: 10px;
        }
    }

    #page-guarda .home, #page-mudanza .home { height: 110vh; min-height: 550px; }
    #page-guarda .home-swiper .swiper-slide, #page-mudanza .home-swiper .swiper-slide {
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding-bottom: 22vh;
        padding-top: var(--header-height);
    }
    #page-guarda .home__content, #page-mudanza .home__content {
        margin-top: -5vh
    }

    #page-zonas .home, #page-faq .home {
        height: 70vh; min-height: 550px;
        display: flex; flex-direction: column; justify-content: center; align-items: center;
        text-align: center; padding-top: var(--header-height);
    }
    #page-zonas .home-swiper, #page-faq .home-swiper { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }
    #page-zonas .home__content, #page-faq .home__content { position: relative; z-index: 3; width: 100%; padding: 0 1.5rem; }
    #page-zonas .home__content h1, #page-faq .home__content h1, #page-zonas .home__content p, #page-faq .home__content p { opacity: 1; transform: none; }

    #page-contacto .home {
        height: 75vh; min-height: 550px;
        display: flex; flex-direction: column; justify-content: center; align-items: center;
        text-align: center; padding-top: var(--header-height);
    }
    #page-contacto .home__content { z-index: 3; padding: 0 1.5rem; width: 100%; max-width: 1000px; }

    #page-contacto .home__content h1, #page-contacto .home__content p, #page-contacto .button, #page-contacto .scroll__down { animation: fadeInUpContact 0.8s ease-out forwards; opacity: 0; }
    #page-contacto .home__content h1 { animation-delay: 0s; }
    #page-contacto .home__content p { animation-delay: 0.3s; }
    #page-contacto .button { animation-delay: 0.6s; }
    #page-contacto .scroll__down { animation-delay: 0.9s; }
    @keyframes fadeInUpContact { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }

    #page-error .error-section { min-height: 80vh; display: flex; align-items: center; justify-content: center; padding-top: var(--header-height); }

    .home__bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: center; z-index: 1; }
    .home__bg::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.2); z-index: 2; }
    #page-home .home__bg::before { background-color: rgba(0, 0, 0, 0.2); }
    #page-contacto .home__bg::before { background-color: rgba(0, 0, 0, 0.65); }
    .swiper-slide-active .home__bg { animation: kenburns 10s ease-out forwards; }
    @keyframes kenburns { 0% { transform: scale(1); } 100% { transform: scale(1.1); } }

    .home__content h1 {
        font-size: 3.5rem;
        color: var(--secondary-color);
        margin-bottom: 1rem;
        text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
        font-weight: 800;
        line-height: 1.1;
        text-transform: uppercase;
    }

    #page-home .home__content h1,
    #page-home .home__content h2,
    #page-guarda .home__content h1,
    #page-guarda .home__content h2,
    #page-mudanza .home__content h1,
    #page-mudanza .home__content h2, 
    #page-zonas .home__content h1,
    #page-zonas .home__content h2, 
    #page-faq .home__content h1, 
    #page-faq .home__content h2,
    #page-contacto .home__content h1,
    #page-contacto .home__content h2 {
    color: var(--accent-color);
    text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.9);
    }

    #page-home .home__content h1.hero-title {
    font-size: 3.3rem;
    color: var(--accent-color);
    }

    .home__content p { font-size: 1.4rem; margin-bottom: 2rem; color: #f0f0f0; font-weight: 500; }

    #page-home .swiper-slide-active .home__content h1,
    #page-guarda .swiper-slide-active .home__content h1,
    #page-mudanza .swiper-slide-active .home__content h1,
    #page-home .swiper-slide-active .home__content h2,
    #page-guarda .swiper-slide-active .home__content h2,
    #page-mudanza .swiper-slide-active .home__content h2 {
    opacity: 1; transform: translateY(0); transition: 0.6s ease-out 0.5s;
    }

    #page-home .swiper-slide-active .home__content p,
    #page-guarda .swiper-slide-active .home__content p,
    #page-mudanza .swiper-slide-active .home__content p {
    opacity: 1; transform: translateY(0); transition: 0.6s ease-out 0.7s;
    }

    .home__brand { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-bottom: 1.5rem; opacity: 0; transform: translateY(40px); transition: 0.6s ease-out; }
    .swiper-slide-active .home__brand { opacity: 1; transform: translateY(0); transition-delay: 0.3s; }
    .home__brand-logo { display: block; height: 350px; width: auto; margin: 0 auto -60px; filter: drop-shadow(0 4px 6px rgba(0,0,0,0.8)); }
    .hero-title { font-size: 2.6rem; line-height: 1.1; color: var(--accent-color); text-shadow: 4px 4px 0px #000000; margin-top: 0; margin-bottom: 1rem; text-transform: uppercase; font-weight: 800; }
    .typewriter-container { display: flex; justify-content: center; width: 100%; margin-bottom: 1rem; }
    .hero-text-animated {
        font-family: 'Poppins', sans-serif;
        font-size: 1.8rem;
        font-weight: 600;
        color: #ffffff;
        text-shadow: 3px 3px 0px #000000, 0 0 15px rgba(0,0,0,0.8);
        display: inline-block;
        overflow: hidden;
        white-space: nowrap;
        margin: 0;
        width: 0;
        opacity: 1;
        position: relative;
    }

    .hero-text-animated::after {
        content: '';
        position: absolute;
        right: 0;
        top: 10%; 
        height: 80%; 
        width: 3px;
        background-color: var(--accent-color);
        display: block;
        animation: blink-opacity 0.75s step-end infinite;
    }

    .swiper-slide-active .hero-text-animated {
        animation: typing 3s steps(25, end) forwards;
        animation-delay: 0.2s;
        opacity: 1 !important; 
        visibility: visible !important;
    }

    @keyframes typing { 
        from { width: 0; } 
        to { width: 25ch; } 
    }

    @keyframes blink-opacity {
        from, to { opacity: 0; }
        50% { opacity: 1; }
    }
    


    /* =========================================
    HERO ACTIONS (ESCRITORIO: APILADOS VERTICALMENTE)
    ========================================= */

    .hero-actions-wrapper {
        position: relative;
        width: fit-content; 
        margin: 2rem auto; 
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .hero-trigger-btn,
    .home__content .button {
        position: relative;
        z-index: 20;
        overflow: hidden; 
        
        border: 2px solid #fff; 
        font-size: 1.1rem;
        animation: glow-pulse 3s infinite;
        
        will-change: box-shadow; 
    }

    .hero-trigger-btn::after,
    .home__content .button::after {
        content: '';
        position: absolute;
        top: 0;
        left: -150%;
        width: 100%;
        height: 100%;
        
        background: linear-gradient(
            90deg, 
            transparent, 
            rgba(255, 255, 255, 0.6), 
            transparent
        );
        
        transform: skewX(-20deg);
        
        animation: none; 
        pointer-events: none;
        will-change: transform
    }

    body.page-loaded .hero-trigger-btn::after,
    body.page-loaded .home__content .button::after {
        animation: shimmer 3s infinite;
    }

    @keyframes glow-pulse {
        0% { box-shadow: 0 0 0 0 rgba(249, 230, 15, 0.7); }
        50% { box-shadow: 0 0 20px 5px rgba(249, 230, 15, 0.3); }
        100% { box-shadow: 0 0 0 0 rgba(249, 230, 15, 0); }
    }

    @keyframes shimmer {
        0% { left: -150%; }
        20% { left: 150%; } 
        100% { left: 150%; } 
    }

  
    .hero-trigger-btn:hover,
    .home__content .button:hover {
        animation: none; 
        background-color: #fff;
        color: var(--primary-color);
        border-color: var(--accent-color);
        box-shadow: 0 10px 25px rgba(0,0,0,0.3);
    }

    .hero-trigger-btn:hover::after,
    .home__content .button:hover::after {
        animation: none;
        display: none; 
    }
    
    

    /* =========================================
    LÓGICA DE ESCRITORIO (APILADO VERTICAL)
    (Min-width 993px)
    ========================================= */
    @media screen and (min-width: 993px) {

        .hero-quick-menu { display: none !important; }

        .desktop-group {
            position: absolute;
            top: 50%; 
            display: flex;
            flex-direction: column; 
            gap: 10px; 
            z-index: 10;
            
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            
            transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
        }

        .left-group {
            right: 100%; 
            align-items: flex-end; 
            padding-right: 0;
            transform: translate(30px, -50%); 
        }

        .right-group {
            left: 100%;
            align-items: flex-start; 
            padding-left: 0;
            transform: translate(-30px, -50%);
        }

        .hero-actions-wrapper.active .left-group {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
            padding-right: 20px; 
            transform: translate(0, -50%);
        }

        .hero-actions-wrapper.active .right-group {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
            padding-left: 20px; 
            transform: translate(0, -50%);
        }

        .hero-sub-btn {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 0.7rem 1.2rem;
            
            background-color: rgba(0, 0, 0, 0.85); 
            backdrop-filter: blur(5px);
            -webkit-backdrop-filter: blur(5px); 
            
            color: #fff;
            border-radius: 50px;
            font-size: 1rem;
            font-weight: 500;
            text-transform: uppercase;
            border: 1px solid rgba(255, 255, 255, 0.3);
            
            transition: all 0.3s ease;
            
            white-space: nowrap;
            text-decoration: none;
            box-shadow: 0 4px 10px rgba(0,0,0,0.3);
            min-width: 180px;
            justify-content: center;

            -webkit-font-smoothing: antialiased; 
            -moz-osx-font-smoothing: grayscale;
            backface-visibility: hidden;         
            -webkit-backface-visibility: hidden;
            transform: translateZ(0);           
            will-change: transform;            
        }

        .hero-sub-btn:hover {
            background-color: var(--primary-color);
            border-color: var(--primary-color);
            transform: translateY(-3px);
        }

        .hero-sub-btn i { color: var(--accent-color); }

        .hero-sub-btn.highlight {
            background-color: var(--accent-color);
            color: var(--dark-color);
            border: none;
            font-weight: 700;
        }
        
        .hero-sub-btn.highlight i { color: var(--dark-color); }

        .hero-sub-btn.highlight:hover {
            background-color: #fff;
            color: var(--primary-color);
        }
    }
    
    /* =========================================
    LÓGICA MÓVIL: SOLO ESTRUCTURA VISUAL (FINAL)
    (Max-width 992px)
    ========================================= */
    @media screen and (max-width: 992px) {

        .desktop-group { display: none !important; }

     
        body.menu-open .floating-buttons,
        body.menu-open .fab-back,
        body.menu-open .home__bottom-nav
        {
            opacity: 0 !important;
            visibility: hidden !important;
            pointer-events: none !important;
            display: none !important; 
        }

        .hero-actions-wrapper.active::before {
            content: '';
            position: fixed;
            top: 0; left: 0; width: 100%; height: 100%;
            
            background: rgba(0, 0, 0, 0.7); 
            z-index: 999998; 
            animation: fadeIn 0.2s ease forwards; 
            will-change: opacity;
        }

        .hero-quick-menu {
            position: fixed !important;
            bottom: 0 !important;
            left: 0 !important;
            right: 0 !important;
            z-index: 2147483647 !important;
            width: 100% !important;
            max-width: none !important;
            margin: 0 !important;
            max-height: 85vh !important;
            overflow-y: auto !important;
            will-change: transform;
            background: #ffffff !important;
            border-radius: 25px 25px 0 0 !important; 
            box-shadow: 0 -5px 20px rgba(0,0,0,0.2) !important;
            padding: 30px 20px 40px 20px !important; 
            display: flex !important;
            flex-direction: column !important;
            gap: 25px !important; 
            transform: translate3d(0, 100%, 0);
            transition: visibility 0.3s, transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1) !important ; 
            visibility: hidden; 
        }



        .hero-quick-menu::after {
            content: "";
            display: block;
            min-height: 120px; 
            width: 100%;
            flex-shrink: 0; 
        }
        .hero-actions-wrapper.active .hero-quick-menu {
            transform: translate3d(0, 0, 0) !important;
            visibility: visible !important;
        }

        .menu-close-btn {
            position: absolute !important;
            top: 20px !important;
            right: 20px !important;
            width: 36px !important;
            height: 36px !important;
            background-color: #f0f0f0 !important;
            border-radius: 50% !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            color: #555 !important;
            font-size: 1.1rem !important;
            z-index: 10 !important;
            cursor: pointer !important;
        }

        .menu-group {
            width: 100% !important;
            display: flex !important;
            flex-direction: column !important;
            gap: 12px !important; 
            margin: 0 !important;
            padding: 0 !important;
            border: none !important;
        }
        
        .menu-label {
            color: #888 !important; 
            font-size: 0.8rem !important;
            font-weight: 800 !important;
            text-transform: uppercase !important;
            letter-spacing: 1.5px !important;
            margin-bottom: 5px !important;
            margin-left: 5px !important; 
            display: block !important;
            text-align: left !important;
        }
        .menu-group:first-child .menu-label { margin-top: 0; padding-right: 40px; }
        
        .menu-item {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important; 
            
            width: 100% !important;
            padding: 16px 20px !important; 
            
            background-color: #f4f6f8 !important; 
            border: 1px solid #ebedf0 !important;
            border-radius: 16px !important; 
            
            color: #333 !important; 
            font-size: 1.05rem !important;
            font-weight: 600 !important;
            text-decoration: none !important;
            
            box-shadow: 0 2px 5px rgba(0,0,0,0.03) !important; 
            transition: transform 0.2s, background-color 0.2s !important;
        }

        .menu-item:active {
            transform: scale(0.98) !important; 
            background-color: #eef0f2 !important;
        }

        .menu-item i {
            font-size: 1.3rem !important;
            color: var(--primary-color) !important; 
            margin-right: 15px !important;
            width: 30px !important;
            text-align: center !important;
        }
        
        .menu-item.highlight {
            background-color: var(--accent-color) !important; 
            border: 1px solid rgba(0,0,0,0.05) !important;
            color: #000 !important; 
            box-shadow: 0 4px 15px rgba(249, 230, 15, 0.4) !important; 
        }
        
        .menu-item.highlight i { color: var(--dark-color) !important; }
        
        .menu-divider { display: none; }
        
        @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
    }
        
    .home__bottom-nav { position: absolute; left: 0; right: 0; z-index: 10; display: flex; flex-direction: column; align-items: center; gap: 1rem; pointer-events: auto; }
    #page-home .home__bottom-nav, #page-guarda .home__bottom-nav, #page-mudanza .home__bottom-nav { bottom: 20vh; }
    #page-zonas .home__bottom-nav, #page-faq .home__bottom-nav { bottom: 2vh; }
    #page-contacto .home__bottom-nav { bottom: 15vh; }

    .scroll__down { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 2px solid #fff; border-radius: 50%; color: #fff; font-size: 1.2rem; animation: bounce 2.5s infinite; transition: background-color 0.3s; }
    .scroll__down:hover { background-color: rgba(255, 255, 255, 0.2); animation-play-state: paused; }
    @keyframes bounce { 0%, 20%, 50%, 80%, 100% { transform: translateY(0); } 40% { transform: translateY(-15px); } 60% { transform: translateY(-7px); } }

    .swiper-pagination-bullet { width: 14px; height: 14px; background-color: #fff; opacity: 0.7; margin: 0 5px !important; }
    .swiper-pagination-bullet-active { background-color: var(--accent-color); opacity: 1; }
    .home-swiper .swiper-button-next, .home-swiper .swiper-button-prev { color: var(--accent-color); opacity: 0; visibility: hidden;  transition: opacity 0.3s ease, visibility 0.3s ease; }
    .home-swiper:hover .swiper-button-next, .home-swiper:hover .swiper-button-prev { opacity: 1; visibility: visible; }

    .swiper-pagination-bullet {
        position: relative; 
        margin: 0 8px !important; 
    }

    .swiper-pagination-bullet::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 48px; 
        height: 48px; 
        background: transparent; 
        cursor: pointer;
        z-index: 10;
    }

   
    .pagination-btn {
        min-width: 48px; 
        min-height: 48px;
         border: 2px solid var(--primary-color); 
    color: var(--primary-color); 
    background: #fff;
    }


    /* ==========================================================================
    UI COMPONENTS
    ========================================================================== /
    / Quick Contact */
    .quick-contact { background-color: var(--primary-color); color: var(--secondary-color); padding: 1rem 0 10rem 0; text-align: center; position: relative; margin-top: 0; margin-bottom: 3rem; z-index: 10; }
    
    .quick-contact__content {
        max-width: 900px;
        margin: 0 auto;
        padding: 0 20px; 
        padding-bottom: 2rem;
        position: relative;
        z-index: 5;
        text-align: center; 
    }
    .intro-text {
        font-size: 1.25rem;    
        line-height: 1.8;       
        color: #ffffff;        
        font-weight: 300;       
        margin-bottom: 1.5rem;
    }
    .intro-text strong {
        color: var(--accent-color);
        font-weight: 700;      
    }
    .quick-contact__content p {
        font-size: 1.2rem;      
        line-height: 1.6;       
        color: #ffffff;         
        font-weight: 400;       
        margin-bottom: 1.5rem;
        max-width: 800px;
        margin-left: auto;
        margin-right: auto;
    }    

    .quick-contact__content p strong {
        color: var(--accent-color);
        font-weight: 700;
    }

    .quick-contact__subtext {
        font-size: 1.1rem !important;
        color: rgba(255, 255, 255, 0.9) !important;
        margin-bottom: 3rem !important; 
        display: inline-block;
        background: rgba(0,0,0,0.1);   
        padding: 8px 20px;
        border-radius: 50px;
    }    
    .contact-divider {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 20px;            
        width: 100%;
        margin-top: 1rem;
    }

    .contact-header {
        font-size: 2.0rem;     
        font-weight: 900;     
        color: #ffffff;
        text-transform: uppercase;
        letter-spacing: 4px;  
        margin: 0;
        line-height: 1;
        text-shadow: 0 4px 10px rgba(0,0,0,0.2); 
    }

    .contact-divider .line {
        height: 3px;
        background-color: var(--accent-color); 
        flex-grow: 1;          
        max-width: 100px;      
        border-radius: 2px;
    }

   @media (max-width: 768px) {
        .quick-contact__content {
            padding-left: 25px;
            padding-right: 25px;
        }

        .quick-contact__content p {
            font-size: 1.05rem; 
            line-height: 1.5;
            text-align: center; 
        }
        
        .contact-header {
            font-size: 1.6rem;   
            letter-spacing: 1px; 
        }

        .contact-divider {
            gap: 10px;      
            width: 100%;     
            box-sizing: border-box; 
        }

        .contact-divider .line {
            flex-grow: 1;    
            height: 3px;   
            
            min-width: 30px; 
            max-width: none; 
        }
    }
    
    .quick-contact__cta { display: inline-block; font-weight: 700; color: var(--secondary-color); text-transform: uppercase; letter-spacing: 1px; border-bottom: 3px solid var(--accent-color); padding-bottom: 4px; transition: color 0.3s ease, border-bottom-color 0.3s ease; cursor: pointer; font-size: 1.1rem; }
    .quick-contact__cta:hover { color: var(--accent-color); border-bottom-color: transparent; }

    .custom-shape-divider-top, .custom-shape-divider-bottom { position: absolute; left: 0; width: 150%; overflow: hidden; line-height: 0; z-index: 1; }
    .custom-shape-divider-top svg, .custom-shape-divider-bottom svg { position: relative; display: block; width: calc(100% + 1.3px); height: 60px; }
    .custom-shape-divider-top {
        top: 0;
        transform: translateY(-99%);
    }
    .custom-shape-divider-top .shape-fill { fill: var(--primary-color); }
    .custom-shape-divider-bottom { bottom: -1px; }
    .custom-shape-divider-bottom .shape-fill { fill: var(--secondary-color); }

    .quick-cards-container { display: flex; justify-content: center; gap: 2rem; position: absolute; bottom: -12%; left: 50%; transform: translate(-50%, 50%); width: 100%; max-width: 1600px; padding: 0 1.5rem; z-index: 10; }
    .quick-card { background-color: #fff; padding: 2rem; flex: 1; max-width: 480px; box-shadow: 0 10px 30px rgba(0,0,0,0.10); display: flex; align-items: flex-start; gap: 1.5rem; text-align: left; border-radius: 12px; transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s ease; border: 1px solid rgba(0,0,0,0.05); }
    .quick-card:hover {
        transform: translateY(-5px); 
        box-shadow: 0 20px 40px rgba(0, 100, 2, 0.25); 
        border-color: rgba(0, 100, 2, 0.2);
    }
    .quick-card:active { transform: scale(0.96); background-color: #f0f0f0; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
    .quick-card__icon-box { flex-shrink: 0; width: 50px; height: 50px; background-color: rgba(0, 100, 2, 0.1); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
    .quick-card__icon-box i { font-size: 1.5rem; color: var(--primary-color); }
    .quick-card__info { width: 100%; }
    .quick-card__info .quick-card__title { color: var(--dark-color); font-size: 0.95rem; font-weight: 800; margin-bottom: 1rem; margin-top: 0; text-transform: uppercase; letter-spacing: 1px; border-bottom: 2px solid var(--accent-color); display: inline-block; padding-bottom: 5px; }
    .info-content p { font-size: 0.95rem; color: #555; margin-bottom: 0.2rem; line-height: 1.5; }
    .contact-links { display: flex; flex-direction: column; gap: 8px; }
    .sub-text { font-size: 0.8rem !important; color: #999 !important; margin-top: 5px; font-style: italic; }

    .services__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; }
    .service__card { background-color: transparent; min-height: 550px; perspective: 1000px; cursor: pointer; border-radius: 10px;  transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
    .service__card-inner { position: relative; width: 100%; height: 100%; text-align: center; transition: transform 0.5s cubic-bezier(0.4, 0.2, 0.2, 1); transform-style: preserve-3d;  will-change: transform; box-shadow: 0 5px 15px rgba(0,0,0,0.15); border-radius: 10px; border: 1px solid #eee; }
    .service__card.is-flipped .service__card-inner { transform: rotateY(180deg); }
    
    .service__card-front, .service__card-back { position: absolute; width: 100%; height: 100%; -webkit-backface-visibility: hidden; backface-visibility: hidden; transform-style: preserve-3d; border-radius: 10px; padding: 1rem; display: flex; flex-direction: column; justify-content: center; align-items: center; background-color: #fff; top: 0; left: 0; }
    
    .service__card-front {
        z-index: 2; 
        background-color: #ffffff; 
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden; 
        transform: rotateY(0deg); 
        display: flex;
        flex-direction: column;
        justify-content: flex-start; 
        overflow: hidden; 
    }

    .service__card-back { transform: rotateY(180deg); backface-visibility: hidden; -webkit-backface-visibility: hidden; background-color: #fff; border: 2px solid var(--primary-color); overflow: hidden; padding: 2rem 1.5rem 1.5rem 1.5rem; z-index: 1; display: flex; flex-direction: column; justify-content: space-between; }
       
    
    .service__card:not(.is-flipped):hover .service__card-inner { transform: translateY(-10px); box-shadow: 0 25px 55px rgba(0, 0, 0, 0.15); }
    .service__card.is-flipped .service__card-front {
        z-index: 1;
    }
    .service__card.is-flipped .service__card-back {
        z-index: 2;
    }

    .service__card.is-flipped:hover .service__card-inner { transform: rotateY(180deg) translateY(-10px); box-shadow: 0 25px 55px rgba(0, 0, 0, 0.15); }
    .service__card.is-flipped, .service__card.is-flipped:hover { box-shadow: none !important; transition: box-shadow 0s linear; }

    .service__card.is-closing, .service__card.is-closing:hover { pointer-events: none; box-shadow: none !important; transition: box-shadow 0s linear; }
    .service__card.is-closing .service__card-inner { transform: rotateY(0deg); }
    .close-card-btn { position: absolute; top: 10px; right: 10px; width: 22px; height: 22px; background-color: #f0f0f0; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 20; color: #666; font-size: 1rem; transition: all 0.2s ease; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }
    .close-card-btn:hover { background-color: var(--accent-color); color: var(--dark-color); transform: scale(1.1); }
    .service__icon { font-size: 3rem; color: var(--primary-color); margin-bottom: 1rem; margin-top: 3rem; text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.25); }
 
    .service__card-front h3 {min-height: 3.5rem; display: flex; align-items: center;     justify-content: center;margin-bottom: 1rem;}

    .service__card-front p {display: block; visibility: visible; text-align: center;text-wrap: balance; color: #444; font-size: 0.95rem; line-height: 1.6; max-width: 90%; margin: 0 auto 1.5rem auto; margin-bottom: auto; max-height: none;  overflow: visible; opacity: 1;}
    
    .service__card-front p strong {font-weight: 700;color: var(--dark-color); /* O negro */}
    .service__card-front p .highlight-text {color: var(--primary-color); /* Tu verde #006402 */font-weight: 600;background-color: rgba(0, 100, 2, 0.05); padding: 0 4px;border-radius: 4px;}

    .service__card h3 { font-size: 1.3rem; margin-bottom: 3rem; line-height: 1.3; }
    .service__card-back h3 {font-size: 1.2rem;color: var(--dark-color);margin-bottom: 1rem;border-bottom: 2px solid var(--accent-color); padding-bottom: 10px;display: inline-block;}
    
    
    .service__list {
        flex: 1; 
        width: 100%; 
        margin-bottom: 1rem; 
        overflow: hidden; 
        text-align: left;
        position: relative;
        touch-action: pan-y; 
        cursor: auto; 
        user-select: text; 
        -webkit-user-select: text;
    }

    .service__list li {
        transition: opacity 0.3s ease, transform 0.3s ease;
        opacity: 1;
        transform: translateX(0);
    }
    
    .service__list li::before { content: '\f054'; font-family: "Font Awesome 5 Free"; font-weight: 900; color: var(--primary-color); position: absolute; left: 0; font-size: 0.7rem; top: 4px; }
    
    .fade-exit-left { animation: fadeOutLeft 0.3s forwards; }
    .fade-enter-right { animation: fadeInRight 0.3s forwards; opacity: 0; }
    .fade-exit-right { animation: fadeOutRight 0.3s forwards; }
    .fade-enter-left { animation: fadeInLeft 0.3s forwards; opacity: 0; }


    @keyframes fadeOutLeft { from { opacity: 1; transform: translateX(0); } to { opacity: 0; transform: translateX(-20px); } }
    @keyframes fadeInRight { from { opacity: 0; transform: translateX(20px); } to { opacity: 1; transform: translateX(0); } }
    @keyframes fadeOutRight { from { opacity: 1; transform: translateX(0); } to { opacity: 0; transform: translateX(20px); } }
    @keyframes fadeInLeft { from { opacity: 0; transform: translateX(-20px); } to { opacity: 1; transform: translateX(0); } }
        
    
    .desktop-pagination-controls { display: flex; justify-content: center; align-items: center; gap: 15px; margin-bottom: 10px; width: 100%; }
    .pagination-btn { background: transparent; border: 2px solid var(--primary-color); color: var(--primary-color); width: 60px; height: 40px; border-radius: 50px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.3s ease; }
    .pagination-btn:hover:not(:disabled) { background-color: var(--primary-color); color: #fff; }
    .pagination-btn:disabled { opacity: 0.3; cursor: default; border-color: #ccc; color: #ccc; }

    .service__card-buttons {display: flex;flex-direction: row;flex-wrap: nowrap;justify-content: space-between; align-items: center;gap: 10px;width: 100%;margin-top: auto;padding-top: 10px;}
    .service__card-buttons .button--outline {
        flex: 1;
        width: auto;
        margin-top: 0;
        
        padding: 8px 5px; 
        font-size: 0.75rem;
        
        min-height: 40px;  
        height: auto;     
        
        display: flex;
        align-items: center;
        justify-content: center;
        
        white-space: normal; 
        line-height: 1.2;    
        text-align: center;  
        word-break: break-word; 
    }    
    .tap-instruction { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 2.5rem; margin-bottom: 5rem;   transition: color 0.3s ease; font-size: 0.8rem; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: #666; pointer-events: none;  margin-top: auto;}
    .tap-instruction i { position: relative; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background-color: var(--primary-color); color: #fff; font-size: 0.9rem; z-index: 1; }
    .tap-instruction i::after {
        content: '';
        position: absolute;
        width: 100%;
        height: 100%;
        border-radius: 50%;
        background-color: inherit;
        z-index: -1;
        animation: ripple-gpu 2s infinite cubic-bezier(0, 0, 0.2, 1);
        will-change: transform, opacity;
    } 

    .service__list li {
        list-style: none;
        position: relative;
        padding-left: 1.8rem; 
        margin-bottom: 0.8rem;
        color: #555; 
        font-size: 0.9rem;
        line-height: 1.5;
        text-align: left; 
        border-bottom: 1px dotted #eee; 
        padding-bottom: 0.8rem;
    }

    .service__list li::before {
        content: '\f00c'; 
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        color: var(--primary-color); 
        position: absolute;
        left: 0;
        top: 2px;
        font-size: 0.9rem;
        background-color: rgba(0, 100, 2, 0.1); 
        width: 20px;
        height: 20px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .service__list li strong {
        color: var(--primary-color); 
        font-weight: 700;
        display: block; 
        margin-bottom: 2px;
    }

    .service__card-buttons {
        gap: 8px;
        padding-top: 15px;
        border-top: 1px solid #eee;
        margin-top: auto;
    }

    .service__card-buttons .button--outline {
        font-size: 0.75rem;
        padding: 0 10px;
        height: 40px;
        border-radius: 6px; 
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .service__card-buttons .btn-primary {
        background-color: var(--primary-color);
        color: #fff;
        border: 1px solid var(--primary-color);
        flex: 1.3;
    }
    .service__card-buttons .btn-primary:hover {
        background-color: #004d02;
    }

    .service__card-buttons .btn-secondary {
        background-color: transparent;
        color: #666;
        border: 1px solid #ccc;
        flex: 0.7;
    }
    .service__card-buttons .btn-secondary:hover {
        border-color: var(--primary-color);
        color: var(--primary-color);
    }
    
    
    @media (min-width: 992px) { 
    .service__card:hover .tap-instruction i::after { animation: none; }
    .service__card:hover .tap-instruction i { 
        background-color: var(--accent-color); 
        color: var(--dark-color); 
        transform: scale(1.15); 
    } 
    .service__card:hover .tap-instruction { color: var(--primary-color); } 
    }

    @keyframes ripple-gpu {
        0% { transform: scale(1); opacity: 0.6; }
        100% { transform: scale(2.2); opacity: 0; }
    }

    @media (max-width: 992px) {

     .service__card {
        height: 550px !important; 
        min-height: 550px !important;
        perspective: 1000px;
        margin-bottom: 2rem; 
    }
    .service__card-inner {
        height: 100% !important;
        transform-style: preserve-3d;
    }

    .service__card.is-flipped .service__card-inner {
        transform: rotateY(180deg);
    }

    .service__card-front p {
        flex-grow: 0;
        margin-bottom: 2rem;
        width: 100%;
        max-width: 100%;
        display: block;
    }

    .service__card-front {
        position: absolute !important; 
        top: 0; left: 0;
        width: 100%; 
        height: 100%;
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
        z-index: 2;
        background-color: #fff;
        display: flex;
        flex-direction: column;
        justify-content: center; 
        align-items: center;
        padding: 1.5rem;
    }

    .tap-instruction {
        margin-top: auto; 
        margin-bottom: 0;
    }
    
    .service__list {
        flex: 1;                     
        overflow-y: auto;   
              
    }
}


    .services__footer-banner { background-color: var(--primary-color); margin-top: 4rem; padding: 2rem; border-radius: 15px; display: flex; justify-content: space-between; align-items: center; box-shadow: 0 10px 25px rgba(0, 100, 2, 0.25); position: relative; overflow: hidden; flex-wrap: wrap; gap: 1.5rem; }
    .services__footer-banner::before { content: ''; position: absolute; top: -50%; left: -10%; width: 200px; height: 200px; background-color: rgba(255,255,255,0.05); border-radius: 50%; }
    .services__banner-content h3 { font-size: 1.6rem; margin-bottom: 0.3rem; color: #fff; }
    .services__banner-content p { color: var(--accent-color); font-size: 1.1rem; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; margin: 0; line-height: 1.4; }
    .services__banner-btn { background-color: var(--secondary-color); color: var(--primary-color); padding: 0.8rem 2rem; border-radius: 50px; font-weight: 700; text-transform: uppercase; text-decoration: none; transition: transform 0.3s, box-shadow 0.3s; white-space: nowrap; }
    .services__banner-btn:hover { transform: translateY(-3px); box-shadow: 0 5px 15px rgba(0,0,0,0.2); color: var(--dark-color); }
    .section-cta-box { text-align: center; margin-top: 3rem; padding: 2rem; background-color: #fff; border-radius: 12px; box-shadow: 0 5px 20px rgba(0,0,0,0.05); border: 1px solid #f0f0f0; max-width: 800px; margin-left: auto; margin-right: auto; }
    .about__container { display: grid; grid-template-columns: 1fr 1.2fr; gap: 3rem; align-items: start; }

    .about__img { 
        border-radius: 10px; 
        box-shadow: 0 10px 20px rgba(0,0,0,0.1); 
        width: 100%; 
        height: auto; 
        object-fit: cover; 
        margin: 0; 
    }

    .about__data h3 { font-size: 1.8rem; color: var(--primary-color); margin-bottom: 1rem; }
    .about__data p { text-align: justify; line-height: 1.8; }

    .about__top-grid { 
        display: grid; 
        grid-template-columns: 1fr 1.2fr; 
        gap: 3rem; 
        align-items: stretch; 
        margin-bottom: 3rem; 
    }


    #page-guarda .about__top-grid .content-card {height: 500px; padding: 2rem 2rem; }
    #page-mudanza .about__top-grid .about__data .content-card {height: 500px; padding: 2rem 2rem; }
    #page-mudanza .about__img {height: 500px; }
    #page-guarda .about__img {height: 500px; }

    #page-mudanza .about__top-grid .content-card {
        min-height: 500px;     
        height: auto;         
        display: flex;         
        flex-direction: column; 
        justify-content: center;

    }

    #page-mudanza .about__top-grid .about-text-container {

        transition: max-height 0.5s ease; 
        will-change: max-height; /* Le avisa al navegador que esto va a cambiar para que sea fluido */
    }

    #page-mudanza .about__top-grid .content-card:has(.about-text-container.expanded) {
        height: auto; 
    }
        @media (max-width: 992px) {
            
            #page-guarda .about__top-grid .content-card {height: 100%}
            #page-mudanza .about__img {height: auto; }
            #page-guarda .about__img {height: auto; }

        }


  

    .about__image-wrapper { position: relative; height: 100%;  }
    .experience-badge { position: absolute; top: -20px; left: -20px; background-color: var(--accent-color); color: var(--dark-color); width: 120px; height: 120px; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; box-shadow: 0 5px 15px rgba(0,0,0,0.2); border: 4px solid #fff; z-index: 10; text-align: center; transform: rotate(-10deg); }
    .experience-badge span.years { font-size: 2.5rem; font-weight: 800; line-height: 1; }
    .experience-badge span.text { font-size: 0.8rem; font-weight: 600; text-transform: uppercase; }

    .features__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 2rem; }

    .feature__item {
        background: #fff;
        border-radius: 15px;
        padding: 1.2rem;
        box-shadow: 0 10px 30px rgba(0,0,0,0.05);
        border: 1px solid rgba(0,0,0,0.04);
        transition: all 0.3s ease;
        display: flex;
        flex-direction: column;
        align-items: flex-start; 
        text-align: left;        
        position: relative;
        overflow: hidden;
    }

    .feature__item:hover {
        transform: translateY(-7px);
        box-shadow: 0 15px 40px rgba(0, 100, 2, 0.15);
        border-color: var(--accent-color);
    }


    .feature__icon-wrapper {
        width: 50px;
        height: 50px;
        background-color: rgba(0, 100, 2, 0.08);
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        transition: background 0.3s;
    }

    .feature__item:hover .feature__icon-wrapper {
        background-color: var(--primary-color);
    }

    .feature__icon-wrapper i {
        font-size: 1.4rem;
        color: var(--primary-color);
        transition: color 0.3s;
    }

    .feature__item:hover .feature__icon-wrapper i {
        color: #fff;
    }

    .feature__item h3 {
        display: flex;
        align-items: center;
        gap: 15px;
        font-size: 1.15rem;
        color: var(--dark-color);
        margin-bottom: 1rem;
    }
    .feature__item h3 i {
        width: 50px;
        height: 50px;
        background-color: rgba(0, 100, 2, 0.08);
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.4rem;
        color: var(--primary-color);
        transition: background 0.3s, color 0.3s;
    }

    .feature__item:hover h3 i {
        background-color: var(--primary-color);
        color: #fff;
    }


    .feature__item p {
        font-size: 0.95rem;
        color: #666;
        line-height: 1.6;
        margin: 0;
    }

    .marker-highlight {
        background: linear-gradient(120deg, rgba(249, 230, 15, 0.4) 0%, rgba(249, 230, 15, 0.4) 100%);
        background-repeat: no-repeat;
        background-size: 100% 45%; 
        background-position: 0 85%;
        color: #222; 
        font-weight: 700;
        padding: 0 2px;
    }
    

    /* =========================================
        EFECTO "VER MÁS" 
        ========================================= */

        .features-read-more .feature__item p {
            max-height: 90px;           
            overflow: hidden;           
            position: relative;         
            transition: max-height 0.5s ease-in-out; 
            margin-bottom: 0.5rem;
        }

        .features-read-more .feature__item p::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 60px;               
            background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 90%);
            pointer-events: none;       
            transition: opacity 0.3s ease;
        }

        .features-read-more .feature-read-more-btn {
            background: transparent;
            border: none;
            color: var(--primary-color); 
            font-weight: 700;
            font-size: 0.85rem;
            text-transform: uppercase;
            cursor: pointer;
            margin-top: 10px;
            padding: 10px 10px;
            border: 1px solid var(--primary-color); 
            border-radius: 20px;
            transition: all 0.3s ease;
            display: inline-block; 
        }

        .features-read-more .feature-read-more-btn:hover {
            background-color: var(--primary-color);
            color: #fff;
        }

        .features-read-more .feature__item.expanded p {
            max-height: 1000px; 
        }

        .features-read-more .feature__item.expanded p::after {
            opacity: 0;
            visibility: hidden;
        }

        .feature__item.short-text p::after {
            display: none !important;
        }

        .feature__item.short-text p {
            max-height: none !important;
            margin-bottom: 0;
        }
        .features-read-more .feature__item {
            height: auto; 
            display: flex;
            flex-direction: column;
            justify-content: space-between; 
        }

    .mission-accordion, .zone__accordion, .faq__container { width: 100%; border-radius: 10px; overflow: hidden; box-shadow: 0 5px 20px rgba(0,0,0,0.05); border: 1px solid #e0e0e0; margin-top: 0; }
    .faq__container { margin: 0 auto; }
    .faq-wrapper { max-width: 900px; margin: 0 auto 4rem auto; width: 100%; transition: opacity 0.3s ease; }
    .about__container .mission-accordion { margin: 3rem 0 0; max-width: none; }
    .mission-item, .zone__item, .faq__item { background-color: #fff; border-bottom: 1px solid #e0e0e0; margin-bottom: 0; }
    .mission-item:last-child, .zone__item:last-child, .faq__item:last-child { border-bottom: none; }
    .mission-header, .zone__header, .faq__question { display: flex; justify-content: space-between; align-items: center; cursor: pointer; padding: 1.5rem; transition: background-color 0.3s, color 0.3s; }
    
    .mission-header h3, .zone__header h3, .faq__question h3 { margin: 0; color: var(--primary-color); font-size: 1.1rem; display: block;}
   
    .mission-icon::before, .zone__icon::before, .faq__icon::before { content: '+'; font-size: 1.5rem; font-weight: 600; color: var(--primary-color); transition: transform 0.3s; display: block; }
    .mission-item.active .mission-header, .zone__item.active .zone__header, .faq__item.active .faq__question { background-color: var(--primary-color); }
    .mission-item.active .mission-header h3, .zone__item.active .zone__header h3, .faq__item.active .faq__question h3 { color: #fff; }
    .mission-item.active .mission-icon::before, .zone__item.active .zone__icon::before, .faq__item.active .faq__icon::before { transform: rotate(45deg); color: #fff; }
    .mission-content, .zone__content, .faq__answer { max-height: 0; overflow: hidden; transition: max-height 0.4s ease-out; background: #fff; color: #555; font-size: 0.95rem; }
    .mission-content p, .zone__content p, .faq__answer p { padding: 1rem 1rem; margin-top: 1rem; text-align: justify; }
    .mission-content ul, .zone__content ul, .faq__answer ul { padding: 0.5rem 1rem; list-style: none; margin-top: 1rem; }
    .mission-content li, .zone__content li, .faq__answer li { position: relative; padding-left: 1.2rem; margin-bottom: 0.75rem; }
    .mission-content li::before, .zone__content li::before, .faq__answer li::before { content: '✔'; position: absolute; left: 0; top: 2px; color: var(--primary-color); font-weight: 600; }
    .mission-item.active .mission-content, .zone__item.active .zone__content, .faq__item.active .faq__answer { max-height: 5000px; }


    .zone__content {
        content-visibility: auto; 
        contain-intrinsic-size: 0 500px; 
    }

    .seo-zone-list li {
        will-change: transform; 
        contain: layout paint; 
    }    

    .seo-zone-list li::after {
        content: '›'; 
        font-size: 1.5rem;
        color: #ccc;
        margin-left: auto;
        line-height: 1;
        font-weight: 300;
    }

    #page-zonas .home__content .button {
        width: 220px; 
        height: 54px;
        
        display: inline-flex;
        align-items: center;
        justify-content: center;
        
        overflow: hidden; 
        position: relative;
        
        white-space: nowrap; 
    }

    #page-zonas .home__content h1 {
        min-height: 3.6em; 
        line-height: 1.2;  
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 1.5rem; 
        
        overflow-wrap: break-word; 
    }

    @media (max-width: 768px) {

    #page-zonas .home {
        height: 100vh !important;     
        min-height: 600px !important;  
        padding: 0 !important;         
    }

    #page-zonas .home-swiper .swiper-slide {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important; 
        align-items: center !important;    
        padding-top: 4rem !important;      
        padding-bottom: 2rem !important;
        height: 100% !important;
    }

    #page-zonas .home__content {
        position: relative !important; 
        top: auto !important;
        left: auto !important;
        transform: none !important;   
        
        margin: 0 auto !important;    
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
    }

    #page-zonas .home__content h1 {
        font-size: 2rem !important;
        line-height: 1.2 !important;
        margin-bottom: 1rem !important;
        min-height: auto !important;   
    }

    #page-zonas .home__content p {
        font-size: 1rem !important;
        margin-bottom: 2rem !important;
    }

    #page-zonas .home__content .button {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        margin: 0 auto !important;     
        width: 220px !important;       
        height: 54px !important;
    }
}


    .testimonial__card { background-color: #fff; padding: 2rem; border-radius: 10px; text-align: center; min-height: 300px; display: flex; flex-direction: column; justify-content: center; box-shadow: 0 5px 15px rgba(0,0,0,0.08); transition: transform 0.3s ease; border: 1px solid rgba(233, 233, 233, 0.89); }
    .testimonial__card:hover { transform: translateY(-10px); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.12); }
    .testimonial__card p { font-style: italic; margin-bottom: 1rem; }
    .testimonial__card h3 { color: var(--primary-color); font-weight: 600; }
    .testimonial__rating { color: var(--accent-color); margin: 0.5rem 0; font-size: 1.2rem; }
    .testimonial__link { font-size: 0.9rem; font-weight: 500; }
    .testimonial-swiper { padding-top: 20px; padding-bottom: 20px; }
    .testimonial-swiper .swiper-pagination { position: relative; margin-top: 1.5rem; }
    .testimonial-swiper .swiper-pagination-bullet { background-color: #bbbbbb; opacity: 1; width: 18px; height: 18px; }
    .testimonial-swiper .swiper-pagination-bullet-active { background-color: var(--primary-color); }

    .review__button_container { text-align: center; margin-top: 3rem; }

    .review__button_container .button {
    opacity: 1 !important;
    transform: translateY(0) !important;
    visibility: visible !important;
    display: inline-block;
    }

    .gallery-swiper .swiper-slide { overflow: hidden; border-radius: 10px; height: 300px; }
    .gallery-swiper .swiper-slide img { transition: transform 0.4s ease; width: 100%; height: 100%; object-fit: cover; }
    .gallery-swiper .swiper-slide:hover img { transform: scale(1.05); }
    .gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
    .gallery-item { border-radius: 8px; overflow: hidden; height: 250px; }
    .gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s; }
    .gallery-item:hover img { transform: scale(1.05); }

    .cta__section {
        background-color: var(--primary-color);
        padding: 5rem 1rem;
        position: relative;
        overflow: hidden; 
    }

    .cta-title {
        font-size: 2.5rem;
        color: #fff;
        line-height: 1.2;
        margin-bottom: 1rem;
        font-weight: 700;
    }

    .cta-title .highlight-text {
        color: var(--accent-color); 
        font-weight: 800;
        text-transform: uppercase;
        text-shadow: 0 2px 10px rgba(0,0,0,0.2);
    }

    .cta-subtitle {
        font-size: 1.15rem;
        color: rgba(255, 255, 255, 0.9);
        max-width: 700px;
        margin: 0 auto 2.5rem auto; 
        font-weight: 400;
        line-height: 1.6;
    }

    .cta-inputs-wrapper {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 15px;
        max-width: 850px; 
        margin: 0 auto 2.5rem auto;
        background: rgba(255, 255, 255, 0.1); 
        padding: 20px;
        border-radius: 15px;
        backdrop-filter: blur(5px);
    }

    .input-group-item {
        position: relative;
        flex: 1;
        min-width: 250px;
    }


    .cta__container {
        max-width: 800px !important; 
        margin: 0 auto;
    }
    .cta__container h2 { color: var(--secondary-color); font-size: 2.2rem; margin-bottom: 1rem; }
    .cta__container p { max-width: 1000px; margin: 0 auto 2rem; font-size: 1.1rem; opacity: 0.9; }
    .cta-title-small {
        font-size: 1.5rem;
        color: #fff;
        font-weight: 500;
        margin-bottom: 0.5rem;
        opacity: 0.9;
        width: 100%;
        text-align: center;
        display: block;
    }

    .cta-main-title {
        font-size: 2.5rem;
        color: #fff;
        font-weight: 800;
        margin-bottom: 2rem;
        line-height: 1.2;
    }

    .cta__container .button {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) !important;
        display: inline-block; 
    }

    .cta-benefits-box {
        margin-bottom: 2.5rem;
        text-align: center;
    }

    .cta-intro {
        font-size: 1.1rem;
        color: #fff;
        margin-bottom: 1.5rem;
    }

    .cta-benefits-list {
        list-style: none;
        padding: 0;
        display: inline-block; 
        text-align: left;
    }

    .cta-benefits-list li {
        font-size: 1.15rem;
        color: #fff;
        margin-bottom: 0.8rem;
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .cta-benefits-list li i {
        color: var(--accent-color); 
        font-size: 1.3rem;
        flex-shrink: 0;
    }

    .cta-action-box p {
        color: #fff;
        margin-bottom: 1.5rem;
        font-size: 1rem;
        opacity: 0.9;
    }

    .cta-button {
        font-size: 1.1rem;
        padding: 1.2rem 3rem;
        box-shadow: 0 10px 20px rgba(0,0,0,0.2);
        transition: transform 0.2s;
    }

    .cta-button:hover {
        transform: scale(1.05);
    }



    .cta-process-row {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 20px;
        margin-bottom: 1rem;
        flex-wrap: wrap; 
    }

    .cta-step-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        color: #fff;
        text-align: center;
        min-width: 140px;
    }

    .cta-step-item .step-icon {
        font-size: 2rem;
        color: var(--accent-color); 
        background: rgba(255, 255, 255, 0.1);
        width: 60px;
        height: 60px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 10px;
        box-shadow: 0 4px 10px rgba(0,0,0,0.2);
        transition: transform 0.3s ease;
    }

    .cta-step-item:hover .step-icon {
        transform: scale(1.1);
        background: rgba(255, 255, 255, 0.2);
    }

    .cta-step-item strong {
        font-size: 1.1rem;
        display: block;
        margin-bottom: 2px;
    }

    .cta-step-item span {
        font-size: 0.9rem;
        opacity: 0.9;
        font-weight: 300;
    }

    .step-arrow {
        color: rgba(255, 255, 255, 0.3);
        font-size: 1.5rem;
    }

    @media (max-width: 768px) {
        .cta-process-row {
            flex-direction: column;
            gap: 15px;
        }

        .step-arrow {
            transform: rotate(90deg); 
            margin: -5px 0;
        }
    }

    @media (max-width: 576px) {
    
    .cta__section {
        padding-bottom: 120px !important; 
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .cta-title {
        font-size: 1.8rem !important; 
        line-height: 1.3;
        margin-bottom: 2rem !important;
    }

    .cta-step-item .step-icon {
        width: 50px;
        height: 50px;
        font-size: 1.6rem;
    }
}

    @media (max-width: 400px) {
        .cta-title {
            font-size: 1.6rem !important; 
        }

        #page-mudanza .cta-title .highlight-text {
            display: block; 
            margin-top: 5px;
        }

        .cta-subtitle {
            font-size: 0.95rem !important;
        }

        .cta-process-row {
            gap: 15px;
        }
        
        .step-arrow {
            margin: -8px 0; 
            font-size: 1.2rem;
        }
    }

    @media (max-width: 320px) {
        .cta__section {
            padding-top: 2rem;
            padding-bottom: 140px !important; 
        }

        .cta-title {
            font-size: 1.2rem !important; 
            margin-bottom: 1.5rem !important;
        }

        .cta-process-row {
            gap: 10px;
        }

        .cta-step-item .step-icon {
            width: 45px;
            height: 45px;
            font-size: 1.4rem;
            margin-bottom: 5px;
        }

        .cta-step-item strong {
            font-size: 1rem;
        }

        .cta-step-item span {
            font-size: 0.8rem;
        }

        .cta-submit-btn {
            padding: 1rem 1.5rem;
            font-size: 0.9rem;
            width: 100%;
            text-align: center;
            justify-content: center;
        }
    }


    .cta__section .cta__container {
        display: flex;
        flex-direction: column; 
        align-items: center;    
        text-align: center;     
        width: 100%;
    }

    .cta__section .cta__container .button {
        margin-top: 1rem;
    }


    .cta-icon-decor {
        font-size: 3.5rem;
        color: rgba(255, 255, 255, 0.2); 
        margin-bottom: 1rem;
        display: block;
    }


    .cta-title {
        font-size: 2.5rem;
        color: #fff;
        line-height: 1.2;
        margin-bottom: 1rem;
        font-weight: 700;
    }

    .cta-title .highlight-text {
        color: var(--accent-color); 
        font-weight: 800;
    }

    .cta-subtitle {
        font-size: 1.2rem;
        color: #fff;
        margin-bottom: 2rem;
        line-height: 1.6;
        opacity: 0.9;
        max-width: 700px;
    }

    .cta-subtitle strong {
        color: var(--accent-color);
        font-weight: 600;
    }

    @media (max-width: 768px) {
        .cta-title { font-size: 1.8rem; }
        .cta-icon-decor { font-size: 2.5rem; }
    }

    @media (max-width: 768px) {
        .cta-main-title { font-size: 2rem; }
        .cta-benefits-list { display: block; text-align: center; } 
        .cta-benefits-list li { justify-content: center; flex-direction: column; gap: 5px; margin-bottom: 1.5rem; }
    }

    .contact__container { display: grid; grid-template-columns: 1fr 1.2fr; gap: 3rem; align-items: stretch; }
    .contact-wrapper, .form-wrapper { background-color: #fff; padding: 2.5rem; border-radius: 15px; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15); gap:1rem; border: 1px solid rgba(0, 0, 0, 0.03); height: 100%; display: flex; flex-direction: column; justify-content: space-between; }
    .contact-wrapper h3 { font-size: 1.8rem; color: var(--primary-color); margin-bottom: 1.5rem; line-height: 1.2; }
    .contact-list { display: flex; flex-direction: column; gap: 1.2rem; margin-bottom: 2rem; }
    .contact-list-item { display: flex; align-items: flex-start; gap: 15px; }
    .contact-icon-box { width: 45px; height: 45px; background-color: rgba(0, 100, 2, 0.08); border-radius: 10px; display: flex; align-items: center; justify-content: center; color: var(--primary-color); font-size: 1.2rem; flex-shrink: 0; transition: background-color 0.3s, color 0.3s; }
    .contact-list-item:hover .contact-icon-box { background-color: var(--primary-color); color: #fff; }

    .contact-text-box h5, .contact-text-box h4 { font-size: 0.85rem; color: #888; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; }
    .contact-text-box p, .contact-text-box a { font-size: 1rem; font-weight: 600; color: var(--dark-color); line-height: 1.3; }
    .contact-text-box a:hover { color: var(--primary-color); text-decoration: underline; }
    .form-wrapper h4 { font-size: 1.5rem; color: var(--dark-color); margin-bottom: 1.5rem; text-align: center; }
    .form-group { position: relative; margin-bottom: 1.5rem; }
    
    .form__input { width: 100%; padding: 1rem 1.2rem; border: 2px solid #f0f0f0; background-color: #f9f9f9; border-radius: 8px; outline: none; transition: 0.3s; font-family: inherit; font-size: 0.95rem;  will-change: auto; transform: translateZ(0); }
    .form__input:focus { border-color: var(--primary-color); background-color: #fff; box-shadow: 0 4px 10px rgba(0, 100, 2, 0.1); }
    textarea.form__input { resize: vertical; min-height: 120px; }
    .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
    .button--whatsapp-form { background-color: #25D366; color: #fff; width: 100%; margin-top: 15px; display: flex; justify-content: center; align-items: center; gap: 8px; padding: 1.1rem; }
    .button--email-form { width: 100%; margin-top: 10px; display: flex; justify-content: center; align-items: center; gap: 8px; padding: 1.1rem; }
    .contact__form .button { width: 100%; padding: 1.1rem; font-size: 1rem; border-radius: 8px; display: flex; justify-content: center; align-items: center; gap: 10px; box-shadow: none; border-bottom: none; }
    .contact__form .button:hover {  transform: translateY(-2px); box-shadow: 0 8px 12px rgba(0, 0, 0, 0.15); }
    
    .map-container iframe { border-radius: 10px; box-shadow: none; border: 1px solid #eee; margin-bottom: 1.5rem; width: 100%; }
    .payment-badge { background: #f8f9fa; padding: 1rem; border-radius: 12px; border: 1px dashed #ccc; text-align: center; margin-top: auto; }
    .payment__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5rem; justify-content: center; margin: 0 auto; }
    .payment__item { text-align: center; }
    .payment__item img { height: 35px; width: auto; margin: 0 auto 0.3rem auto; object-fit: contain; }
    .payment__item span { font-weight: 500; color: var(--text-color); font-size: 0.75rem; display: block; }
    #presupuesto-mudanza .contact__container { grid-template-columns: 1fr; gap: 2rem; max-width: 1400px; margin: 0 auto; }
    #presupuesto-guardamuebles .contact__container {grid-template-columns: 1fr; gap: 2rem; max-width: 1400px; margin: 0 auto;}
    #presupuesto-mudanza .contact-form-col { order: 1; }
    #presupuesto-mudanza .contact-info-col { order: 2; }
    #presupuesto-mudanza .form-wrapper, #presupuesto-mudanza .contact-wrapper { width: 100%; }
    #presupuesto-mudanza .form-wrapper { border-top: 5px solid var(--primary-color); }

    @media (max-width: 576px) {
        #presupuesto-mudanza.section,
        #presupuesto-guardamuebles.section,
        #contacto.section {
            padding-left: 0 !important;
            padding-right: 0 !important;
            padding-top: 2rem !important; 
            padding-bottom: 2rem !important;
        }

        #presupuesto-mudanza .container,
        #presupuesto-guardamuebles .container,
        #contacto .container {
            padding-left: 0 !important;
            padding-right: 0 !important;
            width: 100% !important;
        }

        #presupuesto-mudanza .form-wrapper,
        #presupuesto-guardamuebles .form-wrapper,
        #contacto .form-wrapper {
            margin-left: 5px !important;
            margin-right: 5px !important;
            padding-left: 10px !important;
            padding-right: 10px !important;
            width: auto !important; 
            border-radius: 8px !important;
        }
    }

    @media (max-width: 360px) {
        #presupuesto-mudanza .container,
        #presupuesto-guardamuebles .container {
            padding-left: 4px !important; 
            padding-right: 4px !important;
        }

        .form-wrapper {
            padding-left: 8px !important;
            padding-right: 8px !important;
            border-radius: 10px !important; 
        }
        
        .form__input, 
        select.form__input {
            font-size: 0.85rem !important; 
        }
    }

    .profile-buttons-container { display: flex; justify-content: center; gap: 15px; flex-wrap: wrap; margin-bottom: 3rem; max-width: 1000px; margin: 0 auto 3rem; }
    .profile-btn { padding: 12px 20px; background: #fff; border: 1px solid #e0e0e0; border-radius: 50px; display: flex; align-items: center; gap: 10px; font-weight: 500; color: #555; transition: all 0.3s; cursor: pointer; box-shadow: 0 2px 5px rgba(0,0,0,0.05); }
    .profile-btn:hover { background: var(--primary-color); color: #fff; border-color: var(--primary-color); transform: translateY(-2px); }
    .profile-btn:hover i { color: var(--accent-color); }
    .quick-channels { margin-bottom: 4rem; margin-top: -2rem; }
    .channel-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1.5rem; }
    .channel-card { background: #fff; padding: 2rem 1.5rem; border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); text-align: center; transition: transform 0.3s; border-bottom: 4px solid var(--primary-color); display: flex; flex-direction: column; align-items: center; }
    .channel-card:hover { transform: translateY(-10px); }
    .channel-icon { width: 65px; height: 65px; background-color: rgba(0, 100, 2, 0.1); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 1rem; font-size: 1.8rem; color: var(--primary-color); }
    .selector-box { background: #fff; border-radius: 15px; padding: 2.5rem; box-shadow: 0 10px 40px rgba(0,0,0,0.08); border: 1px solid rgba(0,0,0,0.03); max-width: 1200px; margin: 0 auto; text-align: center; }
    .selector-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; margin: 1.5rem 0; }
    .selector-input { width: 100%; padding: 0.8rem; border: 2px solid #f0f0f0; border-radius: 8px; font-family: inherit; color: #555; outline: none; transition: 0.3s; cursor: pointer; font-size: 0.9rem; }
    .selector-input:focus { border-color: var(--primary-color); }
    .selector-cta { width: 100%; background-color: #25D366; color: white; padding: 0.9rem; border-radius: 8px; font-weight: 600; display: flex; align-items: center; justify-content: center; gap: 8px; text-transform: uppercase; grid-column: 1 / -1; margin-top: 1rem; }
    .selector-cta:hover { background-color: #128C7E; box-shadow: 0 5px 15px rgba(37, 211, 102, 0.3); }
    .whatsapp-cat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 2rem; }
    .whatsapp-cat-card { background: #fff; padding: 1.5rem; border-radius: 15px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); border: 1px solid #f0f0f0; transition: transform 0.3s; display: flex; flex-direction: column; }
    .whatsapp-cat-card:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0,0,0,0.1); border-color: var(--primary-color); }
    .whatsapp-cat-header { display: flex; align-items: center; gap: 10px; margin-bottom: 1.2rem; border-bottom: 2px solid var(--accent-color); padding-bottom: 0.8rem; }
    .whatsapp-cat-header i { font-size: 1.5rem; color: var(--primary-color); background: rgba(0,100,2,0.1); width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 50%; }
    .whatsapp-cat-header h4 { font-size: 1.1rem; color: var(--dark-color); margin: 0; }
    .whatsapp-link-list { display: flex; flex-direction: column; gap: 12px; }
    .wa-link { color: #555; font-size: 0.9rem; display: flex; align-items: center; gap: 10px; transition: 0.3s; padding: 5px 0; text-decoration: none; border-bottom: 1px dashed #f0f0f0; }
    .wa-link:last-child { border-bottom: none; }
    .wa-link:hover { color: var(--primary-color); transform: translateX(5px); }
    .wa-link i { color: #25D366; font-size: 1.1rem; }
    .whatsapp-hidden-group { display: none; }
    .whatsapp-hidden-group.show-group { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 2rem; margin-top: 2rem; width: 100%; }
    .timeline-process { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 2rem; margin-top: 2rem; }
    .timeline-step { text-align: center; position: relative; padding: 1rem; }
    .step-num { width: 45px; height: 45px; background: var(--primary-color); color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; font-weight: 700; font-size: 1.2rem; box-shadow: 0 4px 10px rgba(0, 100, 2, 0.2); }
    .timeline-step h4 { font-size: 1.1rem; margin-bottom: 0.5rem; color: var(--primary-color); }
    .timeline-step p { font-size: 0.9rem; color: #666; }
    .faq-grid-mini { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; }
    .faq-card-mini { background: #fff; padding: 2rem; border-radius: 12px; border-left: 5px solid var(--accent-color); box-shadow: 0 5px 15px rgba(0,0,0,0.05); }
    .faq-card-mini h4 { font-size: 1.1rem; color: var(--primary-color); margin-bottom: 0.8rem; }
    .faq-card-mini p { font-size: 0.95rem; color: #555; line-height: 1.5; }

    /* ==========================================================================
        STILOS ESPECÍFICOS: GUARDAMUEBLES Y MUDANZAS
    ========================================================================== */
    .types__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; margin-top: 2rem; }
    .type-card { background: #fff; border-radius: 12px; padding: 2.5rem; box-shadow: 0 10px 30px rgba(0,0,0,0.08); text-align: center; border-top: 5px solid var(--primary-color); transition: transform 0.3s; }
    .type-card:hover { transform: translateY(-5px); }
    .type-card h3 { color: var(--dark-color); margin-bottom: 0.5rem; font-size: 1.4rem; }
    .type-card .subtitle { color: var(--primary-color); font-weight: 700; text-transform: uppercase; font-size: 0.9rem; margin-bottom: 1.5rem; display: block; letter-spacing: 1px; }
    .type-list { text-align: left; margin-bottom: 2rem; list-style: none; }
    .type-list li { margin-bottom: 0.8rem; padding-left: 1.5rem; position: relative; color: #555; }
    .type-list li::before { content: '★'; color: var(--accent-color); position: absolute; left: 0; top: 0; }

    .solutions__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 3rem; margin-top: 2rem; }
    .solution-card { background: #fff; border-radius: 15px; padding: 2.5rem 2rem; box-shadow: 0 10px 30px rgba(0,0,0,0.06); border: 1px solid #eee; transition: transform 0.3s ease; height: 100%; display: flex; flex-direction: column; }
    .solution-card:hover { transform: translateY(-5px); border-color: var(--accent-color); }
    .solution-header { display: flex; align-items: center; gap: 15px; margin-bottom: 2rem; border-bottom: 2px solid var(--light-gray-color); padding-bottom: 1rem; }
    .solution-icon { width: 60px; height: 60px; background: rgba(0, 100, 2, 0.1); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.8rem; color: var(--primary-color); flex-shrink: 0; }
    .solution-title { font-size: 1.4rem; color: var(--dark-color); margin: 0; }
    .solution-items { display: flex; flex-direction: column; gap: 1rem; margin-bottom: 2rem; flex: 1; }
    .solution-item { display: flex; align-items: flex-start; gap: 10px; }
    .solution-item i { color: var(--accent-color); margin-top: 5px; }
    .solution-item strong { color: var(--primary-color); font-weight: 600; display: block; }
    .solution-item p { font-size: 0.9rem; color: #666; margin: 0; line-height: 1.4; }

    .tags-container { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 2rem; max-width: 1100px; margin-left: auto; margin-right: auto; }
    .tag-pill { background: #fff; border: 1px solid #e0e0e0; border-radius: 50px; padding: 10px 22px; font-size: 0.95rem; text-align: center; color: #555; box-shadow: 0 2px 5px rgba(0,0,0,0.03); transition: all 0.3s ease; cursor: pointer; position: relative; }
    .tag-pill:hover { background: var(--primary-color); color: #fff; border-color: var(--primary-color); transform: translateY(-3px); box-shadow: 0 5px 15px rgba(0, 100, 2, 0.2); }
    .tags-group-title { text-align: center; font-size: 1.3rem; color: var(--dark-color); margin-bottom: 1rem; margin-top: 1rem; font-weight: 600; }
    .tags-toggle-btn { display: none; background: transparent; border: 2px solid var(--accent-color); color: var(--dark-color); padding: 8px 20px; border-radius: 50px; font-weight: 600; font-size: 0.85rem; cursor: pointer; margin: 1rem auto 0; transition: all 0.3s ease; align-items: center; gap: 8px; }
    .tags-toggle-btn:hover { background-color: var(--accent-color); }
    .tags-wrapper.expanded .tags-toggle-btn i { transform: rotate(180deg); }
    .tag-tooltip { position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); background-color: var(--dark-color); padding: 8px 15px; border-radius: 8px; box-shadow: 0 5px 15px rgba(0,0,0,0.2); opacity: 0; visibility: hidden; transition: all 0.3s ease; z-index: 10; white-space: nowrap; margin-bottom: 10px; }
    .tag-tooltip::after { content: ''; position: absolute; top: 100%; left: 50%; margin-left: -5px; border-width: 5px; border-style: solid; border-color: var(--dark-color) transparent transparent transparent; }
    .tag-pill:hover .tag-tooltip, .tag-pill:active .tag-tooltip { opacity: 1; visibility: visible; bottom: 110%; }
    .tag-tooltip a { color: var(--accent-color); font-weight: 600; font-size: 0.85rem; text-decoration: none; display: flex; align-items: center; gap: 5px; }
    .tag-tooltip a:hover { color: #fff; }

    .tag-tooltip::before {
        content: '';
        position: absolute;
        top: 100%;      
        left: 0;
        width: 100%;
        height: 15px;   
        background: transparent; 
        z-index: 1;
    }

    .process-steps { display: flex; justify-content: space-between; align-items: flex-start; max-width: 900px; margin: 4rem auto 0; position: relative; gap: 2rem; }
    .process-steps::before { content: ''; position: absolute; top: 30px; left: 50px; right: 50px; height: 2px; background-image: linear-gradient(to right, #ccc 50%, rgba(255,255,255,0) 0%); background-position: bottom; background-size: 15px 2px; background-repeat: repeat-x; z-index: 0; }
    .process-step { text-align: center; position: relative; z-index: 1; flex: 1; }
    .step-number { width: 60px; height: 60px; background-color: var(--accent-color); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; font-weight: 800; color: var(--dark-color); margin: 0 auto 1.5rem; box-shadow: 0 4px 10px rgba(0,0,0,0.15); position: relative; z-index: 2; }
    .process-step h3 { color: var(--primary-color); font-size: 1.2rem; margin-bottom: 0.8rem; font-weight: 700; }
    .process-step p { font-size: 0.95rem; color: #666; line-height: 1.6; padding: 0 10px; }

    .packing-container { display: grid; grid-template-columns: 1.2fr 1fr; gap: 4rem; align-items: center; background: #fff; border-radius: 15px; padding: 3rem; box-shadow: 0 10px 40px rgba(0,0,0,0.15); margin-top: 2rem; }
    .packing-content h2 { color: var(--primary-color); margin-bottom: 0.5rem; line-height: 1.2; }
    .packing-subtitle { font-size: 1.1rem; color: #555; margin-bottom: 2rem; display: block; font-weight: 500; }
    .packing-list { list-style: none; margin-bottom: 2rem; }
    .packing-list li { margin-bottom: 1.5rem; display: flex; gap: 15px; align-items: flex-start; }
    .packing-list i { color: var(--accent-color); margin-top: 6px; font-size: 1.1rem; flex-shrink: 0; }
    .packing-list strong { color: var(--dark-color); display: block; margin-bottom: 3px; font-weight: 600; }
    .packing-list div { font-size: 0.95rem; color: #666; line-height: 1.5; }
    .packing-image { position: relative; height: 500px; border-radius: 10px; overflow: hidden; box-shadow: 0 15px 30px rgba(0,100,2,0.15); background-color: #f0f0f0; }
    .packing-swiper, .packing-swiper .swiper-wrapper, .packing-swiper .swiper-slide { height: 100%; width: 100%; }
    .packing-swiper .swiper-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }

    .seo-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 2rem;
        margin-bottom: 2rem;
        text-align: left;
    }
    .seo-grid .content-card {
        height: 100%;
        display: flex;
        flex-direction: column;
    }
    .seo-footer-text {
        margin-top: 1.5rem;
        font-size: 0.85rem;
        color: #777;
        border-top: 1px solid #e0e0e0;
        padding-top: 1.5rem;
        text-align: center;
        line-height: 1.6;
    }

    #alcance-servicios h3.section-header {
        position: relative;
        display: inline-block;
        padding-bottom: 15px;
        margin-bottom: 3rem;
    }
    #alcance-servicios h3.section-header::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 60px;
        height: 3px;
        background-color: var(--accent-color);
    }

    #alcance-servicios .content-card {
        height: 100%;
        border-radius: 12px;
        border: 1px solid #eee;
        border-left: 5px solid var(--primary-color); 
        background: #fff;
        padding: 2.5rem 2rem;
        transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
        box-shadow: 0 5px 15px rgba(0,0,0,0.03);
    }

    #alcance-servicios .content-card:hover {
        transform: translateY(-7px);
        box-shadow: 0 15px 30px rgba(0, 100, 2, 0.1);
        border-left-color: var(--accent-color); 
    }

    #alcance-servicios .content-card h4 {
        color: var(--dark-color);
        font-size: 1.25rem;
        font-weight: 700;
        margin-bottom: 1.2rem;
        padding-bottom: 1rem;
        border-bottom: 1px solid #f0f0f0;
        display: flex;
        align-items: center;
        gap: 12px;
        line-height: 1.3;
    }

    #alcance-servicios .content-card h4 i {
        color: var(--primary-color);
        font-size: 1.4rem;
    }

    #alcance-servicios .content-card p {
        font-size: 0.95rem;
        color: #666;
        margin-bottom: 1rem;
        line-height: 1.6;
        text-align: justify; 
    }

    .seo-footer-text {
        background-color: #f9f9f9;
        padding: 1.5rem;
        border-radius: 8px;
        border: 1px dashed #ccc;
        color: #555;
        font-size: 0.9rem;
        margin-top: 3rem;
    }

    .faq-topic-title { color: var(--primary-color) !important; font-weight: 700; font-size: 1.5rem; margin-bottom: 1.5rem; padding-bottom: 0.5rem; border-bottom: 3px solid var(--accent-color); display: inline-block; }

    /* ==========================================================================
        FOOTER
    ========================================================================== */
    .footer { background-color: var(--dark-color); color: #b0b0b0; padding-top: 5rem; position: relative; margin-top: auto; }
    .footer::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 4px; background: linear-gradient(90deg, var(--primary-color) 0%, var(--accent-color) 100%); }
    .footer__container { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 3rem; padding-bottom: 3rem; }
    .footer__col h4 { color: #fff; font-size: 1.2rem; margin-bottom: 1.5rem; position: relative; padding-bottom: 0.8rem; font-weight: 700; letter-spacing: 0.5px; }
    .footer__col h4::after { content: ''; position: absolute; left: 0; bottom: 0; width: 40px; height: 3px; background-color: var(--accent-color); transition: width 0.3s; }
    .footer__col:hover h4::after { width: 60px; }
    .footer__col ul li { margin-bottom: 0.8rem; list-style: none; display: flex; align-items: flex-start; }
    .footer__col ul li::before { content: '\f054'; font-family: "Font Awesome 5 Free"; font-weight: 900; color: var(--accent-color); font-size: 0.75rem; margin-right: 12px;  flex-shrink: 0; }
    .footer__col ul li a { color: #b0b0b0; transition: all 0.3s ease; display: block; line-height: 1.4; }
    .footer__col ul li a:hover { color: var(--accent-color); transform: translateX(5px); padding-left: 5px; }
    .footer__col ul li:hover::before { transform: translateX(3px); }
    .footer-contact-item { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 1rem; color: #b0b0b0; font-size: 0.95rem; }
    .footer-contact-item i { color: var(--accent-color); margin-top: 4px; font-size: 1rem; }
    .footer-contact-item a { color: #fff; font-weight: 500; transition: color 0.3s; }
    .footer-contact-item a:hover { color: var(--accent-color); }
    .footer__social { display: flex; gap: 10px; margin-top: 1rem; }
    .footer__social a { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; background-color: rgba(255,255,255,0.05); border-radius: 50%; color: #fff; transition: all 0.3s ease; border: 1px solid rgba(255,255,255,0.1); }
    .footer__social a:hover { background-color: var(--accent-color); color: var(--dark-color); transform: translateY(-3px); border-color: var(--accent-color); }
    .footer__logo { font-size: 1.4rem; color: #fff; margin-bottom: 1rem; display: block; font-weight: 700; }
    .footer__bottom { border-top: 1px solid #444; text-align: center; padding: 1.5rem 0; font-size: 0.9rem; }
    .footer-developer::before, .footer-separator::before { content: "|"; margin-right: 0.5em; color: #b3b3b3; }
    .footer__bottom a { color: var(--accent-color); font-weight: 500; }

    /* ==========================================================================
        FAB
    ========================================================================== */
    @keyframes buzz-animation { 0% { transform: translateX(0) rotate(0); } 10% { transform: translateX(-1px) rotate(-2deg); } 20% { transform: translateX(1px) rotate(2deg); } 30% { transform: translateX(-1px) rotate(-2deg); } 40% { transform: translateX(1px) rotate(2deg); } 50% { transform: translateX(0) rotate(0); } 100% { transform: translateX(0) rotate(0); } }
    .buzzing { animation: buzz-animation 0.5s ease-in-out; }
    .floating-buttons { position: fixed; bottom: 1.5rem; right: 2rem; z-index: 99; width: 60px; height: 126px; }
    .fab-container { position: absolute; bottom: 0; right: 0; z-index: 2; transition: transform 0.3s ease; }
    .fab-main-button { width: 60px; height: 60px; background-color: var(--primary-color); border-radius: 50%; color: white; display: flex; align-items: center; justify-content: center; font-size: 1.8rem; cursor: pointer; box-shadow: 0 4px 10px rgba(0,0,0,0.3); transition: transform 0.3s, background-color 0.3s ease, color 0.3s ease; }
    .fab-back.fab-contrast, .fab-main-button.fab-contrast { background-color: var(--accent-color) !important; color: var(--dark-color) !important; box-shadow: 0 4px 10px rgba(0,0,0,0.4); }
    
    .fab-actions { 
        position: absolute; 
        bottom: 70px; 
        right: 5px; 
        display: flex; 
        flex-direction: column; 
        gap: 1rem; 
        
        opacity: 0; 
        visibility: hidden; 
        transform: translateY(20px); 
        
        transition: all 0.3s cubic-bezier(0.68, -0.55, 0.27, 1.55); 
        
        pointer-events: none; 
    }    
    .fab-container.active .fab-actions { 
        opacity: 1; 
        visibility: visible; 
        transform: translateY(0); 
        pointer-events: auto; 
    }
    
    .fab-container.active .fab-main-button { transform: rotate(90deg); }
    .fab-action { width: 50px; height: 50px; background-color: var(--primary-color); color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.7rem; box-shadow: 0 4px 10px rgba(0,0,0,0.2); position: relative; transition: background-color 0.3s; }
    .fab-actions .fab-action:nth-child(1) { background-color: #3498db; } .fab-actions .fab-action:nth-child(1):hover { background-color: #2980b9; }
    .fab-actions .fab-action:nth-child(2) { background-color: #25D366; } .fab-actions .fab-action:nth-child(2):hover { background-color: #128C7E; }
    .fab-actions .fab-action:nth-child(3) { background-color: #e74c3c; } .fab-actions .fab-action:nth-child(3):hover { background-color: #c0392b; }
    .fab-action::before { content: attr(data-tooltip); position: absolute; right: 65px; background-color: var(--dark-color); color: white; padding: 5px 10px; border-radius: 5px; font-size: 0.9rem; white-space: nowrap; opacity: 0; visibility: hidden; transition: opacity 0.3s; }
    .fab-action:hover::before { opacity: 1; visibility: visible; }
    .fab-scroll-top { position: absolute; bottom: 0; right: 5px; z-index: 1; width: 50px; height: 50px; background-color: var(--dark-color); color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; box-shadow: 0 4px 10px rgba(0,0,0,0.2); transition: opacity 0.3s, visibility 0.3s, transform 0.3s, background-color 0.3s; opacity: 0; visibility: hidden; transform: translateY(10px); }
    .fab-scroll-top.show { opacity: 1; visibility: visible; transform: translateY(0); background-color: var(--accent-color); color: var(--dark-color); pointer-events: auto;}
    .fab-scroll-top:hover { background-color: #444; }
    .fab-scroll-top.show:hover { background-color: #e0cd0d; }
    .fab-tooltip-inactive { position: absolute; right: 55px; top: -25%; transform: translateY(-50%) scale(0.8); background-color: var(--accent-color); color: var(--dark-color); padding: 8px 15px; border-radius: 8px; font-size: 0.95rem; white-space: nowrap; opacity: 0; visibility: hidden; transition: opacity 0.3s ease, transform 0.3s ease; pointer-events: auto; z-index: 10; display: flex; align-items: center; gap: 8px; box-shadow: 0 4px 6px rgba(0,0,0,0.2); }
    .fab-tooltip-inactive.show { opacity: 1; visibility: visible; transform: translateY(-50%) scale(1); }
    .tooltip-close-btn { cursor: pointer; display: flex; align-items: center; justify-content: center; width: 20px; height: 20px; background: rgba(0,0,0,0.1); border-radius: 50%; font-size: 0.7rem; transition: background 0.2s; }
    .tooltip-close-btn:hover { background: rgba(0,0,0,0.2); color: #000; }

     .fab-back {
        position: fixed;
        left: 15px;
        bottom: 80px;
        width: 50px;
        height: 50px;
        background-color: var(--primary-color); 
        color: #ffffff;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        box-shadow: 0 4px 10px rgba(0,0,0,0.3);
        z-index: 998;
        transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), 
                opacity 0.3s ease, 
                visibility 0.3s ease, 
                background-color 0.3s ease, 
                box-shadow 0.3s ease;
        opacity: 0;
        visibility: hidden;
        transform: translateY(10px);
    }

    .fab-back i { font-size: 1.2rem; }

    .fab-back.show {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .fab-back:hover {
        background-color: #004d02; 
        transform: translateY(-3px);
        box-shadow: 0 6px 15px rgba(0,0,0,0.25);
    }

   
    
    .fab-back.fab-contrast:hover {
        background-color: #e0cd0d !important; 
    }

    #presupuesto-online-guardamuebles-mudanzas p a { color: #ffffff !important; text-decoration: none; }
    #presupuesto-online-guardamuebles-mudanzas p a:hover { color: var(--accent-color) !important; }
    #presupuesto-online-guardamuebles-mudanzas .cta-action-box {
        display: flex;
        flex-direction: column; 

        align-items: stretch;
        text-align: center;    
        width: 100%;           
    }

    #presupuesto-online-guardamuebles-mudanzas .cta-button {
        margin-top: 15px;
    }

    #presupuesto-online-guardamuebles-mudanzas .cta__container {
        display: flex;
        flex-direction: column;
        align-items: center;  
        text-align: center;  
        width: 100%;
    }


    #testimonios .section__subtitle {
        font-size: 1.1rem;     
        line-height: 1.7;     
        color: #666;            
        max-width: 800px;      
        margin-left: auto;
        margin-right: auto;
        padding: 0 15px;       
    }

    #testimonios .section__subtitle strong {
        color: var(--primary-color); 
        font-weight: 700;
    }

    .map-container {
        height: 200px; 
        background-color: #f0f0f0; 
        position: relative;
        overflow: hidden;
    }



    /* =========================================================
    ESTILOS ESPECÍFICOS: ZONAS DE COBERTURA & MODAL
    ========================================================= */

    .seo-zone-list {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); 
        gap: 12px;
        list-style: none;
        padding: 0;
        margin-top: 1.5rem;
        border-top: 1px dashed #eee; 
        padding-top: 1.5rem;
    }

    .seo-zone-list li {
        display: flex;
        align-items: center;
        justify-content: space-between; 
        font-size: 0.95rem;
        color: #555;
        line-height: 1.4;
        cursor: pointer; 
        transition: all 0.2s ease;
        padding: 10px 15px; 
        border-radius: 8px;
        border: 1px solid #e0e0e0; 
        background-color: #ffffff; 
        box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    }

    .seo-zone-list li .fas.fa-check,
    .seo-zone-list li .fas.fa-map-marker-alt,
    .seo-zone-list li .fas.fa-truck,
    .seo-zone-list li .fas.fa-arrow-right,
    .seo-zone-list li .fas.fa-dolly,
    .seo-zone-list li .fas.fa-route,
    .seo-zone-list li .fas.fa-road,
    .seo-zone-list li .fas.fa-plus { 
        color: var(--accent-color); 
        margin-right: 10px;
        font-size: 1rem; 
        flex-shrink: 0; 
    }

    .seo-zone-list li strong {
        color: var(--dark-color); 
        margin-left: 4px;
    }

    .seo-zone-list li .clickable-arrow {
        margin-left: auto; 
        color: #ccc; 
        font-size: 0.9rem;
        transition: color 0.2s, transform 0.2s;
    }

    .seo-zone-list li:hover {
        background-color: var(--primary-color);
        border-color: var(--primary-color);
        transform: translateY(-3px); 
        color: #fff; 
        box-shadow: 0 5px 15px rgba(0, 100, 2, 0.2); 
    }

    .seo-zone-list li:hover .fas.fa-check,
    .seo-zone-list li:hover .fas.fa-map-marker-alt,
    .seo-zone-list li:hover .fas.fa-truck,
    .seo-zone-list li:hover .fas.fa-arrow-right,
    .seo-zone-list li:hover .fas.fa-dolly,
    .seo-zone-list li:hover .fas.fa-route,
    .seo-zone-list li:hover .fas.fa-road,
    .seo-zone-list li:hover .fas.fa-plus {
        color: var(--accent-color); 
    }

    .seo-zone-list li:hover .clickable-arrow {
        color: var(--accent-color); 
        transform: translateX(5px); 
    }

    .zone__content .seo-zone-list li {
        padding-left: 15px; 
    }

    .zone__content .seo-zone-list li::before {
        content: none !important; 
        display: none;
    }

    .zone-intro-container {
        text-align: center; 
        max-width: 900px; 
        margin: 0 auto 3rem auto;
    }

    .zone-intro-box {
        background-color: #f9f9f9;
        padding: 15px 25px;
        border-radius: 50px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 20px;
        border: 1px solid #e0e0e0;
        flex-wrap: wrap; 
        box-shadow: 0 5px 15px rgba(0,0,0,0.03);
        transition: transform 0.3s ease;
        flex-direction: column;
    }

    .zone-intro-box:hover {
        transform: translateY(-3px);
        border-color: var(--primary-color);
    }

    .zone-intro-text {
        color: #555; 
        font-weight: 500;
    }

    .no-results {
        display: none; 
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 1.5rem;
        text-align: center;
        padding: 2rem;
        background: #fff;
        border-radius: 12px;
        border: 1px dashed #ccc;
        margin-bottom: 2rem;
    }

    .zone-modal-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.6); 
        z-index: 2000; 
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
        backdrop-filter: blur(4px); 
    }

    .zone-modal-overlay.active {
        opacity: 1;
        visibility: visible;
    }

    .zone-modal-box {
        background: #fff;
        width: 90%;
        max-width: 380px;
        border-radius: 20px;
        padding: 2rem 1.5rem;
        text-align: center;
        box-shadow: 0 20px 50px rgba(0,0,0,0.3);
        transform: translateY(30px);
        transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
        position: relative;
    }

    .zone-modal-overlay.active .zone-modal-box {
        transform: translateY(0);
    }

    .zone-modal-close {
        position: absolute;
        top: 15px;
        right: 15px;
        background: #f4f4f4;
        width: 32px;
        height: 32px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        color: #666;
        transition: 0.2s;
    }

    .zone-modal-close:hover {
        background: var(--accent-color);
        color: #000;
    }

    .zone-modal-title {
        font-size: 1.3rem;
        color: var(--dark-color);
        margin-bottom: 0.5rem;
        font-weight: 700;
    }

    .zone-modal-subtitle {
        font-size: 0.9rem;
        color: var(--primary-color);
        font-weight: 600;
        margin-bottom: 1.5rem;
        display: inline-block;
        background: rgba(0, 100, 2, 0.08);
        padding: 6px 12px;
        border-radius: 6px;
        line-height: 1.4;
    }

    .zone-modal-actions {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .zone-modal-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 14px;
        border-radius: 50px;
        text-decoration: none;
        font-weight: 600;
        transition: transform 0.2s, box-shadow 0.2s;
        font-size: 1rem;
    }

    .zone-modal-btn:hover {
        transform: translateY(-2px);
    }

    .btn-wa-modal {
        background-color: #25D366;
        color: #fff;
        box-shadow: 0 4px 15px rgba(37, 211, 102, 0.3);
    }

    .btn-call-modal {
        background-color: var(--primary-color);
        color: #fff;
        box-shadow: 0 4px 15px rgba(0, 100, 2, 0.3);
    }

    .btn-email-modal {
        background-color: #fff;
        color: #555;
        border: 1px solid #ddd;
    }
    .btn-email-modal:hover {
        background-color: #f9f9f9;
    }

    @media (max-width: 768px) {
        .zone-intro-box {
            flex-direction: column; 
            border-radius: 20px;
            padding: 1.5rem;
            width: 100%;
            gap: 15px;
        }
        
        .seo-zone-list {
            grid-template-columns: 1fr; 
            gap: 8px;
        }
        
        .seo-zone-list li {
            border-bottom: 1px solid #f9f9f9;
            padding: 12px; 
        }

        .seo-zone-list li:hover::after {
            display: none;
        }
    }

    /* =========================================
    INPUTS COTIZADOR RÁPIDO (CTA)
    ========================================= */

    .cta-inputs-wrapper {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 15px;
        margin: 2rem auto;
        max-width: 700px;
        flex-wrap: wrap; 
    }

    .input-group-item {
        position: relative;
        flex: 1;
        min-width: 220px; 
    }

    .cta-input {
        width: 100%;
        padding: 18px 20px 18px 50px; 
        border-radius: 12px; 
        border: 2px solid transparent;
        font-size: 1.05rem;
        color: #333;
        background-color: #fff;
        box-shadow: 0 5px 15px rgba(0,0,0,0.1);
        transition: all 0.3s ease;
    }

    .cta-input:focus {
        border-color: var(--accent-color);
        transform: translateY(-2px);
        box-shadow: 0 8px 20px rgba(0,0,0,0.2);
    }


    .input-group-item .input-icon {
        position: absolute;
        left: 20px;
        top: 50%;
        transform: translateY(-50%);
        color: var(--primary-color);
        font-size: 1.2rem;
        pointer-events: none;
    }

    .arrow-container {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        background-color: rgba(255,255,255,0.2);
        border-radius: 50%;
        flex-shrink: 0;
    }

    .arrow-separator {
        color: var(--accent-color);
        font-size: 1.2rem;
        animation: pulseArrow 2s infinite;
    }

    @keyframes pulseArrow {
        0% { transform: translateX(0); opacity: 0.8; }
        50% { transform: translateX(3px); opacity: 1; }
        100% { transform: translateX(0); opacity: 0.8; }
    }

    .cta-submit-btn {
        font-size: 1.1rem;
        padding: 1.2rem 3.5rem;
        box-shadow: 0 10px 25px rgba(0,0,0,0.2);
        display: inline-flex;
        align-items: center;
        gap: 10px;
        transition: transform 0.2s;
    }

    .cta-submit-btn:hover {
        transform: scale(1.05);
    }
    #cotizar .cta__container {
        display: flex;
        flex-direction: column;
        align-items: center; 
        text-align: center; 
    }

    #cotizar .cta-submit-btn {
        margin-top: 10px;
    }

    @media (max-width: 768px) {
        .cta-title { font-size: 1.8rem; }
        
        .cta-inputs-wrapper {
            flex-direction: column;
            padding: 15px;
            background: transparent; 
            backdrop-filter: none;
            gap: 10px;
        }
        
        .input-group-item { width: 100%; }
        
        .arrow-container {
            transform: rotate(90deg); 
            background: transparent;
            height: 30px;
        }
        
        .arrow-separator { animation: none; } 
        
        .cta-submit-btn { width: 100%; justify-content: center; }
    }


   
        #banner-mudanza-integral {
            background: linear-gradient(135deg, var(--primary-color) 0%, #004d02 100%);
            padding: 3rem 2rem; 
            align-items: center; 
            justify-content: space-between;
            gap: 2rem;
        }

        #banner-mudanza-integral h3 {
            font-size: 1.8rem;
            line-height: 1.3;
            margin-bottom: 1.5rem;
            color: #fff;
            text-align: left; 
        }

        #banner-mudanza-integral h3 .icon-title {
            color: var(--accent-color); 
            margin-right: 10px;
            font-size: 1.2em; 
        }

        #banner-mudanza-integral .banner-features {
            display: flex;
            flex-direction: column;
            gap: 12px; 
            margin-bottom: 0; 
        }

        #banner-mudanza-integral .feature-item {
            display: flex;
            align-items: flex-start; 
            gap: 12px;
            font-size: 1.05rem; 
            color: rgba(255, 255, 255, 0.95);
            text-align: left;
        }

        #banner-mudanza-integral .feature-item i {
            color: var(--accent-color); 
            font-size: 1.3rem; 
            margin-top: 3px; 
            flex-shrink: 0; 
            filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3)); 
        }

        #banner-mudanza-integral .feature-item strong {
            color: #fff;
            font-weight: 700;
            border-bottom: 2px solid rgba(249, 230, 15, 0.3); 
        }

        #banner-mudanza-integral .services__banner-btn {
            padding: 1.2rem 2.5rem; 
            font-size: 1rem;
            align-self: center;
            box-shadow: 0 8px 20px rgba(0,0,0,0.3); 
            white-space: nowrap;
        }

    @media (max-width: 768px) {
        #banner-mudanza-integral {
            flex-direction: column;
            text-align: center; 
            padding: 2.5rem 1.5rem;
        }

        #banner-mudanza-integral h3 {
            text-align: center;
            font-size: 1.5rem;
        }

        #banner-mudanza-integral .banner-features {
            align-items: flex-start; 
            text-align: left;
            margin-bottom: 1.5rem;
            width: 100%;
            max-width: 400px; 
            margin-left: auto;
            margin-right: auto;
        }
        
        #banner-mudanza-integral .services__banner-btn {
            width: 100%; 
        }
    }
    

    /* ==========================================================================
                MEDIA QUERIES DETALLADOS
    ========================================================================== */

    @media screen and (min-width: 992px) and (max-width: 1400px) {
    .container { max-width: 1150px; }
    .section__title { font-size: 2.2rem; margin-bottom: 2rem; }
    .home__content h1 { font-size: 3rem; }
    .contact__container { gap: 2rem; }
    .quick-card { padding: 1.5rem; }
    .quick-cards-container { bottom: -25%; } 
    #nosotros { padding-top: 18rem; }

    #page-mudanza #intro-servicios { padding-top: 18rem; }
    #page-guarda #sobre-nuestro-servicio-guardamuebles { padding-top: 18rem; }


    }

    @media screen and (min-width: 1024px) and (max-height: 768px) {
    .home { height: 100vh; min-height: 600px; }
    .home__content { padding-top: 2rem; }
    .home__bottom-nav { bottom: 15vh; }
    .home-swiper .swiper-slide { padding-bottom: 15vh; }
    }

    @media screen and (min-width: 1301px) {
    #intro-servicios, #nosotros { padding-top: 15rem; }
    #page-guarda #sobre-nuestro-servicio-guardamuebles { padding-top: 15rem; }
    }

    @media screen and (max-height: 620px) {
    .home { height: 115vh; min-height: 400px; }
    .home-swiper .swiper-slide { padding-top: 7rem !important; padding-bottom: 1rem; align-items: flex-start; justify-content: center; }
    .home__brand-logo { height: 120px !important; width: auto; margin-bottom: 0.2rem !important; }
    .hero-title { font-size: 1.2rem !important; margin-bottom: 0.2rem !important; line-height: 1.1; }
    .hero-text-animated { font-size: 0.95rem !important; }
    .typewriter-container { margin-bottom: 0.5rem !important; min-height: auto; }
    .home__content .button { padding: 0.5rem 1.5rem; font-size: 0.85rem; }
    .home__bottom-nav { display: none !important; }
    .home__content { padding-top: 0 !important; margin-top: 0 !important; display: flex; flex-direction: column; align-items: center; justify-content: center; }
    .home__content p { margin-bottom: 0.2rem; }
    }

    @media (max-width: 992px) {
    #page-home .home { height: 110vh; }
    #page-guarda .home, #page-mudanza .home { height: 110vh; }
    #page-contacto .home { height: 70vh; }
    #page-zonas .home, #page-faq .home { height: 70vh; min-height: 550px; }


    .nav__menu { position: fixed; top: 0; right: -100%; width: 75%; max-width: 380px; height: 100vh; background: rgba(3, 138, 61, 0.99); backdrop-filter: blur(5px); box-shadow: -5px 0 20px rgba(0, 0, 0, 0.3); padding: 6rem 1.5rem 2rem; justify-content: flex-start; transition: right 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); z-index: 101; border-top-left-radius: 1.2rem; border-bottom-left-radius: 1.2rem; display: flex; flex-direction: column; overflow-y: auto; -webkit-overflow-scrolling: touch; }
    .nav__menu.show-menu { right: 0; }
    .nav__close { display: block; position: absolute; top: 1.5rem; right: 1.5rem; color: var(--secondary-color); font-size: 1.8rem; transition: transform 0.3s ease; }
    .nav__close:hover {  color: var(--accent-color); }
    .nav__toggle { display: flex; }
    .nav__list { flex-direction: column; gap: 0.8rem; align-items: stretch; width: 100%; }
    .nav__link { font-size: 1.1rem; font-weight: 500; display: flex; justify-content: space-between; align-items: center; padding: 1rem; border-radius: 12px; transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); color: #ffffff; background-color: transparent; border: 1px solid transparent; }
    .nav__link:hover, .nav__link.active-link { color: var(--accent-color); background-color: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.15); transform: translateX(5px); }
    .nav__link::after { display: none; }
    .nav__item--dropdown .dropdown__menu { max-height: none; position: relative; opacity: 1; visibility: visible; transform: none; padding: 0.5rem 1.5rem; margin-top: 5px; border-radius: 12px; display: flex; flex-direction: column; gap: 0.5rem; border-top: none; min-width: auto; }
    .dropdown__link { padding: 0.8rem 1rem; font-size: 0.95rem; color: rgba(255, 255, 255, 0.9); border-radius: 8px; display: flex; align-items: center; transition: all 0.2s; }
    .dropdown__link::before { content: ''; display: block; width: 6px; height: 6px; background-color: var(--accent-color); border-radius: 50%; margin-right: 12px; opacity: 0.6; transition: opacity 0.3s, transform 0.3s; }
    .dropdown__link:hover { background-color: rgba(255, 255, 255, 0.08); color: #fff; padding-left: 1.2rem; }
    .dropdown__icon { display: none; } 
    .nav__mobile-header { display: flex; flex-direction: column; align-items: flex-start; padding-top: 1.5rem; padding-bottom: 1.5rem; margin-bottom: 1.5rem; border-bottom: 1px solid rgba(255, 255, 255, 0.15); width: 100%; }
    .nav__page-title { color: var(--secondary-color); margin: 0; font-size: 1.3rem; font-weight: 700; text-align: left; letter-spacing: 0.5px; }
    .nav__back-button { display: flex; align-items: center; gap: 0.5rem; color: var(--accent-color); font-weight: 500; font-size: 1rem; margin-top: 0.5rem; cursor: pointer; transition: transform 0.2s; }
    .nav__back-button:hover { transform: translateX(-3px); }
    .nav__menu::-webkit-scrollbar { width: 6px; }
    .nav__menu::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.15); border-radius: 10px; }
    .nav__menu::-webkit-scrollbar-thumb { background-color: var(--accent-color); border-radius: 10px; }
    .nav__menu::-webkit-scrollbar-thumb:hover { background-color: var(--accent-color); }

    .feature__item p { 
        text-align: justify; 
        text-justify: inter-word;
        text-align-last: left;
        word-spacing: normal;
        letter-spacing: normal;
        hyphens: auto;
        -webkit-hyphens: auto;
        -ms-hyphens: auto;
        overflow-wrap: break-word;
    
    
    }

    .contact__container { grid-template-columns: 1fr; gap: 3rem; }
    .contact-wrapper, .form-wrapper { padding: 1.5rem; }
    .about__container { grid-template-columns: 1fr; display: flex; flex-direction: column; }
    .about__data { margin-top: 2rem; }
    .quick-contact { padding-bottom: 5rem; margin-bottom: 0; }
    .quick-cards-container { position: relative; transform: none; left: auto; bottom: auto; flex-direction: column; align-items: center; margin-top: 2rem; padding: 0 1rem; gap: 1.5rem; }
    
    .quick-card { width: 100%; max-width: 500px; }
    .services__footer-banner { flex-direction: column; text-align: center; padding: 2rem 1.5rem; }
    .services__banner-btn { width: 100%; text-align: center; }
    .services__footer-banner::before { top: -30%; left: -20%; }
    #servicio-embalaje-profesional, #fotos-deposito-guardamuebles, #contacto, #faq, #como-alquilar-tu-espacio { padding-bottom: 2rem; padding-top: 2rem; }


    .about__top-grid { 
        grid-template-columns: 1fr; 
        gap: 1rem;
        align-items: start; 
    }

    .about__image-wrapper {
        height: auto !important;
    }

    .about__img { 
        border-radius: 10px; 
        box-shadow: 0 10px 20px rgba(0,0,0,0.1); 
        width: 100%; 
        height: auto !important; 
        margin: 0 auto 2rem; 
        margin-bottom: 0rem !important;
    }
    
    .solutions__grid { grid-template-columns: 1fr; margin-bottom: 2rem; }

    .packing-container { display: grid; grid-template-columns: 1fr; gap: 4rem; align-items: center; background: #fff; border-radius: 15px; padding: 3rem; box-shadow: 0 10px 40px rgba(0,0,0,0.15); }
    .packing-content h2 { color: var(--primary-color); margin-bottom: 1rem; font-size: 2rem; }
    .packing-subtitle { font-size: 1.1rem; color: #555; margin-bottom: 2rem; display: block; font-weight: 500; }
    .packing-list li { margin-bottom: 1.5rem; display: flex; gap: 12px; align-items: flex-start; }
    .packing-list i { color: var(--accent-color); margin-top: 5px; font-size: 1rem; }
    .packing-list strong { color: var(--dark-color); display: block; margin-bottom: 3px; font-weight: 600; }
    .packing-list p { font-size: 0.95rem; margin: 0; color: #666; }
    .packing-image { position: relative; height: 400px; border-radius: 10px; overflow: hidden; box-shadow: 0 15px 30px rgba(0,100,2,0.15); display: flex; align-items: center; justify-content: center; background: var(--primary-color); }
    .packing-overlay-text { font-size: 2rem; color: #fff; font-weight: 700; text-align: center; padding: 1rem; border: 3px solid var(--accent-color); }
    .packing-swiper {width: 100%;height: 100%;}
    .packing-swiper .swiper-slide {width: 100%;height: 100%;}
    .packing-swiper .swiper-slide img { width: 100%;height: 100%;object-fit: cover; display: block;}
    .packing-swiper .swiper-pagination-bullet {background: #fff;opacity: 0.7;}
    .packing-swiper .swiper-pagination-bullet-active {background: var(--accent-color);opacity: 1; }
    .packing-image {display: block !important; }


    .process-steps { flex-direction: column; gap: 3rem; align-items: center; }
    .process-steps::before { display: none; }

    .process-step { text-align: center; position: relative; z-index: 1; flex: 1; background: transparent; }
    .step-number { width: 60px; height: 60px; background-color: var(--accent-color); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; font-weight: 800; color: var(--dark-color); margin: 0 auto 1.5rem; box-shadow: 0 4px 10px rgba(0,0,0,0.15); position: relative; z-index: 2; }
    .process-step h3 { color: var(--primary-color); font-size: 1.3rem; margin-bottom: 1rem; }
    .process-step p { font-size: 0.95rem; color: #666; padding: 0 10px; line-height: 1.5; }

    .gallery-grid { grid-template-columns: repeat(2, 1fr); }
    .container { padding: 0.5rem 1.5rem; }

    #presupuesto-mudanza .contact-form-col, #presupuesto-guardamuebles .contact-form-col, #contacto .contact-form-col { order: 1; }
    #presupuesto-mudanza .contact-info-col, #presupuesto-guardamuebles .contact-info-col, #contacto .contact-info-col { order: 2; }
    .contact-pill { width: 100%; justify-content: center; }

    

    }


    /* ==========================================================================
   NOTEBOOKS (1366x768) - INDEX, ZONAS Y FAQ
    ========================================================================== */

    @media screen and (min-width: 1024px) and (max-height: 800px) {

        
        #page-home .home__content {
            margin-top: -10rem !important; 
            max-width: 900px !important;
        }

        #page-home .home__brand-logo {
            height: 150px !important; 
            margin-bottom: -20px !important;
        }

        #page-home .home__content h1 {
            font-size: 2.2rem !important; 
            margin-bottom: 0.5rem !important;
            line-height: 1 !important;
        }

        #page-home .home__content p {
            font-size: 0.95rem !important;
            margin-bottom: 1rem !important;
            line-height: 1.3 !important;
        }

        #page-home .hero-actions-wrapper {
            margin: 0.5rem auto !important;
            transform: scale(0.9); 
        }

        #page-home .home-swiper .swiper-slide {
            align-items: center !important;
            padding-top: 4rem !important; 
            padding-bottom: 0 !important;
        }


        
        #page-zonas .home, 
        #page-faq .home {
            height: 100vh !important;
            min-height: 500px !important;
            padding-top: 6rem !important;
            justify-content: flex-start !important;
        }

        #page-zonas .home__content, 
        #page-faq .home__content {
            top: 45% !important; 
            transform: translateY(-50%) !important;
            margin-top: 0 !important;
        }

        #page-zonas .home__content h1, 
        #page-faq .home__content h1 {
            font-size: 2.2rem !important;
            margin-bottom: 0.5rem !important;
        }

        #page-zonas .home__content p, 
        #page-faq .home__content p {
            font-size: 1rem !important;
            margin-bottom: 1.5rem !important;
        }
    }


    /* ==========================================================================
   
        Notebooks 1366x768, 1440x900 y Tablets
 
    ========================================================================== */

    @media screen and (min-width: 993px) and (max-height: 900px) {

        
        #page-home .home__content {
            margin-top: -8rem !important;
            max-width: 950px !important;
        }

        #page-home .home__brand-logo {
            height: 160px !important; /* Tamaño controlado */
            margin-bottom: -15px !important;
        }

        #page-home .home__content h1 {
            font-size: 2.4rem !important; 
            margin-bottom: 0.5rem !important;
            line-height: 1.1 !important;
        }

        #page-home .home__content p {
            font-size: 1rem !important;
            margin-bottom: 1.5rem !important;
            line-height: 1.4 !important;
        }

        #page-home .hero-actions-wrapper {
            margin: 0.5rem auto !important;
            transform: scale(0.9); 
        }

        #page-home .home-swiper .swiper-slide {
            padding-top: 5rem !important;
            padding-bottom: 0 !important;
            align-items: center !important;
        }

        #page-home .home__bottom-nav{ bottom: 15vh;}


        
        #page-zonas .home, 
        #page-faq .home {
            height: 100vh !important;
            min-height: 500px !important;
            padding-top: 6rem !important; 
            justify-content: flex-start !important; 
        }

        #page-zonas .home__content, 
        #page-faq .home__content {
            top: 65% !important; 
            transform: translateY(-50%) !important;
            margin-top: 0 !important;
        }

        #page-zonas .home__content h1, 
        #page-faq .home__content h1 {
            font-size: 2.4rem !important;
            margin-bottom: 0.5rem !important;
            line-height: 1.2 !important;
        }

        #page-zonas .home__content p, 
        #page-faq .home__content p {
            font-size: 1rem !important;
            margin-bottom: 2rem !important;
        }

        .cookie-banner {
            position: fixed;
            bottom: 15vh;
            left: 20px;
            
            }

        .footer {
            padding-top: 3rem !important; 
        }

        .footer__container {
            grid-template-columns: repeat(4, 1fr) !important; 
            gap: 1.5rem !important; 
            padding-bottom: 1rem !important;
        }

        .footer__col h4 {
            font-size: 1.1rem !important; 
            margin-bottom: 1rem !important;
        }

        .footer__col ul li,
        .footer-contact-item {
            font-size: 0.85rem !important; 
            margin-bottom: 0.5rem !important;
        }
        
        .footer__logo {
            font-size: 1.2rem !important;
        }
    }



    /* ==========================================================================
    CORRECCIÓN VISUAL: MÓVILES Y TABLETS CON POCA ALTURA
    ========================================================================== */
    @media screen and (max-width: 992px) and (max-height: 750px) {
        
        #page-home .home-swiper .swiper-slide {
            padding-top: 4rem !important;
            align-items: center !important;
        }

        #page-home .home__content {
            margin-top: -2rem !important; 
            width: 100%;
            padding: 0 1rem;
        }

        #page-home .home__brand-logo {
            height: 110px !important; 
            width: auto !important;
            margin-bottom: -5px !important;
        }

        #page-home .home__content h1 {
            font-size: 1.6rem !important;
            line-height: 1.1 !important;
            margin-bottom: 0.5rem !important;
        }

        .hero-text-animated {
            font-size: 0.95rem !important;
            margin-top: 0 !important;
        }
        
        .typewriter-container {
            margin-bottom: 0.5rem !important;
            min-height: 25px !important;
        }
    }

    @media screen and (max-height: 500px) {
        
        #page-home .home__brand-logo {
            display: none !important; 
        }

        #page-home .home__content h1 {
            font-size: 1.5rem !important;
            margin-top: 1rem !important;
        }

        #page-home .home-swiper .swiper-slide {
            padding-top: 3.5rem !important; 
        }
        
        .home__bottom-nav {
            display: none !important; 
        }
    }

    @media (max-width: 768px) {

    .home {
        min-height: 500px;
        height: auto; 
        display: flex;
        align-items: center;
    }


    .home__content {
        position: relative;
        top: auto;
        transform: none;
        margin: 0 auto;
        padding: 0 1rem;
        margin-top: 0;
    }

    #page-home .home__content {
        max-width: 420px;
        margin-top: -12vh;
    }

    #page-faq .home__content, #page-zonas .home__content {
        top: 25%;
    }

    .contact__container {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    .services__banner-btn {
        width: 100%;
        text-align: center;
        font-size: 0.85rem;
    }

    .nav__logo img { height: 80px; }
    .section { padding: 4rem 1rem; }
    .section__title { font-size: 2rem; }
    .home__content h1 { font-size: 2.2rem; }
   
    .home__content p { font-size: 1rem; }
    .form-row { grid-template-columns: 1fr; gap: 15px; }
    .footer__container, .footer__logo, .footer__social { 
        
        text-align: left; 
        text-justify: inter-word;
        text-align-last: left;
        word-spacing: normal;
        letter-spacing: normal;
        overflow-wrap: break-word;
    
    
    }


    .footer__social { justify-content: flex-start; }
    .home-swiper .swiper-slide { padding-bottom: 5vh; padding-top: 5vh; }

    .home__content h1, .home__content h2 { font-size: 2rem; margin-top: 0; }
    .hero-text-animated { font-size: 1.1rem !important; margin-top: 5px; }
    .hero-title { font-size: 1.5rem; }
    #page-home .home__content h1.hero-title { font-size: 1.5em; }
    .home__brand-logo { width: 100% !important; height: auto !important; margin-bottom: -20px; }

    .quick-card { flex-direction: column; align-items: center; text-align: center; padding: 1.5rem 1rem; }
    .quick-card__icon-box { margin-bottom: 0.5rem; margin-right: 0; }
    .contact-links { align-items: center; }
    .info-content { display: flex; flex-direction: column; align-items: center; }

    .seo-grid { grid-template-columns: 1fr; gap: 1.5rem; text-align: justify; }
    #alcance-servicios { padding: 2rem 1rem !important; }
    .tags-toggle-btn { display: flex; }
    .tags-mobile-hidden { max-height: 0; overflow: hidden; opacity: 0; transition: max-height 0.6s ease-in-out, opacity 0.4s ease-in-out; }
    .tags-wrapper.expanded .tags-mobile-hidden { max-height: 1500px; opacity: 1; }
    .content-card { padding: 1.5rem; }
    .faq__question h3 { font-size: 1rem; }
    .contact-wrapper h3, .form-wrapper h4 { text-align: center; font-size: 1.5rem; }
    .zone__header h3 { font-size: 1rem; }
    .seo-footer-text { text-align: justify; }

    }

    @media (max-width: 576px) {
    #page-home .home { height: 110vh; }
    #page-guarda .home, #page-mudanza .home { height: 110vh; }
    #page-zonas .home, #page-faq .home { height: 70vh; min-height: 550px; }


    #page-mudanza #mudanzas-fletes-para-particulares { scroll-margin-top: 8rem; }
    #page-mudanza #mudanzas-fletes-para-empresas-negocios-oficinas-locales-comerciales { scroll-margin-top: 12em; }
    #page-mudanzas #mudanzas-fletes-larga-distancia-y-costa-atlantica { scroll-margin-top: 12rem; }   
    #page-mudanza #mudanzas-fletes-zona-norte-gba-caba { scroll-margin-top: 12rem; }
    #page-mudanza #servicio-izaje-movimientos-especiales { scroll-margin-top: 12rem; }
    #page-guarda #servicio-embalaje-profesional { scroll-margin-top: 2rem; }


    .hero-trigger-btn, .home__content .button {font-size: 1rem; }

    #banner-mudanza-integral .services__banner-btn {font-size: 0.85rem; width: 100%; text-align: center;}

    .floating-buttons { bottom: 1rem; right: 1rem; }
    .services__grid, .features__grid, .gallery-grid { grid-template-columns: 1fr; }
    .cta__container h2 { font-size: 1.1rem; }

    .cta__container p { 
        font-size: 0.9rem; 
        text-align: center; 
        text-justify: inter-word;
        word-spacing: normal;
        letter-spacing: normal;
        overflow-wrap: break-word;

    }

    .experience-badge span.text { font-size: 0.6rem; font-weight: 600; text-transform: uppercase; }
    .fab-action::before, .fab-scroll-top::before, .fab-tooltip-inactive { display: none; }
    .footer__bottom { align-items: center; gap: 5px; font-size: 0.7rem }
    .footer__bottom p { font-size: 0.7rem; flex-direction: column; gap: 5px; padding-bottom: 5px; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; }
    .footer-developer::before, .footer-separator::before { display: none; }
    .home__content h1 { font-size: 2rem; line-height: 1.2; }
    .home__content p { font-size: 1rem; margin-bottom: 1.5rem; }
    .home__content .button { padding: 0.8rem 2rem; font-size: 0.9rem; }

     .about__data p {
        text-align: justify; 
        text-justify: inter-word;
        text-align-last: left;
        word-spacing: normal;
        letter-spacing: normal;
        hyphens: auto;
        -webkit-hyphens: auto;
        -ms-hyphens: auto;
        word-wrap: break-word; 
        overflow-wrap: break-word;
    }
    .mission-content p, .zone__content p, .faq__answer p {
        padding: 0.5rem 1rem; 
        text-align: justify; 
        text-justify: inter-word;
        text-align-last: left;
        word-spacing: normal;
        letter-spacing: normal;
        hyphens: auto;
        -webkit-hyphens: auto;
        -ms-hyphens: auto;

        overflow-wrap: break-word;
    }


    .contact__container h3, .form-wrapper h4 { text-align: center; font-size: 1rem; }
    .experience-badge { width: 90px; height: 90px; top: -10px; left: -10px; }
    .experience-badge span.years { font-size: 1.8rem; }
    .packing-image { height: 250px; }
    #servicio-embalaje-profesional[id], #fotos-deposito-guardamuebles, .contact__container { padding: 1rem 1rem !important; gap: 2rem !important; }
    .error__number { font-size: 5rem; }
    .error__title { font-size: 1.3rem; }
    .button--outline { width: 100%; text-align: center; padding: 0.6rem; }
    .faq-topic-title { color: var(--primary-color); margin-bottom: 1.5rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--accent-color); display: inline-block; font-size: 1.4rem; text-align: left; }
    .faq__answer p { 
        
        padding: 0 1rem 1rem; 
        text-align: justify; 
        text-justify: inter-word;
        text-align-last: left;
        word-spacing: normal;
        letter-spacing: normal;
        overflow-wrap: break-word;
    
    
    }
    .fab-back i {font-size: 0.9rem;}
    .fab-back {width: 50px;height: 45px;left: -10px; bottom: 15vh; border-radius: 0.8rem; opacity: 0.8; }

     #presupuesto-online-guardamuebles-mudanzas .cta-action-box {
        display: flex;
        flex-direction: column; 

        align-items: stretch;
        text-align: center;    
        width: 85%;           
    }
    #presupuesto-online-guardamuebles-mudanzas .cta-button {
        margin-top: 25px;
        font-size: 0.9rem;
    }
    
    }

    @media (max-width: 480px) {
    .home__content h1 { font-size: 2.2rem; line-height: 1.2; }
    .home__content p { font-size: 1rem; margin-bottom: 1.5rem; }
    .home__content .button { padding: 0.8rem 2rem; font-size: 0.9rem; }
    .contact-wrapper, .form-wrapper { padding: 1.5rem 1rem; }
    .contact-icon-box { width: 40px; height: 40px; font-size: 1.1rem; }
    .contact-text-box h5 { font-size: 0.8rem; }
    .contact-text-box a, .contact-text-box p { font-size: 0.9rem; }
    #sobre-nuestro-servicio-guardamuebles, #sobre-nuestro-servicio-mudanzas-fletes { padding-bottom: 3rem; }
    
    }

    @media (max-width: 400px) {
    .section { padding: 3rem 1rem; }
    .contact__container { gap: 2rem; }
    .contact-wrapper, .form-wrapper { padding: 1.2rem !important; }
    .contact-wrapper h3, .form-wrapper h4 { font-size: 1.3rem; margin-bottom: 1.2rem; }
    .contact-list-item { gap: 10px; }
    .contact-icon-box { width: 35px; height: 35px; font-size: 1rem; min-width: 35px; }
    .contact-text-box h5 { font-size: 0.75rem; }
    .contact-text-box p, .contact-text-box a { font-size: 0.9rem; word-break: break-word; }
    .map-container iframe { height: 180px; }
    .form__input { padding: 0.8rem; font-size: 0.9rem; }

    .payment__grid { gap: 0.3rem; }
    .payment__item img { height: 30px; }
    .payment__item span { font-size: 0.7rem; }
    #nosotros { padding-bottom: 2rem !important; }

 

    .channel-grid, .selector-grid, .faq-grid-mini { grid-template-columns: 1fr; }
    .faq-grid-mini { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }

    .types__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 2rem; margin-top: 2rem; }
    #por-que-necesito-una-mudanza-traslado-profesional, #por-que-necesito-alquilar-guardamuebles, .section__title, #servicios-guardamuebles-bauleras-boxes .section__title, #bauleras-y-espacios-abiertos .section__title { font-size: 1.8rem; }
    #servicio-embalaje-profesional, #fotos-deposito-guardamuebles, #contacto, #faq, #como-alquilar-tu-espacio { padding-bottom: 2rem; padding-top: 2rem; }
    #intro-servicios { padding-top: 2rem !important; }
    .contact__form div { grid-template-columns: 1fr !important; gap: 15px !important; }
    .button--outline { width: 100%; text-align: center; padding: 0.6rem; }
    }

    @media (max-width: 380px) {
    .nav__menu { width: 85%; padding-top: 4rem; padding-left: 1rem; padding-right: 1rem; }
    .nav__link { font-size: 1rem; padding: 0.8rem 0.5rem; }
    .nav__page-title { font-size: 1.2rem; }
    .nav__close { top: 1.5rem; right: 1rem; font-size: 1.5rem; }


    .contact-pill { padding: 8px 15px; }
    .contact-pill span { font-size: 0.85rem; }

    .home__content h1 { font-size: 1.8rem; }
    .home__content p { font-size: 1rem; margin-bottom: 1.5rem; }
    .home__content .button { padding: 0.8rem 2rem; font-size: 0.8rem; }
    

    .service__card { min-height: 500px !important; }
    .service__card-front p { font-size: 0.9rem; text-align: center; }
    .service__card-back { padding: 1.5rem 0.8rem 1rem 0.8rem !important; }
    .service__card h3 { font-size: 1.1rem !important; margin-bottom: 1rem !important; margin-top: 1rem !important; }
    .service__list { margin-bottom: 0.5rem !important; }
    .service__list li { font-size: 0.85rem !important; line-height: 1.4 !important; }

    .desktop-pagination-controls { gap: 10px !important; margin-bottom: 15px !important; }
    .pagination-btn { min-width: 50px !important; height: 40px !important; padding: 0 10px !important; font-size: 1rem !important; }

    .service__card-buttons {
        flex-direction: column !important; 
        gap: 10px !important;
        height: auto !important;
    }




    .button--outline { width: 100%; text-align: center; padding: 0.6rem; }

    .service__card-buttons .button--outline {
        width: 100% !important;
        text-align: center !important;
        
        white-space: normal !important;   
        height: auto !important;          
        min-height: 45px;                 
        padding: 10px 5px !important;    
        
        line-height: 1.2 !important;      
        font-size: 0.8rem !important;     
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .profile-btn { flex: 1 1 100%; width: 100%; justify-content: flex-start; padding: 10px 15px; }
    .faq-card-mini { padding: 2rem 1.5rem; width: 100%; }
    .selector-input, .selector-cta { width: 100%; }

    #alcance-servicios h3 { font-size: 1.25rem !important; }
    .zone__header { padding: 1rem; }
    .zone__header h3 { font-size: 0.95rem; }

    .faq__question { padding: 1rem; }
    .faq__question h3 { font-size: 0.95rem; }
    .faq__icon::before { font-size: 1.2rem; }
    .faq__answer p { padding: 0 1rem 1rem; }

    .solution-icon { width: 50px; height: 50px; font-size: 1.5rem; }
    .solution-title { font-size: 1rem; }
    #soluciones .section__title { font-size: 1.3rem; }
    .tap-instruction { margin-top: 1rem; gap: 8px; font-size: 0.7rem; letter-spacing: 0.5px; }
    .tap-instruction i { width: 28px; height: 28px; font-size: 0.75rem; }
    .home__bottom-nav { bottom: 10vh; }

    section[id] { scroll-margin-top: 9rem; }
    #sobre-nuestro-servicio-guardamuebles[id] { scroll-margin-top: 7rem; }
    #sobre-nuestro-servicio-mudanzas-fletes[id] { scroll-margin-top: 7rem; }

    #por-que-necesito-una-mudanza-traslado-profesional[id], #por-que-necesito-alquilar-guardamuebles[id], #intro-servicios[id] { scroll-margin-top: 2rem; }
    #servicios-guardamuebles-bauleras-boxes { scroll-margin-top: 5rem; }

    }

    @media (max-width: 360px) {
    .container { padding: 0 1rem; }
   
    .home { padding-top: 5rem; }
    .home__content { padding-top: 1rem; }
    .home__content h1 { font-size: 1.6rem; }
    .home__content h2 { font-size: 1.6rem; }
    .hero-text-animated { font-size: 0.95rem !important; }


    .contact__container { gap: 1.5rem; }
    .contact-wrapper, .form-wrapper { padding: 1rem 0.8rem; border-radius: 10px; }
    .contact-text-box a { word-break: break-all; font-size: 0.85rem; }

    .tap-instruction { gap: 12px; margin-top: 1.5rem; font-size: 0.7rem; font-weight: 600; text-transform: uppercase; color: #666; pointer-events: none; }
    .tap-instruction i, .tap-instruction svg { font-size: 0.8rem; width: 30px; height: 30px; }

    .quick-card { padding: 1.5rem 1rem; }
    .quick-card__icon-box { margin-bottom: 0.5rem; }
    .channel-card, .selector-box { padding: 1.5rem 1rem; }

    #alcance-servicios { padding: 1.5rem 0.8rem !important; }
    #alcance-servicios h3 { font-size: 1.25rem !important; margin-bottom: 1rem !important; }
    .section__title { font-size: 1.6rem !important; }
    .seo-grid h4 { font-size: 1rem !important; }
    .seo-grid p { font-size: 0.85rem !important; }

    .form__input { font-size: 0.9rem; padding: 0.8rem; }
    .form-wrapper h4 { font-size: 1.2rem; }
    .fab-back i {font-size: 0.9rem;}
    .fab-back {width: 50px;height: 40px;left: -10px; bottom: 20vh; border-radius: 0.8rem; opacity: 0.8; }

    #presupuesto-online-guardamuebles-mudanzas .cta-button {
        margin-top: 25px;
        font-size: 0.8rem;
    }   

    }

    /* Tiny Mobile Fold (Max 330px) */
    @media (max-width: 330px) {
    .container { padding: 0.5rem 1rem; }
    .contact-wrapper, .form-wrapper { padding: 1rem 0.8rem !important; }
    .contact-wrapper h3 { font-size: 1.1rem; }
    .contact__form .button { padding: 0.9rem; font-size: 0.9rem; }
    .quick-contact { padding: 1rem 0 3rem 0; }
    .quick-card { padding: 1.2rem 0.8rem; }
    .services__footer-banner { padding: 1.5rem 1rem; margin-top: 3rem; }


    .tap-instruction { font-size: 0.65rem; }
    .tap-instruction i { width: 28px; height: 28px; }
    .section__title { font-size: 1.5rem !important; }


    .zone__header { padding: 0.8rem !important; }
    .zone__header h3 { font-size: 0.9rem !important; }

    .zone__content p { 
        
        padding: 0 0.8rem 1rem !important; 
        font-size: 0.8rem !important; 
    
        text-align: justify; 
        text-justify: inter-word;
        text-align-last: left;
        word-spacing: normal;
        letter-spacing: normal;
        overflow-wrap: break-word;
    
    
    }

    .service__card-buttons .button--outline {
        width: 100% !important;
        text-align: center !important;
        
        white-space: normal !important;   
        height: auto !important;         
        min-height: 45px;                 
        padding: 10px 5px !important;    
        
        line-height: 1.2 !important;      
        font-size: 0.7rem !important;    
        display: flex;
        align-items: center;
        justify-content: center;
    }


    .types__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 2rem; margin-top: 2rem; }
    .solution-card { padding: 2.5rem 1.5rem; }
    .solution-title { text-align: center; }
    .mission-header h3, .faq__question h3 { font-size: 0.9rem; }
    .mission-content ul li { font-size: 0.8rem; }
    .services__banner-content h3 { font-size: 1.2rem; }
    .services__banner-content p { font-size: 0.85rem; }
    .services__banner-btn { padding: 0.7rem 1rem; font-size: 0.7rem; }
    .section__subtitle { font-size: 0.9rem; }
    .seo-footer-text { word-wrap: break-word; }

    }

    @media (max-width: 320px) {

    .nav__toggle { font-size: 1.2rem; }


    .home__content h1 { font-size: 1.6rem; margin-bottom: 0.5rem; }
    .home__content p { font-size: 0.9rem; }
    .button { padding: 0.8rem 1rem; font-size: 0.85rem; }

    .about__data .content-card {
        padding: 1.2rem 0.8rem !important;
        border-radius: 15px; 
    }

    .about__data p {
        font-size: 0.85rem !important; 
        line-height: 1.5;
        margin-bottom: 0.8rem;
        text-align: justify; 
    }

    .about__data h3 {
        font-size: 1.1rem !important;
        margin-bottom: 1rem;
        line-height: 1.3;
    }

    .mission-header {
        padding: 0.8rem 0.5rem !important; 
    }

    .mission-header h3 {
        font-size: 0.9rem !important; 
        gap: 5px; 
    }

    .mission-content p, 
    .mission-content ul {
        padding: 0.5rem 1rem !important; 
        font-size: 0.85rem !important;
    }

    .mission-content ul li {
        padding-left: 1rem; 
    }
    
    .about__img {
        margin-bottom: 1rem; 
        height: auto;
    }


  
    .contact-list-item { text-align: center;  }
    .contact-text-box { text-align: left; width: 100%; }
    .map-container, .map-container iframe, .map-container img { height: 150px !important; }
    .payment__grid { grid-template-columns: 1fr; gap: 5px; }
    .payment__item { display: flex; align-items: center; justify-content: center; gap: 10px; background: #fff; padding: 5px; border-radius: 5px; }
    .payment__item img { margin: 0; }

    .tap-instruction { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 1.5rem; transition: color 0.3s ease; font-size: 0.65rem; font-weight: 600; text-transform: uppercase; color: #666; pointer-events: none; }
    .tap-instruction i, .tap-instruction svg { font-size: 0.8rem; width: 28px; height: 28px; }
    .mission-header h3, .faq__question h3 { font-size: 0.9rem; }
    .services__banner-content h3 { font-size: 1.2rem; }
    .services__banner-content p { font-size: 0.85rem; }
    .services__banner-btn { padding: 0.7rem 1rem; font-size: 0.7rem; }
    .section__title { font-size: 1.5rem !important; }
    .section__subtitle { font-size: 0.9rem; }

    }

    /* =========================================
       PAGINACIÓN SWIPER PACKING 
        ========================================= */

        #page-guarda .packing-image {
        overflow: hidden !important; 
        height: auto !important;
        min-height: auto !important;
        background-color: transparent !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        margin-bottom: 0 !important;
    }

    #page-guarda .packing-swiper {
        width: 100%;
        padding-bottom: 60px !important; 
        position: relative;
    }

    #page-guarda .packing-swiper .swiper-slide img {
        display: block;
        width: 100%;
        height: 400px !important; 
        object-fit: cover;
        border-radius: 12px; 
    }

    #page-guarda .packing-swiper .swiper-pagination {
        bottom: 5px !important; 
        left: 0;
        width: 100%;
        
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 10;
        flex-wrap: wrap !important; 
        padding: 0 15px !important; 
    }


    #page-guarda .packing-swiper .swiper-pagination-bullet {
        background-color: var(--primary-color) !important; 
        opacity: 0.4; 
        
        width: 14px !important;
        height: 14px !important;
        
        margin: 4px 6px !important; 
        
        border-radius: 50% !important;
        flex-shrink: 0 !important; 
        display: block; 
        transition: all 0.3s ease;
    }

    #page-guarda .packing-swiper .swiper-pagination-bullet-active {
        background-color: var(--accent-color) !important; /* Amarillo */
        opacity: 1;
        transform: scale(1.4); /* Crece un poco más */
        box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    }

    @media (max-width: 768px) {
        #page-guarda .packing-swiper .swiper-slide img {
            height: 280px !important; 
        }
        
        #page-guarda .packing-swiper {
            padding-bottom: 70px !important;

        }
        
        #page-guarda .packing-swiper .swiper-pagination {gap: 0;}

        #page-guarda .packing-swiper .swiper-pagination-bullet {
            width: 15px !important; 
            height: 15px !important;
            margin: 3px 4px !important; 
        }
    }

    /* =========================================
        ESTILOS LIGHTBOX (VISOR DE FOTOS)
    ========================================= */

    .image-modal {
        display: none; 
        position: fixed; 
        z-index: 999999; 
        padding-top: 50px; 
        left: 0;
        top: 0;
        width: 100%; 
        height: 100%; 
        overflow: auto; 
        background-color: rgba(0,0,0,0.9); /* Fondo negro semi-transparente */
        backdrop-filter: blur(5px);
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    .image-modal.show {
        opacity: 1;
    }

    
    .image-modal-content {
        margin: auto;
        display: block;
        width: 80%;
        max-width: 900px;
        max-height: 85vh;
        object-fit: contain;
        border-radius: 8px;
        animation: zoomIn 0.3s;
        
    }

    .image-modal-close {
        position: absolute;
        top: 20px;
        right: 35px;
        color: #f1f1f1;
        font-size: 40px;
        font-weight: bold;
        transition: 0.3s;
        cursor: pointer;
        background: rgba(0,0,0,0.5);
        width: 50px;
        height: 50px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        line-height: 1;
    }

    .image-modal-close:hover,
    .image-modal-close:focus {
        color: var(--accent-color);
        text-decoration: none;
        cursor: pointer;
        background: rgba(255,255,255,0.1);
    }

    @keyframes zoomIn {
        from {transform:scale(0.8); opacity: 0} 
        to {transform:scale(1); opacity: 1}
    }

    @media only screen and (max-width: 700px){
        .image-modal-content {
            width: 95%;
        }
        .image-modal-close {
            top: 55px;
            right: 15px;
            font-size: 30px;
            width: 30px;
            height: 30px;
        }
    }

    /* =========================================
    (Evita que los elementos queden ocultos si falla JS o AOS)
    ========================================= */

    body.force-visible [data-aos],
    body.force-visible .home__content h1,
    body.force-visible .home__content p,
    body.force-visible .home__content .button,
    body.force-visible .hero-trigger-btn {
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        transition: opacity 0.5s ease !important; 
    }

    body.force-visible .swiper-slide-active .home__content h1,
    body.force-visible .swiper-slide-active .home__content p,
    body.force-visible .swiper-slide-active .home__content .button {
        opacity: 1 !important;
        transform: translateY(0) !important;
    }

    .about-text-container {
        position: relative;
        max-height: 400px; /* Altura inicial visible (ajustar si quieres que se vea más o menos texto al principio) */
        overflow: hidden;
        transition: max-height 0.8s ease-in-out;
    }

    /* El efecto borroso / desvanecimiento en la parte inferior */
    .about-text-container::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100px; /* Altura del desvanecimiento */
        background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 90%);
        pointer-events: none;
        transition: opacity 0.4s ease;
    }

    /* Estado Expandido */
    .about-text-container.expanded {
        max-height: 2000px; /* Altura suficiente para mostrar todo */
    }

    /* Cuando está expandido, ocultamos el efecto borroso */
    .about-text-container.expanded::after {
        opacity: 0;
        visibility: hidden;
    }

    /* Estilos del botón */
    .about-read-more-btn {
        background: transparent;
        border: none;
        color: var(--primary-color);
        font-weight: 700;
        font-size: 0.9rem;
        text-transform: uppercase;
        cursor: pointer;
        margin-top: 15px;
        padding: 8px 0;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        transition: color 0.3s ease;
        outline: none;
    }

    .about-read-more-btn:hover {
        color: var(--accent-color);
    }

    .about-read-more-btn i {
        transition: transform 0.3s ease;
    }