/* Séparation visuelle entre la localisation et le bloc de conversion. */
@media (min-width: 901px) {
    .types {
        grid-template-columns: minmax(0, 31fr) minmax(0, 69fr);
    }

    .split {
        grid-template-columns: minmax(0, 38fr) minmax(0, 62fr);
    }

    .location-grid {
        grid-template-columns: minmax(0, 48fr) minmax(0, 52fr);
    }

    .contact {
        grid-template-columns: minmax(0, 44fr) minmax(0, 56fr);
    }
}

.location.split {
    background: #eef6ff;
}

.contact {
    margin-top: 64px;
    margin-bottom: 64px;
}

@media (max-width: 900px) {
    .contact {
        margin-top: 48px;
        margin-bottom: 48px;
    }
}

@media (max-width: 640px) {
    .contact {
        margin-top: 36px;
        margin-bottom: 36px;
    }
}

.availability-alert {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 72px;
    align-items: center;
    margin-top: 64px;
    margin-bottom: 64px;
    padding: 56px 48px;
    background: #eaf4ff;
    border: 1px solid rgba(15, 73, 142, .08);
    border-radius: 20px;
    box-shadow: 0 13px 32px rgba(6, 42, 89, .055);
}

.availability-alert h2 {
    margin: 0 0 20px;
    font: 400 38px/1.08 'DM Serif Display', Georgia, serif;
}

.availability-alert-copy > p:last-child {
    max-width: 520px;
    margin: 0;
}

.availability-alert-form label {
    display: block;
    margin-bottom: 9px;
    font-size: 13px;
    font-weight: 700;
}

.availability-alert-controls {
    display: flex;
    gap: 10px;
}

.availability-alert-controls input {
    width: 100%;
    min-width: 0;
    height: 48px;
    padding: 0 15px;
    color: var(--ink);
    background: #fff;
    border: 1px solid #b7cbe3;
    border-radius: 7px;
    font: inherit;
}

.availability-alert-controls input:focus-visible {
    outline: 2px solid var(--blue);
    outline-offset: 2px;
}

.availability-alert-controls .button {
    min-width: 260px;
    border: 0;
    cursor: pointer;
}

.availability-alert-note {
    margin: 10px 0 0;
    font-size: 11px;
}

.form-message {
    margin: 0 0 14px;
    padding: 10px 12px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
}

.form-message.success { color: #205e43; background: #e7f6ef; }
.form-message.error { color: #8a2731; background: #fdecee; }
.iruak-honeypot { position: absolute !important; left: -9999px !important; }

@media (max-width: 900px) {
    .types,
    .split,
    .location-grid,
    .contact {
        grid-template-columns: minmax(0, 1fr);
    }

    .types,
    .split,
    .location-grid {
        gap: 36px;
    }

    .availability-alert {
        grid-template-columns: 1fr;
        gap: 32px;
        margin-top: 48px;
        margin-bottom: 48px;
    }
}

@media (max-width: 640px) {
    .availability-alert {
        gap: 26px;
        margin-top: 36px;
        margin-bottom: 36px;
        padding: 32px 22px;
    }

    .availability-alert h2 { font-size: 31px; }
    .availability-alert-controls { flex-direction: column; }
    .availability-alert-controls .button { width: 100%; min-width: 0; }
}

@media (max-width: 640px) {
    body.home #batiment > img {
        order: -1;
    }
}

/* IRUAK responsive location content first */
@media (max-width: 900px) {
    body.home #localisation .location-grid > div {
        order: -1;
    }
}
