.asfi-contact-captcha-shell[hidden] { display: none !important; }

#contact.contact.section {
    overflow: visible;
}

#contact #sidemap {
    display: flex;
}

#contact #sidemap .php-email-form {
    height: auto;
    min-height: 0;
    width: 100%;
}

#contact.asfi-contact-captcha-open #sidemap {
    display: block;
    height: auto !important;
}

#contact.asfi-contact-captcha-open #sidemap .php-email-form {
    height: auto !important;
    min-height: 0 !important;
}

.asfi-contact-captcha {
    background: #f7f8fa;
    border: 2px solid #e1e5ea;
    border-radius: .6rem;
    margin-top: .25rem;
    padding: 1.15rem;
    text-align: left;
}

.asfi-contact-captcha__title { color: #111827; font-size: 1.05rem; font-weight: 800; margin: 0 0 .25rem; }
.asfi-contact-captcha__help { color: #4b5563; margin: 0 0 .9rem; }
.asfi-contact-captcha__media { align-items: center; display: flex; flex-wrap: wrap; gap: 1rem; }
.asfi-contact-captcha__image-wrap { align-items: center; background: #fff; border: 1px solid #cbd2da; display: flex; height: 84px; justify-content: center; width: 242px; }
.asfi-contact-captcha__image-wrap img { display: block; height: 82px; max-width: 100%; object-fit: contain; width: 240px; }
.asfi-contact-captcha__loading { color: #4b5563; font-size: .9rem; }
.asfi-contact-captcha__actions { display: flex; flex-direction: column; gap: .6rem; }

.asfi-contact-captcha button.asfi-contact-captcha__refresh,
.asfi-contact-captcha button.asfi-contact-captcha__audio {
    align-items: center;
    border: 2px solid #111827;
    border-radius: .4rem;
    cursor: pointer;
    display: inline-flex;
    font-weight: 800;
    gap: .45rem;
    justify-content: center;
    min-height: 44px;
    padding: .55rem .9rem;
}

.asfi-contact-captcha button.asfi-contact-captcha__refresh { background: #feb900; color: #111827; }
.asfi-contact-captcha button.asfi-contact-captcha__audio { background: #fff; color: #111827; }
.asfi-contact-captcha button:hover { filter: brightness(.94); }
.asfi-contact-captcha button:focus-visible { outline: 3px solid #1565c0; outline-offset: 3px; }
.asfi-contact-captcha button:disabled { cursor: wait; opacity: .55; }
.asfi-contact-captcha__label { color: #111827; display: block; font-weight: 700; margin-top: 1rem; max-width: 242px; }
.asfi-contact-captcha__label input { font-size: 1.2rem; letter-spacing: .3em; margin-top: .35rem; text-align: center; }
.asfi-contact-captcha__status { color: #4b5563; margin: .65rem 0 0; min-height: 1.35rem; }
.asfi-contact-captcha__error { background: #fff0f0; border-left: 4px solid #b42318; color: #8a1c13; margin-bottom: .9rem; padding: .7rem .85rem; }

@media (max-width: 575px) {
    .asfi-contact-captcha__media,
    .asfi-contact-captcha__actions { align-items: stretch; flex-direction: column; }
    .asfi-contact-captcha__image-wrap,
    .asfi-contact-captcha__label { max-width: 100%; width: 100%; }
}
