.conf-page{background:#f1f3f5;min-height:80vh;padding:24px 0 120px}
/* Booking footer */
.booking-footer{background:#fff;border-top:1px solid #d9e2e9;padding:18px 0}
.booking-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.booking-footer-copy{font-size:var(--font-size-sm);color:#192024}
.booking-footer-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.booking-footer-links a{font-size:var(--font-size-sm);color:#192024;text-decoration:none}
.booking-footer-links a:hover{text-decoration:underline}
.booking-footer-sep{font-size:var(--font-size-sm);color:#9ba8b0;user-select:none}
/* Route stops — same as booking process sidebar */
.scard-leg-stops{display:flex;flex-direction:column;gap:0}
.scard-leg-stop{display:flex;gap:10px}
.scard-leg-col1{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:16px}
.scard-leg-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;margin-top:5px}
.scard-leg-dot-from{background:#192024;border:2px solid #192024}
.scard-leg-dot-to{background:var(--color-primary);border:2px solid var(--color-primary);margin-top:3px}
.scard-leg-line{width:2px;flex:1;min-height:32px;background:#d9e2e9;margin-top:3px}
.scard-leg-body{flex:1;min-width:0;padding-bottom:12px}
.scard-leg-info{display:flex;align-items:baseline;gap:7px;padding-bottom:2px}
.scard-leg-city{font-size:15px;font-weight:600;color:#192024;line-height:1.3}
.scard-leg-pills{display:flex;gap:5px;padding-top:8px;padding-bottom:12px}
.scard-meta-pill{display:inline-block;font-size:13px;color:#5a6872;border:1px solid #d9e2e9;border-radius:50px;padding:1px 11px;white-space:nowrap;line-height:1.6}
.conf-step-done{background:#17844c!important;border-color:#17844c!important;color:#fff!important}
.csn-step:has(.conf-step-done) .csn-label,.csm-step:has(.conf-step-done) .csm-label{color:#17844c!important}
.conf-top-card{background:#fff;border:1px solid #d9e2e9;border-radius:12px;padding:32px 36px 24px;margin-bottom:20px}

.conf-success-row{display:flex;align-items:center;gap:14px}
.conf-title-group{flex:1;min-width:0}
.conf-check{width:48px;height:48px;background:#dcfce7;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.conf-title{font-size:22px;font-weight:700;color:#192024;margin:0}
.conf-subtitle{font-size:16px;color:#192024;margin:4px 0 0;line-height:1.5}
.conf-ref-box{background:#f9fafb;border:1px solid #d9e2e9;border-radius:8px;padding:14px 20px;text-align:center;min-width:160px;flex-shrink:0;margin-left:auto}
.conf-ref-label{font-size:11px;color:#5a6872;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.conf-ref-num{font-size:26px;font-weight:700;color:#192024;letter-spacing:.1em;font-variant-numeric:tabular-nums}
.conf-pdf-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 36px;background:#363f45;color:#fff;border-radius:8px;font-size:15px;font-weight:600;text-decoration:none;flex-shrink:0;transition:background .15s;white-space:nowrap}
.conf-pdf-btn:hover{background:#2c3439;color:#fff}
.conf-pdf-btn svg{flex-shrink:0}
.conf-resend-link{font-size:14px;color:#0B7B99;text-decoration:none;white-space:nowrap;border-bottom:1px solid #d9e2e9}
.conf-resend-link:hover{color:#0B7B99}
.conf-email-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.conf-email-note{display:flex;align-items:center;gap:10px;font-size:16px;color:#192024}
.conf-email-note svg{flex-shrink:0}
.conf-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.conf-card{background:#fff;border:1px solid #d9e2e9;border-radius:12px;padding:28px 30px}
.conf-card-title{font-size:18px;font-weight:700;color:#192024;margin:0 0 20px;padding-bottom:20px;border-bottom:1px solid #f1f3f5}
.conf-leg{margin-bottom:20px}
.conf-leg:last-child{margin-bottom:0}
.conf-leg-label{font-size:16px;font-weight:600;color:#192024;margin-bottom:4px}







.conf-stop-name{font-size:16px;font-weight:600;color:#192024;line-height:1.3}
.conf-stop-meta{font-size:14px;color:#192024;margin-top:1px}

.conf-leg-date{font-size:16px;font-weight:400;color:#192024}


.conf-detail-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:9px 0;border-bottom:1px solid #f1f3f5;font-size:14px}
.conf-detail-row:last-child,.conf-detail-row--last{border-bottom:none;padding-bottom:0}
.conf-detail-label{color:#192024;font-size:15px}
.conf-detail-value{color:#192024;font-weight:600;text-align:right;max-width:55%}
.conf-total-row{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0 0;margin-top:4px;font-size:15px;font-weight:700;color:#192024}
.conf-total-row span:last-child{font-size:23px;font-weight:700}
.conf-green{color:#15844B}
.conf-home-btn{display:inline-block;padding:11px 28px;background:#192024;color:#fff;border-radius:8px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s}
.conf-home-btn:hover{background:#2d3f47}
.conf-whats-next{padding:16px 0 0}
.conf-next-item{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid #f1f3f5}
.conf-next-item:last-child{border-bottom:none;padding-bottom:0}
.conf-next-icon{width:36px;height:36px;border-radius:8px;background:#f1f3f5;display:flex;align-items:center;justify-content:center;color:#192024;flex-shrink:0}
.conf-next-title{font-size:15px;font-weight:600;color:#192024;margin-bottom:2px}
.conf-next-desc{font-size:14px;color:#192024;line-height:1.4}
.conf-manage-btn{display:inline-flex;align-items:center;gap:8px;margin-top:15px;padding:11px 32px;background:#fff;border:1px solid #d9e2e9;border-radius:8px;font-size:14px;font-weight:600;color:#192024;text-decoration:none;transition:background .15s,border-color .15s}
.conf-manage-btn:hover{background:#f1f3f5;border-color:#9ba8b0;color:#192024}
.conf-support-card{margin-top:20px}
.conf-support-body{font-size:15px;color:#192024;line-height:1.5;margin:0 0 18px}
.conf-support-actions{display:flex;flex-wrap:wrap;gap:12px}
.conf-support-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;background:#fff;border:1px solid #d9e2e9;border-radius:8px;font-size:14px;font-weight:600;color:#192024;text-decoration:none;transition:background .15s,border-color .15s}
.conf-support-btn:hover{background:#f1f3f5;border-color:#9ba8b0;color:#192024}
.conf-support-btn svg{flex-shrink:0}
.conf-support-btn--whatsapp{background:#25D366;color:#fff;border-color:#25D366}
.conf-support-btn--whatsapp:hover{background:#1ebe57;border-color:#1ebe57;color:#fff}

/* ── Short-notice / urgent transfer request page ───────────────────────────── */
/* Fill the viewport minus the navbar (--header-height: 64px) and footer (~57px)
   so a short page doesn't leave blank white space below the footer and the
   visitor doesn't have to scroll just to see the footer. */
.short-notice-section{background:#f1f3f5;min-height:calc(100vh - 122px);padding:48px 0;box-sizing:border-box}
.short-notice-card{max-width:720px;margin:0 auto;background:#fff;border:1px solid #d9e2e9;border-radius:12px;padding:32px}
.short-notice-header{display:flex;align-items:flex-start;gap:14px;margin-bottom:24px}
.short-notice-icon{flex-shrink:0;width:48px;height:48px;border-radius:10px;background:#fef3c7;color:#b45309;display:flex;align-items:center;justify-content:center}
.short-notice-header h2{font-size:20px;font-weight:700;color:#192024;margin:0 0 6px}
.short-notice-header p{font-size:15px;color:#192024;line-height:1.5;margin:0}
.short-notice-trip{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:14px 18px;margin-bottom:24px}
.short-notice-trip-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:5px 0;font-size:14px;color:#192024}
.short-notice-trip-label{color:#5a6872}
.short-notice-trip-value{font-weight:600;text-align:right}
.short-notice-block{margin-bottom:24px}
.short-notice-block:last-child{margin-bottom:0}
.short-notice-subtitle{font-size:16px;font-weight:700;color:#192024;margin-bottom:6px}
.short-notice-text{font-size:14px;color:#192024;line-height:1.5;margin:0 0 14px}
.short-notice-actions{display:flex;flex-wrap:wrap;gap:10px}
.short-notice-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;background:#fff;border:1px solid #d9e2e9;border-radius:8px;font-size:14px;font-weight:600;color:#192024;text-decoration:none;transition:background .15s,border-color .15s}
.short-notice-btn:hover{background:#f1f3f5;border-color:#9ba8b0;color:#192024}
.short-notice-btn svg{flex-shrink:0}
.short-notice-btn--whatsapp{background:#25D366;color:#fff;border-color:#25D366}
.short-notice-btn--whatsapp:hover{background:#1ebe57;border-color:#1ebe57;color:#fff}
.short-notice-divider{position:relative;text-align:center;margin:24px 0}
.short-notice-divider::before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#e5e7eb}
.short-notice-divider span{position:relative;display:inline-block;padding:0 14px;background:#fff;font-size:12px;font-weight:600;color:#9ba8b0;text-transform:uppercase;letter-spacing:.6px}
.short-notice-form{display:flex;flex-direction:column;gap:14px}
.short-notice-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.short-notice-form-group{display:flex;flex-direction:column;gap:6px}
.short-notice-form-group label{font-size:13px;font-weight:600;color:#192024}
.short-notice-form-group input{padding:11px 12px;border:1px solid #d9e2e9;border-radius:8px;font-size:14px;color:#192024;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;font-family:inherit}
.short-notice-form-group input:focus{border-color:#192024;box-shadow:0 0 0 3px rgba(25,32,36,.06)}
/* Let intl-tel-input keep its computed left padding (so the dial-code badge fits)
   while we override only the visual styling and vertical sizing to match the
   other inputs in the form. */
.short-notice-form-group--phone .iti{width:100%;display:block}
.short-notice-form-group--phone .iti input[type="tel"]{
    width:100%;height:auto;padding-top:11px;padding-bottom:11px;padding-right:12px;
    border:1px solid #d9e2e9;border-radius:8px;font-size:14px;color:#192024;
    background:#fff;outline:none;font-family:inherit;box-sizing:border-box;
    transition:border-color .15s,box-shadow .15s
}
.short-notice-form-group--phone .iti input[type="tel"]:focus{border-color:#192024;box-shadow:0 0 0 3px rgba(25,32,36,.06)}
.iti__country-list{border:1px solid #d9e2e9;border-radius:8px;box-shadow:0 12px 36px rgba(0,0,0,.12);z-index:100}
.short-notice-submit{margin-top:6px;padding:13px 28px;background:#192024;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s}
.short-notice-submit:hover:not(:disabled){background:#2d3f47}
.short-notice-submit:disabled{opacity:.6;cursor:not-allowed}
.short-notice-msg{padding:10px 14px;border-radius:8px;font-size:14px}
.short-notice-msg--err{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}
.short-notice-success{text-align:center;padding:18px 0}
.short-notice-success svg{margin:0 auto 12px;display:block}
.short-notice-success h3{font-size:18px;font-weight:700;color:#192024;margin:0 0 6px}
.short-notice-success p{font-size:14px;color:#192024;line-height:1.5;margin:0}
@media(max-width:600px){
    .short-notice-card{padding:22px 18px}
    .short-notice-form-row{grid-template-columns:1fr}
    .short-notice-actions{flex-direction:column}
    .short-notice-btn{justify-content:center}
}
@media(max-width:767px){
    .conf-success-row{flex-wrap:wrap;gap:12px}
    .conf-pdf-btn{width:100%;justify-content:center;order:3;margin-top:15px;margin-bottom:5px}
    .conf-email-note{width:100%;padding-bottom:16px;border-bottom:1px solid #d9e2e9}
    .conf-resend-link{padding-top:4px;margin-bottom:4px}
    .conf-bottom-grid{grid-template-columns:1fr}
    .conf-top-card,.conf-card{padding:20px 18px}
    .conf-email-note{font-size:14px}
}


.booking-unavailable-state{max-width:480px;margin:60px auto;text-align:center;background:#fff;border:1px solid #d9e2e8;border-radius:12px;padding:40px 36px}
.booking-unavailable-icon{width:64px;height:64px;background:#fef3c7;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}
.booking-unavailable-icon svg{display:block;color:#d97706}
.booking-unavailable-state h2{font-size:20px;font-weight:700;color:#192024;margin:0 0 12px}
.booking-unavailable-msg{font-size:15px;color:#5a6872;margin:0 0 10px;line-height:1.6}
.booking-unavailable-sub{font-size:13px;color:#8f9ca8;margin:0 0 28px;line-height:1.5}
.booking-unavailable-btn{display:inline-block;padding:10px 28px;background:var(--color-primary-gradient);color:#fff;border-radius:4px;font-weight:600;font-size:15px;text-decoration:none;transition:opacity .15s}
.booking-unavailable-btn:hover{opacity:.88;color:#fff}


/* intl-tel-input overrides */
.iti{width:100%}
.iti__tel-input{
    width:100%;height:36px;
    padding:0 14px 0 90px;
    font-size:var(--font-size-md);font-family:var(--font-family);
    color:var(--color-text-primary);background:#fff;
    border:1px solid #9ba8b0;border-radius:4px;
    transition:border-color .15s,background .15s;
    box-sizing:border-box;outline:none;
}
.iti__tel-input:hover{border-color:#1f282d;background:#f9fafb}
.iti__tel-input:focus{border-color:var(--color-text-primary);background:#fff;box-shadow:none}
.iti__tel-input.input-error{border-color:#ef4444}
.iti__country-container{top:0;bottom:0;left:0;padding:0}
.iti__selected-country{
    height:100%;padding:0 8px 0 10px;
    border-right:1px solid #d9e2e9;border-radius:4px 0 0 4px;
    background:transparent;gap:4px;
}
.iti__selected-country:hover,.iti__selected-country:focus{background:#f9fafb;outline:none}
.iti__selected-country-primary{display:flex;align-items:center;gap:4px}
.iti__selected-dial-code{font-size:13px;font-weight:600;color:#192024}
.iti__arrow{border-top-color:#5a6872}
.iti__dropdown-content{
    border:1px solid #d9e2e9;border-radius:8px;
    box-shadow:0 4px 20px rgba(0,0,0,.12);
    overflow:hidden;font-family:var(--font-family);
    z-index:9999;
}
.iti__search-input{
    border:none;border-bottom:1px solid #d9e2e9;
    padding:8px 12px;font-size:13px;width:100%;
    box-sizing:border-box;outline:none;
    font-family:var(--font-family);color:#192024;
}
.iti__country-list{max-height:220px;font-size:13px}
.iti__country{padding:8px 12px}
.iti__country:hover,.iti__country--highlight{background:#f9fafb}
.iti__country-name{color:#192024}
.iti__dial-code{color:#5a6872;font-size:12px}
.iti__divider{border-top:1px solid #d9e2e9;margin:0}
/* Mobile Summary */
.mobile-booking-summary{
    display:none;
    background:var(--color-bg-white);
    border-bottom:1px solid var(--color-border-primary);
    position:fixed;
    top:0;left:0;right:0;
    z-index:200;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
    transform:translateY(-100%);
    transition:transform .25s ease, opacity .25s ease;
    opacity:0;
    pointer-events:none;
}
.mobile-summary-main{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;gap:12px}
.mobile-summary-route{display:flex;align-items:center;gap:6px;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);min-width:0;overflow:hidden}
.mobile-summary-city{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}
.mobile-summary-right{display:flex;align-items:center;gap:6px;flex-shrink:0}
.mobile-summary-price{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}
.mobile-summary-chevron{width:18px;height:18px;color:var(--color-text-muted);transition:transform .2s}
.mobile-summary-chevron.open{transform:rotate(180deg)}
/* Expanded panel */
.mobile-summary-expanded{display:none;border-top:1px solid #d9e2e9;max-height:70svh;overflow-y:auto}
.mobile-summary-expanded.visible{display:block}
.mobile-summary-body{padding:14px 16px 16px}
/* Reuse scard-leg styles — just need spacing overrides */
.mobile-summary-body .scard-leg{padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid #f1f3f5}
.mobile-summary-body .scard-leg:last-of-type{border-bottom:none;padding-bottom:0;margin-bottom:0}
/* Price section */
.mobile-summary-price-section{border-top:1px solid #d9e2e9;margin-top:12px;padding-top:12px;display:flex;flex-direction:column;gap:6px}
.mobile-summary-price-row{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--font-size-sm);color:var(--color-text-secondary)}
.mobile-summary-discount{color:var(--color-primary)}
.mobile-summary-total{font-weight:var(--font-weight-bold);color:var(--color-text-primary);font-size:var(--font-size-base)}
.mobile-currency-note{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:4px 0 0}

/* Page layout */
.booking-page{background:#f1f3f5;min-height:80vh;padding:24px 0 120px}
.booking-layout{display:grid;grid-template-columns:1fr 400px;gap:24px;align-items:start}
.booking-form-column{display:flex;flex-direction:column}

/* Form cards */
.booking-step-card{background:var(--color-bg-white);border:1px solid #d9e2e8;border-radius:12px;padding:24px;margin-bottom:16px}
.booking-step-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}
.booking-step-title{font-size:20px;font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}

/* Form inputs */
.bform-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.bform-row:last-child{margin-bottom:0}
.bform-row-single{grid-template-columns:1fr;max-width:75%}
.bform-group{display:flex;flex-direction:column;gap:5px}
.bform-label{font-size:14px;font-weight:var(--font-weight-normal);color:var(--color-text-primary)}
.bform-input{height:36px;padding:0 14px;font-size:var(--font-size-md);font-family:var(--font-family);color:var(--color-text-primary);background:var(--color-bg-white);border:1px solid #9ba8b0;border-radius:4px;transition:border-color .15s,background .15s;width:100%}
.bform-input:hover{border-color:#1f282d;background:#f9fafb}
.bform-input:focus{outline:none;border-color:var(--color-text-primary);box-shadow:none}
.bform-input::placeholder{color:var(--color-text-muted)}
.bform-input.input-error{border-color:#ef4444}
.bform-textarea{height:auto;min-height:76px;padding:10px 14px;resize:vertical}
.driver-notes-area{display:block}
.driver-notes-intro{font-size:var(--font-size-sm);color:#192024;margin:0 0 14px;line-height:1.55}
.driver-notes-label{display:block;font-size:14px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:7px}
.driver-notes-optional{font-size:13px;font-weight:var(--font-weight-normal);color:#192024}
.driver-notes-section{margin-top:20px;padding-top:18px;border-top:1px solid #d9e2e9}

/* Step summary (collapsed) cards */
.booking-step-card.card-collapsed{padding:16px 20px}
.card-collapsed-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.card-collapsed-title{font-size:16px;font-weight:var(--font-weight-bold);color:var(--color-text-primary)}
.card-collapsed-edit{font-size:16px;color:#007799;background:none;border:none;cursor:pointer;padding:0;font-family:var(--font-family);white-space:nowrap}
.card-collapsed-edit:hover{text-decoration:underline}
.card-collapsed-summary{margin-top:8px;font-size:15px;color:#192024;line-height:1.6}
.card-collapsed-summary strong{color:#192024;font-weight:600;font-size:15px}
.csummary-date{display:block;font-size:15px;font-weight:600;color:#192024;margin-bottom:3px}
.csummary-line{display:block;font-size:15px;color:#192024;margin-bottom:2px}
.csummary-line strong{color:#192024;font-weight:600;font-size:15px}

/* Sticky sidebar in payment mode */
.sidebar-sticky{position:sticky;top:16px;align-self:flex-start}

/* Payment options */
.payment-options{display:flex;flex-direction:column;gap:10px}
.payment-option{display:flex;align-items:center;gap:16px;padding:16px 18px;background:#fff;border:1px solid #d9e2e9;border-radius:10px;cursor:pointer;transition:border-color .15s,box-shadow .15s;position:relative;user-select:none}
.payment-option input[type="radio"]{position:absolute;opacity:0;width:0;height:0}
.payment-option-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#192024;flex-shrink:0}
.payment-option-icon svg{width:20px;height:20px;color:#5a6872}
.payment-option-body{flex:1;display:flex;flex-direction:column;gap:2px}
.payment-option-name{font-size:16px;font-weight:var(--font-weight-semibold);color:#192024}
.payment-option-desc{font-size:14px;color:#192024;line-height:1.4}
.payment-option-radio{width:20px;height:20px;border-radius:4px;border:2px solid #d9e2e9;flex-shrink:0;position:relative;transition:border-color .15s,background .15s}
.payment-option-radio::after{content:'';position:absolute;inset:3px;border-radius:2px;background:#192024;opacity:0;transition:opacity .15s}
.payment-option-selected{border-color:#192024;box-shadow:0 0 0 1px #192024}
.payment-option-selected .payment-option-radio{border-color:#192024}
.payment-option-selected .payment-option-radio::after{opacity:1}
.payment-option:hover:not(.payment-option-selected){border-color:#9ba8b0;box-shadow:0 2px 8px rgba(25,32,36,.08)}
.bform-error{font-size:13px;color:#ef4444;display:none}
.bform-error.show{display:block}
.bform-callout{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-radius:var(--radius-lg);font-size:var(--font-size-sm);margin-bottom:14px}
.bform-callout svg{width:15px;height:15px;flex-shrink:0;margin-top:1px}
.bform-callout-info{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}
.bform-callout-info svg{color:#3b82f6}
.bform-callout-success{background:#f0fdf4;color:#15803d;border:1px solid #86efac}
.bform-callout-success svg{color:#16a34a}

/* Good to know card */
.gtk-card{padding:20px 24px;background:#f9fafb!important}
.gtk-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.gtk-title{font-size:20px;font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}
.gtk-map-btn{display:inline-block;font-size:14px;color:#192024;border:1px solid #192024;border-radius:50px;padding:3px 14px;white-space:nowrap;line-height:1.6;background:none;cursor:pointer;font-family:var(--font-family)}
.gtk-map-btn:hover{background:#e6ebef}
.gtk-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.gtk-item{display:flex;align-items:flex-start;gap:11px;font-size:var(--font-size-base);color:var(--color-text-primary);line-height:1.5}
.gtk-icon{display:flex;align-items:flex-start;flex-shrink:0;margin-top:1px}
.gtk-icon svg{display:block}
.gtk-show-more{margin-top:16px;background:none;border:none;padding:0;cursor:pointer;font-size:14px;color:#007799;font-family:var(--font-family);font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:4px}
.gtk-show-more:hover{color:#005577}
.gtk-toggle-arrow{display:inline-flex;align-items:center;transition:transform .2s;position:relative;top:1px}

/* Flight number composite input */
.bform-label-tooltip{display:inline-flex;align-items:center;justify-content:center;margin-left:5px;width:15px;height:15px;border-radius:50%;border:1px solid var(--color-text-muted);color:var(--color-text-muted);font-size:10px;font-weight:var(--font-weight-bold);vertical-align:middle;cursor:default;line-height:1}
.bform-label-tooltip svg{display:block}

/* Terms & conditions */
.payment-terms{margin-bottom:4px}
.terms-checkbox-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:var(--font-size-sm);color:#192024;line-height:1.5}
.terms-checkbox-label input[type="checkbox"]{width:16px;height:16px;margin-top:2px;flex-shrink:0;accent-color:#192024;cursor:pointer}
.terms-link{color:#007799;text-decoration:underline}
.terms-link:hover{color:#005577}
.bform-sub{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:6px;line-height:1.5;display:block}
.email-hint{display:block;font-size:13px;font-weight:var(--font-weight-normal);color:#192024;margin-top:4px;line-height:1.4;min-height:1em}
.email-hint-valid{color:#15844B}
.email-hint-error{color:#ef4444}
.flight-input-wrap{display:flex;align-items:center;border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);background:var(--color-bg-white);transition:border-color .15s,background .15s}
.flight-input-wrap:hover{background:#f9fafb}.flight-input-wrap:focus-within{border-color:var(--color-text-primary);background:#fff}.flight-input-wrap:focus-within .flight-find-btn{background:#fff}
.flight-input-icon{width:18px;height:18px;flex-shrink:0;margin-left:14px;color:var(--color-text-primary)}
.flight-input{height:var(--button-height);border:none!important;box-shadow:none!important;border-radius:0!important;flex:1;padding:0 10px;background:transparent!important;font-size:var(--font-size-md)}
.flight-input:focus{outline:none;box-shadow:none!important}
.flight-find-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px;margin:5px 5px 5px 0;background:var(--color-bg-white);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:var(--font-family);color:var(--color-text-primary);cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}
.flight-find-btn svg{width:13px;height:13px;color:var(--color-text-muted)}
.flight-find-btn:hover{background:var(--color-bg-gray-light);border-color:var(--color-border-medium)}

/* Return arrival note */
.return-arrival-note{margin-top:14px;font-size:13px;color:#192024;line-height:1.5}
.extra-included-item{display:flex;align-items:center;gap:12px;padding:0 0 12px;border-bottom:1px solid #d9e2e9;margin-bottom:4px}
.extra-included-item svg{width:18px;height:18px;color:var(--color-text-muted);flex-shrink:0}
.extra-item-name{font-size:16px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}
.extra-item-desc{font-size:14px;color:#192024;margin:0;line-height:1.5}
.extra-item-badge{margin-left:auto;flex-shrink:0;align-self:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:3px 10px;border-radius:50px;white-space:nowrap;color:#192024;background:#ccffe5;border:none}

/* Extras selection list */
.extras-list{display:flex;flex-direction:column}
.extra-select-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #d9e2e9}
.extra-select-row:last-child{border-bottom:none}
.extra-select-info{flex:1;min-width:0}
.extra-select-name{font-size:14px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 2px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.extra-select-desc{font-size:13px;color:#192024;margin:0;line-height:1.4}
.extra-child-badge{font-size:10px;font-weight:var(--font-weight-bold);color:#92400e;background:#fef3c7;padding:2px 7px;border-radius:4px;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}
.extra-select-right{display:flex;align-items:center;gap:14px;flex-shrink:0}
.extra-select-price{font-size:14px;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);white-space:nowrap;min-width:52px;text-align:right}
.extra-price-free{color:#16a34a;font-weight:var(--font-weight-semibold)}

/* Quantity control */
.extra-qty-ctrl{display:flex;align-items:center;gap:0;border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);overflow:hidden}
.extra-qty-btn{width:36px;height:36px;border:none;background:var(--color-bg-white);color:var(--color-text-primary);font-size:17px;font-weight:var(--font-weight-semibold);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;line-height:1;flex-shrink:0}
.extra-qty-btn:hover{background:var(--color-bg-gray-light)}
.extra-qty-val{min-width:30px;text-align:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-primary);padding:0 4px}
.extra-select-row.extra-active .extra-qty-ctrl{border-color:var(--color-text-primary)}
.extra-select-row.extra-active .extra-qty-btn{color:var(--color-text-primary)}
.extra-select-row.extra-active .extra-qty-val{color:var(--color-text-primary)}

/* ── Sidebar stack ── */
.booking-sidebar-column{display:flex;flex-direction:column;gap:12px}

/* Individual cards */
.scard{background:var(--color-bg-white);border:1px solid #d9e2e8;border-radius:12px;overflow:hidden}
.scard-img{position:relative;height:140px;overflow:hidden}
.scard-img img{width:100%;height:100%;object-fit:cover;display:block}
.scard-img-badge{position:absolute;top:10px;right:10px;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:2px 10px;border-radius:4px}
.badge-oneway{color:#192024;background:#f9fafb;border:1px solid #9ba8b0}
.badge-return{color:#192024;background:#f9fafb;border:1px solid #9ba8b0}
.scard-body{padding:16px}
.scard-section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 12px}

/* Route card (Card A) */
.scard-leg{padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid #d9e2e9}
.scard-leg:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}
.scard-leg-label{display:flex;align-items:center;gap:5px;margin-bottom:10px}
.scard-leg-type{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}
.scard-leg-return .scard-leg-type{color:var(--color-text-primary)}
.scard-leg-date{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}

.scard-leg-stops{display:flex;flex-direction:column;gap:0}
.scard-leg-stop{display:flex;gap:10px}

/* Column 1: dot + connecting line as a flex column */
.scard-leg-col1{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:16px}
.scard-leg-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;margin-top:5px}
.scard-leg-dot-from{background:var(--color-text-primary);border:2px solid var(--color-text-primary)}
.scard-leg-dot-to{background:var(--color-primary);border:2px solid var(--color-primary);margin-top:3px}
.scard-leg-line{width:2px;flex:1;min-height:20px;background:#d9e2e9;margin-top:3px}

/* Column 2: city+time row + pills */
.scard-leg-body{flex:1;min-width:0}
.scard-leg-info{display:flex;align-items:baseline;gap:7px;padding-bottom:2px}
.scard-leg-city{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.scard-iata{font-size:var(--font-size-base);color:var(--color-text-primary);font-weight:var(--font-weight-normal);padding-left:4px}
.scard-leg-time{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-muted);flex-shrink:0;white-space:nowrap}
.scard-leg-pills{display:flex;gap:5px;padding:0 0 12px}
.scard-meta-pill{display:inline-block;font-size:13px;color:var(--color-text-secondary);border:1px solid var(--color-border-primary);border-radius:50px;padding:1px 11px;white-space:nowrap;line-height:1.6}
.scard-divider{height:1px;background:#d9e2e9;margin:14px 0}
.scard-cancel-free{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:#15844B;margin:0 0 8px}
.scard-cancel-free svg{flex-shrink:0;color:#15844B}
.scard-cancel-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#5a6872}
.scard-cancel-charge{font-weight:600;color:#192024}
.scard-cancel-nonrefund{font-size:13px;color:#5a6872;margin:0}
.scard-chips{display:flex;flex-wrap:wrap;gap:6px}
.scard-chip{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;background:#f1f3f5;border-radius:6px;font-size:13px;font-weight:var(--font-weight-medium);color:#5a6872;white-space:nowrap}
.scard-chip svg{width:12px;height:12px;flex-shrink:0;color:#5a6872}

/* Price (Card C) */
.scard-price-total-row{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:14px;border-bottom:1px solid #d9e2e9;margin-bottom:16px}
.scard-price-total-label{font-size:var(--font-size-md);color:var(--color-text-primary)}
.scard-price-total-amount{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1}
.scard-price-breakdown{display:flex;flex-direction:column;gap:0;margin-bottom:14px}
.scard-price-row{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--font-size-sm);color:var(--color-text-secondary)}
.scard-price-strike{text-decoration:line-through;color:var(--color-text-muted)}
.scard-price-discount{color:#16a34a}
.scard-price-extras{color:var(--color-text-secondary)}
.scard-price-leg-group{margin-bottom:8px}
.scard-price-leg-group:last-child{margin-bottom:0}
.scard-price-leg-group:not(:last-child):has(.scard-price-children:not(:empty)){margin-bottom:8px}
.scard-price-row-parent{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}
.scard-price-row-parent span:last-child{font-weight:var(--font-weight-bold)}
.scard-price-children{display:flex;flex-direction:column;padding-left:10px;border-left:2px solid #d9e2e9;margin:4px 0 2px}.scard-price-children:empty{display:none}
.scard-price-night{padding-left:10px;border-left:2px solid #d9e2e9;margin:2px 0 4px;font-size:var(--font-size-sm);color:var(--color-text-secondary)}
.scard-multi-vehicle{display:flex;align-items:center;gap:8px;font-size:var(--font-size-sm);color:#192024;margin:0;line-height:1.45}
.scard-multi-vehicle svg{color:#192024}
.scard-currency-note{margin:0 0 16px;padding:16px 0;border-top:1px solid #d9e2e9;border-bottom:1px solid #d9e2e9;border-radius:0;font-size:13px;color:#192024;line-height:1.5}
.scard-price-row-child{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--font-size-sm);color:var(--color-text-primary);padding:2px 0}
.extras-per-leg-note{font-size:10px;font-weight:var(--font-weight-normal);color:var(--color-text-muted)}
.extras-free-badge{color:#16a34a;font-size:10px;font-weight:var(--font-weight-semibold)}
.payment-discount-badge{display:inline-flex;align-items:center;padding:2px 8px;background:#dcfce7;color:#15844B;font-size:13px;font-weight:var(--font-weight-semibold);border-radius:4px;margin-left:8px;vertical-align:middle;letter-spacing:.01em;position:relative;bottom:1px}

/* Trust pills */
.scard-trust-pills{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}
.scard-pill{display:inline-flex;align-items:center;justify-content:center;width:calc(50% - 4px);padding:3px 6px;border:1px solid var(--color-text-secondary);border-radius:4px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap;text-align:center;box-sizing:border-box}
.scard-pill svg{display:none}
.scard-pill svg{width:12px;height:12px;flex-shrink:0;color:#5a6872}
.scard-pill-green{border-color:#86efac;color:#15803d}
.scard-pill-green svg{color:#16a34a}
.scard-pill-green-dark{background:#074a28;border-color:#074a28;color:#fff}
.scard-pill-green-dark svg{color:#fff}
.scard-voucher-toggle{display:flex;align-items:center;gap:7px;background:none;border:none;cursor:pointer;padding:0;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:#192024;width:100%}
.scard-voucher-toggle svg:first-child{width:14px;height:14px;color:#192024}
.scard-voucher-chevron{width:13px;height:13px;color:var(--color-text-muted);margin-left:auto;transition:transform .2s}
.scard-voucher-chevron.open{transform:rotate(180deg)}
.scard-voucher-input{display:none;margin-top:10px;flex-direction:column;gap:6px}
.scard-voucher-input.visible{display:flex;flex-direction:column}
.scard-voucher-apply-btn{padding:0 14px;white-space:nowrap;height:38px;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:var(--font-family);background:var(--color-bg-white);border:1px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;transition:background .15s;flex-shrink:0}
.scard-voucher-apply-btn:hover{background:var(--color-bg-gray)}
.scard-voucher-apply-btn:disabled{opacity:.6;cursor:not-allowed}
.scard-voucher-field-wrap{display:flex;gap:8px}
.scard-voucher-applied{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0}
.scard-voucher-applied-text{display:flex;flex-direction:column;gap:2px}
.scard-voucher-applied-title{font-size:14px;font-weight:600;color:#15844B}
.scard-voucher-applied-saving{font-size:14px;color:#15844B}
.scard-voucher-remove{background:none;border:none;cursor:pointer;padding:2px;display:flex;align-items:center;color:#9ba8b0;flex-shrink:0}
.scard-voucher-remove svg{width:14px;height:14px}
.scard-voucher-remove:hover{color:#192024}
.scard-price-promo{color:#15844B;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:16px}

/* CTA button wrap */
.confirm-btn-wrap{display:flex;justify-content:flex-end;margin-top:16px}
.form-confirm-btn{width:auto;align-self:flex-end;height:56px;padding:0 44px;background:var(--color-primary-gradient);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);font-family:var(--font-family);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;letter-spacing:.01em}
.form-confirm-btn .btn-arrow{display:inline-block;position:relative;top:1px;margin-left:3px;font-size:17px}
.form-confirm-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(var(--color-primary-rgb),.3)}
.form-confirm-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}
.form-confirm-btn.loading .btn-spinner{display:block}
.form-confirm-btn.loading .btn-text{display:none}
.btn-spinner{display:none;width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.sidebar-confirm-error{padding:10px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);font-size:var(--font-size-sm);color:#dc2626;display:none}
.sidebar-confirm-error.show{display:block}

/* Submitted state */

/* Responsive */
@media(max-width:425px){
    .confirm-btn-wrap{display:block}
    .form-confirm-btn{width:100%;align-self:stretch}
}
@media(max-width:991px){
    .booking-layout{grid-template-columns:1fr}
    .sidebar-sticky{position:static}
    .booking-sidebar-column{order:-1}
    .booking-page{padding:14px 0 40px}
    /* Summary bar: only visible when JS adds the class after sidebar scrolls out */
    .mobile-booking-summary{display:block}
    .mobile-booking-summary.mobile-summary-visible{
        transform:translateY(0);
        opacity:1;
        pointer-events:auto;
    }
}
@media(max-width:767px){
    .booking-step-card{padding:16px;border-radius:var(--radius-lg)}
    .bform-row{grid-template-columns:1fr}
    .bform-row-single{max-width:100%}
    .scard-body{padding:14px}
}

/* Flight card (shown after flight selection) */
.flight-card{margin-top:10px;padding:14px 16px;background:#f9fafb;border:1px solid #d9e2e8;border-radius:8px}
.flight-card-route{display:flex;align-items:center;gap:0}
.flight-card-end{display:flex;flex-direction:column;gap:3px}
.flight-card-end-right{align-items:flex-end}
.flight-card-iata{font-size:20px;font-weight:700;color:#192024;line-height:1}
.flight-card-time{font-size:13px;color:#5a6872}
.flight-card-line{flex:1;position:relative;height:2px;background:#d9e2e9;margin:0 12px;margin-bottom:9px;overflow:visible}
.flight-card-dot{position:absolute;left:-5px;top:50%;transform:translateY(-50%);width:10px;height:10px;border-radius:50%;background:var(--color-primary)}
.flight-card-dot.animate{animation:dotSlide 1.8s cubic-bezier(.4,0,.2,1) forwards}
@keyframes dotSlide{from{left:-5px}to{left:calc(100% - 5px)}}

.flight-autocomplete{position:absolute;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1px solid #d9e2e8;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.1);z-index:200}
.flight-ac-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background .1s;border-bottom:1px solid #f1f3f5}
.flight-ac-item:last-child{border-bottom:none}
.flight-ac-item:hover{background:#f9fafb}
.flight-ac-icon{width:36px;height:36px;border-radius:50%;background:#f1f3f5;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#192024}
.flight-ac-icon svg{width:16px;height:16px}
.flight-ac-body{display:flex;flex-direction:column;gap:2px}
.flight-ac-num{font-size:15px;font-weight:600;color:#192024}
.flight-ac-route{font-size:13px;color:#5a6872}
.ff-overlay{position:fixed;inset:0;background:rgba(25,32,36,.5);z-index:9000;display:flex;align-items:center;justify-content:center;padding:16px}
.ff-modal{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 12px 40px rgba(0,0,0,.18);overflow:hidden}
.ff-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid #d9e2e9}
.ff-title{font-size:20px;font-weight:700;color:#192024}
.ff-close{background:none;border:none;cursor:pointer;color:#192024;display:flex;align-items:center;padding:4px}
.ff-close:hover{opacity:.7}
.ff-context{display:flex;align-items:center;gap:8px;padding:10px 24px;background:#f9fafb;font-size:13px;color:#192024;border-bottom:1px solid #d9e2e9}
.ff-context-item{display:flex;align-items:center;gap:5px;font-weight:600}
.ff-context-sep{color:#9ba8b0}
.ff-step{display:flex;flex-direction:column;flex:1;overflow:hidden}
.ff-flights-nav{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;border-bottom:1px solid #d9e2e9}
.ff-back{display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;font-size:14px;color:#192024;padding:0;font-family:var(--font-family)}
.ff-back:hover{text-decoration:underline}
.ff-selected-airline{font-size:14px;color:#5a6872}
.ff-search-wrap{display:flex;align-items:center;gap:8px;padding:12px 24px;border-bottom:1px solid #d9e2e9}
.ff-search-icon{flex-shrink:0;color:#9ba8b0}
.ff-search-input{flex:1;border:none;outline:none;font-size:15px;color:#192024;background:transparent;font-family:var(--font-family)}
.ff-search-input::placeholder{color:#9ba8b0}
.ff-list{flex:1;overflow-y:auto;padding:8px 0}
.ff-item{display:flex;align-items:center;gap:12px;padding:12px 24px;cursor:pointer;transition:background .1s}
.ff-item:hover{background:#f9fafb}
.ff-item-icon{width:36px;height:36px;border-radius:50%;background:#f1f3f5;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#192024}
.ff-item-icon svg{width:16px;height:16px}
.ff-item-name{font-size:15px;font-weight:600;color:#192024}
.ff-item-sub{font-size:13px;color:#5a6872;margin-top:1px}
.ff-loading{padding:28px 24px;display:flex;flex-direction:column;align-items:center;gap:12px;color:#5a6872;font-size:13px}
.ff-loading-overlay{display:flex;align-items:center;justify-content:center;padding:32px 24px}
.ff-loading-card{background:#fff;border:1px solid #d9e2e9;border-radius:10px;padding:24px 32px;text-align:center;box-shadow:0 4px 16px rgba(25,32,36,.10);display:flex;flex-direction:column;align-items:center;gap:12px;min-width:160px}
.ff-loading-spin{width:24px;height:24px;border:2.5px solid #e5ebf1;border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite}
.ff-loading-text{font-size:13px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}
.ff-loading-spinner{width:22px;height:22px;border:2px solid #d9e2e9;border-top-color:#192024;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}
.ff-empty{padding:24px;text-align:center;font-size:14px;color:#9ba8b0}
.ff-divider{height:1px;background:#d9e2e9;margin:0 24px}

/* Map card */
.map-card{padding:0;overflow:hidden;position:relative}
.map-card-controls{position:absolute;top:10px;right:10px;z-index:10;display:flex;gap:10px}
.map-card-controls-left{right:auto;left:10px;top:13px}
.map-leg-toggle{display:flex;align-items:center;border:1px solid #d9e2e9;border-radius:8px;overflow:hidden;box-shadow:0 3px 6px rgba(25,32,36,.16),0 -1px 4px rgba(25,32,36,.04)}
.map-leg-btn{padding:6px 12px;background:#fff;border:none;cursor:pointer;font-size:12px;font-weight:600;color:#5a6872;font-family:var(--font-family);transition:background .15s,color .15s}
.map-leg-btn:first-child{border-right:1px solid #d9e2e9}
.map-leg-btn.active{background:#192024;color:#fff}
.map-leg-btn:not(.active):hover{background:#f1f3f5}
.map-card-btn{width:38px;height:38px;background:#fff;border:none;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 3px 6px rgba(25,32,36,.16),0 -1px 4px rgba(25,32,36,.04);color:#192024}
.map-card-btn svg{width:16px;height:16px}
.map-card-btn:hover{background:#f1f3f5}
.map-card-btn.active{background:#192024;color:#fff}
.map-card-btn.active:hover{background:#333}
.map-modal-leg-toggle{display:flex;align-items:center;border:1px solid #d9e2e9;border-radius:8px;overflow:hidden}
.map-modal-leg-btn{display:flex;align-items:center;gap:5px;padding:6px 12px;background:#fff;border:none;cursor:pointer;font-size:12px;font-weight:600;color:#5a6872;font-family:var(--font-family);transition:background .15s,color .15s}
.map-modal-leg-btn:first-child{border-right:1px solid #d9e2e9}
.map-modal-leg-btn.active{background:#192024;color:#fff}
.map-modal-leg-btn:not(.active):hover{background:#f1f3f5}
/* Sidebar quick action buttons */
.scard-quick-actions{display:flex;gap:8px}
.scard-qa-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 10px;background:#fff;border:1px solid #d9e2e9;border-radius:8px;font-size:13px;font-weight:var(--font-weight-medium);color:#192024;cursor:pointer;font-family:var(--font-family);transition:background .15s}
.scard-qa-btn svg{width:15px;height:15px;flex-shrink:0}
.scard-qa-btn:hover{background:#f1f3f5}
.map-card-btn svg{width:16px;height:16px}
.map-card-btn:hover{background:#f1f3f5}
.map-modal{background:#fff;border-radius:12px;width:100%;max-width:1000px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.18)}
/* ── Map modal header ── */
.map-modal-header{display:flex;flex-direction:column;gap:0;padding:16px 20px;border-bottom:1px solid #d9e2e9}
.map-modal-header-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.map-modal-trip{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}
.map-modal-route{font-size:15px;font-weight:700;color:#192024}
.map-modal-meta{font-size:13px;color:#5a6872}
.map-modal-header-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}
/* Desktop: show inline toggle, hide mobile toggle row */
.map-modal-leg-toggle--desktop{display:flex}
.map-modal-leg-toggle--mobile{display:none}
@media(max-width:767px){
    .map-modal{max-width:100%;margin:16px}
    .map-modal-header{padding:14px 16px 12px}
    /* Route + X on one line */
    .map-modal-route{font-size:14px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .map-modal-meta{font-size:12px;margin-top:2px}
    /* Toggle moves to its own row below */
    .map-modal-leg-toggle--desktop{display:none}
    .map-modal-leg-toggle--mobile{display:inline-flex;margin-top:10px;align-self:flex-start}
    #routeMapModalEl{height:420px !important}
}
.booking-footer{background:#fff;border-top:1px solid #d9e2e9;padding:18px 0}
.booking-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.booking-footer-copy{font-size:var(--font-size-sm);color:#192024}
.booking-footer-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.booking-footer-links a{font-size:var(--font-size-sm);color:#192024;text-decoration:none}
.booking-footer-links a:hover{text-decoration:underline}
.booking-footer-sep{font-size:var(--font-size-sm);color:#9ba8b0;user-select:none}
@media(max-width:600px){
    .booking-footer{padding:30px 0}
    .booking-footer-inner{flex-direction:column;align-items:center;gap:8px;text-align:center}
    .booking-footer-links{justify-content:center}
}

/* ── intl-tel-input v19.5.6 — merged from CDN to eliminate external request ── */
/* Flag images served from /assets/img/vendor/iti/ (self-hosted)               */
.iti {
  position: relative;
  display: inline-block;
}
.iti * {
  box-sizing: border-box;
}
.iti__hide {
  display: none;
}
.iti__v-hide {
  visibility: hidden;
}
.iti input.iti__tel-input,
.iti input.iti__tel-input[type=text],
.iti input.iti__tel-input[type=tel] {
  position: relative;
  z-index: 0;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-right: 36px;
  margin-right: 0;
}
.iti__flag-container {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  padding: 1px;
}
.iti__selected-flag {
  z-index: 1;
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 6px 0 8px;
}
.iti__arrow {
  margin-left: 6px;
  width: 0;
  height: 0;
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
  border-top: 4px solid #555;
}
[dir=rtl] .iti__arrow {
  margin-right: 6px;
  margin-left: 0;
}
.iti__arrow--up {
  border-top: none;
  border-bottom: 4px solid #555;
}
.iti__dropdown-content {
  border-radius: 3px;
  background-color: white;
}
.iti--inline-dropdown .iti__dropdown-content {
  position: absolute;
  z-index: 2;
  margin-top: 3px;
  margin-left: -1px;
  border: 1px solid #ccc;
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
}
.iti__dropdown-content--dropup {
  bottom: 100%;
  margin-bottom: 3px;
}
.iti__search-input {
  width: 100%;
  border-width: 0;
  border-radius: 3px;
  padding: 9px 12px;
}
.iti__search-input + .iti__country-list {
  border-top: 1px solid #ccc;
}
.iti__country-list {
  list-style: none;
  padding: 0;
  margin: 0;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}
.iti--inline-dropdown .iti__country-list {
  max-height: 185px;
}
.iti--flexible-dropdown-width .iti__country-list {
  white-space: nowrap;
}
@media (max-width: 500px) {
  .iti--flexible-dropdown-width .iti__country-list {
    white-space: normal;
  }
}
.iti__flag-box {
  display: inline-block;
  width: 20px;
}
.iti__divider {
  padding-bottom: 5px;
  margin-bottom: 5px;
  border-bottom: 1px solid #ccc;
}
.iti__country {
  display: flex;
  align-items: center;
  padding: 8px 8px;
  outline: none;
}
.iti__dial-code {
  color: #999;
}
.iti__country.iti__highlight {
  background-color: rgba(0, 0, 0, 0.05);
}
.iti__flag-box, .iti__country-name {
  margin-right: 8px;
}
[dir=rtl] .iti__flag-box, [dir=rtl] .iti__country-name {
  margin-right: 0;
  margin-left: 8px;
}
.iti--allow-dropdown input.iti__tel-input,
.iti--allow-dropdown input.iti__tel-input[type=text],
.iti--allow-dropdown input.iti__tel-input[type=tel], .iti--show-selected-dial-code input.iti__tel-input,
.iti--show-selected-dial-code input.iti__tel-input[type=text],
.iti--show-selected-dial-code input.iti__tel-input[type=tel] {
  padding-right: 6px;
  padding-left: 52px;
  margin-left: 0;
}
[dir=rtl] .iti--allow-dropdown input.iti__tel-input,
[dir=rtl] .iti--allow-dropdown input.iti__tel-input[type=text],
[dir=rtl] .iti--allow-dropdown input.iti__tel-input[type=tel], [dir=rtl] .iti--show-selected-dial-code input.iti__tel-input,
[dir=rtl] .iti--show-selected-dial-code input.iti__tel-input[type=text],
[dir=rtl] .iti--show-selected-dial-code input.iti__tel-input[type=tel] {
  padding-right: 52px;
  padding-left: 6px;
  margin-right: 0;
}
.iti--allow-dropdown .iti__flag-container, .iti--show-selected-dial-code .iti__flag-container {
  right: auto;
  left: 0;
}
[dir=rtl] .iti--allow-dropdown .iti__flag-container, [dir=rtl] .iti--show-selected-dial-code .iti__flag-container {
  right: 0;
  left: auto;
}
.iti--allow-dropdown .iti__flag-container:hover {
  cursor: pointer;
}
.iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag {
  background-color: rgba(0, 0, 0, 0.05);
}
.iti--allow-dropdown .iti__flag-container:has(+ input[disabled]):hover,
.iti--allow-dropdown .iti__flag-container:has(+ input[readonly]):hover {
  cursor: default;
}
.iti--allow-dropdown .iti__flag-container:has(+ input[disabled]):hover .iti__selected-flag,
.iti--allow-dropdown .iti__flag-container:has(+ input[readonly]):hover .iti__selected-flag {
  background-color: transparent;
}
.iti--show-selected-dial-code .iti__selected-flag {
  background-color: rgba(0, 0, 0, 0.05);
}
.iti--show-selected-dial-code.iti--show-flags .iti__selected-dial-code {
  margin-left: 6px;
}
[dir=rtl] .iti--show-selected-dial-code.iti--show-flags .iti__selected-dial-code {
  margin-left: 0;
  margin-right: 6px;
}
.iti--container {
  position: fixed;
  top: -1000px;
  left: -1000px;
  z-index: 1060;
  padding: 1px;
}
.iti--container:hover {
  cursor: pointer;
}

.iti--fullscreen-popup.iti--container {
  background-color: rgba(0, 0, 0, 0.5);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  position: fixed;
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.iti--fullscreen-popup.iti--container.iti--country-search {
  justify-content: flex-start;
}
.iti--fullscreen-popup .iti__dropdown-content {
  display: flex;
  flex-direction: column;
  max-height: 100%;
  position: relative;
}
.iti--fullscreen-popup .iti__country {
  padding: 10px 10px;
  line-height: 1.5em;
}

.iti__flag {
  width: 20px;
}
.iti__flag.iti__be {
  width: 18px;
}
.iti__flag.iti__ch {
  width: 15px;
}
.iti__flag.iti__mc {
  width: 19px;
}
.iti__flag.iti__ne {
  width: 18px;
}
.iti__flag.iti__np {
  width: 13px;
}
.iti__flag.iti__va {
  width: 15px;
}
@media (min-resolution: 2x) {
  .iti__flag {
    background-size: 5762px 15px;
  }
}
.iti__flag.iti__ac {
  height: 10px;
  background-position: 0px 0px;
}
.iti__flag.iti__ad {
  height: 14px;
  background-position: -22px 0px;
}
.iti__flag.iti__ae {
  height: 10px;
  background-position: -44px 0px;
}
.iti__flag.iti__af {
  height: 14px;
  background-position: -66px 0px;
}
.iti__flag.iti__ag {
  height: 14px;
  background-position: -88px 0px;
}
.iti__flag.iti__ai {
  height: 10px;
  background-position: -110px 0px;
}
.iti__flag.iti__al {
  height: 15px;
  background-position: -132px 0px;
}
.iti__flag.iti__am {
  height: 10px;
  background-position: -154px 0px;
}
.iti__flag.iti__ao {
  height: 14px;
  background-position: -176px 0px;
}
.iti__flag.iti__aq {
  height: 14px;
  background-position: -198px 0px;
}
.iti__flag.iti__ar {
  height: 13px;
  background-position: -220px 0px;
}
.iti__flag.iti__as {
  height: 10px;
  background-position: -242px 0px;
}
.iti__flag.iti__at {
  height: 14px;
  background-position: -264px 0px;
}
.iti__flag.iti__au {
  height: 10px;
  background-position: -286px 0px;
}
.iti__flag.iti__aw {
  height: 14px;
  background-position: -308px 0px;
}
.iti__flag.iti__ax {
  height: 13px;
  background-position: -330px 0px;
}
.iti__flag.iti__az {
  height: 10px;
  background-position: -352px 0px;
}
.iti__flag.iti__ba {
  height: 10px;
  background-position: -374px 0px;
}
.iti__flag.iti__bb {
  height: 14px;
  background-position: -396px 0px;
}
.iti__flag.iti__bd {
  height: 12px;
  background-position: -418px 0px;
}
.iti__flag.iti__be {
  height: 15px;
  background-position: -440px 0px;
}
.iti__flag.iti__bf {
  height: 14px;
  background-position: -460px 0px;
}
.iti__flag.iti__bg {
  height: 12px;
  background-position: -482px 0px;
}
.iti__flag.iti__bh {
  height: 12px;
  background-position: -504px 0px;
}
.iti__flag.iti__bi {
  height: 12px;
  background-position: -526px 0px;
}
.iti__flag.iti__bj {
  height: 14px;
  background-position: -548px 0px;
}
.iti__flag.iti__bl {
  height: 14px;
  background-position: -570px 0px;
}
.iti__flag.iti__bm {
  height: 10px;
  background-position: -592px 0px;
}
.iti__flag.iti__bn {
  height: 10px;
  background-position: -614px 0px;
}
.iti__flag.iti__bo {
  height: 14px;
  background-position: -636px 0px;
}
.iti__flag.iti__bq {
  height: 14px;
  background-position: -658px 0px;
}
.iti__flag.iti__br {
  height: 14px;
  background-position: -680px 0px;
}
.iti__flag.iti__bs {
  height: 10px;
  background-position: -702px 0px;
}
.iti__flag.iti__bt {
  height: 14px;
  background-position: -724px 0px;
}
.iti__flag.iti__bv {
  height: 15px;
  background-position: -746px 0px;
}
.iti__flag.iti__bw {
  height: 14px;
  background-position: -768px 0px;
}
.iti__flag.iti__by {
  height: 10px;
  background-position: -790px 0px;
}
.iti__flag.iti__bz {
  height: 12px;
  background-position: -812px 0px;
}
.iti__flag.iti__ca {
  height: 10px;
  background-position: -834px 0px;
}
.iti__flag.iti__cc {
  height: 10px;
  background-position: -856px 0px;
}
.iti__flag.iti__cd {
  height: 15px;
  background-position: -878px 0px;
}
.iti__flag.iti__cf {
  height: 14px;
  background-position: -900px 0px;
}
.iti__flag.iti__cg {
  height: 14px;
  background-position: -922px 0px;
}
.iti__flag.iti__ch {
  height: 15px;
  background-position: -944px 0px;
}
.iti__flag.iti__ci {
  height: 14px;
  background-position: -961px 0px;
}
.iti__flag.iti__ck {
  height: 10px;
  background-position: -983px 0px;
}
.iti__flag.iti__cl {
  height: 14px;
  background-position: -1005px 0px;
}
.iti__flag.iti__cm {
  height: 14px;
  background-position: -1027px 0px;
}
.iti__flag.iti__cn {
  height: 14px;
  background-position: -1049px 0px;
}
.iti__flag.iti__co {
  height: 14px;
  background-position: -1071px 0px;
}
.iti__flag.iti__cp {
  height: 14px;
  background-position: -1093px 0px;
}
.iti__flag.iti__cq {
  height: 12px;
  background-position: -1115px 0px;
}
.iti__flag.iti__cr {
  height: 12px;
  background-position: -1137px 0px;
}
.iti__flag.iti__cu {
  height: 10px;
  background-position: -1159px 0px;
}
.iti__flag.iti__cv {
  height: 12px;
  background-position: -1181px 0px;
}
.iti__flag.iti__cw {
  height: 14px;
  background-position: -1203px 0px;
}
.iti__flag.iti__cx {
  height: 10px;
  background-position: -1225px 0px;
}
.iti__flag.iti__cy {
  height: 14px;
  background-position: -1247px 0px;
}
.iti__flag.iti__cz {
  height: 14px;
  background-position: -1269px 0px;
}
.iti__flag.iti__de {
  height: 12px;
  background-position: -1291px 0px;
}
.iti__flag.iti__dg {
  height: 10px;
  background-position: -1313px 0px;
}
.iti__flag.iti__dj {
  height: 14px;
  background-position: -1335px 0px;
}
.iti__flag.iti__dk {
  height: 15px;
  background-position: -1357px 0px;
}
.iti__flag.iti__dm {
  height: 10px;
  background-position: -1379px 0px;
}
.iti__flag.iti__do {
  height: 14px;
  background-position: -1401px 0px;
}
.iti__flag.iti__dz {
  height: 14px;
  background-position: -1423px 0px;
}
.iti__flag.iti__ea {
  height: 14px;
  background-position: -1445px 0px;
}
.iti__flag.iti__ec {
  height: 14px;
  background-position: -1467px 0px;
}
.iti__flag.iti__ee {
  height: 13px;
  background-position: -1489px 0px;
}
.iti__flag.iti__eg {
  height: 14px;
  background-position: -1511px 0px;
}
.iti__flag.iti__eh {
  height: 10px;
  background-position: -1533px 0px;
}
.iti__flag.iti__er {
  height: 10px;
  background-position: -1555px 0px;
}
.iti__flag.iti__es {
  height: 14px;
  background-position: -1577px 0px;
}
.iti__flag.iti__et {
  height: 10px;
  background-position: -1599px 0px;
}
.iti__flag.iti__eu {
  height: 14px;
  background-position: -1621px 0px;
}
.iti__flag.iti__ez {
  height: 14px;
  background-position: -1643px 0px;
}
.iti__flag.iti__fi {
  height: 12px;
  background-position: -1665px 0px;
}
.iti__flag.iti__fj {
  height: 10px;
  background-position: -1687px 0px;
}
.iti__flag.iti__fk {
  height: 10px;
  background-position: -1709px 0px;
}
.iti__flag.iti__fm {
  height: 11px;
  background-position: -1731px 0px;
}
.iti__flag.iti__fo {
  height: 15px;
  background-position: -1753px 0px;
}
.iti__flag.iti__fr {
  height: 14px;
  background-position: -1775px 0px;
}
.iti__flag.iti__fx {
  height: 14px;
  background-position: -1797px 0px;
}
.iti__flag.iti__ga {
  height: 15px;
  background-position: -1819px 0px;
}
.iti__flag.iti__gb {
  height: 10px;
  background-position: -1841px 0px;
}
.iti__flag.iti__gd {
  height: 12px;
  background-position: -1863px 0px;
}
.iti__flag.iti__ge {
  height: 14px;
  background-position: -1885px 0px;
}
.iti__flag.iti__gf {
  height: 14px;
  background-position: -1907px 0px;
}
.iti__flag.iti__gg {
  height: 14px;
  background-position: -1929px 0px;
}
.iti__flag.iti__gh {
  height: 14px;
  background-position: -1951px 0px;
}
.iti__flag.iti__gi {
  height: 10px;
  background-position: -1973px 0px;
}
.iti__flag.iti__gl {
  height: 14px;
  background-position: -1995px 0px;
}
.iti__flag.iti__gm {
  height: 14px;
  background-position: -2017px 0px;
}
.iti__flag.iti__gn {
  height: 14px;
  background-position: -2039px 0px;
}
.iti__flag.iti__gp {
  height: 14px;
  background-position: -2061px 0px;
}
.iti__flag.iti__gq {
  height: 14px;
  background-position: -2083px 0px;
}
.iti__flag.iti__gr {
  height: 14px;
  background-position: -2105px 0px;
}
.iti__flag.iti__gs {
  height: 10px;
  background-position: -2127px 0px;
}
.iti__flag.iti__gt {
  height: 13px;
  background-position: -2149px 0px;
}
.iti__flag.iti__gu {
  height: 11px;
  background-position: -2171px 0px;
}
.iti__flag.iti__gw {
  height: 10px;
  background-position: -2193px 0px;
}
.iti__flag.iti__gy {
  height: 12px;
  background-position: -2215px 0px;
}
.iti__flag.iti__hk {
  height: 14px;
  background-position: -2237px 0px;
}
.iti__flag.iti__hm {
  height: 10px;
  background-position: -2259px 0px;
}
.iti__flag.iti__hn {
  height: 10px;
  background-position: -2281px 0px;
}
.iti__flag.iti__hr {
  height: 10px;
  background-position: -2303px 0px;
}
.iti__flag.iti__ht {
  height: 12px;
  background-position: -2325px 0px;
}
.iti__flag.iti__hu {
  height: 10px;
  background-position: -2347px 0px;
}
.iti__flag.iti__ic {
  height: 14px;
  background-position: -2369px 0px;
}
.iti__flag.iti__id {
  height: 14px;
  background-position: -2391px 0px;
}
.iti__flag.iti__ie {
  height: 10px;
  background-position: -2413px 0px;
}
.iti__flag.iti__il {
  height: 15px;
  background-position: -2435px 0px;
}
.iti__flag.iti__im {
  height: 10px;
  background-position: -2457px 0px;
}
.iti__flag.iti__in {
  height: 14px;
  background-position: -2479px 0px;
}
.iti__flag.iti__io {
  height: 10px;
  background-position: -2501px 0px;
}
.iti__flag.iti__iq {
  height: 14px;
  background-position: -2523px 0px;
}
.iti__flag.iti__ir {
  height: 12px;
  background-position: -2545px 0px;
}
.iti__flag.iti__is {
  height: 15px;
  background-position: -2567px 0px;
}
.iti__flag.iti__it {
  height: 14px;
  background-position: -2589px 0px;
}
.iti__flag.iti__je {
  height: 12px;
  background-position: -2611px 0px;
}
.iti__flag.iti__jm {
  height: 10px;
  background-position: -2633px 0px;
}
.iti__flag.iti__jo {
  height: 10px;
  background-position: -2655px 0px;
}
.iti__flag.iti__jp {
  height: 14px;
  background-position: -2677px 0px;
}
.iti__flag.iti__ke {
  height: 14px;
  background-position: -2699px 0px;
}
.iti__flag.iti__kg {
  height: 12px;
  background-position: -2721px 0px;
}
.iti__flag.iti__kh {
  height: 13px;
  background-position: -2743px 0px;
}
.iti__flag.iti__ki {
  height: 10px;
  background-position: -2765px 0px;
}
.iti__flag.iti__km {
  height: 12px;
  background-position: -2787px 0px;
}
.iti__flag.iti__kn {
  height: 14px;
  background-position: -2809px 0px;
}
.iti__flag.iti__kp {
  height: 10px;
  background-position: -2831px 0px;
}
.iti__flag.iti__kr {
  height: 14px;
  background-position: -2853px 0px;
}
.iti__flag.iti__kw {
  height: 10px;
  background-position: -2875px 0px;
}
.iti__flag.iti__ky {
  height: 10px;
  background-position: -2897px 0px;
}
.iti__flag.iti__kz {
  height: 10px;
  background-position: -2919px 0px;
}
.iti__flag.iti__la {
  height: 14px;
  background-position: -2941px 0px;
}
.iti__flag.iti__lb {
  height: 14px;
  background-position: -2963px 0px;
}
.iti__flag.iti__lc {
  height: 10px;
  background-position: -2985px 0px;
}
.iti__flag.iti__li {
  height: 12px;
  background-position: -3007px 0px;
}
.iti__flag.iti__lk {
  height: 10px;
  background-position: -3029px 0px;
}
.iti__flag.iti__lr {
  height: 11px;
  background-position: -3051px 0px;
}
.iti__flag.iti__ls {
  height: 14px;
  background-position: -3073px 0px;
}
.iti__flag.iti__lt {
  height: 12px;
  background-position: -3095px 0px;
}
.iti__flag.iti__lu {
  height: 12px;
  background-position: -3117px 0px;
}
.iti__flag.iti__lv {
  height: 10px;
  background-position: -3139px 0px;
}
.iti__flag.iti__ly {
  height: 10px;
  background-position: -3161px 0px;
}
.iti__flag.iti__ma {
  height: 14px;
  background-position: -3183px 0px;
}
.iti__flag.iti__mc {
  height: 15px;
  background-position: -3205px 0px;
}
.iti__flag.iti__md {
  height: 10px;
  background-position: -3226px 0px;
}
.iti__flag.iti__me {
  height: 10px;
  background-position: -3248px 0px;
}
.iti__flag.iti__mf {
  height: 14px;
  background-position: -3270px 0px;
}
.iti__flag.iti__mg {
  height: 14px;
  background-position: -3292px 0px;
}
.iti__flag.iti__mh {
  height: 11px;
  background-position: -3314px 0px;
}
.iti__flag.iti__mk {
  height: 10px;
  background-position: -3336px 0px;
}
.iti__flag.iti__ml {
  height: 14px;
  background-position: -3358px 0px;
}
.iti__flag.iti__mm {
  height: 14px;
  background-position: -3380px 0px;
}
.iti__flag.iti__mn {
  height: 10px;
  background-position: -3402px 0px;
}
.iti__flag.iti__mo {
  height: 14px;
  background-position: -3424px 0px;
}
.iti__flag.iti__mp {
  height: 10px;
  background-position: -3446px 0px;
}
.iti__flag.iti__mq {
  height: 14px;
  background-position: -3468px 0px;
}
.iti__flag.iti__mr {
  height: 14px;
  background-position: -3490px 0px;
}
.iti__flag.iti__ms {
  height: 10px;
  background-position: -3512px 0px;
}
.iti__flag.iti__mt {
  height: 14px;
  background-position: -3534px 0px;
}
.iti__flag.iti__mu {
  height: 14px;
  background-position: -3556px 0px;
}
.iti__flag.iti__mv {
  height: 14px;
  background-position: -3578px 0px;
}
.iti__flag.iti__mw {
  height: 14px;
  background-position: -3600px 0px;
}
.iti__flag.iti__mx {
  height: 12px;
  background-position: -3622px 0px;
}
.iti__flag.iti__my {
  height: 10px;
  background-position: -3644px 0px;
}
.iti__flag.iti__mz {
  height: 14px;
  background-position: -3666px 0px;
}
.iti__flag.iti__na {
  height: 14px;
  background-position: -3688px 0px;
}
.iti__flag.iti__nc {
  height: 10px;
  background-position: -3710px 0px;
}
.iti__flag.iti__ne {
  height: 15px;
  background-position: -3732px 0px;
}
.iti__flag.iti__nf {
  height: 10px;
  background-position: -3752px 0px;
}
.iti__flag.iti__ng {
  height: 10px;
  background-position: -3774px 0px;
}
.iti__flag.iti__ni {
  height: 12px;
  background-position: -3796px 0px;
}
.iti__flag.iti__nl {
  height: 14px;
  background-position: -3818px 0px;
}
.iti__flag.iti__no {
  height: 15px;
  background-position: -3840px 0px;
}
.iti__flag.iti__np {
  height: 15px;
  background-position: -3862px 0px;
}
.iti__flag.iti__nr {
  height: 10px;
  background-position: -3877px 0px;
}
.iti__flag.iti__nu {
  height: 10px;
  background-position: -3899px 0px;
}
.iti__flag.iti__nz {
  height: 10px;
  background-position: -3921px 0px;
}
.iti__flag.iti__om {
  height: 10px;
  background-position: -3943px 0px;
}
.iti__flag.iti__pa {
  height: 14px;
  background-position: -3965px 0px;
}
.iti__flag.iti__pe {
  height: 14px;
  background-position: -3987px 0px;
}
.iti__flag.iti__pf {
  height: 14px;
  background-position: -4009px 0px;
}
.iti__flag.iti__pg {
  height: 15px;
  background-position: -4031px 0px;
}
.iti__flag.iti__ph {
  height: 10px;
  background-position: -4053px 0px;
}
.iti__flag.iti__pk {
  height: 14px;
  background-position: -4075px 0px;
}
.iti__flag.iti__pl {
  height: 13px;
  background-position: -4097px 0px;
}
.iti__flag.iti__pm {
  height: 14px;
  background-position: -4119px 0px;
}
.iti__flag.iti__pn {
  height: 10px;
  background-position: -4141px 0px;
}
.iti__flag.iti__pr {
  height: 14px;
  background-position: -4163px 0px;
}
.iti__flag.iti__ps {
  height: 10px;
  background-position: -4185px 0px;
}
.iti__flag.iti__pt {
  height: 14px;
  background-position: -4207px 0px;
}
.iti__flag.iti__pw {
  height: 13px;
  background-position: -4229px 0px;
}
.iti__flag.iti__py {
  height: 11px;
  background-position: -4251px 0px;
}
.iti__flag.iti__qa {
  height: 8px;
  background-position: -4273px 0px;
}
.iti__flag.iti__re {
  height: 14px;
  background-position: -4295px 0px;
}
.iti__flag.iti__ro {
  height: 14px;
  background-position: -4317px 0px;
}
.iti__flag.iti__rs {
  height: 14px;
  background-position: -4339px 0px;
}
.iti__flag.iti__ru {
  height: 14px;
  background-position: -4361px 0px;
}
.iti__flag.iti__rw {
  height: 14px;
  background-position: -4383px 0px;
}
.iti__flag.iti__sa {
  height: 14px;
  background-position: -4405px 0px;
}
.iti__flag.iti__sb {
  height: 10px;
  background-position: -4427px 0px;
}
.iti__flag.iti__sc {
  height: 10px;
  background-position: -4449px 0px;
}
.iti__flag.iti__sd {
  height: 10px;
  background-position: -4471px 0px;
}
.iti__flag.iti__se {
  height: 13px;
  background-position: -4493px 0px;
}
.iti__flag.iti__sg {
  height: 14px;
  background-position: -4515px 0px;
}
.iti__flag.iti__sh {
  height: 10px;
  background-position: -4537px 0px;
}
.iti__flag.iti__si {
  height: 10px;
  background-position: -4559px 0px;
}
.iti__flag.iti__sj {
  height: 15px;
  background-position: -4581px 0px;
}
.iti__flag.iti__sk {
  height: 14px;
  background-position: -4603px 0px;
}
.iti__flag.iti__sl {
  height: 14px;
  background-position: -4625px 0px;
}
.iti__flag.iti__sm {
  height: 15px;
  background-position: -4647px 0px;
}
.iti__flag.iti__sn {
  height: 14px;
  background-position: -4669px 0px;
}
.iti__flag.iti__so {
  height: 14px;
  background-position: -4691px 0px;
}
.iti__flag.iti__sr {
  height: 14px;
  background-position: -4713px 0px;
}
.iti__flag.iti__ss {
  height: 10px;
  background-position: -4735px 0px;
}
.iti__flag.iti__st {
  height: 10px;
  background-position: -4757px 0px;
}
.iti__flag.iti__su {
  height: 10px;
  background-position: -4779px 0px;
}
.iti__flag.iti__sv {
  height: 12px;
  background-position: -4801px 0px;
}
.iti__flag.iti__sx {
  height: 14px;
  background-position: -4823px 0px;
}
.iti__flag.iti__sy {
  height: 14px;
  background-position: -4845px 0px;
}
.iti__flag.iti__sz {
  height: 14px;
  background-position: -4867px 0px;
}
.iti__flag.iti__ta {
  height: 10px;
  background-position: -4889px 0px;
}
.iti__flag.iti__tc {
  height: 10px;
  background-position: -4911px 0px;
}
.iti__flag.iti__td {
  height: 14px;
  background-position: -4933px 0px;
}
.iti__flag.iti__tf {
  height: 14px;
  background-position: -4955px 0px;
}
.iti__flag.iti__tg {
  height: 13px;
  background-position: -4977px 0px;
}
.iti__flag.iti__th {
  height: 14px;
  background-position: -4999px 0px;
}
.iti__flag.iti__tj {
  height: 10px;
  background-position: -5021px 0px;
}
.iti__flag.iti__tk {
  height: 10px;
  background-position: -5043px 0px;
}
.iti__flag.iti__tl {
  height: 10px;
  background-position: -5065px 0px;
}
.iti__flag.iti__tm {
  height: 14px;
  background-position: -5087px 0px;
}
.iti__flag.iti__tn {
  height: 14px;
  background-position: -5109px 0px;
}
.iti__flag.iti__to {
  height: 10px;
  background-position: -5131px 0px;
}
.iti__flag.iti__tr {
  height: 14px;
  background-position: -5153px 0px;
}
.iti__flag.iti__tt {
  height: 12px;
  background-position: -5175px 0px;
}
.iti__flag.iti__tv {
  height: 10px;
  background-position: -5197px 0px;
}
.iti__flag.iti__tw {
  height: 14px;
  background-position: -5219px 0px;
}
.iti__flag.iti__tz {
  height: 14px;
  background-position: -5241px 0px;
}
.iti__flag.iti__ua {
  height: 14px;
  background-position: -5263px 0px;
}
.iti__flag.iti__ug {
  height: 14px;
  background-position: -5285px 0px;
}
.iti__flag.iti__uk {
  height: 10px;
  background-position: -5307px 0px;
}
.iti__flag.iti__um {
  height: 11px;
  background-position: -5329px 0px;
}
.iti__flag.iti__un {
  height: 14px;
  background-position: -5351px 0px;
}
.iti__flag.iti__us {
  height: 11px;
  background-position: -5373px 0px;
}
.iti__flag.iti__uy {
  height: 14px;
  background-position: -5395px 0px;
}
.iti__flag.iti__uz {
  height: 10px;
  background-position: -5417px 0px;
}
.iti__flag.iti__va {
  height: 15px;
  background-position: -5439px 0px;
}
.iti__flag.iti__vc {
  height: 14px;
  background-position: -5456px 0px;
}
.iti__flag.iti__ve {
  height: 14px;
  background-position: -5478px 0px;
}
.iti__flag.iti__vg {
  height: 10px;
  background-position: -5500px 0px;
}
.iti__flag.iti__vi {
  height: 14px;
  background-position: -5522px 0px;
}
.iti__flag.iti__vn {
  height: 14px;
  background-position: -5544px 0px;
}
.iti__flag.iti__vu {
  height: 12px;
  background-position: -5566px 0px;
}
.iti__flag.iti__wf {
  height: 14px;
  background-position: -5588px 0px;
}
.iti__flag.iti__ws {
  height: 10px;
  background-position: -5610px 0px;
}
.iti__flag.iti__xk {
  height: 15px;
  background-position: -5632px 0px;
}
.iti__flag.iti__ye {
  height: 14px;
  background-position: -5654px 0px;
}
.iti__flag.iti__yt {
  height: 14px;
  background-position: -5676px 0px;
}
.iti__flag.iti__za {
  height: 14px;
  background-position: -5698px 0px;
}
.iti__flag.iti__zm {
  height: 14px;
  background-position: -5720px 0px;
}
.iti__flag.iti__zw {
  height: 10px;
  background-position: -5742px 0px;
}

.iti__flag {
  height: 15px;
  box-shadow: 0px 0px 1px 0px #888;
  background-image: url("/assets/img/vendor/iti/flags.png");
  background-repeat: no-repeat;
  background-position: 20px 0;
}
@media (min-resolution: 2x) {
  .iti__flag {
    background-image: url("/assets/img/vendor/iti/flags@2x.png");
  }
}

.iti__globe {
  background-image: url("/assets/img/vendor/iti/globe.png");
  background-size: contain;
  background-position: right;
  box-shadow: none;
  height: 19px;
}
@media (min-resolution: 2x) {
  .iti__globe {
    background-image: url("/assets/img/vendor/iti/globe@2x.png");
  }
}