/* Modal de inscrição (checkout): cadastro → assinatura → pagamento */
.lc-dialog{border:1px solid #fbce81;border-radius:24px;padding:0;background:#f4ecde;color:#02100c;width:min(680px,94vw);max-height:92vh;overflow:hidden;font:15px/1.5 'Plus Jakarta Sans',sans-serif}
.lc-dialog::backdrop{background:rgba(30,26,20,.78)}
.lc-dialog *{box-sizing:border-box}
.lc-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px 14px;border-bottom:1px solid rgba(185,151,85,.35);background:#02100c;color:#fefcf9}
.lc-head h2{margin:0;font:600 20px/1.2 Albra,'Plus Jakarta Sans',sans-serif;color:#dcc28c}
.lc-head small{display:block;margin-top:2px;font-size:12px;color:rgba(254,252,249,.7)}
.lc-close{appearance:none;border:1px solid rgba(220,194,140,.5);background:transparent;color:#dcc28c;border-radius:999px;width:36px;height:36px;font-size:18px;line-height:1;cursor:pointer}
.lc-close:hover{background:rgba(220,194,140,.12)}
.lc-steps{display:flex;gap:6px;padding:12px 22px 0}
.lc-steps span{flex:1;height:4px;border-radius:4px;background:rgba(2,16,12,.12)}
.lc-steps span.is-done{background:#b99755}
.lc-steps span.is-active{background:linear-gradient(90deg,#b99755,#fbce81)}
.lc-body{padding:16px 22px 22px;overflow:auto;max-height:calc(92vh - 110px)}
.lc-body h3{margin:4px 0 6px;font:600 18px/1.25 Albra,'Plus Jakarta Sans',sans-serif;color:#123128}
.lc-body p{margin:0 0 12px}
.lc-muted{color:#5c5345;font-size:13px}
.lc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lc-field{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:#123128}
.lc-field.is-full{grid-column:1/-1}
.lc-field input{appearance:none;width:100%;padding:11px 12px;border:1px solid #cdbc95;border-radius:10px;background:#fefcf9;color:#02100c;font:15px 'Plus Jakarta Sans',sans-serif}
.lc-field input:focus{outline:2px solid #b99755;outline-offset:1px;border-color:#b99755}
.lc-field input[aria-invalid="true"]{border-color:#b3261e}
.lc-pay{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 6px}
.lc-pay label{position:relative;display:block;padding:12px 14px;border:1px solid #cdbc95;border-radius:12px;background:#fefcf9;cursor:pointer}
.lc-pay input{position:absolute;inset:0;opacity:0;cursor:pointer}
.lc-pay label:has(input:checked){border-color:#b99755;box-shadow:0 0 0 2px rgba(185,151,85,.35)}
.lc-pay b{display:block;font-size:14px;color:#123128}
.lc-pay span{display:block;font-size:13px;color:#5c5345}
.lc-check{display:flex;gap:10px;align-items:flex-start;padding:10px 0;font-size:13.5px;line-height:1.45}
.lc-check input{flex:none;width:18px;height:18px;margin-top:2px;accent-color:#b99755}
.lc-check a{color:#8a6c35;font-weight:600}
.lc-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}
.lc-btn{appearance:none;border:0;border-radius:12px;padding:13px 20px;font:700 14px/1 'Plus Jakarta Sans',sans-serif;letter-spacing:.02em;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:filter .3s ease}
.lc-btn-primary{background:radial-gradient(120% 160% at 50% 0,#f6d497 0,#e2b15f 60%,#a8792f 100%);color:#02100c;box-shadow:0 6px 18px rgba(168,121,47,.25)}
.lc-btn-primary:hover{filter:brightness(1.08)}
.lc-btn-primary[disabled]{filter:grayscale(.4);opacity:.7;cursor:progress}
.lc-btn-ghost{background:transparent;color:#123128;border:1px solid #cdbc95}
.lc-error{margin:10px 0 0;padding:10px 12px;border-radius:10px;background:#fbe9e7;color:#8a1c12;font-size:13.5px}
.lc-error:empty{display:none}
.lc-sign-frame{width:100%;height:min(62vh,640px);border:1px solid #cdbc95;border-radius:12px;background:#fff}
.lc-status{display:flex;align-items:center;gap:10px;margin:12px 0 0;font-size:13.5px;color:#123128}
.lc-spinner{width:16px;height:16px;border:2px solid rgba(185,151,85,.35);border-top-color:#b99755;border-radius:50%;animation:lc-spin .9s linear infinite}
@keyframes lc-spin{to{transform:rotate(360deg)}}
.lc-summary{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;background:rgba(185,151,85,.12);font-size:13px;margin-bottom:12px}
.lc-center{text-align:center;padding:24px 8px}
.lc-center .lc-spinner{width:36px;height:36px;margin:0 auto 14px;border-width:3px}
@media (max-width:767px){
  .lc-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border:0;margin:0}
  .lc-body{max-height:calc(100dvh - 110px);padding:14px 16px 24px}
  .lc-grid,.lc-pay{grid-template-columns:1fr}
  .lc-sign-frame{height:calc(100dvh - 300px);min-height:360px}
  .lc-actions .lc-btn{flex:1}
}
@media (prefers-reduced-motion:reduce){.lc-spinner{animation-duration:2s}}
