/* ═══════════════════════════════════════════════════════════════════
   HILANE TRAVEL — DARK / GOLD THEME OVERRIDE (v2)
   Loaded AFTER hilane-travel-booking.css.
   Color-only overrides (background / color / border-color / box-shadow).
   No layout, grid, spacing, sizing or display properties are touched,
   so the multi-step form behaviour and JS hooks are unaffected.

   v2 changes:
   - Outer wrapper + section backgrounds are now TRANSPARENT (not a
     solid dark fill), so the page/section's own dark background shows
     through, matching the "Partner With Hilane Travel" reference.
   - Every color / background / border-color rule now carries
     !important, because the live theme's own input/panel styles were
     winning the cascade and leaving things like the passenger counter
     unreadable (dark text on dark background).
   - Inputs / cards use a subtle translucent dark fill (not opaque) so
     they read correctly against any dark section background.
   ═══════════════════════════════════════════════════════════════════ */

.hilane-booking {
    --hilane-black: #c9a44b;
    --hilane-text: #ffffff;
    --hilane-muted: #c9c2b6;
    --hilane-line: rgba(201, 164, 75, 0.35);
    --hilane-soft: rgba(255, 255, 255, 0.04);
    --hilane-panel: transparent;

    --hg-gold: #c9a44b;
    --hg-gold-light: #e3c074;
    --hg-fill: rgba(255, 255, 255, 0.05);
    --hg-fill-strong: rgba(255, 255, 255, 0.08);
    --hg-border: rgba(201, 164, 75, 0.55);
    --hg-border-soft: rgba(201, 164, 75, 0.25);
    --hg-text: #ffffff;
    --hg-muted: #d8d2c6;

    background: transparent !important;
    border-top: 1px solid var(--hg-border-soft) !important;
    color: var(--hg-text) !important;
}

/* ── Top service note strip ─────────────────────────────────────── */
.hilane-service-note {
    background: transparent !important;
    border-bottom: 1px solid var(--hg-border-soft) !important;
    color: #ffffff !important;
}

.hilane-service-note span {
    color: var(--hg-muted) !important;
}

/* ── Step indicator ──────────────────────────────────────────────── */
.hilane-steps {
    background: transparent !important;
    border-bottom: 1px solid var(--hg-border-soft) !important;
}

.hilane-step-number {
    background: rgba(255, 255, 255, 0.18) !important;
    color: #ffffff !important;
}

.hilane-step.is-active .hilane-step-number {
    background: var(--hg-gold) !important;
    color: #1a1208 !important;
}

.hilane-step-line {
    background: rgba(255, 255, 255, 0.14) !important;
}

.hilane-step.is-active .hilane-step-line {
    background: linear-gradient(90deg, var(--hg-gold) 0 34%, rgba(255, 255, 255, 0.14) 34% 100%) !important;
}

.hilane-step-label {
    color: var(--hg-muted) !important;
}

.hilane-step.is-active .hilane-step-label {
    color: #ffffff !important;
}

/* ── Form body / labels ───────────────────────────────────────────── */
.hilane-form-body {
    background: transparent !important;
}

.hilane-label {
    color: #ffffff !important;
}

.hilane-icon {
    color: var(--hg-gold) !important;
}

/* ── Inputs, selects, segmented tabs ─────────────────────────────── */
.hilane-segmented label,
.hilane-mini-tabs label {
    background: var(--hg-fill) !important;
    border: 1px solid var(--hg-border) !important;
    color: var(--hg-muted) !important;
}

.hilane-segmented label.is-active,
.hilane-mini-tabs label.is-active {
    background: var(--hg-gold) !important;
    color: #1a1208 !important;
}

.hilane-booking .hilane-segmented label,
.hilane-booking .hilane-mini-tabs label {
    border-color: var(--hg-border) !important;
}

.hilane-control,
.hilane-booking .hilane-control {
    background: var(--hg-fill) !important;
    border: 1px solid var(--hg-border) !important;
    color: #ffffff !important;
}

.hilane-control::placeholder {
    color: #ada58f !important;
    opacity: 1 !important;
}

select.hilane-control {
    background-image: linear-gradient(45deg, transparent 50%, var(--hg-gold) 50%), linear-gradient(135deg, var(--hg-gold) 50%, transparent 50%) !important;
}

