/*
Theme Name: LVP Child
Template: hello-elementor
*/

/* =========================================================
   LVP Construtora — CSS completo para Elementor
   Tema escuro institucional: grafite + champagne + concreto
========================================================= */

:root {
  --lvp-bg-main: #111111;
  --lvp-bg-soft: #181818;
  --lvp-bg-card: #222222;
  --lvp-bg-elevated: #262626;

  --lvp-text-main: #f5f2ea;
  --lvp-text-muted: #c9c5ba;
  --lvp-text-soft: #a9a59b;

  --lvp-gray-logo: #706e6e;
  --lvp-gray-light: #b8b5ae;

  --lvp-gold: #c8ba8b;
  --lvp-gold-light: #e6d49a;
  --lvp-gold-dark: #9f8752;

  --lvp-warm-dark: #2a241a;

  --lvp-border-soft: rgba(200, 186, 139, 0.18);
  --lvp-border-gold: rgba(200, 186, 139, 0.28);
  --lvp-border-gray: rgba(255, 255, 255, 0.10);

  --lvp-shadow-soft: 0 18px 45px rgba(0, 0, 0, 0.32);
  --lvp-shadow-gold: 0 16px 40px rgba(200, 186, 139, 0.16);

  --lvp-radius-sm: 10px;
  --lvp-radius-md: 18px;
  --lvp-radius-lg: 28px;

  --lvp-transition: all 0.25s ease;
}

/* =========================================================
   Base geral
========================================================= */

html,
body {
  background: var(--lvp-bg-main) !important;
  color: var(--lvp-text-main);
}

body {
  font-family: inherit;
  line-height: 1.6;
}

/* Fundo geral com luz suave */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    radial-gradient(circle at 78% 12%, rgba(200, 186, 139, 0.12), transparent 34%),
    radial-gradient(circle at 12% 78%, rgba(112, 110, 110, 0.14), transparent 36%),
    linear-gradient(135deg, #111111 0%, #181818 48%, #2a241a 100%);
}

/* Evita blocos brancos vindos do tema */
.site,
.site-content,
#page,
#content,
.elementor,
.elementor-section,
.elementor-container,
.elementor-widget-wrap,
.wp-site-blocks {
  background-color: transparent;
}

/* Use esta classe no container principal da página */
.lvp-site {
  background: var(--lvp-bg-main);
  color: var(--lvp-text-main);
  line-height: 1.6;
}

/* =========================================================
   Tipografia
========================================================= */

h1,
h2,
h3,
h4,
h5,
h6,
.elementor-heading-title,
.lvp-site h1,
.lvp-site h2,
.lvp-site h3,
.lvp-site h4,
.lvp-site h5,
.lvp-site h6,
.lvp-site .elementor-heading-title {
  color: var(--lvp-text-main) !important;
  letter-spacing: -0.02em;
}

h1,
.elementor-heading-title.elementor-size-xxl {
  font-weight: 600;
}

p,
li,
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.lvp-site p,
.lvp-site li,
.lvp-site .elementor-widget-text-editor {
  color: var(--lvp-text-muted);
}

strong,
b {
  color: var(--lvp-text-main);
}

small {
  color: var(--lvp-text-soft);
}

.lvp-gold,
.lvp-destaque,
mark {
  color: var(--lvp-gold) !important;
  background: transparent !important;
}

.lvp-title {
  font-size: clamp(38px, 6vw, 76px);
  line-height: 1.05;
  letter-spacing: -0.03em;
}

.lvp-subtitle {
  font-size: clamp(17px, 2vw, 22px);
  line-height: 1.5;
  max-width: 620px;
}

.lvp-eyebrow {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 18px;
  color: var(--lvp-gold);
}

/* =========================================================
   Links
========================================================= */

a {
  color: var(--lvp-gold);
  transition: var(--lvp-transition);
}

a:hover,
a:focus {
  color: var(--lvp-gold-light);
}

/* =========================================================
   Header / Menu
   Sugestão: colocar a classe .lvp-header no container do header
   e .lvp-menu no widget de menu do Elementor
========================================================= */

/* =========================================================
   Header / Menu — LVP refinado
========================================================= */

.lvp-header,
.site-header,
header,
.elementor-location-header {
  position: sticky;
  top: 0;
  z-index: 999;
  background: rgba(17, 17, 17, 0.82) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* Container interno */
.lvp-header .elementor-container,
.lvp-header .e-con-inner,
.elementor-location-header .elementor-container,
.elementor-location-header .e-con-inner {
  align-items: center;
}

/* Links do menu */
.lvp-header .elementor-nav-menu > li > a,
.lvp-header .elementor-item,
.lvp-menu .elementor-nav-menu > li > a,
.lvp-menu .elementor-item,
.main-navigation a,
.menu a,
.elementor-nav-menu > li > a {
  position: relative;
  color: #ffffff !important;
  font-size: 13px;
  font-weight: 300 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition:
    color 0.25s ease,
    opacity 0.25s ease;
}

/* Hover e item ativo */
.lvp-header .elementor-nav-menu > li > a:hover,
.lvp-header .elementor-item:hover,
.lvp-header .elementor-item-active,
.lvp-menu .elementor-nav-menu > li > a:hover,
.lvp-menu .elementor-item:hover,
.lvp-menu .elementor-item-active,
.main-navigation a:hover,
.menu a:hover,
.elementor-nav-menu > li > a:hover,
.elementor-nav-menu > li.current-menu-item > a,
.elementor-nav-menu > li.current_page_item > a {
  color: var(--lvp-gold) !important;
}

/* Remove animações padrão do Elementor, se estiverem atrapalhando */
.lvp-header .elementor-nav-menu--main .elementor-item::before,
.lvp-header .elementor-nav-menu--main .elementor-item::after,
.lvp-menu .elementor-nav-menu--main .elementor-item::before,
.lvp-menu .elementor-nav-menu--main .elementor-item::after {
  background: transparent !important;
}

/* Traço elegante no hover */
.lvp-header .elementor-nav-menu--main .elementor-item {
  position: relative;
  overflow: visible;
}

.lvp-header .elementor-nav-menu--main .elementor-item::after,
.lvp-menu .elementor-nav-menu--main .elementor-item::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 8px;
  width: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    var(--lvp-gold),
    transparent
  ) !important;
  transform: translateX(-50%);
  opacity: 0;
  transition:
    width 0.35s ease,
    opacity 0.25s ease;
}

/* Hover: linha abre do centro */
.lvp-header .elementor-nav-menu--main .elementor-item:hover::after,
.lvp-header .elementor-nav-menu--main .elementor-item-active::after,
.lvp-menu .elementor-nav-menu--main .elementor-item:hover::after,
.lvp-menu .elementor-nav-menu--main .elementor-item-active::after {
  width: 72%;
  opacity: 1;
}

/* Leve brilho no hover */
.lvp-header .elementor-nav-menu--main .elementor-item:hover,
.lvp-menu .elementor-nav-menu--main .elementor-item:hover {
  text-shadow: 0 0 18px rgba(200, 186, 139, 0.22);
}

/* Logo */
.lvp-header img,
.site-logo img,
.custom-logo,
.elementor-location-header img,
.elementor-widget-theme-site-logo img {
  max-height: 72px;
  width: auto;
  filter: none;
}

/* Botão no header */
.lvp-header .elementor-button,
.elementor-location-header .elementor-button {
  background: transparent !important;
  color: #ffffff !important;
  border: 1px solid rgba(200, 186, 139, 0.45) !important;
  border-radius: 999px !important;
  padding: 11px 24px;
  font-size: 12px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  box-shadow: none;
  transition: var(--lvp-transition);
}

.lvp-header .elementor-button:hover,
.elementor-location-header .elementor-button:hover {
  background: var(--lvp-gold) !important;
  border-color: var(--lvp-gold) !important;
  color: #111111 !important;
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(200, 186, 139, 0.18);
}

/* Botão hamburguer */
.lvp-header .elementor-menu-toggle,
.elementor-location-header .elementor-menu-toggle {
  color: var(--lvp-gold) !important;
  background: rgba(200, 186, 139, 0.08) !important;
  border: 1px solid rgba(200, 186, 139, 0.22);
  border-radius: 8px;
}

/* Dropdown mobile */
.lvp-header .elementor-nav-menu--dropdown,
.elementor-location-header .elementor-nav-menu--dropdown,
.elementor-nav-menu--dropdown {
  background: rgba(17, 17, 17, 0.96) !important;
  border-top: 1px solid rgba(200, 186, 139, 0.18);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.36);
}

