/* ==========================================================================
   BlueHolidays Booking Flow — Vehicle Selection & Passenger Details
   Suntransfers.com inspired multi-step booking UI
   ========================================================================== */

:root {
    /* Odoo tema paletine bağlı (web._assets_primary_variables -> o-color-1/2).
       Fallback: primary #f68712, secondary #00bfff. */
    --bf-primary: var(--o-color-1, #f68712);
    --bf-secondary: var(--o-color-2, #00bfff);
    --bf-primary-dark: #d9740b;
    --bf-navy: #0A2540;
    --bf-white: #FFFFFF;
    --bf-bg: #F5F7FA;
    --bf-text: #1A1A2E;
    --bf-muted: #6B7280;
    --bf-border: #E5E7EB;
    --bf-green: #28A745;
    --bf-yellow: #FFC107;
    --bf-orange: #F59E0B;
    --bf-red: #E74C3C;
    --bf-radius: 8px;
    --bf-shadow: 0 2px 12px rgba(0,0,0,0.07);
    --bf-font-h: 'Poppins', sans-serif;
    --bf-font-b: 'Nunito Sans', 'Poppins', sans-serif;
    --bf-max-w: 1140px;
}

/* ── Reset ── */
.bh-booking-flow,
.bh-booking-flow *,
.bh-booking-flow *::before,
.bh-booking-flow *::after {
    margin: 0; padding: 0; box-sizing: border-box;
}
.bh-booking-flow {
    font-family: var(--bf-font-b);
    font-size: 15px;
    line-height: 1.6;
    color: var(--bf-text);
    background: var(--bf-bg);
    -webkit-font-smoothing: antialiased;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
.bh-booking-flow a { text-decoration: none; color: inherit; }
.bh-booking-flow ul { list-style: none; }
.bh-booking-flow button { cursor: pointer; border: none; background: none; font-family: inherit; }
.bh-booking-flow input, .bh-booking-flow select, .bh-booking-flow textarea { font-family: inherit; }

.bf-container {
    max-width: var(--bf-max-w);
    margin: 0 auto;
    padding: 0 20px;
}

/* ==========================================================================
   HEADER
   ========================================================================== */
.bf-header {
    background: var(--bf-white);
    border-bottom: 1px solid var(--bf-border);
}

.bf-header__inner {
    max-width: var(--bf-max-w);
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    align-items: center;
    height: 56px;
}

.bf-header__logo {
    display: flex; align-items: center; gap: 8px;
    margin-right: auto;
}

.bf-header__nav {
    display: flex; align-items: center; gap: 16px;
}

.bf-header__link {
    font-size: 13px;
    font-weight: 700;
    color: var(--bf-text);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    display: flex; align-items: center; gap: 4px;
}
.bf-header__link:hover { color: var(--bf-primary); }
.bf-header__link--active { color: var(--bf-primary); }

.bf-header__sep { color: var(--bf-border); }

.bf-header__meta {
    font-size: 13px;
    font-weight: 600;
    color: var(--bf-muted);
    display: flex; align-items: center; gap: 4px;
}

.bf-header__mobile-btn {
    display: none;
    font-size: 24px;
    color: var(--bf-navy);
    position: relative;
    z-index: 3;
    width: 46px;
    height: 46px;
    border-radius: 16px;
    border: 0;
    background: transparent;
    box-shadow: none;
    transition: color 0.2s ease, opacity 0.2s ease;
}
.bf-header__mobile-btn:hover {
    transform: none;
    box-shadow: none;
    opacity: 0.8;
}

.bf-header__mobile-alert {
    display: none;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 16px;
    border: 0;
    background: transparent;
    color: var(--bf-navy);
    box-shadow: none;
    transition: color 0.2s ease, opacity 0.2s ease;
}

.bf-header__mobile-alert:hover {
    transform: none;
    box-shadow: none;
    opacity: 0.8;
}

.bf-header__mobile-alert i {
    font-size: 22px;
}

.bf-header__mobile-alert-dot {
    position: absolute;
    top: 10px;
    right: 11px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #ef4444;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.95);
}

.bf-mobile-menu {
    position: fixed;
    inset: 0;
    z-index: 2200;
    visibility: hidden;
    pointer-events: none;
}

.bf-mobile-menu--open {
    visibility: visible;
    pointer-events: auto;
}

.bf-mobile-menu__backdrop {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(8, 16, 34, 0.18) 0%, rgba(8, 16, 34, 0.62) 100%),
        rgba(8, 16, 34, 0.28);
    backdrop-filter: blur(10px);
    opacity: 0;
    transition: opacity 0.35s ease;
}

.bf-mobile-menu__panel {
    position: relative;
    display: flex;
    flex-direction: column;
    width: min(88vw, 360px);
    max-width: 360px;
    height: 100%;
    padding: 0 14px env(safe-area-inset-bottom, 12px);
    background:
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.18), transparent 34%),
        linear-gradient(180deg, #ff9d34 0%, var(--bf-primary) 46%, #d96f00 100%);
    box-shadow: 24px 0 60px rgba(15, 23, 42, 0.28);
    overflow: hidden auto;
    transform: translate3d(-100%, 0, 0);
    transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1);
}

.bf-mobile-menu--open .bf-mobile-menu__backdrop { opacity: 1; }
.bf-mobile-menu--open .bf-mobile-menu__panel { transform: translate3d(0, 0, 0); }

.bf-mobile-menu__glow {
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
}

.bf-mobile-menu__glow--one {
    top: -55px;
    right: -30px;
    width: 180px;
    height: 180px;
    background: rgba(255, 255, 255, 0.18);
}

.bf-mobile-menu__glow--two {
    left: -75px;
    bottom: 110px;
    width: 210px;
    height: 210px;
    background: rgba(10, 33, 84, 0.15);
}

/* ==========================================================================
   Agent Panel
   ========================================================================== */
.bf-agent {
    flex: 1;
    padding: 28px 0 48px;
}

.bf-agent__container {
    max-width: var(--bf-max-w);
    margin: 0 auto;
    padding: 0 20px;
}

.bf-agent__hero {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 20px;
    margin-bottom: 24px;
}

.bf-agent__eyebrow {
    display: inline-flex;
    margin-bottom: 10px;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(246, 135, 18, 0.12);
    color: var(--bf-primary-dark);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.bf-agent__hero h1 {
    font-family: var(--bf-font-h);
    font-size: 34px;
    line-height: 1.1;
    margin-bottom: 8px;
}

.bf-agent__hero p {
    color: var(--bf-muted);
    max-width: 620px;
}

.bf-agent__hero-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    height: 48px;
    padding: 0 18px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--bf-primary), #ffb24a);
    color: #fff !important;
    font-weight: 800;
}

.bf-agent__stats {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 24px;
}

.bf-agent__stat,
.bf-agent__panel,
.bf-agent-trip {
    background: #fff;
    border: 1px solid var(--bf-border);
    border-radius: 18px;
}

.bf-agent__stat {
    padding: 16px;
}

.bf-agent__stat span {
    display: block;
    color: var(--bf-muted);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.bf-agent__stat strong {
    display: block;
    margin-top: 10px;
    font-family: var(--bf-font-h);
    font-size: 24px;
    line-height: 1.15;
    color: var(--bf-navy);
}

.bf-agent__panel {
    padding: 22px;
}

.bf-agent__panel-head {
    margin-bottom: 18px;
}

.bf-agent__panel-head h2 {
    font-family: var(--bf-font-h);
    font-size: 24px;
    margin-bottom: 4px;
}

.bf-agent__panel-head p {
    color: var(--bf-muted);
}

.bf-agent__list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.bf-agent-trip {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 200px;
    gap: 18px;
    padding: 18px;
}

.bf-agent-trip__top,
.bf-agent-trip__route,
.bf-agent-trip__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.bf-agent-trip__top {
    justify-content: space-between;
    margin-bottom: 10px;
}

.bf-agent-trip__top strong {
    font-family: var(--bf-font-h);
    font-size: 18px;
}

.bf-agent-trip__top span {
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(10, 37, 64, 0.06);
    color: var(--bf-navy);
    font-size: 12px;
    font-weight: 700;
}

.bf-agent-trip__route {
    margin-bottom: 12px;
    color: var(--bf-text);
}

.bf-agent-trip__route > div,
.bf-agent-trip__meta span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.bf-agent-trip__meta {
    color: var(--bf-muted);
    font-size: 14px;
}

.bf-agent-trip__side {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 8px;
    border-left: 1px solid var(--bf-border);
    padding-left: 18px;
}

.bf-agent-trip__amount {
    font-family: var(--bf-font-h);
    font-size: 28px;
    line-height: 1;
    color: var(--bf-navy);
}

.bf-agent-trip__commission,
.bf-agent-trip__vehicle {
    color: var(--bf-muted);
    font-size: 14px;
    text-align: right;
}

@media (max-width: 1180px) {
    .bf-agent__stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .bf-agent {
        padding: 20px 0 108px;
    }

    .bf-agent__container {
        padding: 0 14px;
    }

    .bf-agent__hero {
        flex-direction: column;
        align-items: stretch;
    }

    .bf-agent__hero h1 {
        font-size: 28px;
    }

    .bf-agent__hero-cta {
        width: 100%;
    }

    .bf-agent__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bf-agent__panel {
        padding: 16px;
        border-radius: 16px;
    }

    .bf-agent-trip {
        grid-template-columns: 1fr;
        padding: 16px;
    }

    .bf-agent-trip__side {
        align-items: flex-start;
        border-left: 0;
        border-top: 1px solid var(--bf-border);
        padding-left: 0;
        padding-top: 12px;
    }

    .bf-agent-trip__commission,
    .bf-agent-trip__vehicle {
        text-align: left;
    }
}

.bf-mobile-menu__head {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: max(18px, env(safe-area-inset-top, 0px) + 8px) 4px 18px;
}

.bf-mobile-menu__close {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font-size: 22px;
    line-height: 1;
    backdrop-filter: blur(10px);
}

.bf-mobile-menu__brand {
    position: absolute;
    left: 50%;
    transform: translateX(-41.5%);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.bf-mobile-menu__logo {
    height: 30px;
    width: auto;
    display: block;
}

.bf-mobile-menu__body,
.bf-mobile-menu__footer {
    position: relative;
    z-index: 1;
}

.bf-mobile-menu__body {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.bf-mobile-menu__footer {
    margin-top: auto;
    padding: 12px 4px 0;
}

.bf-mobile-menu__meta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    margin-bottom: 10px;
    border-radius: 12px;
    color: rgba(255, 255, 255, 0.9);
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    font-size: 12px;
    font-weight: 700;
}

.bf-mobile-link {
    display: grid;
    grid-template-columns: 24px 1fr auto;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    border-radius: 15px;
    margin-bottom: 5px;
    color: #fff;
    background: linear-gradient(180deg, rgba(198, 112, 16, 0.94) 0%, rgba(155, 82, 8, 0.98) 100%);
    border: 1px solid rgba(255, 214, 163, 0.2);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.14),
        0 8px 18px rgba(92, 43, 0, 0.18);
    transition: transform 0.24s ease, background 0.24s ease, border-color 0.24s ease;
}

.bf-mobile-link > i:first-child {
    width: 22px;
    font-size: 18px;
    text-align: center;
    color: #fff;
}

.bf-mobile-link span {
    display: block;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
}

.bf-mobile-link,
.bf-mobile-link:visited,
.bf-mobile-link:hover,
.bf-mobile-link span,
.bf-mobile-link small {
    color: #fff;
}

.bf-mobile-link small {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.78);
}

.bf-mobile-link::after {
    content: "\ea6e";
    font-family: "remixicon";
    font-size: 18px;
    color: #fff;
    opacity: 0.82;
}

.bf-mobile-link:hover {
    color: #fff;
    background: linear-gradient(180deg, rgba(219, 129, 29, 0.96) 0%, rgba(176, 97, 12, 0.98) 100%);
    border-color: rgba(255, 231, 192, 0.32);
    transform: translateX(4px);
}

.bf-mobile-link--auth {
    width: auto;
    margin: 9px 0 9px;
    margin-bottom: 0;
    background: linear-gradient(180deg, rgba(19, 34, 67, 0.98) 0%, rgba(9, 20, 43, 1) 100%);
    border-color: rgba(161, 190, 255, 0.24);
}

.bf-mobile-menu__selectors {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 9px;
    padding-top: 8px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.bf-mobile-menu__selector {
    display: inline-grid;
    grid-template-columns: 18px 1fr 16px;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 0 12px;
    border-radius: 12px;
    border: 1px solid rgba(18, 33, 68, 0.32);
    background: rgba(13, 27, 54, 0.42);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-align: left;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.bf-mobile-menu__selector i:first-child,
.bf-mobile-menu__selector i:last-child,
.bf-mobile-menu__selector span {
    color: #fff;
}

/* Trust strip */
.bf-trust-strip {
    background: var(--bf-bg);
    border-bottom: 1px solid var(--bf-border);
    padding: 8px 0;
}

.bf-trust-strip__inner {
    max-width: var(--bf-max-w);
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
}

.bf-trust-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
}

.bf-trust-item i {
    font-size: 22px;
    color: var(--bf-primary);
}

.bf-trust-item strong {
    display: block;
    font-size: 13px;
    color: var(--bf-navy);
}

.bf-trust-item span {
    font-size: 12px;
    color: var(--bf-muted);
}

/* ==========================================================================
   STEPPER
   ========================================================================== */
.bf-stepper {
    background: var(--bf-white);
    padding: 20px 0;
    border-bottom: 1px solid var(--bf-border);
}

.bf-stepper__inner {
    max-width: var(--bf-max-w);
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
}

.bf-stepper__step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    min-width: 80px;
}

.bf-stepper__num {
    width: 32px; height: 32px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-family: var(--bf-font-h);
    font-size: 14px;
    font-weight: 700;
    background: #e5e7eb;
    color: #9ca3af;
}