select.hilane-control option {
    background: #1a140d;
    color: #ffffff;
}

.hilane-control.has-error,
.hilane-counter input.has-error {
    border-color: #ff6b6b !important;
}

.hilane-field-error {
    color: #ff8a8a !important;
}

.hilane-calendar {
    color: var(--hg-gold) !important;
}

/* ── Route / location cards ──────────────────────────────────────── */
.hilane-route-card {
    background: var(--hg-fill) !important;
    border: 1px solid var(--hg-border) !important;
    box-shadow: none !important;
}

.hilane-route-card h3 {
    border-bottom: 1px solid var(--hg-border-soft) !important;
    color: #ffffff !important;
}

.hilane-location-group {
    border-top: 1px solid var(--hg-border-soft) !important;
}

.hilane-edit-icon {
    color: var(--hg-gold) !important;
}

.hilane-airport-details {
    background: transparent !important;
}

.hilane-floating-label {
    background: #14100a !important;
    color: var(--hg-muted) !important;
}

/* ── Buttons ─────────────────────────────────────────────────────── */
.hilane-confirm-btn,
.hilane-choose-vehicle,
.hilane-next-btn,
.hilane-submit-btn,
.hilane-booking .hilane-next-btn {
    background: var(--hg-gold) !important;
    box-shadow: 0 2px 8px rgba(201, 164, 75, 0.35) !important;
    color: #1a1208 !important;
    -webkit-text-fill-color: #1a1208 !important;
}

.hilane-add-stop {
    color: var(--hg-gold) !important;
}

.hilane-no-flight {
    color: #ffffff !important;
}

.hilane-drag,
.hilane-remove-stop {
    color: var(--hg-muted) !important;
}

.hilane-add-stop-wrap span:not(.hilane-add-stop span) {
    border-top: 1px solid var(--hg-border-soft) !important;
}

