/* Small-screen refinements layered on top of style.css */

@media (max-width: 768px) {
    .container {
        width: min(100% - 1.6rem, 1180px);
    }

    .ph-hero-content h1 {
        font-size: clamp(2.35rem, 10.5vw, 3.2rem);
    }

    /* The owner cards stack rather than squeezing two into a phone width. */
    .ph-card-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .ph-nav {
        min-height: 68px;
    }

    main {
        padding-top: 68px;
    }

    .ph-brand-logo {
        height: 42px;
        width: auto;
    }

    .ph-brand-name {
        font-size: 0.98rem;
        letter-spacing: 0.08em;
    }

    .ph-brand-tagline {
        font-size: 0.62rem;
    }

    .ph-menu-toggle,
    .ph-menu-close {
        width: 42px;
        height: 42px;
    }

    .ph-section-heading .eyebrow::before,
    .ph-section-heading .eyebrow::after {
        margin: 0 0.5rem;
    }

    .ph-outline-card {
        padding: 1.15rem 1rem 1.25rem;
    }

    .ph-stats-grid strong {
        font-size: 1.3rem;
    }

    .ph-stats-grid span {
        font-size: 0.66rem;
    }

    /* Store badges stack so the wordmark is never truncated. */
    .ph-store-row {
        grid-template-columns: 1fr;
        width: min(17rem, 100%);
    }

    /* Onboarding form: give fields the full width on a phone. */
    .ph-host-form {
        padding: 1.2rem 0.95rem 1.5rem;
        border-radius: var(--radius-md);
    }

    .ph-legend {
        font-size: 0.76rem;
    }

    .ph-shot-grid {
        grid-template-columns: repeat(auto-fill, minmax(7rem, 1fr));
    }

    .ph-step-nav {
        flex-direction: column-reverse;
    }
}

@media (max-width: 400px) {
    .ph-property-card img {
        height: 10.5rem;
    }

    .ph-tips {
        grid-template-columns: 1fr 1fr;
    }

    .about-stats {
        grid-template-columns: 1fr;
    }
}
