/* Hull Airport Transfer: presentation layer for the existing booking system. */
html.hull-panel-root { height: auto; min-height: 100%; width: 100%; overflow: auto; }
body.hull-booking-panel {
    --font-main: 'Poppins', sans-serif;
    --font-heading: 'Poppins', sans-serif;
    --orbit-blue: #1a2b3c;
    --orbit-blue-deep: #122234;
    --orbit-accent: #ffc107;
    --orbit-blue-soft: #fff8dd;
    --orbit-bg: #f3f5f7;
    --orbit-border: #dce3ea;
    --orbit-text-main: #1a2b3c;
    --orbit-text-muted: #576779;
    height: auto; min-height: 100vh; width: 100%; overflow: visible;
    background: #f3f5f7; font-family: 'Poppins', sans-serif;
}
.hull-booking-panel .orbit-app-wrapper { width: 100%; height: auto; min-height: 100vh; overflow: visible; }
.hull-booking-panel #orbit-main-viewport { min-width: 0; height: auto; overflow: visible; }
.hull-booking-panel .orbit-content-area { min-width: 0; padding: clamp(20px, 3vw, 48px); overflow: visible; background: #f3f5f7; }
.hull-booking-panel #orbit-pane-container { max-width: 1440px; margin: 0 auto; }
.hull-booking-panel .orbit-sidebar { width: 250px; min-width: 250px; height: 100vh; height: 100dvh; position: sticky; background: #122234; border-color: #304152; }
.hull-booking-panel .sidebar-brand { padding: 28px 20px; }
.hull-booking-panel .brand-icon { background: #ffc107; color: #122234; box-shadow: 0 6px 22px #0002; }
.hull-booking-panel .brand-tag, .hull-booking-panel .nav-section-label, .hull-booking-panel .author-credit { color: #a9b7c5; }
.hull-booking-panel .sidebar-nav .nav-link { color: #d9e1e8; border: 1px solid transparent; border-radius: 12px; }
.hull-booking-panel .sidebar-nav .nav-link:hover { background: #25384c; color: #fff; }
.hull-booking-panel .sidebar-nav .nav-link.active { background: #ffc107; color: #122234; border-color: #ffc107; box-shadow: 0 6px 20px #0002; }
.hull-booking-panel .orbit-top-navbar { background: #fff; border-bottom: 1px solid #dce3ea; }
.hull-panel-welcome { max-width: 1440px; margin: 0 auto 28px; padding: clamp(24px, 3vw, 40px); border-radius: 24px; background: radial-gradient(ellipse at top right, #34516c, transparent 65%), #1a2b3c; color: #fff; display: flex; align-items: center; justify-content: space-between; gap: 28px; box-shadow: 0 15px 40px #12223412; }
.hull-panel-brand { display: inline-flex; gap: 12px; align-items: center; color: #ffc107; font-size: .85rem; font-weight: 600; text-decoration: none; }
.hull-panel-brand:hover { color: #ffe28a; }
.hull-panel-welcome h1 { margin: 18px 0 12px; color: #fff; font-size: clamp(1.5rem, 2.6vw, 2.35rem); line-height: 1.25; font-weight: 700; letter-spacing: -.035em; }
.hull-panel-welcome p { margin: 0; color: #d9e1e8; font-size: .9rem; line-height: 1.7; }
.hull-panel-help { flex-shrink: 0; display: grid; gap: 8px; padding: 18px 22px; border: 1px solid #64778a; border-radius: 14px; color: #fff; text-decoration: none; }
.hull-panel-help span { color: #d9e1e8; font-size: .75rem; }
.hull-panel-help strong { font-size: .95rem; }
.hull-panel-help i { color: #ffc107; margin-right: 6px; }
.hull-panel-help:hover { border-color: #ffc107; color: #ffc107; }
.hull-booking-panel #pane-new-booking {
    --orbit-blue: #1a2b3c; --orbit-blue-deep: #122234; --orbit-border: #dce3ea;
    --orbit-text: #1a2b3c; --orbit-text-light: #576779;
    --orbit-grad: linear-gradient(135deg, #ffd34b, #ffc107);
    font-family: 'Poppins', sans-serif;
}
.hull-booking-panel #pane-new-booking > .row > .col-xl-11 { width: 100%; }
.hull-booking-panel #pane-new-booking .orbit-glass-card { padding: clamp(24px, 3vw, 42px) !important; border-radius: 24px !important; background: #fff; box-shadow: 0 12px 40px #1222340b !important; }
.hull-booking-panel #pane-new-booking .view-main-title,
.hull-booking-panel #pane-new-booking .f-title { font-family: 'Poppins', sans-serif; color: #1a2b3c; }
.hull-booking-panel #pane-new-booking .view-main-title { font-size: clamp(1.25rem, 2vw, 1.65rem); }
.hull-booking-panel #pane-new-booking .wizard-header-intel { padding-bottom: 28px; border-bottom: 1px solid #e5eaf0; margin-bottom: 24px !important; }
.hull-booking-panel #pane-new-booking .step-icon { width: 44px; height: 44px; border-width: 2px; box-shadow: 0 0 0 6px #fff; }
.hull-booking-panel #pane-new-booking .progress-line { top: 22px; height: 3px; }
.hull-booking-panel #pane-new-booking .progress-line-fill { background: #ffc107; }
.hull-booking-panel #pane-new-booking .step-item.active .step-icon,
.hull-booking-panel #pane-new-booking .step-item.completed .step-icon,
.hull-booking-panel #pane-new-booking .step-item.active .step-number { color: #122234 !important; background: #ffc107 !important; border-color: #ffc107 !important; transform: none; }
.hull-booking-panel #pane-new-booking .step-label { font-size: .65rem !important; letter-spacing: 0; }
.hull-booking-panel #pane-new-booking .orbit-label { color: #435568 !important; letter-spacing: .4px; font-size: .72rem !important; }
.hull-booking-panel #pane-new-booking .orbit-input-group { min-height: 56px; display: flex; align-items: center; gap: 8px; background: #f7f9fb !important; border: 1px solid #dce3ea !important; padding: 12px 16px !important; border-radius: 12px !important; }
.hull-booking-panel #pane-new-booking .orbit-input-group:focus-within { background: #fff !important; border-color: #8b6b00 !important; box-shadow: 0 0 0 3px #ffc10733 !important; }
.hull-booking-panel #pane-new-booking .orbit-input-field { min-width: 0; min-height: 28px; font-size: 16px; font-weight: 500 !important; }
.hull-booking-panel #pane-new-booking .orbit-input-field::placeholder { color: #697887; opacity: 1; }
.hull-booking-panel #pane-new-booking .group-icon { flex-shrink: 0; color: #536a80; }
.hull-booking-panel #pane-new-booking .suggestion-tag:hover { background: #fff8dd !important; border-color: #a17b00 !important; color: #122234 !important; transform: none; }
.hull-booking-panel #pane-new-booking .fleet-card { border-radius: 18px !important; box-shadow: 0 6px 20px #12223408; }
.hull-booking-panel #pane-new-booking .fleet-card:hover { transform: translateY(-3px); border-color: #a17b00 !important; }
.hull-booking-panel #pane-new-booking .fleet-card.active { background: #fffae9 !important; border: 2px solid #a17b00 !important; box-shadow: 0 0 0 3px #ffc10726 !important; }
.hull-booking-panel #pane-new-booking .text-primary { color: #1a2b3c !important; }
.hull-booking-panel #pane-new-booking .orbit-btn { min-height: 48px; padding: 14px 24px !important; border-radius: 12px !important; text-transform: none; letter-spacing: 0; font-family: inherit; }
.hull-booking-panel #pane-new-booking .btn-primary { background: #ffc107 !important; color: #122234 !important; border: 1px solid #ffc107 !important; box-shadow: 0 6px 16px #ffc10726 !important; }
.hull-booking-panel #pane-new-booking .btn-primary:hover { background: #ffd34b !important; border-color: #ffd34b !important; transform: none; box-shadow: 0 8px 20px #12223414 !important; }
.hull-booking-panel #pane-new-booking .btn-outline { background: #fff; border: 1px solid #b6c3d0; color: #1a2b3c; }
.hull-booking-panel #pane-new-booking .btn-outline:hover { background: #f3f5f7; }
.hull-booking-panel #pane-new-booking .orbit-btn:disabled { opacity: .5; cursor: not-allowed; }
.hull-booking-panel #pane-new-booking #pm-airpay { background: #fffae9 !important; border-color: #a17b00 !important; }
.hull-booking-panel #pane-new-booking .wizard-footer-actions { gap: 16px; flex-wrap: wrap; }
.hull-booking-panel :is(a, button, summary, input, select, textarea):focus-visible { outline: 3px solid #9b7600; outline-offset: 3px; }
.hull-booking-panel .sidebar-nav a:focus-visible { outline-color: #ffc107; }
@media (max-width: 1199px) {
    .hull-panel-welcome { flex-wrap: wrap; }
    .hull-panel-help { padding: 12px 18px; }
}
@media (min-width: 768px) and (max-width: 992px) {
    .hull-booking-panel .orbit-sidebar { width: 80px; min-width: 80px; }
    .hull-booking-panel .orbit-sidebar.is-expanded { width: 250px; position: fixed; }
}
@media (max-width: 767px) {
    .hull-booking-panel .orbit-app-wrapper { flex-direction: column; }
    .hull-booking-panel .orbit-sidebar,
    .hull-booking-panel .orbit-sidebar.is-expanded { position: relative; width: 100%; min-width: 0; height: auto; box-shadow: none; }
    .hull-booking-panel .sidebar-brand,
    .hull-booking-panel .orbit-sidebar.is-expanded .sidebar-brand { padding: 14px 18px; justify-content: flex-start; }
    .hull-booking-panel .orbit-sidebar .brand-text { display: block; }
    .hull-booking-panel .brand-icon { width: 34px; height: 34px; border-radius: 10px; }
    .hull-booking-panel .brand-name { font-size: 1rem; }
    .hull-booking-panel .sidebar-nav { display: flex; gap: 8px; padding: 10px 12px; overflow-x: auto; }
    .hull-booking-panel .orbit-sidebar .nav-section-label,
    .hull-booking-panel .sidebar-footer { display: none; }
    .hull-booking-panel .sidebar-nav .nav-link,
    .hull-booking-panel .orbit-sidebar.is-expanded .nav-link { flex: 0 0 auto; gap: 8px; padding: 10px 14px; margin: 0; }
    .hull-booking-panel .orbit-sidebar .nav-label { display: block; font-size: .8rem; }
    .hull-booking-panel .orbit-content-area { padding: 18px 12px 32px; }
    .hull-panel-welcome { padding: 24px 20px; border-radius: 18px; margin-bottom: 18px; gap: 20px; }
    .hull-panel-welcome h1 { font-size: 1.65rem; }
    .hull-panel-help { width: 100%; }
    .hull-booking-panel #pane-new-booking .orbit-glass-card { padding: 24px 16px !important; border-radius: 18px !important; }
    .hull-booking-panel #pane-new-booking .wizard-header-intel .step-container { margin-top: 26px; }
    .hull-booking-panel #pane-new-booking .step-label { font-size: .6rem !important; }
    .hull-booking-panel #pane-new-booking .wizard-footer-actions > button,
    .hull-booking-panel #pane-new-booking .wizard-footer-actions > div { width: 100%; }
    .hull-booking-panel #pane-new-booking .wizard-footer-actions .orbit-btn { width: 100%; }
    .hull-booking-panel #pane-new-booking .via-row { grid-template-columns: minmax(0, 1fr); }
    .hull-booking-panel #pane-new-booking .summary-item { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
    .hull-booking-panel *, .hull-booking-panel *::before, .hull-booking-panel *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
