/* HALT DESIGNS - Responsive Styles
   css/responsive.css
   (Base responsive rules live in style.css @media block;
    this file adds tablet + small-phone refinements) */

/* Tablets (769px - 1024px) */
@media (max-width: 1024px) and (min-width: 769px) {
    .container {
        padding: 0 2rem;
    }

    .nav-menu {
        gap: 1.25rem;
    }

    .header-phone {
        display: none;
    }

    .hero-content {
        gap: 2rem;
    }

    h1 {
        font-size: 2.5rem;
    }
}

/* Small phones (max 480px) */
@media (max-width: 480px) {
    html {
        font-size: 15px;
    }

    .container {
        padding: 0 1rem;
    }

    .hero {
        padding: 3rem 0;
    }

    .services-section,
    .testimonials-section {
        padding: 3rem 0;
    }

    .service-card,
    .testimonial-card {
        padding: 1.5rem;
    }

    .social-proof {
        gap: 1rem;
    }

    .proof-number {
        font-size: 1.5rem;
    }

    .btn-large {
        padding: 0.875rem 1.5rem;
        font-size: 1rem;
    }

    /* Services page detail rows stack on mobile */
    [id] > .service-icon svg {
        width: 40px;
        height: 40px;
    }
}

/* Services detail grid stacks below tablet */
@media (max-width: 768px) {
    .services-section [style*="grid-template-columns:1fr 2fr"] {
        grid-template-columns: 1fr !important;
    }
}

/* Scroll animation states (used by js/scroll.js) */
.service-card,
.testimonial-card,
.portfolio-card {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease, transform 0.5s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.service-card.animate-in,
.testimonial-card.animate-in,
.portfolio-card.animate-in {
    opacity: 1;
    transform: translateY(0);
}

/* No-JS fallback: keep cards visible if JS fails */
@media (prefers-reduced-motion: reduce) {
    .service-card,
    .testimonial-card,
    .portfolio-card {
        opacity: 1;
        transform: none;
        transition: none;
    }
}
