/*
Theme Name:   m²Capixaba
Theme URI:    https://m2capixaba.com.br
Description:  Tema filho do Hello Elementor para o site da m²Capixaba.
Author:       m²Capixaba
Template:     hello-elementor
Version:      1.0.0
Text Domain:  m2capixaba
*/

:root {
	--m2-azul:      #0B2D45;
	--m2-arctic:    #496D82;
	--m2-arctic-s:  #596F7F;
	--m2-ouro:      #C9973E;
	--m2-branco:    #FFFFFF;
	--m2-cinza:     #F5F6F7;
	--m2-linha:     #E4E7EA;
	--m2-texto:     #16232C;
	--m2-texto-2:   #5B6B76;
	--m2-whatsapp:  #1E9E5A;
}

body { font-size: 17px; line-height: 1.55; }

.m2-prosa p { max-width: 700px; line-height: 1.62; }

.m2-tag-ouro { display:inline-flex; align-items:center; height:28px; padding:0 12px; border-radius:4px; background:var(--m2-ouro); color:#2A1C05; font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.m2-tag-azul { display:inline-flex; align-items:center; height:28px; padding:0 12px; border-radius:4px; background:rgba(11,45,69,.9); color:#fff; font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.m2-filete::after { content:""; display:block; width:44px; height:2px; margin-top:14px; background:var(--m2-ouro); }

/* ---- Central de mídia do imóvel ---- */
.m2cap-midia { width: 100%; }
.m2cap-visor { position: relative; aspect-ratio: 16/10; border-radius: 14px; overflow: hidden; background: #08202F; }
.m2cap-painel { position: absolute; inset: 0; display: none; }
.m2cap-painel.ativo { display: block; }
.m2cap-foto-principal { position: absolute; inset: 0; }
.m2cap-foto-principal img { width: 100%; height: 100%; object-fit: cover; display: block; }
.m2cap-frame { width: 100%; height: 100%; border: 0; display: block; }
.m2cap-frame.oculto { display: none; }
.m2cap-trilho { position: absolute; left: 0; right: 0; bottom: 0; display: flex; gap: 8px; padding: 12px 14px; overflow-x: auto; background: linear-gradient(0deg, rgba(8,32,47,.78), transparent); }
.m2cap-trilho button { flex: 0 0 auto; width: 78px; height: 52px; padding: 0; border: 2px solid transparent; border-radius: 5px; overflow: hidden; cursor: pointer; background: none; }
.m2cap-trilho button:hover { border-color: #fff; }
.m2cap-trilho img { width: 100%; height: 100%; object-fit: cover; display: block; }
.m2cap-plantas { position: absolute; inset: 0; overflow: auto; background: #FBFCFD; display: flex; gap: 12px; padding: 18px; }
.m2cap-nota { position: absolute; left: 14px; bottom: 14px; margin: 0; background: rgba(255,255,255,.94); border-radius: 6px; padding: 8px 12px; font-size: 13px; color: #5B6B76; }
.m2cap-abas { display: flex; gap: 8px; margin-top: 12px; overflow-x: auto; }
.m2cap-aba { flex: 0 0 auto; height: 46px; padding: 0 18px; border: 1px solid #E4E7EA; border-radius: 6px; background: #fff; font-size: 15px; font-weight: 500; color: #5B6B76; cursor: pointer; transition: all .15s; }
.m2cap-aba:hover { border-color: #496D82; color: #0B2D45; }
.m2cap-aba.ativo { background: #0B2D45; border-color: #0B2D45; color: #fff; font-weight: 600; }
.m2cap-midia.vazia { padding: 40px; text-align: center; color: #5B6B76; background: #F5F6F7; border-radius: 14px; }

/* ---- Bloco interno restrito ao corretor ---- */
.m2cap-interno { border: 1px solid rgba(201,151,62,.42); border-left: 3px solid #C9973E; border-radius: 10px; background: rgba(201,151,62,.05); padding: 20px 22px; margin-top: 24px; }
.m2cap-interno h3 { margin: 0 0 14px; font-size: 19px; color: #0B2D45; }
.m2cap-tag { display: inline-block; margin-left: 10px; padding: 2px 9px; border-radius: 999px; background: rgba(201,151,62,.18); border: 1px solid rgba(201,151,62,.45); color: #8A6420; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; vertical-align: middle; }
.m2cap-interno table { width: 100%; border-collapse: collapse; }
.m2cap-interno th, .m2cap-interno td { text-align: left; padding: 11px 0; border-bottom: 1px dashed rgba(201,151,62,.3); font-size: 16px; }
.m2cap-interno th { width: 46%; font-weight: 500; color: #5B6B76; }
.m2cap-interno td { color: #16232C; font-weight: 600; }

@media (max-width: 767px) {
  .m2cap-visor { aspect-ratio: 4/3; }
  .m2cap-aba { height: 42px; padding: 0 14px; font-size: 14px; }
  .m2cap-trilho button { width: 60px; height: 42px; }
}


/* ==========================================================================
   Pagina de busca — coluna de filtros e ordenacao
   ========================================================================== */

.elementor-widget-heading.m2-filtro-titulo {
	margin: 24px 0 8px;
}

.elementor-widget-heading.m2-filtro-titulo .elementor-heading-title {
	font-size: 15px !important;
	font-weight: 700 !important;
	letter-spacing: .01em;
	line-height: 1.35;
	color: var(--m2-azul);
}

.jet-checkboxes-list__row {
	padding: 3px 0;
}

.jet-checkboxes-list__label {
	font-size: 16px;
	color: var(--m2-texto);
}

.jet-sorting__select,
.jet-smart-filters-sorting select {
	min-width: 220px;
	font-size: 16px;
	padding: 8px 12px;
}



/* ==========================================================================
   Home — buscador sobreposto ao hero
   ========================================================================== */

.m2-busca {
	background: var(--m2-branco);
	border: 1px solid var(--m2-linha);
	border-radius: 14px;
	box-shadow: 0 6px 18px rgba(11,45,69,.10), 0 22px 56px rgba(11,45,69,.16);
	overflow: hidden;
}

.m2-busca__abas {
	display: flex;
	gap: 8px;
	padding: 0 18px;
	border-bottom: 1px solid var(--m2-linha);
}

.m2-busca__aba {
	background: none;
	border: 0;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	padding: 16px 24px 15px;
	font-size: 17px;
	font-weight: 600;
	color: #8D9AA3;
	cursor: pointer;
	transition: color .15s, border-color .15s;
}

.m2-busca__aba:hover { color: var(--m2-azul); }

.m2-busca__aba.is-on {
	color: var(--m2-azul);
	border-bottom-color: var(--m2-ouro);
}

.m2-busca__form {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 18px 20px;
}

.m2-busca__campo {
	flex: 1;
	min-width: 0;
	height: 58px;
	border: 0;
	outline: 0;
	background: transparent;
	font-size: 21px;
	letter-spacing: -.015em;
	color: var(--m2-texto);
}

.m2-busca__campo::placeholder { color: #9AA7B0; }

.m2-busca__botao {
	flex: 0 0 auto;
	height: 58px;
	padding: 0 36px;
	border: 0;
	border-radius: 8px;
	background: var(--m2-azul);
	color: var(--m2-branco);
	font-size: 17px;
	font-weight: 600;
	cursor: pointer;
	transition: background .15s;
}

.m2-busca__botao:hover { background: var(--m2-arctic); }

@media (max-width: 767px) {

	.m2-busca__abas { padding: 0 8px; }
	.m2-busca__aba { padding: 14px 14px 13px; font-size: 16px; }
	.m2-busca__form { flex-wrap: wrap; padding: 14px; gap: 10px; }
	.m2-busca__campo { flex: 1 0 100%; height: 48px; font-size: 17px; }
	.m2-busca__botao { flex: 1 0 100%; height: 52px; }
}



/* Home — o titulo da pagina nao aparece; quem abre a pagina e o hero */
.home .page-header { display: none !important; }

