/* ================================================================
   booking-ui.css  -  Booking aside + preview modal presentation layer
   Pairs with assets/js/booking-ui.js. Presentation only: every price,
   rule and submit still runs through tours.js / common-us.js.
   Prefix: bu-
================================================================ */
:root{--bu-grn:#16a34a;--bu-grnl:#f0fdf4;--bu-pr:#b83a00;--bu-prl:#fff2ec;--bu-cr:#faf7f2;--bu-bd:#e5e7eb;--bu-ink:#111827;--bu-mut:#6b7280;--bu-f:#073f35}
.bu-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.bu-hide{display:none!important}

/* ---------------- Aside shell: sticky head + scrolling body + sticky foot ---------------- */
html body #tdCalcAside.bu-on{overflow:hidden}
html body #tdCalcAside.bu-on .tca-card{display:flex;flex-direction:column;max-height:calc(100vh - 90px)}
html body #tdCalcAside.bu-on .tca-head{flex-shrink:0}
html body #tdCalcAside.bu-on .tca-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth;scrollbar-width:thin;position:relative}
html body #tdCalcAside.bu-on .tca-body>*{flex-shrink:0}
html body #tdCalcAside.bu-on .tca-body::-webkit-scrollbar{width:6px}
html body #tdCalcAside.bu-on .tca-body::-webkit-scrollbar-thumb{background:#d9d2c8;border-radius:6px}
@media (prefers-reduced-motion:reduce){html body #tdCalcAside.bu-on .tca-body{scroll-behavior:auto}}

/* compact header */
html body #tdCalcAside.bu-on .tca-head{padding:11px 14px 10px!important}
html body #tdCalcAside.bu-on .tca-head-row{align-items:center!important}
html body #tdCalcAside.bu-on .tca-price{font-size:24px!important;letter-spacing:-.5px!important}
html body #tdCalcAside.bu-on .tca-price::after{bottom:-3px!important;height:1.5px!important}
html body #tdCalcAside.bu-on .tca-meta{margin-top:7px!important;font-size:11px!important}
html body #tdCalcAside.bu-on .tca-head-badge.bu-dur{display:inline-flex!important;align-items:center;gap:5px;height:28px;padding:0 10px!important;border-radius:999px!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.2)!important;font-size:12px!important;font-weight:700!important;color:#fff!important;white-space:nowrap;box-shadow:none!important}
html body #tdCalcAside.bu-on .tca-head-badge.bu-dur .bi{color:#f3c969!important;font-size:12px}

/* secondary blocks moved inside the scrolling body */
html body #tdCalcAside.bu-on .tca-body .tca-trust{margin:0;padding:8px 2px 0;border:0;background:none}
html body #tdCalcAside.bu-on .tca-body .tca-expert{margin:0;padding:0}

/* ---------------- Field label + minimal "View" links ---------------- */
.bu-lbl-link{display:inline-flex!important;align-items:center;gap:3px;padding:2px 0!important;border:0!important;background:none!important;box-shadow:none!important;color:#8a6d55!important;font-size:11.5px!important;font-weight:600!important;cursor:pointer;font-family:inherit}
.bu-lbl-link .bi{font-size:10px!important;transition:transform .15s}
.bu-lbl-link:hover{color:var(--bu-pr)!important}
.bu-lbl-link:hover .bi{transform:translateX(2px)}

/* ---------------- Date field ---------------- */
.bu-dt{height:auto!important;min-height:58px;display:flex!important;align-items:center;gap:11px!important;padding:8px 12px 8px 8px!important;border:1.5px solid #d9d4cc!important;border-radius:12px!important;background:#fff!important;text-align:left;transition:border-color .15s,box-shadow .15s}
.bu-dt:hover{border-color:var(--bu-pr)!important;box-shadow:0 0 0 3px rgba(184,58,0,.07)}
.bu-dt>.bi-calendar3{display:none!important}
.bu-dt-tile{width:42px;height:42px;border-radius:10px;background:var(--bu-prl);border:1px solid #f6d3c2;color:var(--bu-pr);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;font-size:17px;line-height:1;overflow:hidden}
.bu-dt-tile em{font-style:normal;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--bu-pr);width:100%;text-align:center;padding:3px 0 2px}
.bu-dt-tile strong{font-size:17px;font-weight:700;color:var(--bu-ink);padding-top:3px}
.bu-dt-txt{display:flex;flex-direction:column;min-width:0;flex:1}
.bu-dt-txt>span{font-size:13.5px!important;font-weight:700!important;color:var(--bu-ink)!important}
.bu-dt-txt small{font-size:11px;color:var(--bu-mut);margin-top:2px;font-weight:500}
.bu-dt.is-set{border-color:var(--bu-grn)!important;background:var(--bu-grnl)!important}
.bu-dt.is-set .bu-dt-tile{background:#fff;border-color:#cdebd6;padding:0}
.bu-dt.is-set small{color:#166534}

/* ---------------- Vehicle slider ---------------- */
.bu-vs{position:relative}
.bu-vs-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 16px) / 3);gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:8px 1px 4px;scrollbar-width:none}
.bu-vs-track::-webkit-scrollbar{display:none}
.bu-vs-arrow{position:absolute;top:50%;z-index:3;width:28px;height:28px;margin-top:-12px;border-radius:50%;border:1px solid #e2ddd6;background:#fff;color:#374151;display:flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.12);transition:opacity .2s}
.bu-vs-arrow[data-dir="-1"]{left:-10px}.bu-vs-arrow[data-dir="1"]{right:-10px}
.bu-vs-arrow:disabled{opacity:0;pointer-events:none}
.bu-vs-dots{display:flex;justify-content:center;gap:5px;margin-top:6px}
.bu-vs-dots button{width:6px;height:6px;border-radius:999px;border:0;padding:0;background:#ddd6cc;cursor:pointer;transition:all .2s}
.bu-vs-dots button.is-on{width:18px;background:var(--bu-grn)}
.bu-card{position:relative;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;padding:6px 6px 10px;border:1.5px solid var(--bu-bd);border-radius:12px;background:#fff;cursor:pointer;font-family:inherit;text-align:center;transition:border-color .15s,box-shadow .15s,transform .15s;min-width:0}
.bu-card:hover:not(:disabled){border-color:#86efac;transform:translateY(-1px)}
.bu-card:focus-visible{outline:2px solid var(--bu-grn);outline-offset:2px}
.bu-card:disabled{opacity:.45;cursor:not-allowed}
.bu-card.is-sel{border-color:var(--bu-grn);background:var(--bu-grnl);box-shadow:0 0 0 1px var(--bu-grn) inset}
.bu-chk{position:absolute;top:5px;right:5px;width:16px;height:16px;border-radius:50%;background:var(--bu-grn);color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.6);transition:all .15s}
.bu-card.is-sel .bu-chk{opacity:1;transform:none}
.bu-veh-img{width:100%;height:56px;border-radius:8px;background:linear-gradient(180deg,#fff,var(--bu-cr));display:flex;align-items:center;justify-content:center;overflow:hidden}
.bu-card.is-sel .bu-veh-img{background:#fff}
.bu-veh-img img{max-width:88%;max-height:50px;object-fit:contain}
.bu-veh-img .bi{font-size:24px;color:#b9b2a7}
.bu-card b{display:block;margin-top:6px;font-size:12.5px;font-weight:700;color:var(--bu-ink);line-height:1.2}
.bu-card small{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:2px;font-size:10.5px;color:var(--bu-mut)}
.bu-card .bu-price{margin-top:5px;font-size:12.5px;font-weight:700;color:var(--bu-ink)}
.bu-tag{position:absolute;top:-1px;left:50%;transform:translate(-50%,-50%);padding:2px 7px;border-radius:999px;background:var(--bu-prl);color:var(--bu-pr);font-size:9.5px;font-weight:700;white-space:nowrap;border:1px solid #f6d3c2}

/* hotel cards */
.bu-cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.bu-htl{padding:14px 6px 11px}
.bu-htl .bu-stars{font-size:10px;color:#f59e0b;letter-spacing:1px;margin-top:3px}

/* ---------------- Pickup time tabs ---------------- */
.bu-pt{border:1px solid #e5e1da;border-radius:12px;overflow:hidden;background:#fff}
.bu-pt-tabs{display:grid;grid-template-columns:repeat(5,1fr);background:var(--bu-cr);border-bottom:1px solid #eee8df}
.bu-pt-tab{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px 7px;border:0;background:none;cursor:pointer;font-family:inherit;color:var(--bu-mut)}
.bu-pt-tab .bi{font-size:15px}
.bu-pt-tab b{font-size:10.5px;font-weight:700}
.bu-pt-tab small{font-size:9px;color:#9ca3af;white-space:nowrap}
.bu-pt-tab.is-on{color:#166534;background:#fff}
.bu-pt-tab.is-on::after{content:"";position:absolute;left:18%;right:18%;bottom:-1px;height:2px;border-radius:2px;background:var(--bu-grn)}
.bu-pt-tab.has-sel b::after{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--bu-grn);margin-left:3px;vertical-align:middle}
.bu-pt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:10px}
.bu-slot{height:34px;border:1.5px solid var(--bu-bd);border-radius:8px;background:#fff;font-weight:600;font-size:12px;font-family:inherit;color:#374151;cursor:pointer;transition:all .15s}
.bu-slot:hover{border-color:#86efac}
.bu-slot.is-sel{border-color:var(--bu-grn);background:var(--bu-grnl);color:#166534;box-shadow:0 0 0 1px var(--bu-grn) inset}
.bu-pt-picked{display:flex;align-items:center;gap:6px;padding:8px 12px;border-top:1px dashed #eee8df;font-size:11.5px;color:#4a5568}
.bu-pt-picked .bi{color:var(--bu-grn)}
.bu-pt-picked.is-empty{color:#8a94a0}.bu-pt-picked.is-empty .bi{color:#b9b2a7}

/* ---------------- Traveller rows ---------------- */
html body #tdCalcAside.bu-on .tca-pax-box,html body #previewModal .pv-pax-grid{border:1px solid #e5e1da!important;border-radius:12px!important;overflow:hidden;background:#fff}
html body #tdCalcAside.bu-on .tca-pax-row,html body #previewModal .pv-pax-row{gap:10px;padding:10px 12px!important}
.bu-px-ico{width:34px;height:34px;border-radius:10px;background:var(--bu-cr);border:1px solid #efe8dd;color:var(--bu-pr);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
html body #tdCalcAside.bu-on .tca-pax-info,html body #previewModal .pv-pax-info{flex:1;min-width:0}
html body #tdCalcAside.bu-on .tca-pax-info strong,html body #previewModal .pv-pax-info strong{font-size:13px!important}
html body #tdCalcAside.bu-on .tca-pax-ctrl,html body #previewModal .pv-pax-ctrl{display:flex;align-items:center;gap:2px!important;padding:3px;border-radius:999px;background:#f6f3ee;border:1px solid #ece6dc;flex-shrink:0}
html body #tdCalcAside.bu-on .tca-pax-btn,html body #previewModal .pv-cpb{width:30px!important;height:30px!important;border-radius:50%!important;border:0!important;display:flex!important;align-items:center;justify-content:center;font-size:14px!important;cursor:pointer;transition:transform .15s}
html body #tdCalcAside.bu-on .tca-pax-btn.bu-minus,html body #previewModal .pv-cpb-minus{background:#fff!important;color:#374151!important;box-shadow:0 1px 2px rgba(0,0,0,.08)}
html body #tdCalcAside.bu-on .tca-pax-btn.bu-plus,html body #previewModal .pv-cpb-plus{background:var(--bu-grn)!important;color:#fff!important;box-shadow:0 2px 6px rgba(22,163,74,.3)}
html body #tdCalcAside.bu-on .tca-pax-btn:hover:not(:disabled),html body #previewModal .pv-cpb:hover:not(:disabled){transform:scale(1.07)}
html body #tdCalcAside.bu-on .tca-pax-btn:disabled,html body #previewModal .pv-cpb:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}
html body #tdCalcAside.bu-on .tca-pax-num,html body #previewModal .pv-cpb-num{min-width:26px;text-align:center;font-size:15px!important;font-weight:700!important}

/* ---------------- Group departures ---------------- */
html body #tdCalcAside.bu-on .tca-gdates{display:flex;flex-direction:column;gap:8px}
html body #tdCalcAside.bu-on .tca-gdate{position:relative;display:grid!important;grid-template-columns:1fr auto;gap:6px 10px;padding:10px 12px!important;border:1.5px solid var(--bu-bd)!important;border-radius:12px!important;background:#fff!important;cursor:pointer;transition:border-color .15s}
html body #tdCalcAside.bu-on .tca-gdate:hover{border-color:#86efac!important}
html body #tdCalcAside.bu-on .tca-gdate.tca-gdate-on{border-color:var(--bu-grn)!important;background:var(--bu-grnl)!important;box-shadow:0 0 0 1px var(--bu-grn) inset}
html body #tdCalcAside.bu-on .tca-gdate.tca-gdate-full{opacity:.55;cursor:not-allowed;background:#fafafa!important}
html body #tdCalcAside.bu-on .tca-gdate-label{font-size:13px!important;font-weight:700!important;color:var(--bu-ink)!important}
html body #tdCalcAside.bu-on .tca-gdate-price{font-size:13.5px!important;font-weight:700!important;color:var(--bu-ink)!important;text-align:right}
.bu-gd-bar{grid-column:1/-1;height:5px;border-radius:9px;background:#efe9e1;overflow:hidden}
.bu-gd-bar i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#86efac,var(--bu-grn))}
.tca-gdate-full .bu-gd-bar i{background:#c4c4c4}
.bu-gd-badge{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:var(--bu-grnl);color:#166534;font-size:10px;font-weight:700}
.bu-gd-badge.few{background:#fff4e5;color:#b45309}
.bu-gd-badge.full{background:#f3f4f6;color:var(--bu-mut)}

/* ---------------- Notes (weight rule, infant) ---------------- */
html body #tdCalcAside.bu-on .tca-note{display:flex;gap:8px;padding:10px 12px!important;border-radius:12px!important;background:#fff8eb!important;border:1px solid #f6dfb5!important;color:#6b4f1d!important;font-size:11.5px!important;line-height:1.5}

/* ---------------- Price breakup ---------------- */
html body #tdCalcAside.bu-on .tca-sum-wrap,html body #previewModal .pv-summary{border:1px solid #eadfcf!important;border-radius:14px!important;background:#fff!important;padding:0!important;overflow:hidden}
html body #tdCalcAside.bu-on .tca-sum-title{display:flex;align-items:center;gap:8px;margin:0!important;padding:10px 12px!important;background:linear-gradient(180deg,#fffaf3,#fff6ea);border-bottom:1px solid #f3eadc;font-size:13px!important;font-weight:700!important;color:var(--bu-ink)!important}
html body #tdCalcAside.bu-on .tca-sum-title .bi{width:26px;height:26px;border-radius:8px;background:#fff;border:1px solid #f1dcc0;color:var(--bu-pr);display:inline-flex;align-items:center;justify-content:center;font-size:12px}
html body #tdCalcAside.bu-on .tca-sum-row,html body #previewModal .cs-row{display:flex;justify-content:space-between;gap:10px;margin:0 12px!important;padding:6px 0!important;font-size:12px!important;color:#4a5568!important;border-bottom:1px dashed #f1e8dc}
html body #tdCalcAside.bu-on .tca-sum-row>span:last-child,html body #previewModal .cs-row>span:last-child{font-weight:600;color:var(--bu-ink)}
html body #tdCalcAside.bu-on .tca-sum-row.tca-sum-total,html body #previewModal .cs-total-row{margin:10px 12px 0!important;padding:10px 12px!important;border:1px solid #cdebd6!important;border-radius:11px;background:linear-gradient(135deg,#ecfdf3,#f0fdf4)!important;color:#166534!important;font-weight:700}
html body #tdCalcAside.bu-on .tca-sum-total strong,html body #previewModal .cs-total-row strong{font-size:17px!important;color:#14532d!important}
html body #tdCalcAside.bu-on .tca-sum-pp,html body #previewModal .cs-pp{margin:6px 12px 12px!important;font-size:11px!important;color:#4b7a5c!important;text-align:right}
html body #tdCalcAside.bu-on .tca-sum-row.bu-zero{display:none!important}

/* ---------------- Sticky ticket footer ---------------- */
.bu-foot{position:relative;flex-shrink:0;padding:12px 14px 12px;background:linear-gradient(180deg,#fffaf4 0%,#fff3e6 100%)}
.bu-foot::before{content:"";position:absolute;left:16px;right:16px;top:0;border-top:1.5px dashed #e9cdb6}
.bu-foot-row{display:flex;align-items:center;gap:10px}
.bu-foot-tot{display:flex;flex-direction:column;align-items:flex-start;gap:3px;flex-shrink:0}
.bu-foot-meta{display:flex;align-items:center;gap:6px;font-size:10.5px;white-space:nowrap}
.bu-dots{display:inline-flex;gap:3px;align-items:center}
.bu-dots i{width:6px;height:6px;border-radius:50%;background:#e8d5c4;transition:all .3s}
.bu-dots i.on{background:var(--bu-grn);width:12px;border-radius:9px}
.bu-next{border:0;background:none;padding:0;font-family:inherit;font-size:10.5px;font-weight:700;color:#8a6d55;cursor:pointer;display:inline-flex;align-items:center;gap:3px}
.bu-next.is-next{color:#b45309}
.bu-next:hover{color:var(--bu-pr)}
.bu-amt{display:flex;align-items:baseline;gap:4px;white-space:nowrap}
.bu-amt strong{font-size:18px;font-weight:700;color:#3b1d0b;letter-spacing:-.4px;line-height:1.15}
.bu-amt em{font-style:normal;font-size:10px;font-weight:600;color:#8a6d55}
.bu-cta{flex:1;min-width:0;position:relative;overflow:hidden;height:46px;border:0;border-radius:999px;padding:0 5px 0 14px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#fff;font-family:inherit;font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer;background:linear-gradient(135deg,#c24100 0%,#e04f12 100%);box-shadow:0 8px 20px rgba(184,58,0,.28),inset 0 1px 0 rgba(255,255,255,.18)}
.bu-cta>span{flex:1;text-align:center;overflow:hidden;text-overflow:ellipsis}
.bu-cta::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-18deg);transition:left .6s ease}
.bu-cta:hover::after{left:120%}
.bu-cta-go{width:34px;height:34px;border-radius:50%;background:#fff;color:var(--bu-pr);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;box-shadow:0 2px 6px rgba(0,0,0,.12);transition:transform .2s}
.bu-cta:hover .bu-cta-go{transform:translateX(2px) rotate(-8deg)}
.bu-cta.is-lead{background:linear-gradient(135deg,#073f35,#0b5546);box-shadow:0 8px 20px rgba(7,63,53,.25)}
.bu-cta.is-lead .bu-cta-go{color:var(--bu-f)}
.bu-cta.is-ready{animation:buGlow 1.8s ease-in-out 2}
@keyframes buGlow{50%{box-shadow:0 0 0 6px rgba(184,58,0,.16),0 6px 22px rgba(184,58,0,.38)}}
.bu-cta:focus-visible{outline:2px solid #fff;outline-offset:-4px}

/* smart flow highlight */
.bu-pulse{border-radius:12px;animation:buPulse 1.4s ease}
@keyframes buPulse{25%{box-shadow:0 0 0 6px rgba(22,163,74,.14);background:rgba(240,253,244,.7)}}
@media (prefers-reduced-motion:reduce){.bu-pulse,.bu-cta.is-ready{animation:none}}

/* ---------------- Booking-disabled lead form (aside + preview) ---------------- */
html body .tdl-wrap{display:flex;flex-direction:column;gap:14px}
html body .tdl-head{display:flex;gap:10px;padding:11px 12px;border-radius:13px;background:linear-gradient(180deg,#fffbeb,#fff7e6);border:1px solid #f6dfb5}
html body .tdl-icon{width:34px;height:34px;border-radius:10px;background:#fff;border:1px solid #f3d8a6;color:#b45309;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
html body .tdl-title{font-size:13px!important;color:#7c4a03!important;margin:0!important}
html body .tdl-msg{font-size:11.5px!important;color:#6b4f1d!important;line-height:1.5;margin:2px 0 0!important}
html body .tdl-grid{display:grid;grid-template-columns:1fr;gap:12px}
html body .tdl-grid input:not([type=hidden]):not([type=checkbox]),html body .tdl-grid select,html body .tdl-grid textarea{width:100%;min-height:44px;padding:0 12px;border:1.5px solid #dcd6cd;border-radius:10px;background:#fff;font-size:13.5px;font-family:inherit;color:var(--bu-ink);box-shadow:0 1px 2px rgba(17,24,39,.04);transition:border-color .15s,box-shadow .15s}
html body .tdl-grid textarea{min-height:84px;padding:11px 12px;resize:vertical;line-height:1.5}
html body .tdl-grid input:focus,html body .tdl-grid select:focus,html body .tdl-grid textarea:focus{outline:none;border-color:var(--bu-pr);box-shadow:0 0 0 3px rgba(184,58,0,.10)}
html body .tdl-grid label{display:block;margin-bottom:6px;font-size:12px;font-weight:700;color:#374151}
html body .tdl-submit{width:100%;height:46px;border:0;border-radius:999px;background:linear-gradient(135deg,#073f35,#0b5546);color:#fff;font-weight:700;font-family:inherit;cursor:pointer}
html body #tdCalcAside.bu-on .tdl-actions{display:none}

/* ---------------- Preview modal ---------------- */
html body #previewModal .pv-steps-bar{padding:14px 56px 12px 16px!important;background:linear-gradient(180deg,#fff,#fdfbf8)!important;border-bottom:1px solid #f0ebe3}
html body #previewModal .pv-step-n{width:26px!important;height:26px!important;border-radius:50%!important;border:1.5px solid #dcd6cd!important;background:#fff!important;color:#9aa3ad!important;font-size:11.5px!important;font-weight:700!important;display:inline-flex!important;align-items:center;justify-content:center}
html body #previewModal .pv-step-active .pv-step-n{border-color:var(--bu-pr)!important;background:var(--bu-pr)!important;color:#fff!important;box-shadow:0 0 0 4px rgba(184,58,0,.12)}
html body #previewModal .pv-step-done .pv-step-n{border-color:var(--bu-grn)!important;background:var(--bu-grn)!important;color:#fff!important}
html body #previewModal .pv-step-active .pv-step-lbl{color:var(--bu-ink)!important;font-weight:700}
html body #previewModal .pv-step-done .pv-step-lbl{color:#166534!important}
html body #previewModal .pv-date-btn.bu-dt{width:100%}
html body #previewModal .pv-field>.pv-select.bu-sr+.bu-vs,html body #previewModal .pv-field>.pv-select.bu-sr+.bu-cards3{margin-top:2px}
html body #previewModal .pv-lbl:has(.pv-lbl-action){display:flex;align-items:center;justify-content:space-between;gap:8px}
html body #previewModal .pv-lbl-action.bu-lbl-link{margin-left:auto}
html body #previewModal .pv-coupon-row{display:flex;gap:8px;padding:6px;border:1.5px dashed #e3c7b6;border-radius:12px;background:#fffaf6}
html body #previewModal .pv-coupon-input{flex:1;border:0!important;background:none!important;box-shadow:none!important;text-transform:uppercase;font-size:13px}
html body #previewModal .pv-coupon-apply{height:34px;padding:0 14px;border-radius:9px;border:0;background:var(--bu-f);color:#fff;font-size:12px;font-weight:700}
html body #previewModal .pv-sum-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700}
html body #previewModal .pv-trust-bar{display:flex;justify-content:center;gap:14px;font-size:10.5px;color:var(--bu-mut)}
html body #previewModal .pv-trust-bar .bi{color:var(--bu-grn)}
/* payment options */
html body #previewModal .pv-pay-options{display:flex;flex-direction:column;gap:8px}
html body #previewModal .pv-pay-opt{position:relative;display:flex;align-items:center;gap:12px;padding:12px 13px!important;border:1.5px solid var(--bu-bd)!important;border-radius:13px!important;cursor:pointer;transition:all .15s;background:#fff}
html body #previewModal .pv-pay-opt:hover{border-color:#86efac!important}
html body #previewModal .pv-pay-opt:has(input:checked){border-color:var(--bu-grn)!important;background:var(--bu-grnl)!important;box-shadow:0 0 0 1px var(--bu-grn) inset}
html body #previewModal .pv-pay-opt input{accent-color:var(--bu-grn);width:18px;height:18px}
html body #previewModal .pv-pay-opt em{display:block;font-style:normal;font-size:11px;color:var(--bu-mut);margin-top:2px}
/* billing fields: label above, 44px inputs */
html body #previewModal .pv-step-body .pv-lbl{font-size:12px!important;font-weight:700!important;color:#374151!important;margin-bottom:6px}
html body #previewModal .pv-text-input,html body #previewModal .pv-textarea,html body #previewModal .pv-country-code{min-height:44px;border:1.5px solid #dcd6cd!important;border-radius:10px!important;background:#fff!important;font-size:13.5px!important;padding:0 12px!important;box-shadow:0 1px 2px rgba(17,24,39,.04);transition:border-color .15s,box-shadow .15s}
html body #previewModal .pv-textarea{min-height:84px;padding:11px 12px!important;line-height:1.5}
html body #previewModal .pv-text-input:focus,html body #previewModal .pv-textarea:focus,html body #previewModal .pv-country-code:focus{outline:none;border-color:var(--bu-pr)!important;box-shadow:0 0 0 3px rgba(184,58,0,.10)}
html body #previewModal .pv-phone-wrap{display:flex;align-items:stretch;border:1.5px solid #dcd6cd;border-radius:12px;background:#fff;overflow:hidden}
html body #previewModal .pv-phone-wrap:focus-within{border-color:var(--bu-pr);box-shadow:0 0 0 3px rgba(184,58,0,.10)}
html body #previewModal .pv-phone-wrap .pv-country-code{margin:5px 0 5px 5px;border:0!important;border-radius:8px!important;background:#f6f1ea!important;font-weight:700!important;box-shadow:none;min-height:34px}
html body #previewModal .pv-phone-wrap .pv-text-input{flex:1;border:0!important;box-shadow:none!important;font-weight:600;letter-spacing:.03em}
html body #previewModal .bu-req{color:#d94f3a;margin-left:2px}
html body #previewModal .pv-field.bu-err .pv-text-input,html body #previewModal .pv-field.bu-err .pv-textarea,html body #previewModal .pv-field.bu-err .pv-phone-wrap{border-color:#e06a55!important;background:#fffafa!important}
html body #previewModal .pv-field.bu-ok .pv-text-input,html body #previewModal .pv-field.bu-ok .pv-textarea,html body #previewModal .pv-field.bu-ok .pv-phone-wrap{border-color:#9bd8b0!important}
html body #previewModal .pv-field-err{display:flex;align-items:center;gap:5px;font-size:11px;color:#c2412d;margin-top:4px}
html body #previewModal .pv-field-err:empty{display:none}
html body #previewModal .pv-field.bu-shake{animation:buShake .35s ease}
@keyframes buShake{20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}
/* confirm step */
html body #previewModal .pv-confirm-icon{width:74px;height:74px;margin:0 auto;border-radius:50%;background:var(--bu-grnl);display:flex;align-items:center;justify-content:center;font-size:32px;color:var(--bu-grn)}
html body #previewModal .pv-status-card h4,html body #previewModal .pv-status-card .nit-h4{font-size:19px;text-align:center;margin-top:12px}
html body #previewModal .pv-status-card>p{text-align:center;font-size:12.5px;color:var(--bu-mut)}
/* primary buttons inside steps */
html body #previewModal .pv-book-now{height:48px;border-radius:999px!important;background:linear-gradient(135deg,#c24100 0%,#e04f12 100%)!important;box-shadow:0 8px 20px rgba(184,58,0,.28)!important;font-weight:700}
html body #previewModal .pv-customise,html body #previewModal .pv-add-cart,html body #previewModal .pv-wishlist{border-radius:10px!important}
html body #previewModal .pv-step-body .pv-lbl{display:flex;justify-content:flex-start!important;align-items:center;gap:2px}

/* ---------------- Preview modal: tab sheet on phones AND tablets (<=1024px) ----------------
   common-us.js adds .pv-mobile-sheet up to 1024px. The site's own sheet rules only exist inside
   @media(max-width:768px), so tablets used to get both panes stacked (tour info + booking in one
   long scroll). These class-based rules give tablets the same Tour Info / Book tabs. */
@media (max-width:1024px){
  #previewModal.pv-mobile-sheet{align-items:flex-end;padding:0}
  #previewModal.pv-mobile-sheet .preview-box{display:grid;border-radius:18px 18px 0 0;width:100%;max-width:100%;margin:0;max-height:94dvh;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto}
  #previewModal.pv-mobile-sheet .pv-mobile-tabs{display:flex;border-bottom:1px solid #d0d5dd;flex-shrink:0}
  #previewModal.pv-mobile-sheet .preview-left,
  #previewModal.pv-mobile-sheet .preview-right{display:none;min-width:0;max-height:calc(94dvh - 56px - 64px);overflow-y:auto;border-left:none;border-top:none}
  #previewModal.pv-mobile-sheet .preview-left.pv-tab-active,
  #previewModal.pv-mobile-sheet .preview-right.pv-tab-active{display:block}
  #previewModal.pv-mobile-sheet .pv-mobile-bar{display:flex}
}
/* tablets: keep the sheet centred and readable instead of edge to edge */
@media (min-width:769px) and (max-width:1024px){
  #previewModal.pv-mobile-sheet{align-items:center;padding:24px}
  #previewModal.pv-mobile-sheet .preview-box{max-width:720px;margin:0 auto;border-radius:20px;max-height:min(92dvh,980px)}
  #previewModal.pv-mobile-sheet .preview-left,
  #previewModal.pv-mobile-sheet .preview-right{max-height:calc(min(92dvh,980px) - 56px - 72px)}
  #previewModal.pv-mobile-sheet .pv-img-wrap{height:300px}
}
/* sheet bottom bar on tablets (site styles it only up to 768px) */
@media (max-width:1024px){
  #previewModal.pv-mobile-sheet .pv-mobile-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:12px 1.1rem calc(12px + env(safe-area-inset-bottom));border-top:1px solid #d0d5dd;background:#fff;box-shadow:0 -2px 14px rgba(0,0,0,.06);flex-shrink:0}
  #previewModal.pv-mobile-sheet .pv-cta-area .pv-book-now{display:none}
}

/* ---------------- Preview modal: left side (preview-tours.php) ---------------- */
html body #previewModal .pv-img-badge:empty{display:none}
html body #previewModal .pv-info-v2 .pv-meta-row{align-items:center}
html body #previewModal .pv-rate{display:inline-flex;align-items:center;gap:4px;color:var(--bu-ink)}
html body #previewModal .pv-rate .bi{color:#f59e0b!important}
html body #previewModal .pv-rate small{color:var(--bu-mut);font-size:inherit}
.pv-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 16px}
.pv-fact{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid #efe6da;border-radius:12px;background:linear-gradient(180deg,#fff,var(--bu-cr));min-width:0}
.pv-fact>.bi{width:30px;height:30px;border-radius:9px;background:var(--bu-prl);color:var(--bu-pr);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.pv-fact span{display:flex;flex-direction:column;min-width:0}
.pv-fact small{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--bu-mut)}
.pv-fact b{font-size:12.5px;font-weight:700;color:var(--bu-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body #previewModal .pv-info-v2 .pv-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.pv-ie-tabs{display:flex;gap:6px;margin:0 0 10px;padding:4px;background:var(--bu-cr);border:1px solid #efe6da;border-radius:12px}
.pv-ie-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;border:0;border-radius:9px;background:none;font-family:inherit;font-size:12.5px;font-weight:700;color:var(--bu-mut);cursor:pointer;transition:background .15s,color .15s}
.pv-ie-tab em{font-style:normal;font-size:10.5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ece5da;color:#6b5a48;display:inline-flex;align-items:center;justify-content:center}
.pv-ie-tab.is-on{background:#fff;color:var(--bu-ink);box-shadow:0 1px 4px rgba(15,23,42,.08)}
.pv-ie-tab[data-bu-ie="inc"].is-on .bi{color:var(--bu-grn)}
.pv-ie-tab[data-bu-ie="exc"].is-on .bi{color:#dc2626}
.pv-ie-tab:focus-visible{outline:2px solid var(--bu-grn);outline-offset:1px}
.pv-ie .pv-list-card[hidden]{display:none!important}
.pv-it-all{margin-left:auto;border:0;background:none;padding:0;font-family:inherit;font-size:11.5px;font-weight:700;color:var(--bu-pr);cursor:pointer}
.pv-it-all:hover{text-decoration:underline}
html body #previewModal details.pv-day{display:block;padding:0;overflow:hidden}
details.pv-day>summary{list-style:none;display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer}
details.pv-day>summary::-webkit-details-marker{display:none}
details.pv-day>summary:focus-visible{outline:2px solid var(--bu-grn);outline-offset:-2px;border-radius:12px}
html body #previewModal details.pv-day .pv-it-day{display:flex;flex-direction:column;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:10px;background:var(--bu-prl);color:var(--bu-pr);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;line-height:1;padding:0}
details.pv-day .pv-it-day b{font-size:16px;letter-spacing:0;margin-top:2px}
.pv-day-t{flex:1;min-width:0;font-size:13px;font-weight:700;color:var(--bu-ink);line-height:1.3}
.pv-day-c{color:var(--bu-mut);font-size:12px;transition:transform .2s}
details.pv-day[open] .pv-day-c{transform:rotate(180deg)}
html body #previewModal details.pv-day>p{margin:0;padding:0 12px 12px 62px;font-size:12.5px;line-height:1.55;color:#4b5563}
html body #previewModal .pv-info-v2 .pv-itinerary{display:flex;flex-direction:column;gap:8px}
@media(max-width:480px){.pv-facts,html body #previewModal .pv-info-v2 .pv-highlights{grid-template-columns:1fr}html body #previewModal details.pv-day>p{padding-left:12px}}

/* ---------------- Preview modal: ticket footer (desktop; tablet/mobile sheet keeps its bottom bar) ---------------- */
.bu-mfoot{display:none}
@media(min-width:1025px){
  html body #previewModal .bu-mfoot{display:block;position:sticky;bottom:0;z-index:3;padding:12px 16px;background:linear-gradient(180deg,#fffaf4 0%,#fff3e6 100%)}
  html body #previewModal .bu-mfoot[hidden]{display:none}
  html body #previewModal .bu-mfoot::before{content:"";position:absolute;left:18px;right:18px;top:0;border-top:1.5px dashed #e9cdb6}
  html body #previewModal.bu-mf #pvBookNowBtn,html body #previewModal.bu-mf #pvProceedContactBtn,html body #previewModal.bu-mf #pvProceedLoginBtn{display:none!important}
}
.bu-mfoot .bu-foot-tot[hidden]{display:none}
.bu-mf-rate{display:inline-flex;align-items:center;gap:3px;font-weight:700;color:#3b1d0b}
.bu-mf-rate .bi{color:#f59e0b}
.bu-mf-sep{color:#a8927d;font-weight:600}
.bu-mf-rate+.bu-mf-sep::before,.bu-mf-step+.bu-mf-sep::before,.bu-mf-sep+.bu-next::before,.bu-mf-rate+.bu-next::before{content:"·";margin-right:5px;color:#c9b7a5}
.bu-mf-step{font-weight:700;color:#8a6d55}
.bu-cta.is-wa{background:linear-gradient(135deg,#128c4a,#16a34a);box-shadow:0 8px 20px rgba(22,163,74,.28)}
.bu-cta.is-wa .bu-cta-go{color:var(--bu-grn)}

/* ---------------- Preview modal: step 4 "What happens next" ---------------- */
.bu-tl[hidden]{display:none}
.bu-tl{margin:14px 0 4px;text-align:left}
.bu-ref{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 auto 12px;padding:7px 8px 7px 12px;width:max-content;max-width:100%;border:1.5px dashed #cfe9d8;border-radius:999px;background:var(--bu-grnl);font-size:12px;color:#166534}
.bu-ref b{font-weight:800;letter-spacing:.02em;word-break:break-all}
.bu-copy{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 10px;border:1px solid #bbe5c8;border-radius:999px;background:#fff;font-family:inherit;font-size:11px;font-weight:700;color:#166534;cursor:pointer}
.bu-tl-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid #efe6da;border-bottom:0;border-radius:14px 14px 0 0;background:linear-gradient(180deg,#fffaf3,#fff)}
.bu-tl-head b{display:block;font-size:13.5px;font-weight:800;color:var(--bu-ink)}
.bu-tl-head small{font-size:11px;color:var(--bu-mut)}
.bu-tl-ring{--p:0;width:40px;height:40px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:conic-gradient(var(--bu-grn) calc(var(--p)*1%),#ece5da 0)}
.bu-tl-ring span{width:30px;height:30px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:800;color:var(--bu-ink)}
.bu-tl-list{list-style:none;margin:0;padding:6px 14px 10px;border:1px solid #efe6da;border-radius:0 0 14px 14px;background:#fff}
.bu-tl-i{position:relative;display:flex;gap:12px;padding:9px 0}
.bu-tl-i:not(:last-child)::before{content:"";position:absolute;left:14px;top:38px;bottom:-6px;width:2px;background:#ece5da}
.bu-tl-i.done:not(:last-child)::before{background:var(--bu-grn)}
.bu-tl-dot{width:30px;height:30px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:13px;background:#f3efe9;color:#8a7a68;border:2px solid #fff;box-shadow:0 0 0 1px #ece5da}
.bu-tl-i.done .bu-tl-dot{background:var(--bu-grn);color:#fff;box-shadow:0 0 0 1px var(--bu-grn)}
.bu-tl-i.now .bu-tl-dot{background:#fff7ed;color:#c2410c;box-shadow:0 0 0 1px #fdba74,0 0 0 5px rgba(251,146,60,.14)}
.bu-tl-i>div{min-width:0;padding-top:2px}
.bu-tl-i b{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--bu-ink)}
.bu-tl-i small{display:block;margin-top:2px;font-size:11.5px;color:var(--bu-mut);overflow-wrap:anywhere}
.bu-tl-i em{font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:999px}
.bu-tl-i em.d{background:var(--bu-grnl);color:#166534}
.bu-tl-i em.n{background:#fff7ed;color:#c2410c}
.bu-tl-i.next b{color:#4b5563}
html body #previewModal #pvStatusSummary{text-align:left;padding:4px 14px;margin-top:12px;max-width:none;width:auto}
html body #previewModal #pvStatusSummary p{max-width:none;width:auto}
html body #previewModal #pvStatusSummary p{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0;padding:7px 0;font-size:12.5px;color:var(--bu-ink);text-align:right;border-bottom:1px dashed #ece5da}
html body #previewModal #pvStatusSummary p:last-child{border-bottom:0}
html body #previewModal #pvStatusSummary p strong{flex-shrink:0;font-weight:600;color:var(--bu-mut);text-align:left}
html body #previewModal .bu-mfoot .bu-cta{font-size:12.5px;padding-left:12px;gap:6px}
html body #previewModal .bu-mfoot .bu-amt strong{font-size:17px}

/* ---------------- Shared date picker (#dpDialog) ----------------
   Same parts as before (month nav, weekdays, days, legend, Clear/Confirm); presentation only.
   Prices use --len (set by renderDP) so long amounts shrink to fit instead of being cut. */
html body #dpDialog.dp-dialog-overlay{background:rgba(17,24,39,.5);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);padding:16px}
html body #dpDialog .dp-dialog-box,html body #dpDialog .dp-dialog-box *{box-sizing:border-box}
html body #dpDialog .dp-dialog-box{position:relative;width:440px;max-width:100%;padding:0;border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.28);overflow:hidden;animation:buDpIn .2s cubic-bezier(.2,.8,.2,1)}
@keyframes buDpIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
html body #dpDialog .dp-header{display:grid;grid-template-columns:36px minmax(0,1fr) 36px 36px;align-items:center;gap:6px;margin:0;padding:16px 16px 10px;background:linear-gradient(180deg,#fff7f1,#fff)}
html body #dpDialog .dp-header>div{display:contents!important}
html body #dpDialog #dpPrevMonth{grid-column:1;grid-row:1}
html body #dpDialog .dp-month-label{grid-column:2;grid-row:1;text-align:center;font-size:17px;font-weight:800;color:var(--bu-ink,#111827);letter-spacing:-.2px}
html body #dpDialog #dpNextMonth{grid-column:3;grid-row:1}
html body #dpDialog #dpCloseBtn{grid-column:4;grid-row:1}
html body #dpDialog .dp-nav-btn,html body #dpDialog .dp-close-btn{position:static!important;width:36px!important;height:36px!important;padding:0;border-radius:8px!important;border:0!important;display:flex;align-items:center;justify-content:center;font-size:14px!important;cursor:pointer;transition:background .15s,color .15s}
html body #dpDialog .dp-nav-btn{background:#f4f1ec!important;color:#374151!important}
html body #dpDialog .dp-nav-btn:hover{background:var(--bu-prl,#fff2ec)!important;color:var(--bu-pr,#b83a00)!important}
html body #dpDialog .dp-close-btn{background:transparent!important;color:#6b7280!important}
html body #dpDialog .dp-close-btn:hover{background:#f3f4f6!important;color:#111827!important}
html body #dpDialog :is(.dp-nav-btn,.dp-close-btn,.dp-day,.dp-btn-clear,.dp-btn-confirm):focus-visible{outline:2px solid var(--bu-pr,#b83a00);outline-offset:2px}
html body #dpDialog .dp-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:0;padding:4px 12px 2px}
html body #dpDialog .dp-weekdays span{text-align:center;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6b7280;padding:4px 0}
html body #dpDialog .dp-day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;padding:2px 12px 8px}
html body #dpDialog .dp-day{position:relative;min-width:0;width:auto;height:54px;aspect-ratio:auto;margin:0;padding:0 1px;border:1px solid #ebe5dc;border-radius:8px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:15px;font-weight:700;line-height:1;color:#111827;cursor:pointer;container-type:inline-size;transition:background .12s,color .12s,box-shadow .12s,transform .08s}
html body #dpDialog .dp-day .dp-day-price{display:block;max-width:100%;margin:0;overflow:hidden;white-space:nowrap;font-weight:600;line-height:1;letter-spacing:-.2px;font-size:clamp(8.5px,calc(100cqi / (var(--len,7) * .58)),11.5px)}
html body #dpDialog .dp-day .dp-day-price{color:#6b7280}
html body #dpDialog .dp-day:is(.dp-day-weekend,.dp-day-holiday):not(.dp-past)::before{content:"";position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%}
html body #dpDialog .dp-day.dp-day-weekend:not(.dp-past)::before{background:#2563eb}
html body #dpDialog .dp-day.dp-day-holiday:not(.dp-past)::before{background:#dc2626}
html body #dpDialog .dp-day:not(.dp-past):hover{background:var(--bu-prl,#fff2ec);color:var(--bu-pr,#b83a00);border-color:#eeb596}
html body #dpDialog .dp-day:not(.dp-past):hover .dp-day-price{color:var(--bu-pr,#b83a00)}
html body #dpDialog .dp-day:not(.dp-past):active{transform:scale(.96)}
html body #dpDialog .dp-day.dp-today{border-color:#b8afa3;border-style:dashed}
html body #dpDialog .dp-day.dp-today::after{display:none}
html body #dpDialog .dp-day.dp-selected,html body #dpDialog .dp-day.dp-selected:hover{background:linear-gradient(135deg,#c24100,#e04f12);border-color:#c24100;border-style:solid;color:#fff;box-shadow:0 6px 16px rgba(184,58,0,.3)}
html body #dpDialog .dp-day.dp-selected .dp-day-price{color:#fff;opacity:.92}
html body #dpDialog .dp-day.dp-selected::before{background:#fff!important}
html body #dpDialog .dp-day.dp-past{opacity:1;color:#cfd3d8;font-weight:500;background:#fafafa;border-color:#f3f3f3;cursor:not-allowed}
html body #dpDialog .dp-day.dp-past .dp-day-price{display:none}
html body #dpDialog .dp-day.dp-disabled-date{text-decoration:line-through}
html body #dpDialog .dp-day-grid:not(:has(.dp-day-price)) .dp-day{height:46px}
html body #dpDialog .dp-legend{display:flex;justify-content:center;gap:16px;margin:0;padding:8px 12px 12px}
html body #dpDialog .dp-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:500;color:#6b7280}
html body #dpDialog .dp-legend-dot{width:8px;height:8px}
html body #dpDialog .dp-legend-item:has(.dp-dot-regular){display:none}
html body #dpDialog .dp-day-grid:not(:has(.dp-day-price))~.dp-legend{display:none}
html body #dpDialog .dp-day-grid:not(:has(.dp-day-price)) .dp-day::before{display:none}
html body #dpDialog .dp-footer{display:flex;align-items:center;gap:10px;margin:0;padding:12px 16px;border-top:1px solid #f0ebe4;background:#fff}
html body #dpDialog .dp-sel-label{flex:1;min-width:0;font-size:13.5px;font-weight:700;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body #dpDialog .dp-actions{display:flex;gap:8px;flex-shrink:0}
html body #dpDialog .dp-btn-clear{height:44px;padding:0 14px;border:0!important;border-radius:8px;background:transparent!important;color:#6b7280!important;font-size:13.5px;font-weight:700;cursor:pointer}
html body #dpDialog .dp-btn-clear:hover{background:#f3f4f6!important;color:#111827!important}
html body #dpDialog .dp-btn-confirm{height:44px;padding:0 22px;border:0;border-radius:8px;background:linear-gradient(135deg,#c24100,#e04f12)!important;color:#fff!important;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 8px 18px rgba(184,58,0,.26)}
html body #dpDialog:not(:has(.dp-selected)) .dp-btn-confirm{background:#e5e7eb!important;color:#9ca3af!important;box-shadow:none;cursor:not-allowed}
@media(max-width:600px){
  html body #dpDialog.dp-dialog-overlay{align-items:flex-end;padding:0}
  html body #dpDialog .dp-dialog-box{width:100%;max-height:94dvh;overflow-y:auto;border-radius:16px 16px 0 0;animation:buDpUp .24s cubic-bezier(.2,.8,.2,1)}
  html body #dpDialog .dp-header{padding-top:22px}
  html body #dpDialog .dp-dialog-box::before{content:"";position:absolute;top:8px;left:50%;width:40px;height:4px;margin-left:-20px;border-radius:9px;background:#d9dde3}
  html body #dpDialog .dp-weekdays,html body #dpDialog .dp-day-grid{padding-left:8px;padding-right:8px;gap:4px}
  html body #dpDialog .dp-day{height:56px}
  html body #dpDialog .dp-footer{position:sticky;bottom:0;padding-bottom:calc(12px + env(safe-area-inset-bottom))}
}
@keyframes buDpUp{from{transform:translateY(30px)}to{transform:none}}
