/* ===== Taxi Booking Pro – Frontend ===== */
/* All rules use !important to override WordPress theme styles */

.taxi-booking-wrapper {
    --tb-primary: #0f1628;
    --tb-accent: #1a2540;
    --tb-gold: #c8a45c;
    --tb-gold-light: #e2c882;
    --tb-card: #111827;
    --tb-border: rgba(200, 164, 92, 0.28);
    --tb-input-bg: rgba(255, 255, 255, 0.08);
    --tb-text: #ffffff;
    --tb-muted: #9ca3b4;
    --tb-success: #48bb78;
    --tb-error: #fc8181;
    --tb-radius: 14px;
    --tb-radius-sm: 10px;

    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        "Helvetica Neue", Arial, sans-serif !important;
    max-width: 500px !important;
    margin: 40px auto !important;
    padding: 0 16px !important;
    line-height: 1.5 !important;
    color: #ffffff !important;
    -webkit-font-smoothing: antialiased;
}
.taxi-booking-wrapper *,
.taxi-booking-wrapper *::before,
.taxi-booking-wrapper *::after {
    box-sizing: border-box !important;
}

/* ── Card ── */
.taxi-booking-wrapper .taxi-booking-card {
    background: #111827 !important;
    border: 1px solid rgba(200, 164, 92, 0.28) !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.5) !important;
    transform: translateZ(0) !important;
    backface-visibility: hidden !important;
}

/* ── Header ── */
.taxi-booking-wrapper .taxi-header {
    background: linear-gradient(135deg, #12100a 0%, #1e1a0e 100%) !important;
    padding: 16px 22px 12px !important;
    text-align: center !important;
    border-bottom: 1px solid rgba(200, 164, 92, 0.28) !important;
}
.taxi-booking-wrapper .taxi-header-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    background: rgba(200, 164, 92, 0.12) !important;
    border: 1px solid rgba(200, 164, 92, 0.3) !important;
    border-radius: 12px !important;
    color: #c8a45c !important;
    margin-bottom: 5px !important;
}
.taxi-booking-wrapper .taxi-header h2 {
    color: #c8a45c !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    margin: 0 0 2px !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
}
.taxi-booking-wrapper .taxi-header p {
    color: #9ca3b4 !important;
    font-size: 13px !important;
    margin: 0 !important;
}

/* ── Form ── */
.taxi-booking-wrapper .taxi-form {
    padding: 24px 24px 8px !important;
}
.taxi-booking-wrapper .taxi-section {
    margin-bottom: 18px !important;
}
.taxi-booking-wrapper .taxi-grid-2 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
}

/* ── Labels ── */
.taxi-booking-wrapper .taxi-label {
    display: block !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #b0b8c8 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    margin-bottom: 8px !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
}

/* ── Inputs & Selects ── */
.taxi-booking-wrapper .taxi-input,
.taxi-booking-wrapper .taxi-select,
.taxi-booking-wrapper input[type="text"],
.taxi-booking-wrapper input[type="email"],
.taxi-booking-wrapper input[type="tel"],
.taxi-booking-wrapper input[type="datetime-local"],
.taxi-booking-wrapper select,
.taxi-booking-wrapper textarea {
    width: 100% !important;
    height: 48px !important;
    background: rgba(255, 255, 255, 0.07) !important;
    border: 1.5px solid rgba(200, 164, 92, 0.3) !important;
    border-radius: 10px !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-family: inherit !important;
    padding: 0 14px !important;
    margin: 0 !important;
    transition: border-color 0.25s, box-shadow 0.25s, background 0.25s !important;
    outline: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.15) !important;
    line-height: 48px !important;
}

.taxi-booking-wrapper .taxi-select,
.taxi-booking-wrapper select {
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23c8a45c' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-color: rgba(255, 255, 255, 0.07) !important;
    padding-right: 36px !important;
    cursor: pointer !important;
}
.taxi-booking-wrapper .taxi-select option,
.taxi-booking-wrapper select option {
    background: #1a2540 !important;
    color: #ffffff !important;
    padding: 10px !important;
}

.taxi-booking-wrapper .taxi-textarea,
.taxi-booking-wrapper textarea.taxi-textarea {
    height: auto !important;
    padding: 12px 14px !important;
    resize: vertical !important;
    min-height: 80px !important;
    line-height: 1.5 !important;
}

