/*
 Theme Name:   JEIEM
 Theme URI:    https://meiembipe.com
 Description:  Child theme do WP Residence para o portal JEIEM. Camada onde vive toda customizacao visual e de template, para que updates do tema-pai nao derrubem o trabalho. Nada aqui deve duplicar o que o painel do WP Residence ja resolve.
 Author:       JEIEM
 Author URI:   https://meiembipe.com
 Template:     wpresidence
 Version:      0.9.22
 Text Domain:  wpresidence
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
*/

/*
 * Este arquivo e carregado DEPOIS do style.css do pai (ver functions.php:
 * o enqueue declara 'wpestate_style' como dependencia), entao nao precisa
 * de @import nem de !important para vencer o pai.
 *
 * Os tokens da marca (--mei-*) vivem no plugin, em
 * meiembipe-core/assets/css/base.css, e sao carregados nas telas dos
 * shortcodes. Quando o selo Ilha Gene entrar dentro do card do WP Residence,
 * e aqui que a ponte vai ser feita.
 */

/* ===========================================================================
 * Tipografia da marca - duas faces, cada uma no seu lugar
 * ===========================================================================
 * AKZIDENZ-GROTESK EXTENDED BQ e uma largura de DISPLAY. No site da marca ela
 * funciona porque a pagina tem uma duzia de palavras: wordmark, foto e uma
 * linha de tagline. Aqui o site e o oposto - filtro, card, preco, descricao,
 * menu, tabela. Em 19/set/2026 ela foi aplicada na interface inteira e o
 * resultado foi ruim: titulo de card truncando em duas linhas, descricao
 * quebrando a cada quatro palavras, rotulo de filtro a 13px largo demais.
 *
 * Entao: Akzidenz so no DISPLAY (wordmark, h1, h2), e ARCHIVO no texto
 * corrente. Archivo e a mesma familia de grotesca americana, o que mantem o
 * parentesco, e tem largura normal, o que faz a interface caber.
 *
 * Isso tambem da um plano de fuga: se a licenca da Akzidenz nao se confirmar,
 * so o display troca - o corpo do site ja esta numa fonte OFL.
 *
 * ARQUIVOS, todos em assets/fonts/ e todos auto-hospedados (sem CDN do Google,
 * que num site brasileiro ainda carrega a discussao de LGPD):
 *
 *   Akzidenz Light 300 / Medium 500 / Bold 700 - .woff2 e .woff
 *   Archivo variavel (eixo wght 300-700) - dois subsets, latin e latin-ext,
 *   baixados da API do Google Fonts. O subset latin cobre U+0000-00FF, entao o
 *   Archivo resolve o ordinal masculino e o euro que FALTAM na Akzidenz.
 *
 * LICENCA: Archivo e SIL OFL, livre inclusive para redistribuir. A Akzidenz
 * continua pendente de confirmacao com o stakeholder antes de producao.
 */

