/* 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: auto;
    }

    #home #home-hero-phone-container {
        left: 0;
        margin-top: 1.5rem;
    }

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

    #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 (max-width: 768px) {
    /* Keep hero image and text naturally stacked on phones */
    #home .section-primary-hero > .container {
        gap: 1.5rem;
        align-items: flex-start;
    }

    #home #home-hero-phone-container {
        width: 100%;
        justify-content: center;
    }

    .hero-phone {
        width: min(78vw, 300px);
    }
}

@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;
    }
}

@media (max-width: 768px) {
    /* Science & Expertise cards: prevent cramped title/icon row on phones */
    #home .section-secondary-science .feature-card .flex.items-center.justify-between {
        gap: 0.75rem;
        align-items: flex-start;
        justify-content: flex-start;
    }

    #home .section-secondary-science .feature-card img {
        height: 4.5rem;
        width: auto;
    }

    #home .section-secondary-science .feature-card .flex.items-center.justify-between > div:last-child {
        min-width: 0;
        flex: 1;
    }

    #home .section-secondary-science .feature-card h3 {
        font-size: 1.35rem;
        line-height: 1.1;
        margin-bottom: 0.5rem;
        white-space: normal;
    }
}

/* ============================================
   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;
    }
}

@media (max-width: 768px) {
    .cookie-banner {
        padding: 12px;
        padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    }

    .cookie-banner-inner {
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
        padding: 16px;
        border-radius: 14px;
    }

    .cookie-banner-title {
        font-size: 1rem;
    }

    .cookie-banner-text {
        font-size: 0.9rem;
    }

    .cookie-banner-actions {
        width: 100%;
    }

    .cookie-banner-review {
        width: 100%;
        text-align: center;
        white-space: normal;
        padding: 4px 0;
    }

    .cookie-banner-buttons {
        width: 100%;
        flex-direction: column-reverse;
    }

    .cookie-banner-btn {
        width: 100%;
        justify-content: center;
        padding: 13px 18px;
    }
}


