/* ==============================================================================
   ETB DEEP UI AUDIT FIX - PIXEL PERFECT MATCH WITH 1_Desktop.png
   ============================================================================== 
   Reference Design: /home/ubuntu/Uploads/1_ Desktop.png
   Hero Ampliado: /home/ubuntu/Uploads/Frame 12.png
   Gradient Specs: /home/ubuntu/Uploads/Screenshot 2026-02-11 at 9.50.41 PM.png
   
   CRITICAL FIXES:
   1. Hero: 10px left/right margin, correct #00FFFF gradient
   2. Carousels: 10-15px gap, 635x400 center, 438x300 sides
   3. Dots: 10px circular inactive, 28x10px elongated active
   4. Sections: 80-100px spacing between sections
   ============================================================================== */

/* ===== CSS VARIABLES - EXACT SPECS ===== */
:root {
    /* Hero - 10px margin from viewport edges */
    --audit-hero-margin: 10px;
    --audit-hero-width: calc(100% - 20px);
    --audit-hero-max-width: 1420px;
    --audit-hero-height: 405px;
    --audit-hero-radius: 30px;
    
    /* Gradient - EXACT from design */
    --audit-gradient-cyan: #00FFFF;
    --audit-gradient-blue: #044A8B;
    
    /* Carousel Card Sizes */
    --audit-center-width: 635px;
    --audit-center-height: 400px;
    --audit-side-width: 438px;
    --audit-side-height: 300px;
    --audit-card-gap: 12px;
    
    /* Search/Button */
    --audit-search-width: 664px;
    --audit-search-height: 70px;
    --audit-search-radius: 25px;
    --audit-cta-bg: #214780;
    
    /* Dots */
    --audit-dot-size: 10px;
    --audit-dot-active-width: 28px;
    --audit-dot-color-inactive: #D5D5D5;
    --audit-dot-color-active: #0092BC;
    
    /* Section Spacing */
    --audit-section-spacing: 80px;
    --audit-section-padding: 80px;
    
    /* Colors */
    --audit-cyan: #0092BC;
    --audit-blue-deep: #214780;
    --audit-white: #FFFFFF;
    --audit-bg-gray: #F8F8F9;
}

/* ==============================================================================
   1. HERO SECTION - 10px LEFT/RIGHT MARGIN, CORRECT GRADIENT
   ============================================================================== */

.hero-section-home {
    /* CRITICAL: 10px margin from viewport edges */
    width: var(--audit-hero-width) !important;
    max-width: var(--audit-hero-max-width) !important;
    height: var(--audit-hero-height) !important;
    min-height: var(--audit-hero-height) !important;
    
    /* 10px left/right margin */
    margin: 20px var(--audit-hero-margin) 0 var(--audit-hero-margin) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    
    /* Border radius 30px */
    border-radius: var(--audit-hero-radius) !important;
    
    /* CRITICAL: Correct gradient starting with #00FFFF cyan */
    background: radial-gradient(
        circle at top left,
        var(--audit-gradient-cyan) 0%,
        #0092BC 20%,
        var(--audit-gradient-blue) 60%,
        #033968 100%
    ) !important;
    
    /* Layout */
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    padding: 45px 25px !important;
    box-sizing: border-box !important;
}

/* Hero Content Wrapper */
.hero-content-wrapper {
    position: relative !important;
    z-index: 10 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    gap: 24px !important;
}

/* Title: 48px */
.hero-title-main {
    font-family: 'Lexend Deca', 'Lexend', sans-serif !important;
    font-size: 48px !important;
    line-height: 1 !important;
    text-align: center !important;
    color: var(--audit-white) !important;
    margin: 0 !important;
    letter-spacing: 0 !important;
}

.hero-title-light {
    font-weight: 400 !important;
    display: block !important;
}

.hero-title-bold {
    font-weight: 700 !important;
    display: block !important;
}

/* Subtitle */
.hero-subtitle-main {
    font-family: 'Lexend Deca', 'Lexend', sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    text-align: center !important;
    color: var(--audit-white) !important;
    margin: 0 !important;
}

