/* ========================================
   HERO BUTTON RESPONSIVE FIX
   Fix button alignment and sizing on all screens
   ======================================== */

/* Hero Button Container */
.hero-button-animate {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 1rem !important;
    align-items: center !important;
    width: 100% !important;
    margin-top: 1.5rem !important;
}

/* Base Button Styles */
.hero-button-animate .btn-premium,
.hero-button-animate .btn-premium-outline {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    flex-shrink: 0 !important;
    min-width: fit-content !important;
}

.hero-button-animate .btn-premium span,
.hero-button-animate .btn-premium-outline span {
    display: inline-block !important;
    white-space: nowrap !important;
}

.hero-button-animate .btn-premium svg,
.hero-button-animate .btn-premium-outline svg {
    flex-shrink: 0 !important;
    width: 1.25rem !important;
    height: 1.25rem !important;
}

/* Desktop (992px+) */
@media (min-width: 992px) {
    .hero-button-animate {
        justify-content: flex-start !important;
        flex-wrap: nowrap !important;
    }
    
    .hero-button-animate .btn-premium {
        padding: 0.875rem 1.75rem !important;
        font-size: 1rem !important;
    }
    
    .hero-button-animate .btn-premium-outline {
        padding: 0.8rem 1.5rem !important;
        font-size: 1rem !important;
    }
}

/* Tablet (768px - 991px) */
@media (min-width: 768px) and (max-width: 991.98px) {
    .hero-button-animate {
        justify-content: flex-start !important;
        flex-wrap: nowrap !important;
        gap: 0.75rem !important;
    }
    
    .hero-button-animate .btn-premium {
        padding: 0.75rem 1.25rem !important;
        font-size: 0.9375rem !important;
    }
    
    .hero-button-animate .btn-premium-outline {
        padding: 0.7rem 1.15rem !important;
        font-size: 0.9375rem !important;
    }
}

/* Mobile (< 768px) */
@media (max-width: 767.98px) {
    /* Center the entire hero content on mobile */
    .modern-hero-section .hero-content-wrapper,
    .home-hero-section .hero-content-wrapper,
    .hero-section .hero-content-wrapper {
        text-align: center !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
    }
    
    /* Center hero heading */
    .modern-hero-heading,
    .hero-heading-animate {
        text-align: center !important;
        width: 100% !important;
    }
    
    /* Center hero text/description */
    .modern-hero-text,
    .hero-text-animate {
        text-align: center !important;
        width: 100% !important;
    }
    
    /* Center button container */
    .hero-button-animate {
        justify-content: center !important;
        flex-direction: column !important;
        flex-wrap: wrap !important;
        gap: 0.75rem !important;
        width: 100% !important;
        align-items: center !important;
    }
    
    .hero-button-animate .btn-premium {
        flex: 0 0 auto !important;
        min-width: 200px !important;
        max-width: 90% !important;
        padding: 0.875rem 1.5rem !important;
        font-size: 0.9375rem !important;
        margin: 0 auto !important;
    }
    
    .hero-button-animate .btn-premium-outline {
        flex: 0 0 auto !important;
        min-width: 150px !important;
        max-width: 90% !important;
        padding: 0.8rem 1.25rem !important;
        font-size: 0.9375rem !important;
        margin: 0 auto !important;
    }
    
    /* Remove any left margin that might cause misalignment */
    .hero-button-animate .btn-premium.me-3,
    .hero-button-animate .btn-premium-outline.me-3,
    .hero-button-animate > a {
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* Extra Small Mobile (< 480px) */
@media (max-width: 479.98px) {
    .hero-button-animate {
        flex-direction: column !important;
        align-items: center !important;
        gap: 0.75rem !important;
        width: 100% !important;
    }
    
    .hero-button-animate .btn-premium,
    .hero-button-animate .btn-premium-outline {
        width: 90% !important;
        max-width: 280px !important;
        min-width: unset !important;
        justify-content: center !important;
        margin: 0 auto !important;
    }
    
    .hero-button-animate .btn-premium {
        padding: 0.875rem 1.25rem !important;
        font-size: 0.9375rem !important;
    }
    
    .hero-button-animate .btn-premium-outline {
        padding: 0.8rem 1.25rem !important;
        font-size: 0.9375rem !important;
    }
}

/* Very Small Mobile (< 375px) */
@media (max-width: 374.98px) {
    .hero-button-animate .btn-premium,
    .hero-button-animate .btn-premium-outline {
        padding: 0.75rem 1rem !important;
        font-size: 0.875rem !important;
    }
}

/* Fix for btn-premium-outline specific issues */
.btn-premium-outline {
    white-space: nowrap !important;
    min-width: fit-content !important;
    padding: 0.75rem 1.25rem !important;
}

.btn-premium-outline span {
    white-space: nowrap !important;
}

/* Ensure me-3 margin doesn't cause issues on small screens */
@media (max-width: 767.98px) {
    .hero-button-animate .btn-premium.me-3 {
        margin-right: 0 !important;
    }
}

@media (max-width: 479.98px) {
    .hero-button-animate .btn-premium.me-3,
    .hero-button-animate .btn-premium-outline.me-3 {
        margin-right: 0 !important;
    }
}