/* Placeholder */
.taxi-booking-wrapper .taxi-input::placeholder,
.taxi-booking-wrapper input::placeholder,
.taxi-booking-wrapper textarea::placeholder {
    color: #7a8599 !important;
    opacity: 1 !important;
    font-style: normal !important;
}

/* Focus */
.taxi-booking-wrapper .taxi-input:focus,
.taxi-booking-wrapper .taxi-select:focus,
.taxi-booking-wrapper input:focus,
.taxi-booking-wrapper select:focus,
.taxi-booking-wrapper textarea:focus {
    border-color: rgba(200, 164, 92, 0.65) !important;
    box-shadow: 0 0 0 3px rgba(200, 164, 92, 0.15),
        inset 0 1px 3px rgba(0, 0, 0, 0.15) !important;
    background: rgba(255, 255, 255, 0.1) !important;
    outline: none !important;
}

/* DateTime-local fix for dark theme */
.taxi-booking-wrapper input[type="datetime-local"] {
    color-scheme: dark !important;
}
.taxi-booking-wrapper
    input[type="datetime-local"]::-webkit-calendar-picker-indicator {
    filter: invert(0.7) !important;
    cursor: pointer !important;
}

/* ── Error state ── */
.taxi-booking-wrapper .taxi-field-wrap.has-error .taxi-input,
.taxi-booking-wrapper .taxi-field-wrap.has-error .taxi-select,
.taxi-booking-wrapper .taxi-field-wrap.has-error input,
.taxi-booking-wrapper .taxi-field-wrap.has-error select {
    border-color: #fc8181 !important;
    box-shadow: 0 0 0 3px rgba(252, 129, 129, 0.12) !important;
}
.taxi-booking-wrapper .taxi-error-msg {
    display: none !important;
    font-size: 12px !important;
    color: #fc8181 !important;
    margin-top: 5px !important;
    padding-left: 2px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}
.taxi-booking-wrapper .taxi-field-wrap.has-error .taxi-error-msg {
    display: block !important;
}

/* ── Capacity note (under passengers) ── */
.taxi-booking-wrapper .taxi-capacity-note {
    display: block !important;
    font-size: 11.5px !important;
    color: #9ca3b4 !important;
    margin-top: 6px !important;
    padding-left: 2px !important;
    line-height: 1.4 !important;
    font-style: italic !important;
}

/* ── Route block ── */
.taxi-booking-wrapper .taxi-route {
    display: flex !important;
    gap: 14px !important;
}
.taxi-booking-wrapper .taxi-route-dots {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    padding: 14px 0 !important;
    flex-shrink: 0 !important;
    width: 20px !important;
}
.taxi-booking-wrapper .taxi-dot {
    width: 14px !important;
    height: 14px !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
    border: 2.5px solid !important;
}
.taxi-booking-wrapper .taxi-dot--pickup {
    border-color: #48bb78 !important;
    background: rgba(72, 187, 120, 0.3) !important;
    box-shadow: 0 0 8px rgba(72, 187, 120, 0.4) !important;
}
.taxi-booking-wrapper .taxi-dot--dropoff {
    border-color: #fc8181 !important;
    background: rgba(252, 129, 129, 0.3) !important;
    box-shadow: 0 0 8px rgba(252, 129, 129, 0.4) !important;
}
.taxi-booking-wrapper .taxi-route-line {
    flex: 1 !important;
    width: 2px !important;
    background: repeating-linear-gradient(
        to bottom,
        rgba(200, 164, 92, 0.35) 0 6px,
        transparent 6px 10px
    ) !important;
    margin: 4px 0 !important;
}
.taxi-booking-wrapper .taxi-route-fields {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

/* ── Buttons ── */
.taxi-booking-wrapper .taxi-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    height: 52px !important;
    border: none !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: transform 0.2s, box-shadow 0.2s, opacity 0.2s !important;
    position: relative !important;
    overflow: hidden !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    text-decoration: none !important;
    line-height: 1 !important;
}
.taxi-booking-wrapper .taxi-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.35) !important;
}
.taxi-booking-wrapper .taxi-btn:active {
    transform: translateY(0) !important;
}

