/* FIBRA BRASIL — V5 editorial: human warmth without fake social proof.
   Scoped to the existing public landing. No admin or checkout API overrides.
   Requires V4's public layout CSS. Existing Site Builder colors still win. */
.lp3-root {
  --fb5-line: color-mix(in srgb,var(--lp3-primary,#215cc5) 10%,#dbe5ef);
  --fb5-warm: color-mix(in srgb,var(--lp3-accent,#d6c462) 5%,#fff);
  --fb5-glow: 0 20px 50px rgba(18,35,66,.09);
}
/* An inviting first impression; never modify the managed banner artwork. */
#hero-carousel-root .hero-slide-title {text-wrap:balance;}
#hero-carousel-root :is(a,button):focus-visible {outline:3px solid var(--lp3-primary);outline-offset:3px;}

/* Residential: single meaningful editorial photo beside the section intro.
   All benefit chips and all commercial cards remain untouched. */
#planos .fb5-res-intro {
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(290px,.82fr);
  align-items:center;
  gap:clamp(24px,4.8vw,65px);
  margin-bottom:26px;
}
#planos .fb5-res-intro .lp3-section-header {margin:0;max-width:680px;}
#planos .fb5-res-intro h2 {text-wrap:balance;}
.fb5-photo {position:relative;overflow:hidden;margin:0;isolation:isolate;border:1px solid var(--fb5-line);background:#e8edf2;box-shadow:var(--fb5-glow);}
.fb5-photo::after {content:"";pointer-events:none;position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);}
.fb5-photo img {display:block;width:100%;height:100%;object-fit:cover;}
.fb5-photo[hidden] {display:none;}
#planos .fb5-res-intro:has(.fb5-photo-error) {grid-template-columns:minmax(0,1fr);}
#empresas .lp3-business-head:has(.fb5-photo-error) {grid-template-columns:minmax(0,1fr);}
.fb5-photo-residential {height:clamp(210px,22vw,268px);border-radius:25px;transform:translateZ(0);}
.fb5-photo-residential img {object-position:66% center;}
#planos .lp3-feature-strip {margin-bottom:28px;}
#planos .lp3-feature-strip span {background:rgba(255,255,255,.93);}

/* Business: real-life context becomes the section anchor, with configured
   editable features presented as a compact second row. */
#empresas {position:relative;background:linear-gradient(180deg,#fff 0%,color-mix(in srgb,var(--lp3-primary,#2362c9) 4%,#f6f8fb) 100%);}
#empresas .lp3-business-head {
  position:relative;
  grid-template-columns:minmax(0,1fr) minmax(300px,.94fr);
  gap:clamp(20px,3vw,43px);
  align-items:center;
  overflow:hidden;
  background:linear-gradient(125deg,#fff 0%,var(--fb5-warm) 100%);
  border-color:var(--fb5-line);
  box-shadow:0 14px 48px rgba(25,49,86,.045);
}
#empresas .lp3-business-head > :first-child {min-width:0;order:1;}
.fb5-photo-business {height:clamp(240px,25vw,325px);border-radius:19px;order:2;}
.fb5-photo-business img {object-position:58% center;}
#empresas .lp3-business-head > .lp3-business-features {
  order:3;
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(185px,1fr));
  gap:10px;
}
#empresas .lp3-business-features span {min-height:49px;border-radius:12px;background:rgba(255,255,255,.9);}
#empresas .lp3-plan-grid-business {position:relative;}

/* Human-friendly feel: still light, functional, accessible, and not cluttered. */
#beneficios {background:linear-gradient(135deg,var(--lp3-background,#f6f8fb),#fff 60%,var(--fb5-warm));}
#beneficios .lp3-info-card {border-color:var(--fb5-line);box-shadow:0 10px 28px rgba(21,44,88,.05);}
#beneficios .lp3-info-card::after {content:"";position:absolute;width:50px;height:3px;bottom:0;left:26px;border-radius:8px 8px 0 0;background:var(--lp3-primary);opacity:.35;}
#etapas .lp3-step-card {border-color:var(--fb5-line);box-shadow:0 9px 30px rgba(18,36,64,.045);}
#etapas .lp3-step-number {border-radius:50%;}
#etapas .lp3-step-grid {position:relative;}
#etapas .lp3-step-card {transition:transform .2s ease,box-shadow .2s ease;}
#etapas .lp3-step-card:hover {transform:translateY(-3px);box-shadow:0 14px 30px rgba(18,36,64,.095);}
#detalhes .lp3-accordion[open],#faq .lp3-accordion[open] {box-shadow:0 14px 28px rgba(18,38,72,.07);}
#detalhes .lp3-accordion summary,#faq .lp3-accordion summary {line-height:1.5;}
#checkout {background:linear-gradient(120deg,color-mix(in srgb,var(--lp3-primary,#2362c9) 6%,#fff),#fff 58%);}
#checkout .lp3-checkout-panel {border-color:var(--fb5-line);box-shadow:0 25px 75px rgba(19,43,75,.085);}
#checkout .lp3-checkout-panel > div:first-child {position:relative;padding-top:18px;}
#checkout .lp3-checkout-panel > div:first-child::before {content:"";display:block;width:43px;height:4px;margin-bottom:22px;border-radius:5px;background:var(--lp3-primary);}
#checkout .lp3-form-field input:focus-visible {border-color:var(--lp3-primary);}
.lp3-final-cta {background:
  radial-gradient(ellipse at 85% 120%,color-mix(in srgb,var(--lp3-primary,#416ed0) 34%,transparent),transparent 52%),
  linear-gradient(115deg,#17233c,#263d63);}

@media (max-width:920px) {
  #planos .fb5-res-intro {grid-template-columns:minmax(0,1fr) minmax(235px,.7fr);gap:22px;}
  #empresas .lp3-business-head {grid-template-columns:minmax(0,1fr);gap:22px;}
  #empresas .lp3-business-head > .lp3-business-features {grid-column:auto;grid-template-columns:repeat(2,minmax(0,1fr));}
  .fb5-photo-business {height:260px;}
}
@media (max-width:680px) {
  #planos .fb5-res-intro {grid-template-columns:minmax(0,1fr);gap:19px;margin-bottom:20px;}
  #planos .fb5-res-intro .lp3-section-header {margin:0;}
  .fb5-photo-residential {height:190px;border-radius:18px;}
  #empresas .lp3-business-head {gap:21px;}
  #empresas .lp3-business-head > .lp3-business-features {grid-template-columns:minmax(0,1fr);}
  .fb5-photo-business {height:220px;border-radius:15px;}
  #etapas .lp3-step-card:hover {transform:none;}
}
@media (prefers-reduced-motion: reduce) {
  #beneficios .lp3-info-card,#etapas .lp3-step-card {transition:none;}
}
