:root{font-family:"Segoe UI",Arial,sans-serif;color:#19212c;background:#fff;font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}a{color:#00479d;text-underline-offset:3px}a:hover{color:#0060ee}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #8db9ff;outline-offset:4px}.booking-header{padding:30px 24px 24px;text-align:center}.booking-header img{max-width:100%;height:auto}.booking-main{max-width:1180px;margin:18px auto 0;padding:0 28px}.passenger-main{max-width:1016px}.booking-steps{display:flex;align-items:center;gap:14px;margin-bottom:38px;color:#8893a3;font-size:14px}.booking-steps>a,.booking-steps>span:not(.step-line){display:flex;align-items:center;gap:9px;white-space:nowrap;text-decoration:none;color:inherit}.booking-steps [aria-current]{color:#004aa8!important;font-weight:650}.step-line{width:40px;height:1px;background:#dce2ea}h1{font-size:38px;letter-spacing:-1px;line-height:1.2;margin:0 0 12px;font-weight:750}.page-description{color:#76818e;font-size:16px;line-height:1.6;margin:0 0 32px}.booking-card{border:1px solid #dcdee3;border-radius:21px;padding:30px;margin-bottom:28px;background:#fff}h2{font-size:22px;line-height:1.4;margin:0 0 27px;font-weight:650;letter-spacing:-.4px}.passenger-card h2{font-size:24px;margin-bottom:32px}label,legend{font-size:19px;font-weight:400;display:block;margin-bottom:12px}fieldset{border:0;margin:0;padding:0;min-width:0}legend{float:none;padding:0}.gender-options{display:flex;gap:15px;margin-bottom:24px}.gender-option{position:relative;margin:0;cursor:pointer}
.gender-option input{position:absolute;right:20px;top:50%;transform:translateY(-50%);width:29px;height:29px;margin:0;accent-color:#00449d}.gender-option span{display:block;width:175px;padding:18px 55px 18px 20px;border:1px solid #c7c9cd;border-radius:11px;color:#142334}.gender-option:has(input:checked) span{border-color:#00449d;background:#f2f6fb}.gender-option:has(input:focus-visible) span{outline:3px solid #8db9ff;outline-offset:3px}.name-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}input:not([type=radio]){width:100%;min-width:0;height:70px;border:1px solid #8792a1;border-radius:10px;background:white;padding:16px 20px;font:inherit;font-size:19px;color:#354252}input::placeholder{color:#84909f}input:hover{border-color:#235ea5}input:focus{border-color:#004aa8;outline:3px solid #0055f415;outline-offset:0}.field-note{font-size:15px;line-height:1.6;color:#76818e;margin:12px 0 0}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:30px}.back-link{font-size:15px;text-decoration:none;color:#627185}.primary-button{display:flex;align-items:center;justify-content:center;gap:30px;background:#0055ee;border:0;border-radius:11px;color:#fff;padding:18px 26px;font:inherit;font-size:17px;font-weight:600;cursor:pointer;box-shadow:0 6px 20px #0055ee18}.primary-button:hover{background:#0044c8}.booking-footer{padding:55px 24px 25px;text-align:center;color:#8893a3;font-size:14px}.review-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:40px;align-items:start}.card-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:25px}.card-heading h2{margin:0}.card-heading a{font-size:16px}.flight-route{display:flex;justify-content:space-between;align-items:center;gap:20px}.flight-route strong{display:block;font-size:30px;line-height:1.4;letter-spacing:-.5px}.flight-route div>span{display:block;color:#7f8996;font-size:16px;line-height:1.6}.destination{text-align:right}.flight-path{flex:1;max-width:210px;min-width:35px;border-top:1px dashed #d5dbe4;position:relative}.flight-path>span{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);background:#fff;padding:0 10px;font-size:31px!important;color:#6093df!important}.flight-date{text-align:center;font-size:19px;margin:20px 0 24px}.flight-leg{border-bottom:1px solid #dcdee3;margin-bottom:22px}.flight-leg h3{font-size:19px;font-weight:650;margin:0 0 19px}.flight-note{display:flex;align-items:baseline;gap:11px;color:#5f6e80;font-size:16px;line-height:1.6;margin:0}.flight-note>span{color:#177bd2}.passenger-list{list-style:none;margin:30px 0 10px;padding:0}.passenger-list li+li{margin-top:33px}.passenger-list span{display:block;font-size:17px;line-height:1.6}.passenger-list small{display:block;font-size:15px;color:#7f8996;margin-top:4px}.contact-email{display:flex;gap:12px;align-items:center;margin:0;font-size:17px;overflow-wrap:anywhere;word-break:break-word}.contact-email>span{color:#7f8996;font-size:22px}.pricing{padding-top:26px;position:sticky;top:24px}.price-row{display:flex;justify-content:space-between;gap:18px;font-size:18px;line-height:1.5;margin-bottom:23px;color:#65686c}.price-row>span:last-child{color:#202328;white-space:nowrap}.price-total{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:49px 0 32px;font-size:28px;letter-spacing:-.6px}.price-total strong:last-child{font-size:34px;white-space:nowrap}.booking-promises{list-style:none;margin:0;padding:0;color:#65686c;font-size:16px;line-height:1.65}.booking-promises li{position:relative;padding-left:33px;margin-bottom:14px;overflow-wrap:anywhere}.booking-promises li:before{content:'✓';position:absolute;left:0;top:-1px;font-size:24px;color:#4daf63}.booking-promises strong{display:block}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.error-summary{border:1px solid #ebbac1;background:#fff4f5;border-radius:12px;padding:20px;color:#9b2835;margin-bottom:24px}.error-summary ul{margin-bottom:0}
@media(max-width:900px){.review-layout{grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:24px}.booking-card{padding:25px}.price-total{font-size:23px}.price-total strong:last-child{font-size:27px}.price-row{font-size:16px}}
@media(max-width:700px){.booking-header{padding:24px 20px}.booking-main{padding:0 18px;margin-top:12px}.booking-steps{gap:9px;font-size:12px;margin-bottom:28px}.step-line{width:22px}h1{font-size:30px}.page-description{font-size:15px;margin-bottom:25px}.booking-card{padding:23px 20px;border-radius:18px;margin-bottom:22px}.passenger-card h2{font-size:22px;margin-bottom:26px}h2{font-size:20px}.name-grid{grid-template-columns:1fr;gap:22px}.gender-options{gap:12px}.gender-option{flex:1}.gender-option span{width:auto;padding:17px 48px 17px 16px}
.gender-option input{right:35px;width:25px;height:25px}label,legend{font-size:17px}input:not([type=radio]){height:60px;font-size:17px;padding:14px 16px}.form-actions{flex-direction:column-reverse;align-items:stretch;text-align:center}.primary-button{width:100%}.review-layout{grid-template-columns:1fr;gap:25px}.pricing{position:static;padding:26px 20px;border:1px solid #dcdee3;border-radius:18px}.price-total{margin:30px 0;font-size:25px}.price-total strong:last-child{font-size:30px}.flight-route{gap:12px}.flight-route strong{font-size:27px}.flight-route div>span{font-size:14px}.flight-date{font-size:17px}.flight-note{font-size:14px}.contact-email{font-size:16px}.booking-footer{padding-top:40px}}
.booking-header {
    background: #f0f7ff;
    margin-bottom: 48px;
}

.booking-steps {
    font-size: 16px;
}

.booking-main h1 {
    font-size: 28px;
    margin-bottom: 22px;
}

.passenger-card h2 {
    font-size: 22px;
    margin-bottom: 24px;
}

.booking-card.passenger-card label,
.booking-card.passenger-card legend,
.booking-card label, 
.booking-card legend {
    font-size: 17px;
}

.gender-option span {
    display: block;
    width: 150px;
    padding: 13px 55px 13px 20px;
    border: 1px solid #c7c9cd;
    border-radius: 11px;
    color: #142334;
    font-size: 17px;
}

.gender-option input {
    width: 25px;
    height: 25px;
}

input:not([type=radio]) {
    height: auto;
    padding: 15px 20px;
    font-size: 18px;
}

.field-note {
    font-size: 16px;
}

.primary-button {
    gap: 14px;
    padding: 18px 35px;
    font-size: 18px;
}

.card-heading h2 {
    font-size: 19px;
}

.flight-date {
    font-size: 18px;
}

.flight-route div>span {
    font-size: 17px;
}

.flight-route strong {
    font-size: 24px;
}

.price-total {
    font-size: 25px;
    margin: 35px 0 32px;
}

.price-total strong:last-child {
    font-size: 28px;
}
/* Ziina checkout and booking tracking */
.payment-form{margin:-10px 0 30px}.pay-button{width:100%;display:flex;align-items:center;justify-content:center;gap:13px;min-height:64px;padding:17px 22px;border:1px solid #1465f0;border-radius:14px;background:linear-gradient(120deg,#1679ff,#0050e4 70%,#1243be);box-shadow:0 8px 22px #0055ee26,inset 0 1px 0 #ffffff30;color:white;cursor:pointer;font:inherit;font-size:19px;font-weight:650;transition:transform .18s,box-shadow .18s}.pay-button svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.7;flex-shrink:0}.pay-button>span:nth-child(2){flex:1;text-align:left}.pay-button small{font-size:14px;font-weight:400;opacity:.85;margin-left:4px}.pay-button>span:last-child{font-size:25px;font-weight:400}.pay-button:hover{transform:translateY(-1px);box-shadow:0 11px 26px #0055ee33}.pay-button:disabled{opacity:.7;cursor:wait;transform:none}.payment-caption{text-align:center;color:#8390a0;font-size:12px;margin:12px 0 0}.test-label{display:inline-block;padding:3px 7px;margin-left:5px;border-radius:5px;background:#fff5db;color:#936413;font-size:11px;font-weight:650}.payment-error{padding:14px 16px;border:1px solid #efd0d1;border-radius:10px;background:#fff7f7;color:#9a3742;font-size:14px;line-height:1.6;margin-bottom:20px}.tracking-layout{max-width:760px;margin:30px auto}.tracking-search .field-note{margin:-12px 0 24px}.tracking-search .primary-button{margin-top:20px;width:100%}.tracking-result h2{font-size:27px;margin:22px 0 12px;line-height:1.4}.status-badge{display:inline-block;border-radius:30px;background:#fff5df;color:#926420;font-size:12px;font-weight:650;padding:9px 14px;line-height:1.6}.status-paid{background:#eaf8ef;color:#28814a}.tracking-facts{margin:30px 0 24px}.tracking-facts>div{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid #edf0f5}.tracking-facts dt{color:#788698;font-size:14px}.tracking-facts dd{margin:0;font-size:15px;text-align:right}.reference-number{font-family:ui-monospace,Consolas,monospace;font-weight:650;overflow-wrap:anywhere;max-width:68%}.email-status{background:#f4f8ff;padding:16px 18px;border-radius:10px;font-size:14px;color:#526b8b;line-height:1.7}.status-refresh{display:inline-block;font-size:15px;margin:10px 20px 0 0}.tracking-result .back-link{display:inline-block;margin-top:18px}@media(max-width:700px){.tracking-result h2{font-size:23px}.tracking-facts>div{flex-direction:column;gap:10px}.tracking-facts dd{text-align:left}.reference-number{max-width:100%}.pay-button{min-height:60px}}
@media(prefers-reduced-motion:reduce){.pay-button{transition:none}.pay-button:hover{transform:none}}

/* Keep the next booking action within reach on phones. */
.mobile-payment-total { display: none; }
@media (max-width: 700px) {
    .booking-step-2, .booking-step-3 {
        padding-bottom: calc(128px + env(safe-area-inset-bottom, 0px));
        scroll-padding-bottom: calc(145px + env(safe-area-inset-bottom, 0px));
    }
    .booking-step-2 input, .booking-step-3 a {
        scroll-margin-bottom: 145px;
    }
    .mobile-action-bar {
        position: fixed;
        inset: auto 0 0;
        z-index: 100;
        padding: 14px max(18px, env(safe-area-inset-right, 0px)) calc(14px + env(safe-area-inset-bottom, 0px)) max(18px, env(safe-area-inset-left, 0px));
        background: #fffffffa;
        border-top: 1px solid #e1e8f2;
        box-shadow: 0 -8px 30px #19365c0b;
        backdrop-filter: blur(16px);
    }
    .review-actions .primary-button {
        min-height: 56px;
        max-width: 640px;
        margin: 0 auto;
    }
    .payment-actions {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        column-gap: 20px;
        row-gap: 9px;
    }
    .payment-actions .pay-button {
        grid-column: 2;
        grid-row: 1;
        min-height: 56px;
        padding: 14px 18px;
        font-size: 17px;
        border-radius: 12px;
    }
    .mobile-payment-total {
        display: flex;
        grid-column: 1;
        grid-row: 1;
        flex-direction: column;
        align-items: flex-start;
        gap: 3px;
        white-space: nowrap;
    }
    .mobile-payment-total > span {
        color: #7c899b;
        font-size: 12px;
    }
    .mobile-payment-total strong {
        color: #192b45;
        font-size: 23px;
        letter-spacing: -.6px;
        line-height: 1.2;
    }
    .mobile-payment-total small {
        font-size: 12px;
        font-weight: 500;
        letter-spacing: 0;
        color: #62748c;
    }
    .payment-actions .payment-caption {
        grid-column: 1 / -1;
        margin: 0;
        font-size: 11px;
    }
    .payment-form { margin: 0; }
}

.pay-button {
    padding: 14px 22px;
}

@media screen and (max-width: 991px) {
    aside.pricing {
        height: 0px;
        border: none !important;
    }

    aside.pricing .price-row,
    aside.pricing .price-total,
    aside.pricing .booking-promises,
    .booking-step-3 .booking-footer {
        display: none !important;
    }
}
/* Focused booking status states. */
.booking-step-4{background:#f6f8fc}.booking-step-4 .booking-main{max-width:820px;margin-top:34px}.booking-step-4 h1{text-align:center;font-size:34px;letter-spacing:-1px}.status-intro{text-align:center;color:#7b8798;font-size:16px;margin:14px 0 34px}.status-panel{background:#fff;border:1px solid #e5eaf2;border-radius:24px;padding:38px;box-shadow:0 12px 45px #243e6006}.status-search label{font-size:14px;font-weight:600;color:#455775;margin-bottom:10px}.status-search-row{display:flex;align-items:stretch;gap:12px}.status-search-row input{height:58px;border-color:#d9e2ef;background:#fbfcff;font-size:18px;text-transform:uppercase;letter-spacing:.6px}.status-search-row input::placeholder{text-transform:none;letter-spacing:0;font-size:16px;color:#97a2b3}.status-search-row .primary-button{flex-shrink:0;font-size:15px;padding:16px 20px;gap:18px;box-shadow:none}.status-hint{font-size:13px;line-height:1.6;color:#8995a6;margin:11px 0 0}.status-message{display:flex;align-items:center;gap:17px;padding:23px;border:1px solid;border-radius:15px;margin-top:32px}.status-message h2{font-size:20px;font-weight:650;letter-spacing:-.4px;margin:0 0 6px}.status-message p{font-size:14px;line-height:1.7;margin:0}.status-symbol{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;flex-shrink:0;font-size:26px;background:#ffffffb3}.status-processing{color:#85601c;background:#fff9eb;border-color:#f4e8c8}.status-approved{color:#25704c;background:#edf9f2;border-color:#d6ebdf}.status-missing{color:#9c4851;background:#fff5f5;border-color:#f2dfe1}.status-trip-facts{display:grid;grid-template-columns:repeat(3,1fr);margin:26px 0 0;padding:23px 0;border-bottom:1px solid #edf0f5}.status-trip-facts>div{padding-left:24px;border-left:1px solid #e8edf4}.status-trip-facts>div:first-child{border:0;padding-left:0}.status-trip-facts dt{color:#8591a3;font-size:13px;margin-bottom:8px}.status-trip-facts dd{color:#283d5b;font-size:17px;font-weight:600;margin:0}.status-result-footer{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:21px;font-size:13px}.status-result-footer>span{font-family:ui-monospace,Consolas,monospace;color:#75849b;overflow-wrap:anywhere;min-width:0}.status-result-footer a{text-decoration:none;white-space:nowrap}.status-test{display:inline-block;margin-top:24px;padding:5px 9px;color:#8e712e;background:#fff5dc;border-radius:6px;font-size:11px}.status-test+.status-message{margin-top:12px}.ticket-download{text-decoration:none;margin-top:18px;font-size:16px;background:#257b53;box-shadow:none}.ticket-download:hover{color:#fff;background:#1d6544}.status-empty{text-align:center;padding:46px 15px 20px}.status-empty-mark{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#f1f6ff;color:#87a8dc;font-size:29px;margin-bottom:18px}.status-empty h2{color:#52657e;font-size:19px;margin-bottom:9px;font-weight:500}.status-empty p{color:#96a1b1;font-size:14px;line-height:1.7;margin:0}.status-home{display:block;text-align:center;margin-top:26px;color:#7d8a9d;font-size:14px;text-decoration:none}
@media(max-width:700px){.booking-step-4 .booking-main{margin-top:22px}.booking-step-4 h1{font-size:28px}.status-intro{font-size:14px;margin-bottom:26px}.status-panel{padding:24px 20px;border-radius:20px}.status-search-row{flex-direction:column;gap:12px}.status-search-row .primary-button{min-height:52px}.status-message{padding:20px 17px;align-items:flex-start;gap:12px}.status-message h2{font-size:18px}.status-message p{font-size:13px}.status-symbol{width:32px;height:32px;font-size:23px}.status-trip-facts{gap:10px}.status-trip-facts>div{padding-left:12px}.status-trip-facts dt{font-size:12px}.status-trip-facts dd{font-size:14px}.status-empty{padding:36px 0 16px}}