.lvp-header .elementor-nav-menu--dropdown a,
.elementor-location-header .elementor-nav-menu--dropdown a,
.elementor-nav-menu--dropdown a {
  color: #ffffff !important;
  background: transparent !important;
  font-weight: 300 !important;
  letter-spacing: 0.06em;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.lvp-header .elementor-nav-menu--dropdown a:hover,
.elementor-location-header .elementor-nav-menu--dropdown a:hover,
.elementor-nav-menu--dropdown a:hover {
  color: var(--lvp-gold) !important;
  background: rgba(200, 186, 139, 0.08) !important;
}

/* Responsivo */
@media (max-width: 767px) {
  .lvp-header img,
  .site-logo img,
  .custom-logo,
  .elementor-location-header img,
  .elementor-widget-theme-site-logo img {
    max-height: 56px;
  }
}
/* =========================================================
   Seções
========================================================= */

section,
.elementor-section,
.elementor-top-section {
  position: relative;
}

.lvp-section {
  padding: 90px 24px;
}

.lvp-container {
  max-width: 1180px;
  margin: 0 auto;
}

.lvp-section-dark,
.section-dark {
  background:
    radial-gradient(circle at top right, rgba(200, 186, 139, 0.10), transparent 32%),
    linear-gradient(135deg, #111111 0%, #181818 100%) !important;
}

.lvp-section-soft,
.section-soft {
  background: var(--lvp-bg-soft) !important;
}

.lvp-section-warm,
.section-warm {
  background:
    radial-gradient(circle at 80% 20%, rgba(200, 186, 139, 0.14), transparent 35%),
    linear-gradient(135deg, #181818 0%, #2a241a 100%) !important;
}

.lvp-section-light {
  background: #f7f5f0 !important;
  color: #1a1a1a;
}

.lvp-section-light h1,
.lvp-section-light h2,
.lvp-section-light h3,
.lvp-section-light h4,
.lvp-section-light h5,
.lvp-section-light h6,
.lvp-section-light .elementor-heading-title {
  color: #1a1a1a !important;
}

.lvp-section-light p,
.lvp-section-light li,
.lvp-section-light .elementor-widget-text-editor {
  color: #4a4a4a !important;
}

/* =========================================================
   Hero / Banner / Slides
========================================================= */

.lvp-hero,
.hero,
.banner,
.elementor-hero,
.elementor-section-height-full {
  position: relative;
  min-height: 90vh;
  display: flex;
  align-items: center;
  background:
    radial-gradient(circle at 78% 22%, rgba(230, 212, 154, 0.20), transparent 34%),
    radial-gradient(circle at 15% 85%, rgba(112, 110, 110, 0.24), transparent 38%),
    linear-gradient(135deg, #111111 0%, #181818 45%, #2a241a 100%) !important;
  color: var(--lvp-text-main);
  overflow: hidden;
  background-size: cover;
  background-position: center;
}

/* Camada escura para banners com imagem */
.lvp-hero::before,
.hero::before,
.banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(17, 17, 17, 0.90) 0%, rgba(17, 17, 17, 0.62) 45%, rgba(17, 17, 17, 0.28) 100%),
    linear-gradient(180deg, rgba(17, 17, 17, 0.10) 0%, rgba(17, 17, 17, 0.72) 100%);
  pointer-events: none;
  z-index: 1;
}

.lvp-hero > *,
.hero > *,
.banner > * {
  position: relative;
  z-index: 2;
}

.lvp-hero-content {
  max-width: 680px;
}

.lvp-hero h1,
.hero h1,
.banner h1 {
  color: var(--lvp-text-main) !important;
  text-shadow: 0 12px 34px rgba(0, 0, 0, 0.45);
}

.lvp-hero p,
.hero p,
.banner p {
  color: var(--lvp-text-muted) !important;
}

.lvp-hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 30px;
}

/* =========================================================
   Cards gerais
========================================================= */

.card,
.lvp-card,
.wp-block-group,
.wp-block-column {
  border-radius: var(--lvp-radius-md);
}

.lvp-card,
.card-dark {
  background: rgba(34, 34, 34, 0.82);
  border: 1px solid var(--lvp-border-soft);
  border-radius: var(--lvp-radius-md);
  padding: 28px;
  box-shadow: var(--lvp-shadow-soft);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: var(--lvp-transition);
}

.lvp-card:hover,
.card-dark:hover {
  transform: translateY(-4px);
  border-color: rgba(200, 186, 139, 0.34);
  box-shadow: var(--lvp-shadow-gold);
}

.lvp-section-light .lvp-card {
  background: #ffffff;
  color: #1a1a1a;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.06);
}

.lvp-section-light .lvp-card h3,
.lvp-section-light .lvp-card h4 {
  color: #181818 !important;
}

.lvp-section-light .lvp-card p {
  color: #555555 !important;
}

/* =========================================================
   Botões
========================================================= */

.lvp-button,
.lvp-btn,
.lvp-site .elementor-button,
button,
input[type="submit"],
.wp-block-button__link,
.elementor-button,
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--lvp-gold) !important;
  color: #111111 !important;
  border: 1px solid var(--lvp-gold) !important;
  border-radius: 999px !important;
  font-weight: 700;
  letter-spacing: 0.03em;
  padding: 14px 28px;
  text-transform: uppercase;
  font-size: 13px;
  transition: var(--lvp-transition);
  box-shadow: 0 14px 32px rgba(200, 186, 139, 0.18);
}

.lvp-button:hover,
.lvp-btn:hover,
.lvp-site .elementor-button:hover,
button:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover,
.elementor-button:hover,
.btn:hover {
  background: var(--lvp-gold-light) !important;
  border-color: var(--lvp-gold-light) !important;
  color: #111111 !important;
  transform: translateY(-2px);
  box-shadow: 0 18px 42px rgba(230, 212, 154, 0.24);
}

.lvp-button-outline,
.lvp-btn-outline,
.elementor-button.lvp-btn-outline,
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: var(--lvp-gold) !important;
  border: 1px solid var(--lvp-gold) !important;
  box-shadow: none;
}

.lvp-button-outline:hover,
.lvp-btn-outline:hover,
.elementor-button.lvp-btn-outline:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: rgba(200, 186, 139, 0.10) !important;
  color: var(--lvp-gold-light) !important;
  border-color: var(--lvp-gold-light) !important;
}

/* =========================================================
   Imagens
========================================================= */

img {
  max-width: 100%;
}

.lvp-image,
.lvp-img-rounded img,
.lvp-image img,
.lvp-img-premium img,
.elementor-widget-image img {
  border-radius: var(--lvp-radius-md);
}

.lvp-img-premium img {
  border: 1px solid var(--lvp-border-soft);
  box-shadow: var(--lvp-shadow-soft);
}

.lvp-empreendimento-img img {
  border-radius: var(--lvp-radius-lg);
  box-shadow:
    0 24px 70px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(200, 186, 139, 0.16);
}

/* =========================================================
   Sobre LVP
========================================================= */

.lvp-about-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 50px;
  align-items: center;
}

/* =========================================================
   Cards com linhas divisórias — Diferenciais / Pilares
   Use .lvp-pillars no container e .lvp-pillar em cada item
========================================================= */

.lvp-pillars {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-top: 45px;
  border-top: 1px solid rgba(200, 186, 139, 0.18);
  border-left: 1px solid rgba(200, 186, 139, 0.18);
}

.lvp-pillar {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 38px 28px;
  text-align: center;
  min-height: 230px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: var(--lvp-transition);
  border-right: 1px solid rgba(200, 186, 139, 0.18) !important;
  border-bottom: 1px solid rgba(200, 186, 139, 0.18) !important;
}

.lvp-pillar:hover {
  background: rgba(200, 186, 139, 0.035) !important;
}

/* Ícones */
.lvp-pillar .elementor-icon,
.lvp-pillar i,
.lvp-pillar svg {
  color: var(--lvp-gold) !important;
  fill: var(--lvp-gold) !important;
  width: 42px;
  height: 42px;
  margin-bottom: 20px;
}

/* Título dos cards */
.lvp-pillar h3,
.lvp-pillar .elementor-icon-box-title,
.lvp-pillar .elementor-image-box-title {
  font-size: 17px;
  font-weight: 600;
  color: var(--lvp-text-main) !important;
  margin-bottom: 10px;
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* Texto dos cards */
.lvp-pillar p,
.lvp-pillar .elementor-icon-box-description,
.lvp-pillar .elementor-image-box-description {
  max-width: 220px;
  margin: 0 auto;
  color: var(--lvp-text-muted) !important;
  line-height: 1.55;
  font-size: 14px;
}

/* Cards em seção clara */
.lvp-section-light .lvp-pillars {
  border-top: 1px solid rgba(200, 186, 139, 0.32);
  border-left: 1px solid rgba(200, 186, 139, 0.32);
}

.lvp-section-light .lvp-pillar {
  border-right: 1px solid rgba(200, 186, 139, 0.32) !important;
  border-bottom: 1px solid rgba(200, 186, 139, 0.32) !important;
}

.lvp-section-light .lvp-pillar h3,
.lvp-section-light .lvp-pillar .elementor-icon-box-title,
.lvp-section-light .lvp-pillar .elementor-image-box-title {
  color: #181818 !important;
}

.lvp-section-light .lvp-pillar p,
.lvp-section-light .lvp-pillar .elementor-icon-box-description,
.lvp-section-light .lvp-pillar .elementor-image-box-description {
  color: #666666 !important;
}

/* =========================================================
   Features / Características
========================================================= */

.lvp-features,
.caracteristicas,
.diferenciais {
  background:
    radial-gradient(circle at top left, rgba(200, 186, 139, 0.10), transparent 34%),
    var(--lvp-bg-soft) !important;
}

.lvp-features-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.lvp-feature-item,
.feature-item,
.diferencial-item {
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid var(--lvp-border-soft);
  border-radius: var(--lvp-radius-md);
  padding: 26px;
  transition: var(--lvp-transition);
}

.lvp-feature-item:hover,
.feature-item:hover,
.diferencial-item:hover {
  border-color: rgba(200, 186, 139, 0.34);
  background: rgba(200, 186, 139, 0.045);
}

.lvp-feature-item h3,
.feature-item h3,
.diferencial-item h3 {
  color: var(--lvp-text-main) !important;
}

.lvp-feature-item p,
.feature-item p,
.diferencial-item p {
  color: var(--lvp-text-muted) !important;
}

/* =========================================================
   Saint John / Novo empreendimento
========================================================= */

.lvp-saint-john {
  background:
    radial-gradient(circle at 78% 18%, rgba(230, 212, 154, 0.18), transparent 32%),
    linear-gradient(135deg, #111111 0%, #181818 50%, #2a241a 100%) !important;
}

.lvp-saint-john .tag,
.lvp-tag,
.elementor-heading-title small {
  color: var(--lvp-gold) !important;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.78rem;
  font-weight: 600;
}

.lvp-saint-john h2 {
  color: var(--lvp-text-main) !important;
}

.lvp-saint-john p {
  color: var(--lvp-text-muted) !important;
}

/* =========================================================
   Obra entregue / empreendimento antigo
========================================================= */

.lvp-entregue,
.obra-entregue {
  background: #151515 !important;
  border-top: 1px solid var(--lvp-border-gray);
  border-bottom: 1px solid var(--lvp-border-gray);
}

.lvp-entregue .status,
.status-entregue {
  color: var(--lvp-gold) !important;
  border: 1px solid rgba(200, 186, 139, 0.30);
  background: rgba(200, 186, 139, 0.08);
  border-radius: 999px;
  padding: 6px 14px;
  display: inline-flex;
  align-items: center;
}

/* =========================================================
   Galerias / Carrosséis
========================================================= */

.swiper,
.elementor-swiper,
.slick-slider {
  overflow: hidden;
}

.swiper-slide,
.slick-slide {
  color: var(--lvp-text-main);
}

.swiper-pagination-bullet,
.slick-dots li button::before {
  background: var(--lvp-gray-logo) !important;
  opacity: 0.7;
}

.swiper-pagination-bullet-active,
.slick-dots li.slick-active button::before {
  background: var(--lvp-gold) !important;
  opacity: 1;
}

.swiper-button-next,
.swiper-button-prev,
.slick-arrow {
  color: var(--lvp-gold) !important;
}

/* =========================================================
   Formulários
========================================================= */

input,
textarea,
select,
.lvp-site input,
.lvp-site textarea,
.lvp-site select {
  background: rgba(255, 255, 255, 0.045) !important;
  color: var(--lvp-text-main) !important;
  border: 1px solid var(--lvp-border-gray) !important;
  border-radius: var(--lvp-radius-sm) !important;
  padding: 12px 14px;
  outline: none;
  transition: var(--lvp-transition);
}

input::placeholder,
textarea::placeholder {
  color: rgba(201, 197, 186, 0.58) !important;
}

input:focus,
textarea:focus,
select:focus,
.lvp-site input:focus,
.lvp-site textarea:focus,
.lvp-site select:focus {
  border-color: var(--lvp-gold) !important;
  box-shadow: 0 0 0 3px rgba(200, 186, 139, 0.14);
}

label,
.elementor-field-label {
  color: var(--lvp-text-muted) !important;
}

/* =========================================================
   Rodapé
========================================================= */

footer,
.site-footer,
.elementor-location-footer {
  background: #0d0d0d !important;
  color: var(--lvp-text-muted);
  border-top: 1px solid var(--lvp-border-gray);
}

footer a,
.site-footer a,
.elementor-location-footer a {
  color: var(--lvp-text-muted);
}

footer a:hover,
.site-footer a:hover,
.elementor-location-footer a:hover {
  color: var(--lvp-gold);
}

/* =========================================================
   Divisores
========================================================= */

hr,
.elementor-divider-separator {
  border-color: var(--lvp-border-soft) !important;
}

.lvp-divider {
  width: 72px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--lvp-gold), transparent);
  margin: 18px 0;
}