.bf-stepper__step--active .bf-stepper__num {
    background: var(--bf-primary);
    color: var(--bf-white);
}

.bf-stepper__step--done .bf-stepper__num {
    background: var(--bf-green);
    color: var(--bf-white);
}

.bf-stepper__label {
    font-size: 11px;
    font-weight: 700;
    color: var(--bf-muted);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    text-align: center;
}

.bf-stepper__step--active .bf-stepper__label { color: var(--bf-navy); }
.bf-stepper__step--done .bf-stepper__label { color: var(--bf-green); }

.bf-stepper__line {
    flex: 1;
    height: 3px;
    background: #e5e7eb;
    margin: 0 4px;
    margin-bottom: 20px;
    border-radius: 2px;
}

.bf-stepper__line--done { background: var(--bf-green); }

/* ==========================================================================
   MAIN LAYOUT
   ========================================================================== */
.bf-main {
    padding: 24px 0 48px;
    flex: 1 0 auto;
}

.bf-layout {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

/* ── Banner ── */
.bf-banner {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 20px;
    border-radius: var(--bf-radius);
    margin-bottom: 20px;
    font-size: 14px;
    font-weight: 600;
}

.bf-banner--success {
    background: #d1fae5;
    color: #065f46;
}

.bf-banner--success i { font-size: 20px; color: var(--bf-green); }

.bf-banner--info {
    background: #d1fae5;
    color: #065f46;
}

.bf-banner--info i { font-size: 20px; color: var(--bf-green); }

.bf-banner--warning {
    background: #fef3cd;
    border: 1px solid #fde293;
    color: #92600a;
}

.bf-banner--warning i { font-size: 20px; color: var(--bf-orange); }

/* ==========================================================================
   SIDEBAR
   ========================================================================== */
.bf-sidebar {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Search box */
.bf-sidebar__search {
    background: var(--bf-white);
    border-radius: var(--bf-radius);
    padding: 16px;
    box-shadow: var(--bf-shadow);
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.bf-search-field {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f9fafb;
    border: 1px solid var(--bf-border);
    border-radius: 6px;
    padding: 8px 12px;
    position: relative;
}

.bf-search-field__icon {
    font-size: 18px;
    width: 28px; height: 28px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%;
    flex-shrink: 0;
}

.bf-icon--green { background: #d1fae5; color: var(--bf-green); }
.bf-icon--red   { background: #fee2e2; color: var(--bf-red); }

.bf-search-field__body {
    flex: 1;
    min-width: 0;
}

.bf-search-field__label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: var(--bf-muted);
    text-transform: uppercase;
}

.bf-search-field__input {
    width: 100%;
    border: none;
    background: transparent;
    font-size: 14px;
    font-weight: 600;
    color: var(--bf-navy);
    outline: none;
}

.bf-search-field__clear {
    font-size: 16px;
    color: var(--bf-muted);
    padding: 2px;
}
.bf-search-field__clear:hover { color: var(--bf-red); }

.bf-swap-btn {
    align-self: center;
    width: 32px; height: 32px;
    border-radius: 50%;
    background: var(--bf-primary);
    color: var(--bf-white);
    font-size: 16px;
    display: flex; align-items: center; justify-content: center;
    margin: -4px 0;
    z-index: 1;
    position: relative;
    transition: transform .2s;
}
.bf-swap-btn:hover { transform: rotate(180deg); }

.bf-search-row {
    display: flex;
    gap: 8px;
}

.bf-search-field--compact {
    flex: 1;
    min-width: 0;
}

.bf-search-field--compact i {
    font-size: 16px;
    color: var(--bf-muted);
    flex-shrink: 0;
}

.bf-search-field__select {
    width: 100%;
    border: none;
    background: transparent;
    font-size: 14px;
    font-weight: 600;
    color: var(--bf-navy);
    outline: none;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}

.bf-add-return {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--bf-muted);
    cursor: pointer;
    white-space: nowrap;
    padding: 8px 12px;
    border: 1px solid var(--bf-border);
    border-radius: 6px;
    background: #f9fafb;
}
.bf-add-return:hover { color: var(--bf-primary); border-color: var(--bf-primary); }

.bf-search-btn {
    width: 100%;
    height: 44px;
    background: var(--bf-primary);
    color: var(--bf-white);
    border-radius: 6px;
    font-family: var(--bf-font-h);
    font-size: 15px;
    font-weight: 700;
    transition: background .2s;
}
.bf-search-btn:hover { background: var(--bf-primary-dark); }

/* Sidebar cards */
.bf-sidebar__card {
    background: var(--bf-white);
    border-radius: var(--bf-radius);
    padding: 16px;
    box-shadow: var(--bf-shadow);
    display: flex;
    align-items: center;
    gap: 12px;
}

.bf-sidebar__card-icon {
    width: 36px; height: 36px;
    border-radius: 50%;
    background: var(--bf-primary);
    color: var(--bf-white);
    display: flex; align-items: center; justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

.bf-sidebar__card strong {
    display: block;
    font-size: 14px;
    color: var(--bf-navy);
}

.bf-sidebar__card span {
    font-size: 13px;
    color: var(--bf-primary);
}

/* Route details */
.bf-sidebar__route {
    background: var(--bf-white);
    border-radius: var(--bf-radius);
    padding: 16px;
    box-shadow: var(--bf-shadow);
}

.bf-sidebar__route h4 {
    font-family: var(--bf-font-h);
    font-size: 15px;
    font-weight: 700;
    color: var(--bf-navy);
    margin-bottom: 8px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--bf-navy);
}

.bf-route-text {
    font-size: 14px;
    color: var(--bf-text);
    margin-bottom: 12px;
}

.bf-route-meta { font-size: 13px; }
.bf-route-meta div { margin-bottom: 4px; }
.bf-route-label {
    font-size: 12px;
    font-weight: 700;
    color: var(--bf-muted);
    text-transform: uppercase;
}

/* Badge */
.bf-sidebar__badge {
    background: #fef3cd;
    border: 1px solid #fde68a;
    border-radius: var(--bf-radius);
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.bf-sidebar__badge i { font-size: 28px; color: var(--bf-orange); }
.bf-sidebar__badge strong { font-size: 14px; color: var(--bf-navy); display: block; }
.bf-sidebar__badge span { font-size: 13px; color: var(--bf-muted); }

/* ==========================================================================
   VEHICLE CARDS
   ========================================================================== */
.bf-vehicle-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.bf-vcard {
    background: var(--bf-white);
    border-radius: var(--bf-radius);
    box-shadow: var(--bf-shadow);
    display: grid;
    grid-template-columns: 140px 1fr 200px;
    overflow: hidden;
    transition: box-shadow .2s;
}

.bf-vcard:hover { box-shadow: 0 4px 20px rgba(0,0,0,0.12); }

/* Left: image + rating */
.bf-vcard__left {
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.bf-vcard__img {
    width: 110px; height: 80px;
    background: linear-gradient(135deg, #f0f9ff, #e0f2fe);
    border-radius: 6px;
    display: flex; align-items: center; justify-content: center;
}

.bf-vcard__img i {
    font-size: 42px;
    color: var(--bf-primary);
    opacity: 0.6;
}

.bf-vcard__rating { text-align: center; }

.bf-stars {
    display: flex; gap: 1px;
}

.bf-stars i { font-size: 14px; color: var(--bf-yellow); }

.bf-review-count {
    display: block;
    font-size: 12px;
    color: var(--bf-muted);
    margin-top: 2px;
}

.bf-review-count i { font-size: 12px; }

/* Center: details */
.bf-vcard__center {
    padding: 20px 16px;
    border-left: 1px solid var(--bf-border);
    border-right: 1px solid var(--bf-border);
}

.bf-vcard__title-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.bf-vcard__title-row h3 {
    font-family: var(--bf-font-h);
    font-size: 18px;
    font-weight: 700;
    color: var(--bf-navy);
}

.bf-vcard__tag {
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 3px 8px;
    border-radius: 4px;
}

.bf-tag--blue   { background: var(--bf-primary); color: var(--bf-white); }
.bf-tag--orange { background: var(--bf-orange); color: var(--bf-white); }

.bf-vcard__specs {
    display: flex;
    gap: 16px;
    margin-bottom: 8px;
}

.bf-vcard__specs span,
.bf-vcard__details span {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    color: var(--bf-text);
}

.bf-vcard__specs i,
.bf-vcard__details i {
    font-size: 15px;
    color: var(--bf-primary);
}

.bf-vcard__details {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 12px;
}

.bf-vcard__door { color: var(--bf-primary) !important; font-weight: 600; }
.bf-vcard__door i { color: var(--bf-primary); }

.bf-highlights-toggle {
    font-size: 13px;
    font-weight: 600;
    color: var(--bf-muted);
    padding: 6px 12px;
    border: 1px solid var(--bf-border);
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: border-color .2s;
}
.bf-highlights-toggle:hover { border-color: var(--bf-primary); color: var(--bf-primary); }

/* Right: price + CTA */
.bf-vcard__right {
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 4px;
    text-align: right;
}

.bf-vcard__price-label {
    font-size: 12px;
    color: var(--bf-muted);
}

.bf-vcard__price {
    font-family: var(--bf-font-h);
    font-size: 32px;
    font-weight: 800;
    color: var(--bf-navy);
    line-height: 1.1;
}

.bf-vcard__free {
    font-size: 13px;
    font-weight: 700;
    color: var(--bf-green);
    display: flex; align-items: center; gap: 4px;
}

.bf-vcard__free i { font-size: 14px; }

.bf-vcard__nohidden {
    font-size: 13px;
    color: var(--bf-text);
    display: flex; align-items: center; gap: 4px;
}

.bf-vcard__nohidden i { font-size: 14px; }

.bf-vcard__select-btn {
    display: inline-block;
    margin-top: 8px;
    padding: 10px 28px;
    background: var(--bf-primary);
    color: var(--bf-white) !important;
    border-radius: 6px;
    font-family: var(--bf-font-h);
    font-size: 14px;
    font-weight: 700;
    transition: background .2s;
    text-align: center;
}
.bf-vcard__select-btn:hover { background: var(--bf-primary-dark); }

/* Guarantee banner */
.bf-guarantee {
    background: var(--bf-white);
    border-radius: var(--bf-radius);
    box-shadow: var(--bf-shadow);
    padding: 16px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    transition: box-shadow .2s;
}
.bf-guarantee:hover { box-shadow: 0 4px 20px rgba(0,0,0,0.12); }

.bf-guarantee__left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.bf-guarantee__left i {
    font-size: 36px;
    color: var(--bf-green);
}

.bf-guarantee__left strong {
    display: block;
    font-family: var(--bf-font-h);
    font-size: 16px;
    color: var(--bf-primary);
}

.bf-guarantee__left span {
    font-size: 13px;
    color: var(--bf-muted);
}

.bf-guarantee__arrow {
    font-size: 24px;
    color: var(--bf-green);
    width: 36px; height: 36px;
    border-radius: 50%;
    background: #d1fae5;
    display: flex; align-items: center; justify-content: center;
}

/* Show more */
.bf-show-more {
    text-align: center;
    margin-top: 8px;
}

.bf-show-more__btn {
    padding: 12px 40px;
    background: var(--bf-primary);
    color: var(--bf-white);
    border-radius: 6px;
    font-family: var(--bf-font-h);
    font-size: 15px;
    font-weight: 700;
    transition: background .2s;
}
.bf-show-more__btn:hover { background: var(--bf-primary-dark); }

/* ==========================================================================
   SIDEBAR SUMMARY (Passenger page)
   ========================================================================== */
.bf-sidebar__summary {
    background: var(--bf-white);
    border-radius: var(--bf-radius);
    box-shadow: var(--bf-shadow);
    overflow: hidden;
}

.bf-summary-header {
    background: var(--bf-primary);
    color: var(--bf-white);
    padding: 14px 16px;
    font-family: var(--bf-font-h);
    font-size: 15px;
    font-weight: 700;
}

.bf-summary-section {
    padding: 16px;
    border-bottom: 1px solid var(--bf-border);
}

.bf-summary-section h5 {
    font-family: var(--bf-font-h);
    font-size: 15px;
    font-weight: 700;
    color: var(--bf-navy);
    margin-bottom: 12px;
}

.bf-summary-row {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
}

.bf-summary-row i {
    font-size: 18px;
    color: var(--bf-muted);
    margin-top: 2px;
    flex-shrink: 0;
}

.bf-summary-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: var(--bf-muted);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.bf-summary-value {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: var(--bf-navy);
}

.bf-summary-price {
    padding: 16px;
    text-align: center;
}

.bf-summary-price__amount {
    display: block;
    font-family: var(--bf-font-h);
    font-size: 32px;
    font-weight: 800;
    color: var(--bf-navy);
}

.bf-summary-price__label {
    font-size: 13px;
    color: var(--bf-muted);
}

/* ==========================================================================
   PASSENGER FORM
   ========================================================================== */
.bf-passenger-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: 0;
}

.bf-form-card {
    background: var(--bf-white);
    border-radius: var(--bf-radius);
    box-shadow: var(--bf-shadow);
    overflow: hidden;
    min-width: 0;
}

.bf-form-card > h2 {
    padding: 20px 24px 0;
    font-family: var(--bf-font-h);
    font-size: 18px;
    font-weight: 700;
    color: var(--bf-navy);
    margin-bottom: 16px;
}

.bf-form-card > .bf-form-row,
.bf-form-card > .bf-form-group,
.bf-form-card > .bf-checkbox,
.bf-form-card > .bf-radio {
    padding-left: 24px;
    padding-right: 24px;
}

.bf-form-card > .bf-radio:last-of-type,
.bf-form-card > .bf-checkbox:last-of-type,
.bf-form-card > .bf-form-group:last-child {
    padding-bottom: 24px;
}

.bf-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    padding: 0 24px;
    margin-bottom: 16px;
}

.bf-form-group {
    margin-bottom: 16px;
    padding: 0 24px;
    min-width: 0;
}

.bf-form-group label {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: var(--bf-navy);
    margin-bottom: 4px;
}

.bf-form-group label em {
    font-weight: 400;
    color: var(--bf-muted);
    font-style: italic;
}

.bf-form-hint {
    display: block;
    font-size: 13px;
    color: var(--bf-muted);
    margin-bottom: 6px;
}

.bf-form-group input,
.bf-form-group select,
.bf-form-group textarea {
    width: 100%;
    height: 44px;
    padding: 0 14px;
    border: 1px solid var(--bf-border);
    border-radius: 6px;
    font-size: 14px;
    color: var(--bf-text);
    background: var(--bf-white);
    outline: none;
    transition: border-color .2s;
}

.bf-form-group input:focus,
.bf-form-group select:focus {
    border-color: var(--bf-primary);
    box-shadow: 0 0 0 2px rgba(9,175,238,0.15);
}

.bf-phone-row {
    display: grid;
    grid-template-columns: minmax(150px, 180px) minmax(0, 1fr);
    gap: 8px;
    width: 100%;
    min-width: 0;
}

.bf-phone-prefix {
    width: 100%;
    max-width: 180px;
    height: 44px;
    padding: 0 10px;
    border: 1px solid var(--bf-border);
    border-radius: 6px;
    font-size: 14px;
    color: var(--bf-text);
    background: var(--bf-white);
    outline: none;
    cursor: pointer;
}

.bf-phone-row select,
.bf-phone-row input {
    width: 100%;
    min-width: 0;
}

/* ── intl-tel-input integration ── */
.bf-form-group .iti {
    width: 100%;
    display: block;
}

.bf-form-group .iti input[type="tel"] {
    width: 100%;
}

/* ── Live field validation states ── */
.bf-form-group input.bf-input--valid,
.bf-form-group .iti input.bf-input--valid {
    border-color: #28a745;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2328a745'%3E%3Cpath d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 18px;
    padding-right: 38px;
}

.bf-form-group input.bf-input--valid:focus {
    border-color: #28a745;
    box-shadow: 0 0 0 2px rgba(40, 167, 69, 0.15);
}

.bf-form-group input.bf-input--invalid,
.bf-form-group .iti input.bf-input--invalid {
    border-color: #dc3545;
}

.bf-form-group input.bf-input--invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.15);
}

.bf-field-error {
    display: block;
    font-size: 12.5px;
    color: #dc3545;
    font-weight: 600;
    margin-top: 5px;
}

.bf-field-suggestion {
    display: block;
    font-size: 12.5px;
    color: var(--bf-primary-dark);
    font-weight: 600;
    margin-top: 5px;
    cursor: pointer;
}

.bf-field-suggestion:hover {
    text-decoration: underline;
}

/* ── Child seat options ── */
.bf-form-card > .bf-seat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    padding: 0 24px 24px;
}

.bf-seat-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    text-align: center;
    padding: 16px 12px;
    border: 1px solid var(--bf-border);
    border-radius: 8px;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.bf-seat-item:hover {
    border-color: rgba(9, 175, 238, 0.4);
}

.bf-seat-icon {
    font-size: 28px;
    color: var(--bf-primary);
}

.bf-seat-name {
    font-size: 14px;
    font-weight: 700;
    color: var(--bf-text);
}

.bf-seat-hint {
    font-size: 12px;
    color: var(--bf-muted);
}

.bf-seat-stepper {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
}

.bf-seat-btn {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 1.5px solid rgba(9, 175, 238, 0.55);
    background: var(--bf-white);
    color: var(--bf-primary-dark);
    font-size: 17px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}

.bf-seat-btn:hover {
    background: var(--bf-primary);
    color: var(--bf-white);
}

.bf-seat-count {
    min-width: 22px;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    color: var(--bf-text);
}

.bf-optional-tag {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    color: var(--bf-muted);
    background: var(--bf-bg);
    border: 1px solid var(--bf-border);
    border-radius: 4px;
    padding: 2px 8px;
    margin-left: 8px;
    vertical-align: 2px;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.bf-form-group textarea {
    height: auto;
    min-height: 84px;
    padding: 10px 14px;
    resize: vertical;
    font-family: inherit;
}

@media (max-width: 640px) {
    .bf-form-card > .bf-seat-grid {
        grid-template-columns: 1fr;
    }
}

/* ── Currently selected vehicle highlight ── */
.bf-vcard--current {
    border: 2px solid var(--bf-green);
    box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.12);
}

.bf-tag--green {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    background: #d1fae5;
    color: #065f46;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 4px;
}

/* ── Booking summary review list (confirmation) ── */
.bf-form-card > .bf-form-intro,
.bf-form-card > .bf-review-list {
    padding-left: 24px;
    padding-right: 24px;
}

.bf-form-card > .bf-review-total {
    margin-left: 24px;
    margin-right: 24px;
    margin-bottom: 24px;
}

.bf-review-list {
    display: flex;
    flex-direction: column;
    margin-top: 4px;
}

.bf-review-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid var(--bf-border);
}

