/* ZiyaraWay new booking form — builds on my-trips.css tokens (.zwmt) */
.zwbk h3{font:600 18px/1.35 inherit;margin:4px 0 14px;color:var(--tx);outline:none}
.zwbk-prog{height:4px;border-radius:4px;background:var(--ln);overflow:hidden;margin:0 0 8px}
.zwbk-prog i{display:block;height:100%;background:var(--gold);transition:width .3s ease}
.zwbk-step{margin:0;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gi)}
.zwbk[lang=ar] .zwbk-step,.zwbk[lang=ur] .zwbk-step{letter-spacing:0;font-size:13px}
.zwbk-body{display:grid;gap:12px}
.zwbk-routes,.zwbk-cars{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.zwbk-cars{grid-template-columns:1fr}
.zwbk-opt{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:64px;padding:12px 14px;border:1px solid var(--ln);border-radius:12px;background:#fff;color:var(--tx);font:inherit;text-align:start;cursor:pointer;transition:border-color .16s,background .16s}
.zwbk-opt:hover{border-color:var(--gold)}
.zwbk-opt.on{border-color:var(--gold);background:var(--gs);box-shadow:inset 0 0 0 1px var(--gold)}
.zwbk-opt:disabled{opacity:.5;cursor:not-allowed}
.zwbk-ot{font-weight:600;font-size:15px;line-height:1.3}
.zwbk-od{font-size:12px;color:var(--mu)}
.zwbk-od b{color:var(--g)}
.zwbk-car{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:10px}
.zwbk-car .zwbk-pr{grid-column:2;grid-row:1/3;align-self:center;font-size:14px;text-align:end;color:var(--g)}
.zwbk-car .zwbk-pr s{color:var(--mu);font-size:12px}
.zwbk-car .zwbk-pr span{font-size:12px;color:var(--gi)}
.zwbk-seg{margin-top:4px}
.zwbk-more{margin:4px 0 0;font-size:13px;color:var(--mu)}
.zwbk-more a{color:var(--g);font-weight:600}
.zwbk-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.zwbk-row>.zwbk-err{grid-column:1/-1}
.zwmt-f small{color:var(--mu);font-weight:400}
.zwbk-stepper{display:flex;align-items:stretch;max-width:200px}
.zwbk-stepper button{width:48px;min-height:46px;border:1px solid var(--ln);background:#fff;font-size:20px;color:var(--g);cursor:pointer}
.zwbk-stepper button:first-child{border-radius:8px 0 0 8px}.zwbk-stepper button:last-child{border-radius:0 8px 8px 0}
[dir=rtl] .zwbk-stepper button:first-child{border-radius:0 8px 8px 0}[dir=rtl] .zwbk-stepper button:last-child{border-radius:8px 0 0 8px}
.zwbk-stepper input{width:70px;min-height:46px;border:1px solid var(--ln);border-left:0;border-right:0;text-align:center;font:600 16px/1 inherit;color:var(--tx);background:#fbfaf6;-moz-appearance:textfield}
.zwbk-stepper input::-webkit-inner-spin-button{-webkit-appearance:none}
.zwbk-err{margin:-6px 0 0;font-size:13px;color:#a12a2a}
.zwbk-ferr{margin:10px 0 0}.zwbk-ferr:empty{display:none}
.zwbk [aria-invalid=true]{border-color:#a12a2a !important}
.zwbk-nav{display:flex;gap:8px;margin-top:18px;position:sticky;bottom:0;padding:10px 0;background:linear-gradient(transparent,var(--cr) 30%)}
.zwbk-nav .zwmt-btn{margin:0;flex:1}
.zwbk-nav [data-back]{flex:0 0 auto}
.zwbk-rev dd{display:flex;justify-content:flex-end;align-items:baseline;gap:8px}
.zwbk-edit{border:0;background:none;color:var(--gi);font:600 12px/1 inherit;text-decoration:underline;cursor:pointer;padding:4px}
.zwbk-est{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:10px;background:var(--gs);border:1px solid var(--gold)}
.zwbk-est b{font-size:20px;color:var(--g)}
.zwbk-check{display:flex;gap:10px;align-items:flex-start;font-size:14px}
.zwbk-check input{width:20px;height:20px;margin-top:2px;accent-color:var(--g);flex:none}
.zwbk-hp{position:absolute !important;left:-9999px;width:1px;height:1px;opacity:0}
.zwbk-done{display:grid;gap:10px;text-align:center;padding:24px 16px;border:1px solid var(--ln);border-radius:14px;background:#fff;animation:zwmtIn .35s ease both}
.zwbk-done .zwmt-btn{margin:0}
.zwbk-done h2{margin:0;outline:none}
.zwbk-tick{width:64px;height:64px;margin:0 auto;border-radius:50%;display:grid;place-items:center;background:var(--g);color:var(--gold)}
.zwbk-ref{margin:0;font:600 22px/1.2 Georgia,serif;color:var(--g);letter-spacing:.04em}
@media (max-width:360px){.zwbk-routes{grid-template-columns:1fr}}
.zwbk-rev dd>span{min-width:0}
.zwbk-edit{white-space:nowrap;flex:none}

/* car photos */
.zwbk-car{grid-template-columns:72px 1fr auto!important;column-gap:12px;align-items:center}
.zwbk-car .zwbk-ph{grid-column:1;grid-row:1/3;width:72px;height:54px;border-radius:8px;overflow:hidden;background:#fbfaf6;border:1px solid var(--ln);box-shadow:0 2px 6px rgba(11,52,32,.08);display:grid;place-items:center}
.zwbk-car .zwbk-ph img{width:100%;height:100%;object-fit:cover;display:block}
.zwbk-car .zwbk-ph svg{width:30px;height:30px;fill:none;stroke:var(--g);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.zwbk-car .zwbk-ot{grid-column:2;grid-row:1}.zwbk-car .zwbk-od{grid-column:2;grid-row:2}
.zwbk-car .zwbk-pr{grid-column:3!important}
.zwbk-car:disabled .zwbk-ph{filter:grayscale(1)}
/* Current location (GPS) */
.zwbk-gpsbtn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:46px;margin:-4px 0 4px;padding:10px 14px;border:1.5px dashed #c9a646;border-radius:12px;background:#fffbef;color:#114b2f;font:inherit;font-weight:700;font-size:15px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.zwbk-gpsbtn:hover{background:#fbf3d9}
.zwbk-gpsbtn:focus-visible{outline:2px solid #114b2f;outline-offset:2px}
.zwbk-gpsbtn[disabled]{opacity:.7;cursor:progress}
.zwbk-gpsbtn svg,.zwbk-gps svg{width:22px;height:22px;flex:0 0 22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.zwbk-gpsmsg{margin:0 0 6px;font-size:13px;color:#a12a2a}
.zwbk-gpsmsg:empty{display:none}
.zwbk-gps{display:flex;align-items:flex-start;gap:10px;margin:-4px 0 8px;padding:10px 12px;border-radius:12px;background:#eef6f0;border:1px solid #cfe3d6;color:#114b2f;font-size:14px;line-height:1.5}
.zwbk-gps>span{flex:1}
.zwbk-gps a{color:#114b2f;font-weight:600}
.zwbk-gps small{color:#5d6b63}
/* Other requests (umrah, hotel, group, hourly) */
.zwrq-types{grid-template-columns:1fr}
.zwrq-type{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;text-decoration:none;color:inherit}
.zwrq-type svg{grid-row:1/3;color:#114b2f}
.zwrq-type .zwbk-ot,.zwrq-type .zwbk-od{grid-column:2}
.zwrq-hr{border:0;border-top:1px dashed #e3ddc9;margin:18px 0}
.zwrq .zwbk-step a{color:#a8862c;font-weight:700}
.zwrq .zwmt-f select{width:100%;min-height:44px;padding:8px 10px;border:1px solid var(--ln,#e3e0d6);border-radius:8px;background:#fbfaf6;font:inherit;color:inherit}
.zwrq .zwmt-f select:focus{outline:none;border-color:#c9a646;box-shadow:0 0 0 3px rgba(201,166,70,.22)}
/* Place search (pickup / drop-off suggestions) */
.zwpl{position:relative}
.zwpl-list{position:absolute;z-index:30;inset-inline:0;top:calc(100% + 4px);margin:0;padding:4px;list-style:none;background:#fff;border:1px solid #e3e0d6;border-radius:10px;box-shadow:0 12px 28px rgba(11,52,32,.14);max-height:320px;overflow-y:auto}
.zwpl-list[hidden]{display:none}
.zwpl-o{display:flex;flex-direction:column;gap:1px;padding:9px 10px;border-radius:8px;cursor:pointer;line-height:1.35}
.zwpl-o b{font-weight:600;font-size:15px;color:#1d2a23}
.zwpl-o small{font-size:12px;color:#6b776f}
.zwpl-o[aria-selected=true],.zwpl-o:hover{background:#fbf6e7}
.zwpl-none{padding:10px;font-size:13px;color:#6b776f}