/* ── Counters (passenger count, etc.) ─────────────────────────────── */
.hilane-counter input,
.hilane-booking .hilane-counter input {
    background: var(--hg-fill-strong) !important;
    border: 1px solid var(--hg-border) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.hilane-counter-btn,
.hilane-booking .hilane-counter-btn {
    background: transparent !important;
    color: var(--hg-gold) !important;
}

.hilane-booking .hilane-add-stop,
.hilane-booking .hilane-remove-stop {
    background: transparent !important;
}

/* ── Step 2: vehicle selection ──────────────────────────────────── */
.hilane-request-summary {
    background: var(--hg-fill) !important;
    border: 1px solid var(--hg-border) !important;
    box-shadow: none !important;
}

.hilane-summary-head h3,
.hilane-vehicle-toolbar h3 {
    color: #ffffff !important;
}

.hilane-edit-step {
    color: var(--hg-gold) !important;
}

.hilane-summary-grid span {
    color: var(--hg-muted) !important;
}

.hilane-summary-grid strong {
    color: #ffffff !important;
}

.hilane-capacity-pill {
    background: var(--hg-gold) !important;
    color: #1a1208 !important;
}

.hilane-vehicle-card {
    background: transparent !important;
    border: 1px solid var(--hg-border) !important;
}

.hilane-vehicle-media {
    background: rgba(255, 255, 255, 0.92) !important;
}

.hilane-vehicle-placeholder {
    background: var(--hg-fill) !important;
    color: var(--hg-muted) !important;
}

.hilane-recommended-badge {
    background: var(--hg-gold) !important;
    border: 1px solid var(--hg-gold) !important;
    color: #1a1208 !important;
}

.hilane-vehicle-info h4 {
    color: #ffffff !important;
}

.hilane-vehicle-type {
    color: var(--hg-muted) !important;
}

.hilane-vehicle-capacity {
    color: #ffffff !important;
}

.hilane-vehicle-features span,
.hilane-feature-group-label,
.hilane-addons-label,
.hilane-addon-qty-label,
.hilane-confirm-route-label,
.hilane-confirm-info-grid span,
.hilane-confirm-support-label {
    color: var(--hg-gold) !important;
}

.hilane-vehicle-features li,
.hilane-feature-group li {
    color: #ffffff !important;
}

.hilane-vehicle-features li::before,
.hilane-feature-icon {
    color: var(--hg-gold) !important;
}

.hilane-vehicle-price {
    background: var(--hg-fill-strong) !important;
}

.hilane-vehicle-price strong,
.hilane-cv-price strong {
    color: #ffffff !important;
}

.hilane-no-vehicles {
    background: var(--hg-fill) !important;
    color: var(--hg-muted) !important;
}

/* ── Child seat counter ─────────────────────────────────────────── */
.hilane-seat-label {
    color: #ffffff !important;
}

.hilane-seat-btn {
    background: var(--hg-fill) !important;
    border: 1px solid var(--hg-border) !important;
    color: var(--hg-gold) !important;
}

.hilane-seat-val {
    border: 1px solid var(--hg-border) !important;
    color: #ffffff !important;
    background: var(--hg-fill) !important;
}

/* ── Step 3: confirm / review & reserve ─────────────────────────── */
.hilane-confirm-panel {
    background: transparent !important;
    padding: 0 0 16px !important;
}

.hilane-confirm-header {
    border-bottom: 1px solid var(--hg-border-soft) !important;
    padding: 10px 16px !important;
}

.hilane-confirm-date {
    font-size: 15px !important;
}

.hilane-confirm-title {
    font-size: 15px !important;
    padding: 12px 16px 0 !important;
}

.hilane-confirm-section {
    padding: 12px 16px !important;
}

.hilane-confirm-section h3,
.hilane-confirm-section-head h3,
.hilane-confirm-trip-header h3 {
    font-size: 15px !important;
    margin-bottom: 10px !important;
}

/* Hide map — pickup/dropoff shown as 2-col row instead */
.hilane-confirm-map-wrap {
    display: none !important;
}

/* "Review & Reserve" title + trip type in one row */
.hilane-confirm-title-wrap,
.hilane-confirm-title + * {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px 24px !important;
    align-items: baseline !important;
}

/* Trip header: trip type left, passengers right */
.hilane-confirm-trip-header {
    display: grid !important;
    grid-template-columns: 1fr auto auto !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
}

.hilane-confirm-trip-meta {
    display: contents !important;
}

/* Route: date+time col 1, pickup col 2, dropoff col 3 — but date spans, pickup+dropoff are 2 cols */
.hilane-confirm-trip-body {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
}

.hilane-confirm-route {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
}

/* Date & time takes full width on its own row */
.hilane-confirm-route-item:first-child {
    grid-column: 1 / -1 !important;
}

/* Pickup and dropoff each take one column */
.hilane-confirm-pickup,
.hilane-confirm-dropoff {
    grid-column: auto !important;
}

.hilane-confirm-route-item {
    gap: 3px !important;
}

.hilane-confirm-route-label {
    font-size: 11px !important;
}

.hilane-confirm-route-value {
    font-size: 12px !important;
}

.hilane-confirm-meta-item {
    font-size: 13px !important;
    padding-left: 12px !important;
}

/* Luggage: 3 cols — Carry-On / Checked / Oversize in one row */
.hilane-luggage-grid {
    display: flex !important;
}

.hilane-luggage-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 10px 8px !important;
    border-bottom: 0 !important;
    border: 1px solid var(--hg-border-soft) !important;
    border-radius: 8px !important;
    gap: 8px !important;
    min-width: 0 !important;
    width: 30% !important;
}

.hilane-luggage-counter {
    display: flex !important;
    width: 100% !important;
}

.hilane-luggage-btn {
    flex: 0 0 32px !important;
    width: 32px !important;
    height: 36px !important;
}

.hilane-luggage-input {
    flex: 1 !important;
    width: auto !important;
    min-width: 0 !important;
    height: 36px !important;
}

/* Additional items: reduce padding */
.hilane-addon-group {
    padding: 10px 12px !important;
    margin-bottom: 8px !important;
}

.hilane-addon-group-title {
    font-size: 14px !important;
    padding-bottom: 8px !important;
    margin-bottom: 8px !important;
}

.hilane-addon-row {
    padding: 8px 0 !important;
}

/* Support box: flush with form edges, no side margin */
.hilane-confirm-support {
    margin: 0 0 12px !important;
    padding: 12px 16px !important;
    border-radius: 10px !important;
}




