/* ==============================
 * Block — Contact (map + bandeau orange)
 * Scope racine : .block-contact
 * Layout : 2 colonnes pleine largeur
 * ============================== */

.block-contact {
    width: 100%;
    display: flex;
    flex-direction: column;
    background: var(--color-bg);
}
.block-contact__map,
.block-contact__panel { width: 100%; }

@media (min-width: 768px) {
    .block-contact { flex-direction: row; align-items: stretch; }
    .block-contact__map   { flex: 1 1 0; min-width: 0; }
    .block-contact__panel { flex: 1 1 0; min-width: 0; }
}

@media (min-width: 1024px) {
    .block-contact { margin-top: 78px; }
}

@media (max-width: 1023px) {
    .block-contact { margin-top: 45px; }
}

/* ----- Map ----- */
.block-contact__map {
    position: relative;
    min-height: 320px;
    background: var(--color-bg-alt);
}
@media (min-width: 768px) {
    .block-contact__map { min-height: 100%; }
}

.block-contact__map-frame {
    width: 100%;
    height: 100%;
    min-height: inherit;
    border: 0;
    display: block;
}

.block-contact__map--placeholder::after {
    content: 'Carte';
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-muted);
    font-size: var(--fs-body);
}

/* ----- Panel orange ----- */
.block-contact__panel {
    background: var(--color-primary);
    color: var(--color-text-on-primary);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: clamp(40px, 6vw, 72px) clamp(24px, 5vw, 64px);
}
@media (max-width: 767px) {
    .block-contact__panel {
        padding-left: var(--gutter);
        padding-right: var(--gutter);
    }
}

.block-contact__panel-inner {
    width: 100%;
    max-width: 520px;
    text-align: left;
    display: flex;
    flex-direction: column;
}
.block-contact__panel-inner > * + * { margin-top: var(--text-stack-gap); }

.block-contact__title {
    font-family: var(--font-heading);
    font-weight: var(--weight-heading);
    font-size: var(--fs-h2);
    color: var(--color-white);
    margin: 0;
    line-height: 1.15;
}

.block-contact__intro {
    font-family: var(--font-body);
    font-weight: var(--weight-body);
    font-size: var(--fs-body);
    color: var(--color-white);
    line-height: 1.6;
}
.block-contact__intro > * { margin: 0; }
.block-contact__intro > * + * { margin-top: 12px; }

.block-contact__cta {
    align-self: flex-start;
    /* Bouton ghost contrasté sur orange : fond noir, hover plus foncé */
    background: var(--color-text);
    color: var(--color-white);
    border-color: var(--color-text);
}
.block-contact__cta:hover,
.block-contact__cta:focus-visible {
    background: var(--color-white);
    border-color: var(--color-white);
    color: var(--color-text);
}
