/* LN Colors reskin for the locally hosted Framer export.
   Keeps layout intact; only overrides tokens, focus visibility, and hides template UI chrome. */

/* ── ANTI-FOUC: hide body until JS overrides are applied ── */
body:not(.ln-ready) {
  opacity: 0 !important;
  pointer-events: none !important;
}

body.ln-ready {
  opacity: 1 !important;
  pointer-events: auto !important;
  transition: opacity 0.3s ease-in;
}

body {
  /* Neutrals */
  --token-528a4e50-1a33-4ebe-a3b3-4f0f1508d312: #ffffff;
  --token-b94fc636-02ac-4053-8f72-b23ff50405a3: #f5f5f5;
  --token-e1eaf7ec-6a2b-469c-8ec1-579f75fde613: #000000;
  /* Aggressively hide Framer badges and template junk */
}

/* Aggressively hide Framer badges and template junk */
#__framer-badge,
.framer-badge,
[id^="__framer-badge"],
#__framer-editorbar {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

body {
  /* Text */
  --token-fa16a3ef-909b-4fe8-b9b6-d5a056139983: #1a1a1a;
  --token-6f122d63-3253-4a9f-b2f1-b05a3529b7c1: #666666;

  /* Borders */
  --token-d9d8d5ef-768f-4d6d-a4c1-1b6a1792413c: #e0e0e0;
  --token-a95f8cec-2e06-413e-9279-c3bcaa9dcc50: #e0e0e0;

  /* Brand accent */
  --token-e224f570-5df7-4f2d-ba25-3aa3aa651d4d: #d4af37;

  /* Template section highlight → LN neutral bg */
  --token-55dcf174-1114-4edb-af4e-f4c869df273e: #f5f5f5;
}

/* Focus states (AA-friendly). */
:where(a, button, input, textarea, select, [tabindex]):focus-visible {
  outline: 2px solid var(--token-e224f570-5df7-4f2d-ba25-3aa3aa651d4d);
  outline-offset: 2px;
}

/* Hide template promo UI. */
.framer-rcd755-container,
.framer-1fin31n-container {
  display: none !important;
}

/* Hide Framer badge. */
#__framer-badge-container,
.__framer-badge {
  display: none !important;
}

/* ═══════════════════════════════════════════════════════════
   SEÇÕES REMOVIDAS: Feature Service Wrap (tabs) e Portfólio
   ═══════════════════════════════════════════════════════════ */

/* Esconder completamente a seção Portfólio (#property) */
#property {
  display: none !important;
}

/* Feature Service: Repurposed (visible) */

/* Anti-flash: esconder o feature-service inteiro até o JS rodar,
   prevenindo flash de texto em inglês ou imagens do template. */
body:not(.ln-ready) #feature-service {
  display: none !important;
}

/* Revelação suave do feature-service */
body.ln-ready #feature-service {
  animation: ln-fade-in 0.5s ease-out forwards;
}

/* During 01/02/03 switches, hide only the volatile blocks (text/image),
   preserving layout and avoiding template flash. */
#feature-service [data-framer-name="Feature Service Image"],
#feature-service [data-framer-name="Feature Service Text Wrap"],
#feature-service [data-framer-name="Feature Service Vertical Wrap"] {
  transition: opacity 120ms ease-out;
}

#feature-service[data-ln-fs-switching="1"] [data-framer-name="Feature Service Image"],
#feature-service[data-ln-fs-switching="1"] [data-framer-name="Feature Service Text Wrap"],
#feature-service[data-ln-fs-switching="1"] [data-framer-name="Feature Service Vertical Wrap"] {
  opacity: 0 !important;
  pointer-events: none !important;
}