/* =========================================================
   Glassmorphism
========================================================= */

.lvp-glass {
  background: rgba(24, 24, 24, 0.62) !important;
  border: 1px solid rgba(200, 186, 139, 0.18);
  box-shadow: var(--lvp-shadow-soft);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-radius: var(--lvp-radius-lg);
}

/* =========================================================
   Ajustes Elementor
========================================================= */

.elementor-widget-container {
  color: var(--lvp-text-muted);
}

.elementor-icon,
.lvp-card-icon {
  color: var(--lvp-gold) !important;
  fill: var(--lvp-gold) !important;
}

.elementor-icon-box-title,
.elementor-image-box-title {
  color: var(--lvp-text-main) !important;
}

.elementor-icon-box-description,
.elementor-image-box-description {
  color: var(--lvp-text-muted) !important;
}

.elementor-accordion-item,
.elementor-toggle-item {
  background: rgba(255, 255, 255, 0.035);
  border-color: var(--lvp-border-gray) !important;
}

.elementor-tab-title {
  color: var(--lvp-text-main) !important;
}

.elementor-tab-content {
  color: var(--lvp-text-muted) !important;
}

/* =========================================================
   Responsivo
========================================================= */

@media (max-width: 1024px) {
  .lvp-hero,
  .hero,
  .banner {
    background:
      radial-gradient(circle at 70% 18%, rgba(230, 212, 154, 0.16), transparent 35%),
      linear-gradient(135deg, #111111 0%, #181818 60%, #2a241a 100%) !important;
  }

  .lvp-pillars {
    grid-template-columns: repeat(2, 1fr);
  }

  .lvp-features-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .lvp-about-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  body::before {
    background:
      radial-gradient(circle at 50% 0%, rgba(200, 186, 139, 0.14), transparent 38%),
      linear-gradient(180deg, #111111 0%, #181818 70%, #2a241a 100%);
  }

  h1,
  .lvp-hero h1,
  .hero h1,
  .banner h1 {
    font-size: clamp(2rem, 9vw, 3.2rem);
  }

  h2 {
    font-size: clamp(1.7rem, 7vw, 2.4rem);
  }

  .lvp-section {
    padding: 64px 20px;
  }

  .lvp-hero {
    min-height: 82vh;
    background-position: center;
  }

  .lvp-hero::before {
    background: linear-gradient(180deg, rgba(17, 17, 17, 0.78), rgba(17, 17, 17, 0.90));
  }

  .lvp-hero-content {
    max-width: 100%;
  }

  .lvp-hero-actions {
    flex-direction: column;
  }

  .lvp-button,
  .lvp-btn,
  .lvp-site .elementor-button,
  button,
  input[type="submit"],
  .wp-block-button__link,
  .elementor-button,
  .btn {
    width: 100%;
    text-align: center;
  }

  .lvp-features-grid {
    grid-template-columns: 1fr;
  }

  .lvp-feature-item,
  .feature-item,
  .diferencial-item {
    padding: 18px;
  }

  .lvp-header img,
  .site-logo img,
  .custom-logo,
  .elementor-location-header img,
  .elementor-widget-theme-site-logo img {
    max-height: 56px;
  }
}

@media (max-width: 600px) {
  .lvp-pillars {
    grid-template-columns: 1fr;
  }

  .lvp-pillar {
    min-height: auto;
    padding: 34px 25px;
  }
}


/* =========================================================
   FORÇAR ESTILO DO MENU LVP — colocar no final do style.css
========================================================= */

/* Header */
.elementor-location-header,
.elementor-location-header .elementor-section,
.elementor-location-header .elementor-container,
.elementor-location-header .e-con,
.elementor-location-header .e-con-inner,
.lvp-header {
  background: rgba(17, 17, 17, 0.88) !important;
}

/* Links principais do menu */
.elementor-location-header .elementor-nav-menu--main .elementor-item,
.elementor-location-header .elementor-nav-menu--main .elementor-item:link,
.elementor-location-header .elementor-nav-menu--main .elementor-item:visited,
.lvp-header .elementor-nav-menu--main .elementor-item,
.lvp-menu .elementor-nav-menu--main .elementor-item {
  color: #ffffff !important;
  fill: #ffffff !important;
  font-weight: 300 !important;
  font-size: 13px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  background: transparent !important;
  position: relative !important;
  transition: color 0.25s ease, text-shadow 0.25s ease !important;
}

/* Hover e ativo */
.elementor-location-header .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-header .elementor-nav-menu--main .elementor-item.elementor-item-active,
.elementor-location-header .elementor-nav-menu--main .current-menu-item > .elementor-item,
.elementor-location-header .elementor-nav-menu--main .current_page_item > .elementor-item,
.lvp-header .elementor-nav-menu--main .elementor-item:hover,
.lvp-header .elementor-nav-menu--main .elementor-item.elementor-item-active,
.lvp-menu .elementor-nav-menu--main .elementor-item:hover,
.lvp-menu .elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: var(--lvp-gold) !important;
  fill: var(--lvp-gold) !important;
  text-shadow: 0 0 18px rgba(200, 186, 139, 0.24) !important;
}

/* Remove underline/animação padrão do Elementor */
.elementor-location-header .elementor-nav-menu--main .elementor-item::before,
.elementor-location-header .elementor-nav-menu--main .elementor-item::after,
.lvp-header .elementor-nav-menu--main .elementor-item::before,
.lvp-header .elementor-nav-menu--main .elementor-item::after,
.lvp-menu .elementor-nav-menu--main .elementor-item::before,
.lvp-menu .elementor-nav-menu--main .elementor-item::after {
  background: transparent !important;
  opacity: 1 !important;
}

/* Animação premium: linha abre do centro */
.elementor-location-header .elementor-nav-menu--main .elementor-item::after,
.lvp-header .elementor-nav-menu--main .elementor-item::after,
.lvp-menu .elementor-nav-menu--main .elementor-item::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 8px !important;
  width: 0 !important;
  height: 1px !important;
  transform: translateX(-50%) !important;
  background: linear-gradient(
    90deg,
    transparent,
    var(--lvp-gold),
    transparent
  ) !important;
  opacity: 0 !important;
  transition: width 0.35s ease, opacity 0.25s ease !important;
}

/* Hover da linha */
.elementor-location-header .elementor-nav-menu--main .elementor-item:hover::after,
.elementor-location-header .elementor-nav-menu--main .elementor-item.elementor-item-active::after,
.elementor-location-header .elementor-nav-menu--main .current-menu-item > .elementor-item::after,
.elementor-location-header .elementor-nav-menu--main .current_page_item > .elementor-item::after,
.lvp-header .elementor-nav-menu--main .elementor-item:hover::after,
.lvp-header .elementor-nav-menu--main .elementor-item.elementor-item-active::after,
.lvp-menu .elementor-nav-menu--main .elementor-item:hover::after,
.lvp-menu .elementor-nav-menu--main .elementor-item.elementor-item-active::after {
  width: 72% !important;
  opacity: 1 !important;
}

/* Dropdown mobile */
.elementor-location-header .elementor-nav-menu--dropdown,
.lvp-header .elementor-nav-menu--dropdown,
.lvp-menu .elementor-nav-menu--dropdown {
  background: rgba(17, 17, 17, 0.98) !important;
  border-top: 1px solid rgba(200, 186, 139, 0.18) !important;
}

/* Links mobile */
.elementor-location-header .elementor-nav-menu--dropdown .elementor-item,
.lvp-header .elementor-nav-menu--dropdown .elementor-item,
.lvp-menu .elementor-nav-menu--dropdown .elementor-item {
  color: #ffffff !important;
  font-weight: 300 !important;
  letter-spacing: 0.06em !important;
  background: transparent !important;
}

/* Hover mobile */
.elementor-location-header .elementor-nav-menu--dropdown .elementor-item:hover,
.elementor-location-header .elementor-nav-menu--dropdown .elementor-item.elementor-item-active,
.lvp-header .elementor-nav-menu--dropdown .elementor-item:hover,
.lvp-header .elementor-nav-menu--dropdown .elementor-item.elementor-item-active,
.lvp-menu .elementor-nav-menu--dropdown .elementor-item:hover,
.lvp-menu .elementor-nav-menu--dropdown .elementor-item.elementor-item-active {
  color: var(--lvp-gold) !important;
  background: rgba(200, 186, 139, 0.08) !important;
}

/* Ícone do menu mobile */
.elementor-location-header .elementor-menu-toggle,
.lvp-header .elementor-menu-toggle,
.lvp-menu .elementor-menu-toggle {
  color: var(--lvp-gold) !important;
  background: rgba(200, 186, 139, 0.08) !important;
  border: 1px solid rgba(200, 186, 139, 0.22) !important;
  border-radius: 8px !important;
}

/* =========================================================
   LVP — Ajustes finais de refinamento visual
   Cole este bloco NO FINAL do style.css
========================================================= */

/* =========================================================
   1. Header / Menu mais premium
========================================================= */

.lvp-header,
.site-header,
header,
.elementor-location-header {
  background: rgba(13, 13, 13, 0.88) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(200, 186, 139, 0.12) !important;
  box-shadow: 0 10px 34px rgba(0, 0, 0, 0.22);
}

/* Links do menu */
.elementor-location-header .elementor-nav-menu--main .elementor-item,
.lvp-header .elementor-nav-menu--main .elementor-item,
.lvp-menu .elementor-nav-menu--main .elementor-item,
.elementor-nav-menu--main .elementor-item {
  color: rgba(255, 255, 255, 0.88) !important;
  font-weight: 300 !important;
  font-size: 12px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  position: relative !important;
  background: transparent !important;
  transition:
    color 0.25s ease,
    text-shadow 0.25s ease,
    opacity 0.25s ease !important;
}

/* Hover e ativo */
.elementor-location-header .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-header .elementor-nav-menu--main .elementor-item.elementor-item-active,
.elementor-location-header .elementor-nav-menu--main .current-menu-item > .elementor-item,
.lvp-header .elementor-nav-menu--main .elementor-item:hover,
.lvp-header .elementor-nav-menu--main .elementor-item.elementor-item-active,
.lvp-menu .elementor-nav-menu--main .elementor-item:hover,
.lvp-menu .elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: var(--lvp-gold) !important;
  text-shadow: 0 0 18px rgba(200, 186, 139, 0.24) !important;
}