.hilane-confirm-date,
.hilane-confirm-title,
.hilane-confirm-section h3 {
    color: #ffffff !important;
}

.hilane-confirm-airport-tag {
    color: var(--hg-muted) !important;
}

.hilane-reservation-pill {
    border: 2px solid #2ecc71 !important;
    color: #2ecc71 !important;
}

.hilane-confirm-section {
    border-bottom: 1px solid var(--hg-border-soft) !important;
}

.hilane-confirm-meta-item {
    border-left: 1px solid var(--hg-border-soft) !important;
    color: var(--hg-muted) !important;
}

.hilane-confirm-route-value {
    color: #ffffff !important;
}

.hilane-confirm-route-sub {
    color: var(--hg-muted) !important;
}

.hilane-confirm-map-wrap {
    background: rgba(255, 255, 255, 0.92) !important;
    border: 1px solid var(--hg-border) !important;
}

.hilane-confirm-info-grid strong {
    color: #ffffff !important;
}

.hilane-cv-name {
    color: #ffffff !important;
}

.hilane-cv-cat,
.hilane-cv-cap {
    color: var(--hg-muted) !important;
}

.hilane-price-block {
    background: var(--hg-fill) !important;
    border: 1px solid var(--hg-border) !important;
}

.hilane-price-block-title {
    color: #ffffff !important;
}

.hilane-price-row {
    color: var(--hg-muted) !important;
}

.hilane-price-total {
    border-top: 1px solid var(--hg-border-soft) !important;
    color: #ffffff !important;
}

.hilane-addon-group {
    background: transparent !important;
    border: 1px solid var(--hg-border) !important;
}

.hilane-addon-group-title {
    color: #ffffff !important;
}

.hilane-addon-row {
    border-top: 1px solid var(--hg-border-soft) !important;
}

.hilane-addon-name {
    color: #ffffff !important;
}

.hilane-addon-photo-btn {
    background: transparent !important;
    border: 1px solid var(--hg-border) !important;
    color: var(--hg-muted) !important;
}

.hilane-addon-photo-btn:hover {
    background: var(--hg-fill) !important;
}

.hilane-addon-qty-select-wrap {
    background: var(--hg-fill) !important;
    border: 1px solid var(--hg-border) !important;
}

.hilane-addon-qty-select-wrap::after {
    border-top: 5px solid var(--hg-gold) !important;
}

.hilane-addon-qty {
    background: transparent !important;
    color: #ffffff !important;
}

.hilane-addon-price {
    color: var(--hg-muted) !important;
}

.hilane-luggage-label {
    color: #ffffff !important;
}

.hilane-luggage-btn {
    background: var(--hg-fill) !important;
    border: 1px solid var(--hg-border) !important;
    color: var(--hg-gold) !important;
}

.hilane-luggage-input {
    border: 1px solid var(--hg-border) !important;
    color: #ffffff !important;
    background: var(--hg-fill-strong) !important;
}

.hilane-phone-prefix {
    background: var(--hg-fill) !important;
    border: 1px solid var(--hg-border) !important;
}

.hilane-phone-code {
    color: #ffffff !important;
}

.hilane-confirm-support {
    background: var(--hg-fill) !important;
    border: 1px solid var(--hg-border-soft) !important;
}

.hilane-confirm-support-icon {
    border: 2px solid var(--hg-gold) !important;
    color: var(--hg-gold) !important;
}

.hilane-confirm-support a {
    color: var(--hg-gold-light) !important;
}

.hilane-prev-btn {
    color: #ffffff !important;
}

/* ── Photo lightbox (kept light so photos read correctly) ─────────── */
.hilane-lightbox-box {
    background: #ffffff !important;
}

/* ── Time picker (kept light for legibility, gold accents) ───────── */
.hilane-time-picker-card {
    background: #ffffff !important;
}

.hilane-time-picker-date,
.hilane-time-picker-display,
.hilane-time-picker-nav button,
.hilane-time-period,
.hilane-clock-number {
    color: #111827 !important;
}

.hilane-time-period.is-active,
.hilane-clock-center,
.hilane-clock-hand {
    background: var(--hg-gold) !important;
}

.hilane-clock-number.is-active {
    background: var(--hg-gold) !important;
    color: #1a1208 !important;
}
