/* =======================================================================
   PÁGINA PARCEIROS — rede de imobiliárias e corretores parceiros
   ======================================================================= */

.page-parceiros-page .pp-eyebrow {
	display: inline-block; font-family: 'Montserrat', sans-serif; font-weight: 600;
	font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase;
	color: #C8A96A; margin-bottom: 16px;
}

/* ---------------------------------------------------------------------
   HERO
   --------------------------------------------------------------------- */
.pp-hero {
	background: #0E3B2D; margin-top: -211px; padding: 260px 20px 90px;
	position: relative; overflow: hidden;
}
.pp-hero::before {
	content: ""; position: absolute; top: -20%; right: -8%; width: 480px; height: 480px;
	border-radius: 50%; border: 1px solid rgba(200,169,106,0.18); pointer-events: none;
}
.pp-hero::after {
	content: ""; position: absolute; top: -35%; right: 2%; width: 640px; height: 640px;
	border-radius: 50%; border: 1px solid rgba(200,169,106,0.1); pointer-events: none;
}
.pp-hero__inner { max-width: 1180px; margin: 0 auto; position: relative; z-index: 1; }
.pp-hero__title {
	font-family: 'Ripon Script', 'Ephesis', cursive !important; font-weight: 400; font-size: clamp(52px, 8vw, 96px);
	line-height: 1.1; color: #FCFDFD; margin: 0 0 26px;
}
.pp-hero__desc {
	font-family: 'Montserrat', sans-serif; font-size: 17px; line-height: 1.7;
	color: rgba(252,253,253,0.8); max-width: 560px; margin: 0 0 44px;
}
.pp-hero__count { display: flex; align-items: baseline; gap: 14px; }
.pp-hero__count-number {
	font-family: 'Marcellus', serif; font-size: 56px; color: #C8A96A; line-height: 1;
}
.pp-hero__count-label {
	font-family: 'Montserrat', sans-serif; font-size: 13px; font-weight: 600;
	letter-spacing: 0.06em; text-transform: uppercase; color: rgba(252,253,253,0.65);
	line-height: 1.4;
}

/* ---------------------------------------------------------------------
   GRID
   --------------------------------------------------------------------- */
.pp-grid-section { background: #F6F4EF; padding: 80px 20px 100px; }
.pp-grid {
	max-width: 1300px; margin: 0 auto;
	display: grid; grid-template-columns: repeat(5, 1fr); gap: 22px;
}
.pp-card {
	display: block; background: #FCFDFD; border-radius: 14px; overflow: hidden;
	text-decoration: none; border: 1px solid #E7E3DA;
	transition: transform 0.35s cubic-bezier(0.22,1,0.36,1), box-shadow 0.35s ease, border-color 0.35s ease;
}
.pp-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 22px 40px rgba(14,59,45,0.16);
	border-color: #C8A96A;
}
.pp-card__logo {
	aspect-ratio: 3 / 2; background: #0E3B2D;
	display: flex; align-items: center; justify-content: center;
	padding: 24px; overflow: hidden;
}
/* Moldura padrão (fundo + linha dourada no topo + listra diagonal
   embaixo) — só nos parceiros cadastrados a partir da migração
   `migracao_parceiros_moldura.sql`. Os já cadastrados antes disso
   mantêm o fundo simples, sem essas decorações, por pedido do
   cliente. */
.pp-card__logo--moldura {
	background-image: url('/assets/img/site/decorativo/parceiro-card-base.png');
	background-size: cover; background-position: center;
	padding: 32px 24px 44px;
}
.pp-card__logo img {
	max-width: 100%; max-height: 100%; width: auto; height: auto;
	object-fit: contain; display: block;
	transition: transform 0.5s cubic-bezier(0.22,1,0.36,1);
}
.pp-card:hover .pp-card__logo img { transform: scale(1.045); }
.pp-card__footer {
	display: flex; align-items: center; justify-content: space-between; gap: 8px;
	padding: 14px 16px;
}
.pp-card__name {
	font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 13px;
	color: #0E3B2D; line-height: 1.3;
}
.pp-card__arrow {
	flex-shrink: 0; width: 26px; height: 26px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: #F6F4EF; color: #0E3B2D;
	transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease;
}
.pp-card__arrow svg { width: 13px; height: 13px; }
.pp-card:hover .pp-card__arrow { background: #C8A96A; color: #0E3B2D; transform: rotate(45deg); }

@media (max-width: 1100px) { .pp-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px) {
	.pp-hero { padding-top: 240px; }
	.pp-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
	.pp-card__name { font-size: 12px; }
}
@media (max-width: 420px) {
	.pp-grid { grid-template-columns: 1fr; }
}

/* ---------------------------------------------------------------------
   CTA
   --------------------------------------------------------------------- */
.pp-cta { background: #0E3B2D; padding: 110px 20px; text-align: center; }
.pp-cta__inner { max-width: 600px; margin: 0 auto; }
.pp-cta .pp-eyebrow { }
.pp-cta__title {
	font-family: 'Ripon Script', 'Ephesis', cursive !important; font-weight: 400; font-size: clamp(42px, 6vw, 64px);
	line-height: 1.25; color: #FCFDFD; margin: 0 0 20px;
}
.pp-cta__desc {
	font-family: 'Montserrat', sans-serif; font-size: 16px; line-height: 1.6;
	color: rgba(252,253,253,0.78); margin: 0 0 38px;
}
.pp-btn {
	display: inline-flex; align-items: center; gap: 10px;
	font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 14px;
	text-decoration: none; padding: 16px 34px; border-radius: 50px;
	background: #C8A96A; color: #0E3B2D;
	transition: background 0.3s ease, transform 0.25s ease;
}
.pp-btn:hover { background: #FCFDFD; transform: translateY(-2px); }
.pp-btn svg { width: 18px; height: 18px; }