/* Remove animação padrão do Elementor */
.elementor-location-header .elementor-nav-menu--main .elementor-item::before,
.elementor-location-header .elementor-nav-menu--main .elementor-item::after,
.lvp-header .elementor-nav-menu--main .elementor-item::before,
.lvp-header .elementor-nav-menu--main .elementor-item::after,
.lvp-menu .elementor-nav-menu--main .elementor-item::before,
.lvp-menu .elementor-nav-menu--main .elementor-item::after {
  background: transparent !important;
  opacity: 1 !important;
}

/* Linha animada no hover */
.elementor-location-header .elementor-nav-menu--main .elementor-item::after,
.lvp-header .elementor-nav-menu--main .elementor-item::after,
.lvp-menu .elementor-nav-menu--main .elementor-item::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 7px !important;
  width: 0 !important;
  height: 1px !important;
  transform: translateX(-50%) !important;
  background: linear-gradient(
    90deg,
    transparent,
    var(--lvp-gold),
    transparent
  ) !important;
  opacity: 0 !important;
  transition:
    width 0.35s ease,
    opacity 0.25s ease !important;
}

/* Linha abre do centro */
.elementor-location-header .elementor-nav-menu--main .elementor-item:hover::after,
.elementor-location-header .elementor-nav-menu--main .elementor-item.elementor-item-active::after,
.elementor-location-header .elementor-nav-menu--main .current-menu-item > .elementor-item::after,
.lvp-header .elementor-nav-menu--main .elementor-item:hover::after,
.lvp-header .elementor-nav-menu--main .elementor-item.elementor-item-active::after,
.lvp-menu .elementor-nav-menu--main .elementor-item:hover::after,
.lvp-menu .elementor-nav-menu--main .elementor-item.elementor-item-active::after {
  width: 70% !important;
  opacity: 1 !important;
}

/* Logo no header */
.lvp-header img,
.site-logo img,
.custom-logo,
.elementor-location-header img,
.elementor-widget-theme-site-logo img {
  max-height: 68px !important;
  width: auto;
}

/* =========================================================
   2. Hero — acabamento mais sofisticado
========================================================= */

.lvp-hero,
.hero,
.banner,
.elementor-hero,
.elementor-section-height-full {
  border-bottom: 1px solid rgba(200, 186, 139, 0.16);
}

/* Deixa a camada escura mais elegante */
.lvp-hero::before,
.hero::before,
.banner::before {
  background:
    linear-gradient(90deg, rgba(10, 10, 10, 0.94) 0%, rgba(13, 13, 13, 0.72) 42%, rgba(13, 13, 13, 0.18) 100%),
    linear-gradient(180deg, rgba(17, 17, 17, 0.05) 0%, rgba(17, 17, 17, 0.68) 100%) !important;
}

/* Eyebrow do hero */
.lvp-eyebrow,
.lvp-hero .lvp-eyebrow,
.hero .lvp-eyebrow,
.banner .lvp-eyebrow {
  color: var(--lvp-gold) !important;
  font-weight: 500 !important;
  letter-spacing: 0.22em !important;
}

/* Traço antes do texto pequeno */
.lvp-eyebrow::before {
  content: "";
  display: inline-block;
  width: 44px;
  height: 1px;
  background: var(--lvp-gold);
  margin-right: 14px;
  vertical-align: middle;
  opacity: 0.9;
}

/* Botão principal do hero */
.lvp-hero .elementor-button,
.hero .elementor-button,
.banner .elementor-button {
  border-radius: 999px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  box-shadow: 0 16px 38px rgba(200, 186, 139, 0.20) !important;
}

/* Botão secundário quando usar classe lvp-button-outline */
.lvp-hero .lvp-button-outline,
.hero .lvp-button-outline,
.banner .lvp-button-outline,
.lvp-hero .elementor-button.lvp-button-outline {
  background: transparent !important;
  color: var(--lvp-gold) !important;
  border: 1px solid rgba(200, 186, 139, 0.52) !important;
  box-shadow: none !important;
}

.lvp-hero .lvp-button-outline:hover,
.hero .lvp-button-outline:hover,
.banner .lvp-button-outline:hover,
.lvp-hero .elementor-button.lvp-button-outline:hover {
  background: rgba(200, 186, 139, 0.12) !important;
  color: var(--lvp-gold-light) !important;
  border-color: var(--lvp-gold-light) !important;
}

/* =========================================================
   3. Seções claras — menos branco, mais champagne/concreto
========================================================= */

.lvp-section-light {
  background:
    radial-gradient(circle at 82% 18%, rgba(200, 186, 139, 0.14), transparent 30%),
    linear-gradient(135deg, #f4f0e7 0%, #eee7d8 100%) !important;
  color: #1a1a1a !important;
}

/* Textos em seções claras */
.lvp-section-light h1,
.lvp-section-light h2,
.lvp-section-light h3,
.lvp-section-light h4,
.lvp-section-light h5,
.lvp-section-light h6,
.lvp-section-light .elementor-heading-title {
  color: #1c1c1c !important;
}

.lvp-section-light p,
.lvp-section-light li,
.lvp-section-light .elementor-widget-text-editor,
.lvp-section-light .elementor-widget-text-editor p {
  color: #57534c !important;
}

/* Pequeno título de seção */
.lvp-section-light .lvp-eyebrow,
.lvp-section-light .lvp-tag,
.lvp-section-light small {
  color: #8f7a48 !important;
}

/* =========================================================
   4. Cards da seção Sobre — mais leves e editoriais
========================================================= */

.lvp-section-light .lvp-pillars {
  border-top: 1px solid rgba(200, 186, 139, 0.24) !important;
  border-left: 1px solid rgba(200, 186, 139, 0.24) !important;
  margin-top: 38px !important;
}

.lvp-section-light .lvp-pillar {
  min-height: 205px !important;
  padding: 32px 24px !important;
  border-right: 1px solid rgba(200, 186, 139, 0.24) !important;
  border-bottom: 1px solid rgba(200, 186, 139, 0.24) !important;
  background: rgba(255, 255, 255, 0.10) !important;
  transition:
    background 0.3s ease,
    transform 0.3s ease,
    box-shadow 0.3s ease !important;
}

.lvp-section-light .lvp-pillar:hover {
  background: rgba(200, 186, 139, 0.10) !important;
  transform: translateY(-3px);
  box-shadow: 0 18px 34px rgba(50, 42, 25, 0.08);
}

/* Ícones dos cards */
.lvp-section-light .lvp-pillar .elementor-icon,
.lvp-section-light .lvp-pillar i,
.lvp-section-light .lvp-pillar svg {
  color: var(--lvp-gold) !important;
  fill: var(--lvp-gold) !important;
  width: 34px !important;
  height: 34px !important;
  margin-bottom: 18px !important;
}

/* Títulos dos cards */
.lvp-section-light .lvp-pillar h3,
.lvp-section-light .lvp-pillar .elementor-icon-box-title,
.lvp-section-light .lvp-pillar .elementor-image-box-title {
  color: #1d1d1d !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.045em !important;
  text-transform: uppercase !important;
  margin-bottom: 10px !important;
}

/* Texto dos cards */
.lvp-section-light .lvp-pillar p,
.lvp-section-light .lvp-pillar .elementor-icon-box-description,
.lvp-section-light .lvp-pillar .elementor-image-box-description {
  color: #6a6258 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  max-width: 215px !important;
  margin: 0 auto !important;
}

/* =========================================================
   5. Botão discreto para seção clara
   Use a classe: lvp-btn-light-outline
========================================================= */

.lvp-btn-light-outline,
.lvp-section-light .lvp-btn-light-outline,
.lvp-section-light a.lvp-btn-light-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 26px;
  padding: 13px 26px;
  border: 1px solid rgba(143, 122, 72, 0.75) !important;
  border-radius: 999px;
  color: #1a1a1a !important;
  background: transparent !important;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-decoration: none !important;
  transition: all 0.25s ease;
}

.lvp-btn-light-outline:hover,
.lvp-section-light .lvp-btn-light-outline:hover,
.lvp-section-light a.lvp-btn-light-outline:hover {
  background: var(--lvp-gold) !important;
  border-color: var(--lvp-gold) !important;
  color: #111111 !important;
  transform: translateY(-2px);
}

/* =========================================================
   6. Rodapé mais institucional
========================================================= */

footer,
.site-footer,
.elementor-location-footer {
  background:
    radial-gradient(circle at 80% 0%, rgba(200, 186, 139, 0.08), transparent 28%),
    #0d0d0d !important;
  border-top: 1px solid rgba(200, 186, 139, 0.14) !important;
  color: rgba(245, 242, 234, 0.72) !important;
}

footer p,
.site-footer p,
.elementor-location-footer p,
footer span,
.site-footer span,
.elementor-location-footer span {
  color: rgba(245, 242, 234, 0.72) !important;
}

footer a,
.site-footer a,
.elementor-location-footer a {
  color: rgba(245, 242, 234, 0.72) !important;
  text-decoration: none !important;
  transition: color 0.25s ease;
}

footer a:hover,
.site-footer a:hover,
.elementor-location-footer a:hover {
  color: var(--lvp-gold) !important;
}

/* =========================================================
   7. Ajustes responsivos dos refinamentos
========================================================= */

@media (max-width: 1024px) {
  .lvp-section-light .lvp-pillars {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 767px) {
  .elementor-location-header .elementor-nav-menu--main .elementor-item,
  .lvp-header .elementor-nav-menu--main .elementor-item,
  .lvp-menu .elementor-nav-menu--main .elementor-item {
    font-size: 13px !important;
    letter-spacing: 0.08em !important;
  }

  .lvp-section-light {
    background:
      radial-gradient(circle at 50% 0%, rgba(200, 186, 139, 0.12), transparent 34%),
      linear-gradient(180deg, #f4f0e7 0%, #eee7d8 100%) !important;
  }

  .lvp-section-light .lvp-pillars {
    grid-template-columns: 1fr !important;
  }

  .lvp-section-light .lvp-pillar {
    min-height: auto !important;
    padding: 30px 22px !important;
  }
}


/* =========================================================
   LVP — Seções Saint John Residence
   Apresentação, diferenciais, lazer, localização, plantas e investimento
========================================================= */

.lvp-section-container,
.lvp-lazer-container,
.lvp-location-container,
.lvp-plants-container,
.lvp-invest-container,
.lvp-saint-container {
  max-width: 1180px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

/* =========================================================
   Títulos padrão
========================================================= */

.lvp-section-header {
  max-width: 760px;
  margin-bottom: 54px;
}

.lvp-section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
  color: #8f7a48 !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.20em;
  text-transform: uppercase;
}

.lvp-section-kicker::before {
  content: "";
  width: 42px;
  height: 1px;
  background: currentColor;
  opacity: 0.8;
}

.lvp-section-kicker.dark {
  color: var(--lvp-gold) !important;
}

.lvp-section-header h2,
.lvp-lazer-content h2,
.lvp-plants-content h2,
.lvp-invest-content h2 {
  margin: 0 0 18px;
  font-size: clamp(34px, 4.4vw, 56px);
  line-height: 1.08;
  letter-spacing: -0.04em;
  font-weight: 600;
}

.lvp-section-header p,
.lvp-lazer-content p,
.lvp-plants-content p,
.lvp-invest-content p {
  margin: 0 0 16px;
  font-size: 17px;
  line-height: 1.7;
}

/* =========================================================
   1. Apresentação Saint John
========================================================= */

.lvp-saint-section {
  position: relative;
  padding: 110px 24px;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 20%, rgba(200, 186, 139, 0.18), transparent 32%),
    radial-gradient(circle at 10% 80%, rgba(112, 110, 110, 0.14), transparent 34%),
    linear-gradient(135deg, #111111 0%, #181818 52%, #2a241a 100%) !important;
  border-top: 1px solid rgba(200, 186, 139, 0.14);
  border-bottom: 1px solid rgba(200, 186, 139, 0.14);
}

.lvp-saint-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(17, 17, 17, 0.92), rgba(17, 17, 17, 0.48), rgba(17, 17, 17, 0.76));
  pointer-events: none;
  z-index: 1;
}