.bf-review-row:last-child {
    border-bottom: 0;
}

.bf-review-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.bf-review-label {
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--bf-muted);
}

.bf-review-value {
    font-size: 15px;
    font-weight: 700;
    color: var(--bf-text);
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    line-height: 1.4;
}

.bf-review-arrow {
    color: var(--bf-primary);
    font-size: 16px;
    flex-shrink: 0;
}

.bf-review-sub {
    font-size: 13.5px;
    color: var(--bf-muted);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.bf-review-edit {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    font-weight: 700;
    color: var(--bf-primary);
    padding: 7px 14px;
    border: 1px solid rgba(9, 175, 238, 0.35);
    border-radius: 6px;
    white-space: nowrap;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.bf-review-edit:hover {
    background: var(--bf-primary);
    border-color: var(--bf-primary);
    color: var(--bf-white);
}

.bf-review-edit--accent {
    background: rgba(9, 175, 238, 0.08);
}

.bf-review-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 18px;
    padding: 16px 20px;
    background: rgba(9, 175, 238, 0.07);
    border: 1px solid rgba(9, 175, 238, 0.25);
    border-radius: 8px;
}

.bf-review-total__text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.bf-review-total__label {
    font-size: 14px;
    font-weight: 700;
    color: var(--bf-text);
}

.bf-review-total__note {
    font-size: 12.5px;
    color: var(--bf-muted);
}

.bf-review-total__amount {
    font-family: var(--bf-font-h);
    font-size: 24px;
    font-weight: 800;
    color: var(--bf-navy);
    white-space: nowrap;
}

.bf-banner--warning .bf-price-old {
    color: var(--bf-muted);
    margin: 0 4px;
}

.bf-banner--warning .bf-price-new {
    color: var(--bf-text);
    font-size: 15px;
    margin-left: 4px;
}

@media (max-width: 640px) {
    .bf-review-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .bf-review-edit {
        align-self: flex-end;
    }
}

/* Checkbox */
.bf-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 0 24px;
    margin-bottom: 16px;
    cursor: pointer;
    font-size: 14px;
    color: var(--bf-text);
}

.bf-checkbox input[type="checkbox"] {
    width: 18px; height: 18px;
    margin-top: 2px;
    flex-shrink: 0;
    accent-color: var(--bf-primary);
}

.bf-checkbox a { color: var(--bf-primary); text-decoration: underline; }

/* Radio */
.bf-radio {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 24px;
    cursor: pointer;
    font-size: 14px;
    color: var(--bf-text);
    border-bottom: 1px solid var(--bf-border);
}

.bf-radio:last-child { border-bottom: none; }

.bf-radio input[type="radio"] {
    width: 18px; height: 18px;
    margin-top: 2px;
    flex-shrink: 0;
    accent-color: var(--bf-primary);
}

.bf-radio__desc {
    font-size: 13px;
    color: var(--bf-muted);
}

/* Transfer sections */
.bf-transfer-header {
    background: var(--bf-navy);
    color: var(--bf-white);
    padding: 12px 24px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.bf-transfer-body {
    padding: 24px;
}

.bf-transfer-from,
.bf-transfer-to {
    margin-bottom: 16px;
}

.bf-transfer-label {
    font-size: 13px;
    color: var(--bf-muted);
    display: block;
    margin-bottom: 2px;
}

.bf-transfer-body .bf-form-row {
    padding: 0;
}

.bf-transfer-body .bf-form-group {
    padding: 0;
}

.bf-transfer-divider {
    border-top: 1px solid var(--bf-border);
    margin: 20px 0;
}

.bf-flight-time {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}

.bf-flight-time__date,
.bf-flight-time__time {
    color: var(--bf-primary);
    font-weight: 700;
    text-decoration: underline;
}

/* Return section */
.bf-return-body {
    padding: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.bf-return-body span {
    font-size: 14px;
    color: var(--bf-text);
}

.bf-return-btn {
    padding: 10px 28px;
    background: var(--bf-primary);
    color: var(--bf-white);
    border-radius: 6px;
    font-family: var(--bf-font-h);
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
    transition: background .2s;
}
.bf-return-btn:hover { background: var(--bf-primary-dark); }

/* Navigation */
.bf-form-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 8px;
}

.bf-form-nav__back {
    font-size: 14px;
    font-weight: 700;
    color: var(--bf-muted);
    display: flex; align-items: center; gap: 4px;
}
.bf-form-nav__back:hover { color: var(--bf-navy); }

.bf-form-nav__continue {
    padding: 12px 48px;
    background: var(--bf-primary);
    color: var(--bf-white);
    border-radius: 6px;
    font-family: var(--bf-font-h);
    font-size: 15px;
    font-weight: 700;
    transition: background .2s;
}
.bf-form-nav__continue:hover { background: var(--bf-primary-dark); }

.bf-form-nav__continue:disabled,
.bf-form-nav__continue--loading {
    background: var(--bf-primary);
    opacity: 0.65;
    cursor: wait;
    pointer-events: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.bf-form-nav__continue .bh-spinner {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 0;
    border: 2.5px solid rgba(255, 255, 255, 0.4);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: bh-spin 0.7s linear infinite;
    flex-shrink: 0;
}

@keyframes bh-spin {
    to { transform: rotate(360deg); }
}

/* ==========================================================================
   FOOTER (booking flow)
   ========================================================================== */
.bf-footer {
    background: var(--bf-bg);
    border-top: 1px solid var(--bf-border);
    padding: 20px 0;
    text-align: center;
    margin-top: auto;
}

.bf-footer p {
    font-size: 13px;
    color: var(--bf-muted);
}

.bf-footer a { color: var(--bf-primary); text-decoration: underline; }

/* Chat bubble */
.bf-chat-bubble {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 56px; height: 56px;
    border-radius: 50%;
    background: var(--bf-primary);
    color: var(--bf-white);
    font-size: 26px;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 4px 16px rgba(9,175,238,0.4);
    z-index: 1000;
    transition: transform .2s, box-shadow .2s;
}
.bf-chat-bubble:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 24px rgba(9,175,238,0.5);
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1024px) {
    .bf-layout {
        grid-template-columns: 1fr;
    }
    .bf-sidebar { order: -1; }
    .bf-trust-strip__inner { flex-wrap: wrap; gap: 12px; }
}

/* ==========================================================================
   EXTRAS PAGE — Step 2
   ========================================================================== */
.bf-extras-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.bf-extra-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px 24px;
    border-bottom: 1px solid var(--bf-border);
}

.bf-extra-item:last-of-type { border-bottom: none; }

.bf-extra-item__icon {
    width: 48px; height: 48px;
    border-radius: 8px;
    background: #fef3cd;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.bf-extra-item__icon i {
    font-size: 24px;
    color: #b45309;
}

.bf-extra-item__body {
    flex: 1;
    min-width: 0;
}

.bf-extra-item__title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 4px;
    flex-wrap: wrap;
}

.bf-extra-item__title strong {
    font-family: var(--bf-font-h);
    font-size: 16px;
    font-weight: 700;
    color: var(--bf-navy);
}

