/* ============================================================
   FIBRA BRASIL — PIXEL-REFERENCE V7
   Visual shell of approved screenshot, not a second commerce system.
   All labels, plans, prices, URLs, links and theme tokens remain dynamic.
   Loads AFTER V3/V4/V5/V6. Scoped only to public landing.
   ============================================================ */
.lp3-root {
  --fb7-navy: var(--lp3-secondary,#10233e);
  --fb7-green: var(--lp3-primary,#219e16);
  --fb7-yellow: var(--lp3-accent,#ffbe18);
  --fb7-softline: #e5ecf3;
  --fb7-shadow: 0 12px 34px rgba(16,40,74,.08);
  --fb7-section-pad:clamp(76px,6.4vw,100px);
  font-size:15px;
  color:var(--fb7-navy);
}
.lp3-root .lp3-container {width:min(calc(100% - 64px),1220px);}
.lp3-root .lp3-header-inner {min-height:72px;}
.lp3-root .lp3-header {background:white;box-shadow:0 3px 15px rgba(18,39,68,.025);}
.lp3-root .lp3-brand strong {font-weight:850;}
.lp3-root .lp3-nav {gap:10px;}
.lp3-root .lp3-nav a {color:#344663;font-weight:650;}
.lp3-root .lp3-button {border-radius:10px;}
/* The official managed carousel is the true Hero. Hide legacy duplicate
   promotional box ONLY when the managed carousel is visible. */
.lp3-shell:has(#hero-carousel-root:not([hidden])) .lp3-hero-content {display:none;}
#hero-carousel-root {max-width:100%;overflow:hidden;}

/* Compact editorial trust row, text comes exclusively from CMS values. */
.fb7-trust-strip {position:relative;background:#fff;border-bottom:1px solid #e8edf2;border-top:1px solid #edf1f5;}
.fb7-trust-list {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:18px;min-height:84px;padding-block:14px;}
.fb7-trust-item {display:flex;align-items:center;justify-content:center;min-width:0;gap:10px;color:#273d5e;font-size:13px;font-weight:700;line-height:1.35;}
.fb7-trust-icon {flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:color-mix(in srgb,var(--fb7-green) 8%,white);color:var(--fb7-green);}
.fb7-trust-icon svg {width:20px;height:20px;}

/* Overall rhythm faithfully mirrors reference rather than the oversized
   blank separation of V6. Sections contain intentional usable whitespace. */
.lp3-root .lp3-section,
.lp3-root #planos,.lp3-root #empresas,.lp3-root #beneficios,
.lp3-root #etapas,.lp3-root #detalhes,.lp3-root #faq,.lp3-root #checkout {
  padding-block:var(--fb7-section-pad);
  border-top:0;
  scroll-margin-top:82px;
}
.lp3-root .lp3-section-header {margin-bottom:34px;max-width:780px;}
.lp3-root .lp3-section-header h2 {font-size:clamp(31px,3vw,38px);font-weight:840;letter-spacing:-.042em;line-height:1.16;margin:12px 0 10px;}
.lp3-root .lp3-section-header p {font-size:15px;line-height:1.7;max-width:660px;}
.lp3-root .lp3-eyebrow {min-height:25px;padding:5px 11px;font-weight:800;font-size:10.5px;letter-spacing:.055em;border-radius:8px;}

/* Residential photo and texts: one integrated composition above four cards. */
.lp3-root #planos {position:relative;isolation:isolate;background:linear-gradient(110deg,#f3f9ff 0%,#f9fcfe 50%,#f8fbf7 100%);}
.lp3-root #planos::before {content:"";position:absolute;right:-7%;top:5%;width:35%;height:62%;border-radius:50%;background:color-mix(in srgb,var(--fb7-green) 7%,transparent);filter:blur(70px);z-index:-1;pointer-events:none;}
.lp3-root #planos .fb5-res-intro {position:relative;display:grid;grid-template-columns:minmax(0,.94fr) minmax(330px,1.06fr);gap:clamp(24px,4vw,65px);align-items:center;margin-bottom:34px;}
.lp3-root #planos .fb5-res-intro .lp3-section-header {margin:0;position:relative;z-index:1;}
.lp3-root #planos .fb5-res-intro h2 {max-width:540px;}
.lp3-root #planos .lp3-feature-strip {display:flex;flex-wrap:wrap;gap:8px;margin:23px 0 0;}
.lp3-root #planos .lp3-feature-strip span {font-size:12px;line-height:1.4;padding:7px 10px;border-radius:100px;color:#324962;background:rgba(255,255,255,.93);box-shadow:none;}
.lp3-root #planos .lp3-feature-strip span::before {width:17px;height:17px;font-size:10px;color:var(--fb7-green);}
.lp3-root #planos .fb5-photo-residential {height:clamp(270px,25vw,352px);border:0;border-radius:28px;overflow:hidden;box-shadow:none;}
.lp3-root #planos .fb5-photo-residential::before {content:"";pointer-events:none;position:absolute;z-index:2;inset:0;background:linear-gradient(to right,#f7fbff 0%,rgba(247,251,255,0) 22%);}
.lp3-root #planos .fb5-photo-residential img {object-position:70% center;}

/* Shared commercial cards — 4-up with proper price / CTA alignment. */
.lp3-root .lp3-plan-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch;}
.lp3-root .lp3-plan-card {min-height:475px;display:flex;flex-direction:column;padding:21px 19px 18px;border:1px solid #e2eaf2;border-radius:15px;background:var(--lp3-card-bg,#fff);box-shadow:0 14px 34px rgba(30,48,85,.065);transition:transform .2s,box-shadow .2s,border-color .2s;}
.lp3-root .lp3-plan-card:has(.lp3-plan-tag) {border-top:1px solid #e2eaf2;padding-top:21px;}
.lp3-root .lp3-plan-tag-slot {min-height:28px;margin-bottom:12px;}
.lp3-root .lp3-plan-tag {border-radius:6px;padding:6px 10px;font-size:10px;background:var(--lp3-plan-tag-bg,var(--fb7-green));color:var(--lp3-plan-tag-text,#fff);}
.lp3-root .lp3-plan-title {font-size:clamp(19px,1.6vw,23px);letter-spacing:-.037em;line-height:1.22;min-height:2.35em;}
.lp3-root .lp3-plan-description-slot {min-height:52px;margin:10px 0 10px;}
.lp3-root .lp3-plan-description {font-size:12.5px;line-height:1.5;}
.lp3-root .lp3-plan-list {gap:9px;min-height:132px;border:0;border-radius:9px;background:transparent;padding:10px 0 12px;margin-bottom:12px;}
.lp3-root .lp3-plan-list li {font-size:12.5px;line-height:1.45;padding-left:21px;}
.lp3-root .lp3-plan-list li::before {width:15px;height:15px;border-radius:50%;background:color-mix(in srgb,var(--fb7-green) 10%,white);color:var(--fb7-green);}
.lp3-root .lp3-plan-footer {gap:9px;margin-top:auto;}
.lp3-root .lp3-price {margin-bottom:3px;gap:3px;white-space:nowrap;}
.lp3-root .lp3-price-currency {font-size:15px;}
.lp3-root .lp3-price strong {font-size:clamp(29px,2.45vw,37px);letter-spacing:-.055em;}
.lp3-root .lp3-price-cycle {font-size:12px;}
.lp3-root .lp3-plan-footer .lp3-button {width:100%;min-height:46px;border-radius:9px;background:var(--lp3-plan-button-bg,var(--fb7-yellow));color:var(--lp3-plan-button-text,#1b2434);font-size:13px;box-shadow:none;}
.lp3-root .lp3-details-link {align-self:start;min-height:30px;font-size:12.5px;color:var(--lp3-plan-link,var(--fb7-green));}

/* Business photo joins head, while commercial grid stays CMS-owned. */
.lp3-root #empresas {background:linear-gradient(116deg,#f3fbf0 0%,#fcfdf9 42%,#f4faf7 100%);}
.lp3-root #empresas .lp3-business-head,
.lp3-root #empresas .fb7-business-head {display:grid;grid-template-columns:minmax(0,.92fr) minmax(310px,1.08fr);gap:clamp(22px,3.5vw,52px);align-items:center;position:relative;min-height:305px;margin-bottom:36px;padding:18px 0 0;border:0;border-radius:0;box-shadow:none;background:transparent;overflow:visible;}
.lp3-root #empresas .lp3-business-head > :first-child {min-width:0;order:1;z-index:1;}
.lp3-root #empresas .lp3-business-head .lp3-section-header {margin-bottom:20px;}
.lp3-root #empresas .lp3-business-head .lp3-button {margin-top:2px;}
.lp3-root #empresas .fb5-photo-business,.lp3-root #empresas .fb7-photo-business {order:2;height:320px;border:0;border-radius:26px;box-shadow:none;overflow:hidden;}
.lp3-root #empresas .fb5-photo-business img,.lp3-root #empresas .fb7-photo-business img {object-position:58% center;}
.lp3-root #empresas .fb5-photo-business::before,.lp3-root #empresas .fb7-photo-business::before {content:"";pointer-events:none;position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,#f8fcf5 0%,transparent 20%);}
.lp3-root #empresas .lp3-business-head > .lp3-business-features {order:3;grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;}
.lp3-root #empresas .lp3-business-features span {background:rgba(255,255,255,.76);min-height:44px;padding:10px 14px;border:1px solid #e0ecd9;border-radius:12px;font-size:12.5px;box-shadow:none;}
.lp3-root #empresas .lp3-business-features span::before {color:var(--fb7-green);background:color-mix(in srgb,var(--fb7-green) 10%,white);}
.lp3-root #empresas .lp3-plan-grid-business {grid-template-columns:repeat(4,minmax(0,1fr));}
.lp3-root #empresas .lp3-plan-card {min-height:460px;}

/* Benefits: reference grid is 3 x 2, icon to left of human readable copy. */
.lp3-root #beneficios {background:linear-gradient(130deg,#f7fbff,#fff 60%,#f7fdf9);}
.lp3-root #beneficios .lp3-info-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;}
.lp3-root #beneficios .lp3-info-card {display:grid;grid-template-columns:47px minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;row-gap:3px;align-content:center;min-height:115px;padding:19px;border:1px solid #e0e8f2;border-radius:15px;background:#fff;box-shadow:0 7px 25px rgba(22,44,72,.035);}
.lp3-root #beneficios .lp3-info-card::after {display:none;}
.lp3-root #beneficios .lp3-info-icon {grid-column:1;grid-row:1/3;width:45px;height:45px;min-width:45px;border-radius:50%;align-self:center;background:color-mix(in srgb,var(--fb7-green) 11%,white);color:var(--fb7-green);font-size:20px;}
.lp3-root #beneficios .lp3-info-card h3 {grid-column:2;grid-row:1;font-size:15px;font-weight:800;margin:0;}
.lp3-root #beneficios .lp3-info-card p {grid-column:2;grid-row:2;font-size:13px;line-height:1.5;}

/* Connected, clearly labeled four-step journey. */
.lp3-root #etapas {background:#fff;}
.lp3-root #etapas .lp3-step-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
.lp3-root #etapas .lp3-step-card {min-height:178px;padding:17px 18px;background:transparent;border:0;border-radius:14px;box-shadow:none;display:grid;grid-template-columns:35px 1fr;align-content:start;column-gap:11px;row-gap:8px;}
.lp3-root #etapas .lp3-step-card:hover {transform:none;box-shadow:none;}
.lp3-root #etapas .lp3-step-number {grid-column:1;grid-row:1;width:30px;height:30px;margin:0;border-radius:50%;background:var(--fb7-green);color:#fff;font-size:14px;}
.lp3-root #etapas .fb7-step-icon {grid-column:2;grid-row:1;align-self:center;display:inline-flex;width:28px;height:28px;color:var(--fb7-navy);}
.lp3-root #etapas .fb7-step-icon svg {width:26px;height:26px;}
.lp3-root #etapas .lp3-step-card h3 {grid-column:1/-1;font-size:15px;font-weight:800;margin:0;}
.lp3-root #etapas .lp3-step-card p {grid-column:1/-1;font-size:13px;line-height:1.55;}
.lp3-root #etapas .lp3-step-card:not(:last-child)::after {content:"→";position:absolute;right:-14px;top:34px;color:var(--fb7-green);font-size:23px;}

/* Preserve details separately; FAQ earns its own photographic layout. */
.lp3-root #detalhes {background:#f9fbfd;}
.lp3-root #faq {background:linear-gradient(110deg,#f2f8fe,#f9fbfe 60%,#f7fdfa);}
.lp3-root #faq > .lp3-container {max-width:1120px;}
.lp3-root #faq .fb7-faq-layout {display:grid;grid-template-columns:minmax(240px,.73fr) minmax(0,1.27fr);gap:clamp(22px,3vw,45px);align-items:stretch;}
.lp3-root .fb7-photo {margin:0;overflow:hidden;border-radius:18px;background:#e5edf3;}
.lp3-root .fb7-photo img {display:block;width:100%;height:100%;object-fit:cover;}
.lp3-root .fb7-photo[hidden] {display:none;}
.lp3-root #faq .fb7-photo-faq {min-height:305px;max-height:440px;}
.lp3-root #faq .fb7-photo-faq img {object-position:65% center;}
.lp3-root #faq .lp3-accordion-list {gap:10px;}
.lp3-root #faq .lp3-section-header {margin:0 0 28px;max-width:730px;text-align:left;}
.lp3-root #faq .lp3-accordion {border-radius:10px;box-shadow:0 3px 12px rgba(23,49,82,.025);}
.lp3-root #faq .lp3-accordion summary {min-height:51px;padding:12px 17px;font-size:13.5px;}
.lp3-root #faq .lp3-accordion summary::after {width:24px;height:24px;min-width:24px;font-size:18px;border-radius:50%;}
.lp3-root #detalhes .lp3-accordion summary {font-size:14px;min-height:55px;}
.lp3-root #detalhes .lp3-accordion-list {gap:11px;}

/* Checkout untouched logically; presentation stays reassuring. */
.lp3-root #checkout {background:#f8fbfe;}
.lp3-root #checkout .lp3-checkout-panel {border-radius:20px;border-color:#e1e9f2;}
.lp3-root #checkout .lp3-form-field input {min-height:45px;}

/* Navy contact + CEP: original copy and working form remain the same. */
.lp3-root .lp3-final-cta {background:linear-gradient(118deg,#142640,#071d3b 60%,#102747);padding-block:31px;}
.lp3-root .lp3-final-cta-inner {display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.95fr);gap:clamp(22px,4vw,54px);align-items:center;}
.lp3-root .fb7-support-copy {display:grid;grid-template-columns:115px minmax(0,1fr);align-items:center;gap:20px;min-width:0;}
.lp3-root .fb7-support-copy .fb7-photo-support {width:115px;height:130px;border-radius:12px;}
.lp3-root .fb7-support-copy .fb7-photo-support img {object-position:65% center;}
.lp3-root .lp3-final-cta h2 {font-size:clamp(23px,2.1vw,29px);margin:10px 0 8px;}
.lp3-root .lp3-final-cta p {font-size:13px;line-height:1.55;}
.lp3-root .lp3-footer-coverage {min-width:0;border-radius:11px;box-shadow:none;}
.lp3-root .lp3-footer-coverage .lp3-button-accent {background:var(--fb7-yellow);color:#182a3e;}

/* Light four-column footer, links always from CMS. */
.lp3-root .lp3-footer {padding:54px 0 0;background:#fff;color:#5b6a7f;}
.lp3-root .lp3-footer-grid {padding-bottom:53px;gap:clamp(19px,3vw,48px);}
.lp3-root .lp3-footer-brand strong {color:var(--fb7-navy);font-size:21px;}
.lp3-root .lp3-footer-brand p {color:#607087;font-size:13px;}
.lp3-root .lp3-footer-column strong {color:var(--fb7-navy);font-size:13px;}
.lp3-root .lp3-footer-column a {color:#50647e;font-size:13px;}
.lp3-root .lp3-footer-column a:hover {color:var(--fb7-green);}
.lp3-root .lp3-cookie {background:#edf3f9;color:#4a5c72;border-color:#dce4ee;}
.lp3-root .lp3-cookie-inner {color:#41546e;}
.lp3-root .lp3-text-button {color:var(--fb7-navy);}

@media (max-width:1150px) {
  .lp3-root .lp3-container {width:min(calc(100% - 48px),1100px);}
  .lp3-root .lp3-plan-grid,.lp3-root #empresas .lp3-plan-grid-business {grid-template-columns:repeat(2,minmax(0,1fr));}
  .lp3-root .lp3-plan-card,.lp3-root #empresas .lp3-plan-card {min-height:405px;}
  .lp3-root .lp3-plan-title {min-height:0;}
  .lp3-root .lp3-plan-list {min-height:118px;}
  .lp3-root #planos .fb5-res-intro {grid-template-columns:minmax(0,1fr) minmax(270px,.85fr);}
}
@media (max-width:920px) {
  .lp3-root {--fb7-section-pad:72px;}
  .lp3-root .fb7-trust-list {grid-template-columns:repeat(2,minmax(0,1fr));row-gap:12px;min-height:80px;}
  .lp3-root #empresas .lp3-business-head,.lp3-root #empresas .fb7-business-head {grid-template-columns:1fr;gap:18px;}
  .lp3-root #empresas .fb5-photo-business,.lp3-root #empresas .fb7-photo-business {height:270px;width:100%;}
  .lp3-root #beneficios .lp3-info-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .lp3-root #etapas .lp3-step-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .lp3-root #etapas .lp3-step-card:not(:last-child)::after {display:none;}
  .lp3-root #faq .fb7-faq-layout {grid-template-columns:minmax(200px,.8fr) minmax(0,1.2fr);gap:20px;}
}
@media (max-width:680px) {
  .lp3-root {--fb7-section-pad:62px;}
  .lp3-root .lp3-container {width:calc(100% - 34px);}
  .lp3-root .lp3-header-inner {min-height:64px;}
  .lp3-root .fb7-trust-list {gap:9px 8px;min-height:0;padding-block:13px;}
  .lp3-root .fb7-trust-item {justify-content:flex-start;font-size:11px;gap:7px;}
  .lp3-root .fb7-trust-icon {width:28px;height:28px;border-radius:8px;}
  .lp3-root .fb7-trust-icon svg {width:17px;height:17px;}
  .lp3-root .lp3-section,.lp3-root #planos,.lp3-root #empresas,.lp3-root #beneficios,.lp3-root #etapas,.lp3-root #detalhes,.lp3-root #faq,.lp3-root #checkout {padding-block:62px;}
  .lp3-root .lp3-section-header {margin-bottom:25px;}
  .lp3-root .lp3-section-header h2 {font-size:clamp(26px,7.5vw,34px);}
  .lp3-root .lp3-section-header p {font-size:14px;}
  .lp3-root #planos .fb5-res-intro {grid-template-columns:1fr;gap:19px;margin-bottom:24px;}
  .lp3-root #planos .fb5-photo-residential {height:205px;border-radius:17px;}
  .lp3-root #planos .lp3-feature-strip {margin-top:16px;}
  .lp3-root .lp3-plan-grid,.lp3-root #empresas .lp3-plan-grid-business,#beneficios .lp3-info-grid {grid-template-columns:1fr;gap:14px;}
  .lp3-root .lp3-plan-card,.lp3-root #empresas .lp3-plan-card {min-height:0;padding:21px 20px;}
  .lp3-root .lp3-plan-card:has(.lp3-plan-tag) {padding-top:21px;}
  .lp3-root .lp3-plan-title {font-size:24px;}
  .lp3-root .lp3-plan-description-slot {min-height:0;}
  .lp3-root .lp3-plan-list {min-height:0;}
  .lp3-root .lp3-price strong {font-size:36px;}
  .lp3-root #empresas .lp3-business-head,.lp3-root #empresas .fb7-business-head {margin-bottom:29px;}
  .lp3-root #empresas .fb5-photo-business,.lp3-root #empresas .fb7-photo-business {height:230px;border-radius:17px;}
  .lp3-root #empresas .lp3-business-head > .lp3-business-features {grid-template-columns:1fr;}
  .lp3-root #beneficios .lp3-info-grid {gap:12px;}
  .lp3-root #beneficios .lp3-info-card {min-height:92px;padding:17px;}
  .lp3-root #etapas .lp3-step-grid {grid-template-columns:1fr;gap:8px;}
  .lp3-root #etapas .lp3-step-card {min-height:110px;padding:15px 10px;}
  .lp3-root #faq .fb7-faq-layout {grid-template-columns:1fr;}
  .lp3-root #faq .fb7-photo-faq {height:230px;min-height:230px;max-height:none;}
  .lp3-root .lp3-final-cta {padding-block:35px;}
  .lp3-root .lp3-final-cta-inner {grid-template-columns:1fr;gap:24px;}
  .lp3-root .fb7-support-copy {grid-template-columns:93px 1fr;gap:14px;}
  .lp3-root .fb7-support-copy .fb7-photo-support {width:93px;height:112px;}
  .lp3-root .lp3-final-cta h2 {font-size:23px;}
  .lp3-root .lp3-footer {padding-top:44px;}
  .lp3-root .lp3-footer-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px;}
  .lp3-root .lp3-footer-brand {grid-column:1/-1;}
}
@media (max-width:359px) {
  .lp3-root .lp3-container {width:calc(100% - 26px);}
  .lp3-root .lp3-price strong {font-size:33px;}
  .lp3-root .lp3-footer-grid {grid-template-columns:1fr;}
  .lp3-root .lp3-footer-brand {grid-column:auto;}
}
@media (prefers-reduced-motion: reduce) {
  .lp3-root .lp3-plan-card {transition:none;}
}
/* This deprecated block only prints checkout configuration keys on the public
   Home. It is not the real checkout form (#checkout or /checkout/{token}). */
.lp3-root #checkout-flow {display:none;}
