/* ============================================================
   Cummings & Co. Realtors — Responsive Styles
   Breakpoints: 1024px, 768px, 480px
   ============================================================ */

@media (max-width: 1024px) {
    /* Overview */
    .overview-content-inner { flex-direction: column; }
    .overview-text { flex: 1; max-width: 100%; padding-right: 5%; }
    .overview-images { flex: 1; max-width: 100%; margin-top: 40px; }
    .overview-content { padding-left: 5%; }

    /* Collage */
    .collage-item--1 { width: 100%; height: 280px; }
    .collage-item--2 { width: 48%; height: 200px; }
    .collage-item--3 { width: 48%; height: 200px; }
    .collage-item--4 { width: 100%; height: 250px; margin-top: 0; }

    /* Stats */
    .prop-detail .count { font-size: 45px; }
    .prop-detail .field-suffix { top: -12px; }

    /* Contact */
    .contact-grid { grid-template-columns: 1fr; gap: 50px; }
    .agent-card { padding-right: 0; }

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

    /* Hero */
    .hero-price { font-size: 42px; }
    .hero-address { font-size: 22px; }

    /* Explore header */
    .explore-header { flex-direction: column; gap: 20px; align-items: flex-start; }

    /* Location header */
    .location-header { flex-direction: column; gap: 10px; align-items: flex-start; }
    .location-address { text-align: left; }
}

@media (max-width: 768px) {
    /* Hide desktop nav, show hamburger */
    .nav-links { display: none !important; }
    #menu-toggle { display: block; }

    /* Hide sidebar CTA on mobile */
    .sidebar-cta { display: none; }

    /* Hero */
    .hero { min-height: 500px; }
    .hero-address-container { padding-bottom: 30px; }
    .hero-price { font-size: 36px; }
    .hero-address { font-size: 18px; letter-spacing: 0.04em; }
    .hero-subtitle { font-size: 12px; }
    .hero-divider-label { font-size: 11px; }

    /* Overview stats */
    .overview-stats { padding: 40px 5% 30px; gap: 20px; }
    .prop-detail .count { font-size: 38px; }
    .prop-detail .field-suffix { font-size: 12px; top: -10px; }
    .prop-detail { margin-right: 10px; }

    /* Overview text */
    #desc-text { font-size: 18px; }
    .overview-content { padding-left: 5%; }

    /* Section titles */
    .section-title { font-size: 26px; margin-bottom: 25px; }

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

    /* Explore tabs */
    .explore-tabs { flex-wrap: wrap; gap: 10px; }
    .explore-tab::after { padding: 0 8px; }

    /* Contact */
    .contact { padding: 60px 0; }
    .contact-form-wrapper .section-title { font-size: 22px; }
    .form-row { grid-template-columns: 1fr; }

    /* Map */
    .map-container { height: 300px; }
    .map-card {
        position: relative;
        bottom: auto;
        left: auto;
        max-width: 100%;
        box-shadow: none;
        border-top: 3px solid var(--primary-color);
    }

    /* Footer */
    .site-footer { padding: 40px 0 30px; }
    .footer-legal { font-size: 10px; }

    /* Features */
    .features { padding: 40px 0; }
}

@media (max-width: 480px) {
    /* Hero */
    .hero { min-height: 400px; }
    .hero-price { font-size: 30px; }
    .hero-address { font-size: 16px; }
    .overview-stats { flex-wrap: wrap; }
    .prop-detail .count { font-size: 32px; }

    /* Overview text */
    #desc-text { font-size: 16px; }

    /* Contact */
    .agent-image { width: 140px; height: 170px; }

    /* Gallery */
    .gallery-grid { grid-template-columns: 1fr; }

    /* Amenities */
    .amenity-item { font-size: 13px; }

    /* Explore tabs vertical on small */
    .explore-tabs { flex-direction: column; align-items: flex-start; }
    .explore-tab::after { display: none; }
    .explore-tab { padding: 6px 0; }

    /* Floor plan tabs */
    .fp-tabs { flex-direction: column; align-items: stretch; }
    .fp-tab { text-align: center; }
}
