*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;background:#f5f7fa;display:flex;justify-content:center;align-items:flex-start;min-height:100vh;padding:16px;margin:0}.card{max-width:720px;width:100%;background:#fff;border-radius:28px;padding:32px 24px;box-shadow:0 20px 60px rgba(0,0,0,0.08);margin:8px 0}.header{text-align:center;margin-bottom:28px}.header h1{font-size:30px;font-weight:700;letter-spacing:-.5px;color:#1c1c1e;margin-bottom:4px;display:flex;align-items:center;justify-content:center;gap:8px}.header h1 img{height:36px;width:auto}.header p{font-size:16px;font-weight:400;color:#8e8e93}.form-group{margin-bottom:18px}.form-group.hidden{display:none}label{display:block;font-size:14px;font-weight:600;color:#1c1c1e;margin-bottom:5px}label .required{color:#ff3b30;margin-left:2px}input,select,textarea{width:100%;padding:14px 16px;font-size:16px;font-weight:400;font-family:inherit;color:#1c1c1e;background:#f8f9fc;border:1.5px solid #e5e7eb;border-radius:12px;transition:all .15s ease;outline:none;-webkit-appearance:none;appearance:none}input:focus,select:focus,textarea:focus{border-color:#007aff;background:#fff;box-shadow:0 0 0 4px rgba(0,122,255,0.10)}input::placeholder,textarea::placeholder{color:#aeaeb2}textarea{resize:vertical;min-height:72px}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238e8e93' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}.row{display:flex;gap:14px}.row .form-group{flex:1}.phone-row{display:flex;gap:10px;align-items:stretch;flex-wrap:nowrap}.country-dropdown-wrapper{flex:0 0 200px;min-width:170px;position:relative}.country-dropdown-wrapper .selected-display{display:flex;align-items:center;padding:14px;background:#f8f9fc;border:1.5px solid #e5e7eb;border-radius:12px;cursor:pointer;font-size:15px;transition:.15s;min-height:56px;gap:6px}.country-dropdown-wrapper .selected-display:hover{border-color:#dce0e5}.country-dropdown-wrapper .selected-display .code{font-weight:500;color:#1c1c1e}.country-dropdown-wrapper .selected-display .arrow{margin-left:auto;color:#8e8e93;transition:transform .2s}.country-dropdown-wrapper .selected-display .arrow.open{transform:rotate(180deg)}.country-dropdown-list{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1.5px solid #dce0e5;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,0.12);max-height:260px;overflow-y:auto;z-index:100;padding:6px 0}.country-dropdown-list.open{display:block}.country-dropdown-list .search-input{width:100%;padding:10px 14px;border:none;border-bottom:1.5px solid #e5e7eb;font-size:14px;background:#f8f9fc;outline:none;border-radius:12px 12px 0 0;margin-bottom:4px}.country-dropdown-list .search-input:focus{background:#fff}.country-dropdown-list .country-option{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:background .1s;font-size:14px}.country-dropdown-list .country-option:hover{background:#f0f7ff}.country-dropdown-list .country-option .code{font-weight:500;color:#1c1c1e}.country-dropdown-list .country-option .name{color:#6c7a8a}.country-dropdown-list .no-results,.country-dropdown-list .loading{padding:16px;text-align:center;color:#8e8e93;font-size:14px}.phone-row .phone-number{flex:1;min-width:0}.hint{font-size:13px;font-weight:400;color:#8e8e93;margin-top:5px}.flight-note{font-size:13px;font-weight:400;color:#007aff;background:#e8f2ff;padding:10px 14px;border-radius:10px;margin-top:6px}.placard-note{font-size:13px;font-weight:400;color:#6c7a8a;background:#f5f7fa;padding:8px 14px;border-radius:10px;margin-top:4px}.section-divider{border:none;border-top:1.5px solid #e5e7eb;margin:24px 0 20px 0}.section-heading{font-size:18px;font-weight:600;color:#1c1c1e;margin-bottom:4px}.section-sub{font-size:14px;color:#8e8e93;margin-bottom:16px}.vehicle-instructions{background:#f8f9fc;border-radius:16px;padding:20px 20px 18px;margin-bottom:20px;border:1.5px solid #e5e7eb}.instructions-header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.instructions-header .instructions-icon{font-size:24px}.instructions-header h3{font-size:17px;font-weight:700;color:#1c1c1e;margin:0}.instructions-content{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.instruction-step{display:flex;align-items:flex-start;gap:10px}.instruction-step .step-number{flex-shrink:0;width:24px;height:24px;background:#007aff;color:#fff;font-size:12px;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:1px}.instruction-step .step-text{display:flex;flex-direction:column}.instruction-step .step-text strong{font-size:13px;font-weight:600;color:#1c1c1e}.instruction-step .step-text span{font-size:12px;font-weight:400;color:#6c7a8a;line-height:1.3}.instructions-tip{margin-top:14px;padding:12px 16px;background:#e8f2ff;border-radius:10px;font-size:13px;color:#1c1c1e;border-left:4px solid #007aff}.instructions-tip strong{font-weight:600}#vehicleSectionWrapper{display:none;margin-top:8px}#vehicleSectionWrapper.visible{display:block}.section-title{font-size:18px;font-weight:600;color:#1c1c1e;margin-bottom:16px}.section-title .sub{font-weight:400;font-size:14px;color:#8e8e93;display:block;margin-top:2px}#capacityReminder{background:#f0f7ff;border:1px solid #cce0ff;border-radius:12px;padding:14px 16px;margin-bottom:16px;font-size:14px;line-height:1.5;color:#1c1c1e}.vehicle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-bottom:16px}.vehicle-card{background:#f8f9fc;border:2px solid transparent;border-radius:16px;padding:14px 12px 16px;text-align:center;cursor:pointer;transition:all .2s ease;position:relative}.vehicle-card:hover{border-color:#dce0e5;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.08)}.vehicle-card.selected{border-color:#007aff;background:#f0f7ff;box-shadow:0 4px 16px rgba(0,122,255,0.12)}.vehicle-card.selected .v-badge{display:block}.vehicle-card .v-badge{display:none;position:absolute;top:-6px;right:-6px;background:#007aff;color:#fff;font-size:10px;font-weight:700;padding:2px 10px;border-radius:20px}.vehicle-card .v-img{width:100%;max-height:100px;object-fit:contain;border-radius:8px;margin-bottom:8px;background:#fff;transition:transform .2s}.vehicle-card:hover .v-img{transform:scale(1.02)}.vehicle-card .v-name{font-size:15px;font-weight:600;color:#1c1c1e}.vehicle-card .v-sub{font-size:12px;color:#6c7a8a;margin-top:2px}.vehicle-card .v-capacity-list{margin:6px 0 4px}.vehicle-card .v-capacity-option{font-size:11px;color:#1c1c1e;background:#f0f2f5;padding:3px 8px;border-radius:4px;margin:2px 0;display:inline-block;width:100%;font-weight:500}.vehicle-card .v-capacity-option:not(:last-child){margin-bottom:2px}.vehicle-card .v-fit-badge{display:inline-block;font-size:10px;font-weight:600;padding:2px 12px;border-radius:12px;margin:4px 0}.vehicle-card .v-fit-badge.fit{background:#e8f7ed;color:#1a3a2a;border:1px solid #34c759}.vehicle-card .v-fit-badge.maybe{background:#fff3e0;color:#e65100;border:1px solid #ff9800}#vehicleError{color:#e74c3c;font-size:14px;display:none;margin-top:8px}.hourly-notice{background:#e8f7ed;border:1px solid #34c759;border-radius:12px;padding:12px 16px;margin:8px 0 16px;font-size:14px;color:#1a3a2a;text-align:center}.hourly-notice.hidden{display:none}.hidden{display:none!important}.hourly-fares-toggle{text-align:center;margin:12px 0 8px}.hourly-fares-toggle button{background:transparent;border:none;color:#007aff;font-weight:600;font-size:15px;cursor:pointer;padding:8px 16px;transition:opacity .2s}.hourly-fares-toggle button:hover{opacity:.7}.hourly-fares-toggle.hidden{display:none!important}.hourly-fares-table-wrap{display:none;background:#f8f9fc;border-radius:12px;padding:16px;margin:0 0 16px;overflow-x:auto}.hourly-fares-table-wrap.open{display:block}.hourly-fares-table-wrap p.note{font-size:13px;color:#6c7a8a;margin:0 0 12px;text-align:center}.hourly-fares-table-wrap table{width:100%;border-collapse:collapse;font-size:14px}.hourly-fares-table-wrap th{text-align:left;padding:8px 10px;border-bottom:1px solid #e5e7eb;font-weight:600;color:#1c1c1e}.hourly-fares-table-wrap th.center,.hourly-fares-table-wrap td.center{text-align:center}.hourly-fares-table-wrap td{padding:8px 10px;border-bottom:1px solid #f0f2f5;color:#1c1c1e}.hourly-fares-table-wrap tr:last-child td{border-bottom:none}.hourly-fares-table-wrap .disclaimer{font-size:11px;color:#8e8e93;margin:12px 0 0;text-align:center}.hourly-fares-table-wrap .vehicle-name{font-weight:600;color:#1c1c1e}.hourly-fares-table-wrap .vehicle-sub{font-size:12px;color:#6c7a8a;font-weight:400}.genting-fares-toggle{text-align:center;margin:12px 0 8px}.genting-fares-toggle button{background:transparent;border:none;color:#007aff;font-weight:600;font-size:15px;cursor:pointer;padding:8px 16px;transition:opacity .2s}.genting-fares-toggle button:hover{opacity:.7}.genting-fares-toggle.hidden{display:none!important}.genting-fares-table-wrap{display:none;background:#f8f9fc;border-radius:12px;padding:16px;margin:0 0 16px;overflow-x:auto}.genting-fares-table-wrap.open{display:block}.genting-fares-table-wrap p.note{font-size:13px;color:#6c7a8a;margin:0 0 12px;text-align:center}.genting-fares-table-wrap table{width:100%;border-collapse:collapse;font-size:14px}.genting-fares-table-wrap th{text-align:left;padding:8px 10px;border-bottom:1px solid #e5e7eb;font-weight:600;color:#1c1c1e}.genting-fares-table-wrap th.center,.genting-fares-table-wrap td.center{text-align:center}.genting-fares-table-wrap td{padding:8px 10px;border-bottom:1px solid #f0f2f5;color:#1c1c1e}.genting-fares-table-wrap tr:last-child td{border-bottom:none}.genting-fares-table-wrap .disclaimer{font-size:11px;color:#8e8e93;margin:12px 0 0;text-align:center}.genting-fares-table-wrap .vehicle-name{font-weight:600;color:#1c1c1e}.genting-fares-table-wrap .vehicle-sub{font-size:12px;color:#6c7a8a;font-weight:400}.intercity-fares-toggle{text-align:center;margin:12px 0 8px}.intercity-fares-toggle button{background:transparent;border:none;color:#007aff;font-weight:600;font-size:15px;cursor:pointer;padding:8px 16px;transition:opacity .2s}.intercity-fares-toggle button:hover{opacity:.7}.intercity-fares-toggle.hidden{display:none!important}.intercity-fares-table-wrap{display:none;background:#f8f9fc;border-radius:12px;padding:16px;margin:0 0 16px;overflow-x:auto}.intercity-fares-table-wrap.open{display:block}.intercity-fares-table-wrap p.note{font-size:13px;color:#6c7a8a;margin:0 0 12px;text-align:center}.intercity-fares-table-wrap table{width:100%;border-collapse:collapse;font-size:14px}.intercity-fares-table-wrap th{text-align:left;padding:8px 10px;border-bottom:1px solid #e5e7eb;font-weight:600;color:#1c1c1e}.intercity-fares-table-wrap th.center,.intercity-fares-table-wrap td.center{text-align:center}.intercity-fares-table-wrap td{padding:8px 10px;border-bottom:1px solid #f0f2f5;color:#1c1c1e}.intercity-fares-table-wrap tr:last-child td{border-bottom:none}.intercity-fares-table-wrap .disclaimer{font-size:11px;color:#8e8e93;margin:12px 0 0;text-align:center}.intercity-fares-table-wrap .vehicle-name{font-weight:600;color:#1c1c1e}.intercity-fares-table-wrap .vehicle-sub{font-size:12px;color:#6c7a8a;font-weight:400}.fares-toggle{text-align:center;margin:8px 0 12px}.fares-toggle button{background:transparent;border:none;color:#007aff;font-weight:600;font-size:15px;cursor:pointer;padding:8px 16px;transition:opacity .2s}.fares-toggle button:hover{opacity:.7}.fares-table-wrap{display:none;background:#f8f9fc;border-radius:12px;padding:16px;margin:0 0 16px;overflow-x:auto}.fares-table-wrap.open{display:block}.fares-table-wrap p.note{font-size:13px;color:#6c7a8a;margin:0 0 12px;text-align:center}.fares-table-wrap table{width:100%;border-collapse:collapse;font-size:14px}.fares-table-wrap th{text-align:left;padding:8px 10px;border-bottom:1px solid #e5e7eb;font-weight:600;color:#1c1c1e}.fares-table-wrap th.center,.fares-table-wrap td.center{text-align:center}.fares-table-wrap td{padding:8px 10px;border-bottom:1px solid #f0f2f5;color:#1c1c1e}.fares-table-wrap tr:last-child td{border-bottom:none}.fares-table-wrap .disclaimer{font-size:11px;color:#8e8e93;margin:12px 0 0;text-align:center}.btn-submit{width:100%;padding:16px 24px;background:#007aff;color:#fff;border:none;border-radius:14px;font-size:19px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s ease;margin-top:6px}.btn-submit:hover{background:#0066d9}.btn-submit:active{transform:scale(.98)}.btn-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}.validation-message{background:#fff3e0;border-left:4px solid #ff9800;padding:14px 18px;border-radius:8px;margin:12px 0;display:none;font-size:15px;line-height:1.5;color:#e65100}.validation-message.show{display:block}.validation-message .icon{margin-right:8px}#response{margin-top:20px;padding:16px 20px;border-radius:14px;font-size:15px;font-weight:500;display:none;line-height:1.6}#response.success{display:block;background:#e8f7ed;border:1.5px solid #34c759;color:#1a3a2a}#response.error{display:block;background:#fde8e8;border:1.5px solid #ff3b30;color:#6b1a1a}#response .booking-number{display:inline-block;font-size:20px;font-weight:700;color:#007aff;background:rgba(0,122,255,0.10);padding:4px 14px;border-radius:8px;margin-top:4px}.loader{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,0.3);border-top:3px solid #fff;border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle;margin-right:10px}@keyframes spin{to{transform:rotate(360deg)}}.wa-section{margin-top:40px;border-top:2px solid #e5e7eb;padding-top:32px}.wa-card{background:#f8f9fc;border-radius:20px;padding:28px 24px;text-align:center}.wa-card h2{font-size:22px;font-weight:700;color:#1c1c1e;margin-bottom:6px}.wa-card .sub{font-size:15px;color:#6c7a8a;margin-bottom:20px}.wa-steps{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:left;margin-bottom:24px}.wa-step{background:#fff;padding:14px 16px;border-radius:12px;border:1px solid #e5e7eb;display:flex;align-items:flex-start;gap:12px}.wa-step .num{flex-shrink:0;width:28px;height:28px;background:#007aff;color:#fff;font-size:14px;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center}.wa-step .content .title{font-size:14px;font-weight:600;color:#1c1c1e}.wa-step .content .desc{font-size:13px;color:#6c7a8a;line-height:1.4}.wa-note{font-size:13px;color:#8e8e93;margin-top:14px}.wa-note a{color:#007aff;text-decoration:none}@media(max-width:768px){body{padding:12px}.card{padding:24px 18px;border-radius:20px}.header h1{font-size:26px}.header p{font-size:15px}.row{flex-direction:column;gap:0}.phone-row{gap:8px}.country-dropdown-wrapper{flex:0 0 45%;min-width:120px}input,select,textarea{padding:13px 14px;font-size:16px}.btn-submit{font-size:18px;padding:15px}#response{font-size:14px;padding:14px 16px}#response .booking-number{font-size:18px}.vehicle-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.vehicle-card .v-img{max-height:80px}.vehicle-card .v-name{font-size:13px}.vehicle-card .v-capacity-option{font-size:10px;padding:2px 6px}.fares-table-wrap table{font-size:13px}.fares-table-wrap th,.fares-table-wrap td{padding:6px 8px}.wa-steps{grid-template-columns:1fr}.wa-card{padding:20px 16px}.wa-card h2{font-size:19px}.instructions-content{grid-template-columns:1fr;gap:8px}.instruction-step .step-text strong{font-size:12px}.instruction-step .step-text span{font-size:11px}.instructions-tip{font-size:12px;padding:10px 14px}.vehicle-instructions{padding:16px 14px}}@media(max-width:400px){.card{padding:18px 14px}.header h1{font-size:22px}input,select,textarea{padding:12px;font-size:15px}.btn-submit{font-size:17px;padding:14px}.country-dropdown-wrapper{min-width:unset}.vehicle-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.instructions-header h3{font-size:15px}.instructions-header .instructions-icon{font-size:20px}}@media(min-width:769px) and (max-width:1024px){.card{padding:36px 30px}.country-dropdown-wrapper{flex:0 0 180px}}