.lvp-saint-section::after {
  content: "SAINT JOHN";
  position: absolute;
  right: -40px;
  bottom: 20px;
  font-size: clamp(70px, 13vw, 190px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.06em;
  color: rgba(255, 255, 255, 0.025);
  pointer-events: none;
  z-index: 1;
}

.lvp-saint-container {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 70px;
  align-items: center;
}

.lvp-saint-content {
  max-width: 580px;
}

.lvp-saint-title {
  margin: 0 0 18px;
  color: var(--lvp-text-main) !important;
  font-size: clamp(38px, 5vw, 66px);
  line-height: 1.05;
  letter-spacing: -0.04em;
  font-weight: 600;
}

.lvp-saint-subtitle {
  margin: 0 0 22px;
  color: var(--lvp-text-main) !important;
  font-size: clamp(19px, 2vw, 25px);
  line-height: 1.4;
  font-weight: 400;
}

.lvp-saint-text {
  margin: 0 0 18px;
  color: var(--lvp-text-muted) !important;
  font-size: 16px;
  line-height: 1.75;
  max-width: 540px;
}

.lvp-saint-highlights {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin-top: 34px;
  border-top: 1px solid rgba(200, 186, 139, 0.18);
  border-left: 1px solid rgba(200, 186, 139, 0.18);
}

.lvp-saint-highlights div {
  padding: 20px 18px;
  border-right: 1px solid rgba(200, 186, 139, 0.18);
  border-bottom: 1px solid rgba(200, 186, 139, 0.18);
}

.lvp-saint-highlights strong {
  display: block;
  margin-bottom: 6px;
  color: var(--lvp-gold) !important;
  font-size: 16px;
  line-height: 1.25;
}

.lvp-saint-highlights span {
  display: block;
  color: var(--lvp-text-muted);
  font-size: 13px;
  line-height: 1.4;
}

.lvp-saint-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 34px;
}

.lvp-saint-visual {
  position: relative;
}

.lvp-saint-visual::before {
  content: "";
  position: absolute;
  right: 8%;
  bottom: -22px;
  width: 58%;
  height: 42%;
  background: linear-gradient(135deg, rgba(200, 186, 139, 0.72), rgba(159, 135, 82, 0.88));
  border-radius: 34px 0 34px 0;
  z-index: 1;
  opacity: 0.9;
}

.lvp-saint-image {
  position: relative;
  z-index: 2;
}

.lvp-saint-image img {
  width: 100%;
  border-radius: 28px;
  border: 1px solid rgba(200, 186, 139, 0.20);
  box-shadow:
    0 28px 80px rgba(0, 0, 0, 0.46),
    0 0 0 1px rgba(255, 255, 255, 0.04);
}

.lvp-saint-badge {
  position: absolute;
  top: 24px;
  right: 24px;
  z-index: 3;
  padding: 12px 16px;
  border: 1px solid rgba(200, 186, 139, 0.32);
  border-radius: 999px;
  background: rgba(17, 17, 17, 0.72);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  color: var(--lvp-gold) !important;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* =========================================================
   2. Diferenciais
========================================================= */

.lvp-diffs-section {
  position: relative;
  padding: 105px 24px;
  overflow: hidden;
  background:
    radial-gradient(circle at 15% 15%, rgba(200, 186, 139, 0.12), transparent 32%),
    linear-gradient(135deg, #f4f0e7 0%, #eee7d8 100%) !important;
  color: #1a1a1a;
}

.lvp-diffs-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(200, 186, 139, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(200, 186, 139, 0.08) 1px, transparent 1px);
  background-size: 80px 80px;
  opacity: 0.35;
  pointer-events: none;
}

.lvp-diffs-section .lvp-section-header h2,
.lvp-diffs-section .lvp-section-header p {
  color: #1c1c1c !important;
}

.lvp-diffs-section .lvp-section-header p {
  color: #57534c !important;
}

.lvp-diffs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid rgba(143, 122, 72, 0.24);
  border-left: 1px solid rgba(143, 122, 72, 0.24);
}

