/* =====================================================================
 * Booking widget — 公开官网预约向导补充样式
 * 页面外观（header/footer/步骤条/表单）由各模版快照提供；
 * 这里只补快照未包含的向导内部样式，颜色沿用各主题 CSS 变量。
 * ===================================================================== */
#bw-root{
  --bw-gold: var(--gold, #c89667);
  --bw-ink:  var(--ink, #151515);
  --bw-gray: var(--gray, #616161);
  --bw-gray2:var(--gray2, #898989);
  --bw-field:var(--field, #f4f4f4);
}
#bw-root .wz-sel{text-align:center;font-size:15px;color:var(--bw-gray);margin-bottom:22px;min-height:24px;}
#bw-root .wz-sel b{color:var(--bw-ink);font-weight:700;}

#bw-root .wz-cats{display:flex;flex-wrap:wrap;gap:8px 10px;margin-bottom:20px;
  border-bottom:1px solid #e6ddcd;padding-bottom:16px;}
#bw-root .wz-cat{border:none;background:none;cursor:pointer;font:inherit;font-size:15px;
  color:var(--bw-gray2);padding:5px 2px;letter-spacing:.2px;}
#bw-root .wz-cat i{font-style:normal;font-size:13px;color:#b9b9b9;margin-left:3px;}
#bw-root .wz-cat:hover{color:var(--bw-ink);}
#bw-root .wz-cat.on{color:var(--bw-gold);}
#bw-root .wz-cat.on i{color:var(--bw-gold);}

#bw-root .wz-list{display:flex;flex-direction:column;gap:10px;}
#bw-root .wz-svc{display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;
  border:2px solid #ececec;background:#fff;padding:16px 22px;cursor:pointer;font:inherit;
  transition:border-color .15s;}
#bw-root .wz-svc:hover{border-color:var(--bw-gold);}
#bw-root .wz-svc img{flex:none;width:54px;height:54px;object-fit:cover;border:1px solid #ececec;}
#bw-root .wz-svc .n{font-weight:700;font-size:16px;color:var(--bw-ink);flex:1;}
#bw-root .wz-svc .m{flex:none;font-size:14px;color:var(--bw-gray2);}

#bw-root .wz-date{text-align:center;}
#bw-root .wz-range-hint{font-style:italic;font-size:15px;color:var(--bw-gray2);margin-bottom:14px;}
#bw-root .wz-date input{font:inherit;font-size:18px;padding:14px 16px;border:2px solid #d9d9d9;
  color:var(--bw-ink);outline:none;}
#bw-root .wz-date input:focus{border-color:var(--bw-gold);}

#bw-root .wz-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
#bw-root .wz-slot{border:2px solid #ececec;background:#fff;padding:11px 6px;font:inherit;
  font-size:14px;color:var(--bw-ink);cursor:pointer;}
#bw-root .wz-slot:hover{border-color:var(--bw-gold);}
#bw-root .wz-slot.on{background:var(--bw-gold);border-color:var(--bw-gold);color:#fff;}

#bw-root .wz-foot{text-align:center;margin-top:28px;}
#bw-root .empty{text-align:center;color:#a7a7a7;padding:36px 16px;font-size:16px;}

#bw-root .btn-gold{display:inline-block;border:2px solid var(--bw-gold);background:var(--bw-gold);
  color:#fff;font:inherit;font-style:italic;font-size:17px;padding:13px 48px;margin-top:20px;
  cursor:pointer;transition:background .2s,color .2s;}
#bw-root .btn-gold:hover{background:#fff;color:var(--bw-gold);}

#bw-root .success{text-align:center;padding:40px 0 20px;}
#bw-root .success .circle{width:84px;height:84px;border-radius:50%;background:#eef6ec;margin:0 auto 24px;
  display:flex;align-items:center;justify-content:center;}
#bw-root .success svg{width:40px;height:40px;stroke:#2f7a3d;stroke-width:2.4;fill:none;
  stroke-linecap:round;stroke-linejoin:round;}
#bw-root .success h2{font-weight:700;font-size:34px;color:#000;margin:0;}
#bw-root .success p{color:var(--bw-gray);margin-top:14px;font-size:18px;}

.bw-toast{position:fixed;left:50%;bottom:36px;transform:translateX(-50%);
  background:var(--dark,#151515);color:#fff;padding:12px 26px;font-size:15px;font-style:italic;
  opacity:0;pointer-events:none;transition:opacity .25s;z-index:50;max-width:90vw;text-align:center;}
.bw-toast.on{opacity:.95;}

@media (max-width:560px){
  #bw-root .wz-slots{grid-template-columns:repeat(2,minmax(0,1fr));}
  #bw-root .wz-svc{padding:12px 14px;gap:12px;}
  #bw-root .wz-svc img{width:46px;height:46px;}
  #bw-root .wz-svc .m{font-size:13px;}
}