@font-face {
	font-family: 'Akzidenz-Grotesk Extended BQ';
	src: url('assets/fonts/akzidenz-grotesk-r-extended-light.woff2') format('woff2'),
	     url('assets/fonts/akzidenz-grotesk-r-extended-light.woff') format('woff');
	font-weight: 300 400;  /* a marca usa peso 400 no site no ar; sem esta faixa, 400 cairia aqui por acaso */
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Akzidenz-Grotesk Extended BQ';
	src: url('assets/fonts/akzidenz-grotesk-r-extended-medium.woff2') format('woff2'),
	     url('assets/fonts/akzidenz-grotesk-r-extended-medium.woff') format('woff');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Akzidenz-Grotesk Extended BQ';
	src: url('assets/fonts/akzidenz-grotesk-bq-bold-extended.woff2') format('woff2'),
	     url('assets/fonts/akzidenz-grotesk-bq-bold-extended.woff') format('woff');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Archivo';
	src: url('assets/fonts/archivo-var-latin.woff2') format('woff2');
	font-weight: 300 700;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'Archivo';
	src: url('assets/fonts/archivo-var-latin-ext.woff2') format('woff2');
	font-weight: 300 700;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/*
 * --mei-font-sans e a face de TEXTO, e e ela que o plugin le em
 * meiembipe-core/assets/css/base.css (dossie, vitrine, formulario de
 * submissao - todos densos de texto). A pilha esta repetida la de proposito,
 * para o plugin funcionar sem o child ativo. Mexeu aqui, mexa la.
 */
:root {
	--mei-font-display: 'Akzidenz-Grotesk Extended BQ', 'Archivo', sans-serif;
	--mei-font-sans: 'Akzidenz-Grotesk Extended BQ', 'Archivo', sans-serif;

	/*
	 * Hoje as duas apontam para a Extended, que e a identidade da marca. O
	 * Archivo fica carregado e disponivel no painel. Para voltar ao arranjo
	 * "display + texto" - Extended so em titulo, Archivo no corpo - basta
	 * trocar a linha acima por:
	 *   --mei-font-sans: 'Archivo', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	 * Nada mais precisa mudar.
	 */
}

/*
 * O WP Residence nao escreve font-family direto: ele le variaveis proprias, no
 * padrao var(--wp-estate-X-font-family-option, var(--wp-estate-X-font-family)),
 * e define as duas camadas no :root do proprio css/main.css - que e enfileirado
 * DEPOIS deste arquivo. Por isso um `body { font-family: ... }` aqui perde por
 * ordem de origem, mesmo com a dependencia declarada no wp_enqueue_style.
 *
 * Em vez de brigar com !important, alimentamos a variavel do tema. O seletor e
 * `html:root` de proposito: especificidade 0,0,1,1 contra 0,0,1,0 do :root do
 * tema, entao vence independente da ordem de carga.
 *
 * Reparar na divisao: h1 e h2 pegam o display; paragrafo, h3 a h6, menu e os
 * dois de card pegam o texto. h3 em diante ja e titulo de card e de bloco
 * interno, que e onde o Extended comecava a atrapalhar.
 *
 * NAO acrescentar tamanho, peso ou cor aqui: esses o painel resolve.
 */
html:root {
	--wp-estate-h1-font-family: var(--mei-font-display);
	--wp-estate-h2-font-family: var(--mei-font-display);

	--wp-estate-paragraph-font-family: var(--mei-font-sans);
	--wp-estate-h3-font-family: var(--mei-font-sans);
	--wp-estate-h4-font-family: var(--mei-font-sans);
	--wp-estate-h5-font-family: var(--mei-font-sans);
	--wp-estate-h6-font-family: var(--mei-font-sans);
	--wp-estate-menu-font-family: var(--mei-font-sans);
	--wp-estate-card-unit-font-family: var(--mei-font-sans);

	/*
	 * Detalhes do Card e a unica excecao: o tema nao tem camada base para ele,
	 * so a -option, entao para ter um padrao nosso e preciso escrever na -option
	 * mesmo - e isso VENCE o painel, porque html:root tem especificidade maior
	 * que o :root que o Redux imprime. Se um dia voces quiserem controlar
	 * "Detalhes do Card" pelo Theme Options, apaguem esta linha.
	 */
	--wp-estate-card-details-font-family-option: var(--mei-font-sans);
}

body,
button,
input,
select,
textarea,
h1, h2, h3, h4, h5, h6 {
	font-family: var(--mei-font-sans);
}

/*
 * TRACKING - a parte da identidade que o painel NAO controla.
 *
 * Medido no meiembipe.com em 19/set/2026: o wordmark sai a 16px com 1.6px de
 * espacamento e a tagline a 12px com 1.2px - os dois exatamente 0.1em. Nenhum
 * texto daquele site passa de 16px nem de peso 400: a identidade e tipo
 * pequeno, leve e espacado, com muito respiro em volta - nao titulo grande.
 *
 * Tamanho, peso e altura de linha ficam no painel (Design > Fontes), agora que
 * as duas familias aparecem no dropdown. Aqui fica so o que o Redux nao expoe.
 */
h1,
h2,
.logo a,
.navbar-brand,
#logo a {
	letter-spacing: 0.1em;
}

h3, h4, h5, h6,
.listing_title,
.property_listing h4 {
	letter-spacing: 0.04em;
}

/*
 * PESO - fechando o que o painel nao alcanca.
 *
 * O meiembipe.com e uniformemente peso 400: nao existe 500 nem 700 em lugar
 * nenhum dele. No Theme Options > Design > Fontes da para por 400 em paragrafo,
 * h1 a h6, menu e cards, e e la que isso deve ser feito - nao aqui.
 *
 * O que sobra sao classes em que o TEMA crava font-weight: 500 direto no CSS,
 * sem campo correspondente no Redux. Levantadas uma a uma varrendo a ficha do
 * imovel e a pagina de envio em 19/set/2026 (21 seletores em peso 500; os dois
 * em 700 eram o "x" de fechar e o "+" do zoom do Leaflet, que sao icone e nao
 * texto, entao ficam como estao).
 *
 * Os dois ultimos seletores levam :first-of-type porque o tema escreve
 * `.overview_element:first-of-type li{font-weight:500}` em public/css/main.css -
 * especificidade 0,0,2,1. Sem o :first-of-type o nosso 0,0,1,1 perde e a lista
 * de overview continua em 500. Conferido na folha do dev em 19/set/2026.
 *
 * A lista e explicita de proposito. Um `* { font-weight: 400 }` resolveria em
 * uma linha e quebraria todo negrito legitimo que alguem escrever no conteudo.
 */
