@import "https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap";*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{font-size:clamp(12px,1.2vw,16px);overflow-y:scroll}.app{flex-direction:column;min-height:100vh;display:flex}main{flex:1}body{color:#333;background-blend-mode:lighten;background-color:#0000;background-image:linear-gradient(#edb7fae6,#fffffee6),url(/images/pedicab.webp);background-position:top,calc(50% - 400px) -50px;background-repeat:repeat,repeat;background-size:auto,780px;background-attachment:fixed;background-origin:padding-box,padding-box;background-clip:border-box,border-box;align-items:center;gap:16px;min-height:100vh;font-family:Inter,sans-serif;line-height:1}.logo-box{background:linear-gradient(#e0fad0f5,#fffffef5);border:1px solid #ccc;justify-content:center;align-items:center;width:calc(100% - 30px);max-width:700px;margin:2px auto;padding:6px 12px;display:flex;box-shadow:0 4px 15px #00000014}.logo{width:70%;max-width:620px;height:auto;display:block}.nav-container{background:linear-gradient(#e0fad0f5,#fffffef5);border:1px solid #ccc;border-radius:10px;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 20px;width:calc(100% - 30px);max-width:900px;margin:2px auto;padding:10px 20px;display:flex;box-shadow:0 4px 15px #00000014}.nav-container a{color:#667168;white-space:nowrap;border:1px solid #0000;border-radius:8px;padding:4px 14px;font-family:inherit;font-size:1rem;font-weight:700;text-decoration:none;transition:background .2s,border-color .2s,color .2s,transform .2s}.nav-container a:hover{color:#28583f;background:#fffc;border-color:#4664503d;transform:translateY(-1px)}.nav-container a.active{color:#fff;background:#28583f;border-color:#28583f;box-shadow:0 3px 8px #28583f2e}button{cursor:pointer;border:none;border-radius:5px;margin-bottom:10px;padding:10px;font-size:1.25rem}button:hover{background:#eedbf6}.content-box{text-align:center;overflow-wrap:break-word;background:linear-gradient(#e0fad0f5 40%,#fffffef5 80%);border:1px solid #ccc;border-radius:10px;width:calc(100% - 30px);max-width:1100px;margin:2px auto;padding:1px;position:relative;box-shadow:0 8px 20px #00000026}.fare-cost,.pedicab-amount-selector,.manual-location-panel,.quick-locations-panel{background:#ffffffb3;border:1px solid #4664503d;border-radius:10px;box-shadow:0 4px 12px #32463714}.custom-input{color:#333;width:100%;font:inherit;background:#ffffffd1;border:1px solid #46645047;border-radius:8px;outline:none;padding:6px 16px;font-size:.95rem;line-height:1.2;transition:border-color .2s,box-shadow .2s,background .2s}.custom-input::placeholder{color:#667168}.custom-input:focus{background:#fff;border-color:#9a65b1;box-shadow:0 0 0 3px #9a65b124}.custom-input:disabled,.quick-locations-panel-button:disabled{cursor:not-allowed;opacity:.55}.custom-input:disabled{background:#ebefebcc}.location-section-parent{grid-template-columns:1fr 1fr;align-items:stretch;gap:6px;width:98%;margin:5px auto;display:grid}.booking-mode-option{color:#28583f;text-align:center;background:#ffffffb3;border:1px solid #4664503d;border-top:3px solid #9a65b1;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-height:180px;margin:0;padding:24px;transition:background .2s,border-color .2s,transform .2s;display:flex;box-shadow:0 4px 12px #32463714}.booking-mode-option:hover{background:#f8effbe6;border-color:#9a65b1;transform:translateY(-2px)}.booking-mode-option-title{margin-bottom:14px;font-size:1.15rem;font-weight:700;line-height:1.25}.booking-mode-option-description{color:#667168;max-width:360px;font-size:.9rem;font-weight:400;line-height:1.5}.booking-choice-panel{z-index:2;background:#fffffefa;border:1px solid #4664503d;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px;width:98%;min-height:365px;margin:5px auto;padding:12px;display:grid;position:relative;box-shadow:0 4px 12px #32463714}.maps-loading-message{color:#667168;text-align:center;margin:0;padding:80px 24px;font-size:.9rem;line-height:1.5}.manual-location-panel{border-top:3px solid #9a65b1;flex-direction:column;justify-content:center;padding:5px;display:flex}.quick-locations-panel{border-top:3px solid #c9b6d1;flex-direction:column;justify-content:center;margin:0;padding:5px;display:flex}@media (width<=700px){.location-section-parent{grid-template-columns:1fr}}.manual-location-panel-title,.quick-locations-panel-title{color:#28583f;text-align:center;text-transform:uppercase;letter-spacing:.06em;width:fit-content;max-width:100%;margin:5px auto;padding-bottom:6px;font-size:.75rem;font-weight:700;line-height:1.3;position:relative}.manual-location-panel-title:after,.quick-locations-panel-title:after{content:"";background:#9a65b173;height:1px;position:absolute;bottom:0;left:0;right:0}.manual-location-panel-inputs{gap:10px;width:95%;margin:0 auto;display:grid}.quick-locations-panel-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}@media (width<=700px){.quick-locations-panel-options{grid-template-columns:repeat(3,1fr)}}.quick-locations-panel-button{color:#28583f;text-overflow:ellipsis;white-space:nowrap;background:#ffffffb3;border:1px solid #4664503d;border-radius:8px;min-width:0;margin:0;padding:8px 6px;font-size:.8rem;font-weight:650;line-height:1.2;transition:background .2s,border-color .2s,transform .2s;overflow:hidden}.quick-locations-panel-button:hover:not(:disabled){background:#f8effb;border-color:#9a65b1;transform:translateY(-1px)}.map-frame{background:#ffffffb3;border:1px solid #4664503d;border-top:3px solid #c9b6d1;border-radius:10px;width:98%;margin:0 auto 10px;padding:5px;position:relative;overflow:hidden;box-shadow:0 4px 12px #32463714}.map-frame-preloaded{z-index:1;pointer-events:none;width:94%;position:absolute;top:12px;left:3%}.map-frame-preloaded:after{z-index:1;content:"";background:#fffffefa;position:absolute;inset:0}.map-frame>div{border-radius:6px;width:100%!important;max-width:none!important;height:300px!important}@media (width<=700px){.booking-choice-panel{grid-template-columns:1fr}}.fare-calculation-section{grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);align-items:stretch;gap:6px;width:98%;margin:5px auto;display:grid}@media (width<=300px){.fare-calculation-section{grid-template-columns:1fr}}.fare-cost{border-top:3px solid #9a65b1;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;gap:20px;margin:0;padding:10px 14px;display:grid}.fare-cost-left-subbox{text-align:center;min-width:0}.fare-cost-left-subbox-title{color:#28583f;text-transform:uppercase;letter-spacing:.06em;width:fit-content;max-width:100%;margin:0 auto;padding-bottom:6px;font-size:2rem;font-weight:700;line-height:1;position:relative}.fare-cost-left-subbox-title:after,.pedicab-amount-selector-title:after{content:"";background:#9a65b173;height:1px;position:absolute;bottom:0;left:0;right:0}.fare-cost-right-subbox-note{color:#667168;margin:8px 0 0;font-size:.75rem;line-height:1.3}.promo-code-control{gap:6px;max-width:170px;margin:12px auto 0;display:flex}.promo-code-control input{color:#333;width:100%;min-width:0;font:inherit;background:#ffffffd1;border:1px solid #c9b6d1;border-radius:7px;outline:none;padding:8px 10px;font-size:.75rem}.promo-code-control input:focus{border-color:#9a65b1;box-shadow:0 0 0 3px #9a65b11f}.promo-code-control button{color:#7b4d91;background:#f8effb;border:1px solid #9a65b1;border-radius:7px;flex:none;margin:0;padding:8px 12px;font-size:.75rem;font-weight:700;line-height:1.2}.promo-code-control button:hover:not(:disabled){background:#eedbf6}.promo-code-control button:disabled{cursor:not-allowed;opacity:.5}.promo-code-message{color:#a14c5a;margin:6px 0 0;font-size:.7rem;line-height:1.2}.promo-code-message.promo-code-success{color:#28583f;font-size:.9rem}.fare-cost-right-subbox{color:#7b4d91;text-align:center;border-radius:8px;min-width:0;max-width:100%;margin:0;padding:10px 12px;font-size:2.65rem;font-weight:700;line-height:1;overflow:hidden}.fare-cost-right-subbox-price{border-bottom:3px solid #9a65b1;padding-top:8px;padding-bottom:8px;display:inline-block}.fare-cost-right-subbox-when-discounted{overflow-wrap:anywhere;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;max-width:100%;font-size:2.25rem;line-height:1;display:flex}.fare-cost-right-subbox-price-when-discounted-discount{color:#a14c5a;font-size:.8rem}.fare-cost-right-subbox-price-when-discounted-original{color:#28583f;font-size:1.35rem}@media (width<=700px){.fare-cost-right-subbox,.fare-cost-right-subbox-note{text-align:center;padding-left:0}.fare-cost-right-subbox-when-discounted{justify-content:center}}.pedicab-amount-selector{border-top:3px solid #c9b6d1;flex-direction:column;justify-content:center;margin:0;padding:10px;display:flex}.pedicab-amount-selector-title{color:#28583f;text-transform:uppercase;letter-spacing:.06em;width:fit-content;max-width:100%;margin:0 auto;padding-bottom:6px;font-size:.75rem;font-weight:700;line-height:1.3;position:relative}.pedicab-amount-selector-buttons{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:6px;display:grid}.pedicab-amount-selector-buttons button{color:#333;cursor:pointer;background:#ffffffbf;border:1px solid #c9b6d1;border-radius:8px;justify-content:center;align-items:center;margin:0;padding:6px 0;font-size:1rem;font-weight:500;line-height:1;transition:background .2s,border-color .2s,transform .2s;display:flex}.pedicab-amount-selector-buttons button:hover{background:#f8effb;border-color:#9a65b1;transform:translateY(-2px)}.pedicab-amount-selector-buttons button.selected{color:#fff;background:#28583f;border-color:#28583f;box-shadow:0 4px 10px #28583f33}.fare-placeholder{white-space:normal}@media (width>=768px){.fare-placeholder{white-space:pre}}.book-ride-button{color:#fff;background:#28583f;border-radius:8px;width:min(100%,320px);margin:5px auto;padding:14px auto;font-size:1rem;font-weight:700;transition:background .2s,transform .2s,box-shadow .2s;box-shadow:0 5px 12px #28583f33}.book-ride-button:hover{background:#1e4632;transform:translateY(-2px);box-shadow:0 7px 15px #28583f47}.book-ride-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.8;background:#aab5ac}.book-ride-button:disabled:hover{background:#aab5ac;transform:none}.fare-calculator-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.fare-calculator-actions .book-ride-button{margin-left:0;margin-right:0}.fare-calculator-back-button,.fare-calculator-back-button:hover{background:#7b4d91}.page-heading,.section-heading{color:#333;font-weight:700;line-height:1.2}.page-heading{margin:8px 0 14px;font-size:1.65rem}.page-intro{color:#4e5b52;max-width:680px;margin:0 auto;font-size:1rem;line-height:1.6}.section-heading{color:#28583f;text-transform:uppercase;letter-spacing:.06em;text-align:center;margin:30px 0 14px;font-size:1.1rem}.card-container{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:center;gap:10px;max-width:900px;margin:0 auto;display:grid}.card{background:#ffffffa6;border:1px solid #46645033;border-radius:8px;padding:16px 14px;box-shadow:0 3px 9px #3246370f}.card h3{color:#333;margin:0 auto 8px;font-size:.95rem}.card p{color:#667168;margin:0;font-size:.85rem;line-height:1.45}.contact-details{gap:10px;max-width:560px;margin:24px auto 8px;display:grid}.contact-detail{color:#28583f;background:#ffffffa6;border:1px solid #46645033;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;font-size:.95rem;text-decoration:none;transition:background .2s,border-color .2s,transform .2s;display:flex}.contact-detail:hover{background:#ffffffe6;border-color:#28583f73;transform:translateY(-1px)}.contact-label{color:#667168;text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:700}@media (width<=700px){.card-container{grid-template-columns:1fr}.contact-detail{flex-direction:column;align-items:flex-start;gap:5px}.location-selection-layout,.fare-selection-layout{grid-template-columns:1fr}.location-inputs{width:100%}.fare-cost{grid-template-columns:1fr;align-items:flex-start;gap:8px}.fare-cost-right-subbox{margin-top:0}.pedicab-amount-selector-buttons{grid-template-columns:1fr;gap:4px}}.booking-flow-header{width:98%;margin:5px auto 10px}.booking-flow-title,.your-ride-section-label,.your-order-section-label{color:#28583f;letter-spacing:.06em;text-align:center;text-transform:uppercase;width:fit-content;max-width:100%;padding-bottom:6px;font-size:1.4rem;display:block;position:relative}.booking-flow-title{margin:20px auto 8px}.your-ride-section-label,.your-order-section-label{margin:0 auto}.booking-flow-title:after,.your-ride-section-label:after,.your-order-section-label:after{content:"";background:#9a65b173;height:1px;position:absolute;bottom:0;left:0;right:0}.your-ride-section,.your-order-section{color:#28583f;text-align:center;background:linear-gradient(135deg,#e0fad0e6,#f8effbdb);border:1px solid #28583f59;border-top:3px solid #9a65b1;border-radius:8px;width:100%;max-width:none;margin:0 auto;padding:16px 18px}.your-order-section{margin-top:1rem}.your-ride-section-row,.your-order-section-row{display:contents}.your-ride-section-row>b,.your-order-section-row>b{color:#9a65b1;letter-spacing:.1em;min-width:0;font-size:1.4rem;font-weight:800}.your-ride-section-row>span,.your-order-section-row>span{overflow-wrap:anywhere;min-width:0;font-weight:700}.your-ride-section-route,.your-order-section-route{color:#667168;text-align:left;grid-template-columns:max-content minmax(0,1fr);gap:4px 10px;width:fit-content;max-width:100%;margin:10px auto 0;font-size:1.275rem;line-height:1.35;display:grid}.booking-flow-kicker{color:#9a65b1;letter-spacing:.1em;text-align:center;text-transform:uppercase;width:fit-content;margin:0 auto;padding-bottom:6px;font-size:.7rem;font-weight:800;display:block;position:relative}.booking-flow-kicker:after{content:"";background:#9a65b173;height:1px;position:absolute;bottom:0;left:0;right:0}.booking-primary-button,.booking-secondary-button,.booking-confirm-button{border:1px solid #28583f;border-radius:8px;margin:0;padding:11px 18px;font-size:.9rem;font-weight:700;line-height:1.2;transition:background .2s,border-color .2s,transform .2s}.booking-primary-button,.booking-confirm-button{color:#fff;background:#28583f}.booking-primary-button:hover,.booking-confirm-button:hover:not(:disabled){background:#1e4632;transform:translateY(-1px)}.booking-secondary-button{color:#fff;background:#7b4d91;border-color:#7b4d91}.booking-secondary-button:hover{background:#7b4d91;transform:translateY(-1px)}.booking-primary-button:disabled,.booking-confirm-button:disabled{cursor:not-allowed;background:#b8c1b9;border-color:#b8c1b9}.booking-actions{justify-content:center;gap:10px;width:98%;margin-top:18px;margin-left:auto;margin-right:auto;display:flex}.time-slot-panel{color:#28583f;text-align:left;background:linear-gradient(135deg,#e0fad0e6,#f8effbdb);border:1px solid #28583f59;border-top:3px solid #9a65b1;border-radius:8px;width:98%;margin:5px auto;padding:18px}.time-slot-heading{align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.time-slot-heading>span{color:#fff;background:#9a65b1;border-radius:50%;flex:0 0 24px;place-items:center;width:24px;height:24px;font-size:.7rem;font-weight:800;display:grid}.time-slot-heading h3{color:#28583f;margin:0 0 3px;font-size:.95rem}.time-slot-heading p{color:#667168;margin:0;font-size:.75rem;line-height:1.4}.time-slot-heading-followup{margin-top:20px}.date-grid,.time-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.5rem;margin-bottom:1rem;display:grid}.date-grid button,.time-grid button{color:#333;cursor:pointer;background:#fffc;border:1px solid #4664503d;border-radius:8px;margin:0;padding:.75rem;font-size:.8rem;line-height:1.2;transition:background .2s,border-color .2s,transform .2s}.time-grid button{height:3rem;padding:.15rem .1rem}.date-grid button:hover:not(.selected),.time-grid button:hover:not(:disabled):not(.selected){background:#f8effb;border-color:#9a65b1;transform:translateY(-1px)}.date-grid button.selected,.time-grid button.selected{color:#fff;background:#28583f;border-color:#28583f;box-shadow:0 4px 10px #28583f2e}.time-grid button:disabled{color:#333;cursor:not-allowed;background:#ebefebcc}.your-order-section p{color:#28583f;margin:6px 0 0;font-size:1.425rem;font-weight:700;line-height:1.4}.your-order-section-date{color:#28583f}.your-order-section-fare{color:#7b4d91;width:fit-content;margin:0;font-size:1.8rem;line-height:1;display:inline-block}.your-order-section-fare-discounted{white-space:nowrap;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;font-size:1.74rem;line-height:1;display:flex}.your-order-section-fare-wrapper{overflow-wrap:anywhere;min-width:0}.your-order-section-fare-discounted-discount{color:#a14c5a;font-size:.72rem}.your-order-section-fare-discounted-final{color:#7b4d91;border-bottom:3px solid #9a65b1;padding-bottom:7px;font-size:1.68rem}.your-order-section-fare-discounted-original{color:#28583f;font-size:1.2rem}.booking-box{text-align:left;border-top:1px solid #4664503d;width:98%;max-width:none;margin:20px auto 0;padding:18px}.booking-box label{color:#28583f;text-transform:uppercase;letter-spacing:.06em;margin-bottom:7px;font-size:.8rem;font-weight:800;display:block}.booking-box input{color:#333;width:100%;font:inherit;background:#ffffffd1;border:1px solid #46645047;border-radius:8px;outline:none;padding:11px 12px;font-size:.9rem}.booking-box input:focus{border-color:#28583f;box-shadow:0 0 0 3px #28583f1f}.booking-confirm-button{margin-top:0}.booking-confirmed{background:#ffffffb8;border:1px solid #4664503d;border-radius:8px;width:98%;max-width:none;margin:20px auto 0;padding:22px}.booking-confirmed h3{color:#28583f;margin:5px 0 8px;font-size:1.15rem}.booking-confirmed p:not(.booking-flow-kicker){color:#667168;margin:0 auto 18px;font-size:.9rem;line-height:1.5}@media (width<=700px){.time-slot-panel{padding:12px 8px}.date-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.time-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.booking-actions{flex-wrap:wrap}}.site-footer{color:#fff;text-align:center;background:#222;padding:6px 2px;font-size:.8rem}.site-footer p{margin:0}