.lvp-diff-card {
  position: relative;
  min-height: 245px;
  padding: 34px 30px;
  background: rgba(255, 255, 255, 0.16);
  border-right: 1px solid rgba(143, 122, 72, 0.24);
  border-bottom: 1px solid rgba(143, 122, 72, 0.24);
  transition:
    background 0.3s ease,
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.lvp-diff-card:hover {
  background: rgba(200, 186, 139, 0.13);
  transform: translateY(-4px);
  box-shadow: 0 20px 42px rgba(50, 42, 25, 0.08);
}

.lvp-diff-card span {
  display: inline-flex;
  margin-bottom: 38px;
  color: rgba(143, 122, 72, 0.48);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.lvp-diff-card h3 {
  margin: 0 0 12px;
  color: #1f1f1f !important;
  font-size: 18px;
  line-height: 1.28;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.lvp-diff-card p {
  margin: 0;
  color: #615b52 !important;
  font-size: 14px;
  line-height: 1.65;
}

/* =========================================================
   3. Lazer
========================================================= */

.lvp-lazer-section {
  position: relative;
  padding: 110px 24px;
  overflow: hidden;
  background:
    radial-gradient(circle at 80% 20%, rgba(200, 186, 139, 0.16), transparent 30%),
    linear-gradient(135deg, #111111 0%, #181818 50%, #2a241a 100%) !important;
  color: var(--lvp-text-main);
}

.lvp-lazer-section::after {
  content: "800 m²";
  position: absolute;
  right: -20px;
  top: 60px;
  font-size: clamp(80px, 15vw, 210px);
  font-weight: 800;
  letter-spacing: -0.08em;
  color: rgba(255, 255, 255, 0.035);
  pointer-events: none;
}

.lvp-lazer-container {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 70px;
  align-items: start;
}

.lvp-lazer-content h2 {
  color: var(--lvp-text-main) !important;
}

.lvp-lazer-content p {
  color: var(--lvp-text-muted) !important;
}

.lvp-lazer-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid rgba(200, 186, 139, 0.20);
  border-left: 1px solid rgba(200, 186, 139, 0.20);
}

.lvp-lazer-item {
  min-height: 92px;
  display: flex;
  align-items: center;
  padding: 22px;
  color: var(--lvp-text-main);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
  border-right: 1px solid rgba(200, 186, 139, 0.20);
  border-bottom: 1px solid rgba(200, 186, 139, 0.20);
  background: rgba(255, 255, 255, 0.025);
  transition: all 0.28s ease;
}

.lvp-lazer-item:hover {
  background: rgba(200, 186, 139, 0.08);
  color: var(--lvp-gold-light);
}

/* =========================================================
   4. Localização
========================================================= */

.lvp-location-section {
  position: relative;
  padding: 105px 24px;
  background:
    radial-gradient(circle at 80% 20%, rgba(200, 186, 139, 0.13), transparent 28%),
    linear-gradient(135deg, #f4f0e7 0%, #eee7d8 100%) !important;
  color: #1a1a1a;
}

.lvp-location-section .lvp-section-header h2 {
  color: #1c1c1c !important;
}

.lvp-location-section .lvp-section-header p {
  color: #57534c !important;
}

.lvp-location-grid {
  display: grid;
  grid-template-columns: 1.4fr repeat(2, 1fr);
  gap: 0;
  border-top: 1px solid rgba(143, 122, 72, 0.24);
  border-left: 1px solid rgba(143, 122, 72, 0.24);
}

.lvp-location-card {
  min-height: 150px;
  padding: 28px;
  background: rgba(255, 255, 255, 0.18);
  border-right: 1px solid rgba(143, 122, 72, 0.24);
  border-bottom: 1px solid rgba(143, 122, 72, 0.24);
  transition: all 0.28s ease;
}

.lvp-location-card:hover {
  background: rgba(200, 186, 139, 0.12);
}

.lvp-location-card.featured {
  grid-row: span 2;
  background: rgba(17, 17, 17, 0.92);
  color: var(--lvp-text-main);
}

.lvp-location-card h3 {
  margin: 0 0 14px;
  color: var(--lvp-gold) !important;
  font-size: 24px;
  line-height: 1.2;
}

.lvp-location-card p {
  margin: 0;
  color: var(--lvp-text-muted) !important;
  font-size: 15px;
  line-height: 1.7;
}

.lvp-location-card strong {
  display: block;
  margin-bottom: 8px;
  color: #8f7a48 !important;
  font-size: 28px;
  line-height: 1;
}

.lvp-location-card span {
  display: block;
  color: #4f4b45;
  font-size: 14px;
  line-height: 1.4;
}

/* =========================================================
   5. Plantas
========================================================= */

.lvp-plants-section {
  position: relative;
  padding: 110px 24px;
  overflow: hidden;
  background:
    radial-gradient(circle at 15% 20%, rgba(200, 186, 139, 0.14), transparent 32%),
    linear-gradient(135deg, #111111 0%, #181818 55%, #2a241a 100%) !important;
  color: var(--lvp-text-main);
}

.lvp-plants-container {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 70px;
  align-items: start;
}

.lvp-plants-content h2 {
  color: var(--lvp-text-main) !important;
}

.lvp-plants-content p {
  color: var(--lvp-text-muted) !important;
}

.lvp-plants-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  border-top: 1px solid rgba(200, 186, 139, 0.20);
  border-left: 1px solid rgba(200, 186, 139, 0.20);
}

.lvp-plant-card {
  padding: 30px;
  min-height: 190px;
  background: rgba(255, 255, 255, 0.028);
  border-right: 1px solid rgba(200, 186, 139, 0.20);
  border-bottom: 1px solid rgba(200, 186, 139, 0.20);
  transition: all 0.28s ease;
}

.lvp-plant-card:hover {
  background: rgba(200, 186, 139, 0.075);
  transform: translateY(-3px);
}

.lvp-plant-card span {
  display: inline-flex;
  margin-bottom: 26px;
  color: var(--lvp-gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.lvp-plant-card h3 {
  margin: 0 0 8px;
  color: var(--lvp-text-main) !important;
  font-size: 34px;
  line-height: 1;
  letter-spacing: -0.04em;
}

.lvp-plant-card p {
  margin: 0;
  color: var(--lvp-text-muted) !important;
  font-size: 14px;
  line-height: 1.5;
}

/* =========================================================
   6. Investimento
========================================================= */

.lvp-invest-section {
  position: relative;
  padding: 105px 24px;
  background:
    radial-gradient(circle at 82% 18%, rgba(200, 186, 139, 0.16), transparent 30%),
    linear-gradient(135deg, #f4f0e7 0%, #eee7d8 100%) !important;
  color: #1a1a1a;
}

.lvp-invest-container {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 70px;
  align-items: start;
}

.lvp-invest-content h2 {
  color: #1c1c1c !important;
}

.lvp-invest-content p {
  color: #57534c !important;
}

.lvp-invest-list {
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(143, 122, 72, 0.24);
  border-left: 1px solid rgba(143, 122, 72, 0.24);
}

.lvp-invest-item {
  display: grid;
  grid-template-columns: 70px 1fr;
  align-items: center;
  padding: 22px 26px;
  background: rgba(255, 255, 255, 0.18);
  border-right: 1px solid rgba(143, 122, 72, 0.24);
  border-bottom: 1px solid rgba(143, 122, 72, 0.24);
  transition: all 0.28s ease;
}

.lvp-invest-item:hover {
  background: rgba(200, 186, 139, 0.12);
}

.lvp-invest-item span {
  color: rgba(143, 122, 72, 0.58);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.lvp-invest-item p {
  margin: 0;
  color: #2b2b2b !important;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}

.lvp-invest-cta {
  grid-column: 1 / -1;
  margin-top: 10px;
  padding: 42px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 88% 20%, rgba(200, 186, 139, 0.20), transparent 34%),
    #111111;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 28px;
}

.lvp-invest-cta h3 {
  margin: 0;
  color: var(--lvp-text-main) !important;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.05;
  letter-spacing: -0.04em;
}

/* =========================================================
   Responsivo
========================================================= */

@media (max-width: 1024px) {
  .lvp-saint-container,
  .lvp-lazer-container,
  .lvp-plants-container,
  .lvp-invest-container {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .lvp-diffs-grid,
  .lvp-lazer-list {
    grid-template-columns: repeat(2, 1fr);
  }

  .lvp-location-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .lvp-location-card.featured {
    grid-row: auto;
    grid-column: 1 / -1;
  }
}

@media (max-width: 767px) {
  .lvp-saint-section,
  .lvp-diffs-section,
  .lvp-lazer-section,
  .lvp-location-section,
  .lvp-plants-section,
  .lvp-invest-section {
    padding: 76px 20px;
  }

  .lvp-section-header {
    margin-bottom: 38px;
  }

  .lvp-saint-highlights,
  .lvp-diffs-grid,
  .lvp-lazer-list,
  .lvp-location-grid,
  .lvp-plants-grid {
    grid-template-columns: 1fr;
  }

  .lvp-saint-actions,
  .lvp-invest-cta {
    flex-direction: column;
    align-items: stretch;
  }

  .lvp-saint-actions .lvp-button,
  .lvp-invest-cta .lvp-button {
    width: 100%;
  }

  .lvp-saint-visual::before {
    right: -8px;
    bottom: -14px;
    width: 72%;
    height: 36%;
  }

  .lvp-saint-badge {
    top: 14px;
    right: 14px;
    font-size: 10px;
    padding: 9px 12px;
  }

  .lvp-diff-card,
  .lvp-location-card,
  .lvp-plant-card {
    min-height: auto;
    padding: 28px 24px;
  }

  .lvp-diff-card span {
    margin-bottom: 24px;
  }

  .lvp-invest-item {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 22px;
  }

  .lvp-invest-cta {
    padding: 30px 24px;
  }
}

/* =========================================================
   LVP — Seções enxutas Saint John
   Lazer + galeria, localização + investimento, plantas compactas
========================================================= */

/* =========================================================
   1. Lazer e diferenciais com galeria
========================================================= */

.lvp-lifestyle-section {
  position: relative;
  padding: 110px 24px 70px;
  overflow: hidden;
  background:
    radial-gradient(circle at 80% 18%, rgba(200, 186, 139, 0.16), transparent 30%),
    radial-gradient(circle at 10% 85%, rgba(112, 110, 110, 0.16), transparent 35%),
    linear-gradient(135deg, #111111 0%, #181818 52%, #2a241a 100%) !important;
  color: var(--lvp-text-main);
}

.lvp-lifestyle-section::before {
  content: "LAZER";
  position: absolute;
  right: -20px;
  bottom: 80px;
  font-size: clamp(90px, 16vw, 220px);
  font-weight: 800;
  letter-spacing: -0.08em;
  color: rgba(255, 255, 255, 0.035);
  pointer-events: none;
}

.lvp-lifestyle-container {
  position: relative;
  z-index: 2;
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  gap: 70px;
  align-items: center;
}

.lvp-lifestyle-content h2 {
  margin: 0 0 22px;
  color: var(--lvp-text-main) !important;
  font-size: clamp(34px, 4.4vw, 58px);
  line-height: 1.08;
  letter-spacing: -0.045em;
  font-weight: 600;
}

.lvp-lifestyle-content p {
  max-width: 560px;
  margin: 0 0 16px;
  color: var(--lvp-text-muted) !important;
  font-size: 16px;
  line-height: 1.75;
}

.lvp-lifestyle-points {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  margin-top: 34px;
  border-top: 1px solid rgba(200, 186, 139, 0.18);
  border-left: 1px solid rgba(200, 186, 139, 0.18);
}

.lvp-lifestyle-points div {
  padding: 22px 20px;
  background: rgba(255, 255, 255, 0.025);
  border-right: 1px solid rgba(200, 186, 139, 0.18);
  border-bottom: 1px solid rgba(200, 186, 139, 0.18);
  transition: all 0.28s ease;
}

.lvp-lifestyle-points div:hover {
  background: rgba(200, 186, 139, 0.07);
}

.lvp-lifestyle-points strong {
  display: block;
  margin-bottom: 8px;
  color: var(--lvp-gold) !important;
  font-size: 14px;
  line-height: 1.35;
}

.lvp-lifestyle-points span {
  display: block;
  color: var(--lvp-text-muted);
  font-size: 13px;
  line-height: 1.5;
}

.lvp-lifestyle-gallery {
  display: grid;
  grid-template-columns: 1.25fr 0.85fr;
  grid-template-rows: repeat(3, 150px);
  gap: 16px;
}

.lvp-gallery-main,
.lvp-gallery-small {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid rgba(200, 186, 139, 0.20);
  background: #111111;
  box-shadow: 0 20px 55px rgba(0, 0, 0, 0.32);
}

.lvp-gallery-main {
  grid-row: span 3;
}

.lvp-gallery-main img,
.lvp-gallery-small img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.65s ease, opacity 0.35s ease;
}

.lvp-gallery-main:hover img,
.lvp-gallery-small:hover img {
  transform: scale(1.06);
  opacity: 0.88;
}

.lvp-gallery-main::after,
.lvp-gallery-small::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 35%, rgba(0, 0, 0, 0.72) 100%);
  pointer-events: none;
}

.lvp-gallery-main span,
.lvp-gallery-small span {
  position: absolute;
  left: 18px;
  bottom: 16px;
  z-index: 2;
  color: var(--lvp-text-main);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.lvp-amenities-strip {
  position: relative;
  z-index: 2;
  max-width: 1180px;
  margin: 58px auto 0;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  border-top: 1px solid rgba(200, 186, 139, 0.18);
  border-left: 1px solid rgba(200, 186, 139, 0.18);
}

.lvp-amenities-strip div {
  min-height: 72px;
  display: flex;
  align-items: center;
  padding: 16px;
  color: var(--lvp-text-muted);
  font-size: 13px;
  line-height: 1.35;
  border-right: 1px solid rgba(200, 186, 139, 0.18);
  border-bottom: 1px solid rgba(200, 186, 139, 0.18);
  background: rgba(255, 255, 255, 0.02);
}

/* =========================================================
   2. Localização + investimento com foto
========================================================= */

.lvp-location-photo-section {
  position: relative;
  padding: 105px 24px;
  overflow: hidden;
  background:
    radial-gradient(circle at 84% 20%, rgba(200, 186, 139, 0.14), transparent 30%),
    linear-gradient(135deg, #f4f0e7 0%, #eee7d8 100%) !important;
  color: #1a1a1a;
}

.lvp-location-photo-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(143, 122, 72, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(143, 122, 72, 0.06) 1px, transparent 1px);
  background-size: 90px 90px;
  opacity: 0.45;
  pointer-events: none;
}

.lvp-location-photo-container {
  position: relative;
  z-index: 2;
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 70px;
  align-items: center;
}

.lvp-location-photo-content h2 {
  margin: 0 0 22px;
  color: #1c1c1c !important;
  font-size: clamp(34px, 4.4vw, 58px);
  line-height: 1.08;
  letter-spacing: -0.045em;
  font-weight: 600;
}

.lvp-location-photo-content p {
  max-width: 600px;
  margin: 0 0 16px;
  color: #57534c !important;
  font-size: 16px;
  line-height: 1.75;
}

.lvp-location-metrics {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  margin-top: 34px;
  border-top: 1px solid rgba(143, 122, 72, 0.24);
  border-left: 1px solid rgba(143, 122, 72, 0.24);
}

.lvp-location-metrics div {
  padding: 22px 20px;
  background: rgba(255, 255, 255, 0.18);
  border-right: 1px solid rgba(143, 122, 72, 0.24);
  border-bottom: 1px solid rgba(143, 122, 72, 0.24);
  transition: all 0.28s ease;
}

.lvp-location-metrics div:hover {
  background: rgba(200, 186, 139, 0.13);
}

.lvp-location-metrics strong {
  display: block;
  margin-bottom: 8px;
  color: #8f7a48 !important;
  font-size: 24px;
  line-height: 1.1;
}

.lvp-location-metrics span {
  display: block;
  color: #4f4b45;
  font-size: 14px;
  line-height: 1.45;
}

.lvp-location-photo-visual {
  position: relative;
  min-height: 520px;
  border-radius: 30px;
  overflow: hidden;
  border: 1px solid rgba(143, 122, 72, 0.24);
  box-shadow: 0 24px 70px rgba(50, 42, 25, 0.16);
}

.lvp-location-photo-visual img {
  width: 100%;
  height: 100%;
  min-height: 520px;
  object-fit: cover;
  display: block;
}

.lvp-location-photo-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(17, 17, 17, 0.08) 0%, rgba(17, 17, 17, 0.78) 100%),
    linear-gradient(90deg, rgba(17, 17, 17, 0.32), transparent 60%);
  pointer-events: none;
}

.lvp-location-photo-card {
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 28px;
  z-index: 2;
  padding: 28px;
  border-radius: 22px;
  background: rgba(17, 17, 17, 0.74);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(200, 186, 139, 0.24);
}

.lvp-location-photo-card span {
  display: inline-flex;
  margin-bottom: 12px;
  color: var(--lvp-gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.lvp-location-photo-card h3 {
  margin: 0 0 12px;
  color: var(--lvp-text-main) !important;
  font-size: 28px;
  line-height: 1.1;
}

.lvp-location-photo-card p {
  margin: 0;
  color: var(--lvp-text-muted) !important;
  font-size: 14px;
  line-height: 1.6;
}

.lvp-invest-mini {
  position: relative;
  z-index: 2;
  max-width: 1180px;
  margin: 58px auto 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(143, 122, 72, 0.24);
  border-left: 1px solid rgba(143, 122, 72, 0.24);
}

.lvp-invest-mini div {
  padding: 24px;
  background: rgba(255, 255, 255, 0.16);
  border-right: 1px solid rgba(143, 122, 72, 0.24);
  border-bottom: 1px solid rgba(143, 122, 72, 0.24);
}

.lvp-invest-mini span {
  display: block;
  margin-bottom: 18px;
  color: rgba(143, 122, 72, 0.58);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.lvp-invest-mini p {
  margin: 0;
  color: #2b2b2b !important;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}

/* =========================================================
   3. Plantas compactas
========================================================= */

.lvp-compact-plants-section {
  position: relative;
  padding: 105px 24px;
  overflow: hidden;
  background:
    radial-gradient(circle at 15% 20%, rgba(200, 186, 139, 0.14), transparent 32%),
    linear-gradient(135deg, #111111 0%, #181818 55%, #2a241a 100%) !important;
  color: var(--lvp-text-main);
}

.lvp-compact-plants-section::after {
  content: "PLANTAS";
  position: absolute;
  right: -30px;
  top: 70px;
  font-size: clamp(80px, 14vw, 200px);
  font-weight: 800;
  letter-spacing: -0.08em;
  color: rgba(255, 255, 255, 0.035);
  pointer-events: none;
}

.lvp-compact-plants-container {
  position: relative;
  z-index: 2;
  max-width: 1180px;
  margin: 0 auto;
}

.lvp-compact-plants-header {
  max-width: 760px;
  margin-bottom: 54px;
}

.lvp-compact-plants-header h2 {
  margin: 0 0 20px;
  color: var(--lvp-text-main) !important;
  font-size: clamp(34px, 4.4vw, 58px);
  line-height: 1.08;
  letter-spacing: -0.045em;
  font-weight: 600;
}

.lvp-compact-plants-header p {
  max-width: 650px;
  margin: 0;
  color: var(--lvp-text-muted) !important;
  font-size: 16px;
  line-height: 1.75;
}

.lvp-compact-plants-layout {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 40px;
  align-items: stretch;
}

.lvp-plants-image-box {
  position: relative;
  min-height: 520px;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid rgba(200, 186, 139, 0.20);
  background: rgba(255, 255, 255, 0.03);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.36);
}

.lvp-plants-image-box img {
  width: 100%;
  height: 100%;
  min-height: 520px;
  object-fit: cover;
  display: block;
}

.lvp-plants-image-box::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 45%, rgba(0, 0, 0, 0.68) 100%);
  pointer-events: none;
}

.lvp-plants-image-label {
  position: absolute;
  left: 26px;
  right: 26px;
  bottom: 26px;
  z-index: 2;
  padding: 22px;
  border-radius: 20px;
  background: rgba(17, 17, 17, 0.72);
  border: 1px solid rgba(200, 186, 139, 0.24);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.lvp-plants-image-label span {
  display: block;
  margin-bottom: 8px;
  color: var(--lvp-gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.lvp-plants-image-label strong {
  color: var(--lvp-text-main) !important;
  font-size: 28px;
  line-height: 1.1;
}

.lvp-plants-types {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  border-top: 1px solid rgba(200, 186, 139, 0.20);
  border-left: 1px solid rgba(200, 186, 139, 0.20);
}

.lvp-plant-type-card {
  padding: 28px;
  background: rgba(255, 255, 255, 0.028);
  border-right: 1px solid rgba(200, 186, 139, 0.20);
  border-bottom: 1px solid rgba(200, 186, 139, 0.20);
  transition: all 0.28s ease;
}

.lvp-plant-type-card:hover {
  background: rgba(200, 186, 139, 0.075);
  transform: translateY(-3px);
}

.lvp-plant-type-card span {
  display: inline-flex;
  margin-bottom: 24px;
  color: var(--lvp-gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.lvp-plant-type-card h3 {
  margin: 0 0 8px;
  color: var(--lvp-text-main) !important;
  font-size: 32px;
  line-height: 1;
  letter-spacing: -0.04em;
}

.lvp-plant-type-card p {
  margin: 0;
  color: var(--lvp-text-muted) !important;
  font-size: 14px;
  line-height: 1.5;
}

.lvp-plants-cta {
  margin-top: 38px;
  padding: 32px 36px;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(200, 186, 139, 0.20);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.lvp-plants-cta p {
  margin: 0;
  color: var(--lvp-text-main) !important;
  font-size: 20px;
  line-height: 1.35;
}

/* =========================================================
   Responsivo
========================================================= */

@media (max-width: 1024px) {
  .lvp-lifestyle-container,
  .lvp-location-photo-container,
  .lvp-compact-plants-layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .lvp-amenities-strip {
    grid-template-columns: repeat(3, 1fr);
  }

  .lvp-invest-mini {
    grid-template-columns: repeat(2, 1fr);
  }

  .lvp-location-photo-visual,
  .lvp-location-photo-visual img,
  .lvp-plants-image-box,
  .lvp-plants-image-box img {
    min-height: 440px;
  }
}

@media (max-width: 767px) {
  .lvp-lifestyle-section,
  .lvp-location-photo-section,
  .lvp-compact-plants-section {
    padding: 76px 20px;
  }

  .lvp-lifestyle-points,
  .lvp-location-metrics,
  .lvp-plants-types,
  .lvp-invest-mini {
    grid-template-columns: 1fr;
  }

  .lvp-lifestyle-gallery {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

  .lvp-gallery-main,
  .lvp-gallery-small {
    grid-row: auto;
    height: 260px;
  }

  .lvp-amenities-strip {
    grid-template-columns: repeat(2, 1fr);
  }

  .lvp-location-photo-visual,
  .lvp-location-photo-visual img,
  .lvp-plants-image-box,
  .lvp-plants-image-box img {
    min-height: 360px;
  }

  .lvp-location-photo-card {
    left: 18px;
    right: 18px;
    bottom: 18px;
    padding: 22px;
  }

  .lvp-plants-cta {
    flex-direction: column;
    align-items: stretch;
    padding: 28px 24px;
  }

  .lvp-plants-cta .lvp-button {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .lvp-amenities-strip {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   Ajuste premium para imagem de Camboriú
========================================================= */

.lvp-location-photo-visual {
  position: relative;
  min-height: 540px;
  border-radius: 32px;
  overflow: hidden;
  border: 1px solid rgba(143, 122, 72, 0.28);
  box-shadow:
    0 28px 80px rgba(50, 42, 25, 0.18),
    0 0 0 1px rgba(255, 255, 255, 0.04);
  background: #111111;
}

.lvp-location-photo-visual img {
  width: 100%;
  height: 100%;
  min-height: 540px;
  object-fit: cover;
  object-position: center center;
  display: block;
  filter:
    brightness(0.78)
    contrast(1.08)
    saturate(0.78)
    sepia(0.08);
  transform: scale(1.02);
}

/* Overlay escuro + champagne */
.lvp-location-photo-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      rgba(17, 17, 17, 0.10) 0%,
      rgba(17, 17, 17, 0.36) 48%,
      rgba(17, 17, 17, 0.82) 100%
    ),
    linear-gradient(
      90deg,
      rgba(17, 17, 17, 0.42) 0%,
      rgba(17, 17, 17, 0.08) 55%,
      rgba(200, 186, 139, 0.12) 100%
    );
  pointer-events: none;
}

/* Detalhe dourado decorativo */
.lvp-location-photo-visual::before {
  content: "";
  position: absolute;
  right: 28px;
  top: 28px;
  width: 86px;
  height: 86px;
  border-top: 1px solid rgba(200, 186, 139, 0.62);
  border-right: 1px solid rgba(200, 186, 139, 0.62);
  z-index: 2;
  opacity: 0.85;
}

/* Card sobreposto */
.lvp-location-photo-card {
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 28px;
  z-index: 3;
  padding: 28px;
  border-radius: 24px;
  background: rgba(17, 17, 17, 0.74);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(200, 186, 139, 0.26);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.28);
}

.lvp-location-photo-card span {
  display: inline-flex;
  margin-bottom: 12px;
  color: var(--lvp-gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.lvp-location-photo-card h3 {
  margin: 0 0 12px;
  color: var(--lvp-text-main) !important;
  font-size: 28px;
  line-height: 1.1;
  letter-spacing: -0.03em;
}

.lvp-location-photo-card p {
  margin: 0;
  color: var(--lvp-text-muted) !important;
  font-size: 14px;
  line-height: 1.6;
}

/* Mobile */
@media (max-width: 767px) {
  .lvp-location-photo-visual,
  .lvp-location-photo-visual img {
    min-height: 380px;
  }

  .lvp-location-photo-visual::before {
    right: 18px;
    top: 18px;
    width: 62px;
    height: 62px;
  }

  .lvp-location-photo-card {
    left: 18px;
    right: 18px;
    bottom: 18px;
    padding: 22px;
  }

  .lvp-location-photo-card h3 {
    font-size: 23px;
  }
}


/* =========================================================
   Ajuste — Lazer mais premium e menos extenso
========================================================= */

.lvp-amenities-strip {
  display: none !important;
}

.lvp-amenities-summary {
  position: relative;
  z-index: 2;
  max-width: 1180px;
  margin: 58px auto 0;
  padding: 30px 34px;
  border-radius: 28px;
  border: 1px solid rgba(200, 186, 139, 0.20);
  background:
    radial-gradient(circle at 88% 20%, rgba(200, 186, 139, 0.12), transparent 34%),
    rgba(255, 255, 255, 0.035);
  display: grid;
  grid-template-columns: 0.35fr 1fr;
  gap: 34px;
  align-items: center;
}

.lvp-amenities-summary span {
  color: var(--lvp-gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  line-height: 1.5;
}

.lvp-amenities-summary p {
  margin: 0;
  color: var(--lvp-text-muted) !important;
  font-size: 15px;
  line-height: 1.75;
}

@media (max-width: 767px) {
  .lvp-amenities-summary {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 26px 22px;
    margin-top: 38px;
  }
}

/* =========================================================
   Ajuste — Localização e investimento
========================================================= */

.lvp-location-photo-content h2 {
  max-width: 620px;
}

.lvp-location-label {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 22px;
  margin-bottom: 18px;
  color: #8f7a48;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.lvp-location-label::before {
  content: "";
  width: 42px;
  height: 1px;
  background: #8f7a48;
  opacity: 0.75;
}

/* Cards de distância mais elegantes */
.lvp-location-metrics {
  margin-top: 0 !important;
}

.lvp-location-metrics div {
  min-height: 116px;
}

.lvp-location-metrics strong {
  font-size: 26px !important;
  letter-spacing: -0.03em;
}

.lvp-location-metrics span {
  font-size: 13px !important;
  letter-spacing: 0.02em;
}

/* Foto com tratamento mais premium */
.lvp-location-photo-visual {
  min-height: 540px;
  border-radius: 32px;
  border: 1px solid rgba(143, 122, 72, 0.28);
  box-shadow:
    0 28px 80px rgba(50, 42, 25, 0.18),
    0 0 0 1px rgba(255, 255, 255, 0.04);
}

.lvp-location-photo-visual img {
  min-height: 540px;
  object-position: center center;
  filter:
    brightness(0.78)
    contrast(1.08)
    saturate(0.78)
    sepia(0.08);
  transform: scale(1.02);
}

/* Overlay escuro/champagne */
.lvp-location-photo-visual::after {
  background:
    linear-gradient(
      180deg,
      rgba(17, 17, 17, 0.08) 0%,
      rgba(17, 17, 17, 0.34) 48%,
      rgba(17, 17, 17, 0.84) 100%
    ),
    linear-gradient(
      90deg,
      rgba(17, 17, 17, 0.42) 0%,
      rgba(17, 17, 17, 0.08) 55%,
      rgba(200, 186, 139, 0.12) 100%
    ) !important;
}

/* Detalhe dourado no canto */
.lvp-location-photo-visual::before {
  content: "";
  position: absolute;
  right: 28px;
  top: 28px;
  width: 86px;
  height: 86px;
  border-top: 1px solid rgba(200, 186, 139, 0.62);
  border-right: 1px solid rgba(200, 186, 139, 0.62);
  z-index: 2;
  opacity: 0.85;
}

/* Card sobre a imagem */
.lvp-location-photo-card {
  border-radius: 24px !important;
  background: rgba(17, 17, 17, 0.76) !important;
  border: 1px solid rgba(200, 186, 139, 0.28) !important;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.28);
}

.lvp-location-photo-card h3 {
  letter-spacing: -0.03em;
}

/* Cards inferiores de investimento mais refinados */
.lvp-invest-mini div {
  transition: all 0.28s ease;
}

.lvp-invest-mini div:hover {
  background: rgba(200, 186, 139, 0.13);
  transform: translateY(-3px);
}

.lvp-invest-mini p {
  font-size: 14px !important;
}

/* Mobile */
@media (max-width: 767px) {
  .lvp-location-photo-visual,
  .lvp-location-photo-visual img {
    min-height: 380px;
  }

  .lvp-location-photo-visual::before {
    right: 18px;
    top: 18px;
    width: 62px;
    height: 62px;
  }

  .lvp-location-label {
    margin-top: 16px;
  }
}



/* =========================================================
   Ajuste — Plantas compactas mais comerciais
========================================================= */

.lvp-compact-plants-header {
  max-width: 820px;
}

.lvp-compact-plants-header p + p {
  margin-top: 12px;
}

.lvp-plants-image-box {
  background: rgba(255, 255, 255, 0.035);
}

.lvp-plants-image-box img {
  object-fit: contain !important;
  object-position: center center !important;
  padding: 28px;
  background:
    radial-gradient(circle at 80% 20%, rgba(200, 186, 139, 0.08), transparent 30%),
    rgba(255, 255, 255, 0.035);
}

/* reduz o overlay quando a imagem for planta/diagrama */
.lvp-plants-image-box::after {
  background:
    linear-gradient(180deg, transparent 62%, rgba(0, 0, 0, 0.72) 100%) !important;
}

.lvp-plants-image-label {
  max-width: 360px;
}

.lvp-plants-image-label strong {
  display: block;
  font-size: 26px !important;
}

/* Cards especiais de resumo */
.lvp-plant-type-card.featured {
  background:
    radial-gradient(circle at 88% 18%, rgba(200, 186, 139, 0.12), transparent 34%),
    rgba(200, 186, 139, 0.06) !important;
}

.lvp-plant-type-card.featured h3 {
  color: var(--lvp-gold-light) !important;
}

.lvp-plant-type-card.featured p {
  color: var(--lvp-text-main) !important;
}

/* CTA com conteúdo melhor dividido */
.lvp-plants-cta {
  align-items: center;
}

.lvp-plants-cta div {
  display: grid;
  gap: 6px;
}

.lvp-plants-cta span {
  color: var(--lvp-gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.lvp-plants-cta p {
  margin: 0 !important;
}

/* Botão específico da seção plantas */
.lvp-plants-cta .lvp-button {
  white-space: nowrap;
}

/* Mobile */
@media (max-width: 767px) {
  .lvp-plants-image-box img {
    padding: 18px;
  }

  .lvp-plants-image-label {
    left: 18px;
    right: 18px;
    bottom: 18px;
  }

  .lvp-plants-cta .lvp-button {
    white-space: normal;
  }
}

/* =========================================================
   LVP — Saint Antony / Obra Entregue refinada
========================================================= */

.lvp-antony-section {
  position: relative;
  padding: 96px 24px;
  overflow: hidden;
  background:
    radial-gradient(circle at 16% 18%, rgba(200, 186, 139, 0.12), transparent 30%),
    linear-gradient(135deg, #f4f0e7 0%, #eee7d8 100%) !important;
  color: #1a1a1a;
}

.lvp-antony-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(143, 122, 72, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(143, 122, 72, 0.055) 1px, transparent 1px);
  background-size: 90px 90px;
  opacity: 0.42;
  pointer-events: none;
}

.lvp-antony-section::after {
  content: "ENTREGUE";
  position: absolute;
  right: -20px;
  bottom: 20px;
  font-size: clamp(70px, 13vw, 180px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.07em;
  color: rgba(143, 122, 72, 0.065);
  pointer-events: none;
}

.lvp-antony-container {
  position: relative;
  z-index: 2;
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 70px;
  align-items: center;
}

.lvp-antony-visual {
  position: relative;
}

.lvp-antony-visual::before {
  content: "";
  position: absolute;
  left: -16px;
  bottom: -16px;
  width: 56%;
  height: 42%;
  background: linear-gradient(135deg, rgba(200, 186, 139, 0.70), rgba(159, 135, 82, 0.86));
  border-radius: 0 34px 0 34px;
  z-index: 1;
}

.lvp-antony-image {
  position: relative;
  z-index: 2;
  border-radius: 30px;
  overflow: hidden;
  border: 1px solid rgba(143, 122, 72, 0.28);
  box-shadow: 0 24px 70px rgba(50, 42, 25, 0.16);
  background: #111111;
}

.lvp-antony-image img {
  width: 100%;
  min-height: 500px;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  filter:
    brightness(0.88)
    contrast(1.05)
    saturate(0.86)
    sepia(0.06);
  transition: transform 0.7s ease;
}

.lvp-antony-image:hover img {
  transform: scale(1.035);
}

.lvp-antony-status {
  position: absolute;
  z-index: 3;
  left: 26px;
  bottom: 26px;
  max-width: 330px;
  padding: 22px 24px;
  border-radius: 22px;
  background: rgba(17, 17, 17, 0.76);
  border: 1px solid rgba(200, 186, 139, 0.28);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.28);
}

.lvp-antony-status span {
  display: block;
  margin-bottom: 8px;
  color: var(--lvp-gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.lvp-antony-status strong {
  display: block;
  color: var(--lvp-text-main) !important;
  font-size: 26px;
  line-height: 1.1;
  letter-spacing: -0.03em;
}

.lvp-antony-content h2 {
  max-width: 620px;
  margin: 0 0 20px;
  color: #1c1c1c !important;
  font-size: clamp(34px, 4.4vw, 56px);
  line-height: 1.08;
  letter-spacing: -0.045em;
  font-weight: 600;
}

.lvp-antony-lead {
  max-width: 620px;
  margin: 0 0 20px;
  color: #1f1f1f !important;
  font-size: clamp(18px, 2vw, 23px);
  line-height: 1.48;
  font-weight: 400;
}

.lvp-antony-content > p:not(.lvp-antony-lead) {
  max-width: 580px;
  margin: 0 0 18px;
  color: #57534c !important;
  font-size: 16px;
  line-height: 1.75;
}

.lvp-antony-points {
  display: grid;
  gap: 0;
  margin-top: 32px;
  border-top: 1px solid rgba(143, 122, 72, 0.24);
  border-left: 1px solid rgba(143, 122, 72, 0.24);
}

.lvp-antony-points div {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 0 18px;
  padding: 22px 24px;
  background: rgba(255, 255, 255, 0.18);
  border-right: 1px solid rgba(143, 122, 72, 0.24);
  border-bottom: 1px solid rgba(143, 122, 72, 0.24);
  transition: all 0.28s ease;
}

.lvp-antony-points div:hover {
  background: rgba(200, 186, 139, 0.13);
  transform: translateX(4px);
}

.lvp-antony-points div > span {
  grid-row: span 2;
  color: rgba(143, 122, 72, 0.62);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.lvp-antony-points strong {
  display: block;
  margin-bottom: 6px;
  color: #1d1d1d !important;
  font-size: 15px;
  line-height: 1.35;
}

.lvp-antony-points p {
  margin: 0 !important;
  color: #625c53 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.lvp-antony-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 34px;
}

/* Botão outline em seção clara */
.lvp-antony-section .lvp-button-outline {
  background: transparent !important;
  color: #1a1a1a !important;
  border: 1px solid rgba(143, 122, 72, 0.72) !important;
  box-shadow: none !important;
}

.lvp-antony-section .lvp-button-outline:hover {
  background: var(--lvp-gold) !important;
  border-color: var(--lvp-gold) !important;
  color: #111111 !important;
}

/* Responsivo */
@media (max-width: 1024px) {
  .lvp-antony-container {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .lvp-antony-visual {
    order: 2;
  }

  .lvp-antony-content {
    order: 1;
  }

  .lvp-antony-image img {
    min-height: 440px;
  }
}

@media (max-width: 767px) {
  .lvp-antony-section {
    padding: 76px 20px;
  }

  .lvp-antony-image img {
    min-height: 360px;
  }

  .lvp-antony-status {
    left: 18px;
    right: 18px;
    bottom: 18px;
    max-width: none;
    padding: 20px;
  }

  .lvp-antony-status strong {
    font-size: 22px;
  }

  .lvp-antony-points div {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 22px;
  }

  .lvp-antony-points div:hover {
    transform: none;
  }

  .lvp-antony-actions {
    flex-direction: column;
  }

  .lvp-antony-actions .lvp-button {
    width: 100%;
  }
}