@import url('cores_personalizadas.css');

.pulsating{
	transform: scale(1);
	animation: pulse 4s infinite;
	animation-timing-function: cubic-bezier(0.1, 1.24, 1, 1.39);
	animation-delay: 2s;
}
@keyframes pulse{
	0% {
		transform: scale(0.95);
		box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.3);
	}
	30% {
		transform: scale(1);
		box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
	}
	60% {
		transform: scale(0.95);
		box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
	}
	100% {
		transform: scale(0.95);
		box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
	}
}
.scroll-to-top_ {
	background-color: transparent;
	border-radius: 50%;
	bottom: 20px;
	color: white;
	display: block;
	font-size: 1.285em;
	height: 50px;
	line-height: 50px;
	opacity: 0;
	position: fixed;
	left: 20px;
	text-align: center;
	text-decoration: none;
	width: 50px;
	z-index: 1040;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	transform: scale(1);
	animation: pulse 4s infinite;
	animation-timing-function: cubic-bezier(0.1, 1.24, 1, 1.39);
	animation-delay: 1s;
}
.scroll-to-top_.visible {
  opacity: 1;
}
.p-top-10{
	margin-top:5px;
	margin-bottom:2px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   AJUSTES DE CELULAR DO SITE (2026-08-27)
   Valem SÓ em telas pequenas (max-width: 767px) — no DESKTOP nada muda. São regras
   GENÉRICAS e seguras (não dependem de classes específicas do template). Este arquivo
   carrega ANTES do theme-responsive.css, então usa !important onde precisa vencer.
   Ajustes mais específicos (cards de imóvel, filtros de busca, ficha do imóvel) devem
   ser feitos vendo o resultado no próprio aparelho.
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
	/* Impede o celular de "esticar" o tamanho do texto de forma imprevisível. */
	html { -webkit-text-size-adjust: 100%; }

	/* iOS/Safari dá ZOOM ao focar um campo com fonte < 16px. Fixar 16px evita o pulo
	   irritante da tela ao tocar em campos de busca/contato. */
	input:not([type=checkbox]):not([type=radio]):not([type=range]),
	select, textarea, .form-control { font-size: 16px !important; }

	/* Mídia nunca estoura a largura da tela — principal causa de rolagem lateral no
	   celular. (Só limita o máximo; não força largura, pra não distorcer vídeos/mapas.) */
	img, iframe, video, embed, object { max-width: 100% !important; }
	img { height: auto; }

	/* Botões deixam o texto quebrar em vez de estourar a linha. */
	.btn, a.btn, button.btn { white-space: normal; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   CLS — reserva o espaço da imagem do card de imóvel (2026-08-29)
   Antes: .property-thumb-info-image não tinha altura reservada (img height:auto)
   → a página "pulava" quando a foto carregava (Core Web Vitals penaliza).
   aspect-ratio fixa a caixa; object-fit:cover preenche sem distorcer (recorta).
   Escopo: SÓ card de imóvel (.pgl-property) — fotos de equipe/agente não mudam.
   Especificidade maior que o tema (.property-thumb-info-image img) de propósito:
   o extras.css é carregado ANTES do theme-elements.css/theme.css no index.php.
   (O template do PORTAL já usa aspect-ratio:1/1 no .card .foto — não precisa daqui.)
   ═══════════════════════════════════════════════════════════════════════════ */
.pgl-property .property-thumb-info-image{ aspect-ratio: 4 / 3; }
.pgl-property .property-thumb-info-image img{ height: 100%; object-fit: cover; }
