/* Isolado dos formulários existentes da Home, Prognos e Labs. */
/* Mantém a largura da página quando o diálogo bloqueia a rolagem. */
html { scrollbar-gutter: stable; }
html.uni-contato-popup-open { overflow: hidden; }
#uni-contato-popup {
    box-sizing: border-box;
    width: min(620px, calc(100% - 32px));
    max-width: calc(100% - 32px);
    max-height: calc(100vh - 32px);
    max-height: calc(100dvh - 32px);
    margin: auto;
    padding: 0;
    border: 1px solid #e5e9e9;
    border-radius: 24px;
    /* Recorta também a barra de rolagem nativa nos quatro cantos. */
    clip-path: inset(0 round 24px);
    background: #fff;
    color: #353e40;
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #b8c2c3 transparent;
    box-shadow: 0 20px 70px #0005;
}
#uni-contato-popup::backdrop { background: #101719a6; backdrop-filter: blur(4px); }
#uni-contato-popup[open] { animation: uni-contato-entrar 320ms cubic-bezier(.22,1,.36,1); }
#uni-contato-popup[open]::backdrop { animation: uni-contato-fundo-entrar 280ms ease-out; }
#uni-contato-popup.uni-contato-saindo::backdrop { animation: uni-contato-fundo-sair 220ms ease-in forwards; }
@keyframes uni-contato-entrar {
    from { opacity: 0; transform: translateY(14px) scale(.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes uni-contato-fundo-entrar { from { opacity: 0; } to { opacity: 1; } }
@keyframes uni-contato-fundo-sair { from { opacity: 1; } to { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
    #uni-contato-popup[open],
    #uni-contato-popup[open]::backdrop,
    #uni-contato-popup.uni-contato-saindo::backdrop { animation: none; }
}
/* Não ocupa uma faixa acima do RD. O X sobrepõe a área vermelha e
   permanece acessível durante a rolagem do formulário. */
#uni-contato-popup .uni-contato-popup__head { position: sticky; top: 0; height: 0; padding: 0; margin: 0; z-index: 5; }
#uni-contato-popup h2 { margin: 0; font-size: 24px; line-height: 1.3; }
#uni-contato-popup .uni-contato-popup__close { position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; margin: 0; border: 1px solid #ffffff66; border-radius: 50%; background: #a9172c; color: #fff; font-size: 26px; line-height: 1; cursor: pointer; box-shadow: none; }
#uni-contato-popup .uni-contato-popup__close:hover { background: #881226; }
#uni-contato-popup .uni-contato-popup__close:focus-visible { outline: 2px solid #fff; outline-offset: 2px; box-shadow: 0 0 0 5px #353e40; }
#uni-contato-popup .uni-contato-popup__status,
#uni-contato-popup .uni-contato-popup__fallback { font-size: 14px; line-height: 1.5; margin: 16px 0; }
#uni-contato-popup .uni-contato-popup__status[hidden] { display: none; }
#uni-contato-popup .uni-contato-popup__fallback a { color: #b41b30; text-decoration: underline; }
@media (max-width: 480px) {
    #uni-contato-popup { padding: 0; }
    #uni-contato-popup h2 { font-size: 21px; }
}

/* Seletores baseados no formulário RD publicado. Dois IDs vencem os estilos
   injetados pelo RD por especificidade, sem afetar outros formulários. */
#uni-contato-popup #rd-section-mqr48qu9 { border-radius: 16px; overflow: hidden; background: #f7f9f9; }
#uni-contato-popup #rd-column-mqr48quf > div { background: #f7f9f9; padding: 22px 26px 12px; }
#uni-contato-popup #rd-text-mqr4fvi8 { max-width: 100%; margin: 0 0 10px; }
#uni-contato-popup #rd-text-mqr4fvi8 p { font-family: Poppins, sans-serif; font-size: 15px; line-height: 1.65; color: #465456; }
#uni-contato-popup #rd-form-mqr48qug { max-width: 100%; margin: 12px 0; }
#uni-contato-popup #rd-form-mqr48qug .bricks-form__field { margin-bottom: 16px; }
#uni-contato-popup #rd-form-mqr48qug .bricks-form__label { font-family: Poppins, sans-serif; font-size: 13px; line-height: 1.6; color: #353e40; }
#uni-contato-popup #rd-form-mqr48qug input.bricks-form__input,
#uni-contato-popup #rd-form-mqr48qug textarea.bricks-form__input { font-family: Poppins, sans-serif; font-size: 16px; color: #263638; background: #fff; border: 1px solid #d7dfe0; border-radius: 10px; box-shadow: 0 2px 4px #26363804; padding: 10px 12px; }
#uni-contato-popup #rd-form-mqr48qug input.bricks-form__input:not(.phone) { height: 44px; }
/* O seletor de país mantém a altura original para não quebrar o plugin RD. */
#uni-contato-popup #rd-form-mqr48qug input.bricks-form__input.phone { height: 36px; }
#uni-contato-popup #rd-form-mqr48qug textarea.bricks-form__input { min-height: 96px; resize: vertical; }
#uni-contato-popup #rd-form-mqr48qug .bricks-form__input:focus-visible { outline: 2px solid #e6223d; outline-offset: 2px; border-color: #e6223d; }
#uni-contato-popup #rd-form-mqr48qug input[type="checkbox"],
#uni-contato-popup #rd-form-mqr48qug input[type="radio"] { accent-color: #e6223d; }
#uni-contato-popup #rd-form-mqr48qug .bricks-form__privacy .bricks-form__label,
#uni-contato-popup #rd-form-mqr48qug .bricks-form__static { font-family: Poppins, sans-serif; font-size: 12px; line-height: 1.7; color: #536164; text-align: left; }
/* A frase e o link são texto corrido. No celular, quebram só por largura. */
#uni-contato-popup #rd-form-mqr48qug .bricks-form__terms .bricks-form__static { display: block; width: 100%; max-width: none; margin: 0; white-space: normal; }
#uni-contato-popup #rd-form-mqr48qug .bricks-form__terms .bricks-form__static span,
#uni-contato-popup #rd-form-mqr48qug .bricks-form__terms .bricks-form__static a { display: inline; white-space: normal; }
#uni-contato-popup #rd-form-mqr48qug .bricks-form__static a { color: #b51b32; text-decoration: underline; text-underline-offset: 2px; }
#uni-contato-popup #rd-button-mqr48qul.bricks--component-button { height: 48px; border: 0; border-radius: 12px; font-family: Poppins, sans-serif; font-size: 15px; font-weight: 600; background: linear-gradient(110deg, #ec4230, #e6223d); box-shadow: 0 5px 12px #e6223d1f; }
#uni-contato-popup #rd-button-mqr48qul.bricks--component-button:hover { background: #cc2038; }
#uni-contato-popup #rd-button-mqr48qul.bricks--component-button:focus-visible { outline: 2px solid #353e40; outline-offset: 3px; }
#uni-contato-popup #rd-text-mqr48qum { max-width: 100%; margin: 6px 0 12px; }
@media (max-width: 480px) {
    #uni-contato-popup #rd-column-mqr48quf > div { padding: 18px 16px 10px; }
}