/* Search Input: 664x70px */
.hero-search-wrapper {
    width: var(--audit-search-width) !important;
    max-width: 100% !important;
    height: var(--audit-search-height) !important;
    background: var(--audit-bg-gray) !important;
    border-radius: var(--audit-search-radius) !important;
    display: flex !important;
    align-items: center !important;
    padding: 15px 15px 15px 37px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    box-shadow: 0px 59.34px 118.68px -22.25px rgba(0, 0, 0, 0.14) !important;
}

.hero-search-input {
    flex: 1 !important;
    border: none !important;
    outline: none !important;
    font-family: 'Lexend', 'Lexend Deca', sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #333333 !important;
    background: transparent !important;
}

.hero-search-input::placeholder {
    color: #999999 !important;
}

.hero-search-btn {
    background: var(--audit-cyan) !important;
    border: none !important;
    border-radius: 50% !important;
    width: 40px !important;
    height: 40px !important;
    cursor: pointer !important;
    color: var(--audit-white) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.2s ease !important;
    flex-shrink: 0 !important;
}

.hero-search-btn:hover {
    background: #007a9c !important;
}

/* CTA Button: 664x70px */
.hero-invoice-btn {
    width: var(--audit-search-width) !important;
    max-width: 100% !important;
    height: var(--audit-search-height) !important;
    background: var(--audit-cta-bg) !important;
    border-radius: var(--audit-search-radius) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    font-family: 'Lexend', 'Lexend Deca', sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    color: var(--audit-white) !important;
    text-decoration: none !important;
    margin: 0 !important;
    box-shadow: 0px 59.34px 118.68px -22.25px rgba(0, 0, 0, 0.14) !important;
    transition: background 0.2s ease, transform 0.2s ease !important;
}

.hero-invoice-btn:hover {
    background: #1a3a66 !important;
    transform: translateY(-2px) !important;
}

/* Decorative Curves */
.hero-curve-top {
    position: absolute !important;
    top: -80px !important;
    left: -80px !important;
    width: 400px !important;
    height: 400px !important;
    z-index: 1 !important;
    pointer-events: none !important;
    opacity: 1 !important;
}

.hero-curve-bottom {
    position: absolute !important;
    bottom: -120px !important;
    right: -80px !important;
    width: 400px !important;
    height: 400px !important;
    z-index: 1 !important;
    pointer-events: none !important;
    opacity: 1 !important;
}

/* ==============================================================================
   2. CAROUSEL WRAPPER & NAVIGATION
   ============================================================================== */

.carousel-wrapper-home {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    max-width: 1400px !important;
    margin: 0 auto 35px !important;
    padding: 0 60px !important;
}

.carousel-container-home {
    width: 100% !important;
    max-width: 1200px !important;
    overflow: hidden !important;
    position: relative !important;
}

/* Navigation Buttons - 48px (close to 40px design spec) */
.carousel-nav-btn {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: var(--audit-white) !important;
    border: none !important;
    border-radius: 50% !important;
    width: 48px !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    z-index: 20 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    transition: all 0.3s ease !important;
    color: var(--audit-cyan) !important;
}

.carousel-nav-btn:hover {
    background: var(--audit-cyan) !important;
    color: var(--audit-white) !important;
    box-shadow: 0 6px 16px rgba(0, 146, 188, 0.4) !important;
}

.carousel-nav-prev {
    left: 0 !important;
}

.carousel-nav-next {
    right: 0 !important;
}

/* ==============================================================================
   3. CAROUSEL TRACKS - 10-15px GAP BETWEEN SLIDES
   ============================================================================== */

.carousel-track-hogar,
.carousel-track-mobile,
.beneficios-carousel-track {
    display: flex !important;
    align-items: center !important;
    /* CRITICAL: 10-15px gap between slides */
    gap: var(--audit-card-gap) !important;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
    padding: 25px 0 !important;
}

/* ==============================================================================
   4. PLAN CARDS - HOGAR CAROUSEL (Center 635x400, Side 438x300)
   ============================================================================== */

.carousel-card-hogar-home {
    flex-shrink: 0 !important;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Side Cards - 438x300px, scale 0.9, opacity 0.7 */
.plan-card-home {
    width: var(--audit-side-width) !important;
    height: var(--audit-side-height) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    position: relative !important;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
    transform: scale(0.9) !important;
    opacity: 0.7 !important;
    z-index: 5 !important;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1) !important;
}