.menu-item-link,
.wpestate_top_property_navigation_link,
.map-type,
.adv-search-header-1,
.wpresidence_slider_price,
.wpresidence_button,
.title_share,
.overview_inline_label,
.first_overview_date,
.social_facebook,
.social_tweet,
.social_pinterest,
.social_whatsup,
.social_email,
.overview_element:first-of-type li,
.overview_element:first-of-type li sup {
	font-weight: 400;
}

/*
 * Dossie Ilha Gene dentro do acordeao da ficha (functions.php,
 * meiembipe_child_dossie_acordeao). O painel do tema ja da o respiro e o
 * titulo "Curadoria Ilha Gene": o recuo e o filete de cima do dossie (feitos
 * para quando ele vem colado no fim do conteudo) e o eyebrow com o mesmo
 * texto ficariam repetidos.
 */
#meiembipe_dossie .meiembipe-dossie {
	margin: 0;
	padding: 0;
	border-top: 0;
}

#meiembipe_dossie .meiembipe-dossie__eyebrow {
	display: none;
}

/* ===========================================================================
 * Padrao tipografico pedido pelo stakeholder (doc "JEIEM site - projeto e
 * alteracoes", 13/out/2026)
 * ===========================================================================
 * A regra dele, repetida em todos os blocos do documento: texto no tamanho do
 * h1 (13px, medido no dev em 14/out/2026), titulo de botao e de secao em caixa
 * alta, fonte normal, sem negrito.
 *
 * Por que esta aqui e nao no painel: Design > Fontes cobre paragrafo, h1-h6,
 * menu e os dois campos de card, mas os desvios abaixo sao classes em que o
 * tema crava tamanho e peso direto no CSS (botao a 14px/500, titulo de
 * acordeao a 16px/500, endereco a 14px), sem campo no Redux. A lista saiu de
 * uma varredura do estilo computado na home, na ficha, na janela de login e no
 * Meu perfil - o que ja estava em 13px/400 nao aparece.
 *
 * O prefixo `html body` e de proposito: o public/css/main.css do tema e
 * enfileirado DEPOIS deste arquivo, entao com especificidade igual ele vence.
 *
 * O que ficou de fora, de proposito: o preco no topo da ficha (so perde o
 * negrito, continua grande), o interior do dossie Ilha Gene (o documento diz
 * "conforme esta") e os <sup> de m2.
 */

/* --- tamanho e peso: tudo em 13px / 400 --------------------------------- */

/* botoes do tema, em qualquer tela */
html body .wpresidence_button,
html body input.wpresidence_button,
html body button.wpresidence_button,
/* campos de formulario */
html body .form-control,
/* home: card do imovel */
html body .property_card_categories_wrapper,
html body .property_card_categories_wrapper a,
html body .property_listing_details_v3_item,
html body .property_listing_details_v3_item span,
html body .listing_unit_price_wrapper,
html body .listing_unit_price_wrapper a,
html body .property_listing .action_tag_wrapper,
html body .unit_type3_details a,
/* home: controles do mapa */
html body #gmap-control span,
/* ficha: cabecalho, legenda da foto e secoes */
html body .property_categs,
html body .property_categs a,
html body .title_share,
html body .caption-wrapper span,
html body .accordion-item .accordion-header .accordion-button,
html body .listing_detail,
html body .listing_detail a,
html body .listing_detail span,
html .single-estate_property .listing_detail strong,
html body .feature_chapter_name,
/* ficha: agende uma visita */
html body .wpestate_tour_info_headline,
html body .wpestate_day_unit_day_name,
html body .wpestate_day_unit_day_month,
html body .wpestate_property_schedule_dates_wrapper .wpestate_property_schedule_singledate_wrapper .wpestate_property_schedule_singledate_wrapper_display .wpestate_day_unit_day_number,
/* janela de login e registro */
html body [class*="_form_wrapper"] .login_register_div_title,
html body #modal_login_wrapper .login-register-modal-image .login-register-modal-image_text,
html body .login_modal_control a[class],
/* meu perfil e demais telas da conta */
html body .dashboard_hello_section h2,
html body .dashboard_hi_text,
html body .dashboard_username,
html body .wpestate_dashboard_section_title,
html body .row_user_dashboard label,
/* o tema fixa 14px em `.wpestate_dashboard_content_wrapper input[type="text"]`
   (0,2,1); so `.form-control` (0,1,2) perderia */
