/* Public booking wizard. Loaded after ops.css; all component rules stay in this page. */
.booking-public .page-hero{padding:clamp(106px,10vw,138px) 0 clamp(34px,5vw,56px);background-position:center 42%}
.booking-public .page-hero h1{font-size:clamp(50px,7vw,88px);max-width:1000px}
.booking-public .page-hero .lead{max-width:690px;margin:14px 0 0;color:#eee3d5;font-family:BarberChop,Impact,sans-serif;font-size:clamp(19px,2vw,23px);line-height:1.42;letter-spacing:.025em;text-transform:none}
.booking-public .booking-section{padding:0 0 80px}
.booking-public #booking-app{--book-red:#d9341e;--book-bright:#f46649;--book-cream:#f4ece1;--book-muted:#c8b8a9;--book-line:#493d35;min-width:0;overflow-wrap:anywhere;background:linear-gradient(145deg,#16110f,#0b0a09 68%);border:1px solid #4c352b;box-shadow:0 30px 85px #0008;padding:clamp(18px,3vw,36px);font:18px/1.46 BarberChop,Impact,sans-serif;letter-spacing:.02em;text-transform:none}
.booking-public #booking-app *{min-width:0}
.booking-public #booking-app [hidden],.booking-public #booking-app .booking-step[hidden],.booking-public #booking-app .extra-card[hidden]{display:none!important}
.booking-public #booking-app button{font-family:inherit;letter-spacing:0;text-transform:none}
.booking-public #booking-app button:focus-visible,.booking-public #booking-app summary:focus-visible,.booking-public #booking-app input:focus-visible,.booking-public #booking-app select:focus-visible,.booking-public #booking-app textarea:focus-visible{outline:3px solid #ff9c77;outline-offset:3px}
.booking-public #booking-app .booking-progress-copy{margin:0 0 12px;color:var(--book-muted);font-size:.86rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800}
.booking-public #booking-app .booking-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 clamp(22px,3vw,36px);padding:0}
.booking-public #booking-app .booking-steps button{display:flex;align-items:center;gap:10px;width:100%;min-height:62px;padding:10px 12px;color:#d3c5b8;background:#211b18;border:1px solid #4a3b34;border-radius:10px;text-align:left;font-weight:750;line-height:1.18;transition:background .2s,border-color .2s,transform .2s}
.booking-public #booking-app .booking-steps button:not(:disabled):hover{border-color:var(--book-bright);transform:translateY(-2px)}
.booking-public #booking-app .booking-steps button.is-active,.booking-public #booking-app .booking-steps button[aria-current="step"]{background:linear-gradient(135deg,#70251a,#321714);border-color:var(--book-bright);color:#fff;box-shadow:inset 0 0 0 1px #c84933}
.booking-public #booking-app .booking-steps button.is-complete{border-color:#725044;color:#f2ded1}
.booking-public #booking-app .step-number{display:grid;place-items:center;flex:none;width:34px;height:34px;border:1px solid #a57665;border-radius:50%;font-family:RushFlow,Impact,sans-serif;font-size:1.15rem;line-height:1;color:#fff}
.booking-public #booking-app .is-active .step-number,.booking-public #booking-app [aria-current="step"] .step-number{background:var(--book-red);border-color:var(--book-bright)}
.booking-public #booking-app .is-complete .step-number{background:#6e3828;border-color:#a76651}
.booking-public #booking-app .step-label{display:block;font-size:.86rem}
.booking-public #booking-app .booking-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(252px,315px);align-items:start;gap:clamp(16px,2.5vw,30px)}
.booking-public #booking-app .booking-main{min-width:0}
.booking-public #booking-app .booking-step{min-width:0;scroll-margin-top:95px}
.booking-public #booking-app .step-heading{margin:0 0 22px}
.booking-public #booking-app .step-heading .eyeline{display:block;margin:0 0 8px;color:var(--book-bright);font-family:BarberChop,Impact,sans-serif;font-size:.9rem;letter-spacing:.13em}
.booking-public #booking-app .step-heading h2{margin:0 0 9px;font-family:RushFlow,Impact,sans-serif;font-size:clamp(32px,4vw,52px);line-height:.96;color:#fff}
.booking-public #booking-app .step-heading p{max-width:60ch;margin:0;color:#d5c7ba;font-size:1rem;line-height:1.55}
.booking-public #booking-app .step-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:1px solid #45372f}
.booking-public #booking-app .step-actions .btn{min-height:48px;padding:11px 22px;white-space:normal;clip-path:none;border-radius:8px;font-family:RushFlow,BarberChop,Impact,sans-serif;font-size:1.13rem;letter-spacing:.045em;text-transform:uppercase}
.booking-public #booking-app .step-actions .btn.primary{margin-left:auto;background:var(--book-red);border-color:var(--book-bright);box-shadow:0 10px 30px #a52b1940}
.booking-public #booking-app .step-actions .btn:not(.primary){background:#211b18;color:#f4e9dc;border-color:#756052}
.booking-public #booking-app .category-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.booking-public #booking-app .category-tabs button{min-height:44px;padding:9px 16px;background:#211b18;border:1px solid #5d473c;border-radius:7px;color:#e9d9ca;font-weight:800}
.booking-public #booking-app .category-tabs button.active,.booking-public #booking-app .category-tabs button[aria-pressed="true"]{background:var(--book-red);border-color:var(--book-bright);color:#fff}
.booking-public #booking-app .ride-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.booking-public #booking-app .ride-card{display:block;overflow:hidden;width:100%;padding:0;background:#201a17;border:1px solid #59463b;border-radius:12px;color:var(--book-cream);text-align:left;transition:border-color .2s,transform .2s,box-shadow .2s}
.booking-public #booking-app .ride-card:hover{transform:translateY(-3px);border-color:#d65d45}
.booking-public #booking-app .ride-card[aria-pressed="true"]{border:2px solid var(--book-bright);background:#2f1d19;box-shadow:0 0 0 3px #d9341e30}
.booking-public #booking-app .ride-photo{display:block;width:100%;height:clamp(132px,15vw,200px);object-fit:cover;background:#30231e}
.booking-public #booking-app .ride-card-body{display:grid;gap:6px;padding:16px}
.booking-public #booking-app .ride-category,.booking-public #booking-app .extra-kicker{color:var(--book-bright);font-family:BarberChop,Impact,sans-serif;font-size:.82rem;letter-spacing:.11em;text-transform:uppercase}
.booking-public #booking-app .ride-card h3{margin:0;color:#fff;font-family:RushFlow,Impact,sans-serif;font-size:clamp(24px,2.7vw,35px);line-height:1.02}
.booking-public #booking-app .ride-duration{color:#e2c9b8;font-size:.86rem;font-weight:800;text-transform:uppercase}
.booking-public #booking-app .ride-price{color:#fff;font-family:RushFlow,Impact,sans-serif;font-size:1.4rem;line-height:1.12}
.booking-public #booking-app .ride-blurb{margin:0;color:#d0c1b4;font-size:.93rem;line-height:1.4}
.booking-public #booking-app .enquiry-options,.booking-public #booking-app .ride-inclusions{margin-top:16px;padding:14px 16px;background:#1f1a17;border:1px solid #514139;border-radius:9px}
.booking-public #booking-app .enquiry-options summary,.booking-public #booking-app .ride-inclusions summary{cursor:pointer;color:#fff;font-weight:800}
.booking-public #booking-app .enquiry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px}
.booking-public #booking-app .enquiry-options p,.booking-public #booking-app .ride-inclusions p,.booking-public #booking-app .ride-inclusions li{color:#d2c1b2}
.booking-public #booking-app .selected-ride-banner{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:10px;background:linear-gradient(90deg,#3b211b,#201915);border:1px solid #795040;border-radius:10px}
.booking-public #booking-app .selected-ride-banner img{width:96px;height:72px;flex:none;object-fit:cover;border-radius:6px}
.booking-public #booking-app .selected-ride-banner h3{margin:0 0 4px;font-size:1.45rem}
.booking-public #booking-app .selected-ride-banner p{margin:0;color:#dfc9b8;font-size:.9rem}
.booking-public #booking-app .group-fields.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.booking-public #booking-app .field{margin:0 0 14px}
.booking-public #booking-app .field>span,.booking-public #booking-app .field label{color:#ead8c9;font-size:.86rem;font-weight:800;letter-spacing:.03em}
.booking-public #booking-app input,.booking-public #booking-app select,.booking-public #booking-app textarea{min-height:48px;max-width:100%;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.3;letter-spacing:0;text-transform:none;border-radius:8px}
.booking-public #booking-app .group-note,.booking-public #booking-app .included-note,.booking-public #booking-app .extras-reassurance{margin:14px 0;padding:13px 15px;border-left:3px solid var(--book-red);background:#251b17;color:#e7d4c4;line-height:1.45}
.booking-public #booking-app .slot-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:9px}
.booking-public #booking-app .slot-grid .slot{min-height:52px;background:#251b17;border:1px solid #795445;border-radius:8px;color:#fff;font-weight:750;line-height:1.25}
.booking-public #booking-app .slot-grid .slot.active{background:#a5291a;border-color:#f2785b;box-shadow:inset 0 0 0 1px #f2785b}
.booking-public #booking-app .slot-grid .slot:disabled{opacity:.4}
.booking-public #booking-app .addon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.booking-public #booking-app .extra-card{display:flex;flex-direction:column;overflow:hidden;background:#201916;border:1px solid #5b4438;border-radius:11px;color:#f4ede2}
.booking-public #booking-app .extra-card.selected{border-color:var(--book-bright);box-shadow:inset 0 0 0 1px var(--book-bright),0 0 0 2px #d9341e24}
.booking-public #booking-app .extra-content{display:grid;align-content:start;gap:6px;flex:1;padding:17px}
.booking-public #booking-app .extra-heading{display:flex;align-items:center;gap:12px;margin-bottom:4px}
.booking-public #booking-app .extra-icon{display:inline-grid;place-items:center;flex:none;width:52px;height:52px;padding:10px;background:#3b211b;color:var(--book-cream);border:1px solid #9d4937;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}
.booking-public #booking-app .extra-icon svg{display:block;width:100%;height:100%;overflow:visible}
.booking-public #booking-app .extra-icon .icon-accent{stroke:var(--book-bright)}
.booking-public #booking-app .group-fields>.field{display:flex;flex-direction:column;gap:6px}
.booking-public #booking-app .group-fields>.field>span{display:flex;align-items:center;gap:7px;min-height:24px;margin:0}
.booking-public #booking-app .group-fields>.field>input{width:100%;height:48px;min-height:48px;flex:none;margin:0}
.booking-public #booking-app .passenger-choice .extra-icon{width:23px;height:23px;padding:0;background:none;border:0;clip-path:none}
.booking-public #booking-app .extra-content h3{margin:0;color:#fff;font-family:RushFlow,Impact,sans-serif;font-size:clamp(24px,2.6vw,32px);line-height:1.02}
.booking-public #booking-app .extra-benefit{margin:0;color:#fff;font-size:1rem;font-weight:800;line-height:1.38}
.booking-public #booking-app .extra-description{margin:0;color:#cdbcae;font-size:.92rem;line-height:1.42}
.booking-public #booking-app .extra-price{display:inline-block;margin-top:7px;color:#fff;font-family:RushFlow,Impact,sans-serif;font-size:1.35rem}
.booking-public #booking-app .extra-unit{color:#d0bcae;font-size:.8rem}
.booking-public #booking-app .extra-action{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:13px 17px 17px;border-top:1px solid #4b382e}
.booking-public #booking-app .extra-toggle{min-height:44px;padding:9px 15px;border:1px solid #c7654e;border-radius:7px;background:#55271d;color:#fff;font-weight:800}
.booking-public #booking-app .extra-toggle[aria-pressed="true"]{background:var(--book-red);border-color:var(--book-bright)}
.booking-public #booking-app .extra-quantity{display:flex;align-items:center;gap:8px;color:#e8d8c9;font-size:.86rem;font-weight:800}
.booking-public #booking-app .extra-quantity input{width:72px;min-height:44px;text-align:center}
.booking-public #booking-app .pickup-card{border-left:4px solid var(--book-red)}
.booking-public #booking-app .empty-extras{padding:20px;border:1px dashed #71584b;border-radius:9px;color:#d1bfb0}
.booking-public #booking-app .booking-summary{position:sticky;top:94px;min-width:0;overflow:hidden;background:#211a17;border:1px solid #765040;border-radius:12px;box-shadow:0 18px 46px #0006}
.booking-public #booking-app .summary-image{display:block;width:100%;height:155px;object-fit:cover;background:#39231c}
.booking-public #booking-app .summary-eyeline{display:block;margin:18px 18px 6px;color:var(--book-bright);font-family:BarberChop,Impact,sans-serif;font-size:.81rem;letter-spacing:.12em;text-transform:uppercase}
.booking-public #booking-app .booking-summary h3{margin:0 18px 12px;color:#fff;font-family:RushFlow,Impact,sans-serif;font-size:clamp(26px,2.7vw,34px);line-height:1.04}
.booking-public #booking-app .summary-meta{display:grid;gap:5px;margin:0 18px 16px;color:#d6c5b6;font-size:.9rem}
.booking-public #booking-app .summary-line{display:flex;justify-content:space-between;gap:12px;padding:9px 18px;border-top:1px solid #48372e;color:#e4d7ca;font-size:.91rem;line-height:1.35}
.booking-public #booking-app .summary-line>*:last-child{flex:none;text-align:right}
.booking-public #booking-app .summary-total{display:flex;justify-content:space-between;gap:10px;padding:15px 18px;background:#572319;border-top:1px solid #b54a34;color:#fff;font-family:RushFlow,Impact,sans-serif;font-size:1.55rem;line-height:1.12}
.booking-public #booking-app .summary-note{margin:13px 18px 18px;color:#ddcbbd;font-size:.82rem;line-height:1.42}
.booking-public #booking-app .summary-edit{min-height:40px;margin:0 18px 17px;padding:7px 11px;background:transparent;border:1px solid #a16a57;border-radius:6px;color:#f2c1ae;font-weight:750}
.booking-public #booking-app .review-section{padding:18px 0;border-top:1px solid #57463b}
.booking-public #booking-app .review-section:first-of-type{border-top:0}
.booking-public #booking-app .review-section h3{display:inline-block;margin:0 14px 10px 0;font-family:RushFlow,Impact,sans-serif;font-size:1.55rem;color:#fff}
.booking-public #booking-app .review-section button{min-height:38px;padding:6px 10px;background:#281e19;border:1px solid #8c5948;border-radius:6px;color:#f5b69f;font-weight:750}
.booking-public #booking-app .review-facts{display:grid;grid-template-columns:minmax(105px,.4fr) minmax(0,1fr);gap:6px 12px;margin:0;line-height:1.4}
.booking-public #booking-app .review-facts dt{color:#b9a99b}
.booking-public #booking-app .review-facts dd{margin:0;color:#fff;font-weight:700}
.booking-public #booking-app .quote-lines{background:#261c18;border-color:#775341}
.booking-public #booking-app .booking-summary #price{margin:0 14px}
.booking-public #booking-app .booking-summary #price .quote-lines{padding:12px}
.booking-public #booking-app .quote-lines>div{align-items:start;flex-wrap:wrap}
.booking-public #booking-app #booking-message{margin-top:18px;scroll-margin-top:100px}
.booking-public #booking-app #booking-message:empty{display:none}
@media(max-width:1000px){
  .booking-public #booking-app .booking-layout{grid-template-columns:minmax(0,1fr) minmax(225px,260px);gap:16px}
  .booking-public #booking-app .booking-steps button{padding:9px 8px;gap:6px}
  .booking-public #booking-app .step-label{font-size:.77rem}
}
@media(max-width:760px){
  .booking-public #booking-app .booking-layout{display:flex;flex-direction:column}
  .booking-public #booking-app .booking-main,.booking-public #booking-app .booking-summary{width:100%}
  .booking-public #booking-app .booking-summary{position:static;order:2;margin-top:18px}
  .booking-public #booking-app .summary-image{height:118px}
  .booking-public #booking-app .booking-steps{gap:5px}
  .booking-public #booking-app .booking-steps button{flex-direction:column;justify-content:center;gap:5px;min-height:65px;padding:7px 4px;text-align:center}
  .booking-public #booking-app .step-number{width:28px;height:28px;font-size:1rem}
  .booking-public #booking-app .step-label{font-size:.7rem;line-height:1.1}
  .booking-public #booking-app .ride-photo{height:145px}
}
@media(max-width:540px){
  .booking-public .page-hero{padding:105px 0 36px}
  .booking-public .page-hero h1{font-size:clamp(43px,12vw,62px)}
  .booking-public #booking-app{padding:15px}
  .booking-public #booking-app .ride-grid,.booking-public #booking-app .addon-grid,.booking-public #booking-app .enquiry-grid{grid-template-columns:1fr}
  .booking-public #booking-app .ride-photo{height:180px}
  .booking-public #booking-app .group-fields.grid{grid-template-columns:1fr}
  .booking-public #booking-app .step-actions .btn{flex:1 1 150px}
}
@media(max-width:390px){
  .booking-public #booking-app{padding:12px}
  .booking-public #booking-app .booking-steps{gap:3px}
  .booking-public #booking-app .booking-steps button{padding:6px 2px;min-height:68px}
  .booking-public #booking-app .step-label{font-size:.64rem;overflow-wrap:anywhere}
  .booking-public #booking-app .step-number{width:26px;height:26px}
  .booking-public #booking-app .step-actions .btn{flex-basis:100%}
  .booking-public #booking-app .selected-ride-banner img{width:74px;height:68px}
}
@media(prefers-reduced-motion:reduce){.booking-public #booking-app .booking-steps button,.booking-public #booking-app .ride-card{transition:none}}

.booking-public #booking-app .booking-steps{scroll-margin-top:100px}
.booking-public #booking-app .ride-select{color:#ff9a7c;margin-top:6px}
.booking-public #booking-app .step-total{display:none}

@media(max-width:760px){
 .booking-public #booking-app .step-total{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-basis:100%;padding:9px 0;color:#fff;font-size:20px}
 .booking-public #booking-app .step-total strong{font-family:RushFlow,Impact,sans-serif;font-size:26px}
 .booking-public #booking-app .summary-image{display:none}
}

/* One category photograph, then concise duration choices; no repeated card photos. */
.booking-public #booking-app .ride-category-hero{position:relative;overflow:hidden;border-radius:10px;margin:0 0 16px;background:#211b18}
.booking-public #booking-app .ride-category-hero img{display:block;width:100%;height:220px;object-fit:cover}
.booking-public #booking-app .ride-category-hero>div{position:absolute;inset:auto 0 0;padding:38px 20px 16px;background:linear-gradient(transparent,#000d)}
.booking-public #booking-app .ride-category-hero h3{margin:0;font:34px/1 RushFlow,Impact,sans-serif;color:#fff}
.booking-public #booking-app .ride-category-hero p{margin:5px 0 0;color:#fff;font-size:17px}
.booking-public #booking-app .ride-card{height:100%}
.booking-public #booking-app .ride-card-body{padding:20px}
.booking-public #booking-app .selected-ride-banner{padding:16px 20px}
.booking-public #booking-app .group-fields{margin-top:20px}
.booking-public #booking-app .group-count{padding:12px 15px;border:1px solid #795040;border-radius:8px;color:#fff;background:#372019}
.booking-public #booking-app .passenger-choice .group-note{margin:0;padding:0;border:0;background:none;font-size:16px;font-weight:400}
@media(max-width:540px){.booking-public #booking-app .ride-category-hero img{height:180px}.booking-public #booking-app .ride-card-body{padding:16px}.booking-public #booking-app .ride-blurb{font-size:17px}}

/* Compact phone checkout: keep decisions and totals close together. */
.booking-public #booking-app .step-label-short,.booking-public #booking-app .summary-toggle,.booking-public #booking-app .ride-basis{display:none}
.booking-public #booking-app .extra-price-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.booking-public #booking-app .optional-notes{border:1px solid var(--book-line);border-radius:8px;padding:10px 12px}
.booking-public #booking-app .optional-notes summary{cursor:pointer;color:#ead8c9;min-height:24px}
.booking-public #booking-app .optional-notes[open] .field{margin-top:10px}
@media(max-width:760px){
 .booking-public .page-hero{padding:86px 0 14px;background:none}
 .booking-public .page-hero h1{font-size:34px;line-height:1;margin:0}
 .booking-public .page-hero .eyebrow,.booking-public .page-hero .lead,.booking-public .preview-banner{display:none}
 .booking-public .booking-section{padding-bottom:24px}
 .booking-public .booking-section>.container{width:100%;max-width:100%;padding:0 10px}
 .booking-public #booking-app{padding:12px;font-size:16px;line-height:1.35;border-radius:10px}
 .booking-public #booking-app .booking-steps{gap:4px;margin:0 0 14px;scroll-margin-top:78px}
 .booking-public #booking-app .booking-steps button{min-height:44px;padding:5px 2px;gap:2px;border-radius:6px}
 .booking-public #booking-app .step-number{width:auto;height:auto;border:0;background:none;font-size:16px;line-height:1}
 .booking-public #booking-app .is-active .step-number,.booking-public #booking-app .is-complete .step-number{background:none}
 .booking-public #booking-app .step-label{display:none}
 .booking-public #booking-app .step-label-short{display:block;font-size:12px;line-height:1.05}
 .booking-public #booking-app .step-heading{margin:0 0 12px}
 .booking-public #booking-app .step-heading .eyeline{display:none}
 .booking-public #booking-app .step-heading h2{font-size:29px;margin:0 0 5px;line-height:1.06}
 .booking-public #booking-app .step-heading p{font-size:15px;line-height:1.3}
 .booking-public #booking-app .booking-layout{gap:0}
 .booking-public #booking-app .category-tabs{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:5px;margin:0 0 10px}
 .booking-public #booking-app .category-tabs button{font-size:16px;min-height:44px;padding:5px 3px}
 .booking-public #booking-app .ride-category-hero{margin:0 0 8px}
 .booking-public #booking-app .ride-category-hero img{height:92px;object-position:center 43%}
 .booking-public #booking-app .ride-category-hero>div{padding:22px 12px 8px}
 .booking-public #booking-app .ride-category-hero h3{font-size:26px}
 .booking-public #booking-app .ride-category-hero p{display:none}
 .booking-public #booking-app .ride-basis{display:block;color:var(--book-muted);font-size:14px;margin:7px 0 10px}
 .booking-public #booking-app .ride-grid{grid-template-columns:1fr;gap:8px}
 .booking-public #booking-app .ride-card-body{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:12px}
 .booking-public #booking-app .ride-duration{font-size:14px;grid-column:1}
 .booking-public #booking-app .ride-card h3{font-size:23px;grid-column:1}
 .booking-public #booking-app .ride-price{font-size:22px;grid-column:2;grid-row:1/3;align-self:center;white-space:nowrap}
 .booking-public #booking-app .ride-blurb,.booking-public #booking-app .ride-category,.booking-public #booking-app .ride-select{display:none}
 .booking-public #booking-app [data-panel="1"] .step-actions,.booking-public #booking-app [data-panel="1"] #chosen-detail{display:none}
 .booking-public #booking-app .enquiry-options,.booking-public #booking-app .ride-inclusions{margin:10px 0;padding:10px 12px;font-size:16px}
 .booking-public #booking-app :is(.enquiry-options,.ride-inclusions) summary{min-height:24px}
 .booking-public #booking-app .selected-ride-banner{padding:10px 12px;margin:0 0 8px}
 .booking-public #booking-app .selected-ride-banner .eyeline{display:none}
 .booking-public #booking-app .selected-ride-banner h3{font-size:24px;margin:0 0 3px;line-height:1.1}
 .booking-public #booking-app .selected-ride-banner p{font-size:15px;line-height:1.2}
 .booking-public #booking-app .group-fields.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;align-items:start}
 .booking-public #booking-app .group-fields .field{margin:0;display:flex;flex-direction:column}
 .booking-public #booking-app .group-fields .field>span{font-size:15px;min-height:20px}
 .booking-public #booking-app .group-fields .passenger-choice input{order:1}
 .booking-public #booking-app .group-fields .passenger-choice .group-note{order:2;font-size:13px;line-height:1.2;margin:5px 0 0}
 .booking-public #booking-app .group-fields .tour-date{grid-column:1/-1}
 .booking-public #booking-app input,.booking-public #booking-app select,.booking-public #booking-app textarea{min-height:44px;padding:9px 10px;font-size:16px;margin:0}
 .booking-public #booking-app textarea{min-height:70px}
 .booking-public #booking-app .vehicle-rule{padding:0;border:0;background:none;font-size:14px;line-height:1.2;margin:8px 0}
 .booking-public #booking-app .group-count{margin:8px 0;padding:7px 10px;font-size:15px;line-height:1.25}
 .booking-public #booking-app .date-shortcuts{gap:8px;margin:8px 0}
 .booking-public #booking-app .date-shortcuts .btn{min-height:44px;padding:8px 14px;font-size:15px;flex:1}
 .booking-public #booking-app [data-panel="2"]>h3{font-size:22px;margin:10px 0 7px}
 .booking-public #booking-app .slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .booking-public #booking-app .slot-grid .slot{min-height:48px;font-size:18px;padding:7px 8px}
 .booking-public #booking-app .slot-grid .slot small{font-size:13px;line-height:1.1}
 .booking-public #booking-app #slot-help{margin:7px 0;padding:0;border:0;background:none;font-size:14px;line-height:1.25}
 .booking-public #booking-app .step-actions{gap:8px;margin-top:14px;padding-top:10px;flex-wrap:wrap}
 .booking-public #booking-app .step-total{padding:0 0 4px;font-size:16px}
 .booking-public #booking-app .step-total strong{font-size:23px}
 .booking-public #booking-app .step-actions .btn{flex:0 0 auto;min-height:46px;padding:10px 12px;font-size:17px;line-height:1.15}
 .booking-public #booking-app .step-actions .btn.primary{flex:1 1 0;margin-left:0}
 .booking-public #booking-app .addon-grid{grid-template-columns:1fr;gap:10px}
 .booking-public #booking-app .extra-content{padding:12px;gap:5px}
 .booking-public #booking-app .extra-icon{width:42px;height:42px;padding:8px}
 .booking-public #booking-app .passenger-choice .extra-icon{width:20px;height:20px;padding:0}
 .booking-public #booking-app .group-fields>.field>input{height:44px;min-height:44px}
 .booking-public #booking-app .extra-kicker{display:none}
 .booking-public #booking-app .extra-content h3{font-size:24px;line-height:1.05}
 .booking-public #booking-app .extra-benefit{font-size:16px;line-height:1.25;font-weight:400}
 .booking-public #booking-app .extra-description{font-size:14px;line-height:1.2}
 .booking-public #booking-app .extra-price{font-size:24px;margin:2px 0 0}
 .booking-public #booking-app .extra-unit{font-size:13px}
 .booking-public #booking-app .extra-action{padding:8px 0 0;gap:7px;margin:3px 0 0}
 .booking-public #booking-app .extra-toggle{min-height:44px;padding:8px 12px;font-size:16px}
 .booking-public #booking-app .extra-quantity input{width:60px}
 .booking-public #booking-app .included-note,.booking-public #booking-app .extras-reassurance{padding:8px 10px;margin:8px 0;font-size:14px;line-height:1.3}
 .booking-public #booking-app .extras-reassurance{padding:0;border:0;background:none}
 .booking-public #booking-app .empty-extras{padding:14px}
 .booking-public #booking-app .empty-extras h3{font-size:24px}
 .booking-public #booking-app .field{margin:0}
 .booking-public #booking-app .field>span{display:block;font-size:15px;margin-bottom:5px}
 .booking-public #booking-app #booking-form{gap:12px}
 .booking-public #booking-app #booking-form .grid.two{grid-template-columns:1fr;gap:12px}
 .booking-public #booking-app #booking-form .small{font-size:14px;margin:0}
 .booking-public #booking-app .optional-notes{padding:10px 12px;font-size:16px}
 .booking-public #booking-app .booking-summary{margin-top:12px;border-radius:8px;box-shadow:none}
 .booking-public #booking-app .summary-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px 12px;min-height:46px;background:none;border:0;color:#ead8c9;font-size:16px;text-align:left}
 .booking-public #booking-app .summary-toggle strong{color:#fff;white-space:nowrap}
 .booking-public #booking-app .summary-content{display:none}
 .booking-public #booking-app .booking-summary.is-expanded .summary-content{display:block;border-top:1px solid var(--book-line)}
 .booking-public #booking-app[data-current-step="1"] .booking-summary,.booking-public #booking-app[data-current-step="5"] .booking-summary{display:none}
 .booking-public #booking-app .review-section{padding:12px 0}
 .booking-public #booking-app .review-section .row{display:flex;justify-content:space-between;gap:8px;flex-wrap:nowrap}
 .booking-public #booking-app .review-section h3{font-size:22px;margin:0}
 .booking-public #booking-app .review-section button{min-height:44px;padding:8px 10px;font-size:14px;white-space:nowrap}
 .booking-public #booking-app .review-section p{font-size:16px;margin:6px 0}
 .booking-public #booking-app .review-facts{grid-template-columns:75px minmax(0,1fr);gap:6px 10px;font-size:15px}
 .booking-public #booking-app .quote-lines{padding:10px}
 .booking-public #booking-app .quote-lines>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;font-size:16px;line-height:1.3}
 .booking-public #booking-app .quote-lines>div>*:last-child{white-space:nowrap;text-align:right}
 .booking-public #booking-app .quote-total{padding-top:10px}
 .booking-public #booking-app .small{font-size:14px;line-height:1.3}
 .booking-public .footer-cta-final{display:none}
 .booking-public .footer-main-final{padding-top:24px;padding-bottom:20px}
}
@media(max-width:360px){
 .booking-public #booking-app{padding:10px}
 .booking-public #booking-app .ride-card-body{padding:10px;gap:3px 7px}
 .booking-public #booking-app .ride-card h3{font-size:21px}
 .booking-public #booking-app .ride-price{font-size:20px}
 .booking-public #booking-app .step-actions .btn{font-size:16px;padding:9px}
}

.booking-public #booking-app .date-choice{display:flex;align-items:flex-end;gap:10px}
.booking-public #booking-app .date-choice .field{flex:1;min-width:0;margin:0}
.booking-public #booking-app .date-choice .btn{min-height:48px;margin-bottom:0}
.booking-public #booking-app .date-friendly{display:block;min-height:1.35em;margin-top:5px;color:#e7d4c4;font-size:13px;line-height:1.3}
@media(max-width:760px){
 .booking-public #booking-app .date-choice{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 98px;gap:8px;align-items:end}
 .booking-public #booking-app .date-choice .tour-date{grid-column:auto}
 .booking-public #booking-app .date-choice .btn{min-height:44px;padding:8px;font-size:15px;margin:0;border-radius:8px;clip-path:none}
 .booking-public #booking-app .repeated-rule{display:none}
}

.booking-public #booking-app .selected-ride-details{margin:0 0 16px;background:linear-gradient(90deg,#3b211b,#201915);border:1px solid #795040;border-radius:10px;overflow:hidden}
.booking-public #booking-app .selected-ride-details summary{position:relative;cursor:pointer;padding:14px 100px 14px 16px;list-style:none;min-height:64px}
.booking-public #booking-app .selected-ride-details summary::-webkit-details-marker{display:none}
.booking-public #booking-app .selected-ride-title{display:block;font-family:RushFlow,BarberChop,Impact,sans-serif;font-size:26px;line-height:1.1;color:#fff}
.booking-public #booking-app .selected-ride-meta{display:block;margin-top:5px;color:#dfc9b8;font-size:16px;line-height:1.25}
.booking-public #booking-app .selected-ride-more{position:absolute;right:12px;top:18px;color:#ffac94;font-size:15px}
.booking-public #booking-app .selected-ride-info{padding:0 16px 12px;color:#dfc9b8}
.booking-public #booking-app .slot-timezone{font-family:BarberChop,Impact,sans-serif;font-size:16px;color:#c8b8a9}
.booking-public #booking-app[data-current-step="1"] .booking-layout,.booking-public #booking-app[data-current-step="5"] .booking-layout{grid-template-columns:minmax(0,1fr)}
.booking-public #booking-app[data-current-step="1"] .booking-summary,.booking-public #booking-app[data-current-step="5"] .booking-summary{display:none}
.booking-public #booking-app .ride-basis{display:block;margin:8px 0 12px;color:var(--book-muted);font-size:15px}
.booking-public #booking-app .ride-category-hero img{height:150px}
.booking-public #booking-app .pickup-note{margin:12px 0;color:var(--book-muted);font-size:15px}
.booking-public #booking-app .slot-empty{grid-column:1/-1;margin:6px 0;color:var(--book-muted)}
.booking-public #booking-app .slot-grid .slot{display:grid;place-items:center;padding:12px;font-size:20px}
@media(max-width:760px){
 .booking-public #booking-app .selected-ride-details{margin:0 0 12px}
 .booking-public #booking-app .selected-ride-details summary{padding:10px 76px 10px 12px;min-height:62px}
 .booking-public #booking-app .selected-ride-title{font-size:23px}
 .booking-public #booking-app .selected-ride-meta{font-size:14px;margin-top:4px}
 .booking-public #booking-app .selected-ride-more{right:10px;top:13px;font-size:13px;max-width:55px;text-align:right}
 .booking-public #booking-app [data-panel="2"] .step-heading p{display:none}
 .booking-public #booking-app [data-panel="1"] .step-heading p{display:none}
 .booking-public #booking-app .ride-category-hero img{height:72px}
}

.booking-public #booking-app .booking-step-intro{margin:0 0 15px;color:#ddcbbb;font:16px/1.45 BarberChop,Arial,sans-serif;letter-spacing:0;text-transform:none}
.booking-public #booking-app .slot-empty{padding:12px 14px;border-left:3px solid #d45a3d;background:#2c1d18;color:#f3dfd2;font:16px/1.4 BarberChop,Arial,sans-serif;letter-spacing:0;text-transform:none}
@media(max-width:760px){
 .booking-public #booking-app .ride-blurb{display:block;grid-column:1/-1;grid-row:3;color:#d5c2b4;font:14px/1.35 BarberChop,Arial,sans-serif;letter-spacing:0;text-transform:none}
 .booking-public #booking-app .ride-card-body{align-items:start}
 .booking-public #booking-app .ride-price{grid-row:1/3}
 .booking-public #booking-app .booking-step-intro{font-size:14px;margin-bottom:10px}
}

/* Public navigation retains the shared CTA shape despite the legacy form base. */
.booking-public .nav-cta,.booking-public .btn{border-radius:7px;clip-path:none}.booking-public .nav-cta{background:#bb2917;min-height:48px}
.booking-public .topbar .nav-cta,.booking-public .final-footer .btn{border-radius:7px}