/* Center Card - 635x400px, scale 1, opacity 1 */
.carousel-card-hogar-home.active .plan-card-home,
.plan-card-home.active {
    width: var(--audit-center-width) !important;
    height: var(--audit-center-height) !important;
    transform: scale(1) !important;
    opacity: 1 !important;
    z-index: 10 !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2) !important;
}

.plan-card-home:hover {
    transform: scale(0.93) !important;
}

.plan-card-home.active:hover {
    transform: scale(1.02) !important;
}

/* ==============================================================================
   5. MOBILE CARDS - "Tu conexión te acompaña"
   ============================================================================== */

.carousel-card-mobile-home {
    flex-shrink: 0 !important;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Side Cards */
.mobile-card-home {
    width: var(--audit-side-width) !important;
    height: var(--audit-side-height) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    position: relative !important;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
    transform: scale(0.9) !important;
    opacity: 0.7 !important;
    z-index: 5 !important;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1) !important;
    display: flex !important;
    flex-direction: column !important;
    background: linear-gradient(135deg, #0092BC 0%, #044A8B 100%) !important;
}

/* Center Card */
.carousel-card-mobile-home.active .mobile-card-home,
.mobile-card-home.active {
    width: var(--audit-center-width) !important;
    height: var(--audit-center-height) !important;
    transform: scale(1) !important;
    opacity: 1 !important;
    z-index: 10 !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2) !important;
}

/* ==============================================================================
   6. BENEFICIOS CAROUSEL CARDS
   ============================================================================== */

.carousel-card-beneficio-home {
    flex-shrink: 0 !important;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Side Cards */
.beneficio-image-card {
    width: var(--audit-side-width) !important;
    height: var(--audit-side-height) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    position: relative !important;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
    transform: scale(0.9) !important;
    opacity: 0.7 !important;
    z-index: 5 !important;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1) !important;
    background-size: cover !important;
    background-position: center !important;
}

/* Center Card */
.carousel-card-beneficio-home.active .beneficio-image-card,
.beneficio-image-card.active {
    width: var(--audit-center-width) !important;
    height: var(--audit-center-height) !important;
    transform: scale(1) !important;
    opacity: 1 !important;
    z-index: 10 !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2) !important;
}

/* ==============================================================================
   7. CAROUSEL DOTS - CIRCULAR INACTIVE, ELONGATED ACTIVE (28x10px)
   ============================================================================== */

.carousel-dots-home {
    display: flex !important;
    justify-content: center !important;
    gap: 8px !important;
    margin-bottom: 45px !important;
}

/* Inactive dot - Circular 10px diameter */
.dot-home {
    width: var(--audit-dot-size) !important;
    height: var(--audit-dot-size) !important;
    border-radius: 50% !important;
    background: var(--audit-dot-color-inactive) !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0 !important;
    transition: all 0.3s ease !important;
}

.dot-home:hover {
    background: #A8A8A8 !important;
}

/* Active dot - Elongated 28px x 10px */
.dot-home.active {
    background: var(--audit-dot-color-active) !important;
    width: var(--audit-dot-active-width) !important;
    height: var(--audit-dot-size) !important;
    border-radius: 5px !important;
}

/* ==============================================================================
   8. SECTION SPACING - 80-100px BETWEEN SECTIONS
   ============================================================================== */

.planes-section-home,
.conexion-section-home {
    background: var(--audit-white) !important;
    padding: var(--audit-section-padding) 0 !important;
}

.ofertas-section-home {
    background: var(--audit-cyan) !important;
    padding: var(--audit-section-padding) 0 !important;
    width: 100% !important;
}

.beneficios-section-home {
    background: var(--audit-bg-gray) !important;
    padding: var(--audit-section-padding) 0 !important;
}

.faq-section-home {
    background: var(--audit-white) !important;
    padding: var(--audit-section-padding) 0 !important;
}

/* Banner Instalación */
.banner-instalacion-home {
    background: var(--audit-blue-deep) !important;
    padding: 20px 0 !important;
    width: 100% !important;
}

/* ==============================================================================
   9. SECTION TITLES
   ============================================================================== */