html body .wpestate_dashboard_content_wrapper .form-control,
html body .wpestate_dashboard_content_wrapper input[type],
html body .wpestate_dashboard_content_wrapper textarea,
html body .user_menu_wrapper a,
html body .mobile_user_menu a {
	font-size: 13px;
	font-weight: 400;
}

/*
 * Botao "Entre com o Google": o tema estiliza pelo id (#googleloginsidebar_topbar
 * e variantes por contexto), e id nao se vence com classe. E o unico
 * !important deste arquivo.
 */
html body .wpestate_social_login {
	font-size: 13px !important;
	font-weight: 400 !important;
}

/*
 * Login na gaveta do celular (.mobilewrapper-user, 255px fixos no tema, 235
 * uteis). O tema fixa o titulo em 16px por
 * `.mobilewrapper-user .wpestate_login_form_wrapper .login_register_div_title`
 * (0,3,0), que vence a regra geral acima. O "Entre com o Google" media 195px
 * de texto + icone para 203px de espaco: quebrava em duas linhas e, com o
 * line-height de 38px do tema, o botao ficava com 78px de altura. Medido num
 * iframe de 400px em 16/out/2026.
 */
html body .mobilewrapper-user [class*="_form_wrapper"] .login_register_div_title {
	font-size: 13px;
	line-height: 1.5;
}
html body .mobilewrapper-user .wpestate_social_login {
	white-space: nowrap;
	line-height: 40px;
	letter-spacing: 0;
	padding: 0 8px;
}
html body .mobilewrapper-user .wpestate_login_form_switch_register,
html body .mobilewrapper-user .wpestate_login_form_switch_forgot {
	line-height: 1.5;
}

/* preco no topo da ficha: sai o negrito, o tamanho fica */
html body .price_area {
	font-weight: 400;
}

/* --- caixa alta: titulo de botao e de secao ----------------------------- */

html body .wpresidence_button,
html body input.wpresidence_button,
html body button.wpresidence_button,
html body .unit_type3_details a,
html body .half_map_toggle,
html body #gmap-control span,
html body .title_share,
html body .accordion-item .accordion-header .accordion-button,
html body .panel-title,
html body .feature_chapter_name,
html body .wpestate_tour_info_headline,
html body .login_register_div_title,
html body .wpestate_social_login,
html body .dashboard_hello_section h2,
html body .wpestate_dashboard_section_title {
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* "EXIBICAO DE LISTA" em caixa alta quebrava em duas linhas dentro da pilula */
html body .half_map_toggle {
	white-space: nowrap;
}

/*
 * Barra de controles do mapa (Minha localizacao, Tela cheia, Anterior,
 * Proximo). Em caixa alta os quatro itens ficam mais largos que a barra: com
 * o espacamento padrao do tema (0 15px) e o letter-spacing acima, a 1250px de
 * janela os rotulos quebravam em duas linhas por cima do mapa e a barra
 * invadia os botoes de zoom. Visto no dev em 14/out/2026, logo depois de
 * subir a 0.9.2.
 */
html body #gmap-control span {
	white-space: nowrap;
	letter-spacing: 0;
	padding: 0 8px;
	font-size: 11px;
}

/* Hover e item ativo dos controles do mapa: o tema usa #222 (preto). */
html body #gmap-control span.spanselected,
html body #gmap-control span:hover,
html body #google_map_prop_list_wrapper #gmap-control i:hover,
html body #gmapzoomplus:hover,
html body #gmapzoomminus:hover,
html body #gmapzoomplus_sh:hover,
html body #gmapzoomminus_sh:hover,
html body .gmapzoomplus_sh:hover,
html body .gmapzoomminus_sh:hover,
html body #slider_enable_street_sh:hover,
html body #street-view:hover {
	background-color: var(--mei-marrom-escuro);
	color: #fff;
}

/*
 * Score Ilha Gene no cadastro de imovel do tema: o campo esta na lista de
 * custom fields (ficha e filtro da busca), mas e calculado - o plugin barra a
 * gravacao manual, e aqui ele sai do formulario.
 */
html body #front_submit_form .col-md-6:has([name="meiembipe_ilhagene_score_display"]) {
	display: none;
}

/* ===========================================================================
 * Cores padrao - nenhum azul da demo, nem com o painel vazio
 * ===========================================================================
 * Toda cor que o Theme Options controla tem duas camadas no tema:
 * var(--X-option, var(--X)). A -option e o que o painel imprime; --X e o
 * padrao de fabrica, e na demo ele e azul (#0073e1, #001a33, #004274) ou roxo
 * no painel da conta (#6c5dd3, #5f75ee). Depois do Reset All de 07/out todo
 * campo vazio caiu nesses azuis - o hover do menu do usuario foi o primeiro
 * a aparecer.
 *
 * Aqui so trocamos a camada BASE, pelo mesmo truque de especificidade da
 * tipografia (html:root vence o :root do tema). Campo preenchido no painel
 * continua vencendo; campo vazio cai no marrom da marca.
 *
 * Cinzas e brancos de fabrica (texto #5c727d, migalhas #8593a9, #222, #fff)
 * ficaram de fora de proposito: nao sao azul de marca e mexer neles muda a
 * leitura do site inteiro.
 */
