:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#161616;background:#f4f4f1;--dark:#111;--paper:#fff;--line:#d9d9d4;--muted:#6c6c68;--radius:18px}*{box-sizing:border-box}body{margin:0;background:#f4f4f1}.app-shell{max-width:760px;margin:0 auto;min-height:100vh;background:#f8f8f5}.topbar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;padding:14px 16px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.brand{font-weight:800;font-size:18px;line-height:1}.slogan{font-size:11px;color:var(--muted);margin-top:5px}.icon-btn{height:38px;border:0;background:#eee;border-radius:12px;font-size:23px}.hidden{display:none!important}main{padding:18px}.screen{display:none}.screen.active{display:block}.hero{padding:52px 10px 32px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em}.hero h1{font-size:40px;line-height:1;margin:10px 0}.hero p{font-size:18px;margin:0;color:#4f4f4a}.primary{width:100%;border:0;border-radius:14px;background:var(--dark);color:#fff;padding:15px 18px;font-weight:800;font-size:16px;margin-top:16px}.primary.big{padding:18px;font-size:18px}.secondary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.card-link,.choice{display:flex;flex-direction:column;text-align:left;text-decoration:none;color:inherit;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.card-link span,.choice span{font-size:13px;color:var(--muted);margin-top:8px;line-height:1.35}.choice{width:100%;margin:12px 0}.choice strong{font-size:19px}.step{font-size:12px;font-weight:800;color:var(--muted);margin-top:10px}h2{font-size:30px;margin:8px 0 22px}h3{font-size:16px;margin:22px 0 10px}.segmented{display:grid;grid-template-columns:1fr 1fr;background:#e8e8e4;padding:4px;border-radius:13px;margin-bottom:16px}.segmented button{border:0;background:transparent;border-radius:10px;padding:11px;font-weight:700}.segmented button.selected{background:#fff;box-shadow:0 1px 4px #0001}label{display:block;font-size:13px;font-weight:700;margin:12px 0}input,select,textarea{width:100%;margin-top:7px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:13px;font:inherit;color:#111}.two,.three{display:grid;gap:10px}.two{grid-template-columns:1fr 1fr}.three{grid-template-columns:repeat(3,1fr)}.panel,.review-card,.pay-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-top:16px}.vehicle{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin:12px 0}.vehicle h3{margin:0 0 8px;font-size:20px}.vehicle-meta{color:var(--muted);font-size:13px}.vehicle-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.fare{font-size:26px;font-weight:900}.vehicle button{border:0;background:#111;color:#fff;border-radius:11px;padding:11px 15px;font-weight:800}.message{margin-top:14px;padding:13px;border-radius:12px;background:#fff4d8;border:1px solid #e7cf8a;font-size:13px;white-space:pre-line}.review-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #eee}.review-row:last-child{border-bottom:0}.review-row span{color:var(--muted)}.check{display:flex;gap:11px;align-items:flex-start;background:#fff;border:1px solid var(--line);padding:13px;border-radius:12px}.check input{width:auto;margin:2px 0 0}.check span{font-weight:500;line-height:1.4}.pay-box{display:flex;flex-direction:column}.pay-box span{font-size:19px;margin-top:3px}.pay-box small{color:var(--muted);margin-top:4px}.success-mark{width:72px;height:72px;border-radius:50%;background:#111;color:#fff;display:grid;place-items:center;font-size:38px;margin:70px auto 20px}.screen[data-screen=success]{text-align:center}.reference{font-size:23px;font-weight:900;margin:24px}.muted{color:var(--muted)}@media(max-width:560px){main{padding:14px}.secondary-grid{grid-template-columns:1fr}.two{grid-template-columns:1fr 1fr}.three{grid-template-columns:1fr 1fr 1fr}.hero{padding-top:34px}.hero h1{font-size:36px}}