@keyframes ln-fade-in {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Fallback: esconder via JS class (adicionada pelo JS) */
.ln-hidden-section {
  display: none !important;
}

/* ═══════════════════════════════════════════════════════════
   Seção de serviços (6 cards): ÍCONES E IMAGENS VISÍVEIS
   ═══════════════════════════════════════════════════════════ */

/* ── LN Colors brand text ── */
.ln-brand-text {
  display: inline-flex;
  align-items: center;
  gap: 0.28em;
  font-family: "Oswald", "Arial Narrow", "Helvetica Neue", sans-serif;
  font-size: clamp(20px, 1.7vw, 28px);
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #000000;
  white-space: nowrap;
  line-height: 1.02;
  user-select: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

.ln-brand-text .ln-monogram {
  font-family: "Bebas Neue", "Oswald", "Arial Narrow", sans-serif;
  font-size: 1.14em;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #000000;
}

.ln-brand-text .ln-separator {
  color: #000000;
  font-size: 0.78em;
  opacity: 0.9;
  transform: translateY(-0.08em);
}

.ln-brand-text .ln-accent {
  color: #000000;
  font-family: "Brush Script MT", "Segoe Script", "Snell Roundhand", "Marker Felt", cursive;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.01em;
  text-transform: none;
  position: relative;
  transform: translateY(-0.02em);
}

.ln-brand-text .ln-accent::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.1em;
  height: 0.08em;
  border-radius: 999px;
  background: #000000;
  opacity: 0.75;
  transform: skewX(-18deg);
}

/* Keep brand readable in compact navbar sizes */
nav [data-framer-name="Brand Logo"] .ln-brand-text {
  font-size: clamp(20px, 1.7vw, 28px);
}

/* Top menu wordmark */
nav [data-framer-name="Brand Logo"] {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-width: clamp(168px, 15vw, 220px);
  height: 100%;
}

/* ── Agent/team images ── */
#agents [data-framer-name="Agent Image"] img {
  object-fit: cover !important;
  object-position: center center !important;
}

#agents [data-framer-name="Agent Image"] .ln-agent-badge {
  position: absolute;
  left: 50%;
  bottom: 12px;
  transform: translateX(-50%);
  display: inline-block;
  padding: 6px 12px;
  border-radius: 14px;
  background: #ffffff;
  color: #111111;
  font-family: "Oswald", "Arial Narrow", "Helvetica Neue", sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.1;
  text-align: center;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.14);
  white-space: nowrap;
  z-index: 3;
  pointer-events: none;
}

/* ── Testimonials avatar ── */
#testimonials [data-framer-name="Reviewer Image"] img {
  object-fit: cover !important;
  border-radius: 50% !important;
}

/* ── Hero avatar strip ── */
#hero [data-framer-name="Agent Avatar Wrap"] img {
  object-fit: cover !important;
  border-radius: 50% !important;
}

/* ── About image ── */
#about [data-framer-name="About Image"] img {
  object-fit: cover !important;
  object-position: center center !important;
}

/* Copy rhythm tuning after PT-BR copy replacement */
#hero [data-framer-name="Text Wrap / Medium"] p,
#feature-service [data-framer-name="Text Wrap / Medium"] p,
#about [data-framer-name="Text Wrap"] p,
#contact [data-framer-name="Text Wrap / Medium"] p,
#testimonials [data-framer-name="Review"] p {
  line-height: 1.45 !important;
}

#hero h1,
#feature-service h2,
#about h2,
#testimonials h2,
#faq h2,
#contact h2 {
  text-wrap: balance;
}

/* Feature service (mobile): tighten the vertical rhythm between 01/02/03 cards */
@media (max-width: 900px) {
  nav [data-framer-name="Brand Logo"] {
    min-width: 150px;
  }

  nav [data-framer-name="Brand Logo"] .ln-brand-text {
    font-size: 21px;
  }

  #feature-service [data-framer-name="Variant / Phone"] {
    gap: 24px !important;
  }

  #feature-service [data-framer-name="Feature Service List / First"],
  #feature-service [data-framer-name="Feature Service List / Second"],
  #feature-service [data-framer-name="Feature Service List / Third"] {
    margin-bottom: 0 !important;
  }
}