html:root {
	--mei-marrom: #6a5745;
	--mei-marrom-escuro: #574738;
	--mei-marrom-rgb: 106, 87, 69;
	--mei-creme: #f6eada;

	/* cor principal e tudo que nasce dela */
	--wp-estate-main-color: var(--mei-marrom);
	--wp-estate-active-menu-font-color: var(--mei-marrom);
	--wp-estate-top-menu-hover-font-color: var(--mei-marrom);
	--wp-estate-top-menu-hover-back-font-color: var(--mei-marrom);
	--wp-estate-transparent-menu-hover-font-color: var(--mei-creme);

	/* dropdowns (menu do usuario, submenus) e menu mobile */
	--wp-estate-menu-hover-back-color: var(--mei-marrom);
	--wp-estate-menu-hover-font-color: #fff;
	--wp-estate-mobile-item-hover-back-color: var(--mei-marrom);
	--wp-estate-mobile-menu-background-color: var(--mei-marrom-escuro);

	/* busca avancada */
	--wp_estate_adv_search_back_color: var(--mei-marrom);
	--wp_estate_adv_search_tab_back_font_color: var(--mei-marrom);
	--wp_estate_adv_search_tab_font_color: var(--mei-marrom);

	/* rodape e cabecalho tipo 4 (azul-marinho na demo) */
	--wp_estate_footer_back_color: var(--mei-marrom-escuro);
	--wp_estate_footer_copy_back_color: var(--mei-marrom-escuro);
	--wp_estate_footer_social_widget_back_color: var(--mei-marrom);
	--wp_estate_header4_back_color: var(--mei-marrom);

	/* card: borda azul-clarinha e sombra azulada */
	--wp-estate-unit-border-color: var(--mei-creme);
	--wp-estate-cssbox-shadow-elementor-option: 0 10px 27px 0 rgba(var(--mei-marrom-rgb), .08);

	/* painel da conta (roxo na demo) */
	--wp_estate_user_dashboard_buy_package: var(--mei-marrom);
	--wp_estate_user_dashboard_content_button_back: var(--mei-marrom);
	--wp_estate_user_dashboard_menu_color_hover: var(--mei-marrom);
	--wp_estate_user_dashboard_menu_hover_color: var(--mei-marrom);
	--wp_estate_user_dashboard_package_color: var(--mei-marrom);

	/* Bootstrap: links, foco, checkbox marcado */
	--bs-blue: var(--mei-marrom);
	--bs-primary: var(--mei-marrom);
	--bs-primary-rgb: var(--mei-marrom-rgb);
	--bs-link-color: var(--mei-marrom);
	--bs-link-color-rgb: var(--mei-marrom-rgb);
	--bs-link-hover-color: var(--mei-marrom-escuro);
	--bs-link-hover-color-rgb: 87, 71, 56;
	--bs-focus-ring-color: rgba(var(--mei-marrom-rgb), .25);
}

/*
 * Componentes do Bootstrap que declaram o azul no proprio seletor, fora do
 * :root. O Bootstrap nao passa pelo painel, entao aqui nao ha camada a
 * respeitar.
 */
html .dropdown-menu {
	--bs-dropdown-link-active-bg: var(--mei-marrom);
}
html .pagination {
	--bs-pagination-active-bg: var(--mei-marrom);
	--bs-pagination-active-border-color: var(--mei-marrom);
	--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(var(--mei-marrom-rgb), .25);
}
html .nav-pills {
	--bs-nav-pills-link-active-bg: var(--mei-marrom);
}
html .list-group {
	--bs-list-group-active-bg: var(--mei-marrom);
	--bs-list-group-active-border-color: var(--mei-marrom);
}
html .progress,
html .progress-stacked {
	--bs-progress-bar-bg: var(--mei-marrom);
}
html .btn-primary,
html .btn-outline-primary {
	--bs-btn-focus-shadow-rgb: var(--mei-marrom-rgb);
}
html .btn-primary,
html .btn-custom {
	--bs-btn-bg: var(--mei-marrom);
	--bs-btn-border-color: var(--mei-marrom);
	--bs-btn-hover-bg: var(--mei-marrom-escuro);
	--bs-btn-hover-border-color: var(--mei-marrom-escuro);
	--bs-btn-active-bg: var(--mei-marrom-escuro);
	--bs-btn-active-border-color: var(--mei-marrom-escuro);
	background-color: var(--mei-marrom);
	border-color: var(--mei-marrom);
}
html .btn-primary:hover,
html .btn-custom:hover {
	background-color: var(--mei-marrom-escuro);
	border-color: var(--mei-marrom-escuro);
}
html .btn-outline-primary {
	border-color: var(--mei-marrom);
	color: var(--mei-marrom);
}
html .btn-outline-primary:hover {
	background-color: var(--mei-marrom);
	border-color: var(--mei-marrom);
	color: #fff;
}
html .form-check-input:checked,
html .form-check-input[type=checkbox]:indeterminate {
	background-color: var(--mei-marrom);
	border-color: var(--mei-marrom);
}
html .form-range::-webkit-slider-thumb { background-color: var(--mei-marrom); }
html .form-range::-moz-range-thumb { background-color: var(--mei-marrom); }
html .form-control:focus,
html .form-select:focus,
html .form-check-input:focus,
html .btn:focus,
html .nav-link:focus-visible {
	box-shadow: 0 0 0 .25rem rgba(var(--mei-marrom-rgb), .25);
}

