/* La Femme Wizard — vanilla CSS, escopado em .lf-wizard-* */
.lf-wizard-overlay{position:fixed;inset:0;background:rgba(46,28,22,.55);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;animation:lfFadeIn .2s ease}
.lf-wizard-overlay[hidden]{display:none}
@keyframes lfFadeIn{from{opacity:0}to{opacity:1}}
@keyframes lfSlideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}
.lf-wizard{background:#fff;border-radius:18px;max-width:520px;width:100%;max-height:92vh;overflow-y:auto;position:relative;box-shadow:0 30px 60px rgba(46,28,22,.25);animation:lfSlideUp .3s cubic-bezier(.2,.8,.3,1);font-family:'Inter','Sen',system-ui,-apple-system,sans-serif}
.lf-wizard-close{position:absolute;top:14px;right:14px;background:none;border:0;width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:24px;color:#6b6b6b;display:flex;align-items:center;justify-content:center;z-index:2;transition:background .15s}
.lf-wizard-close:hover{background:#f5ede8;color:#5a2418}
.lf-wizard-body{padding:32px 28px 24px}
.lf-wizard-progress{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8b7865;margin-bottom:8px;font-weight:600}
.lf-wizard-bar{height:4px;background:#f5ede8;border-radius:3px;overflow:hidden;margin-bottom:22px}
.lf-wizard-bar>div{height:100%;background:linear-gradient(90deg,#c9a96e,#a8814f);border-radius:3px;transition:width .3s ease}
.lf-wizard h2{font-family:'Cormorant Garamond',serif;color:#5a2418;font-size:28px;font-weight:600;margin:0 0 4px;line-height:1.2}
.lf-wizard .lf-sub{font-size:13.5px;color:#6b6b6b;margin:0 0 20px;line-height:1.5}
.lf-wizard-fieldgroup{margin-bottom:18px}
.lf-wizard-label{font-family:'Cormorant Garamond',serif;font-size:18px;color:#5a2418;font-weight:600;margin-bottom:8px;display:block}
.lf-wizard-radio{display:flex;align-items:center;gap:11px;width:100%;text-align:left;border:1px solid #e8dfd7;background:#fff;border-radius:10px;padding:11px 13px;font-size:13.5px;margin-bottom:6px;cursor:pointer;font-family:inherit;color:#3d170f;transition:all .15s;line-height:1.4}
.lf-wizard-radio:hover{border-color:#c9a96e;background:#faf6f3}
.lf-wizard-radio.is-on{border-color:#5a2418;background:#faf6f3}
.lf-wizard-radio-dot{width:16px;height:16px;border-radius:50%;border:2px solid #c9a96e;background:#fff;flex-shrink:0;position:relative;transition:all .15s}
.lf-wizard-radio.is-on .lf-wizard-radio-dot{border-color:#5a2418;background:#5a2418}
.lf-wizard-radio.is-on .lf-wizard-radio-dot::after{content:"";position:absolute;inset:3px;background:#fff;border-radius:50%}
.lf-wizard-tier{display:flex;justify-content:space-between;align-items:center;width:100%;border:1px solid #e8dfd7;background:#fff;border-radius:10px;padding:14px 16px;margin-bottom:8px;cursor:pointer;font-family:inherit;transition:all .15s;text-align:left}
.lf-wizard-tier:hover{border-color:#c9a96e;background:#faf6f3}
.lf-wizard-tier.is-on{border-color:#c9a96e;background:#faf6f3;box-shadow:0 0 0 1px #c9a96e}
.lf-wizard-tier-title{font-size:13.5px;font-weight:600;color:#3d170f;margin-bottom:2px}
.lf-wizard-tier-sub{font-size:11px;color:#8b7865;line-height:1.4}
.lf-wizard-tier-price{font-family:'Cormorant Garamond',serif;font-size:24px;color:#5a2418;font-weight:600;line-height:1}
.lf-wizard-input{width:100%;border:1px solid #e8dfd7;border-radius:10px;padding:12px 14px;font-size:14px;font-family:inherit;color:#3d170f;background:#fff;transition:border-color .15s;box-sizing:border-box}
.lf-wizard-input:focus{outline:0;border-color:#5a2418;box-shadow:0 0 0 3px rgba(90,36,24,.08)}
.lf-wizard-input::placeholder{color:#a89d96}
textarea.lf-wizard-input{min-height:60px;resize:vertical;font-family:inherit}
.lf-wizard-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.lf-wizard-field{margin-bottom:12px}
.lf-wizard-field-label{font-size:12px;color:#6b6b6b;margin-bottom:5px;font-weight:500;display:block}
.lf-wizard-actions{display:flex;gap:10px;margin-top:18px}
.lf-wizard-btn{flex:1;border:0;border-radius:10px;padding:14px;font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:all .15s;font-family:inherit}
.lf-wizard-btn-primary{background:#5a2418;color:#fff}
.lf-wizard-btn-primary:hover:not(:disabled){background:#3d170f;transform:translateY(-1px);box-shadow:0 6px 18px rgba(90,36,24,.25)}
.lf-wizard-btn-primary:disabled{background:#c9b9b3;cursor:not-allowed}
.lf-wizard-btn-ghost{background:#f5ede8;color:#5a2418;flex:0 0 auto;padding:14px 18px}
.lf-wizard-btn-ghost:hover{background:#ebe0d6}
.lf-wizard-foot{font-size:10.5px;color:#8b7865;text-align:center;margin-top:12px;letter-spacing:.02em}
.lf-wizard-success{text-align:center;padding:8px 0}
.lf-wizard-success-icon{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#c9a96e,#a8814f);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:#fff;font-size:30px}
.lf-wizard-success h2{font-size:30px}
.lf-wizard-success p{font-size:14px;color:#3d170f;line-height:1.5;margin:8px 0 20px}
.lf-wizard-success .lf-wizard-btn{padding:16px;font-size:14px;background:#25d366}
.lf-wizard-success .lf-wizard-btn:hover{background:#1ea952;transform:translateY(-1px);box-shadow:0 6px 18px rgba(37,211,102,.35)}
.lf-wizard-error{background:#fdf2f2;border:1px solid #f2c4c4;color:#9b2226;border-radius:8px;padding:10px 12px;font-size:12.5px;margin-top:10px}
body.lf-wizard-open{overflow:hidden}
@media (max-width:520px){
  .lf-wizard{border-radius:14px}
  .lf-wizard-body{padding:24px 20px 20px}
  .lf-wizard h2{font-size:24px}
  .lf-wizard-row{grid-template-columns:1fr}
  .lf-wizard-tier-price{font-size:22px}
}
