/* Broker landing page (views/lps/default.php), mobile-first, scoped to .lp-*. */
.lp-page { --lp-primary: #002278; --lp-primary-soft: #E6EAF5; --lp-accent: #B50017; --lp-whatsapp: #15803D; --lp-text: #1C2230; --lp-text-2: #4A5163; --lp-divider: #EEF0F3; --lp-placeholder: #DDE3EA; --lp-footer: #001640; }
.lp-page, .lp-page * { box-sizing: border-box; }
.lp-page { margin: 0; background: #FFFFFF; color: var(--lp-text); font-family: "Libre Franklin", "Helvetica Neue", helvetica, arial, sans-serif; font-size: 15px; line-height: 1.5; scroll-behavior: smooth; }
.lp-page img { display: block; max-width: 100%; }
.lp-page .lp-icon { width: 20px; height: 20px; flex: 0 0 auto; object-fit: contain; }

/* Topo com o corretor */
.lp-header { position: sticky; top: 0; z-index: 20; background: var(--lp-primary); color: #FFFFFF; }
.lp-header__inner { max-width: 1120px; margin: 0 auto; padding: 10px 16px; display: flex; align-items: center; gap: 10px; }
.lp-avatar { width: 40px; height: 40px; flex: 0 0 auto; border-radius: 50%; background: var(--lp-primary-soft); overflow: hidden; }
.lp-page .lp-avatar img { width: 100%; height: 100%; object-fit: cover; }
.lp-broker { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.lp-broker__name { font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lp-broker__creci { font-size: 12px; color: #C9D2EC; }
.lp-header__nav { display: none; }
.lp-header__wa { width: 44px; height: 44px; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--lp-whatsapp); color: #FFFFFF; text-decoration: none; }
.lp-header__wa-label { display: none; }

/* Imagem topo (1900x850) */
.lp-hero { height: 260px; background: #CFD6DE; }
.lp-page .lp-hero img { width: 100%; height: 100%; object-fit: cover; }

/* Card do empreendimento */
.lp-intro { position: relative; margin: -36px 12px 0; }
.lp-intro__card { background: #FFFFFF; border-radius: 16px; box-shadow: 0 8px 24px rgba(0,34,120,0.12); padding: 20px 18px; display: flex; flex-direction: column; gap: 12px; }
.lp-intro__main { display: flex; flex-direction: column; gap: 12px; }
.lp-tag { align-self: flex-start; padding: 3px 10px; border-radius: 999px; background: var(--lp-accent); color: #FFFFFF; font-size: 12px; font-weight: 700; }
.lp-title { margin: 0; font-size: 24px; font-weight: 900; line-height: 1.15; color: var(--lp-primary); }
.lp-facts { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; color: var(--lp-text-2); }
.lp-facts li { display: flex; align-items: center; gap: 8px; }
.lp-divider { height: 1px; background: var(--lp-divider); }
.lp-intro h2 { margin: 0; font-size: 16px; font-weight: 700; }
.lp-intro__text { margin: 0; color: var(--lp-text-2); white-space: pre-line; overflow-wrap: anywhere; }
.lp-intro__broker { display: none; }

/* Atalhos de seção */
.lp-sections { display: flex; gap: 8px; overflow-x: auto; padding: 20px 16px 4px; }
.lp-sections a { flex: 0 0 auto; height: 40px; padding: 0 14px; display: inline-flex; align-items: center; border-radius: 999px; background: var(--lp-primary-soft); color: var(--lp-primary); text-decoration: none; font-size: 14px; font-weight: 500; }

/* Galerias (pastas decorado / area / plantas) */
.lp-section { padding: 28px 0 8px; scroll-margin-top: 72px; }
.lp-section__inner { max-width: 1024px; margin: 0 auto; display: flex; flex-direction: column; gap: 12px; }
.lp-section__head { padding: 0 16px; display: flex; flex-direction: column; gap: 2px; }
.lp-section__head h2 { margin: 0; font-size: 22px; font-weight: 900; color: var(--lp-primary); }
.lp-section__head p { margin: 0; color: var(--lp-text-2); }
.lp-gallery { position: relative; margin: 0 16px; }
.lp-gallery__viewport { aspect-ratio: 4 / 3; border-radius: 14px; overflow: hidden; background: var(--lp-placeholder); touch-action: pan-y; }
.lp-page .lp-gallery__viewport img { width: 100%; height: 100%; object-fit: cover; }
.lp-page .lp-gallery__viewport img[hidden] { display: none; }
.lp-page .lp-gallery__viewport--contain img { object-fit: contain; background: #FFFFFF; }
.lp-gallery__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; margin: 0; padding: 0 0 4px; border: 0; border-radius: 50%; background: rgba(255,255,255,0.92); color: var(--lp-primary); box-shadow: 0 2px 8px rgba(0,0,0,0.15); font-family: inherit; font-size: 30px; line-height: 1; cursor: pointer; }
.lp-gallery__nav--prev { left: 8px; }
.lp-gallery__nav--next { right: 8px; }
.lp-gallery__count { position: absolute; right: 10px; bottom: 10px; padding: 2px 10px; border-radius: 999px; background: rgba(0,20,70,0.75); color: #FFFFFF; font-size: 12px; font-weight: 500; }
.lp-thumbs { position: relative; display: flex; gap: 8px; overflow-x: auto; padding: 0 16px 4px; }
.lp-thumbs button { flex: 0 0 auto; width: 64px; height: 48px; margin: 0; padding: 0; border: 2px solid transparent; border-radius: 8px; overflow: hidden; background: var(--lp-placeholder); cursor: pointer; }
.lp-thumbs button[aria-current="true"] { border-color: var(--lp-primary); }
.lp-page .lp-thumbs img { width: 100%; height: 100%; object-fit: cover; }

/* Localização */
.lp-map { margin: 0 16px; aspect-ratio: 1900 / 850; border-radius: 14px; overflow: hidden; background: var(--lp-placeholder); }
.lp-page .lp-map img { width: 100%; height: 100%; object-fit: cover; }
.lp-btn-outline { margin: 0 16px; height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1.5px solid var(--lp-primary); border-radius: 10px; color: var(--lp-primary); text-decoration: none; font-weight: 700; }

.lp-footer { background: var(--lp-footer); color: #C9D2EC; font-size: 12px; }
.lp-footer__inner { max-width: 1120px; margin: 0 auto; padding: 28px 16px 96px; display: flex; flex-direction: column; gap: 14px; }
.lp-page .lp-footer__logo { width: 160px; height: auto; }
.lp-footer__legal { margin: 0; flex: 1 1 320px; }

/* WhatsApp fixo no rodapé (mobile) */
.lp-cta-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; padding: 10px 12px calc(14px + env(safe-area-inset-bottom)); background: rgba(255,255,255,0.96); border-top: 1px solid #E3E6EB; box-shadow: 0 -4px 16px rgba(0,0,0,0.08); }
.lp-btn-whatsapp { height: 52px; display: flex; align-items: center; justify-content: center; gap: 10px; border-radius: 12px; background: var(--lp-whatsapp); color: #FFFFFF; text-decoration: none; font-weight: 700; }
.lp-page .lp-btn-whatsapp img, .lp-page .lp-header__wa img { width: 22px; height: 22px; filter: brightness(0) invert(1); }

.lp-page a:focus-visible, .lp-page button:focus-visible { outline: 2px solid var(--lp-primary); outline-offset: 2px; }

/* Desktop */
@media (min-width: 900px) {
	.lp-page { font-size: 16px; line-height: 1.55; }
	.lp-header__inner { padding: 10px 24px; gap: 12px; }
	.lp-broker { flex: 0 1 auto; }
	.lp-header__nav { margin-left: auto; display: flex; gap: 4px; }
	.lp-header__nav a { padding: 10px 12px; color: #FFFFFF; text-decoration: none; font-size: 14px; font-weight: 500; }
	.lp-header__wa { width: auto; height: 44px; padding: 0 16px; border-radius: 10px; gap: 8px; font-weight: 700; font-size: 14px; }
	.lp-header__wa-label { display: inline; }

	.lp-hero { height: auto; aspect-ratio: 1900 / 850; max-height: 600px; }

	.lp-intro { max-width: 1072px; margin: -96px auto 0; padding: 0 24px; }
	.lp-intro__card { padding: 32px; display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 32px; align-items: start; }
	.lp-title { font-size: 36px; line-height: 1.1; }
	.lp-intro h2 { font-size: 18px; }
	.lp-intro__broker { background: #F4F6FB; border-radius: 14px; padding: 20px; display: flex; flex-direction: column; gap: 12px; align-items: center; text-align: center; }
	.lp-intro__broker .lp-avatar { width: 64px; height: 64px; }
	.lp-intro__broker .lp-btn-whatsapp { align-self: stretch; padding: 0 12px; font-size: 14px; }
	.lp-intro__broker-name { display: flex; flex-direction: column; line-height: 1.3; }
	.lp-intro__broker small { font-size: 13px; color: #5A6172; }

	.lp-sections { display: none; }
	.lp-section { padding: 64px 24px 16px; }
	.lp-section__head { padding: 0; text-align: center; }
	.lp-section__head h2 { font-size: 30px; }
	.lp-gallery, .lp-map, .lp-btn-outline { margin: 0; }
	.lp-gallery__viewport { aspect-ratio: 16 / 9; border-radius: 16px; }
	.lp-gallery__nav { width: 52px; height: 52px; }
	.lp-gallery__nav--prev { left: 16px; }
	.lp-gallery__nav--next { right: 16px; }
	.lp-gallery__count { right: 16px; bottom: 16px; font-size: 13px; padding: 3px 12px; }
	.lp-thumbs { padding: 0 0 4px; gap: 10px; }
	.lp-thumbs button { width: 104px; height: 70px; border-radius: 10px; }
	.lp-section--map { padding-bottom: 72px; }
	.lp-section--map .lp-section__inner { align-items: center; }
	.lp-map { width: 100%; border-radius: 16px; }
	.lp-btn-outline { padding: 0 24px; }

	.lp-footer__inner { flex-direction: row; align-items: center; gap: 32px; padding: 32px 24px; }
	.lp-cta-bar { display: none; }
}