/*
 * Azuis e roxos escritos direto no CSS do tema, sem variavel. Aqui apontamos
 * para a cor principal do painel (com o marrom como reserva), para que eles
 * acompanhem o que o painel disser.
 */
html a:hover,
html .featured_article .featured_article_title a:hover,
html #direct_pay,
html .perpack {
	color: var(--wp-estate-main-color-option, var(--wp-estate-main-color));
}
html .morgage_chart_wrapper.onfirst .morgage_legend li:first-child:before,
html .property_dashboard_status .property_list_status_label.pending:before,
html .property_dashboard_status .property_list_status_label.waitingforapproval:before,
html .dashboard_title_wrapper_color,
html .user_dashboard_app {
	background-color: var(--wp-estate-main-color-option, var(--wp-estate-main-color));
}
html .wpestate_stripe.wpestate_stripe_form_1 input:focus {
	border-color: var(--wp-estate-main-color-option, var(--wp-estate-main-color));
}
html #prop_name:focus {
	border-color: var(--wp-estate-main-color-option, var(--wp-estate-main-color)) !important;
}

/*
 * Painel da conta: dois hovers que so tem a camada -option, com o roxo
 * escrito como reserva dentro do var(). Repetimos a regra trocando so a
 * reserva - o painel continua vencendo.
 */
/* dashboard.css so carrega nas paginas de painel; fora delas, nao mexer */
html body[class*="user_dashboard"] .dropdown-menu li a:hover {
	color: var(--wp-estate-user-dashboard-menu-hover-color-option, var(--mei-marrom));
}
html #open_packages:hover,
html #open_packages:hover .fa,
html .open_pack_on {
	color: var(--wp-estate-user-dashboard-menu-color-hover-option, var(--mei-marrom));
}

/*
 * Hamburguer do cabecalho mobile escondido enquanto o menu mobile estiver
 * vazio (classe posta em functions.php). visibility e nao display: o
 * gatilho continua ocupando o lugar, e o logo segue centralizado entre ele
 * e o icone do usuario.
 */
html body.mei-menu-mobile-vazio .mobile-trigger {
	visibility: hidden;
	pointer-events: none;
}

/*
 * Barra fixa "Anuncios / Ver mapa" da home de meio-mapa, que so aparece em
 * tela pequena. Vinha em 14px/500 e sem caixa alta, fora do padrao do SH
 * (13px, caixa alta, sem negrito) que a pilula equivalente do desktop
 * (.half_map_toggle) ja segue. Visto no dev em 16/out/2026.
 */
html body .half_mobile_toggle_listings,
html body .half_mobile_toggle_map {
	font-size: 13px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/*
 * Barra de controles do mapa em tela estreita: so os icones. Com os quatro
 * rotulos ela mede ~537px e, ancorada a direita, a 400px de largura
 * "Minha localizacao" saia cortado pela esquerda e a barra cobria os botoes
 * de zoom. O texto continua no HTML (font-size 0), entao leitor de tela
 * ainda le o nome de cada botao. Medido num iframe de 400px em 16/out/2026.
 */
@media (max-width: 767px) {
	html body #gmap-control span {
		font-size: 0;
		padding: 0 14px;
	}
	html body #gmap-control span i {
		font-size: 13px;
		margin: 0;
	}
}

/*
 * Hover dos itens de dropdown da busca e da ordenacao ("Tipo", "Tipos",
 * "Maior preco"). O tema troca o texto para a cor de fonte da busca
 * (#5c727d, cinza-azulado) sobre #efefef: o item sob o mouse ficava MAIS
 * apagado que os outros (marrom sobre branco), quase da cor do fundo.
 * Agora: creme da marca com o texto em marrom. Campos preenchidos no painel
 * continuam vencendo. Visto no dev em 16/out/2026.
 */
