/* Contact and confirmation layouts. Loaded after the shared mobile styles. */
@media screen and (max-width: 768px) {
    .contact-map-hero {
        height: clamp(230px, 55vw, 300px);
    }

    .contact-map-label strong {
        font-size: 0.8125rem;
        line-height: 1.3;
    }

    .contact-map-label small {
        font-size: 0.75rem;
        line-height: 1.4;
    }

    .contact-map-controls button,
    .contact-location-map .leaflet-control-zoom a {
        width: 44px;
        height: 44px;
    }

    .contact-page-section {
        padding-block: clamp(2rem, 6vw, 3rem);
    }

    .contact-page-section > .container {
        width: 100%;
        max-width: 680px;
        padding-inline: var(--mobile-edge, 1.2rem);
    }

    .contact-grid-layout {
        min-width: 0;
        gap: 1.5rem;
    }

    .contact-form-col,
    .contact-info-col {
        min-width: 0;
        padding: clamp(1rem, 4vw, 1.75rem);
    }

    .contact-grid-layout :is(h1, h2) {
        margin-bottom: 1.5rem;
        overflow-wrap: break-word;
    }

    .contact-form {
        gap: 1.25rem;
    }

    .contact-form .form-group {
        min-width: 0;
    }

    .contact-form label {
        margin-bottom: 0.45rem;
        line-height: 1.5;
    }

    .contact-form input:not([type="hidden"]),
    .contact-form textarea {
        min-width: 0;
        max-width: 100%;
        min-height: 50px;
        padding: 0.75rem;
        scroll-margin-block: 7rem 5rem;
    }

    .contact-form textarea {
        min-height: 160px;
    }

    .contact-form .btn {
        min-height: 52px;
        padding: 0.85rem 1rem;
        font-size: 1rem;
        white-space: normal;
        scroll-margin-block: 7rem 2rem;
    }

    .contact-info-col .info-block {
        margin-bottom: 1.25rem;
        padding-bottom: 1.25rem;
    }

    .contact-info-col .info-block p {
        overflow-wrap: break-word;
    }

    .contact-info-col a[href^="tel:"],
    .contact-info-col a[href^="mailto:"] {
        display: inline-block;
        min-height: 44px;
        max-width: 100%;
        padding-block: 0.5rem;
        line-height: 1.65;
        vertical-align: middle;
    }

    .thanks-section {
        padding-block: clamp(2rem, 7vw, 3.5rem);
    }

    .thanks-card {
        width: min(calc(100% - var(--mobile-edge, 1.2rem) * 2), 540px);
        min-width: 0;
        padding: clamp(1.5rem, 5vw, 2.25rem) clamp(1rem, 4vw, 2rem);
    }

    .thanks-card h1 {
        font-size: clamp(1.875rem, 7vw, 2.5rem);
        line-height: 1.15;
        overflow-wrap: break-word;
    }

    .thanks-card p {
        font-size: 1rem;
        line-height: 1.7;
    }

    .thanks-actions .btn {
        min-height: 52px;
        padding-inline: 1rem;
        font-size: 1rem;
        white-space: normal;
    }

    .thanks-page .thanks-card > .whatsapp-btn {
        position: static;
        display: flex;
        margin: 1.5rem auto 0;
        transform: none;
    }

    .thanks-page .thanks-card .whatsapp-badge {
        display: none !important;
    }
}

@media screen and (max-width: 768px) and (max-height: 500px) {
    .thanks-section {
        min-height: 0;
        padding-block: 2rem;
    }
}
