/* BDRIV Booking Wizard UI (customizable) */
.bdrivbw{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--bdriv-text);background:var(--bdriv-page-bg)}
.bdrivbw *{box-sizing:border-box}
.bdrivbw-card,.bdrivbw-panel,.bdrivbw-summary{background:var(--bdriv-card-bg);border-radius:var(--bdriv-radius);border:1px solid var(--bdriv-border);box-shadow:var(--bdriv-shadow)}
.bdrivbw-card{padding:18px;max-width:760px;margin:22px auto;position:relative}
.bdrivbw-tabs{display:flex;gap:40px;padding:6px 10px 16px}
.bdrivbw-tab{border:0;background:transparent;font-size:20px;color:#c9cdd6;font-weight:800;padding:0 0 10px;cursor:pointer;position:relative}
.bdrivbw-tab.is-active{color:var(--bdriv-primary)}
.bdrivbw-tab.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:3px;border-radius:999px;background:var(--bdriv-primary)}
.bdrivbw-places{position:relative;border:1px solid var(--bdriv-border);border-radius:14px;overflow:hidden;background:var(--bdriv-card-bg)}
.bdrivbw-place-row{display:flex;gap:12px;align-items:center;padding:18px 14px}
.bdrivbw-place-row+.bdrivbw-place-row{border-top:1px solid #eef1f6}
.bdrivbw-dot{width:10px;height:10px;border-radius:999px;background:var(--bdriv-primary);opacity:.35}
.bdrivbw-dot2{background:#0ea5e9}
.bdrivbw-col{flex:1}
.bdrivbw-label{font-size:14px;color:#94a3b8;margin-bottom:4px}
.bdrivbw-input{border:none!important;outline:none!important;background:transparent!important;width:100%;font-size:20px;color:var(--bdriv-text);padding:0!important}
.bdrivbw-swap{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:14px;background:var(--bdriv-card-bg);border:1px solid #eef1f6;box-shadow:0 10px 22px rgba(16,24,40,.12);display:flex;align-items:center;justify-content:center;cursor:pointer}
.bdrivbw-dates{display:grid;grid-template-columns:1fr 1fr;margin-top:14px;border:1px solid var(--bdriv-border);border-radius:14px;overflow:hidden}
.bdrivbw-date{padding:18px 14px;display:flex;flex-direction:column;gap:6px}
.bdrivbw-date+.bdrivbw-date{border-left:1px solid #eef1f6}
.bdrivbw-date.is-disabled{background:#f3f5f8;opacity:.55;pointer-events:none}
.bdrivbw-bottom{display:grid;grid-template-columns:1fr;gap:12px;margin-top:14px}
.bdrivbw-pax{border:1px solid var(--bdriv-border);border-radius:14px;padding:16px 14px;background:var(--bdriv-card-bg);display:flex;align-items:center;justify-content:space-between;cursor:pointer}
.bdrivbw-cta{height:72px;border-radius:14px;background:var(--bdriv-primary);color:#fff;font-size:20px;font-weight:900;border:none;box-shadow:0 14px 26px rgba(44,107,237,.30);cursor:pointer}
.bdrivbw-popover{position:absolute;left:18px;right:18px;top:86px;background:var(--bdriv-card-bg);border:1px solid var(--bdriv-border);border-radius:16px;box-shadow:var(--bdriv-shadow);padding:14px;z-index:20}
.bdrivbw-popline{display:flex;align-items:center;justify-content:space-between}
.bdrivbw-stepper{display:flex;align-items:center;gap:12px}
.bdrivbw-stepper button{width:40px;height:40px;border-radius:12px;border:1px solid var(--bdriv-border);background:var(--bdriv-card-bg);cursor:pointer;font-size:20px}
.bdrivbw-popactions{display:flex;justify-content:flex-end;margin-top:10px}
.bdrivbw-apply{height:44px;padding:0 14px;border-radius:12px;border:0;background:var(--bdriv-dark);color:#fff;cursor:pointer}
.bdrivbw-note{margin-top:12px;font-size:13px;color:var(--bdriv-muted)}
.bdrivbw-note.is-error{color:#b91c1c}
/* wizard */
.bdrivbw-wizard{padding:16px;max-width:1200px;margin:0 auto}
.bdrivbw-progress{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 16px}
.bdrivbw-step{background:var(--bdriv-card-bg);border:1px solid var(--bdriv-border);border-radius:16px;padding:10px 12px;display:flex;gap:10px;align-items:center;color:var(--bdriv-muted)}
.bdrivbw-step span{width:28px;height:28px;border-radius:999px;border:1px solid var(--bdriv-border);display:flex;align-items:center;justify-content:center}
.bdrivbw-step.is-active{color:var(--bdriv-text);border-color:#c7d2fe}
.bdrivbw-step.is-active span{border-color:var(--bdriv-primary);color:var(--bdriv-primary)}
.bdrivbw-grid{display:grid;grid-template-columns:1fr;gap:14px}
.bdrivbw-panel{padding:14px}
.bdrivbw-map{height:220px;border-radius:18px;background:#eef2ff;overflow:hidden}
.bdrivbw-mini{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:10px 0 14px}
.bdrivbw-social{display:flex;gap:8px;flex-wrap:wrap}
.bdrivbw-pill{font-size:12px;border:1px solid var(--bdriv-border);border-radius:999px;padding:6px 10px}
.bdrivbw-booked{font-size:12px;color:var(--bdriv-muted)}
.bdrivbw-controls{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.bdrivbw-ctrl{flex:1;min-width:160px;border:1px solid var(--bdriv-border);border-radius:16px;padding:10px}
.bdrivbw-ctrl-title{font-size:12px;color:var(--bdriv-muted);margin-bottom:8px}
.bdrivbw-ctrl-stepper{display:flex;justify-content:space-between;align-items:center}
.bdrivbw-ctrl-stepper button{width:38px;height:38px;border-radius:12px;border:1px solid var(--bdriv-border);background:var(--bdriv-card-bg);cursor:pointer}
.bdrivbw-ctrl-stepper .val{font-weight:900}
.bdrivbw-vehlist{display:flex;flex-direction:column;gap:10px}
.bdrivbw-veh{border:1px solid var(--bdriv-border);border-radius:18px;padding:12px;display:grid;grid-template-columns:84px 1fr auto;gap:10px;align-items:center;cursor:pointer}
.bdrivbw-veh img{width:84px;height:56px;object-fit:cover;border-radius:12px;background:#f1f5f9}
.bdrivbw-veh .t{font-weight:900}
.bdrivbw-veh .s{font-size:12px;color:var(--bdriv-muted);margin-top:4px}
.bdrivbw-veh .caps{font-size:12px;color:var(--bdriv-text);margin-top:8px;display:flex;gap:10px}
.bdrivbw-veh .price{font-weight:900;font-size:18px}
.bdrivbw-veh.is-selected{border-color:var(--bdriv-primary);box-shadow:0 10px 20px rgba(44,107,237,.12)}
.bdrivbw-continue{margin-top:12px;width:100%;height:56px;border-radius:16px;border:0;background:var(--bdriv-success);color:#fff;font-weight:900;cursor:pointer}
.bdrivbw-h2{font-size:18px;font-weight:900;margin:4px 0 12px}
.bdrivbw-formgrid{display:grid;grid-template-columns:1fr;gap:12px}
.bdrivbw-field label{display:block;font-size:12px;color:var(--bdriv-muted);margin-bottom:6px}
.bdrivbw-field-input{width:100%;padding:14px 12px;border:1px solid var(--bdriv-border);border-radius:16px;font-size:16px}
.bdrivbw-full{grid-column:1/-1}
.bdrivbw-phone{display:grid;grid-template-columns:90px 1fr;gap:10px}
.bdrivbw-phone select{border:1px solid var(--bdriv-border);border-radius:16px;padding:14px 10px;background:var(--bdriv-card-bg)}
.bdrivbw-check{display:flex;gap:10px;align-items:center;font-size:14px}
.bdrivbw-check input{width:18px;height:18px}
.bdrivbw-extras{display:flex;flex-direction:column;gap:10px}
.bdrivbw-extra{border:1px solid var(--bdriv-border);border-radius:18px;padding:12px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}
.bdrivbw-extra .name{font-weight:900}
.bdrivbw-extra .meta{font-size:12px;color:var(--bdriv-muted);margin-top:4px}
.bdrivbw-extra .right{display:flex;align-items:center;gap:10px}
.bdrivbw-toggle{width:52px;height:30px;border-radius:999px;border:1px solid var(--bdriv-border);background:#f8fafc;position:relative;cursor:pointer}
.bdrivbw-toggle:after{content:"";width:24px;height:24px;border-radius:999px;background:#fff;position:absolute;top:2px;left:2px;box-shadow:0 6px 14px rgba(15,23,42,.12)}
.bdrivbw-toggle.is-on{background:var(--bdriv-primary);border-color:var(--bdriv-primary)}
.bdrivbw-toggle.is-on:after{left:26px}
.bdrivbw-qty{display:flex;align-items:center;gap:8px}
.bdrivbw-qty button{width:34px;height:34px;border-radius:12px;border:1px solid var(--bdriv-border);background:var(--bdriv-card-bg);cursor:pointer}
.bdrivbw-paybox{border:1px solid var(--bdriv-border);border-radius:18px;padding:12px}
.bdrivbw-paynote{font-size:12px;color:var(--bdriv-muted);margin-bottom:10px}
.bdrivbw-paybtn{width:100%;height:56px;border-radius:16px;border:0;background:var(--bdriv-dark);color:#fff;font-weight:900;cursor:pointer;margin-top:12px}
.bdrivbw-payerr{margin-top:10px;color:#b91c1c;font-size:13px}
.bdrivbw-summary{padding:14px;position:sticky;top:12px}
.bdrivbw-sumtitle{font-weight:900;margin-bottom:10px}
.bdrivbw-sumline{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #f1f5f9}
.bdrivbw-total{font-size:16px}
@media(min-width:980px){.bdrivbw-bottom{grid-template-columns:280px 1fr}.bdrivbw-grid{grid-template-columns:1fr 360px}.bdrivbw-map{height:280px}.bdrivbw-formgrid{grid-template-columns:1fr 1fr}}
