/* ============================================
   HAMEED'S BUTCHERS - Responsive Styles
   ============================================ */

/* --- Tablet (1024px) --- */
@media (max-width: 1024px) {
    :root {
        --h1-size: 44px;
        --h2-size: 36px;
        --h3-size: 22px;
        --section-padding: 60px 0;
    }

    .grid--4 {
        grid-template-columns: repeat(2, 1fr);
    }

    .footer__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }

    .gallery-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .two-col {
        gap: 40px;
    }
}

/* --- Large Mobile (768px) --- */
@media (max-width: 768px) {
    :root {
        --h1-size: 36px;
        --h2-size: 30px;
        --h3-size: 20px;
        --h4-size: 18px;
        --body-size: 15px;
        --section-padding: 50px 0;
        --header-height: 70px;
    }

    /* Header / Nav */
    .nav__toggle {
        display: flex;
    }

    .nav__links {
        position: fixed;
        top: 0;
        right: -100%;
        width: 280px;
        height: 100vh;
        background-color: var(--color-charcoal);
        flex-direction: column;
        padding: 100px 30px 30px;
        gap: 4px;
        transition: right var(--transition-normal);
        box-shadow: -5px 0 30px rgba(0, 0, 0, 0.3);
    }

    .nav__links--open {
        right: 0;
    }

    .nav__link {
        width: 100%;
        padding: 12px 16px;
        font-size: 15px;
    }

    .header__phone {
        display: none;
    }

    /* Hero */
    .hero {
        height: 70vh;
        min-height: 450px;
    }

    .hero__title {
        font-size: 36px;
    }

    .hero__text {
        font-size: 17px;
    }

    .hero__overlay {
        background: linear-gradient(
            to bottom,
            rgba(13, 31, 13, 0.8) 0%,
            rgba(13, 31, 13, 0.6) 100%
        );
    }

    /* Page Hero */
    .page-hero {
        height: 280px;
    }

    .page-hero__title {
        font-size: 36px;
    }

    /* Grid Layouts */
    .grid--2,
    .grid--3 {
        grid-template-columns: 1fr;
    }

    .two-col {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .two-col--reverse {
        direction: ltr;
    }

    .two-col__image {
        order: -1;
    }

    /* Cards */
    .contact-row {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    /* Steps */
    .steps {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    /* Stats */
    .stats {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Gallery */
    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    /* Footer */
    .footer__grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    /* Testimonial */
    .testimonial__quote {
        font-size: 22px;
    }

    /* CTA Banner */
    .cta-banner h2 {
        font-size: 28px;
    }

    /* Buttons */
    .btn--lg {
        padding: 14px 36px;
    }

    .hero__buttons {
        flex-direction: column;
        align-items: flex-start;
    }

    /* Filter Buttons */
    .filter-buttons {
        gap: 8px;
    }

    .filter-btn {
        padding: 8px 18px;
        font-size: 12px;
    }
}

/* --- Small Mobile (480px) --- */
@media (max-width: 480px) {
    :root {
        --h1-size: 30px;
        --h2-size: 26px;
        --section-padding: 40px 0;
    }

    .container {
        padding: 0 16px;
    }

    .hero {
        height: 60vh;
        min-height: 400px;
    }

    .hero__title {
        font-size: 30px;
    }

    .hero__text {
        font-size: 16px;
    }

    .hero__subtitle {
        font-size: 13px;
    }

    .page-hero {
        height: 240px;
    }

    .page-hero__title {
        font-size: 30px;
    }

    .btn {
        width: 100%;
        text-align: center;
    }

    .hero__buttons .btn {
        width: auto;
    }

    .section__header {
        margin-bottom: 36px;
    }

    .section__header p {
        font-size: 15px;
    }

    .stat__number {
        font-size: 36px;
    }

    .testimonial {
        padding: 50px 0;
    }

    .testimonial__icon {
        font-size: 40px;
    }

    .testimonial__quote {
        font-size: 19px;
    }

    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }

    .card__content {
        padding: 20px;
    }

    .service-card {
        padding: 30px 20px;
    }
}