/* Keep the back-button grid slot when the home screen hides its icon. */
#app .topbar #backBtn.hidden{display:block!important;visibility:hidden;pointer-events:none}
#app .topbar>div{min-width:0}
#app .icon-btn{width:38px;padding:0;cursor:pointer}
#app .brand{line-height:1.2}
#app .slogan{line-height:1.4}
#app button,#app input,#app select,#app textarea{font-family:inherit}
#app button{cursor:pointer}
#app button:disabled{cursor:wait;opacity:.65}
.environment-note{padding:9px 12px;border-radius:10px;background:#fff1cc;color:#5e4710;font-size:12px;margin-bottom:14px;text-align:center}
#app .vehicle-photos{display:flex;gap:8px;overflow:hidden;margin:-2px -2px 14px;border-radius:12px}
#app .vehicle-photos:empty{display:none}
#app .vehicle-photos img{width:100%;min-width:0;max-height:220px;object-fit:cover;flex:1}
#app .vehicle-label{font-size:12px;font-weight:800;color:#80631f;letter-spacing:.06em;margin:0 0 7px}
#app .fare small{display:block;font-size:12px;font-weight:500;color:var(--muted);margin-top:4px}
#app .review-card h3{border-bottom:1px solid var(--line);padding-bottom:10px;margin-top:24px}
#app .review-row strong{max-width:65%;overflow-wrap:anywhere;text-align:right;white-space:pre-line}
#app .support-link{display:block;margin:24px 0;color:#161616;text-align:center}
#app input:disabled{background:#eee;color:#666}
#app input:focus-visible,#app select:focus-visible,#app textarea:focus-visible,#app button:focus-visible{outline:3px solid #b88d31;outline-offset:2px}
#app .panel h3{margin-top:0}
@media(max-width:420px){#app .three{grid-template-columns:1fr}#app .topbar{padding:12px 10px}#app .review-row{font-size:13px}#app .brand{font-size:17px}#app .slogan{font-size:10px}#app .hero h1{font-size:32px}}

#app gmp-place-autocomplete{display:block;width:100%;margin-top:7px;min-height:46px;color-scheme:light;--gmp-mat-color-surface:#fff;--gmp-mat-color-on-surface:#111;border-radius:12px}

/* ABES brand: centre presentation; retain readable form and summary alignment. */
:root{font-family:"Cello Sans","Avenir Next",Avenir,"Segoe UI",Arial,sans-serif;color:#0b1320;background:#f5f3ee;--dark:#0b1320;--gold:#c9a24b;--paper:#fff;--line:#e6e1d8;--muted:#626971}
body{background:#f5f3ee}
#app{background:#faf9f6;color:#0b1320;line-height:1.5}
#app .topbar{background:rgba(255,255,255,.97);border-bottom-color:#e6e1d8}
#app .topbar>div,#app .hero,#app .step,#app h1,#app h2,#app h3,#app .choice,#app .card-link,#app .vehicle,#app .pay-box,#app .reference{text-align:center}
#app .brand,#app h1,#app h2,#app h3{font-family:"Blenda Script","Brush Script MT","Segoe Script",cursive;font-weight:400;letter-spacing:0;line-height:1.25}
#app .brand{font-size:25px}
#app .slogan{font-size:11px}
#app .hero{background:linear-gradient(135deg,#08111e,#132238);border:1px solid #c9a24b88;border-radius:22px;padding:38px 20px;margin-bottom:12px;box-shadow:0 12px 30px #0b132014}
#app .hero .eyebrow{color:#e0bd72;font-size:10px;line-height:1.6;letter-spacing:.16em}
#app .hero h1{color:#e0bd72;font-size:46px;line-height:1.2;margin:12px 0}
#app .hero p{color:#f7f5ef;font-size:16px;line-height:1.5}
#app h2{font-size:34px;margin:10px 0 24px}
#app h3{font-size:25px}
#app .choice,#app .card-link{align-items:center;justify-content:center}
#app .choice strong{font-size:18px;line-height:1.45}
#app .choice span,#app .card-link span{line-height:1.6}
#app .primary,#app .vehicle button{background:#0b1320;color:#e0bd72;line-height:1.4;border:1px solid #c9a24b55}
#app .primary:hover,#app .vehicle button:hover{background:#15263e}
#app .icon-btn{background:#f4efdf;color:#0b1320}
#app .segmented{background:#f1ede4}
#app .segmented button{font-size:14px;line-height:1.4}
#app .segmented button.selected{background:#0b1320;color:#e0bd72}
#app label{text-align:left;font-size:14px;line-height:1.5}
#app input,#app select,#app textarea{background:#faf9f6;font-size:16px;line-height:1.4;color:#0b1320;text-align:left}
#app input[type=checkbox]{accent-color:#0b1320}
#app .vehicle h3{font-size:28px;margin:0 0 8px}
#app .vehicle-label{color:#80631f}
#app .vehicle-meta{font-size:14px;line-height:1.6}
#app .vehicle-footer{flex-direction:column;justify-content:center;gap:12px}
#app .vehicle button{min-width:160px;font-size:15px}
#app .fare{font-family:"Cello Sans","Avenir Next",Avenir,"Segoe UI",Arial,sans-serif;color:#0b1320;font-size:28px;line-height:1.25}
#app .panel,#app .review-card,#app .pay-box,#app .vehicle{border-color:#e6e1d8}
#app .review-row{text-align:left;align-items:flex-start;line-height:1.5;font-size:15px}
#app .review-row strong{text-align:right}
#app .review-row span{min-width:0}
#app .check span{font-size:14px}
#app .environment-note,#app .message{background:#faf2df;border-color:#ead8a7;color:#5d4b21}
#app .success-mark{background:#0b1320;color:#e0bd72}
@media(max-width:420px){#app .brand{font-size:23px}#app .slogan{font-size:10px}#app .hero{padding:30px 15px}#app .hero h1{font-size:39px}#app h2{font-size:31px}#app .review-row{font-size:14px}#app .reference{font-size:20px;overflow-wrap:anywhere}}

/* Supporting copy stays inside the home call-to-action. */
#app .primary.big .cta-title{display:block}
#app .primary.big .cta-note{display:block;margin-top:5px;font-family:"Cello Sans","Avenir Next",Avenir,"Segoe UI",Arial,sans-serif;font-size:13px;font-weight:400;line-height:1.45;letter-spacing:0;text-transform:none;color:#f7f5ef}

/* Gold band distinguishes the home call-to-action. */
#app .primary.big[data-go="type"]{border:2px solid #c9a24b;box-shadow:0 0 0 3px rgba(201,162,75,.12),0 6px 16px rgba(11,19,32,.12)}
#app .primary.big[data-go="type"]:hover{border-color:#e0bd72;box-shadow:0 0 0 3px rgba(201,162,75,.20),0 6px 16px rgba(11,19,32,.16)}

#app .saved-booking summary{cursor:pointer;text-align:left;overflow-wrap:anywhere;color:#0b1320;padding:2px 0}
#app .saved-booking summary::marker{color:#80631f}
#app .saved-booking summary strong{font-size:16px}
#app .saved-booking summary span,#app .saved-booking summary small{display:block;margin-top:6px;font-size:13px;line-height:1.5}
#app .saved-booking summary small{color:#80631f}
#app .saved-booking[open] summary{padding-bottom:14px;border-bottom:1px solid #e6e1d8}
#app .saved-booking-info h3{border-bottom:1px solid #e6e1d8;padding-bottom:10px}
#app .saved-status,#app .copy-note{font-size:13px;line-height:1.5}
#app .copy-note{text-align:center;margin-bottom:0}
#app .saved-reference strong{overflow-wrap:anywhere}

/* Installed-app layout and optional browser installation controls. */
#app{min-height:100vh;min-height:100dvh}
#app .topbar{padding-top:calc(14px + env(safe-area-inset-top,0px));padding-left:max(10px,env(safe-area-inset-left,0px));padding-right:max(10px,env(safe-area-inset-right,0px))}
#app main{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}
#app .install-panel{text-align:center;background:#f5f3ee;margin-top:24px}
#app .install-panel>strong{font-size:17px}
#app .install-panel p{font-size:14px;line-height:1.5;margin:8px 0 12px}
#app .install-button{border:1px solid #c9a24b;border-radius:12px;background:#fff;color:#0b1320;padding:11px 18px;font-size:14px;font-weight:700;min-height:44px}
#app .install-panel #installHelp{margin:14px 0 0}
@media(display-mode:standalone){#app .install-panel{display:none}}

/* Quiet white reassurance inside the single payment action. */
#app #payBtn .payment-security-note{display:block;margin:5px 0 0;text-align:center;color:#fff;font-family:"Cello Sans","Avenir Next",Avenir,"Segoe UI",Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.5}

#app .flight-verify{display:block;width:100%;padding:12px 16px;border:1px solid #c9a24b;border-radius:12px;background:#0b1320;color:#e0bd72;font-family:inherit;font-size:15px;font-weight:700;line-height:1.4;margin:8px 0 14px}#app input[readonly]{background:#f5f3ee}#app .flight-verified{background:#edf5ef;border-color:#9fbca7;color:#254b32}

#app .quote-action{width:100%;margin-top:14px;text-align:center;border-color:#c9a24b}#app .screen[data-screen="quoteSuccess"]{text-align:center}#app .screen[data-screen="quoteSuccess"] h2{margin-top:28px}
