/*
 * CSS nativo do plugin J.Prior Native Pro Replacements.
 *
 * Nao substitui o CSS que o Elementor ja gera em uploads/elementor/css/post-<id>.css
 * (esse continua a aplicar-se porque reproduzimos exatamente as mesmas classes).
 * O que esta aqui dentro e apenas o "esqueleto" que o Elementor Pro injetava
 * via frontend.min.css do plugin: comportamento de flexbox do nav-menu,
 * esconder/mostrar o dropdown em mobile, pointer underline, e utilitarios
 * (screen-only). Mantem-se minimo para nao sobrepor o CSS do utilizador.
 */

/* ==== Nav menu ==== */
.elementor-widget-nav-menu { position: relative; }
.elementor-widget-nav-menu .elementor-nav-menu__container-wrapper { display: flex; flex-direction: column; }

.elementor-nav-menu--main.elementor-nav-menu__container { display: block; }
.elementor-nav-menu--main ul.elementor-nav-menu {
    margin: 0; padding: 0; list-style: none;
    display: flex; flex-wrap: wrap; align-items: center;
}
.elementor-nav-menu--main ul.elementor-nav-menu > li { position: relative; }
.elementor-nav-menu--main ul.elementor-nav-menu > li > a.elementor-item { display: block; text-decoration: none; }

/* Cor do texto do menu principal (branco sobre o gradiente do header).
   O Elementor Pro injetava esta cor via frontend.css; depois do `flush-css`
   sem o Pro a regra em post-696.css perdeu-a e o texto caiu no default escuro
   do tema. Vale por cima de qualquer regra gerada gracas ao !important. */