.taxi-booking-wrapper .taxi-btn--primary {
    background: linear-gradient(135deg, #c8a45c 0%, #e2c882 100%) !important;
    color: #0f1628 !important;
    box-shadow: 0 4px 15px rgba(200, 164, 92, 0.35) !important;
}
.taxi-booking-wrapper .taxi-btn--success {
    background: linear-gradient(135deg, #2f855a 0%, #48bb78 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 15px rgba(72, 187, 120, 0.35) !important;
}
.taxi-booking-wrapper .taxi-btn--outline {
    background: transparent !important;
    border: 1.5px solid rgba(200, 164, 92, 0.35) !important;
    color: #c8a45c !important;
}
.taxi-booking-wrapper .taxi-btn--outline:hover {
    border-color: #c8a45c !important;
    background: rgba(200, 164, 92, 0.06) !important;
}

/* Loading */
.taxi-booking-wrapper .taxi-btn.is-loading .taxi-btn__text,
.taxi-booking-wrapper .taxi-btn.is-loading .taxi-btn__arrow {
    opacity: 0 !important;
}
.taxi-booking-wrapper .taxi-btn__loader {
    display: none !important;
    width: 22px !important;
    height: 22px !important;
    border: 2.5px solid rgba(255, 255, 255, 0.3) !important;
    border-top-color: #fff !important;
    border-radius: 50% !important;
    animation: taxi-spin 0.65s linear infinite !important;
    position: absolute !important;
}
.taxi-booking-wrapper .taxi-btn--primary .taxi-btn__loader {
    border-color: rgba(15, 22, 40, 0.2) !important;
    border-top-color: #0f1628 !important;
}
.taxi-booking-wrapper .taxi-btn.is-loading .taxi-btn__loader {
    display: block !important;
}
@keyframes taxi-spin {
    to {
        transform: rotate(360deg);
    }
}

/* ── Price Result ── */
.taxi-booking-wrapper .taxi-price-result {
    margin: 0 0 20px !important;
    background: rgba(200, 164, 92, 0.06) !important;
    border: 1px solid rgba(200, 164, 92, 0.25) !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    animation: taxi-slideDown 0.35s ease !important;
}
@keyframes taxi-slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.taxi-booking-wrapper .taxi-price-header {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 14px 18px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #c8a45c !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    border-bottom: 1px solid rgba(200, 164, 92, 0.2) !important;
    background: none !important;
}
.taxi-booking-wrapper .taxi-price-rows {
    padding: 6px 18px !important;
}
.taxi-booking-wrapper .taxi-price-row {
    display: flex !important;
    justify-content: space-between !important;
    padding: 9px 0 !important;
    font-size: 13px !important;
    color: #9ca3b4 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}
.taxi-booking-wrapper .taxi-price-row:last-child {
    border-bottom: none !important;
}
.taxi-booking-wrapper .taxi-price-row span:last-child {
    color: #ffffff !important;
    font-weight: 600 !important;
}
.taxi-booking-wrapper .taxi-price-total {
    display: flex !important;
    justify-content: space-between !important;
    padding: 16px 18px !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    border-top: 1px solid rgba(200, 164, 92, 0.25) !important;
    background: rgba(200, 164, 92, 0.1) !important;
    color: #c8a45c !important;
}
.taxi-booking-wrapper .taxi-price-meta {
    display: flex !important;
    gap: 16px !important;
    padding: 10px 18px !important;
    font-size: 12px !important;
    color: #9ca3b4 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
}
.taxi-booking-wrapper .taxi-price-meta span {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
}

/* ── Personal Section ── */
.taxi-booking-wrapper .taxi-personal {
    animation: taxi-slideDown 0.35s ease !important;
}
.taxi-booking-wrapper .taxi-section-title {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #c8a45c !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid rgba(200, 164, 92, 0.25) !important;
    background: none !important;
}

/* ── Success ── */
.taxi-booking-wrapper .taxi-success {
    text-align: center !important;
    padding: 50px 28px !important;
    animation: taxi-slideDown 0.4s ease !important;
}
.taxi-booking-wrapper .taxi-success-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 80px !important;
    height: 80px !important;
    border-radius: 50% !important;
    background: rgba(72, 187, 120, 0.15) !important;
    color: #48bb78 !important;
    margin-bottom: 18px !important;
    animation: taxi-pop 0.5s ease !important;
}
@keyframes taxi-pop {
    0% {
        transform: scale(0);
    }
    60% {
        transform: scale(1.15);
    }
    100% {
        transform: scale(1);
    }
}
.taxi-booking-wrapper .taxi-success h3 {
    font-size: 22px !important;
    color: #ffffff !important;
    margin: 0 0 6px !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
}
.taxi-booking-wrapper .taxi-success p {
    color: #9ca3b4 !important;
    font-size: 14px !important;
    margin: 0 0 20px !important;
}
.taxi-booking-wrapper .taxi-booking-ref {
    display: inline-block !important;
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(200, 164, 92, 0.25) !important;
    border-radius: 8px !important;
    padding: 10px 20px !important;
    font-size: 14px !important;
    color: #9ca3b4 !important;
    margin-bottom: 24px !important;
}
.taxi-booking-wrapper .taxi-booking-ref strong {
    color: #c8a45c !important;
}

/* ── Toast ── */
.taxi-toast {
    position: fixed !important;
    top: 20px !important;
    right: 20px !important;
    z-index: 999999 !important;
    padding: 14px 22px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #fff !important;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.4) !important;
    animation: taxi-toastIn 0.35s ease !important;
}
.taxi-toast--error {
    background: linear-gradient(135deg, #c53030, #e53e3e) !important;
}
@keyframes taxi-toastIn {
    from {
        opacity: 0;
        transform: translateY(-12px);
    }
}

/* ── Responsive ── */
@media (max-width: 540px) {
    .taxi-booking-wrapper {
        margin: 20px auto !important;
        padding: 0 10px !important;
    }
    .taxi-booking-wrapper .taxi-booking-card {
        border-radius: 16px !important;
    }
    .taxi-booking-wrapper .taxi-header {
        padding: 22px 20px 18px !important;
    }
    .taxi-booking-wrapper .taxi-form {
        padding: 18px 18px 6px !important;
    }
    .taxi-booking-wrapper .taxi-grid-2 {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
    .taxi-booking-wrapper .taxi-price-total {
        font-size: 16px !important;
    }
    .taxi-booking-wrapper .taxi-btn {
        height: 48px !important;
        font-size: 14px !important;
    }
}

/* ── Homepage right-side sidebar wrapper ── */
.taxi-booking-sidebar.is-sticky {
    position: sticky !important;
    top: 90px !important;
}

@media (max-width: 900px) {
    .taxi-booking-sidebar.is-sticky {
        position: static !important;
        top: auto !important;
    }
}

/* ── Google Autocomplete Dropdown (max specificity) ── */
html body .pac-container,
body .pac-container,
.pac-container {
    background: #1a2540 !important;
    border: 1px solid rgba(200, 164, 92, 0.3) !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.6) !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        sans-serif !important;
    margin-top: 6px !important;
    padding: 6px 0 !important;
    z-index: 999999 !important;
    overflow: hidden !important;
}
html body .pac-container:after,
.pac-container:after {
    background: linear-gradient(135deg, #1a2540, #243352) !important;
    padding: 8px 14px !important;
    border-top: 1px solid rgba(200, 164, 92, 0.15) !important;
    color: #6b7a94 !important;
    font-size: 11px !important;
}
html body .pac-item,
.pac-item {
    padding: 11px 16px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
    color: #d0d5df !important;
    cursor: pointer !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    background: transparent !important;
    transition: background 0.15s !important;
}
html body .pac-item:first-child,
.pac-item:first-child {
    border-top: none !important;
}
html body .pac-item:hover,
html body .pac-item-selected,
.pac-item:hover,
.pac-item-selected {
    background: rgba(200, 164, 92, 0.12) !important;
}
html body .pac-item-query,
.pac-item-query {
    color: #c8a45c !important;
    font-weight: 600 !important;
    font-size: 14px !important;
}
html body .pac-icon,
html body .pac-icon-marker,
.pac-icon,
.pac-icon-marker,
.hdpi .pac-icon {
    display: none !important;
}
html body .pac-item span,
.pac-item span {
    color: #8892a4 !important;
}
html body .pac-item-query span,
.pac-item-query span {
    color: #c8a45c !important;
}
html body .pac-matched,
.pac-matched {
    font-weight: 700 !important;
    color: #e2c882 !important;
}

/* ====================================================================== */
/* ===== HERO SECTION  ([taxi_booking_hero]) — text left / form right ==== */
/* ====================================================================== */
.taxi-hero {
    --taxi-hero-bg: linear-gradient(135deg, #dfeaf5, #cfe0f0);
    --tb-gold: #c8a45c;
    --tb-gold-light: #e2c882;
    --tb-navy: #0f1628;

    position: relative !important;
    /* Full-bleed: break out of the theme's constrained container, edge-to-edge */
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    box-sizing: border-box !important;
    min-height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    padding: 72px clamp(16px, 5vw, 64px) !important;
    background-image: var(--taxi-hero-bg) !important;
    background-size: cover !important;
    background-position: 30% center !important;
    background-repeat: no-repeat !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        "Helvetica Neue", Arial, sans-serif !important;
    overflow: hidden !important;
}
.taxi-hero *,
.taxi-hero *::before,
.taxi-hero *::after {
    box-sizing: border-box !important;
}

/* Soft light overlay so white text stays readable over the photo */
.taxi-hero .taxi-hero__overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(
        100deg,
        rgba(15, 22, 40, 0.62) 0%,
        rgba(15, 22, 40, 0.42) 42%,
        rgba(15, 22, 40, 0.18) 70%,
        rgba(15, 22, 40, 0.05) 100%
    ) !important;
    pointer-events: none !important;
}

.taxi-hero .taxi-hero__inner {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 960px !important;
    margin: 0 auto 0 5% !important;
    display: grid !important;
    grid-template-columns: 1fr 0.55fr !important;
    align-items: center !important;
    gap: clamp(20px, 3vw, 40px) !important;
}

/* ── Left column: text ── */
.taxi-hero .taxi-hero__content {
    color: #fff !important;
}
.taxi-hero .taxi-hero__eyebrow {
    display: inline-block !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: var(--tb-gold-light) !important;
    margin: 0 0 18px !important;
}
.taxi-hero .taxi-hero__title {
    font-size: clamp(30px, 3.6vw, 50px) !important;
    line-height: 1.12 !important;
    font-weight: 800 !important;
    color: #fff !important;
    margin: 0 0 4px !important;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35) !important;
}
.taxi-hero .taxi-hero__title-accent {
    display: block !important;
    background: linear-gradient(
        90deg,
        var(--tb-gold),
        var(--tb-gold-light)
    ) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: var(--tb-gold-light) !important;
}
.taxi-hero .taxi-hero__divider {
    display: block !important;
    width: 84px !important;
    height: 3px !important;
    border-radius: 3px !important;
    background: linear-gradient(
        90deg,
        var(--tb-gold),
        var(--tb-gold-light)
    ) !important;
    margin: 22px 0 !important;
}
.taxi-hero .taxi-hero__text {
    font-size: clamp(15px, 1.2vw, 17px) !important;
    line-height: 1.7 !important;
    color: rgba(255, 255, 255, 0.92) !important;
    max-width: 520px !important;
    margin: 0 0 26px !important;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.3) !important;
}
.taxi-hero .taxi-hero__features {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}
.taxi-hero .taxi-hero__features li {
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #fff !important;
    margin: 0 !important;
}
.taxi-hero .taxi-hero__features svg {
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0 !important;
    padding: 4px !important;
    border-radius: 50% !important;
    background: rgba(200, 164, 92, 0.2) !important;
    border: 1px solid rgba(200, 164, 92, 0.5) !important;
    color: var(--tb-gold-light) !important;
}

/* ── Package badge ── */
.taxi-hero .taxi-hero__package {
    margin-top: 22px !important;
    padding: 14px 18px !important;
    background: rgba(200, 164, 92, 0.1) !important;
    border: 1px solid rgba(200, 164, 92, 0.32) !important;
    border-radius: 14px !important;
    max-width: 420px !important;
}
.taxi-hero .taxi-hero__package-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    letter-spacing: 1.4px !important;
    text-transform: uppercase !important;
    color: var(--tb-gold-light) !important;
    margin-bottom: 5px !important;
}
.taxi-hero .taxi-hero__package-text {
    font-size: 13px !important;
    color: rgba(255, 255, 255, 0.82) !important;
    margin: 0 !important;
    line-height: 1.55 !important;
}

/* ── Right column: form sits flush in its grid cell ── */
.taxi-hero .taxi-hero__form .taxi-booking-wrapper {
    max-width: 380px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* ====================================================================== */
/* ===== TRANSPARENT GLASS FORM THEME — only inside the hero ============= */
/* ====================================================================== */

/* High-specificity selector overrides base card definitively */
.taxi-hero .taxi-hero__form .taxi-booking-wrapper .taxi-booking-card {
    background: rgba(10, 10, 20, 0.5) !important;
    border: 1px solid rgba(200, 164, 92, 0.4) !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35) !important;
    overflow: visible !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    transform: none !important;
}

/* Clip rounded corners via wrapper instead */
.taxi-hero .taxi-hero__form .taxi-booking-wrapper {
    max-width: 320px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border-radius: 20px !important;
    overflow: hidden !important;
}

/* Header → semi-transparent warm dark */
.taxi-hero .taxi-hero__form .taxi-booking-wrapper .taxi-header {
    background: rgba(10, 8, 0, 0.6) !important;
    border-bottom: 1px solid rgba(200, 164, 92, 0.25) !important;
    padding: 10px 16px 8px !important;
}
.taxi-hero .taxi-hero__form .taxi-booking-wrapper .taxi-header-icon {
    display: none !important;
}
.taxi-hero .taxi-hero__form .taxi-booking-wrapper .taxi-header h2 {
    color: #e2c882 !important;
    font-size: 14px !important;
    margin: 0 0 1px !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
}
.taxi-hero .taxi-hero__form .taxi-booking-wrapper .taxi-header p {
    color: rgba(255, 255, 255, 0.55) !important;
    font-size: 11px !important;
}

/* Compact form padding inside hero */
.taxi-hero .taxi-hero__form .taxi-form {
    padding: 14px 16px 4px !important;
}
.taxi-hero .taxi-hero__form .taxi-section {
    margin-bottom: 12px !important;
}
.taxi-hero .taxi-hero__form .taxi-grid-2 {
    gap: 10px !important;
}
.taxi-hero .taxi-hero__form .taxi-btn {
    height: 44px !important;
    font-size: 13px !important;
}

/* Labels */
.taxi-hero .taxi-hero__form .taxi-label {
    color: rgba(255, 255, 255, 0.75) !important;
    font-size: 10px !important;
    margin-bottom: 5px !important;
}
.taxi-hero .taxi-hero__form .taxi-capacity-note {
    color: rgba(200, 164, 92, 0.85) !important;
}
.taxi-hero .taxi-hero__form .taxi-section-title {
    color: #e2c882 !important;
    border-bottom-color: rgba(200, 164, 92, 0.25) !important;
}

/* Inputs / selects / textarea → glass */
.taxi-hero .taxi-hero__form .taxi-input,
.taxi-hero .taxi-hero__form .taxi-select,
.taxi-hero .taxi-hero__form input[type="text"],
.taxi-hero .taxi-hero__form input[type="email"],
.taxi-hero .taxi-hero__form input[type="tel"],
.taxi-hero .taxi-hero__form input[type="datetime-local"],
.taxi-hero .taxi-hero__form select,
.taxi-hero .taxi-hero__form textarea {
    background: rgba(255, 255, 255, 0.13) !important;
    background-color: rgba(255, 255, 255, 0.13) !important;
    border: 1px solid rgba(200, 164, 92, 0.4) !important;
    color: #ffffff !important;
    box-shadow: none !important;
    height: 38px !important;
    font-size: 12px !important;
    padding: 0 10px !important;
    line-height: 38px !important;
}
.taxi-hero .taxi-hero__form .taxi-select,
.taxi-hero .taxi-hero__form select {
    background-color: rgba(255, 255, 255, 0.13) !important;
}
.taxi-hero .taxi-hero__form .taxi-select option,
.taxi-hero .taxi-hero__form select option {
    background: #1a2540 !important;
    color: #ffffff !important;
}
.taxi-hero .taxi-hero__form .taxi-input::placeholder,
.taxi-hero .taxi-hero__form input::placeholder,
.taxi-hero .taxi-hero__form textarea::placeholder {
    color: rgba(255, 255, 255, 0.42) !important;
}
.taxi-hero .taxi-hero__form .taxi-input:focus,
.taxi-hero .taxi-hero__form .taxi-select:focus,
.taxi-hero .taxi-hero__form input:focus,
.taxi-hero .taxi-hero__form select:focus,
.taxi-hero .taxi-hero__form textarea:focus {
    border-color: rgba(200, 164, 92, 0.85) !important;
    background: rgba(255, 255, 255, 0.2) !important;
    box-shadow: 0 0 0 2px rgba(200, 164, 92, 0.2) !important;
}
.taxi-hero .taxi-hero__form input[type="datetime-local"] {
    color-scheme: dark !important;
}
.taxi-hero
    .taxi-hero__form
    input[type="datetime-local"]::-webkit-calendar-picker-indicator {
    filter: invert(0.8) !important;
}

/* Price result → glass */
.taxi-hero .taxi-hero__form .taxi-price-result {
    background: rgba(200, 164, 92, 0.08) !important;
    border-color: rgba(200, 164, 92, 0.25) !important;
}
.taxi-hero .taxi-hero__form .taxi-price-header {
    color: #e2c882 !important;
    border-bottom-color: rgba(200, 164, 92, 0.2) !important;
}
.taxi-hero .taxi-hero__form .taxi-price-row {
    color: rgba(255, 255, 255, 0.65) !important;
    border-bottom-color: rgba(255, 255, 255, 0.06) !important;
}
.taxi-hero .taxi-hero__form .taxi-price-row span:last-child {
    color: #ffffff !important;
}
.taxi-hero .taxi-hero__form .taxi-price-total {
    color: #e2c882 !important;
    background: rgba(200, 164, 92, 0.12) !important;
    border-top-color: rgba(200, 164, 92, 0.25) !important;
}
.taxi-hero .taxi-hero__form .taxi-price-meta {
    color: rgba(255, 255, 255, 0.5) !important;
    border-top-color: rgba(255, 255, 255, 0.06) !important;
}

/* Success → glass */
.taxi-hero .taxi-hero__form .taxi-success h3 {
    color: #ffffff !important;
}
.taxi-hero .taxi-hero__form .taxi-success p {
    color: rgba(255, 255, 255, 0.65) !important;
}
.taxi-hero .taxi-hero__form .taxi-booking-ref {
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(200, 164, 92, 0.3) !important;
    color: rgba(255, 255, 255, 0.65) !important;
}

/* ── Responsive: stack, form below the text ── */
@media (max-width: 1100px) {
    .taxi-hero {
        padding: 50px clamp(16px, 5vw, 40px) !important;
        min-height: unset !important;
        /* Full-width panoramic image on top, dark navy fills below it */
        background-image: var(--taxi-hero-bg),
            linear-gradient(to bottom, #0d1a2e, #0d1a2e) !important;
        background-size: 100% auto, cover !important;
        background-position: center top, center !important;
        background-repeat: no-repeat, no-repeat !important;
        background-color: #0d1a2e !important;
        align-items: flex-start !important;
    }
    /* Overlay: darken center for text readability, keep sides open for landmarks */
    .taxi-hero .taxi-hero__overlay {
        background: radial-gradient(
            ellipse 70% 55% at 50% 35%,
            rgba(10, 15, 30, 0.68) 0%,
            rgba(10, 15, 30, 0.45) 50%,
            rgba(10, 15, 30, 0.1) 80%,
            rgba(10, 15, 30, 0) 100%
        ) !important;
    }
    .taxi-hero .taxi-hero__inner {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
        margin: 0 auto !important;
        max-width: 580px !important;
        width: 100% !important;
    }
    .taxi-hero .taxi-hero__content {
        text-align: center !important;
    }
    .taxi-hero .taxi-hero__divider {
        margin: 20px auto !important;
    }
    .taxi-hero .taxi-hero__text {
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .taxi-hero .taxi-hero__features {
        display: inline-flex !important;
        text-align: left !important;
    }
    .taxi-hero .taxi-hero__package {
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
    }
    .taxi-hero .taxi-hero__form .taxi-booking-wrapper {
        margin: 0 auto !important;
        max-width: 500px !important;
    }
}
@media (max-width: 540px) {
    .taxi-hero {
        padding: 40px 14px !important;
    }
    .taxi-hero .taxi-hero__overlay {
        background: rgba(15, 22, 40, 0.55) !important;
    }
}
