/* Bem Valor — Landing. Estilos globais, cenas 3D e componentes. */
body{margin:0;background:#FFFFFF}
a{color:#0E3A2F}a:hover{color:#7A5E22}
details summary{list-style:none;cursor:pointer}
details summary::-webkit-details-marker{display:none}
input[type=range]{accent-color:#B8964A}
.bv-stage{transform:rotateX(60deg) rotateZ(-40deg)}
.bv-stage.bv-anim{animation:bvSway 16s ease-in-out infinite}
.bv-float.bv-anim{animation:bvFloat 6s ease-in-out infinite}
.bv-coin.bv-anim{animation:bvCoin 9s linear infinite}
.bv-coin{transform:rotateY(0deg) rotateZ(45deg)}
@keyframes bvSway{0%,100%{transform:rotateX(60deg) rotateZ(-40deg)}50%{transform:rotateX(55deg) rotateZ(-27deg)}}
@keyframes bvFloat{0%,100%{transform:translateZ(0)}50%{transform:translateZ(12px)}}
@keyframes bvCoin{from{transform:rotateY(0deg) rotateZ(45deg)}to{transform:rotateY(360deg) rotateZ(45deg)}}
@media (max-width: 600px){.bv-scale{transform:scale(0.78)}}
.bv-orbit.bv-anim{animation:bvOrbit 48s linear infinite}
.bv-counter.bv-anim{animation:bvCounter 48s linear infinite}
.bv-bob.bv-anim{animation:bvBob 7s ease-in-out infinite}
.bv-iso{transform:rotateX(58deg) rotateZ(-42deg)}
.bv-iso.bv-anim{animation:bvIso 18s ease-in-out infinite}
@keyframes bvOrbit{from{transform:rotateZ(0deg)}to{transform:rotateZ(360deg)}}
@keyframes bvCounter{from{transform:rotateZ(0deg)}to{transform:rotateZ(-360deg)}}
@keyframes bvBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes bvIso{0%,100%{transform:rotateX(58deg) rotateZ(-42deg)}50%{transform:rotateX(54deg) rotateZ(-32deg)}}
.bv-off .bv-anim{animation-play-state:paused !important}
.bv-drawer{animation:bvIn .38s cubic-bezier(.2,.7,.2,1)}
.bv-fade{animation:bvFade .3s ease-out}
@keyframes bvIn{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes bvFade{from{opacity:0}to{opacity:1}}

@media (prefers-reduced-motion: reduce){.bv-anim{animation:none !important}.bv-drawer,.bv-fade{animation:none !important}}
@media (max-width: 600px){.bv-scale-ring{transform:scale(0.62)}}
@media (prefers-reduced-motion: reduce){.bv-anim{animation:none !important}}

/* ===== Produção: base ===== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{font-family:Lato,Arial,sans-serif;color:#3A3D3C;background:#FFFFFF;font-size:17px;line-height:1.7}
[hidden]{display:none !important}
:focus-visible{outline:3px solid #B8964A;outline-offset:2px}
.bv-skip{position:absolute;left:-9999px;top:8px;background:#0E3A2F;color:#fff;padding:10px 16px;z-index:100}
.bv-skip:focus{left:8px}
.bv-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}

/* ===== Cena: hero ===== */
.bv-layer{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.bv-float{position:absolute;inset:0;transform-style:preserve-3d}
.bv-card{position:absolute;inset:0;border-radius:6px;border:1px solid;padding:16px 20px;display:flex;flex-direction:column;justify-content:space-between;transition:background .7s,border-color .7s,box-shadow .7s}
.bv-card span{font-size:12px;letter-spacing:.2em}
.bv-card strong{font-size:22px;font-weight:700;letter-spacing:.02em}
.bv-hbtn{flex:1 1 90px;min-height:38px;border:1px solid rgba(233,214,166,.35);background:transparent;color:#DCE5E0;font:inherit;font-size:13px;border-radius:2px;cursor:pointer}
.bv-hbtn[aria-pressed=true]{border-color:#B8964A;background:#B8964A;color:#0A2A22;font-weight:700}

/* ===== Cena: anel de instrumentos ===== */
.bv-rcard{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:8px;border:1px solid;padding:18px 16px;display:flex;flex-direction:column;justify-content:space-between;transition:background .6s,border-color .6s,opacity .6s,box-shadow .6s}
.bv-rcard .bv-ic{flex:1;display:flex;align-items:center;justify-content:center}
.bv-rcard .bv-ic svg{width:92px;height:92px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.bv-rcard strong{font-size:20px;line-height:1.2;text-align:center}
.bv-ibtn{min-height:44px;padding:6px 12px;border:1px solid #DDE3DF;background:#FFFFFF;color:#0E3A2F;font:inherit;font-size:14px;text-align:left;border-radius:2px;cursor:pointer}
.bv-ibtn[aria-pressed=true]{border-color:#0E3A2F;background:#0E3A2F;color:#FFFFFF;font-weight:700}

/* ===== Cena: órbita e escada ===== */
.bv-ring3d{position:absolute;inset:0;transform-style:preserve-3d;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.bv-dnode{position:absolute;left:0;top:0;width:0;height:0;transform-style:preserve-3d}
.bv-dcard{position:absolute;left:-70px;top:-44px;width:140px;height:88px;border-radius:6px;padding:10px 12px;border:1px solid;display:flex;flex-direction:column;justify-content:space-between;transition:transform .8s cubic-bezier(.2,.7,.2,1),background .6s,border-color .6s,box-shadow .6s}
.bv-dcard span{font-size:11px;letter-spacing:.16em}
.bv-dcard strong{font-size:15px;line-height:1.2}
.bv-stair{position:absolute;left:0;top:0;width:240px;height:90px;transform-style:preserve-3d}
.bv-stair .bv-top{position:absolute;inset:0;background:#1D4D40;border:1px solid;padding:12px 16px;display:flex;flex-direction:column;justify-content:space-between;transition:background .6s,border-color .6s}
.bv-stair .bv-top span{font-size:11px;letter-spacing:.18em}
.bv-stair .bv-top strong{font-size:18px;letter-spacing:.06em}
.bv-stair .bv-front{position:absolute;left:0;top:100%;width:100%;transform-origin:top;transform:rotateX(-90deg);transition:background .6s}
.bv-stair .bv-side{position:absolute;right:100%;top:0;height:100%;transform-origin:right;transform:rotateY(-90deg);transition:background .6s}

/* ===== Calculadora ===== */
.bv-mode{flex:1 1 200px;min-height:46px;border:0;background:transparent;font:inherit;text-align:left;padding:8px 18px;border-radius:1px;cursor:pointer}
.bv-mode strong{display:block;font-size:15px;line-height:1.3;color:#0E3A2F}
.bv-mode span{font-size:12px;line-height:1.3;color:#4E5F57}
.bv-mode[aria-checked=true]{background:#0E3A2F;cursor:default}
.bv-mode[aria-checked=true] strong{color:#FFFFFF}
.bv-mode[aria-checked=true] span{color:#C9D6CF}
.bv-mod{flex:1 1 140px;min-height:44px;border:1px solid #C9D3CD;background:#FFFFFF;color:#0E3A2F;font:inherit;font-size:15px;border-radius:2px;cursor:pointer}
.bv-mod[aria-checked=true]{border-color:#0E3A2F;background:#0E3A2F;color:#FFFFFF;font-weight:700}
.bv-rl{display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-size:14px;margin-top:4px}
.bv-rl output{font-size:18px;font-weight:700;color:#0E3A2F;white-space:nowrap}
.bv-range{width:100%;min-height:28px;margin:0}

/* ===== Objetivos ===== */
#obj-tabs{border-right:1px solid #DDE3DF}
#obj-tabs .bv-tab{flex:1 1 auto;display:flex;align-items:center}
.bv-objcard{min-height:clamp(340px,56vh,640px)}
.bv-tab{text-align:left;border:0;border-left:3px solid transparent;border-bottom:1px solid #EEF1EF;background:#FFFFFF;color:#3A3D3C;padding:clamp(14px,2.6vh,28px) 28px;font:inherit;font-size:clamp(17px,2.4vh,21px);cursor:pointer;min-height:44px}
.bv-tab[aria-selected=true]{border-left-color:#B8964A;background:#0E3A2F;color:#FFFFFF;font-weight:700}

/* ===== Formulários ===== */
.bv-label{display:block;font-size:14px;font-weight:700;color:#3A3D3C;margin-bottom:5px;line-height:1.35}
.bv-help{margin:0 0 8px;font-size:13px;color:#4E5F57}
.bv-input{width:100%;min-height:44px;padding:10px 12px;border:1px solid #C9D3CD;border-radius:2px;font:inherit;font-size:16px;background:#FFFFFF;color:#3A3D3C}
textarea.bv-input{min-height:72px;line-height:1.45;resize:vertical;padding:10px 12px}
.bv-field{margin:0 0 22px}
.bv-canal{min-height:44px;padding:8px 12px;border:1px solid #C9D3CD;background:#FFFFFF;color:#0E3A2F;font:inherit;font-size:14px;border-radius:2px;cursor:pointer}
.bv-canal[aria-pressed=true]{border-color:#0E3A2F;background:#0E3A2F;color:#FFFFFF;font-weight:700}
.bv-submit{width:100%;min-height:48px;margin-top:4px;border:0;background:#B8964A;color:#0A2A22;font:inherit;font-weight:700;font-size:16px;border-radius:2px;cursor:pointer}
.bv-submit[disabled]{opacity:.6;cursor:wait}
.bv-erro{margin:16px 0 0;padding:12px 14px;border:1px solid #B3261E;background:#FDECEA;color:#7A1C16;font-size:14px;line-height:1.5}

/* ===== Gaveta e barra fixa ===== */
.bv-mbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:40;background:#0A2A22;border-top:1px solid rgba(184,150,74,.45);padding:10px 16px;gap:12px;align-items:center;justify-content:space-between}
@media (max-width: 768px){.bv-mbar{display:flex}footer{padding-bottom:96px !important}}
.bv-drawer-wrap{position:fixed;inset:0;z-index:50}
.bv-scrim{position:absolute;inset:0;width:100%;border:0;background:rgba(10,42,34,.6);cursor:pointer}
.bv-drawer{position:absolute;top:0;right:0;bottom:0;width:100%;max-width:560px;background:#FFFFFF;box-shadow:-24px 0 60px rgba(10,42,34,.3);display:flex;flex-direction:column}

/* ===== Uma página por tela (desktop) ===== */
:root{--hh:64px;--sc-hero:1;--sc-ring:1;--sc-orbit:1;--sc-stairs:1}
@media (min-width:1024px){
  :root{--sc-hero:.9;--sc-ring:1;--sc-orbit:1.25;--sc-stairs:1}
  .bv-sh{transform:scale(var(--sc-hero))}
  .bv-scale-ring{transform:scale(var(--sc-ring))}
  .bv-so{transform:scale(var(--sc-orbit))}
  .bv-ss{transform:scale(var(--sc-stairs))}
  html{scroll-snap-type:y mandatory;scroll-padding-top:var(--hh)}
  .bv-page,.bv-last{min-height:calc(100svh - var(--hh));scroll-snap-align:start}
  .bv-page{display:flex;flex-direction:column;justify-content:center}
  .bv-page>div,.bv-last>section>div{width:100%}
  .bv-last{display:flex;flex-direction:column}
  .bv-last>section{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center}
}
@media (min-width:1024px) and (min-height:1000px){:root{--sc-hero:1}}
@media (min-width:1024px) and (max-height:839px){:root{--sc-hero:.74;--sc-ring:.9;--sc-orbit:1.2;--sc-stairs:.95}}


.bv-bar{transform-box:fill-box;transform-origin:bottom;animation:bvGrow 1.1s cubic-bezier(.2,.7,.2,1) both}
@keyframes bvGrow{from{transform:scaleY(.04)}to{transform:scaleY(1)}}
.bv-off .bv-bar{animation-play-state:paused}
@media (prefers-reduced-motion: reduce){.bv-bar{animation:none}}

/* ===== Calculadora: entradas de crédito em duas colunas e apoio recolhível ===== */
.bv-igrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
@media (max-width:640px){.bv-igrid{grid-template-columns:1fr}}
.bv-pop summary{cursor:pointer;color:#7A5E22;font-weight:700;font-size:14px;list-style:none;min-height:36px;display:inline-flex;align-items:center;gap:8px}
.bv-pop summary::-webkit-details-marker{display:none}
.bv-pop summary::after{content:"+";font-size:18px;line-height:1}
.bv-pop[open] summary::after{content:"\2212"}
.bv-pop-panel{position:absolute;right:0;top:100%;z-index:25;width:min(660px,100%);background:#FFFFFF;border:1px solid #DDE3DF;box-shadow:0 18px 40px rgba(10,42,34,.18);padding:18px 22px}

/* ===== Formulários em grade ===== */
#ct-form-root .bv-input{min-height:clamp(44px,5.8vh,56px)}
#ct-form-root textarea.bv-input{min-height:clamp(52px,7.2vh,108px)}
#ct-form-root .bv-fgrid{gap:clamp(8px,1.3vh,16px) 18px}
#ct-form-root .bv-label{font-size:clamp(14px,2vh,16px)}
#ct-form-root .bv-submit{min-height:clamp(46px,5.6vh,58px)}
#ct-form-root .bv-canal{min-height:clamp(44px,5.8vh,56px)}
.bv-fgrid{display:grid;grid-template-columns:repeat(var(--cols,1),minmax(0,1fr));gap:10px 16px}
.bv-f{margin:0;min-width:0}
.bv-full{grid-column:1/-1}
fieldset.bv-f{border:0;padding:0}

/* Telas baixas: reduz a escala do conteúdo de cada página para ela continuar cabendo em uma tela */
@media (min-width:1024px) and (max-height:779px){.bv-page>div,.bv-last>section>div,.bv-last>footer>div{zoom:.93}}
@media (min-width:1024px) and (max-height:739px){.bv-page>div,.bv-last>section>div,.bv-last>footer>div{zoom:.86}}
@media (min-width:1024px) and (max-height:699px){.bv-page>div,.bv-last>section>div,.bv-last>footer>div{zoom:.8}}
@media (min-width:1024px) and (max-height:659px){.bv-page>div,.bv-last>section>div,.bv-last>footer>div{zoom:.75}}

/* Termo de consentimento LGPD (texto da landing Barsi Valor) */
.bv-lgpd{margin:0 0 6px;font-size:11px;line-height:1.45;color:#4E5F57}
.bv-lgpd strong{color:#0A2A22}

/* Gaveta: o botão de envio fica sempre visível, mesmo com o corpo rolando */
#dw-form-root .bv-submit{position:sticky;bottom:0;z-index:2;box-shadow:0 -12px 12px -2px #FFFFFF}

/* Botão que abre o WhatsApp (confirmação da gaveta, só no celular) */
.bv-wabtn{display:flex;align-items:center;justify-content:center;min-height:52px;margin:0 0 12px;background:#B8964A;color:#0A2A22;font-weight:700;font-size:16px;border-radius:2px;text-decoration:none}

.bv-input[aria-invalid="true"]{border-color:#8B1A1A}
input[type="checkbox"][aria-invalid="true"]{outline:2px solid #8B1A1A;outline-offset:2px}
