:root{
  --vbs-primary:#1a2347;
  --vbs-primary-2:#222b56;
  --vbs-accent:#73ae00;
  --vbs-accent-2:#5e9100;
}
#vbs-booking-app{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:#fff;margin:30px auto;padding:0 16px}
.vbs-bf-frame{background:rgb(126 138 193 / 23%);border-radius:14px;padding:18px}
.vbs-bf-card{background:rgb(0 0 0 / 20%);border-radius:12px;overflow:hidden;color:#fff;box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);backdrop-filter: blur(5px)}
.vbs-bf-stepbar{display:flex;background:rgb(42 53 104 / 40%);padding:14px 18px;gap:6px;border-bottom:1px solid #2c3766;flex-wrap:wrap;backdrop-filter: blur(10px)}
.vbs-step{flex:1 1 130px;display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;font-size:13px;color:#cfd5e6;font-weight:500;min-width:100px}
.vbs-step.active{background:var(--vbs-accent);color:#fff;font-weight:700}
.vbs-step.done{color:#a9b1ce}
.vbs-step .ic{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.18);border-radius:5px;font-size:12px}
.vbs-step.active .ic{background:rgba(0,0,0,.18);color:#fff}
.vbs-step .num{font-size:11px;opacity:.7;display:block}

.vbs-bf-content{padding:24px}
.vbs-bf-h{margin:0 0 14px;color:#fff;font-size:18px;font-weight:600}
.vbs-bf-sub{color:#a9b1ce;font-size:13px;margin:-8px 0 16px}

.vbs-vt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:680px){.vbs-vt-grid{grid-template-columns:repeat(2,1fr)}}
.vbs-vt-card{background:rgb(42 53 104 / 40%);border:1.5px solid #2f3a6e;border-radius:10px;padding:18px 14px;text-align:center;cursor:pointer;transition:all .15s;position:relative;backdrop-filter: blur(10px)}
.vbs-vt-card:hover{transform:translateY(-2px)}
.vbs-vt-card.selected{border-color:var(--vbs-accent);background:#2a3568;box-shadow:0 0 0 3px rgba(115,174,0,.18)}
.vbs-vt-card svg{width:64px;height:40px;display:block;margin:0 auto 10px}
.vbs-vt-card .vname{color:#fff;font-weight:600;font-size:14px}
.vbs-vt-card .check{display:none;position:absolute;top:8px;right:8px;width:20px;height:20px;background:var(--vbs-accent);border-radius:50%;color:#fff;font-size:13px;font-weight:900;align-items:center;justify-content:center}
.vbs-vt-card.selected .check{display:flex}

.vbs-svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:680px){.vbs-svc-grid{grid-template-columns:1fr}}
.vbs-svc-card{background:#202a55;border:1.5px solid #2f3a6e;border-radius:10px;padding:16px;display:flex;gap:12px;cursor:pointer;position:relative}
.vbs-svc-card.selected{border-color:var(--vbs-accent)}
.vbs-svc-card .ic-circ{width:50px;height:50px;border-radius:50%;background:#2f3a6e;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--vbs-accent);font-weight:700;font-size:18px}
.vbs-svc-card .sv-title{color:#fff;font-weight:600;font-size:14px;margin:0 0 4px}
.vbs-svc-card .sv-desc{color:#a9b1ce;font-size:12px;margin:0 0 8px;line-height:1.45}
.vbs-svc-card .sv-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:#cfd5e6}
.vbs-svc-card .price{background:var(--vbs-accent);color:#fff;padding:3px 9px;border-radius:6px;font-weight:700;font-size:13px}
.vbs-svc-card .badge{position:absolute;top:8px;right:10px;background:rgba(115,174,0,.18);color:var(--vbs-accent);font-size:10px;padding:2px 8px;border-radius:30px;font-weight:700;letter-spacing:.5px}
.sv-dropdown{margin-top:10px;background:#0e1530;border:1px solid #2f3a6e;border-radius:6px;padding:6px;color:#fff;font-size:12.5px}
.sv-dropdown select{background:transparent;border:none;color:var(--vbs-accent);font-weight:700;font-size:13px;font-family:inherit;width:100%}

.vbs-note-strip{background:rgba(115,174,0,.08);border:1px solid rgba(115,174,0,.3);color:#dbe9c9;padding:10px 14px;border-radius:8px;font-size:12.5px;margin-top:14px;display:flex;align-items:flex-start;gap:8px}
.vbs-note-strip.vbs-note-green{background:rgba(76,175,80,.08);border-color:rgba(76,175,80,.3);color:#cdf3d2}

.vbs-dt-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:18px}
@media (max-width:760px){.vbs-dt-grid{grid-template-columns:1fr}}
.vbs-cal2{background:#202a55;border:1.5px solid #2f3a6e;border-radius:10px;padding:16px}
.vbs-cal2 .head{display:flex;justify-content:space-between;align-items:center;color:#fff;font-weight:600;margin-bottom:10px}
.vbs-cal2 .head .nav{width:30px;height:30px;border-radius:6px;background:#2f3a6e;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:14px;user-select:none}
.vbs-cal2 .grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center;font-size:12.5px}
.vbs-cal2 .dow{color:#a9b1ce;font-weight:600;padding-bottom:4px}
.vbs-cal2 .day{padding:7px 0;border-radius:6px;color:#dfe3f3;cursor:pointer}
.vbs-cal2 .day:hover{background:#2f3a6e}
.vbs-cal2 .day.dim{color:#636c97;cursor:default}
.vbs-cal2 .day.blocked{color:#7a3340;text-decoration:line-through;cursor:not-allowed;background:rgba(255,0,0,.06)}
.vbs-cal2 .day.today{outline:1.5px solid #4f5994}
.vbs-cal2 .day.selected{background:var(--vbs-accent);color:#fff;font-weight:700}
.vbs-cal2 .day.past{color:#3a4267;cursor:not-allowed}

.vbs-slots-head{color:#fff;font-weight:600;font-size:13px;margin-bottom:10px}
.vbs-slots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-height:380px;overflow:auto}
@media (max-width:600px){.vbs-slots-grid{grid-template-columns:repeat(2,1fr)}}
.vbs-slot{padding:9px 4px;text-align:center;background:#202a55;border:1.5px solid #2f3a6e;border-radius:6px;color:#fff;font-size:13px;cursor:pointer;font-weight:600}
.vbs-slot:hover{border-color:var(--vbs-accent)}
.vbs-slot.selected{background:var(--vbs-accent);color:#fff;border-color:var(--vbs-accent)}
.vbs-slot .fl{display:block;font-size:9.5px;color:#a9b1ce;font-weight:500;margin-top:2px}
.vbs-slot.selected .fl{color:rgba(255,255,255,.8)}

.vbs-modal-strip{background:rgba(8,12,28,.85);padding:14px;border-radius:8px;color:#fff;margin-top:14px;border:1.5px solid #2f3a6e;font-size:13px}
.vbs-modal-strip h5{margin:0 0 6px;color:var(--vbs-accent);font-size:13px;text-transform:uppercase;letter-spacing:.5px}
.vbs-modal-strip p{margin:0;color:#cfd5e6;line-height:1.55}
.vbs-pickup-card{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #2f3a6e;border-radius:6px;color:#cfd5e6;cursor:pointer;font-size:12px}

.vbs-pay-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}
@media (max-width:760px){.vbs-pay-grid{grid-template-columns:1fr}}
.vbs-form-row{margin-bottom:14px}
.vbs-form-row.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.vbs-form-row .ff label{display:block;font-size:12px;color:#a9b1ce;margin-bottom:6px;font-weight:600}
.vbs-form-row .ff input,.vbs-form-row .ff select,.vbs-form-row .ff textarea{width:100%;padding:10px 12px;background:#0e1530;border:1.5px solid #2f3a6e;border-radius:6px;color:#fff;font-size:13px;font-family:inherit}
.vbs-form-row .ff textarea{resize:vertical;min-height:60px}

.vbs-pay-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:600px){.vbs-pay-options{grid-template-columns:1fr}}
.vbs-pay-card{background:#202a55;border:1.5px solid #2f3a6e;border-radius:8px;padding:14px;display:flex;gap:10px;align-items:center;cursor:pointer}
.vbs-pay-card.selected{border-color:var(--vbs-accent)}
.vbs-pay-card .pradio{width:18px;height:18px;border-radius:50%;border:2px solid #6c7aae;flex-shrink:0;position:relative}
.vbs-pay-card.selected .pradio{border-color:var(--vbs-accent)}
.vbs-pay-card.selected .pradio::after{content:"";position:absolute;inset:3px;background:var(--vbs-accent);border-radius:50%}
.vbs-pay-card .pname{color:#fff;font-weight:600;font-size:13px}
.vbs-pay-card .pdesc{color:#a9b1ce;font-size:11.5px;margin-top:2px}

.vbs-pay-title{color:#fff;font-weight:600;font-size:13px;margin-bottom:10px;letter-spacing:.3px}
.vbs-stripe-wrap{background:#202a55;border:1.5px solid #2f3a6e;border-radius:10px;padding:16px;margin-top:14px}
.vbs-paypal-wrap{background:#fff;border:1.5px solid #2f3a6e;border-radius:10px;padding:16px;margin-top:14px}
.vbs-pay-error{color:#ff8b8b;font-size:12.5px;margin-top:8px;min-height:1em}

.vbs-summary{background:#202a55;border:1.5px solid #2f3a6e;border-radius:10px;padding:18px;align-self:flex-start}
.vbs-summary h4{margin:0 0 12px;color:#fff;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.vbs-summary .sum-row{display:flex;justify-content:space-between;padding:7px 0;color:#cfd5e6;font-size:13px;border-bottom:1px dashed #2f3a6e}
.vbs-summary .sum-row:last-of-type{border-bottom:none}
.vbs-summary .sum-row .k{color:#a9b1ce}
.vbs-summary .sum-row .v{color:#fff;font-weight:600}
.vbs-summary .sum-total{margin-top:8px;padding:12px;background:#0e1530;border-radius:8px;display:flex;justify-content:space-between;align-items:center}
.vbs-summary .sum-total .k{color:#fff;font-weight:700}
.vbs-summary .sum-total .v{color:var(--vbs-accent);font-size:22px;font-weight:800}

.vbs-coupon-msg{font-size:12px;margin-top:6px}
.vbs-coupon-msg.ok{color:#9be78c}
.vbs-coupon-msg.err{color:#ff8b8b}

.vbs-conf{text-align:center;padding:14px 0}
.vbs-conf .check-big{width:80px;height:80px;margin:0 auto 16px;border-radius:50%;background:rgba(76,175,80,.15);display:flex;align-items:center;justify-content:center}
.vbs-conf .check-big svg{width:46px;height:46px}
.vbs-conf h3{color:#fff;margin:0 0 6px;font-size:22px}
.vbs-conf p{color:#a9b1ce;margin:0;font-size:13.5px}
.vbs-ref-pill{display:inline-block;background:#0e1530;border:1px dashed #4f5994;border-radius:8px;padding:8px 16px;color:var(--vbs-accent);font-weight:700;font-family:'Courier New',monospace;letter-spacing:1px;margin-top:14px;font-size:14px}

.vbs-bf-actions{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;background:rgb(42 53 104 / 40%);border-top:1px solid #2f3a6e;gap:8px;backdrop-filter: blur(10px)}
.vbs-btn{padding:11px 22px;border-radius:8px;font-weight:700;font-size:13.5px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-family:inherit;text-decoration:none}
.vbs-btn.primary{background:var(--vbs-accent);color:#fff}
.vbs-btn.primary:hover{background:var(--vbs-accent-2)}
.vbs-btn.primary[disabled]{opacity:.5;cursor:not-allowed}
.vbs-btn.ghost{background:transparent;color:#cfd5e6;border:1.5px solid #2f3a6e}
.vbs-stripe-pay-btn{width:100%;justify-content:center;margin-top:14px}
