/* ───────────────────────────────────────────────
   Zizania — Contact Page Layout

   Page-level orchestration. Component styling lives in
   assets/css/components/contact-*.css and workshop-visit.css.
   ─────────────────────────────────────────────── */

.zizania-contact {
    background-color: var(--surface);
}

/* ─── Main section: form + info two-column grid ─── */
.zz-contact-main {
    padding-top: clamp(1rem, 3vw, 2rem);
    padding-bottom: clamp(3rem, 6vw, 5rem);
}

.zz-contact-main__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: clamp(2rem, 5vw, 4rem);
    align-items: start;
}

.zz-contact-main__col {
    min-width: 0;
}

.zz-contact-main__col--info {
    padding-top: 0.5rem;
}

/* ─── Mobile: stack columns ─── */
@media (max-width: 900px) {
    .zz-contact-main__grid {
        grid-template-columns: 1fr;
    }
    .zz-contact-main__col--info {
        padding-top: 0;
    }
}

/* ─── Astra container alignment ───
   Match the Astra .ast-container width with our header (.zz-container).
   Without this override, the page main is 40px narrower than the header. */
.zz-contact-page #content > .ast-container {
    max-width: var(--container-max);
    padding-left: 0;
    padding-right: 0;
}

.zz-contact-page.ast-plain-container.ast-no-sidebar #primary,
.zz-contact-page .ast-plain-container.ast-no-sidebar #primary {
    margin-top: 0;
    margin-bottom: 0;
    padding: 0;
}

.zz-contact-page #primary {
    width: 100%;
    max-width: 100%;
}

/* ─── Right column matches form card height ───
   The map naturally has aspect-ratio 16/11, but we want the column's
   total height (info + social + map) to align with the form card.
   Solution: let the info column grow to match, and stretch the map
   to fill the remaining vertical space. */
@media (min-width: 900px) {
    .zz-contact-main__grid {
        align-items: stretch;
    }

    .zz-contact-main__col--info {
        display: flex;
        flex-direction: column;
    }

    .zz-contact-main__col--info .zz-contact-map {
        flex: 1 1 auto;
        margin-top: auto;
    }

    .zz-contact-main__col--info .zz-contact-map__frame {
        aspect-ratio: auto;
        height: 100%;
        min-height: 16rem;
    }
}
