.recaptcha-field {
    min-width: 0;
    margin-block: 1.25rem;
    color: var(--primary-deep, #091f54);
}

.recaptcha-field__label {
    margin: 0 0 .65rem;
    font-size: .85rem;
    font-weight: 600;
}

.recaptcha-field__widget {
    width: 304px;
    max-width: 100%;
    min-height: 78px;
    border-radius: 4px;
}

.recaptcha-field__widget[data-recaptcha-size="compact"] { width: 164px; min-height: 144px; }

.recaptcha-field__widget:focus-visible {
    outline: 2px solid var(--primary, #009fa5);
    outline-offset: 4px;
}

.recaptcha-field__status,
.recaptcha-field__noscript,
.recaptcha-field__privacy {
    margin: .6rem 0 0;
    font-size: .76rem;
    line-height: 1.65;
    overflow-wrap: break-word;
}

.recaptcha-field__privacy { color: #5c6574; font-size: .7rem; }
.recaptcha-field__privacy a { color: var(--primary-deep, #091f54); text-decoration: underline; text-underline-offset: .15em; }

.recaptcha-field.has-error .recaptcha-field__status,
.recaptcha-field__noscript {
    color: #a32b2b;
}

.recaptcha-field__preview {
    display: flex;
    align-items: center;
    gap: .8rem;
    width: 304px;
    max-width: 100%;
    min-height: 78px;
    padding: .8rem;
    border: 1px solid #d3d3d3;
    border-radius: 4px;
    background: #fafafa;
    color: #333;
    font-family: Arial, sans-serif;
    font-size: .85rem;
}

.recaptcha-field__preview > span:first-child {
    flex: 0 0 24px;
    height: 24px;
    border: 2px solid #aaa;
    background: #fff;
}

.recaptcha-field__preview small {
    margin-left: auto;
    font-size: .65rem;
    color: #666;
}

@media (max-width: 375px) {
    .recaptcha-field__widget { width: 164px; min-height: 144px; }
    .recaptcha-field__preview { flex-wrap: wrap; width: 164px; min-height: 144px; }
}
