.bm-req{--ink:#111827;--muted:#64748b;--soft:#f4f7f5;--green:#2f9e67;--green-dark:#218653;--border:#e7ebef;--font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;box-sizing:border-box;font-family:var(--font)}
.bm-req *,.bm-req *::before,.bm-req *::after{box-sizing:border-box}
.bm-req__scrim{position:fixed;inset:0;z-index:99980;background:rgba(15,23,42,.55);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .28s ease}
.bm-req.is-open .bm-req__scrim{opacity:1;pointer-events:auto}
.bm-req__panel{position:fixed;z-index:99981;left:50%;top:50%;width:min(560px,calc(100% - 28px));max-height:min(88vh,720px);transform:translate(-50%,-46%) scale(.96);opacity:0;pointer-events:none;background:#fff;border-radius:22px;box-shadow:0 28px 80px rgba(15,23,42,.28);display:flex;flex-direction:column;overflow:hidden;transition:opacity .28s ease,transform .28s ease}
.bm-req.is-open .bm-req__panel{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.bm-req__head{padding:22px 22px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.bm-req__kicker{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green-dark)}
.bm-req__title{margin:0;font-size:22px;letter-spacing:-.03em;color:var(--ink);line-height:1.25}
.bm-req__close{flex:none;width:40px;height:40px;border:0;border-radius:999px;background:var(--soft);color:var(--ink);font-size:22px;line-height:1;cursor:pointer}
.bm-req__close:hover{background:#e8eee9}
.bm-req__progress{display:flex;gap:6px;padding:16px 22px 0}
.bm-req__dot{flex:1;height:4px;border-radius:99px;background:#e8eee9}
.bm-req__dot.is-on{background:var(--green)}
.bm-req__body{padding:18px 22px 8px;overflow:auto;min-height:220px}
.bm-req__q{margin:0 0 14px;font-size:16px;color:var(--ink);font-weight:650}
.bm-req__hint{margin:-8px 0 14px;font-size:13px;color:var(--muted)}
.bm-req__opts{display:grid;gap:8px}
.bm-req__opt{display:block;width:100%;text-align:left;padding:13px 14px;border:1px solid var(--border);border-radius:14px;background:#fff;color:var(--ink);font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.bm-req__opt:hover{border-color:rgba(47,158,103,.45)}
.bm-req__opt.is-on{border-color:var(--green);background:#f3fbf6;box-shadow:0 0 0 3px rgba(47,158,103,.12)}
.bm-req__filter{width:100%;margin-bottom:10px;padding:11px 12px;border:1px solid var(--border);border-radius:12px;font:inherit;font-size:14px}
.bm-req__list{max-height:240px;overflow:auto;display:grid;gap:8px;padding-right:2px}
.bm-req__note{margin-top:14px}
.bm-req__note label{display:block;font-size:13px;font-weight:650;color:var(--muted);margin-bottom:6px}
.bm-req__note textarea{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:12px;font:inherit;font-size:14.5px;resize:vertical}
.bm-req__field{margin-bottom:14px}
.bm-req__field label{display:block;font-size:13px;font-weight:650;margin-bottom:6px}
.bm-req__iconfield{position:relative}
.bm-req__iconfield input{display:block;width:100%;height:46px;padding:11px 14px 11px 44px;border:1px solid var(--border);border-radius:12px;font:inherit;font-size:15px;background:#fff}
.bm-req__iconfield--area textarea{width:100%;min-height:76px;padding:12px 14px 12px 44px;border:1px solid var(--border);border-radius:12px;font:inherit;font-size:15px;resize:vertical;background:#fff}
.bm-req__iconfield--area .bm-req__glyph{top:14px;transform:none}
.bm-req__iconfield--area textarea:focus{outline:none;border-color:rgba(47,158,103,.65);box-shadow:0 0 0 3px rgba(47,158,103,.12)}
.bm-req__iconfield input:focus,.bm-req__phone:focus-within{outline:none;border-color:rgba(47,158,103,.65);box-shadow:0 0 0 3px rgba(47,158,103,.12)}
.bm-req__glyph{position:absolute;left:13px;top:50%;width:20px;height:20px;transform:translateY(-50%);pointer-events:none}
.bm-req__phone{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:12px;background:#fff;position:relative}
.bm-req__cc{position:relative;flex:none}
.bm-req__cc-btn{display:inline-flex;align-items:center;gap:7px;height:46px;padding:0 10px 0 12px;border:0;border-right:1px solid var(--border);background:#f6faf7;color:var(--ink);font:inherit;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;border-radius:12px 0 0 12px}
.bm-req__cc-btn:hover{background:#eef7f1}
.bm-req__cc-btn svg{width:14px;height:14px;stroke:#64748b}
.bm-req__cc-btn strong{letter-spacing:.01em}
.bm-req__flag{width:22px;height:16px;object-fit:cover;border-radius:3px;box-shadow:0 0 0 1px rgba(15,23,42,.1);flex:none;display:block}
.bm-req__cc-menu{position:fixed;left:0;top:0;bottom:auto;width:min(300px,70vw);background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 46px rgba(15,23,42,.18);z-index:99990;padding:8px;display:flex;flex-direction:column;gap:6px}
.bm-req__cc-menu[hidden]{display:none!important}
.bm-req__cc-search{width:100%;height:38px;padding:0 10px;border:1px solid var(--border);border-radius:10px;font:inherit;font-size:13px}
.bm-req__cc-list{max-height:200px;overflow:auto;display:grid;gap:2px}
.bm-req__cc-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:0;background:transparent;padding:8px 8px;border-radius:10px;font:inherit;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer}
.bm-req__cc-item em{margin-left:auto;font-style:normal;color:var(--muted);font-weight:700}
.bm-req__cc-item:hover,.bm-req__cc-item.is-on{background:#f3fbf6}
.bm-req__phone-num{position:relative;flex:1;min-width:0}
.bm-req__phone-num input{width:100%;height:46px;border:0;padding:11px 12px 11px 42px;border-radius:0 12px 12px 0;font:inherit;font-size:15px;background:transparent}
.bm-req__phone-num input:focus{outline:none}
.bm-req__hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.bm-req__foot{padding:12px 22px 20px;display:flex;gap:10px;justify-content:space-between;align-items:center;position:relative;z-index:1;background:#fff;border-radius:0 0 22px 22px}
.bm-req__btn{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid transparent;font:inherit;font-size:14px;font-weight:650;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.bm-req__btn:disabled{opacity:.45;cursor:not-allowed}
.bm-req__btn--ghost{background:#fff;border-color:var(--border);color:var(--ink)}
.bm-req__btn--primary{background:#111827;color:#fff}
.bm-req__btn--primary:hover{background:#0b1220}
.bm-req__err{margin:0 22px 10px;font-size:13px;color:#b42318}
.bm-req__done{text-align:center;padding:28px 8px 18px}
.bm-req__done h3{margin:0 0 8px;font-size:22px;letter-spacing:-.03em}
.bm-req__done p{margin:0;color:var(--muted)}
@media(max-width:640px){
  .bm-req__panel{width:calc(100% - 16px);max-height:92vh;border-radius:18px}
  .bm-req__title{font-size:19px}
  .bm-req__list{max-height:200px}
}
body.bm-req-lock{overflow:hidden}
