/* Hero Contact block */

.block-hero-contact {
    --hero-contact-gap: 20px;
}

.block-hero-contact__inner {
    display: flex;
    flex-direction: column;
    gap: var(--hero-contact-gap);
    padding-top: var(--wp--preset--spacing--40);
}

/* Header */

.block-hero-contact__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    text-align: center;
}

.block-hero-contact__title,
.block-hero-contact__subtitle {
    margin: 0;
}

/* Image and details on the left, form on the right */

.block-hero-contact__body {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--hero-contact-gap);
    align-items: start;
}

.block-hero-contact__aside {
    display: flex;
    flex-direction: column;
    gap: var(--hero-contact-gap);
}

.block-hero-contact__media {
    min-height: 0;
    border-radius: var(--radius-06);
    overflow: hidden;
}

.block-hero-contact__media--landscape {
    aspect-ratio: 4 / 3;
}

.block-hero-contact__media--portrait {
    aspect-ratio: 3 / 4;
}

.block-hero-contact__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Details */

/* Contact details — a white box under the image, one row per detail with its
   icon beside the title and value. Every row but KvK is a link. */

.block-hero-contact__details {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 30px;
    border-radius: var(--radius-06);
    background-color: var(--wp--preset--color--white);
}

.block-hero-contact__detail {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: var(--wp--preset--color--warm-zwart);
    text-decoration: none;
}

a.block-hero-contact__detail {
    transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

a.block-hero-contact__detail:hover,
a.block-hero-contact__detail:focus-visible {
    color: var(--wp--preset--color--energiek-blauw);
}

/* Follows the row's colour, so it is dark and turns blue with it on hover */
.block-hero-contact__detail-icon {
    display: flex;
    flex-shrink: 0;
    color: inherit;
}

.block-hero-contact__detail-icon svg {
    display: block;
}

/* Title and value stacked tight, with no paragraph spacing between them */
.block-hero-contact__detail-body {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

/* The value in grey under the dark title; it joins the row's blue on hover */
.block-hero-contact__detail-value {
    overflow-wrap: anywhere;
    color: var(--wp--preset--color--warm-grijs-04);
    transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

a.block-hero-contact__detail:hover .block-hero-contact__detail-value,
a.block-hero-contact__detail:focus-visible .block-hero-contact__detail-value {
    color: inherit;
}

/* Form */

.block-hero-contact__form {
    width: 100%;
    padding: 0;
    border-radius: var(--radius-06);
    background-color: var(--wp--preset--color--white);
}

/* Desktop */

@media (min-width: 782px) {
    .block-hero-contact__body {
        grid-template-columns: 1fr 1fr;
    }
}