html body .wpresidence_dropdown .dropdown-menu li:hover {
	color: var(--wp-estate-adv-search-font-color-option, var(--mei-marrom));
	background-color: var(--wp_estate_adv_search_background_color-option, var(--mei-creme));
}

/*
 * Sombras suaves do tema, escritas com azul fixo (rgba(0,110,225,.08) e
 * rgba(7,152,255,.08)) - sem variavel, entao a troca de cores padrao nao
 * as alcancou. Ficam o mesmo desenho e a mesma intensidade, no marrom.
 * Lista restrita ao que aparece hoje no site.
 */
html body .wpresidence_dropdown .dropdown-menu,
html body #user_menu_open,
html body .master_header_sticky,
html body #gmap-control,
html body #gmapzoomplus,
html body #gmapzoomminus,
html body .search_wrapper.with_search_form_float,
html body .wpestate_top_property_navigation,
html body .slider-property-status,
html body .wpestate-beds-baths-popoup-component .wpestate-beds-baths-popoup-wrapper {
	-webkit-box-shadow: 3px 1px 20px 0 rgba(var(--mei-marrom-rgb), .08);
	box-shadow: 3px 1px 20px 0 rgba(var(--mei-marrom-rgb), .08);
}
html body .info_details {
	-webkit-box-shadow: 3px 1px 20px 0 rgba(var(--mei-marrom-rgb), .18);
	box-shadow: 3px 1px 20px 0 rgba(var(--mei-marrom-rgb), .18);
}
/* card em hover: o tema le --wp-estate-cssbox-shadow-option e cai no azul */
html body .property_listing:hover,
html body .listing_wrapper .property_listing:hover {
	box-shadow: var(--wp-estate-cssbox-shadow-option, 1px 3px 20px 9px rgba(var(--mei-marrom-rgb), .08));
}

/*
 * Links do rodape: o tema pinta o hover com a cor principal (#colophon a:hover),
 * que e a mesma do fundo do rodape - o texto sumia. No hover o link clareia
 * (do creme para o branco) em vez de escurecer.
 */
html body #colophon a:hover,
html body #colophon a:focus,
html body #colophon li a:hover {
	color: #fff;
}

/*
 * Titulo da lista depois de filtrar/reordenar ("2 Anuncios"): o tema troca o
 * h1 "LARES" por .half_results, que fixa 24px. Volta ao tamanho do h1 do
 * painel (13px hoje) e em caixa alta, como o titulo que ele substitui.
 */
html body .entry-title.half_results {
	font-size: var(--wp-estate-h1-font-size-option, 13px);
	text-transform: uppercase;
}

/*
 * Painel da conta (Meu perfil, Favoritos, Buscas salvas, Mensagens).
 * - O tema poe text-transform: capitalize no menu lateral e na saudacao, o que
 *   gera "Caixa De Entrada" e "Bem-Vindo Novamente". Os dois ficam com o
 *   texto como esta na traducao (caixa alta nao cabe no menu lateral junto do
 *   contador).
 * - Cabecalho das tabelas (Imovel, Categoria, Estado, Preco) vinha em 500.
 * - Contadores de nao lidas em laranja (#ff754c), fora da paleta: viram
 *   marrom; no item ativo do menu, que ja e marrom, viram creme.
 */
html body .user_dashboard_links a,
html body .mobile_user_menu a,
html body .dashboard_hi_text,
html body .dashboard_username {
	text-transform: none;
}
html body .wpestate_dashboard_table_list_header,
html body .wpestate_dashboard_table_list_header > div {
	font-weight: 400;
	text-transform: uppercase;
}
html body .unread_mess,
html body .wpestate_bell_note_unread {
	background-color: var(--mei-marrom);
	color: #fff;
}
html body .user_tab_active .unread_mess {
	background-color: var(--mei-creme);
	color: var(--mei-marrom);
}

/* Rodape sempre no fim da tela: em pagina curta (ex.: "Meus imoveis" vazio)
 * o tema deixa o #colophon logo abaixo do conteudo, no meio da tela. O
 * #all_wrapper ja tem min-height de 100vh; virando coluna flex, o rodape
 * empurra para baixo. Conferido na home de meio-mapa e no painel da conta
 * (sem rodape): nada muda neles. Pedido do Victor em 18/out/2026. */
html body #all_wrapper {
	display: flex;
	flex-direction: column;
}
html body #all_wrapper > * {
	flex-shrink: 0;
}
html body #colophon {
	margin-top: auto;
}

