
/* ════════════════════════════════════════════════════════
   WIZARD COMPONENT STYLES (MATCHING LAYOUT)
   ════════════════════════════════════════════════════════ */

/* Base Overlay */
.wiz-overlay {
  position: fixed; inset: 0; z-index: 900;
  background: rgba(45, 29, 56, .78);
  display: flex; flex-direction: column;
  align-items: center; justify-content: flex-start;
  padding: 28px 14px 60px;
  overflow-y: auto;
  opacity: 0; pointer-events: none;
  transition: opacity .25s ease;
}
.wiz-overlay.open { opacity: 1; pointer-events: all; }

/* Modal Card */
.wiz-card {
  width: 100%; max-width: 560px;
  background: #fff; border-radius: 20px;
  box-shadow: 0 12px 48px rgba(45, 29, 56, .22);
  overflow: hidden;
  transform: translateY(22px) scale(.97);
  transition: transform .32s cubic-bezier(.16, 1, .3, 1), opacity .28s ease;
  opacity: 0;
  margin-top: auto; margin-bottom: auto;
}
.wiz-overlay.open .wiz-card { transform: translateY(0) scale(1); opacity: 1; }

@media(max-width:768px){
  .wiz-overlay{padding:0;align-items:flex-end;justify-content:flex-end;min-height:100dvh}
  .wiz-card{border-radius:20px 20px 0 0;max-height:96dvh;max-width:100%;margin-top:auto;margin-bottom:0;overflow-y:auto}
}