.section-title-home {
    font-family: 'Lexend Deca', 'Lexend', sans-serif !important;
    font-size: 40px !important;
    font-weight: 700 !important;
    color: var(--audit-blue-deep) !important;
    margin-bottom: 10px !important;
    line-height: 1.2 !important;
}

.section-subtitle-home {
    font-family: 'Lexend Deca', 'Lexend', sans-serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: #515151 !important;
    margin-bottom: 45px !important;
}

/* ==============================================================================
   10. RESPONSIVE STYLES
   ============================================================================== */

/* Large Desktop */
@media (max-width: 1500px) {
    .hero-section-home {
        max-width: calc(100% - 20px) !important;
    }
}

/* Desktop */
@media (max-width: 1440px) {
    .hero-section-home {
        max-width: calc(100% - 20px) !important;
        padding: 35px 25px !important;
    }
}

/* Tablet */
@media (max-width: 1024px) {
    :root {
        --audit-center-width: 500px;
        --audit-center-height: 320px;
        --audit-side-width: 350px;
        --audit-side-height: 240px;
    }
    
    .hero-section-home {
        height: auto !important;
        min-height: 380px !important;
        padding: 40px 25px 35px 25px !important;
    }
    
    .hero-search-wrapper,
    .hero-invoice-btn {
        width: 100% !important;
        max-width: 560px !important;
    }
    
    .hero-title-main {
        font-size: 40px !important;
    }
    
    .section-title-home {
        font-size: 32px !important;
    }
}

/* Mobile */
@media (max-width: 768px) {
    :root {
        --audit-center-width: 85vw;
        --audit-center-height: 400px;
        --audit-side-width: 85vw;
        --audit-side-height: 400px;
        --audit-card-gap: 0px;
        --audit-section-padding: 55px;
    }
    
    .hero-section-home {
        margin: 16px auto !important;
        max-width: calc(100% - 32px) !important;
        padding: 32px 24px 28px 24px !important;
        min-height: 340px !important;
        border-radius: 24px !important;
        background: radial-gradient(
            circle at top left,
            var(--audit-gradient-cyan) 0%,
            #0092BC 30%,
            var(--audit-gradient-blue) 80%
        ) !important;
    }
    
    .hero-content-wrapper {
        gap: 20px !important;
    }
    
    .hero-title-main {
        font-size: 32px !important;
    }
    
    .hero-subtitle-main {
        font-size: 14px !important;
    }
    
    .hero-search-wrapper,
    .hero-invoice-btn {
        width: 100% !important;
        max-width: 100% !important;
        height: 56px !important;
    }
    
    .hero-search-wrapper {
        padding: 12px 12px 12px 20px !important;
    }
    
    .hero-curve-top,
    .hero-curve-bottom {
        width: 280px !important;
        height: 280px !important;
    }
    
    .section-title-home {
        font-size: 24px !important;
    }
    
    .carousel-wrapper-home {
        padding: 0 40px !important;
    }
    
    .carousel-nav-btn {
        width: 36px !important;
        height: 36px !important;
    }
    
    /* Hide side cards on mobile - show only active */
    .plan-card-home:not(.active),
    .mobile-card-home:not(.active),
    .beneficio-image-card:not(.active) {
        display: none !important;
    }
    
    .plan-card-home,
    .mobile-card-home,
    .beneficio-image-card {
        transform: scale(1) !important;
        opacity: 1 !important;
    }
}

/* Small Mobile */
@media (max-width: 480px) {
    .hero-section-home {
        margin: 12px auto !important;
        max-width: calc(100% - 24px) !important;
        padding: 24px 16px 20px 16px !important;
        min-height: 300px !important;
    }
    
    .hero-title-main {
        font-size: 28px !important;
    }
    
    .hero-content-wrapper {
        gap: 16px !important;
    }
    
    .hero-search-wrapper,
    .hero-invoice-btn {
        height: 50px !important;
    }
    
    .hero-search-btn {
        width: 36px !important;
        height: 36px !important;
    }
    
    .carousel-wrapper-home {
        padding: 0 32px !important;
    }
    
    .carousel-nav-btn {
        width: 32px !important;
        height: 32px !important;
    }
}
