/* Responsive and mobile-specific styles.
   Add any new responsive or media query rules in this file to keep them centralized. */


@media (max-width: 768px) {
    #home > .section-primary-hero {
        background-size: cover;
        overflow: hidden;
    }
}

@media (max-width: 768px) {
    .employer-hero {
        padding: 60px 0 40px;
    }

    .employer-hero-image {
        width: 240px;
        height: 240px;
    }
}

@media (max-width: 1024px) {
    .section-primary-hero > .container {
        height: 1200px;
    }

    #home #home-hero-phone-container {
        left: 100px;
    }

    #employers .section-primary-hero > .container {
        height: 850px;
    }

    #employers .employer-hero-image {
        width: 300px;
        height: auto;
    }

    #employers-hero-image-container {
        top: 0;
    }

    #employers .employer-how-it-works {
        padding: 0;
    }

    .cta-primary.rounded-full {
        width: 100%;
    }
}

@media (min-width: 640px) {
    .employer-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 900px) {
    .employer-how-it-works {
        grid-template-columns: 1fr 1fr;
        align-items: start;
    }

    .employer-privacy-admin {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 1024px) {
    .employer-feature-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* Plans Page Mobile Styles */
@media (max-width: 768px) {
    .plan-card {
        margin-bottom: 1rem;
    }
    
    #plans .bg-brand-yellow {
        padding: 3rem 1rem;
    }
    
    #plans h1 {
        font-size: 2rem;
    }
    
    #plans h2 {
        font-size: 1.75rem;
    }
    
    .feature-plan-card {
        margin-bottom: 1rem;
    }
    
    .faq-item {
        margin-bottom: 1rem;
    }

    #about .about-features-section {
        margin-top: 80px;
    }
}

/* About Page Mobile Styles */
@media (max-width: 1024px) {
    .about-hero-content {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .about-hero-left {
        padding: 60px 40px;
    }

    .about-hero-right {
        padding: 60px 40px;
    }

    .about-features-container {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .about-cta-heading {
        font-size: 2rem;
    }
}

@media (max-width: 768px) {
    .about-hero-title {
        font-size: 2.5rem;
    }

    .about-hero-subtitle {
        font-size: 1.2rem;
    }

    .about-hero-text {
        font-size: 1rem;
    }

    .about-hero-left,
    .about-hero-right {
        padding: 40px 24px;
    }

    .about-features-section,
    .about-story-section,
    .about-founder-section,
    .about-cta-section {
        padding: 60px 24px;
    }

    .about-feature-card {
        padding: 32px 24px;
    }

    .about-story-heading,
    .about-founder-heading {
        font-size: 2rem;
    }

    .about-cta-heading {
        font-size: 1.75rem;
    }

    .about-cta-subtitle {
        font-size: 1.1rem;
    }

    .about-cta-button {
        font-size: 1rem;
        padding: 14px 32px;
    }
}

/* ============================================
   Footer Styles
   Footer styles always go at the end of the file
   ============================================ */
@media (max-width: 640px) {
    .footer-container {
        padding: 32px 20px;
    }

    .footer-top {
        grid-template-columns: 1fr;
    }

    .footer-brand {
        align-items: flex-start;
    }

    .footer-badges {
        gap: 16px;
    }

    .footer-badges img {
        height: 44px;
    }
}

@media (max-width: 1024px) {
    .footer-top {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .footer-brand {
        align-items: flex-start;
    }

    .footer-badges > a  {
        width: auto;
    }
}

