/* ==============================================
   HERO-RESPONSIVE.CSS - Hero Section Responsive Styles
   PRIORITY 2: Load after critical.css
   Contains: All hero responsive breakpoints and hero video responsive rules
   ============================================== */

/* ==============================================
   HERO CONTENT RESPONSIVE ADJUSTMENTS (FIT TO 100VH)
   ============================================== */

/* Tablet & Small Desktop (≤992px) */
@media (max-width: 992px) {
    .hero-container {
        margin-top: 50px;
    }

    .hero-title {
        font-size: 2.8rem;
    }

    .hero-subtitle {
        font-size: 1.15rem;
        margin-bottom: 1.5rem;
    }

    .hero-feature-grid {
        max-width: 550px;
        gap: 0.8rem;
    }
}

/* Tablet (≤768px) */
@media (max-width: 768px) {
    .hero {
        height: 100vh;
        height: calc(var(--vh, 1vh) * 100);
        min-height: auto;
    }

    .hero-container {
        padding: 0 1rem;
        margin-top: 40px;
    }

    .hero-title {
        font-size: 2.2rem;
        margin-bottom: 0.8rem;
    }

    .hero-subtitle {
        font-size: 1.05rem;
        margin-bottom: 1.2rem;
        line-height: 1.4;
    }

    .hero-feature-grid {
        grid-template-columns: repeat(2, 1fr); /* Keep 2x2 on tablet */
        max-width: 500px;
        gap: 0.75rem;
        margin-bottom: 1.5rem;
    }

    .feature-badge {
        padding: 0.6rem 1rem;
        gap: 8px;
    }

    .badge-label {
        font-size: 0.85rem;
    }

    .brand-slider {
        height: 70px;
        padding: 15px 0;
    }

    .brand-item img {
        height: 28px;
    }
}

/* Landscape Mobile or Tall Mobile (Force fit) */
@media (max-height: 700px) and (min-width: 320px) {
    .hero-container {
        margin-top: 30px;
    }
    .hero-title {
        font-size: 1.8rem !important;
        margin-bottom: 0.4rem !important;
    }
    .hero-subtitle {
        font-size: 0.9rem !important;
        margin-bottom: 0.8rem !important;
    }
    .hero-feature-grid {
        gap: 0.4rem !important;
        margin-bottom: 1rem !important;
    }
    .feature-badge {
        padding: 0.4rem 0.6rem !important;
    }
}

/* Mobile Large (≤640px) */
@media (max-width: 640px) {
    .hero-title {
        font-size: 1.8rem;
    }

    .hero-subtitle {
        font-size: 0.95rem;
    }

    .hero-feature-grid {
        max-width: 450px;
        gap: 0.6rem;
    }
}

/* Mobile (≤480px) */
@media (max-width: 480px) {
    .hero-container {
        margin-top: 30px;
    }

    .hero-title {
        font-size: 1.6rem;
        line-height: 1.3;
    }

    .hero-subtitle {
        font-size: 0.9rem;
        margin-bottom: 1rem;
    }

    .hero-feature-grid {
        grid-template-columns: repeat(2, 1fr); /* Force 2x2 even on mobile */
        max-width: 100%;
        gap: 0.5rem;
        margin-bottom: 1.2rem;
    }

    .feature-badge {
        padding: 0.5rem 0.75rem;
        gap: 6px;
        border-radius: 30px;
    }

    .badge-label {
        font-size: 0.75rem;
        letter-spacing: 0;
    }

    .badge-dot {
        width: 8px;
        height: 8px;
    }

    .get-started {
        padding: 0.8rem 1.5rem;
        font-size: 0.9rem;
    }

    .brand-slider {
        height: 60px;
        padding: 10px 0;
    }

    .brand-item img {
        height: 22px;
    }
    
    .slider-track {
        gap: 40px;
    }
}

/* Mobile Small (≤360px) */
@media (max-width: 360px) {
    .hero-container {
        padding: 0 0.5rem;
        margin-top: 25px;
    }

    .hero-title {
        font-size: 1.4rem;
    }

    .hero-subtitle {
        font-size: 0.85rem;
    }

    .hero-feature-grid {
        gap: 0.4rem;
    }

    .feature-badge {
        padding: 0.4rem 0.6rem;
    }

    .badge-label {
        font-size: 0.7rem;
    }
}

/* ==============================================
   EXTREME SMALL SCREENS (320px)
   ============================================== */
@media (max-width: 320px) {
    .hero-title {
        font-size: 1.25rem;
        line-height: 1.2;
    }

    .hero-subtitle {
        font-size: 0.8rem;
        line-height: 1.3;
        margin-bottom: 0.6rem;
    }

    .hero-feature-grid {
        gap: 0.35rem;
        margin-bottom: 0.8rem;
    }

    .feature-badge {
        padding: 0.35rem 0.5rem;
        gap: 4px;
    }

    .badge-label {
        font-size: 0.65rem;
    }

    .get-started {
        padding: 0.7rem 1.2rem;
        font-size: 0.85rem;
    }

    .brand-slider {
        height: 50px;
    }

    .brand-item img {
        height: 18px;
    }
    
    .hero-content {
        padding-bottom: 70px;
    }
}

/* ==============================================
   HERO VIDEO SECTION - RESPONSIVE OPTIMIZATIONS
   ============================================== */

.hero-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}

.hero-content {
    width: 100%;
    max-width: 1000px;
    position: relative;
    z-index: 3;
    text-align: center;
}
