/* =============================================================
   RESPONSIVE — All @media queries in one place
   ============================================================= */

/* ── Tablet (≤ 991px) ───────────────────────────────────────── */

@media (max-width: 991px) {
    .portfolio-premium-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ── Mobile (≤ 768px) ──────────────────────────────────────── */

@media (max-width: 768px) {

    /* Main offset — top-bar hidden on mobile, header is ~60px */
    main { margin-top: 80px; }

    /* Hero content wrapper — reset desktop padding-top */
    .hero-content-wrapper { padding-top: 0; }

    /* Buttons */
    .btn-quote-premium { padding: 8px 18px; font-size: 12px; }

    /* Hero */
    .premium-hero-section { height: auto; padding: 140px 0 100px; }
    .hero-main-title { font-size: 2.5rem; }
    .hero-subtitle { font-size: 1.1rem; margin-bottom: 35px; }
    .hero-btn-filled,
    .hero-btn-outlined { width: 100%; padding: 14px 24px; }

    /* Typewriter */
    .typewriter-text { font-size: 1.3rem; line-height: 1.8; min-height: 160px; }

    /* About */
    .vision-mission-modern-grid { grid-template-columns: 1fr; }
    .about-hero-section p { font-size: 20px; }
    .about-reel-frame { max-width: 380px; }

    /* Services */
    .luxury-services-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }
    .luxury-card {
        padding: 40px 25px;
        min-height: auto;
    }

    /* Portfolio */
    .portfolio-premium-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }
    .portfolio-item-card { height: 360px; }
    .portfolio-overlay { padding: 25px; }

    /* Testimonials */
    .luxury-testimonials-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .testimonial-card { padding: 35px 25px; }

    /* CTA */
    .luxury-cta-card { padding: 45px 20px; }
    .cta-title { font-size: 2rem; }
    .cta-subtitle { font-size: 1rem; margin-bottom: 30px; }
    .premium-action-btn { width: 100%; gap: 10px; }

    /* Stats */
    .stats-grid { grid-template-columns: repeat(2, 1fr); }

    .about-stats-row { flex-direction: column; }

    /* Contact form */
    .form-grid { grid-template-columns: 1fr; gap: 12px; }
    .form-submit-btn { width: 100% !important; max-width: none !important; }

    /* Info cards */
    .info-card { align-items: center; text-align: center; padding: 20px; }

    /* Services / contact grids */
    .services-grid,
    .contact-info-wrapper {
        grid-template-columns: 1fr !important;
        display: block !important;
    }
    .service-box,
    .wp-block-column {
        width: 100% !important;
        margin-bottom: 20px !important;
    }

    /* Social footer */
    .sparkle-luxury-text { font-size: 14px; }
    .sparkle-title-wrapper::before,
    .sparkle-title-wrapper::after { width: 30px; }

    /* General h2 override for sections */
    .services-section-header h2,
    #portfolio h2,
    #testimonials h2 {
        font-size: 2.4rem;
    }
}

/* ── Small Mobile (≤ 600px) ────────────────────────────────── */

@media (max-width: 600px) {
    .contact-cards-row { flex-direction: column; }
    .contact-card { min-width: unset; }
}