.wh{font-family:var(--fh);font-weight:800;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:#fff}
.wiz-hdr-inner{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;background:var(--dark)}
.wiz-logo-s{display:flex;align-items:center;gap:8px;color:#fff;font-family:var(--fh);font-weight:800;font-size:14px;text-decoration:none}
.wiz-logo-s em{color:var(--primary);font-style:normal}
.wiz-logo-box{width:28px;height:28px;background:var(--primary);border-radius:6px;display:flex;align-items:center;justify-content:center}
.wiz-step-l{font-size:12px;color:var(--text-sec);font-family:var(--fb)}
.wiz-x{width:30px;height:30px;background:rgba(255,255,255,.15);border:none;border-radius:50%;color:#fff;font-size:13px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--t)}
.wiz-x:hover{background:rgba(255,255,255,.28)}

.wiz-prog-track{height:5px;background:#E6E6E6}
.wiz-prog-fill{height:100%;background:var(--primary);transition:width .4s ease}
.wiz-svc-tag{display:flex;align-items:center;justify-content:space-between;background:var(--bg-yellow);border:1px solid var(--primary);border-radius:6px;padding:5px 12px;margin:12px 20px 0;min-height:32px;font-family:var(--fh);font-weight:700;font-size:13px;color:var(--dark)}
.wiz-svc-tag button{background:none;border:none;color:var(--primary);font-size:12px;cursor:pointer;font-family:var(--fb);transition:opacity var(--t)}
.wiz-svc-tag button:hover{opacity:.7}

.wb{padding:20px 20px 4px}
.wt{font-family:var(--fh);font-weight:800;font-size:24px;color:var(--dark);letter-spacing:-.02em;margin-bottom:5px;line-height:1.15}
.ws{font-size:14px;color:var(--text-sec);margin-bottom:18px;line-height:1.55}
.ws em{font-style:normal;font-weight:600;color:var(--dark)}

.wlbl{display:block;font-family:var(--fh);font-weight:700;font-size:11px;color:var(--dark);text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}
.wlbl-opt{font-weight:400;text-transform:none;letter-spacing:0;font-family:var(--fb);color:var(--text-muted);font-size:10px}

.wi{width:100%;height:52px;padding:0 14px;border:1.5px solid var(--border);border-radius:6px;font-family:var(--fb);font-size:16px;color:var(--body-text);background:#fff;outline:none;margin-bottom:10px;-webkit-appearance:none;transition:border-color .18s, box-shadow .18s}
.wi::placeholder{color:var(--text-muted)}
.wi:focus{border-color:var(--primary);border-width:2px;padding:0 13px;box-shadow:0 0 0 3px rgba(222,100,59,.1)}
.wi.ok{border-color:var(--success);border-width:2px;padding:0 13px}
.wi.err{border-color:var(--error);box-shadow:0 0 0 3px rgba(176,0,32,.07)}

.wsel-wrap{position:relative;margin-bottom:10px}
.wsel-wrap svg{position:absolute;right:13px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-sec)}
.wi-sel{width:100%;height:52px;padding:0 38px 0 14px;border:1.5px solid var(--border);border-radius:6px;font-family:var(--fb);font-size:16px;color:var(--body-text);background:var(--bg-page);outline:none;cursor:pointer;-webkit-appearance:none;transition:border-color .18s}
.wi-sel:focus{border-color:var(--primary);border-width:2px}

.wv{font-size:11px;display:none;align-items:center;gap:4px;margin:-5px 0 8px}
.wv.show{display:flex}
.wv.e{color:var(--error)}.wv.ok2{color:var(--success)}

.wmicro{font-size:11px;color:var(--text-muted);margin:-4px 0 8px}
.ph-wrap{position:relative}
.ph-flag{position:absolute;left:13px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:4px;pointer-events:none;font-size:16px;line-height:1}
.ph-flag code{font-family:var(--fb);font-size:13px;color:var(--text-sec);font-style:normal}
.wi.ph{padding-left:60px!important}

.aw{position:relative}
.a-ico{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--primary);pointer-events:none}
.wi.ai{padding-left:38px!important}
.a-drop{position:absolute;top:calc(100% + 3px);left:0;right:0;background:#fff;border:1.5px solid var(--border);border-radius:8px;box-shadow:var(--shadow-md);z-index:300;display:none;overflow:hidden}
.a-drop.open{display:block}
.a-item{padding:9px 13px;font-size:13px;color:var(--body-text);cursor:pointer;display:flex;align-items:center;gap:7px;transition:background .15s}
.a-item:hover{background:var(--bg-cream)}

.coi-b{display:none;background:var(--bg-lavender);border-radius:6px;padding:6px 12px;font-size:12px;color:var(--dark);margin-top:4px;margin-bottom:8px}
.coi-b.show{display:block}

.cb-row{display:flex;align-items:flex-start;gap:10px}
.cb-box-w{width:20px;height:20px;min-width:20px;border:1.5px solid var(--border);border-radius:4px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s;flex-shrink:0;margin-top:2px}
.cb-box-w.c{background:var(--primary);border-color:var(--primary)}
.cb-box-w.err{border:2px solid var(--error)}
.cb-txt{font-size:13px;color:var(--text-sec);line-height:1.5;cursor:pointer}
.cb-txt a{color:var(--primary);text-decoration:underline}

.wbtn{width:100%;height:54px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-family:var(--fh);font-size:13px;font-weight:800;letter-spacing:2px;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .18s,transform .18s;box-shadow:0 4px 14px rgba(222,100,59,.3);cursor:pointer}
.wbtn:hover:not(:disabled){background:var(--hover);transform:translateY(-1px)}
.wbtn:disabled{background:#DDD;box-shadow:none;cursor:not-allowed}
.wbtn.loading .wbtn-spin{display:block}
.wbtn.loading .wbtn-txt{display:none}
.wbtn-spin{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:none}
@keyframes spin{to{transform:rotate(360deg)}}

.wtrust{text-align:center;font-size:11px;color:var(--text-muted);margin-top:8px;display:flex;align-items:center;justify-content:center;gap:4px}
.wfooter{display:flex;align-items:center;justify-content:space-between;padding:12px 20px 16px;border-top:1px solid #F0F0F0}
.wback{font-size:14px;color:var(--text-sec);background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:4px;transition:color var(--t);padding:0}
.wback:hover{color:var(--primary)}

/* Step 2 specific */
.wsub-l{font-family:var(--fh);font-weight:700;font-size:10px;color:var(--dark);text-transform:uppercase;letter-spacing:.09em;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between}
.wsub-l span{color:var(--text-muted);font-weight:400;font-family:var(--fb);text-transform:none;letter-spacing:0}
.vol-g{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.vc{border:1.5px solid #E6E6E6;border-radius:12px;padding:14px 8px;text-align:center;cursor:pointer;transition:border-color var(--t),background var(--t),transform var(--t);background:var(--bg-page)}
.vc:hover{border-color:var(--primary)}
.vc.sel{background:#FFF3ED;border:2px solid var(--primary);transform:scale(1.02)}
.vc.sel.ns{background:var(--bg-yellow)}
.vi{font-size:30px;line-height:1;margin-bottom:8px}
.vn{font-family:var(--fh);font-weight:800;font-size:13px;color:var(--dark);margin-bottom:3px}
.vd{font-size:11px;color:var(--text-sec);line-height:1.35}
.ta-wrap{max-height:0;overflow:hidden;transition:max-height .3s ease}
.ta-wrap.open{max-height:200px}
.wi-ta{width:100%;min-height:88px;padding:12px 14px;border:1.5px solid var(--border);border-radius:6px;font-family:var(--fb);font-size:14px;color:var(--body-text);background:#fff;outline:none;resize:vertical;transition:border-color var(--t)}
.wi-ta:focus{border-color:var(--primary);border-width:2px;padding:11px 13px}
.wdiv{height:1px;background:#E6E6E6;margin:20px 0}
.urg{background:var(--primary);color:#fff;border-radius:8px;padding:10px 16px;margin-bottom:14px;font-family:var(--fh);font-weight:700;font-size:13px;display:none;align-items:center;gap:8px}
.urg.show{display:flex}
.dpills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.dp,.tp{height:40px;padding:0 16px;border-radius:20px;border:1px solid var(--border);background:var(--bg-page);font-family:var(--fb);font-weight:500;font-size:13px;color:var(--dark);cursor:pointer;white-space:nowrap;transition:background var(--t),border-color var(--t),color var(--t);display:flex;align-items:center;gap:5px}
.dp:hover,.tp:hover{border-color:var(--primary);color:var(--primary)}
.dp.sel,.tp.sel{background:var(--primary);border-color:var(--primary);color:#fff}
.dp.today{background:var(--bg-yellow);border-color:rgba(222,100,59,.4)}
.dp.today.sel{background:var(--primary);border-color:var(--primary);color:#fff}
.tp.any.sel{background:var(--bg-yellow);border-color:var(--primary);color:var(--dark)}

.cal-box{background:var(--bg-page);border-radius:12px;padding:14px;max-height:0;overflow:hidden;transition:max-height .35s ease;margin-bottom:14px}
.cal-box.open{max-height:400px}
.cal-nav-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.cal-mo{font-family:var(--fh);font-weight:700;font-size:14px;color:var(--dark)}
.cal-b{width:28px;height:28px;border-radius:50%;border:1px solid var(--border);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color var(--t)}
.cal-b:hover{border-color:var(--primary)}
.cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.cal-hd{font-family:var(--fh);font-weight:700;font-size:10px;color:var(--text-sec);text-align:center;padding:4px 0;text-transform:uppercase}
.cal-d{height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--dark);cursor:pointer;transition:background var(--t),color var(--t)}
.cal-d:hover:not(.dis){background:rgba(222,100,59,.1);color:var(--primary)}
.cal-d.tm{border:2px solid var(--primary)}
.cal-d.sel{background:var(--primary);color:#fff}
.cal-d.dis{color:#DDD;cursor:not-allowed}
.cal-d.empty-d{cursor:default}
.tw-wrap{display:none}
.tw-wrap.show{display:block}

/* Success step */
.suc-hd{background:var(--bg-yellow);padding:28px 20px 22px;text-align:center;position:relative;overflow:hidden}
.cl{position:absolute;top:0;left:0;right:0;height:160px;pointer-events:none;overflow:hidden}
.cp2{position:absolute;opacity:0;animation:cpf2 var(--d,1.4s) ease-in var(--dl,0s) both}
@keyframes cpf2{0%{opacity:1;transform:translateY(-20px) rotate(0deg)}100%{opacity:0;transform:translateY(160px) rotate(var(--rt,540deg))}}
.sp{width:64px;height:64px;margin:0 auto 16px;animation:springPop .5s cubic-bezier(.175,.885,.32,1.5) .4s both}
.sh2{font-family:var(--fh);font-weight:800;font-size:27px;color:var(--dark);letter-spacing:-.02em;margin-bottom:6px}
.sp2{font-size:16px;color:var(--body-text)}
.scard{border:1px solid #E6E6E6;border-radius:12px;overflow:hidden;margin-bottom:14px}
.scard-hd{font-family:var(--fh);font-weight:800;font-size:14px;color:var(--dark);padding:13px 18px;border-bottom:1px solid #F0F0F0;background:#fff}
.sr{display:flex;align-items:flex-start;gap:10px;padding:10px 18px}
.sr:nth-child(even){background:#fff}
.sr:nth-child(odd){background:var(--bg-page)}
.sr-i{font-size:14px;flex-shrink:0;margin-top:2px;color:var(--primary)}
.sr-l{font-family:var(--fh);font-weight:700;font-size:12px;color:var(--text-sec);min-width:70px;letter-spacing:.03em;text-transform:uppercase;padding-top:1px;flex-shrink:0}
.sr-v{font-size:13px;font-weight:500;color:var(--dark);flex:1;line-height:1.4}
.wn-box{background:var(--bg-page);border-radius:12px;padding:16px;margin-bottom:14px}
.wn-t{font-family:var(--fh);font-weight:800;font-size:14px;color:var(--dark);margin-bottom:12px}
.wn-s{display:flex;flex-direction:column;gap:8px}
.wn-step{border-radius:8px;padding:12px 14px;display:flex;align-items:flex-start;gap:10px}
.wn-ico{font-size:18px;flex-shrink:0}
.wn-b strong{font-family:var(--fh);font-weight:700;font-size:13px;color:var(--dark);display:block;margin-bottom:2px}
.wn-b span{font-size:13px;color:var(--body-text);line-height:1.4}
.pn{border-left:3px solid var(--primary);padding:12px 16px;margin-bottom:14px;background:var(--bg-page)}
.pn p{font-size:14px;font-weight:500;color:var(--dark);line-height:1.5}
.scall{font-family:var(--fh);font-weight:700;font-size:16px;color:var(--primary);background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;width:100%;margin-bottom:6px;transition:opacity var(--t)}
.scall:hover{opacity:.7}
.sproof{font-size:12px;color:var(--text-muted);text-align:center;margin-bottom:12px}
.shome{font-size:13px;color:var(--text-sec);background:none;border:none;cursor:pointer;display:block;text-align:center;width:100%;transition:color var(--t);padding:4px 0}
.shome:hover{color:var(--primary)}

@media(max-width:600px){
  .vol-g{grid-template-columns:1fr 1fr}
}