/* Titulo do imovel nas tabelas do painel (Favoritos, Meus imoveis): o tema
 * usa 16px/600 e word-break: break-all, que quebrava "Refu-gio" no meio. */
html body .dashbard_unit_title {
	font-size: 13px;
	font-weight: 400;
	word-break: normal;
	overflow-wrap: break-word;
}
/* Selo Ilha Gene fora dos blocos do plugin (coluna de Favoritos, card do
 * imovel). As cores do selo (--mei-seal-*) so existem dentro de
 * .meiembipe-vitrine, -dossie etc., entao repetimos aqui os valores claros do
 * base.css do meiembipe-core. */
html:root {
	--mei-seal-fg: #f4ecdd;
	--mei-seal-alto: #2b5135;
	--mei-seal-medio: #695643;
	--mei-seal-baixo: #9a9384;
}
html body .property_dashboard_score .meiembipe-selo {
	width: 44px;
	height: 44px;
	font-size: 13px;
	vertical-align: middle;
}

/* Cores de status (erro, sucesso, atencao, pendente). As de fabrica eram
 * vermelho #f44336/#ED5565, verde #3c9f7e/#7FBA7A, laranja #ff754c e roxo
 * #6c5dd3, fora da paleta. Aprovadas pelo Victor em 18/out/2026. */
html:root {
	--mei-sucesso: #2b5135;
	--mei-erro: #a8483a;
	--mei-atencao: #8f6a1f; /* 4,9:1 com texto branco; o #b8862b dava 3,2:1 */
	--mei-pendente: var(--mei-marrom);
	--mei-inativo: #b5aa9e;
}
html body .alert-message,
html body .login-alert,
html body .alert-danger,
html body .login_alert_full,
html body .wpresidence_dashboard_body .alert-message,
html body .wpresidence_dashboard_body .login-alert,
html body .image_max_warn,
html body .delete_image {
	background-color: var(--mei-erro);
}
html body .wpestate_success,
html body .alert-message.wpestate_success,
html body .login-alert.wpestate_success,
html body .wpestate_success.wpestate_success,
html body .wpestate_succes,
html body .wpestate-agent-contact-sent {
	background-color: var(--mei-sucesso);
}
html body .submit_mandatory,
html body .dashboad-tooltip.featured_exp {
	background-color: var(--mei-atencao);
	color: #fff;
}
html body #image_warn {
	color: var(--mei-atencao);
}
html body .property_dashboard_status .property_list_status_label.publish:before,
html body .property_dashboard_status .property_list_status_label.published:before,
html body .property_list_status_label.paid:before,
html body .wpestate_crm_contact_status .property_list_status_label.anycrm:before {
	background-color: var(--mei-sucesso);
}
html body .property_dashboard_status .property_list_status_label.pending:before,
html body .property_dashboard_status .property_list_status_label.waitingforapproval:before {
	background-color: var(--mei-pendente);
}
html body .property_list_status_label.notpaid:before,
html body .property_dashboard_status .property_list_status_label.draft:before,
html body .property_dashboard_status .property_list_status_label.expired:before,
html body .wpestate_crm_contact_status .property_list_status_label.anycrm.new:before,
html body .property_list_status_label.anycrm.new:before {
	background-color: var(--mei-atencao);
}
html body .property_dashboard_status .property_list_status_label.disabled:before {
	background-color: var(--mei-inativo);
}
html body .property_dashboard_status .property_list_status_label.sold:before {
	background-color: var(--mei-marrom-escuro);
}

/* Sino do painel leva a caixa de entrada, que usuario comum nao tem mais
 * (ver wpestate_check_user_permission_on_dashboard no functions.php). */
html body.mei-sem-caixa .wpestate_bell_note {
	display: none !important;
}

/* Selo Ilha Gene no card (property_unit_type3.php do child): canto inferior
 * direito da foto - em cima fica a etiqueta "Venda", embaixo a esquerda os
 * icones de compartilhar/favoritar/comparar. */
html body .listing-unit-img-wrapper .meiembipe-selo.mei-selo-card {
	top: auto;
	right: 12px;
	bottom: 12px;
	width: 40px;
	height: 40px;
	font-size: 12px;
	pointer-events: none;
}

/* Pin do imovel com o card em hover (ver meiembipe_child_pin_hover): mesmo
   pin e tamanho, um pouco mais escuro. */
html body .leaflet-marker-icon.mei-pin-ativo {
	filter: brightness(0.8);
}

/* Contador de nao lidas colado no rotulo no menu do usuario do celular
   ("Caixa de Entrada0"). */
html body .mobile_user_menu .unread_mess {
	display: inline-block;
	margin-left: 6px;
}
