/* Formulário Locomotiva. Tokens do Design System com valores de reserva. */
.lfm{--lfm-ink:var(--ink,#191919);--lfm-muted:var(--muted,#5E5E5E);--lfm-line:#BDB6C8;--lfm-field-bg:#fff;--lfm-accent:var(--brand-violet,#A536FF);--lfm-accent-hover:var(--violet-hover,#7D17D3);--lfm-button-ink:#fff;--lfm-focus:var(--focus-gold,#DBAB2B);--lfm-error:#B00030;font-family:var(--font-sans,"DM Sans",Arial,sans-serif);font-size:16px;line-height:1.45;color:var(--lfm-ink)}
.lfm.is-style-fundo-escuro{--lfm-ink:#fff;--lfm-muted:#D8D3E3;--lfm-line:rgba(255,255,255,.45);--lfm-field-bg:rgba(255,255,255,.06);--lfm-accent:var(--brand-yellow,#FEBC0F);--lfm-accent-hover:#fff;--lfm-button-ink:var(--brand-black,#060015);--lfm-error:#FF9BB0;color-scheme:dark}
.lfm *{box-sizing:border-box}
.lfm :where(p,fieldset,legend){margin:0;padding:0}
.lfm-form>*+*{margin-top:20px}
.lfm-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}
.lfm-fields>*{grid-column:1/-1;margin:0}
.lfm-fields>.lfm-w-half{grid-column:auto}
.lfm-field label:not(.lfm-check),.lfm-field legend,.lfm-label{display:block;margin-bottom:8px;font-size:14px;font-weight:700;line-height:1.3;color:var(--lfm-ink)}
.lfm-req{color:var(--lfm-accent)}
.lfm-field fieldset{border:0;min-width:0}
.lfm input:not([type=checkbox]),.lfm select,.lfm textarea{display:block;width:100%;min-height:46px;margin:0;padding:11px 14px;border:1px solid var(--lfm-line);border-radius:0;background:var(--lfm-field-bg);color:var(--lfm-ink);font:inherit;font-size:16px;line-height:1.4;box-shadow:none;transition:border-color .15s}
.lfm textarea{min-height:132px;resize:vertical}
.lfm select{appearance:none;padding-right:42px;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat}
.lfm select option{color:#191919;background:#fff}
.lfm ::placeholder{color:var(--lfm-muted);opacity:1}
.lfm input:hover,.lfm select:hover,.lfm textarea:hover{border-color:var(--lfm-ink)}
.lfm :is(input,select,textarea,button):focus-visible{outline:3px solid var(--lfm-focus);outline-offset:2px}
.lfm [aria-invalid=true]{border-color:var(--lfm-error)!important;border-width:2px}
.lfm-options{display:flex;flex-wrap:wrap;gap:10px 22px}
.lfm-check{display:flex;align-items:flex-start;gap:10px;color:var(--lfm-ink);font-size:15px;font-weight:400;line-height:1.4;cursor:pointer}
.lfm-check input{flex:0 0 auto;width:20px;height:20px;margin:1px 0 0;accent-color:var(--lfm-accent);cursor:pointer}
.lfm-consent .lfm-check{font-size:14px;color:var(--lfm-muted)}
.lfm-help{margin-top:6px!important;font-size:13px;color:var(--lfm-muted)}
.lfm-error{margin-top:6px!important;font-size:13px;font-weight:700;color:var(--lfm-error)}
.lfm-error::before{content:"! "}
.lfm-status:empty{display:none}
.lfm-status{font-size:14px;font-weight:700}
.lfm-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:14px 22px;border:0;border-radius:0;background:var(--lfm-accent);color:var(--lfm-button-ink);font:700 14px/1.3 var(--font-sans,"DM Sans",Arial,sans-serif);cursor:pointer;transition:background .15s,color .15s}
.lfm-button:hover{background:var(--lfm-accent-hover);color:var(--lfm-button-ink)}
.lfm-button:disabled{opacity:.6;cursor:progress}
.lfm-note{font-size:13px;color:var(--lfm-muted)}
.lfm-hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.lfm-success{padding:22px 24px;border-left:4px solid var(--lfm-accent);background:var(--lfm-field-bg);font-size:18px;line-height:1.45}
.lfm-success:focus{outline:none}
.lfm-success:focus-visible{outline:3px solid var(--lfm-focus);outline-offset:2px}
.lfm-notice{padding:12px 16px;border:1px dashed currentColor;font-size:14px}
@media(max-width:600px){.lfm-fields>.lfm-w-half{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.lfm *{transition:none!important}}
/* 1.2.0 · Valor (R$), Calculadora de IR e pagamento depois do envio */
.lfm-money{display:flex;align-items:stretch}
.lfm-money>span{display:flex;align-items:center;padding:0 12px;border:1px solid var(--lfm-line);border-right:0;background:var(--lfm-field-bg);font-weight:700;color:var(--lfm-muted)}
.lfm-money>input{flex:1;min-width:0}
a.lfm-button{text-decoration:none;align-self:flex-start}
a.lfm-button[hidden]{display:none}
.lfm-checkout{display:flex;flex-direction:column;gap:16px;margin-top:20px;padding:24px;border:1px solid var(--lfm-line);background:var(--lfm-field-bg)}
.lfm-checkout>*,.lfm-checkout p{margin:0}
.lfm-checkout-titulo{font-size:15px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.lfm-checkout-valor{font-size:18px}
.lfm-checkout-valor strong{font-size:24px}
.lfm-checkout-opcoes{display:flex;flex-wrap:wrap;gap:10px}
.lfm-checkout-opcao{min-height:46px;padding:10px 20px;border:1px solid var(--lfm-ink);border-radius:0;background:transparent;color:var(--lfm-ink);font:700 15px/1.3 var(--font-sans,"DM Sans",Arial,sans-serif);cursor:pointer}
.lfm-checkout-opcao[aria-pressed=true]{background:var(--lfm-ink);color:var(--lfm-field-bg)}
.lfm.is-style-fundo-escuro .lfm-checkout-opcao[aria-pressed=true]{color:var(--brand-black,#060015)}
.lfm-checkout-painel{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}
.lfm-checkout-painel[hidden]{display:none}
.lfm-checkout-cartao{flex-direction:column;gap:10px}
.lfm-pix-qr{flex:0 0 180px;width:180px;background:#fff;padding:6px}
.lfm-pix-qr svg{display:block;width:100%;height:auto}
.lfm-pix-dados{flex:1 1 260px;display:flex;flex-direction:column;gap:10px;min-width:0}
.lfm .lfm-pix-codigo{min-height:0;font:13px/1.4 ui-monospace,Menlo,monospace;word-break:break-all;resize:none}
.lfm-pix-acoes{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.lfm-pix-status{font-size:14px;font-weight:700}
.lfm-checkout-aviso{font-size:17px}
@media(max-width:600px){.lfm-checkout{padding:20px}.lfm-pix-qr{flex-basis:160px;width:160px}}
/* Calculadora de IR (1.3.0): enxuta, campos em duas colunas, resultado em destaque */
.lfm-calc{display:flex;flex-direction:column;gap:14px;padding:22px 24px;background:var(--lfm-field-bg);border:1px solid var(--lfm-line)}
.lfm-calc>*{margin:0}
.lfm-calc-titulo{font-size:15px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--lfm-ink)}
.lfm-calc .lfm-fields{gap:12px 14px}
.lfm-calc .lfm-field label:not(.lfm-check){margin-bottom:5px;font-size:14px}
.lfm-calc .lfm-help{margin-top:3px!important;font-size:13px;line-height:1.35}
.lfm-calc input:not([type=checkbox]){min-height:44px;padding:9px 12px}
.lfm-calc .lfm-money>span{padding:0 10px;font-size:14px}
.lfm-calc-painel{display:flex;flex-direction:column;gap:14px}
.lfm-calc-painel[hidden]{display:none}
.lfm-calc-grupo{margin:0;padding:0;border:0;min-width:0}
.lfm-calc-grupo>legend{margin-bottom:8px;font-size:13px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--lfm-muted)}
.lfm-calc-contador{display:flex;align-items:stretch;width:max-content}
.lfm-calc-contador button{width:44px;min-height:44px;padding:0;border:1px solid var(--lfm-line);border-radius:0;background:var(--lfm-field-bg);color:var(--lfm-ink);font:700 20px/1 var(--font-sans,"DM Sans",Arial,sans-serif);cursor:pointer}
.lfm .lfm-calc-contador input{width:56px;text-align:center;border-left:0;border-right:0;-moz-appearance:textfield}
.lfm-calc-contador input::-webkit-inner-spin-button,.lfm-calc-contador input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.lfm-calc-mais{border-top:1px solid var(--lfm-line);padding-top:10px}
.lfm-calc-mais>summary{cursor:pointer;font-size:14px;font-weight:700;width:max-content}
.lfm-calc-mais[open]>summary{margin-bottom:12px}
.lfm-calc-calcular{align-self:flex-start}
.lfm-calc-resultado{display:flex;flex-direction:column;gap:8px;padding:18px 20px;background:var(--brand-yellow,#FEBC0F);color:var(--brand-black,#060015)}
.lfm-calc-resultado[hidden]{display:none}
.lfm-calc-resultado>*{margin:0}
.lfm-calc-valor{font-size:17px;line-height:1.3}
.lfm-calc-valor strong{display:block;font-size:clamp(30px,4vw,40px);font-weight:700;letter-spacing:-.02em;line-height:1.1}
.lfm-calc-mensagem{font-size:14px;line-height:1.4}
.lfm-calc-resultado .lfm-button{margin-top:4px;background:var(--brand-black,#060015);color:#fff}
.lfm-calc-resultado .lfm-button:hover{background:var(--brand-purple,#361C75);color:#fff}
.lfm-calc-troca button{padding:0;border:0;background:none;color:var(--lfm-ink);font:700 14px/1.3 var(--font-sans,"DM Sans",Arial,sans-serif);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.lfm-calc-nota{font-size:13px}
@media(max-width:600px){.lfm-calc{padding:18px 16px}}
/* 1.5.0 · Cartão claro (formulário sobre seção colorida) e link alternativo discreto */
.lfm.is-style-cartao{--lfm-ink:#060015;--lfm-muted:#5E5E5E;--lfm-line:#CBC2AE;--lfm-field-bg:#fff;--lfm-accent:#060015;--lfm-accent-hover:#333;--lfm-button-ink:#FFFEEE;--lfm-error:#B00030;width:100%;max-width:820px;margin-inline:auto;padding:40px;background:#FFFEEE;text-align:left;color:var(--lfm-ink);color-scheme:light}
.lfm.is-style-cartao .lfm-req{color:#D4005C}
.lfm-alt{font-size:14px;line-height:1.4;color:var(--lfm-muted)}
.lfm-form>.lfm-alt{margin-top:14px}
.lfm-alt a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.lfm-alt a:hover{color:var(--lfm-ink)}
@media(max-width:600px){.lfm.is-style-cartao{padding:28px 20px}}
/* Regra do Design System: a grade do formulário nunca deixa espaço vazio.
   Campo de meia linha sem par (sequência ímpar de meias linhas) ocupa a linha inteira. */
.lfm-fields>.lfm-w-half:is(:first-child,:not(.lfm-w-half)+*):not(:has(+.lfm-w-half)),
.lfm-fields>.lfm-w-half:is(:first-child,:not(.lfm-w-half)+*)+.lfm-w-half+.lfm-w-half:not(:has(+.lfm-w-half)),
.lfm-fields>.lfm-w-half:is(:first-child,:not(.lfm-w-half)+*)+.lfm-w-half+.lfm-w-half+.lfm-w-half+.lfm-w-half:not(:has(+.lfm-w-half)),
.lfm-fields>.lfm-w-half:is(:first-child,:not(.lfm-w-half)+*)+.lfm-w-half+.lfm-w-half+.lfm-w-half+.lfm-w-half+.lfm-w-half+.lfm-w-half:not(:has(+.lfm-w-half)){grid-column:1/-1}