.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item { color: #ffffff !important; }
.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
.elementor-widget-nav-menu .elementor-nav-menu--main li.current-menu-item > .elementor-item { color: #4fd0e0 !important; }

/* Submenu desktop: escondido por omissao, visivel em hover/focus */
.elementor-nav-menu--main .sub-menu.elementor-nav-menu--dropdown {
    display: none; position: absolute; top: 100%; left: 0;
    margin: 0; padding: 0; list-style: none; min-width: 220px;
    background: #1e2b3c; z-index: 100;
}
.elementor-nav-menu--main li:hover > .sub-menu.elementor-nav-menu--dropdown,
.elementor-nav-menu--main li:focus-within > .sub-menu.elementor-nav-menu--dropdown { display: block; }
.elementor-nav-menu--main .sub-menu.elementor-nav-menu--dropdown a.elementor-sub-item {
    display: block; padding: 12px 18px; color: #ffffff; text-decoration: none;
}

/* Alinhamento do menu no container */
.elementor-nav-menu__align-left   .elementor-nav-menu--main ul.elementor-nav-menu { justify-content: flex-start; }
.elementor-nav-menu__align-center .elementor-nav-menu--main ul.elementor-nav-menu { justify-content: center; }
.elementor-nav-menu__align-right  .elementor-nav-menu--main ul.elementor-nav-menu { justify-content: flex-end; }

/* Full width stretch */
.elementor-nav-menu--stretch .elementor-nav-menu--main ul.elementor-nav-menu { width: 100%; }
.elementor-nav-menu--stretch .elementor-nav-menu--main ul.elementor-nav-menu > li { flex: 1 1 auto; text-align: center; }

/* Pointer "none" por omissao; outras variants ficam no CSS gerado */
.e--pointer-none a.elementor-item::after { display: none !important; }

/* Botao de toggle (burger) */
.elementor-menu-toggle {
    display: none; cursor: pointer; align-items: center; justify-content: center;
    width: 44px; height: 44px; border: 0; background: transparent; color: inherit;
    position: relative;
}
.elementor-menu-toggle .jp-icon-open,
.elementor-menu-toggle .jp-icon-close { font-size: 24px; line-height: 1; }
.elementor-menu-toggle .jp-icon-close { display: none; }
.elementor-nav-menu--burger.elementor-active .jp-icon-open  { display: none; }
.elementor-nav-menu--burger.elementor-active .jp-icon-close { display: inline-block; }

/* Dropdown mobile: escondido por omissao */
.elementor-nav-menu--dropdown.elementor-nav-menu__container { display: none; }
.elementor-nav-menu--burger.elementor-active .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    display: block;
}
.elementor-nav-menu--dropdown.elementor-nav-menu__container ul.elementor-nav-menu {
    margin: 0; padding: 0; list-style: none;
}
.elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-item,
.elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-sub-item {
    display: block; padding: 12px 16px; text-decoration: none;
}
.elementor-nav-menu--dropdown.elementor-nav-menu__container .sub-menu.elementor-nav-menu--dropdown {
    display: block; position: static; padding-left: 16px; background: transparent; min-width: 0;
}

/* Breakpoints: breakpoint padrao do Elementor e 1024px; tablet 768-1024, mobile <768 */
@media (max-width: 1024px) {
    .elementor-nav-menu--dropdown-tablet .elementor-nav-menu--main,
    .elementor-nav-menu--dropdown .elementor-nav-menu--main { display: none; }
    .elementor-nav-menu--dropdown-tablet .elementor-menu-toggle,
    .elementor-nav-menu--dropdown .elementor-menu-toggle { display: inline-flex; }
}
@media (max-width: 767px) {
    .elementor-widget-nav-menu:not(.elementor-nav-menu--dropdown-tablet):not(.elementor-nav-menu--dropdown) .elementor-nav-menu--main { display: none; }
    .elementor-widget-nav-menu:not(.elementor-nav-menu--dropdown-tablet):not(.elementor-nav-menu--dropdown) .elementor-menu-toggle { display: inline-flex; }
}

/* ==== Form ==== */
.elementor-form-fields-wrapper {
    display: flex; flex-wrap: wrap; margin-left: -10px; margin-right: -10px;
}
.elementor-form-fields-wrapper > .elementor-field-group {
    padding-left: 10px; padding-right: 10px; box-sizing: border-box; margin-bottom: 14px;
}
.elementor-field-group.elementor-col-100 { width: 100%; }
.elementor-field-group.elementor-col-50  { width: 50%; }
.elementor-field-group.elementor-col-33  { width: 33.333%; }
.elementor-field-group.elementor-col-25  { width: 25%; }
.elementor-field-group.elementor-col-75  { width: 75%; }
.elementor-field-group.elementor-col-60  { width: 60%; }
.elementor-field-group.elementor-col-40  { width: 40%; }
@media (max-width: 767px) {
    .elementor-form-fields-wrapper > .elementor-field-group { width: 100% !important; }
}
.elementor-form .elementor-field {
    width: 100%; box-sizing: border-box; padding: 12px 16px;
    border: 1px solid #d5d8dc; background: #ffffff; color: #1e2b3c;
    font-family: inherit; font-size: 15px; line-height: 1.4;
}
.elementor-form .elementor-field:focus { outline: 2px solid #249295; outline-offset: -1px; }
.elementor-form .elementor-field-label { display: block; margin-bottom: 6px; font-size: 13px; letter-spacing: 0.5px; text-transform: uppercase; color: #1e2b3c; }
.elementor-form .elementor-field-option { display: block; margin: 4px 0; }
.elementor-form .elementor-button-wrapper,
.elementor-form .jp-form-submit-row { margin-top: 12px; }
.elementor-form .elementor-button {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 14px 28px; background: #249295; color: #ffffff; border: 0;
    cursor: pointer; font-size: 14px; letter-spacing: 1px; text-transform: uppercase;
}
.elementor-form .elementor-button:hover { background: #1e7f82; }
.elementor-form .jp-form-message { margin-top: 14px; padding: 12px 16px; border-left: 4px solid #249295; background: #f0fafb; color: #1e2b3c; }
.elementor-form .jp-form-message[data-state="error"] { border-left-color: #b32d2e; background: #fdecec; color: #6d1a1a; }
.elementor-form .elementor-field-group.-error .elementor-field { border-color: #b32d2e; }

/* ==== Utilitarios ==== */
.elementor-screen-only,
.screen-reader-text.jp-screen-only {
    position: absolute !important; width: 1px; height: 1px; margin: -1px;
    padding: 0; overflow: hidden; clip: rect(0 0 0 0); border: 0; white-space: nowrap;
}
