/* ─────────────────────────────────────────────────────────────────
   pages-mobile.css — Strong mobile cleanup
   Phones and portrait tablets
   ───────────────────────────────────────────────────────────────── */

@media (max-width: 1024px) and (orientation: portrait),
       (max-width: 767px) {

    /* Global mobile page tightening */
    body {
        overflow-x: hidden;
    }

    .container {
        width: min(100% - 32px, 720px);
        margin-left: auto;
        margin-right: auto;
    }

    /* HOME HERO */
    .home .hero {
        padding: 44px 0 40px;
        background: linear-gradient(180deg, var(--color-cream) 0%, #fff 100%);
    }

    .home .hero h1 {
        max-width: 100%;
        font-size: clamp(2rem, 10vw, 3rem);
        line-height: 1.05;
        margin-bottom: 14px;
    }

    .home .hero p.lead {
        font-size: 1rem;
        line-height: 1.55;
        max-width: 100%;
        margin-bottom: 24px;
    }

    .home .hero-search {
        width: 100%;
        max-width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 12px;
        border-radius: 14px;
        background: #fff;
        border: 1px solid var(--color-border);
        box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    }

    .home .hero-search input,
    .home .hero-search select,
    .home .hero-search button {
        width: 100%;
        min-height: 48px;
        border-radius: 10px;
        font-size: 1rem;
    }

    .home .hero-search input,
    .home .hero-search select {
        border: 1px solid var(--color-border);
        padding: 0 14px;
    }

    .home .hero-search button {
        justify-content: center;
    }

    /* Generic home sections */
    .home section.block {
        padding: 44px 0;
    }

    .home section.block.alt {
        background: var(--color-cream);
    }

    .home section.block h2,
    .home .featured-listings h2,
    .home .communities-preview h2,
    .home .why-honeyway h2 {
        font-size: clamp(1.55rem, 7vw, 2.1rem);
        line-height: 1.15;
        margin-bottom: 18px;
    }

    /* FEATURED LISTINGS */
    .home .featured-listings,
    .featured-listings {
        padding: 44px 0;
    }

    .home .featured-listings .section-head,
    .featured-listings .section-head,
    .home .pl-listings .head,
    .place .pl-listings .head {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
        margin-bottom: 20px;
    }

    .home .featured-listings .section-head a,
    .featured-listings .section-head a {
        font-size: 0.82rem;
        white-space: nowrap;
        margin-top: 4px;
    }

    .home .listing-grid,
    .listing-grid,
    .idx-showcase,
    .idx-listings {
        display: grid;
        grid-template-columns: 1fr;
        gap: 18px;
        width: 100%;
    }

    .home .listing-card,
    .listing-card,
    .idx-card,
    .property-card {
        width: 100%;
        background: #fff;
        border: 1px solid var(--color-border);
        border-radius: 14px;
        overflow: hidden;
        box-shadow: 0 8px 22px rgba(0,0,0,0.06);
    }

    .home .listing-card img,
    .listing-card img,
    .idx-card img,
    .property-card img,
    .home .listing-card .photo,
    .listing-card .photo,
    .idx-card .photo,
    .property-card .photo {
        display: block;
        width: 100%;
        aspect-ratio: 4 / 3;
        object-fit: cover;
        background: #111;
    }

    .home .listing-card .body,
    .listing-card .body,
    .idx-card .body,
    .property-card .body {
        padding: 14px 16px 16px;
    }

    .home .listing-card .status,
    .listing-card .status,
    .idx-card .status,
    .property-card .status {
        display: inline-flex;
        align-items: center;
        width: fit-content;
        margin-bottom: 8px;
        padding: 4px 8px;
        border-radius: 999px;
        background: var(--color-cream);
        color: var(--color-ink);
        font-size: 0.7rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .home .listing-card .price,
    .listing-card .price,
    .idx-card .price,
    .property-card .price {
        font-size: 1.25rem;
        line-height: 1.1;
        margin-bottom: 4px;
    }

    .home .listing-card .address,
    .listing-card .address,
    .idx-card .address,
    .property-card .address {
        color: var(--color-mute);
        font-size: 0.92rem;
        line-height: 1.35;
    }

    /* COMMUNITIES WE SERVE */
    .home .communities-preview,
    .communities-preview {
        padding: 44px 0;
        background: var(--color-cream);
    }

    .home .community-grid,
    .community-grid,
    .home .ch-state-grid,
    .communities-hub .ch-state-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .home .community-card,
    .community-card,
    .communities-hub .ch-state-card {
        min-height: 220px;
        border-radius: 14px;
        overflow: hidden;
        padding: 22px;
        box-shadow: 0 8px 22px rgba(0,0,0,0.08);
    }

    .home .community-card img,
    .community-card img {
        width: 100%;
        aspect-ratio: 16 / 10;
        object-fit: cover;
        display: block;
    }

    /* WHY HONEYWAY */
    .home .why-honeyway,
    .why-honeyway {
        padding: 44px 0;
    }

    .home .why-grid,
    .why-grid,
    .home .value-grid,
    .value-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .home .vp,
    .vp,
    .home .why-card,
    .why-card {
        padding: 24px 22px;
        border-radius: 14px;
        background: #fff;
        border: 1px solid var(--color-border);
        box-shadow: 0 8px 22px rgba(0,0,0,0.04);
    }

    .home .vp .icon {
        width: 42px;
        height: 42px;
        margin-bottom: 14px;
    }

    .home .vp h3,
    .vp h3,
    .why-card h3 {
        font-size: 1.05rem;
        margin-bottom: 8px;
    }

    .home .vp p,
    .vp p,
    .why-card p {
        font-size: 0.95rem;
        line-height: 1.55;
        margin-bottom: 0;
    }

    /* ABOUT TEASER */
    .home .about-teaser {
        display: grid;
        grid-template-columns: 1fr;
        gap: 26px;
        align-items: start;
    }

    .home .about-teaser .photo {
        width: 100%;
        max-width: 420px;
        margin: 0 auto;
        aspect-ratio: 4 / 5;
        border-radius: 14px;
        background-position: center top;
        background-size: cover;
    }

    .home .about-teaser h2 {
        font-size: clamp(1.55rem, 7vw, 2.1rem);
        line-height: 1.15;
    }

    .home .about-teaser p {
        font-size: 0.98rem;
        line-height: 1.65;
    }

    /* DARK CTA */
    .home .sellers-cta {
        padding: 56px 0;
    }

    .home .sellers-cta h2 {
        font-size: clamp(1.6rem, 8vw, 2.3rem);
        line-height: 1.15;
    }

    .home .sellers-cta p {
        font-size: 1rem;
        line-height: 1.6;
    }

    /* COMMUNITY HUB */
    .communities-hub .ch-hero {
        padding: 52px 0 40px;
    }

    .communities-hub .ch-hero h1 {
        max-width: 100%;
        font-size: clamp(2rem, 9vw, 3rem);
        line-height: 1.08;
    }

    .communities-hub .ch-hero p.lead {
        font-size: 1rem;
        line-height: 1.6;
    }

    .communities-hub .ch-states {
        padding: 44px 0 16px;
    }

    .communities-hub .ch-directory {
        padding: 44px 0;
    }

    .communities-hub .ch-county {
        padding: 24px 0;
    }

    .communities-hub .ch-county-head {
        align-items: flex-start;
        gap: 8px;
        margin-bottom: 16px;
    }

    .communities-hub .ch-city-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px 14px;
    }

    /* PLACE PAGES */
    .place .pl-hero {
        min-height: 300px;
        padding: 44px 0 34px;
    }

    .place .pl-hero h1 {
        font-size: clamp(2rem, 9vw, 3rem);
        line-height: 1.08;
    }

    .place .pl-hero .tagline {
        font-size: 1rem;
        line-height: 1.55;
    }

    .place .pl-body {
        padding: 44px 0;
    }

    .place .pl-body .layout {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .place .pl-body p {
        font-size: 1rem;
        line-height: 1.65;
    }

    .place .pl-highlights {
        padding: 24px 22px;
        border-radius: 14px;
    }

    .place .pl-gallery,
    .place .pl-children,
    .place .pl-listings,
    .place .pl-siblings {
        padding: 44px 0;
    }

    .place .pl-gallery .head,
    .place .pl-children .head,
    .place .pl-listings .head {
        align-items: flex-start;
        gap: 12px;
        margin-bottom: 20px;
    }

    .place .pl-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .place .pl-card {
        border-radius: 14px;
    }

    .place .pl-card-body {
        padding: 14px 14px 16px;
    }

    .place .pl-card-body h3 {
        font-size: 1rem;
    }

    .place .pl-card-body .tagline {
        font-size: 0.82rem;
    }

    .place .pl-cta {
        padding: 56px 0;
    }

    .place .pl-siblings-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
    }

    .place .pl-sibling {
        border-radius: 12px;
        padding: 14px;
    }

    /* FOOTER MOBILE CLEANUP */
    .site-footer,
    footer {
        padding-top: 42px;
    }

    .footer-grid,
    .site-footer .grid,
    footer .grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .site-footer h3,
    .site-footer h4,
    footer h3,
    footer h4 {
        margin-bottom: 10px;
    }

    .site-footer p,
    .site-footer li,
    .site-footer a,
    footer p,
    footer li,
    footer a {
        font-size: 0.9rem;
        line-height: 1.55;
    }

    .footer-bottom,
    .site-footer .bottom,
    footer .bottom {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
        text-align: left;
    }
}

/* Extra small phones */
@media (max-width: 460px) {
    .container {
        width: min(100% - 28px, 720px);
    }

    .place .pl-grid,
    .place .pl-siblings-grid {
        grid-template-columns: 1fr;
    }

    .communities-hub .ch-city-list {
        grid-template-columns: 1fr;
    }

    .home .hero {
        padding-top: 38px;
    }

    .home .community-card,
    .community-card,
    .communities-hub .ch-state-card {
        min-height: 200px;
    }
}