.bf-extra-item__price-badge {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 12px;
    background: var(--bf-green);
    color: var(--bf-white);
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.bf-extra-item__body > p {
    font-size: 14px;
    color: var(--bf-muted);
    line-height: 1.5;
}

.bf-extra-item__qty {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    flex-shrink: 0;
}

.bf-extra-item__direction {
    font-size: 12px;
    font-weight: 700;
    color: var(--bf-muted);
    text-transform: uppercase;
}

.bf-qty-selector {
    display: flex;
    align-items: center;
    border: 1px solid var(--bf-border);
    border-radius: 6px;
    overflow: hidden;
    background: var(--bf-white);
}

.bf-qty-input {
    width: 40px;
    height: 36px;
    border: none;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    color: var(--bf-navy);
    outline: none;
    -moz-appearance: textfield;
    background: var(--bf-white);
}

.bf-qty-input::-webkit-outer-spin-button,
.bf-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.bf-qty-arrow {
    width: 32px;
    height: 36px;
    background: var(--bf-primary);
    color: var(--bf-white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    border-left: 1px solid var(--bf-border);
    transition: background .2s;
}

.bf-qty-arrow:hover { background: var(--bf-primary-dark); }

/* ==========================================================================
   CONFIRMATION PAGE — Step 4
   ========================================================================== */
.bf-confirm-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.bf-checkbox--highlight {
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 6px;
    padding: 14px 24px !important;
    margin: 0 24px 16px !important;
}

.bf-link-inline {
    color: var(--bf-primary);
    text-decoration: underline;
    font-weight: 600;
}
.bf-link-inline:hover { color: var(--bf-primary-dark); }

/* Price breakdown */
.bf-price-breakdown {
    padding: 0 24px 24px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.bf-price-breakdown__info p {
    font-size: 14px;
    color: var(--bf-text);
    margin-bottom: 8px;
}

.bf-price-breakdown__note {
    font-size: 13px !important;
    color: var(--bf-muted) !important;
    line-height: 1.6;
}

.bf-price-breakdown__table {
    border: 1px solid var(--bf-border);
    border-radius: 6px;
    overflow: hidden;
}

.bf-price-row {
    display: flex;
    justify-content: space-between;
    padding: 10px 16px;
    font-size: 14px;
    border-bottom: 1px solid var(--bf-border);
}

.bf-price-row:last-child { border-bottom: none; }

.bf-price-row span:last-child {
    font-weight: 700;
    white-space: nowrap;
}

.bf-price-row--total {
    background: #f9fafb;
    font-weight: 700;
}

.bf-price-row--total span {
    color: var(--bf-primary) !important;
    font-weight: 800 !important;
}

/* ==========================================================================
   PAYMENT PAGE — Step 5
   ========================================================================== */
.bf-payment-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Total price card */
.bf-total-price-card {
    padding: 24px !important;
}

.bf-total-price-card h2 {
    padding: 0 !important;
    margin-bottom: 0 !important;
}

.bf-total-price-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.bf-total-price-amount {
    text-align: right;
}

.bf-total-price__value {
    display: block;
    font-family: var(--bf-font-h);
    font-size: 36px;
    font-weight: 800;
    color: var(--bf-navy);
    line-height: 1.1;
}

.bf-total-price__note {
    font-size: 13px;
    color: var(--bf-muted);
}

/* Payment card */
.bf-payment-card {
    overflow: visible;
}

.bf-payment-card__header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 20px 24px;
    border-bottom: 1px solid var(--bf-border);
}

.bf-payment-card__header i {
    font-size: 22px;
    color: var(--bf-primary);
}

.bf-payment-card__header h2 {
    padding: 0 !important;
    margin-bottom: 0 !important;
    font-size: 17px !important;
}

/* Payment options */
.bf-payment-option {
    border-bottom: 1px solid var(--bf-border);
}

.bf-payment-option:last-of-type { border-bottom: none; }

.bf-payment-option__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 24px;
    cursor: pointer;
}

.bf-payment-radio {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-size: 15px;
}

.bf-payment-radio input[type="radio"] {
    width: 20px; height: 20px;
    accent-color: var(--bf-green);
    flex-shrink: 0;
}

.bf-payment-brand-icon {
    font-family: var(--bf-font-h);
    font-size: 14px;
    font-weight: 700;
    color: var(--bf-navy);
    background: #f3f4f6;
    padding: 4px 10px;
    border-radius: 4px;
}

/* Credit card body */
.bf-payment-option__body {
    padding: 0 24px 20px;
    border: 2px solid var(--bf-green);
    border-top: none;
    border-radius: 0 0 8px 8px;
    margin: 0 24px 16px;
    padding-top: 16px;
}

.bf-payment-hint {
    font-size: 13px;
    color: var(--bf-muted);
    margin-bottom: 16px;
}

.bf-form-group--payment {
    padding: 0 !important;
    margin-bottom: 14px !important;
}

.bf-form-group--payment label {
    font-size: 13px !important;
    font-weight: 700;
    color: var(--bf-navy);
    margin-bottom: 6px !important;
}

.bf-form-group--payment input {
    height: 44px;
    padding: 0 14px;
    border: 1px solid var(--bf-border);
    border-radius: 6px;
    font-size: 14px;
    color: var(--bf-text);
    width: 100%;
    outline: none;
    transition: border-color .2s;
}

.bf-form-group--payment input:focus {
    border-color: var(--bf-green);
    box-shadow: 0 0 0 2px rgba(40,167,69,0.15);
}

.bf-card-input-wrap {
    position: relative;
}

.bf-card-input-wrap input {
    padding-right: 80px !important;
}

.bf-card-icons {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    gap: 4px;
    font-size: 22px;
}

.bf-card-input-icon {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
    color: var(--bf-muted);
}

.bf-form-row--payment {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    padding: 0 !important;
    margin-bottom: 0 !important;
}

/* Pay now button */
.bf-payment-card__footer {
    padding: 16px 24px 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}

.bf-pay-btn {
    padding: 14px 48px;
    background: var(--bf-green);
    color: var(--bf-white);
    border-radius: 6px;
    font-family: var(--bf-font-h);
    font-size: 16px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: background .2s;
}

.bf-pay-btn:hover { background: #219a38; }

.bf-payment-powered {
    font-size: 12px;
    color: var(--bf-muted);
}

.bf-payment-powered strong {
    font-family: var(--bf-font-h);
    font-size: 16px;
    color: var(--bf-navy);
    letter-spacing: 1px;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 768px) {
    .bf-header__nav { display: none; }
    .bf-header__mobile-btn { display: block; }
    .bf-header__mobile-alert { display: inline-flex; }
    .bf-header__inner {
        display: grid;
        grid-template-columns: 46px 1fr 46px;
        align-items: center;
        padding: 10px 16px;
        gap: 10px;
        height: 60px;
    }
    .bf-header__mobile-btn {
        grid-column: 1;
        grid-row: 1;
        justify-self: start;
    }
    .bf-header__logo {
        grid-column: 2;
        grid-row: 1;
        justify-self: center;
        margin-right: 0;
        padding-bottom: 0;
    }
    .bf-header__logo .ls-brand-logo {
        height: 26px;
        width: auto;
    }
    .bf-header__mobile-alert {
        grid-column: 3;
        grid-row: 1;
        justify-self: end;
    }

    .bf-vcard {
        grid-template-columns: 1fr;
    }

    .bf-vcard__left {
        flex-direction: row;
        justify-content: center;
        padding: 16px;
        border-bottom: 1px solid var(--bf-border);
    }

    .bf-vcard__center {
        border-left: none;
        border-right: none;
        padding: 16px;
        border-bottom: 1px solid var(--bf-border);
    }

    .bf-vcard__right {
        align-items: center;
        text-align: center;
        padding: 16px;
    }

    .bf-vcard__select-btn { width: 100%; }

    .bf-form-row { grid-template-columns: 1fr; }
    .bf-phone-row { grid-template-columns: 1fr; }
    .bf-phone-prefix { max-width: none; }

    .bf-return-body { flex-direction: column; align-items: stretch; }
    .bf-return-btn { text-align: center; }

    .bf-profile-guest {
        padding: 14px 0 88px;
    }

    .bf-profile-guest__container {
        padding: 0 12px;
    }

    .bf-profile-guest__hero {
        border-radius: 18px;
        padding: 20px 16px 18px;
    }

    .bf-profile-guest__icon {
        width: 72px;
        height: 72px;
        margin-bottom: 12px;
        border-radius: 22px;
    }

    .bf-profile-guest__icon i {
        font-size: 32px;
    }

    .bf-profile-guest__eyebrow {
        margin-bottom: 8px;
        padding: 5px 10px;
        font-size: 10px;
    }

    .bf-profile-guest__hero h1 {
        font-size: 24px;
        line-height: 1.12;
        margin-bottom: 8px;
    }

    .bf-profile-guest__hero p {
        margin-bottom: 14px;
        max-width: 280px;
        font-size: 13px;
    }

    .bf-profile-guest__cta {
        width: 100%;
        min-width: 0;
        min-height: 48px;
        font-size: 16px;
    }

    .bf-profile-guest__benefits {
        gap: 10px;
        margin-top: 14px;
    }

    .bf-profile-guest__benefit {
        gap: 12px;
        padding: 14px;
        border-radius: 16px;
    }

    .bf-profile-guest__benefit > i {
        flex: 0 0 38px;
        width: 38px;
        height: 38px;
        border-radius: 12px;
        font-size: 18px;
    }

    .bf-profile-guest__benefit strong {
        font-size: 14px;
    }

    .bf-profile-guest__benefit span {
        font-size: 12px;
    }

    .bf-stepper__label { font-size: 9px; }
    .bf-stepper__num { width: 28px; height: 28px; font-size: 12px; }

    .bf-trust-strip { display: none; }

    .bf-price-breakdown { grid-template-columns: 1fr; }

    .bf-total-price-row { flex-direction: column; gap: 12px; }

    .bf-payment-option__body { margin: 0 12px 12px; }

    .bf-form-row--payment { grid-template-columns: 1fr; }

    .bf-payment-card__footer { align-items: stretch; }
    .bf-pay-btn { justify-content: center; width: 100%; }
}

/* ==========================================================================
   VEHICLES PAGE — Suntransfers style overrides
   ========================================================================== */
.bh-booking-flow--vehicles {
    background: #f7f7f3;
}

.bh-booking-flow--vehicles .bf-container,
.bh-booking-flow--vehicles .bf-header__inner,
.bh-booking-flow--vehicles .bf-trust-strip__inner {
    max-width: 1260px;
}

.bh-booking-flow--vehicles .bf-header {
    border-bottom: 1px solid #e6e8eb;
    box-shadow: 0 1px 8px rgba(15, 23, 42, 0.06);
}

.bh-booking-flow--vehicles .bf-trust-strip {
    background: #fff;
    padding: 10px 0;
    border-top: 2px solid #f7c739;
    border-bottom: 1px solid #edf0f3;
}

.bh-booking-flow--vehicles .bf-trust-strip__inner {
    gap: 28px;
}

.bh-booking-flow--vehicles .bf-trust-item {
    min-width: 0;
}

.bh-booking-flow--vehicles .bf-trust-item i {
    color: #12a9e3;
}

.bh-booking-flow--vehicles .bf-stepper {
    background: transparent;
    border-bottom: 0;
    padding: 18px 0 16px;
}

.bh-booking-flow--vehicles .bf-stepper__inner {
    max-width: 840px;
}

.bh-booking-flow--vehicles .bf-stepper__num {
    width: 36px;
    height: 36px;
    font-size: 15px;
    border: 2px solid #c5ced8;
    background: #eef2f6;
    color: #6f7b88;
}

.bh-booking-flow--vehicles .bf-stepper__step--active .bf-stepper__num {
    background: #20ace8;
    border-color: #20ace8;
    color: #ffffff;
}

.bh-booking-flow--vehicles .bf-stepper__step--done .bf-stepper__num {
    background: #19c76a;
    border-color: #19c76a;
    color: #ffffff;
}

.bh-booking-flow--vehicles .bf-stepper__label {
    font-size: 10px;
    color: #7b8793;
}

.bh-booking-flow--vehicles .bf-stepper__step--active .bf-stepper__label {
    color: #1f2f3d;
}

.bh-booking-flow--vehicles .bf-stepper__step--done .bf-stepper__label {
    color: #2d9f61;
}

.bh-booking-flow--vehicles .bf-stepper__line {
    height: 1px;
    background: #cfd7e0;
    margin-bottom: 24px;
}

.bh-booking-flow--vehicles .bf-stepper__line--done {
    background: #8fe0b3;
}

.bh-booking-flow--vehicles .bf-main {
    padding: 10px 0 48px;
}

.bh-booking-flow--vehicles .bf-layout {
    grid-template-columns: 252px minmax(0, 1fr);
    gap: 24px;
}

.bh-booking-flow--vehicles .bf-banner {
    border: 1px solid #73cf83;
    background: #ebfaef;
    color: #13a538;
    border-radius: 4px;
    padding: 10px 16px;
    box-shadow: none;
}

.bh-booking-flow--vehicles .bf-sidebar {
    gap: 14px;
}

.bh-booking-flow--vehicles .bf-sidebar__search {
    position: relative;
    background: linear-gradient(180deg, var(--bf-primary) 0%, var(--bf-primary-dark) 100%);
    border: 1px solid var(--bf-primary-dark);
    border-radius: 4px;
    padding: 8px;
    box-shadow: none;
    gap: 6px;
}

.bh-booking-flow--vehicles .bf-search-field {
    min-height: 44px;
    padding: 7px 10px;
    background: #fff;
    border: 1px solid #d7dde4;
    border-radius: 3px;
    gap: 8px;
}

.bh-booking-flow--vehicles .bf-search-field__label {
    font-size: 11px;
    font-weight: 700;
    color: #59636f;
    text-transform: none;
    letter-spacing: 0;
}

.bh-booking-flow--vehicles .bf-search-field__input,
.bh-booking-flow--vehicles .bf-search-field__select {
    font-size: 14px;
    font-weight: 600;
    color: #2a3642;
}

.bh-booking-flow--vehicles .bf-search-field__icon {
    width: auto;
    height: auto;
    border-radius: 0;
    background: transparent;
}

.bh-booking-flow--vehicles .bf-icon--green,
.bh-booking-flow--vehicles .bf-icon--red,
.bh-booking-flow--vehicles .bf-search-field--compact > i {
    color: #56606b;
}

.bh-booking-flow--vehicles .bf-search-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 6px;
}

.bh-booking-flow--vehicles .bf-search-field--compact {
    min-height: 50px;
}

.bh-booking-flow--vehicles .bf-search-btn {
    height: 42px;
    border-radius: 3px;
    background: linear-gradient(180deg, #1ad62b 0%, #0fc326 100%);
    box-shadow: inset 0 -3px 0 rgba(8, 133, 25, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.bh-booking-flow--vehicles .bf-search-btn:hover {
    background: linear-gradient(180deg, #16c827 0%, #0aae21 100%);
}

.bh-booking-flow--vehicles .bf-swap-btn {
    position: absolute;
    right: 12px;
    top: 48px;
    width: 36px;
    height: 36px;
    margin: 0;
    background: #fff;
    color: #14a9e5;
    border: 2px solid #2ab4eb;
    box-shadow: 0 8px 18px rgba(20, 169, 229, 0.16);
}

.bh-booking-flow--vehicles .bf-swap-btn:hover {
    transform: rotate(180deg);
}

.bh-booking-flow--vehicles .bf-sidebar__card,
.bh-booking-flow--vehicles .bf-sidebar__route {
    border: 1px solid #dbe2e8;
    border-radius: 4px;
    box-shadow: none;
}

.bh-booking-flow--vehicles .bf-sidebar__card {
    border-top: 3px solid #21afe8;
    padding: 12px 14px;
}

.bh-booking-flow--vehicles .bf-sidebar__card-icon {
    width: 34px;
    height: 34px;
    background: #26b3ea;
}

.bh-booking-flow--vehicles .bf-sidebar__route h4 {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e4e9ef;
}

.bh-booking-flow--vehicles .bf-sidebar__badge {
    background: #fff;
    border: 1px solid #55d4c8;
    border-radius: 4px;
    padding: 10px 12px;
}

.bh-booking-flow--vehicles .bf-sidebar__badge i {
    color: #00b69a;
}

.bh-booking-flow--vehicles .bf-vehicle-list {
    gap: 14px;
}

.bh-booking-flow--vehicles .bf-vcard {
    grid-template-columns: 132px minmax(0, 1fr) 216px;
    border: 1px solid #d9e0e5;
    border-left: 4px solid #19b5ee;
    border-radius: 4px;
    box-shadow: none;
}

.bh-booking-flow--vehicles .bf-vcard:hover {
    box-shadow: 0 8px 26px rgba(15, 23, 42, 0.08);
}

.bh-booking-flow--vehicles .bf-vcard--neutral {
    border-left-color: #bfc9d0;
}

.bh-booking-flow--vehicles .bf-vcard--sky {
    border-left-color: #20b5f2;
}

.bh-booking-flow--vehicles .bf-vcard--pink {
    border-left-color: #ef4c78;
}

.bh-booking-flow--vehicles .bf-vcard__left {
    align-items: flex-start;
    padding: 16px 12px 12px;
    gap: 8px;
}

.bh-booking-flow--vehicles .bf-vcard__img {
    width: 104px;
    height: 72px;
    border: 1px solid #d7dde4;
    border-radius: 4px;
    background: linear-gradient(180deg, #fdfefe 0%, #edf3f7 100%);
    box-shadow: inset 0 -6px 12px rgba(203, 213, 225, 0.28);
}

.bh-booking-flow--vehicles .bf-vcard__img i {
    font-size: 42px;
    color: #5b6570;
    opacity: 0.9;
}

.bh-booking-flow--vehicles .bf-vcard__img--premium i {
    color: #374151;
}

.bh-booking-flow--vehicles .bf-stars {
    gap: 0;
}

.bh-booking-flow--vehicles .bf-review-count {
    margin-top: 4px;
}

.bh-booking-flow--vehicles .bf-vcard__center {
    padding: 14px 18px;
    border-left: 0;
    border-right: 1px dashed #dbe2e8;
}

.bh-booking-flow--vehicles .bf-vcard__title-row {
    margin-bottom: 8px;
    gap: 8px;
}

.bh-booking-flow--vehicles .bf-vcard__title-row h3 {
    font-size: 19px;
    color: #313b47;
}

.bh-booking-flow--vehicles .bf-vcard__tag {
    font-size: 9px;
    padding: 2px 7px;
    border-radius: 3px;
}

.bh-booking-flow--vehicles .bf-tag--blue {
    background: #f6c94b;
    color: #72510c;
}

.bh-booking-flow--vehicles .bf-tag--orange {
    background: #ef4c78;
    color: #fff;
}

.bh-booking-flow--vehicles .bf-tag--slate {
    background: #eef0f2;
    color: #5d6570;
}

.bh-booking-flow--vehicles .bf-vcard__specs,
.bh-booking-flow--vehicles .bf-vcard__details {
    gap: 14px 18px;
}

.bh-booking-flow--vehicles .bf-vcard__specs span,
.bh-booking-flow--vehicles .bf-vcard__details span {
    font-size: 13px;
    color: #4a5562;
}

.bh-booking-flow--vehicles .bf-vcard__specs i,
.bh-booking-flow--vehicles .bf-vcard__details i {
    color: #18a9e2;
}

.bh-booking-flow--vehicles .bf-highlights-toggle {
    padding: 4px 10px;
    font-size: 12px;
    color: #2494c3;
    border-color: #b9deec;
    border-radius: 3px;
}

.bh-booking-flow--vehicles .bf-vcard__right {
    align-items: center;
    text-align: center;
    padding: 14px 16px;
    gap: 5px;
}

.bh-booking-flow--vehicles .bf-vcard__price-label {
    font-size: 12px;
}

.bh-booking-flow--vehicles .bf-vcard__price {
    font-size: 24px;
    color: #2f3c47;
}

.bh-booking-flow--vehicles .bf-vcard__free,
.bh-booking-flow--vehicles .bf-vcard__nohidden {
    justify-content: center;
    width: 100%;
    font-size: 13px;
}

.bh-booking-flow--vehicles .bf-vcard__select-btn {
    width: 100%;
    margin-top: 10px;
    padding: 11px 18px;
    border-radius: 3px;
    background: linear-gradient(180deg, #1ad62b 0%, #0fc326 100%);
    box-shadow: inset 0 -3px 0 rgba(8, 133, 25, 0.52);
}

.bh-booking-flow--vehicles .bf-vcard__select-btn:hover {
    background: linear-gradient(180deg, #16c827 0%, #0aae21 100%);
}

.bh-booking-flow--vehicles .bf-guarantee {
    border: 1px solid #d8e9f2;
    border-radius: 4px;
    padding: 14px 18px;
    box-shadow: none;
    background: linear-gradient(90deg, #fefcf6 0%, #f7fbfe 100%);
}

.bh-booking-flow--vehicles .bf-guarantee__left i {
    color: #f4b72f;
}

.bh-booking-flow--vehicles .bf-guarantee__left strong {
    color: #2494c3;
    font-size: 17px;
}

.bh-booking-flow--vehicles .bf-guarantee__arrow {
    color: #1ba9e4;
    background: #dff4fd;
}

.bh-booking-flow--vehicles .bf-show-more__btn {
    background: #1aa8e5;
    border-radius: 4px;
    padding: 12px 34px;
}

.bh-booking-flow--vehicles .bf-show-more__btn:hover {
    background: #1292c9;
}

.bh-booking-flow--vehicles .bf-footer {
    background: #f3f0ea;
}

@media (max-width: 1024px) {
    .bh-booking-flow--vehicles .bf-layout {
        grid-template-columns: 1fr;
    }

    .bh-booking-flow--vehicles .bf-sidebar {
        order: 2;
    }

    .bh-booking-flow--vehicles .bf-vehicle-list {
        order: 1;
    }

    .bh-booking-flow--vehicles .bf-sidebar__search {
        display: none;
    }

    .bh-booking-flow--vehicles .bf-trust-strip__inner {
        flex-wrap: wrap;
    }
}

@media (max-width: 768px) {
    .bh-booking-flow--vehicles .bf-search-row {
        grid-template-columns: 1fr;
    }

    .bh-booking-flow--vehicles .bf-swap-btn {
        right: 16px;
        top: 52px;
    }

    .bh-booking-flow--vehicles .bf-vcard {
        grid-template-columns: 1fr;
    }

    .bh-booking-flow--vehicles .bf-vcard__left {
        align-items: center;
    }

    .bh-booking-flow--vehicles .bf-vcard__center {
        border-right: 0;
        border-top: 1px solid #dbe2e8;
        border-bottom: 1px solid #dbe2e8;
    }
}

/* ==========================================================================
   EXTRAS PAGE — Suntransfers style overrides
   ========================================================================== */
.bh-booking-flow--extras .bf-sidebar__summary {
    border: 1px solid #dbe2e8;
    border-radius: 0;
    box-shadow: none;
    background: #fff;
}

.bh-booking-flow--extras .bf-summary-header {
    background: linear-gradient(180deg, #ffd558 0%, #f7c63a 100%);
    color: #3e3e3e;
    padding: 13px 14px;
    font-size: 16px;
}

.bh-booking-flow--extras .bf-summary-section {
    padding: 14px 14px 12px;
}

.bh-booking-flow--extras .bf-summary-section h5 {
    font-size: 16px;
    margin-bottom: 12px;
}

.bh-booking-flow--extras .bf-summary-row {
    gap: 10px;
    margin-bottom: 12px;
    align-items: flex-start;
}

.bh-booking-flow--extras .bf-summary-row i {
    color: #b0b5bc;
    margin-top: 1px;
}

.bh-booking-flow--extras .bf-summary-label {
    font-size: 11px;
    color: #9ba3ad;
}

.bh-booking-flow--extras .bf-summary-value {
    font-size: 14px;
    font-weight: 600;
    color: #404853;
    line-height: 1.45;
}

.bh-booking-flow--extras .bf-summary-price {
    padding: 12px 14px 16px;
    border-top: 1px solid #ebeff3;
}

.bh-booking-flow--extras .bf-summary-price__amount {
    font-size: 28px;
}

.bh-booking-flow--extras .bf-extras-content {
    gap: 16px;
}

.bh-booking-flow--extras .bf-form-card--extras {
    border: 1px solid #dbe2e8;
    border-radius: 0;
    box-shadow: none;
}

.bh-booking-flow--extras .bf-form-card--extras > h2 {
    padding: 12px 14px;
    margin: 0;
    border-bottom: 1px solid #dbe2e8;
    font-size: 16px;
}

.bh-booking-flow--extras .bf-extra-item {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: start;
    gap: 14px;
    padding: 16px 18px;
}

.bh-booking-flow--extras .bf-extra-item__icon {
    width: 38px;
    height: 38px;
    background: transparent;
    border-radius: 0;
    padding-top: 2px;
}

.bh-booking-flow--extras .bf-extra-item__icon i {
    font-size: 34px;
    color: #1dade8;
}

.bh-booking-flow--extras .bf-extra-item__title {
    gap: 8px;
}

.bh-booking-flow--extras .bf-extra-item__title strong {
    font-size: 15px;
    color: #3b4651;
}

.bh-booking-flow--extras .bf-extra-item__price-badge {
    padding: 2px 8px;
    border-radius: 12px;
    background: #effcf0;
    border: 1px solid #7bd388;
    color: #2ca33a;
}

.bh-booking-flow--extras .bf-extra-item__body > p {
    color: #55606c;
    margin-top: 6px;
    max-width: 620px;
}

.bh-booking-flow--extras .bf-extra-item__qty-group {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.bh-booking-flow--extras .bf-extra-item__qty {
    gap: 4px;
}

.bh-booking-flow--extras .bf-extra-item__direction {
    font-size: 12px;
    color: #4c5661;
    text-transform: none;
}

.bh-booking-flow--extras .bf-qty-selector {
    border: 1px solid #d1d8e2;
    border-radius: 3px;
    overflow: hidden;
}

.bh-booking-flow--extras .bf-qty-input {
    width: 34px;
    height: 28px;
    font-size: 14px;
}

.bh-booking-flow--extras .bf-qty-arrow {
    width: 28px;
    height: 28px;
    background: #1ba8e5;
}

.bh-booking-flow--extras .bf-form-nav--extras {
    padding-top: 0;
}

.bh-booking-flow--extras .bf-form-nav__back {
    font-size: 15px;
    color: #5b6470;
}

.bh-booking-flow--extras .bf-form-nav__continue {
    min-width: 205px;
    text-align: center;
    border-radius: 3px;
    background: linear-gradient(180deg, #1ad62b 0%, #0fc326 100%);
    box-shadow: inset 0 -3px 0 rgba(8, 133, 25, 0.52);
}

.bh-booking-flow--extras .bf-form-nav__continue:hover {
    background: linear-gradient(180deg, #16c827 0%, #0aae21 100%);
}

@media (max-width: 768px) {
    .bh-booking-flow--extras .bf-extra-item {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .bh-booking-flow--extras .bf-extra-item__qty-group {
        flex-wrap: wrap;
        gap: 10px;
    }

    .bh-booking-flow--extras .bf-form-nav--extras {
        flex-direction: column-reverse;
        align-items: stretch;
        gap: 12px;
    }

    .bh-booking-flow--extras .bf-form-nav__continue {
        width: 100%;
    }
}

/* ==========================================================================
   PASSENGERS PAGE — Suntransfers style overrides
   ========================================================================== */
.bh-booking-flow--passengers {
    background: #f7f7f3;
}

.bh-booking-flow--passengers .bf-container,
.bh-booking-flow--passengers .bf-header__inner,
.bh-booking-flow--passengers .bf-trust-strip__inner {
    max-width: 1180px;
}

.bh-booking-flow--passengers .bf-header {
    border-bottom: 1px solid #e6e8eb;
    box-shadow: 0 1px 8px rgba(15, 23, 42, 0.06);
}

.bh-booking-flow--passengers .bf-trust-strip {
    background: #fff;
    padding: 10px 0;
    border-top: 2px solid #f7c739;
    border-bottom: 1px solid #edf0f3;
}

.bh-booking-flow--passengers .bf-stepper {
    background: transparent;
    border-bottom: 0;
    padding: 18px 0 16px;
}

.bh-booking-flow--passengers .bf-stepper__inner {
    max-width: 900px;
}

.bh-booking-flow--passengers .bf-stepper__num {
    width: 36px;
    height: 36px;
    font-size: 15px;
    border: 2px solid #d9dfe5;
    background: #f2f3f5;
    color: #a0a8b0;
}

.bh-booking-flow--passengers .bf-stepper__step--active .bf-stepper__num,
.bh-booking-flow--passengers .bf-stepper__step--done .bf-stepper__num {
    background: #20ace8;
    border-color: #20ace8;
    color: #fff;
}

.bh-booking-flow--passengers .bf-stepper__label {
    font-size: 10px;
    color: #b0b7bf;
}

.bh-booking-flow--passengers .bf-stepper__step--active .bf-stepper__label {
    color: #343b43;
}

.bh-booking-flow--passengers .bf-stepper__step--done .bf-stepper__label {
    color: #78838e;
}

.bh-booking-flow--passengers .bf-stepper__line {
    height: 1px;
    margin: 0 8px 22px;
    background: #d9dfe5;
}

.bh-booking-flow--passengers .bf-stepper__line--done {
    background: #20ace8;
}

.bh-booking-flow--passengers .bf-main {
    padding-top: 8px;
}

.bh-booking-flow--passengers .bf-layout {
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 32px;
}

.bh-booking-flow--passengers .bf-banner {
    margin-bottom: 18px;
    padding: 14px 18px;
    border: 1px solid #bfe7c3;
    border-left: 5px solid #16c24a;
    border-radius: 0;
    background: #eefbf0;
    color: #20a43b;
    box-shadow: none;
}

.bh-booking-flow--passengers .bf-banner i {
    font-size: 24px;
    color: #25b545;
}

.bh-booking-flow--passengers .bf-sidebar__summary {
    border: 1px solid #dbe2e8;
    border-radius: 0;
    box-shadow: none;
    background: #fff;
}

.bh-booking-flow--passengers .bf-summary-header {
    background: linear-gradient(180deg, #ffd558 0%, #f7c63a 100%);
    color: #3e3e3e;
    padding: 13px 14px;
    font-size: 16px;
}

.bh-booking-flow--passengers .bf-summary-section {
    padding: 14px 14px 12px;
}

.bh-booking-flow--passengers .bf-summary-section + .bf-summary-section {
    border-top: 1px solid #edf0f3;
}

.bh-booking-flow--passengers .bf-summary-section h5 {
    margin-bottom: 12px;
    font-size: 15px;
}

.bh-booking-flow--passengers .bf-summary-row {
    gap: 10px;
    margin-bottom: 12px;
    align-items: flex-start;
}

.bh-booking-flow--passengers .bf-summary-row i {
    color: #b0b5bc;
    margin-top: 1px;
}

.bh-booking-flow--passengers .bf-summary-label {
    font-size: 11px;
    color: #9ba3ad;
}

.bh-booking-flow--passengers .bf-summary-value {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.45;
    color: #404853;
}

.bh-booking-flow--passengers .bf-summary-price {
    padding: 12px 14px 16px;
    border-top: 1px solid #ebeff3;
}

.bh-booking-flow--passengers .bf-summary-price__amount {
    font-size: 28px;
}

.bh-booking-flow--passengers .bf-sidebar__card,
.bh-booking-flow--passengers .bf-sidebar__route,
.bh-booking-flow--passengers .bf-sidebar__badge {
    border: 1px solid #dbe2e8;
    border-radius: 0;
    box-shadow: none;
    background: #fff;
}

.bh-booking-flow--passengers .bf-sidebar__card {
    border-top: 3px solid #20ace8;
}

.bh-booking-flow--passengers .bf-sidebar__card-icon {
    box-shadow: none;
}

.bh-booking-flow--passengers .bf-sidebar__badge {
    border-color: #4fd2c6;
}

.bh-booking-flow--passengers .bf-sidebar__badge i {
    color: #73b54a;
}

.bh-booking-flow--passengers .bf-passenger-form {
    gap: 16px;
}

.bh-booking-flow--passengers .bf-form-card {
    border: 1px solid #dbe2e8;
    border-radius: 0;
    box-shadow: none;
    background: #fff;
}

.bh-booking-flow--passengers .bf-form-card > h2 {
    padding: 14px 16px 0;
    margin-bottom: 10px;
    font-size: 17px;
    font-weight: 500;
    color: #39424b;
}

.bh-booking-flow--passengers .bf-form-card > .bf-form-row,
.bh-booking-flow--passengers .bf-form-card > .bf-form-group,
.bh-booking-flow--passengers .bf-form-card > .bf-checkbox,
.bh-booking-flow--passengers .bf-form-card > .bf-radio {
    padding-left: 16px;
    padding-right: 16px;
}

.bh-booking-flow--passengers .bf-form-card > .bf-radio:last-of-type,
.bh-booking-flow--passengers .bf-form-card > .bf-checkbox:last-of-type,
.bh-booking-flow--passengers .bf-form-card > .bf-form-group:last-child {
    padding-bottom: 16px;
}

.bh-booking-flow--passengers .bf-form-intro {
    padding: 0 16px 12px;
    font-size: 13px;
    line-height: 1.45;
    color: #68727d;
}

.bh-booking-flow--passengers .bf-form-intro strong {
    color: #4c545d;
}

.bh-booking-flow--passengers .bf-form-row {
    /* Tüm alanlar (Name/Surname dahil) tek sütun = aynı tam genişlik,
       Email/telefon alanlarıyla aynı. */
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 12px;
    padding: 0 16px;
}

.bh-booking-flow--passengers .bf-form-row .bf-form-group {
    padding: 0;
    margin-bottom: 0;
}

.bh-booking-flow--passengers .bf-form-group {
    padding: 0 16px;
    margin-bottom: 12px;
}

.bh-booking-flow--passengers .bf-form-group label {
    margin-bottom: 5px;
    font-size: 13px;
    color: #4b535c;
}

.bh-booking-flow--passengers .bf-form-hint,
.bh-booking-flow--passengers .bf-form-help-inline {
    font-size: 12px;
    color: #6e7780;
}

.bh-booking-flow--passengers .bf-form-help-inline {
    display: block;
    margin-top: 8px;
}

.bh-booking-flow--passengers .bf-form-help-inline a {
    color: #1d94bd;
}

.bh-booking-flow--passengers .bf-form-group input,
.bh-booking-flow--passengers .bf-form-group select {
    height: 36px;
    padding: 0 11px;
    border: 1px solid #cfd6de;
    border-radius: 0;
    font-size: 13px;
    box-shadow: none;
}

.bh-booking-flow--passengers .bf-checkbox {
    gap: 8px;
    margin-bottom: 12px;
    font-size: 13px;
    color: #49515b;
}

.bh-booking-flow--passengers .bf-checkbox input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin-top: 1px;
}

.bh-booking-flow--passengers .bf-phone-row {
    grid-template-columns: minmax(185px, 235px) minmax(0, 1fr);
}

.bh-booking-flow--passengers .bf-phone-prefix {
    max-width: none;
}

.bh-booking-flow--passengers .bf-radio {
    flex-wrap: wrap;
    gap: 6px 8px;
    padding: 12px 16px;
    border-bottom: 0;
}

.bh-booking-flow--passengers .bf-radio + .bf-radio {
    padding-top: 4px;
}

.bh-booking-flow--passengers .bf-radio__desc {
    width: 100%;
    padding-left: 26px;
    margin-top: -2px;
    font-size: 12px;
    color: #5f6974;
}

.bh-booking-flow--passengers .bf-transfer-header {
    padding: 10px 14px;
    background: #4c493f;
    font-size: 12px;
    font-style: italic;
    font-weight: 500;
    letter-spacing: 0;
}

.bh-booking-flow--passengers .bf-transfer-grid {
    display: grid;
    grid-template-columns: minmax(215px, 0.8fr) minmax(0, 1.2fr);
    gap: 20px 34px;
    padding: 16px 16px 18px;
    align-items: start;
}

.bh-booking-flow--passengers .bf-transfer-grid__summary {
    min-width: 0;
}

.bh-booking-flow--passengers .bf-transfer-grid__summary strong {
    display: block;
    font-family: var(--bf-font-h);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.35;
    color: #3c444c;
}

.bh-booking-flow--passengers .bf-transfer-grid__summary--bottom {
    align-self: end;
}

.bh-booking-flow--passengers .bf-transfer-label {
    margin-bottom: 6px;
    font-size: 13px;
    color: #5f6872;
}

.bh-booking-flow--passengers .bf-transfer-grid__fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 14px 20px;
    min-width: 0;
}

.bh-booking-flow--passengers .bf-transfer-grid__fields--single {
    grid-template-columns: minmax(0, 1fr);
}

.bh-booking-flow--passengers .bf-transfer-grid__fields .bf-form-group {
    padding: 0;
    margin-bottom: 0;
}

.bh-booking-flow--passengers .bf-form-group--span {
    grid-column: 1 / -1;
}

.bh-booking-flow--passengers .bf-flight-time {
    min-height: 36px;
    gap: 6px;
    align-items: center;
    font-size: 13px;
    color: #5b646d;
}

.bh-booking-flow--passengers .bf-flight-time__date,
.bh-booking-flow--passengers .bf-flight-time__time {
    color: #1aa0c7;
    font-weight: 400;
    text-decoration: underline;
    text-decoration-style: dotted;
    text-underline-offset: 5px;
}

.bh-booking-flow--passengers .bf-form-nav {
    padding-top: 2px;
}

.bh-booking-flow--passengers .bf-form-nav__back {
    font-size: 14px;
    font-weight: 500;
    color: #4f5760;
}

.bh-booking-flow--passengers .bf-form-nav__continue {
    min-width: 230px;
    padding: 13px 26px;
    border-radius: 3px;
    background: linear-gradient(180deg, #1ad62b 0%, #0fc326 100%);
    box-shadow: inset 0 -3px 0 rgba(8, 133, 25, 0.52);
    font-size: 17px;
}

.bh-booking-flow--passengers .bf-form-nav__continue:hover {
    background: linear-gradient(180deg, #16c827 0%, #0aae21 100%);
}

.bh-booking-flow--passengers .bf-footer {
    background: #f7f7f3;
}

@media (max-width: 1024px) {
    .bh-booking-flow--passengers .bf-layout {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .bh-booking-flow--passengers .bf-sidebar {
        order: -1;
    }
}

@media (max-width: 768px) {
    .bh-booking-flow--passengers .bf-banner {
        margin-bottom: 14px;
    }

    .bh-booking-flow--passengers .bf-phone-row,
    .bh-booking-flow--passengers .bf-transfer-grid,
    .bh-booking-flow--passengers .bf-transfer-grid__fields {
        grid-template-columns: 1fr;
    }

    .bh-booking-flow--passengers .bf-transfer-grid {
        gap: 14px;
    }

    .bh-booking-flow--passengers .bf-form-nav {
        flex-direction: column-reverse;
        align-items: stretch;
        gap: 12px;
    }

    .bh-booking-flow--passengers .bf-form-nav__continue {
        width: 100%;
        min-width: 0;
    }
}

/* ==========================================================================
   CONFIRMATION PAGE — Suntransfers style overrides
   ========================================================================== */
.bh-booking-flow--confirmation {
    background: #f7f7f3;
}

.bh-booking-flow--confirmation .bf-container,
.bh-booking-flow--confirmation .bf-header__inner,
.bh-booking-flow--confirmation .bf-trust-strip__inner {
    max-width: 1180px;
}

.bh-booking-flow--confirmation .bf-header {
    border-bottom: 1px solid #e6e8eb;
    box-shadow: 0 1px 8px rgba(15, 23, 42, 0.06);
}

.bh-booking-flow--confirmation .bf-trust-strip {
    background: #fff;
    padding: 10px 0;
    border-top: 2px solid #f7c739;
    border-bottom: 1px solid #edf0f3;
}

.bh-booking-flow--confirmation .bf-stepper {
    background: transparent;
    border-bottom: 0;
    padding: 18px 0 16px;
}

.bh-booking-flow--confirmation .bf-stepper__inner {
    max-width: 920px;
}

.bh-booking-flow--confirmation .bf-stepper__num {
    width: 36px;
    height: 36px;
    font-size: 15px;
    border: 2px solid #d9dfe5;
    background: #f2f3f5;
    color: #a0a8b0;
}

.bh-booking-flow--confirmation .bf-stepper__step--active .bf-stepper__num,
.bh-booking-flow--confirmation .bf-stepper__step--done .bf-stepper__num {
    background: #20ace8;
    border-color: #20ace8;
    color: #fff;
}

.bh-booking-flow--confirmation .bf-stepper__label {
    font-size: 10px;
    color: #b0b7bf;
}

.bh-booking-flow--confirmation .bf-stepper__step--active .bf-stepper__label {
    color: #343b43;
}

.bh-booking-flow--confirmation .bf-stepper__step--done .bf-stepper__label {
    color: #78838e;
}

.bh-booking-flow--confirmation .bf-stepper__line {
    height: 1px;
    margin: 0 8px 22px;
    background: #d9dfe5;
}

.bh-booking-flow--confirmation .bf-stepper__line--done {
    background: #20ace8;
}

.bh-booking-flow--confirmation .bf-main {
    padding-top: 8px;
}

.bh-booking-flow--confirmation .bf-layout {
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 32px;
}

.bh-booking-flow--confirmation .bf-sidebar__summary {
    border: 1px solid #dbe2e8;
    border-radius: 0;
    box-shadow: none;
    background: #fff;
}

.bh-booking-flow--confirmation .bf-summary-header {
    background: linear-gradient(180deg, #ffd558 0%, #f7c63a 100%);
    color: #3e3e3e;
    padding: 13px 14px;
    font-size: 16px;
}

.bh-booking-flow--confirmation .bf-summary-section {
    padding: 14px 14px 12px;
}

.bh-booking-flow--confirmation .bf-summary-section + .bf-summary-section {
    border-top: 1px solid #edf0f3;
}

.bh-booking-flow--confirmation .bf-summary-section h5 {
    margin-bottom: 12px;
    font-size: 15px;
}

.bh-booking-flow--confirmation .bf-summary-row {
    gap: 10px;
    margin-bottom: 12px;
    align-items: flex-start;
}

.bh-booking-flow--confirmation .bf-summary-row i {
    color: #b0b5bc;
    margin-top: 1px;
}

.bh-booking-flow--confirmation .bf-summary-label {
    font-size: 11px;
    color: #9ba3ad;
}

.bh-booking-flow--confirmation .bf-summary-value {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.45;
    color: #404853;
}

.bh-booking-flow--confirmation .bf-sidebar__card,
.bh-booking-flow--confirmation .bf-sidebar__route,
.bh-booking-flow--confirmation .bf-sidebar__badge {
    border: 1px solid #dbe2e8;
    border-radius: 0;
    box-shadow: none;
    background: #fff;
}

.bh-booking-flow--confirmation .bf-sidebar__card {
    border-top: 3px solid #20ace8;
}

.bh-booking-flow--confirmation .bf-sidebar__card-icon {
    box-shadow: none;
}

.bh-booking-flow--confirmation .bf-sidebar__badge {
    border-color: #4fd2c6;
}

.bh-booking-flow--confirmation .bf-sidebar__badge i {
    color: #73b54a;
}

.bh-booking-flow--confirmation .bf-confirm-content {
    min-width: 0;
}

.bh-booking-flow--confirmation .bf-confirmation-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.bh-booking-flow--confirmation .bf-confirm-sticky {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.bh-booking-flow--confirmation .bf-form-card {
    border: 1px solid #dbe2e8;
    border-radius: 0;
    box-shadow: none;
    background: #fff;
}

.bh-booking-flow--confirmation .bf-form-card > h2 {
    padding: 14px 16px 0;
    margin-bottom: 14px;
    font-size: 17px;
    font-weight: 500;
    color: #39424b;
}

.bh-booking-flow--confirmation .bf-form-card > .bf-checkbox,
.bh-booking-flow--confirmation .bf-form-card > .bf-form-group,
.bh-booking-flow--confirmation .bf-form-card > .bf-form-row {
    padding-left: 16px;
    padding-right: 16px;
}

.bh-booking-flow--confirmation .bf-form-card > .bf-checkbox:last-of-type,
.bh-booking-flow--confirmation .bf-form-card > .bf-form-group:last-child,
.bh-booking-flow--confirmation .bf-form-card > .bf-form-row:last-child {
    padding-bottom: 18px;
}

.bh-booking-flow--confirmation .bf-checkbox {
    gap: 9px;
    margin-bottom: 14px;
    font-size: 14px;
    color: #404853;
}

.bh-booking-flow--confirmation .bf-checkbox input[type="checkbox"] {
    width: 17px;
    height: 17px;
    margin-top: 2px;
}

.bh-booking-flow--confirmation .bf-checkbox span {
    line-height: 1.5;
}

.bh-booking-flow--confirmation .bf-checkbox--highlight {
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0 16px 18px !important;
    margin: 0 !important;
}

.bh-booking-flow--confirmation .bf-link-inline {
    color: #1f9fd1;
    font-weight: 500;
}

.bh-booking-flow--confirmation .bf-price-breakdown {
    padding: 0 16px 18px;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 460px);
    gap: 24px;
    align-items: start;
}

.bh-booking-flow--confirmation .bf-price-breakdown__info p {
    margin-bottom: 12px;
    color: #49525c;
}

.bh-booking-flow--confirmation .bf-price-breakdown__note {
    max-width: 300px;
    line-height: 1.55;
    color: #59636f !important;
}

.bh-booking-flow--confirmation .bf-price-breakdown__table {
    border: 0;
    border-radius: 0;
    overflow: visible;
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: transparent;
}

.bh-booking-flow--confirmation .bf-price-row {
    padding: 10px 14px;
    border: 0;
    background: #eef7fd;
    color: #4a5560;
    font-size: 14px;
}

.bh-booking-flow--confirmation .bf-price-row span:last-child {
    font-weight: 600;
    color: #4a5560;
}

.bh-booking-flow--confirmation .bf-price-row--total {
    margin-top: 4px;
    background: #eff8fd;
    font-size: 15px;
    font-weight: 700;
}

.bh-booking-flow--confirmation .bf-price-row--total span {
    color: #18a6de !important;
    font-weight: 800 !important;
}

.bh-booking-flow--confirmation .bf-form-nav {
    padding-top: 0;
}

.bh-booking-flow--confirmation .bf-form-nav--sticky {
    margin-top: 0;
}

.bh-booking-flow--confirmation .bf-form-nav__back {
    font-size: 14px;
    font-weight: 500;
    color: #4f5760;
}

.bh-booking-flow--confirmation .bf-form-nav__continue {
    min-width: 220px;
    padding: 13px 24px;
    border-radius: 3px;
    background: linear-gradient(180deg, #1ad62b 0%, #0fc326 100%);
    box-shadow: inset 0 -3px 0 rgba(8, 133, 25, 0.52);
    font-size: 17px;
}

.bh-booking-flow--confirmation .bf-form-nav__continue:hover {
    background: linear-gradient(180deg, #16c827 0%, #0aae21 100%);
}

.bh-booking-flow--confirmation .bf-footer {
    background: #f7f7f3;
}

@media (max-width: 1024px) {
    .bh-booking-flow--confirmation .bf-layout {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .bh-booking-flow--confirmation .bf-sidebar {
        order: -1;
    }

    .bh-booking-flow--confirmation .bf-price-breakdown {
        grid-template-columns: 1fr;
    }

    .bh-booking-flow--confirmation .bf-price-breakdown__note {
        max-width: none;
    }

    .bh-booking-flow--confirmation .bf-main {
        padding-bottom: 320px;
    }

    .bh-booking-flow--confirmation .bf-confirm-sticky {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1200;
        padding: 12px 12px calc(12px + env(safe-area-inset-bottom));
        background: linear-gradient(180deg, rgba(247, 247, 243, 0) 0%, rgba(247, 247, 243, 0.92) 14%, #f7f7f3 100%);
        backdrop-filter: blur(10px);
    }

    .bh-booking-flow--confirmation .bf-form-card--sticky-terms,
    .bh-booking-flow--confirmation .bf-form-nav--sticky {
        width: 100%;
        max-width: 720px;
        margin: 0 auto;
    }

    .bh-booking-flow--confirmation .bf-form-card--sticky-terms {
        border-radius: 14px;
        overflow: hidden;
        box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12);
    }

    .bh-booking-flow--confirmation .bf-form-card--sticky-terms > h2 {
        padding-top: 12px;
        margin-bottom: 10px;
        font-size: 15px;
    }

    .bh-booking-flow--confirmation .bf-form-card--sticky-terms > .bf-checkbox:last-of-type {
        padding-bottom: 14px;
    }

    .bh-booking-flow--confirmation .bf-form-nav--sticky {
        display: flex;
        flex-direction: column-reverse;
        gap: 10px;
        padding: 0;
    }

    .bh-booking-flow--confirmation .bf-form-nav--sticky .bf-form-nav__continue,
    .bh-booking-flow--confirmation .bf-form-nav--sticky .bf-form-nav__back {
        width: 100%;
        min-width: 0;
        margin: 0;
        text-align: center;
        justify-content: center;
    }

    .bh-booking-flow--confirmation .bf-form-nav--sticky .bf-form-nav__back {
        padding: 12px 16px;
        border-radius: 12px;
        background: #ffffff;
        border: 1px solid #dbe2e8;
        box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08);
    }
}

@media (max-width: 768px) {
    .bh-booking-flow--confirmation .bf-form-nav {
        flex-direction: column-reverse;
        align-items: stretch;
        gap: 12px;
    }

    .bh-booking-flow--confirmation .bf-form-nav__continue {
        width: 100%;
        min-width: 0;
    }

    .bh-booking-flow--confirmation .bf-main {
        padding-bottom: 340px;
    }

    .bh-booking-flow--confirmation .bf-confirm-sticky {
        padding-left: 10px;
        padding-right: 10px;
    }
}

/* ==========================================================================
   Mobil "native app" izlenimi
   - touch-action: manipulation -> çift dokunuşla (double-tap) yakınlaşmayı kapatır
     (iOS Safari user-scalable=no'yu yok saydığı için asıl çözüm budur).
   - tap-highlight / touch-callout -> dokunma parlaması ve uzun-basma menüsü kapalı.
   - overscroll-behavior -> aşağı çekince "yenile/lastik" efekti yok.
   ========================================================================== */
html,
body {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    overscroll-behavior-y: none;
    overflow-x: hidden;
}

a,
button,
.btn,
[role="button"] {
    -webkit-user-select: none;
    user-select: none;
}

/* ---------- Marka logosu (TAS Traveller) ---------- */
.ls-brand-logo {
    height: 36px;
    width: auto;
    display: block;
}

/* ==========================================================================
   My Bookings sayfası (/passenger-home)
   ========================================================================== */
.bf-header__link--active { color: var(--bf-primary); }

.bf-mybooking {
    background: var(--bf-bg);
    min-height: 72vh;
    padding: 32px 0 64px;
}
.bf-mybooking__container {
    max-width: 880px;
    margin: 0 auto;
    padding: 0 16px;
}
.bf-mybooking__head { margin-bottom: 24px; }
.bf-mybooking__head h1 {
    font-family: var(--bf-font-h);
    font-size: 26px;
    color: var(--bf-navy);
    margin: 0 0 4px;
}
.bf-mybooking__head p { color: var(--bf-muted); margin: 0; }

.bf-mybooking__list { display: flex; flex-direction: column; gap: 14px; }

.bf-booking-card {
    background: var(--bf-white);
    border: 1px solid var(--bf-border);
    border-radius: 10px;
    padding: 16px 18px;
    box-shadow: var(--bf-shadow);
}
.bf-booking-card__top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}
.bf-booking-card__ref { font-weight: 700; color: var(--bf-navy); font-size: 14px; }
.bf-booking-card__status {
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: .3px;
}
.bf-booking-card__status.is-completed { background: rgba(40,167,69,.12); color: #1e7e34; }
.bf-booking-card__status.is-cancelled { background: rgba(231,76,60,.12); color: #c0392b; }
.bf-booking-card__status.is-active    { background: rgba(0,191,255,.16); color: #0782a8; }
.bf-booking-card__status.is-pending   { background: rgba(246,135,18,.16); color: #c96a06; }

.bf-booking-card__route {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}
.bf-booking-card__point {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: var(--bf-text);
    font-size: 15px;
}
.bf-booking-card__point i { color: var(--bf-primary); font-size: 18px; }
.bf-booking-card__arrow { color: var(--bf-muted); }

.bf-booking-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    color: var(--bf-muted);
    font-size: 13px;
    align-items: center;
}
.bf-booking-card__meta i { margin-right: 5px; }
.bf-booking-card__price {
    margin-left: auto;
    font-weight: 700;
    color: var(--bf-navy);
    font-size: 15px;
}

.bf-mybooking__empty {
    text-align: center;
    padding: 64px 16px;
    background: var(--bf-white);
    border: 1px dashed var(--bf-border);
    border-radius: 12px;
}
.bf-mybooking__empty i { font-size: 48px; color: var(--bf-primary); }
.bf-mybooking__empty h2 { font-family: var(--bf-font-h); color: var(--bf-navy); margin: 12px 0 6px; }
.bf-mybooking__empty p { color: var(--bf-muted); margin: 0 0 20px; }
.bf-mybooking__cta {
    display: inline-block;
    background: var(--bf-primary);
    color: #fff;
    padding: 12px 28px;
    border-radius: 8px;
    font-weight: 700;
    text-decoration: none;
    transition: background .2s;
}
.bf-mybooking__cta:hover { background: var(--bf-primary-dark); }

/* ── "Where is my car?" buton + takip sayfası ── */
.bf-booking-card__actions {
    margin-top: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.bf-track-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--bf-primary);
    color: #fff;
    border: 0;
    padding: 10px 18px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none;
    cursor: pointer;
    transition: background .2s;
}
.bf-track-btn:hover { background: var(--bf-primary-dark); color: #fff; }
.bf-track-btn i { font-size: 17px; }
.bf-track-btn--ghost {
    background: #fff;
    color: var(--bf-text);
    border: 1px solid var(--bf-border);
}
.bf-track-btn--ghost:hover {
    background: #f7f9fb;
    color: var(--bf-text);
}
.bf-track-btn--disabled {
    background: #e9edf2;
    color: var(--bf-muted);
    cursor: not-allowed;
}
.bf-track-btn--disabled:hover { background: #e9edf2; color: var(--bf-muted); }

.bf-track { display: flex; flex-direction: column; height: calc(100vh - 64px); }
.bf-track__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    background: var(--bf-white);
    border-bottom: 1px solid var(--bf-border);
    flex-wrap: wrap;
}
.bf-track__route {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: var(--bf-navy);
    font-size: 14px;
}
.bf-track__route i { color: var(--bf-primary); }
.bf-track__route-sep { color: var(--bf-muted); }
.bf-track__status {
    background: rgba(0,191,255,.16);
    color: #0782a8;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 999px;
    text-transform: uppercase;
}
.bf-track__map { flex: 1; width: 100%; min-height: 320px; z-index: 0; }
.bf-track__hint {
    padding: 10px 16px;
    text-align: center;
    color: var(--bf-muted);
    font-size: 13px;
    background: var(--bf-white);
    border-top: 1px solid var(--bf-border);
}
.bf-track__closed {
    text-align: center;
    max-width: 460px;
    margin: 48px auto;
    padding: 40px 20px;
}
.bf-track__closed i { font-size: 52px; color: var(--bf-primary); }
.bf-track__closed h2 { font-family: var(--bf-font-h); color: var(--bf-navy); margin: 14px 0 8px; }
.bf-track__closed p { color: var(--bf-muted); margin: 0 0 22px; }

.bf-track-pin span {
    width: 32px; height: 32px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50% 50% 50% 0;
    transform: rotate(-45deg);
    color: #fff;
    box-shadow: 0 2px 6px rgba(0,0,0,.3);
}
.bf-track-pin span i { transform: rotate(45deg); font-size: 16px; }

/* ── Yolcu profili (/passenger-profile) — TAS Traveller tasarımı ── */
.bf-profile { background: var(--bf-bg); min-height: calc(100vh - 64px); padding: 24px 0 64px; }
.bf-profile__container { max-width: 560px; margin: 0 auto; padding: 0 16px; }

.bf-profile__hero {
    text-align: center;
    background: linear-gradient(180deg, var(--bf-primary) 0%, var(--bf-primary-dark) 100%);
    color: #fff;
    border-radius: 16px;
    padding: 28px 20px 24px;
    box-shadow: var(--bf-shadow);
}
.bf-profile__avatar {
    width: 84px; height: 84px;
    margin: 0 auto 12px;
    border-radius: 50%;
    overflow: hidden;
    background: rgba(255,255,255,.2);
    border: 3px solid rgba(255,255,255,.6);
    display: flex; align-items: center; justify-content: center;
}
.bf-profile__avatar img { width: 100%; height: 100%; object-fit: cover; }
.bf-profile__avatar-initial { font-family: var(--bf-font-h); font-size: 34px; font-weight: 700; color: #fff; }
.bf-profile__name { font-family: var(--bf-font-h); font-size: 22px; font-weight: 700; margin: 0 0 2px; color: #fff; }
.bf-profile__email { margin: 0 0 10px; font-size: 14px; opacity: .92; }
.bf-profile__since {
    display: inline-flex; align-items: center; gap: 6px;
    background: rgba(255,255,255,.18);
    padding: 4px 12px; border-radius: 999px; font-size: 12px; font-weight: 600;
}

.bf-profile__card {
    background: var(--bf-white);
    border: 1px solid var(--bf-border);
    border-radius: 12px;
    margin-top: 16px;
    overflow: hidden;
}
.bf-profile__row {
    display: flex; align-items: center; gap: 14px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--bf-border);
}
.bf-profile__row:last-child { border-bottom: 0; }
.bf-profile__row > i { font-size: 20px; color: var(--bf-primary); width: 24px; text-align: center; }
.bf-profile__row-text { display: flex; flex-direction: column; }
.bf-profile__row-text span { font-size: 12px; color: var(--bf-muted); }
.bf-profile__row-text strong { font-size: 14px; color: var(--bf-text); font-weight: 600; }

.bf-profile__menu {
    background: var(--bf-white);
    border: 1px solid var(--bf-border);
    border-radius: 12px;
    margin-top: 16px;
    overflow: hidden;
}
.bf-profile__menu-item {
    display: flex; align-items: center; gap: 14px;
    padding: 15px 16px;
    border-bottom: 1px solid var(--bf-border);
    text-decoration: none;
    color: var(--bf-text);
    font-weight: 600;
    font-size: 14px;
}
.bf-profile__menu-item:last-child { border-bottom: 0; }
.bf-profile__menu-item:hover { background: #f7f9fb; color: var(--bf-text); }
.bf-profile__menu-item > i:first-child { font-size: 20px; color: var(--bf-primary); width: 24px; text-align: center; }
.bf-profile__menu-item > span { flex: 1; }
.bf-profile__menu-item--danger { color: #dc2626; }
.bf-profile__menu-item--danger > i:first-child,
.bf-profile__menu-item--danger .bf-profile__chevron { color: #dc2626; }
.bf-profile__menu-item--danger:hover { background: #fff1f2; color: #b91c1c; }
.bf-profile__chevron { color: var(--bf-muted); font-size: 18px; }
.bf-profile__badge {
    background: var(--bf-primary);
    color: #fff; font-size: 11px; font-weight: 700;
    min-width: 20px; height: 20px; padding: 0 6px;
    border-radius: 999px;
    display: inline-flex; align-items: center; justify-content: center;
}

.bf-profile__logout {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    margin-top: 18px;
    padding: 13px;
    background: var(--bf-white);
    border: 1px solid var(--bf-border);
    border-radius: 12px;
    color: #c0392b;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
}
.bf-profile__logout:hover { background: #fdf2f1; color: #c0392b; }

.bf-profile-guest {
    min-height: calc(100vh - 64px);
    padding: 24px 0 88px;
    background:
        radial-gradient(circle at top right, rgba(255, 209, 150, 0.45), transparent 32%),
        linear-gradient(180deg, #fff7ed 0%, #fff1df 100%);
}

.bf-profile-guest__container {
    max-width: 560px;
    margin: 0 auto;
    padding: 0 16px;
}

.bf-profile-guest__hero {
    text-align: center;
    background:
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.24), transparent 30%),
        linear-gradient(180deg, var(--bf-primary) 0%, var(--bf-primary-dark) 100%);
    color: #fff;
    border-radius: 22px;
    padding: 30px 20px 24px;
    box-shadow: 0 18px 40px rgba(181, 97, 12, 0.18);
}

.bf-profile-guest__icon {
    width: 88px;
    height: 88px;
    margin: 0 auto 16px;
    border-radius: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.22);
}

.bf-profile-guest__icon i {
    font-size: 40px;
    color: #fff;
}

.bf-profile-guest__eyebrow {
    display: inline-block;
    margin-bottom: 10px;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.bf-profile-guest__hero h1 {
    margin: 0 0 10px;
    font-family: var(--bf-font-h);
    font-size: 34px;
    line-height: 1.08;
    color: #fff;
}

.bf-profile-guest__hero p {
    margin: 0 auto 18px;
    max-width: 360px;
    color: rgba(255, 255, 255, 0.9);
    font-size: 15px;
}

.bf-profile-guest__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 220px;
    min-height: 52px;
    padding: 0 22px;
    border-radius: 999px;
    background: #fff;
    color: var(--bf-primary-dark);
    font-family: var(--bf-font-h);
    font-size: 17px;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(122, 64, 8, 0.18);
}

.bf-profile-guest__cta,
.bf-profile-guest__cta:visited,
.bf-profile-guest__cta:hover {
    color: var(--bf-primary-dark) !important;
}

.bf-profile-guest__benefits {
    display: grid;
    gap: 12px;
    margin-top: 18px;
}

.bf-profile-guest__benefit {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 16px 18px;
    background: #fff;
    border: 1px solid rgba(245, 158, 11, 0.16);
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.bf-profile-guest__benefit > i {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(246, 135, 18, 0.12);
    color: var(--bf-primary);
    font-size: 20px;
}

.bf-profile-guest__benefit strong {
    display: block;
    margin-bottom: 4px;
    color: var(--bf-navy);
    font-size: 15px;
    font-weight: 800;
}

.bf-profile-guest__benefit span {
    display: block;
    color: var(--bf-muted);
    font-size: 13px;
    line-height: 1.45;
}

/* ── Notifications (/passenger-notifications) — TAS tasarımı ── */
.bf-notif { background: var(--bf-bg); min-height: calc(100vh - 64px); padding: 24px 0 80px; }
.bf-notif__container { max-width: 600px; margin: 0 auto; padding: 0 16px; }
.bf-notif__head { margin-bottom: 18px; }
.bf-notif__head h1 { font-family: var(--bf-font-h); font-size: 24px; color: var(--bf-navy); margin: 0 0 4px; }
.bf-notif__head p { color: var(--bf-muted); margin: 0; font-size: 14px; }
.bf-notif__list { display: flex; flex-direction: column; gap: 12px; }
.bf-notif__card {
    display: flex; gap: 14px;
    background: var(--bf-white);
    border: 1px solid var(--bf-border);
    border-left: 4px solid var(--bf-primary);
    border-radius: 10px;
    padding: 14px 16px;
    box-shadow: var(--bf-shadow);
}
.bf-notif__icon {
    flex: 0 0 38px; width: 38px; height: 38px;
    border-radius: 50%;
    background: rgba(246,135,18,.12);
    color: var(--bf-primary);
    display: flex; align-items: center; justify-content: center;
    font-size: 19px;
}
.bf-notif__body { flex: 1; min-width: 0; }
.bf-notif__top { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 3px; }
.bf-notif__title { font-weight: 700; color: var(--bf-navy); font-size: 14px; }
.bf-notif__time { color: var(--bf-muted); font-size: 12px; white-space: nowrap; }
.bf-notif__text { margin: 0; color: var(--bf-text); font-size: 14px; }
.bf-notif__empty {
    text-align: center;
    padding: 52px 20px;
    background:
        radial-gradient(circle at top right, rgba(255, 244, 230, 0.8), transparent 28%),
        var(--bf-white);
    border: 1px dashed #e8e1d7;
    border-radius: 20px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}
.bf-notif__empty i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
    margin-bottom: 14px;
    border-radius: 24px;
    background: rgba(246, 135, 18, 0.1);
    font-size: 36px;
    color: var(--bf-primary);
}
.bf-notif__empty h2 {
    font-family: var(--bf-font-h);
    color: var(--bf-navy);
    margin: 0 0 8px;
    font-size: 26px;
}
.bf-notif__empty p {
    color: var(--bf-muted);
    margin: 0 0 22px;
    font-size: 15px;
}
.bf-notif__empty .bf-mybooking__cta {
    min-width: 220px;
    justify-content: center;
}

/* ── Eski koyu corders ekranlarını açık temaya çevirme (örn. photo-step) ── */
.bf-lighten { background: var(--bf-bg) !important; color: var(--bf-text) !important; min-height: 100vh; }
.bf-lighten [class*="bg-gray-9"],
.bf-lighten [class*="bg-gray-8"],
.bf-lighten [class*="bg-gray-7"] { background: var(--bf-white) !important; }
.bf-lighten .text-gray-100,
.bf-lighten .text-white,
.bf-lighten [class*="text-gray-1"] { color: var(--bf-text) !important; }
.bf-lighten [class*="text-gray-3"],
.bf-lighten [class*="text-gray-4"],
.bf-lighten [class*="text-gray-5"] { color: var(--bf-muted) !important; }
.bf-lighten [class*="border-gray-7"],
.bf-lighten [class*="border-gray-8"] { border-color: var(--bf-border) !important; }
.bf-lighten .bg-primary { background: var(--bf-primary) !important; }
.bf-lighten .text-primary { color: var(--bf-primary) !important; }
.bf-lighten .border-primary { border-color: var(--bf-primary) !important; }
/* Turuncu butonlarda metin beyaz kalsın. */
.bf-lighten .bg-primary,
.bf-lighten .bg-primary * { color: #fff !important; }

/* ── Help Centre (/destek) — TAS tasarımı ── */
.bf-help { background: var(--bf-bg); min-height: calc(100vh - 64px); padding: 28px 0 80px; }
.bf-help__container { max-width: 600px; margin: 0 auto; padding: 0 16px; }
.bf-help__hero { text-align: center; margin-bottom: 22px; }
.bf-help__hero > i { font-size: 46px; color: var(--bf-primary); }
.bf-help__hero h1 { font-family: var(--bf-font-h); font-size: 24px; color: var(--bf-navy); margin: 10px 0 4px; }
.bf-help__hero p { color: var(--bf-muted); margin: 0; }
.bf-help__contacts { display: flex; flex-direction: column; gap: 12px; margin-bottom: 28px; }
.bf-help__contact {
    display: flex; align-items: center; gap: 14px;
    background: var(--bf-white);
    border: 1px solid var(--bf-border);
    border-radius: 12px;
    padding: 14px 16px;
    text-decoration: none;
    box-shadow: var(--bf-shadow);
}
.bf-help__contact > i { font-size: 24px; color: var(--bf-primary); width: 28px; text-align: center; }
.bf-help__contact strong { display: block; color: var(--bf-navy); font-size: 15px; }
.bf-help__contact span { color: var(--bf-muted); font-size: 13px; }
.bf-help__faq-title { font-family: var(--bf-font-h); font-size: 17px; color: var(--bf-navy); margin: 0 0 12px; }
.bf-help__faq { display: flex; flex-direction: column; gap: 10px; }
.bf-help__faq-item {
    background: var(--bf-white);
    border: 1px solid var(--bf-border);
    border-radius: 10px;
    padding: 14px 16px;
}
.bf-help__faq-item summary {
    cursor: pointer;
    font-weight: 600;
    color: var(--bf-navy);
    font-size: 14px;
    list-style: none;
    display: flex; justify-content: space-between; align-items: center;
}
.bf-help__faq-item summary::-webkit-details-marker { display: none; }
.bf-help__faq-item summary::after { content: "\002B"; color: var(--bf-primary); font-size: 20px; }
.bf-help__faq-item[open] summary::after { content: "\2212"; }
.bf-help__faq-item p { margin: 10px 0 0; color: var(--bf-muted); font-size: 14px; line-height: 1.5; }

/* ── Passenger app yan menü (#side-menu) — TAS turuncu tema ── */
#side-menu { background: var(--bf-primary, #f68712) !important; }
#side-menu [class*="bg-gray-8"],
#side-menu [class*="bg-gray-7"],
#side-menu [class*="bg-gray-9"] { background: rgba(255, 255, 255, 0.15) !important; }
#side-menu a:hover { background: rgba(255, 255, 255, 0.2) !important; }
#side-menu .text-gray-400,
#side-menu [class*="text-gray-4"],
#side-menu [class*="text-gray-3"] { color: rgba(255, 255, 255, 0.85) !important; }
#side-menu .text-white,
#side-menu [class*="text-gray-1"] { color: #fff !important; }
#side-menu .ls-drawer-logo { height: 30px; width: auto; display: block; }

/* ==========================================================================
   Language selector — desktop header
   ========================================================================== */
.bh-lang-switch { position: relative; display: none; }
@media (min-width: 768px) { .bh-lang-switch { display: inline-block; } }
.bh-lang-btn { cursor: pointer; background: none; border: none; font-size: 14px; font-weight: 500; color: #374151; display: flex; align-items: center; gap: 4px; padding: 0; }
.bh-lang-drop { position: absolute; top: 100%; right: 0; margin-top: 8px; background: #FFFFFF; border-radius: 8px; box-shadow: 0 4px 16px rgba(0,0,0,0.12); border: 1px solid #E5E7EB; z-index: 200; min-width: 150px; padding: 4px 0; }
.bh-lang-drop.hidden { display: none; }
.bh-lang-item { display: block; padding: 10px 16px; font-size: 14px; color: #374151; text-decoration: none; white-space: nowrap; }
.bh-lang-item:hover { background: #F5F7FA; }
