/* FIBRA BRASIL — Ajustes pontuais V9 sem substituicao do CMS / regras comerciais. */
/* 1. Botao de fechar alinhado a chamada superior. */
.lp3-entry-dialog .lp3-entry-kicker {display:block;min-height:25px;line-height:24px;padding-right:50px;}
.lp3-entry-dialog .lp3-entry-close {position:absolute;top:26px;right:24px;width:32px;height:32px;display:grid;place-items:center;padding:0;line-height:1;transform:translateY(-4px);border-radius:50%;z-index:3;}
.lp3-entry-dialog .lp3-entry-close:hover {background:#eef2f8;}
.lp3-entry-dialog .lp3-entry-close:focus-visible {outline:2px solid var(--lp-primary,#299c15);outline-offset:2px;}
/* 2. Unica area de beneficios, editavel no painel. Icones reaproveitados. */
.fb7-trust-strip {display:none !important;}
.lp3-root #planos .lp3-feature-strip {display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 0;padding:0;border:0;}
.lp3-root #planos .lp3-feature-strip > span {display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:6px 12px;}
.lp3-root #planos .lp3-feature-strip > span::before {display:none;content:none;}
.lp3-root #planos .lp3-feature-strip .fb9-chip-icon {display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;flex:none;width:19px;height:19px;}
.lp3-root #planos .lp3-feature-strip .fb9-chip-icon svg {display:block;width:17px;height:17px;stroke:var(--lp3-primary,#399e13);}
/* 3. Espacamento real entre chips e planos; sem linha horizontal duplicada. */
.lp3-root #planos .fb5-res-intro {margin-bottom:20px;border-bottom:0;}
.lp3-root #planos .fb5-res-intro .lp3-section-header {border-bottom:0;}
.lp3-root #planos .fb5-res-intro .lp3-section-header::after {content:none;display:none;}
.lp3-root #planos .lp3-plan-grid {margin-top:20px;padding-top:0;border-top:0;}
.lp3-root #planos .lp3-feature-strip + hr,
.lp3-root #planos .fb5-res-intro hr {display:none;}
/* 4. Sem numero — componente da etapa de endereco. */
.checkout-v2 .fb9-no-number {display:inline-flex!important;gap:8px;align-items:center;cursor:pointer;padding:9px 0 0;min-height:32px;font-size:13px;font-weight:600;color:#253b55;}
.checkout-v2 .fb9-no-number input {width:17px;height:17px;accent-color:#399e15;}
.checkout-v2 #address-number.fb9-is-sn {background:#f1f6ed;color:#50607a;}
/* 5. Tipo do documento acima da lista real de ofertas. */
.checkout-v2 .fb9-person-type {display:flex;align-items:center;justify-content:center;gap:14px 22px;flex-wrap:wrap;min-width:0;margin:25px auto 27px;padding:16px 20px;border:1px solid #dde7e9;border-radius:16px;background:#fff;max-width:780px;}
.checkout-v2 .fb9-person-type legend {padding:0 8px;font-weight:800;font-size:13px;color:#1a2d48;}
.checkout-v2 .fb9-person-type label {display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;font-weight:650;color:#1a2d48;}
.checkout-v2 .fb9-person-type input {width:17px;height:17px;accent-color:#319e16;}
/* 6. Jornada numa superficie unica com cantos arredondados. */
.lp3-root #etapas {background:#f7fafc;}
.lp3-root #etapas > .lp3-container {box-sizing:border-box;max-width:1200px;padding:40px clamp(20px,3vw,42px);background:#fff;border:1px solid #e4eaf1;border-radius:25px;box-shadow:0 16px 40px rgba(18,42,68,.045);}
.lp3-root #etapas .lp3-step-grid {gap:14px;}
.lp3-root #etapas .lp3-step-card {border-radius:16px;}
/* 7. Cookie banner: mensagem legivel, acoes lado a lado, preferencia persistente. */
.lp3-root .lp3-cookie-inner {display:flex!important;flex-direction:row!important;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 25px;padding:14px 0;min-height:62px;}
.lp3-root .lp3-cookie .fb9-cookie-description {flex:1 1 340px;min-width:220px;font-size:13px;line-height:1.55;}
.lp3-root .lp3-cookie-actions {flex:0 0 auto;display:flex;align-items:center;flex-direction:row;flex-wrap:wrap;gap:9px;}
.lp3-root .lp3-cookie-actions button {white-space:nowrap;}
.lp3-root .lp3-cookie-actions .lp3-button {min-height:38px;padding:8px 18px;border-radius:10px;}
#fb9-cookie-reopen {display:block;margin:18px auto 8px;border:0;background:transparent;color:var(--lp3-primary,#348b19);cursor:pointer;font:inherit;font-size:12px;text-decoration:underline;}
.fb9-consent-overlay {position:fixed;inset:0;z-index:100050;display:grid;place-items:center;padding:18px;}
.fb9-consent-backdrop {position:absolute;inset:0;background:rgba(12,23,42,.58);}
.fb9-consent-dialog {position:relative;width:min(100%,520px);max-height:calc(100dvh - 35px);overflow:auto;box-sizing:border-box;border-radius:20px;background:#fff;padding:24px;color:#14243d;box-shadow:0 20px 65px rgba(0,0,0,.2);}
.fb9-consent-head {display:flex;justify-content:space-between;gap:10px;align-items:center;}
.fb9-consent-head h2 {font-size:22px;line-height:1.3;margin:0;}
.fb9-consent-close {background:transparent;border:0;border-radius:8px;font-size:30px;width:36px;height:36px;cursor:pointer;}
.fb9-consent-dialog > p {font-size:14px;line-height:1.55;color:#536277;}
.fb9-choice {display:flex;align-items:center;justify-content:space-between;gap:14px;margin:10px 0;padding:13px;border:1px solid #e0e8ee;border-radius:12px;cursor:pointer;}
.fb9-choice strong {display:block;font-size:14px;}.fb9-choice small {display:block;font-size:12px;color:#65748b;margin-top:4px;line-height:1.4;}
.fb9-choice input {width:18px;height:18px;accent-color:#299d15;flex:none;}
.fb9-required {font-size:12px;white-space:nowrap;color:#23812b;font-weight:750;}
.fb9-consent-actions {display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:17px;}
.fb9-consent-actions button {border:1px solid #cbd5e1;border-radius:10px;padding:10px 13px;background:#fff;color:#1f314d;font:inherit;font-size:13px;cursor:pointer;}
.fb9-consent-actions #fb9-consent-save {background:#319c16;color:#fff;border-color:#319c16;font-weight:750;}
.fb9-top {position:fixed;bottom:20px;right:20px;z-index:10000;width:42px;height:42px;border:1px solid #dce6e8;border-radius:13px;background:#fff;color:#2f8d20;cursor:pointer;font-size:23px;box-shadow:0 6px 25px rgba(17,32,48,.17);}
.fb9-top[hidden] {display:none!important;}
.fb9-top:hover {background:#f3f9ef;}
@media(max-width:767px) {
  .lp3-root #etapas > .lp3-container {width:calc(100% - 28px);padding:26px 16px;border-radius:18px;}
  .lp3-root #planos .fb5-res-intro {margin-bottom:20px;}
  .lp3-root #planos .lp3-plan-grid {margin-top:20px;}
  .lp3-root .lp3-cookie-inner {align-items:stretch;}
  .lp3-root .lp3-cookie-actions {width:100%;justify-content:flex-start;}
  .fb9-top {right:12px;bottom:12px;width:38px;height:38px;}
  .checkout-v2 .fb9-person-type {justify-content:flex-start;padding:13px;}
}
@media(prefers-reduced-motion:reduce) {.fb9-top {scroll-behavior:auto;}}
/* Posicione S/N sob o campo numero, sem deslocar Complemento. */
.checkout-v2 .cv2-two-fields:has(> .fb9-no-number) {grid-template-rows:auto auto;align-items:start;}
.checkout-v2 .cv2-two-fields > label:has(#address-number) {grid-column:1;grid-row:1;}
.checkout-v2 .cv2-two-fields > .fb9-no-number {grid-column:1;grid-row:2;padding:0;margin:-5px 0 0;}
.checkout-v2 .cv2-two-fields > label:has(#address-complement) {grid-column:2;grid-row:1 / span 2;}
.checkout-v2 .cv2-two-fields .fb9-no-number input {display:inline-block;width:17px;min-width:17px;max-width:17px;min-height:17px;height:17px;margin:0;padding:0;box-shadow:none;}
.checkout-v2 .cv2-two-fields .fb9-no-number span {display:inline;font-size:13px;line-height:1.3;color:#253b55;margin:0;font-weight:600;}
@media (max-width:767px) {
  .checkout-v2 .cv2-two-fields > label:has(#address-number) {grid-column:1;grid-row:1;}
  .checkout-v2 .cv2-two-fields > .fb9-no-number {grid-column:1;grid-row:2;margin:0;}
  .checkout-v2 .cv2-two-fields > label:has(#address-complement) {grid-column:1;grid-row:3;}
}
