/* Theme variables and final application rules
   This file must be included last. It defines a premium brand palette by default
   and toggles to dark mode when `body.theme-dark` is present.
*/

:root {
  --brand-primary: #efbf04;
  --brand-primary-hover: #c19902;
  --brand-primary-active: #947501;
  --brand-secondary: #6a5301;
  --brand-surface: #fffaf0;
  --accent-cool: #176b87;
  --accent-teal: #0f766e;
  --accent-rose: #b94d6a;
  --accent-violet: #7467a8;
  --surface: #fffaf0;
  --surface-alt: #fff4dd;
  --surface-soft: #fff8e7;
  --surface-muted: #f6dfb1;
  --bg: #ffebc6;
  --bg-soft: #fff4dd;
  --text: #1f1600;
  --text-secondary: #433300;
  --text-muted: rgba(31,22,0,0.68);
  --text-inverse: #ffffff;
  --link: #176b87;
  --link-hover: #0f4f65;
  --border: rgba(31,22,0,0.13);
  --border-strong: rgba(31,22,0,0.22);
  --border-inverse: rgba(255,255,255,0.22);
  --control-bg: #fffaf0;
  --control-text: #1f1600;
  --shadow: 0 24px 64px rgba(31,22,0,0.10);
  --radius: 18px;
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-pill: 999px;
  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 16px;
  --spacing-lg: 24px;
  --spacing-xl: 32px;
  --focus-ring: 0 0 0 3px rgba(23,107,135,0.22), 0 0 0 6px rgba(239,191,4,0.16);
  --transition: 180ms ease;
}

body.theme-dark {
  --brand-primary: #efbf04;
  --brand-primary-hover: #c19902;
  --brand-primary-active: #947501;
  --brand-secondary: #6a5301;
  --surface: #433300;
  --surface-alt: #382900;
  --surface-soft: #4f3810;
  --surface-muted: #3a2d00;
  --bg: #1f1600;
  --bg-soft: #2c2100;
  --text: #ffebc6;
  --text-secondary: #fff5d5;
  --text-muted: rgba(255,235,198,0.72);
  --text-inverse: #1f1600;
  --link: #ffebc6;
  --link-hover: #efbf04;
  --border: rgba(255,235,198,0.14);
  --border-strong: rgba(255,235,198,0.26);
  --border-inverse: rgba(31,22,0,0.24);
  --control-bg: #1a1f25;
  --control-text: #ffebc6;
  --shadow: 0 28px 80px rgba(0,0,0,0.36);
}

html {
  color-scheme: light;
}

body.theme-dark {
  color-scheme: dark;
}

/* Apply variables as high-specificity final overrides to neutralize legacy rules */
html, body, #wrap, #wrapper {
  background-color: var(--bg) !important;
  color: var(--text) !important;
}

a, a:link, a:visited {
  color: var(--link) !important;
}

a:hover, a:focus {
  color: var(--link-hover) !important;
}

/* Theme switcher button hidden - disabled */
#theme-switcher-btn {
  display: none !important;
}

/* Preserve legacy neutralization */
[class*="bg-"], [style*="#222d32"], [style*="#404040"], [style*="#333"] {
  background: transparent !important;
}

.profile-icon i, .popup-box1 .cancel, .paging_simple_numbers a {
  background-color: var(--text-secondary) !important;
  color: var(--text) !important;
}

input, textarea, select, .form-control {
  background-color: var(--control-bg) !important;
  color: var(--control-text) !important;
}

.panel, .panel-body, .card {
  background-color: var(--surface) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

/* Ensure legacy admin/widget classes pick up unified card look */
.inner, .cintainerinner, .box, .panel, .card, .widget {
  background-color: var(--surface-alt, var(--admin-surface, #fff4dd)) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  padding: var(--spacing-md) !important;
  transition: var(--transition) !important;
  box-shadow: 0 6px 18px rgba(31,22,0,0.06) !important;
}

/* Admin dashboard widget variants */
.dashboard-widget {
  background-color: var(--surface-alt, var(--admin-bg, #ffebc6)) !important;
}

.widget-header {
  background-color: var(--surface-alt, var(--admin-bg, #ffebc6)) !important;
}

.widget-body {
  background-color: var(--surface-alt, var(--admin-bg, #ffebc6)) !important;
  color: var(--text) !important;
}

.widget-footer {
  background-color: var(--surface-alt, var(--admin-surface, #fff4dd)) !important;
}

.widget-row, .widget-full, .widget-half {
  background-color: var(--surface-alt, var(--admin-surface, #fff4dd)) !important;
}

/* Footer container should reflect main theme surface */
#footer, #maine-footer, footer, .site-footer {
  background-color: var(--surface-alt, var(--admin-surface, #fff4dd)) !important;
  border-top: 1px solid var(--border) !important;
  color: var(--text) !important;
}

/* Card body should match the main theme background */
.card-body {
  background-color: var(--surface-alt, var(--admin-surface, #fff4dd)) !important;
  color: var(--text) !important;
}

/* Rows should use main theme background */
.row {
  background-color: var(--surface-alt, var(--admin-surface, #fff4dd)) !important;
}

/* Override all remaining white backgrounds from legacy CSS */
[style*="background: var(--admin-surface, #fff4dd)"],
[style*="background-color: var(--admin-surface, #fff4dd)"],
[style*="background: var(--admin-surface, #fff4dd)"],
[style*="background-color: var(--admin-surface, #fff4dd)"],
[style*="background: var(--admin-surface, #fff4dd)"],
[style*="background-color: var(--admin-surface, #fff4dd)"] {
  background-color: var(--surface-alt, var(--admin-surface, #fff4dd)) !important;
}

/* Button styles with white backgrounds */
.btn-default,
.btn-line,
[class*="btn-default"],
[class*="btn-line"] {
  background-color: var(--surface-alt, var(--admin-surface, #fff4dd)) !important;
}

.btn-default:disabled,
.btn-default[disabled],
fieldset[disabled] .btn-default {
  background-color: var(--surface-alt, var(--admin-surface, #fff4dd)) !important;
}

/* Legacy element backgrounds */
.well,
.panel,
.alert,
.label,
[class*="well"],
[class*="panel"],
[class*="container"] {
  background-color: var(--surface-alt, var(--admin-surface, #fff4dd)) !important;
}

/* Form elements */
.form-control,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
textarea,
select {
  background-color: var(--surface-alt, var(--admin-surface, #fff4dd)) !important;
}

/* Modal and dialog backgrounds */
.modal-content,
.popover,
.dropdown-menu {
  background-color: var(--surface-alt, var(--admin-surface, #fff4dd)) !important;
}

.button-primary, .btn-primary {
  color: var(--text-on-primary) !important;
}

/* Hover and click interaction fixes */
.btn:hover,
.btn:focus,
.btn:active,
button:hover,
button:focus,
button:active,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="button"]:active,
input[type="submit"]:hover,
input[type="submit"]:focus,
input[type="submit"]:active,
input[type="reset"]:hover,
input[type="reset"]:focus,
input[type="reset"]:active,
a.btn:hover,
a.btn:focus,
a.btn:active {
  transform: none !important;
  box-shadow: 0 12px 30px rgba(31,22,0,0.14) !important;
}

.panel:hover,
.card:hover,
.box:hover,
.well:hover,
.widget:hover,
.dashboard-widget:hover {
  transform: none !important;
}

.select2-container .select2-choice:hover,
.select2-container--default .select2-selection--single:hover {
  transform: none !important;
  box-shadow: none !important;
}

button:not([disabled]),
input[type="button"]:not([disabled]),
input[type="submit"]:not([disabled]),
input[type="reset"]:not([disabled]),
.btn:not(.disabled):not([disabled]),
a.btn,
select:not([disabled]),
textarea:not([disabled]),
.dropdown-toggle,
.select2-container--default .select2-selection--single {
  pointer-events: auto !important;
}

.check-combo,
.d-flex.align-center.flex-start,
.check-combo:hover,
.check-combo:focus,
.d-flex.align-center.flex-start:hover,
.d-flex.align-center.flex-start:focus {
  transform: none !important;
  transition: none !important;
  box-shadow: none !important;
  background-color: transparent !important;
  pointer-events: auto !important;
}

.check-combo label a:hover,
.check-combo label a:focus {
  opacity: 1 !important;
  text-decoration: underline !important;
}

/* Legacy click-blocking neutralization */
html.loading,
html.loading body,
.fancybox__no-click,
.fancybox__no-click button,
.ui-widget-overlay,
.modal-backdrop,
.modal-backdrop.in {
  pointer-events: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

html.loading {
  pointer-events: auto !important;
  background: transparent !important;
}

html.loading body {
  opacity: 1 !important;
  pointer-events: auto !important;
}

button:not([disabled]),
input:not([disabled]),
select:not([disabled]),
textarea:not([disabled]),
.btn:not(.disabled):not([disabled]),
a.btn,
a:not(.disabled):not([disabled]),
[role="button"]:not(.disabled):not([aria-disabled="true"]) {
  pointer-events: auto !important;
}



/* Booking request inner modern widget */
.booking-request {
  background: linear-gradient(135deg, #ffebc6 0%, #fff4dd 54%, rgba(23, 107, 135, 0.10) 100%) !important;
}

.booking-request-inner {
  --booking-bg: #ffebc6;
  --booking-surface: #fffaf0;
  --booking-surface-alt: #fff4dd;
  --booking-surface-soft: #fff8e7;
  --booking-text: #1f1600;
  --booking-text-soft: #433300;
  --booking-muted: rgba(31, 22, 0, 0.66);
  --booking-border: rgba(31, 22, 0, 0.14);
  --booking-border-strong: rgba(31, 22, 0, 0.24);
  --booking-cool: #176b87;
  --booking-teal: #0f766e;
  --booking-rose: #b94d6a;
  --booking-gold: #efbf04;
  --booking-gold-dark: #c19902;
  --booking-radius: 18px;
  --booking-radius-sm: 10px;
  --booking-shadow: 0 24px 64px rgba(31, 22, 0, 0.16);
  --booking-focus: 0 0 0 3px rgba(23, 107, 135, 0.22), 0 0 0 6px rgba(239, 191, 4, 0.16);
  align-items: flex-start;
  display: flex;
  justify-content: flex-start;
  margin: 0 auto;
  max-width: 1280px;
  padding: 24px 15px;
  position: relative;
  width: 100%;
  z-index: 10;
}

.booking-request-inner .booking-block {
  background: var(--booking-surface, #fffaf0) !important;
  border: 1px solid var(--booking-border, rgba(31, 22, 0, 0.14)) !important;
  border-radius: var(--booking-radius, 18px) !important;
  box-shadow: var(--booking-shadow, 0 24px 64px rgba(31, 22, 0, 0.16)) !important;
  color: var(--booking-text, #1f1600) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  overflow: visible !important;
  position: relative !important;
  width: min(100%, 420px);
}

.booking-request-inner .booking-block::before {
  background: linear-gradient(90deg, var(--booking-gold, #efbf04), var(--booking-cool, #176b87), var(--booking-rose, #b94d6a));
  border-radius: var(--booking-radius, 18px) var(--booking-radius, 18px) 0 0;
  content: "";
  display: block;
  height: 4px;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 3;
}

.booking-request-inner .booking-header {
  background: linear-gradient(135deg, var(--booking-cool, #176b87) 0%, var(--booking-teal, #0f766e) 58%, #0b4f5f 100%) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18) !important;
  color: #ffffff !important;
  border-radius: var(--booking-radius, 18px) var(--booking-radius, 18px) 0 0 !important;
  padding: 22px 20px 24px !important;
}

.booking-request-inner .booking-heading {
  align-items: center;
  gap: 12px;
  margin-bottom: 18px !important;
}

.booking-request-inner .booking-heading label {
  color: #ffffff !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

.booking-request-inner .booking-heading select,
.booking-request-inner .booking-header select {
  background-color: rgba(255, 255, 255, 0.14) !important;
  border: 1px solid rgba(255, 255, 255, 0.30) !important;
  border-radius: var(--booking-radius-sm, 10px) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16) !important;
  color: #ffffff !important;
  min-height: 42px !important;
}

.booking-request-inner .booking-heading select option,
.booking-request-inner .booking-header select option {
  background-color: var(--booking-surface, #fffaf0) !important;
  color: var(--booking-text, #1f1600) !important;
}

.booking-request-inner .pick-drop-location {
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 14px !important;
  padding: 14px !important;
}

.booking-request-inner .pick-drop-location .form-group {
  margin-bottom: 12px !important;
}

.booking-request-inner .pick-drop-location input {
  background-color: rgba(255, 255, 255, 0.14) !important;
  border: 1px solid rgba(255, 255, 255, 0.24) !important;
  border-radius: var(--booking-radius-sm, 10px) !important;
  color: #ffffff !important;
  min-height: 44px !important;
  padding: 10px 42px 10px 14px !important;
}

.booking-request-inner .pick-drop-location input::placeholder {
  color: rgba(255, 255, 255, 0.72) !important;
}

.booking-request-inner .pick-drop-location input:focus,
.booking-request-inner .booking-heading select:focus,
.booking-request-inner .booking-header select:focus,
.booking-request-inner .booking-main input:focus,
.booking-request-inner .booking-main select:focus,
.booking-request-inner .booking-main textarea:focus {
  border-color: rgba(239, 191, 4, 0.82) !important;
  box-shadow: var(--booking-focus, 0 0 0 3px rgba(23, 107, 135, 0.22), 0 0 0 6px rgba(239, 191, 4, 0.16)) !important;
  outline: 0 !important;
}

.booking-request-inner .pick-drop-location .form-group.pickup::before,
.booking-request-inner .pick-drop-location .form-group.dest::before {
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.14);
}

.booking-request-inner .detect-loc-booking {
  filter: drop-shadow(0 6px 10px rgba(0, 0, 0, 0.18)) brightness(0) invert(1) !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%);
}

.booking-request-inner .detect-loc-booking:hover {
  transform: translateY(-50%) scale(1.08) !important;
}

.booking-request-inner .booking-main {
  background: var(--booking-surface, #fffaf0) !important;
  color: var(--booking-text, #1f1600) !important;
  padding: 18px 0 4px !important;
}

.booking-request-inner ul.stepper.linear,
.booking-request-inner .booking-block.userfare ul.stepper.linear {
  scrollbar-color: rgba(23, 107, 135, 0.42) rgba(31, 22, 0, 0.08);
  scrollbar-width: thin;
}

.booking-request-inner ul.stepper .step .step-title {
  background: linear-gradient(135deg, var(--booking-surface-alt, #fff4dd), #fff8e7) !important;
  border: 1px solid var(--booking-border, rgba(31, 22, 0, 0.14)) !important;
  border-radius: var(--booking-radius-sm, 10px) !important;
  color: var(--booking-text, #1f1600) !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  margin: 0 0 12px !important;
  padding: 13px 42px 13px 16px !important;
}

.booking-request-inner ul.stepper .step.active .step-title,
.booking-request-inner ul.stepper .step .step-title:hover,
.booking-request-inner ul.stepper .step .step-title:focus {
  background: linear-gradient(135deg, rgba(239, 191, 4, 0.24), rgba(23, 107, 135, 0.12)) !important;
  border-color: rgba(23, 107, 135, 0.28) !important;
}

.booking-request-inner ul.stepper .step.active .step-title::before {
  color: var(--booking-cool, #176b87) !important;
  right: 16px !important;
}

.booking-request-inner .section-block {
  background: var(--booking-surface-soft, #fff8e7) !important;
  border: 1px solid var(--booking-border, rgba(31, 22, 0, 0.14)) !important;
  border-radius: var(--booking-radius-sm, 10px) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.54) !important;
  margin: 12px 0 !important;
  padding: 16px !important;
}

.booking-request-inner .section-block > label {
  border-bottom: 1px solid var(--booking-border, rgba(31, 22, 0, 0.14)) !important;
  color: var(--booking-text, #1f1600) !important;
  font-weight: 800 !important;
  margin-bottom: 14px !important;
  padding-top: 0 !important;
}

.booking-request-inner .section-block ul li {
  background: rgba(255, 255, 255, 0.48) !important;
  border: 1px solid rgba(31, 22, 0, 0.08) !important;
  border-radius: var(--booking-radius-sm, 10px) !important;
  margin-bottom: 10px !important;
  padding: 12px !important;
}

.booking-request-inner .section-block ul li span,
.booking-request-inner .section-block .radio-combo label,
.booking-request-inner .section-block .check-combo label,
.booking-request-inner .radio-combo label,
.booking-request-inner .check-combo label {
  color: var(--booking-text, #1f1600) !important;
}

.booking-request-inner .booking-main input,
.booking-request-inner .booking-main select,
.booking-request-inner .booking-main textarea {
  background-color: #ffffff !important;
  border: 1px solid var(--booking-border-strong, rgba(31, 22, 0, 0.24)) !important;
  border-radius: var(--booking-radius-sm, 10px) !important;
  color: var(--booking-text, #1f1600) !important;
}

.booking-request-inner .discount-block {
  background: #ffffff !important;
  border-color: var(--booking-border, rgba(31, 22, 0, 0.14)) !important;
  border-radius: var(--booking-radius-sm, 10px) !important;
}

.booking-request-inner .discount-block button {
  background: var(--booking-cool, #176b87) !important;
  border-radius: 8px !important;
  color: #ffffff !important;
}

.booking-request-inner .vehicle-details-popup {
  background: var(--booking-surface, #fffaf0) !important;
  border-radius: var(--booking-radius, 18px) !important;
  color: var(--booking-text, #1f1600) !important;
  overflow: visible !important;
}

.booking-request-inner .vehicle-caption {
  background: linear-gradient(135deg, var(--booking-surface-alt, #fff4dd), rgba(23, 107, 135, 0.12)) !important;
  border-bottom: 1px solid var(--booking-border, rgba(31, 22, 0, 0.14)) !important;
}

.booking-request-inner .car-identy,
.booking-request-inner ul.costlist li strong {
  color: var(--booking-text, #1f1600) !important;
}

.booking-request-inner ul.costlist li {
  background: rgba(255, 255, 255, 0.54) !important;
  border: 1px solid rgba(31, 22, 0, 0.08) !important;
  border-radius: var(--booking-radius-sm, 10px) !important;
  margin-bottom: 10px !important;
  padding: 12px !important;
}

.booking-request-inner ul.costlist li span,
.booking-request-inner .ride-info,
.booking-request-inner .vehicle-data p {
  color: var(--booking-text-soft, #433300) !important;
}

.booking-request-inner .vehicle-details-popup .close-icon {
  align-items: center;
  background: rgba(23, 107, 135, 0.12) !important;
  border: 1px solid rgba(23, 107, 135, 0.18) !important;
  border-radius: 999px !important;
  color: var(--booking-text, #1f1600) !important;
  display: inline-flex !important;
  font-size: 16px !important;
  height: 34px;
  justify-content: center;
  line-height: 1;
  width: 34px;
}

.booking-request-inner .booking-footer {
  background: linear-gradient(135deg, var(--booking-surface-alt, #fff4dd), rgba(239, 191, 4, 0.20)) !important;
  border-top: 1px solid var(--booking-border, rgba(31, 22, 0, 0.14)) !important;
  box-shadow: none !important;
  gap: 12px;
  border-radius: 0 0 var(--booking-radius, 18px) var(--booking-radius, 18px) !important;
  padding: 16px !important;
}

.booking-request-inner .booking-footer button,
.booking-request-inner .booking-footer .submitbtn,
.booking-request-inner button.waves-effect,
.booking-request-inner .btn.blue,
.booking-request-inner .step-actions .next-step {
  background: linear-gradient(135deg, var(--booking-gold, #efbf04), var(--booking-gold-dark, #c19902)) !important;
  border: 1px solid rgba(31, 22, 0, 0.16) !important;
  border-radius: var(--booking-radius-sm, 10px) !important;
  box-shadow: 0 12px 28px rgba(31, 22, 0, 0.14) !important;
  color: var(--booking-text, #1f1600) !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

.booking-request-inner .booking-footer button:hover,
.booking-request-inner .booking-footer .submitbtn:hover,
.booking-request-inner button.waves-effect:hover,
.booking-request-inner button.waves-effect:focus,
.booking-request-inner .step-actions .next-step:hover,
.booking-request-inner .step-actions .next-step:focus {
  background: linear-gradient(135deg, #f6cc34, var(--booking-gold, #efbf04)) !important;
  color: var(--booking-text, #1f1600) !important;
  transform: translateY(-1px);
}

.booking-request-inner .step-actions .previous-step,
.booking-request-inner .btn-flat.previous-step {
  background: #ffffff !important;
  border-color: var(--booking-border-strong, rgba(31, 22, 0, 0.24)) !important;
  box-shadow: none !important;
  color: var(--booking-text, #1f1600) !important;
}

@media (max-width: 1024px) {
  .booking-request-inner {
    justify-content: center;
  }
}

@media (max-width: 767px) {
  .booking-request-inner {
    padding: 14px !important;
    width: 100% !important;
  }

  .booking-request-inner .booking-block {
    border-radius: 16px !important;
    width: 100% !important;
  }

  .booking-request-inner .booking-header {
    padding: 18px !important;
  }

  .booking-request-inner .booking-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .booking-request-inner .booking-heading select,
  .booking-request-inner .booking-header select {
    width: 100% !important;
  }

  .booking-request-inner .pick-drop-location {
    padding: 12px !important;
  }

  .booking-request-inner ul.stepper.linear,
  .booking-request-inner .booking-block.userfare ul.stepper.linear {
    height: auto !important;
    max-height: none !important;
    padding: 0 14px !important;
  }

  .booking-request-inner .section-block {
    padding: 14px !important;
  }

  .booking-request-inner .booking-footer {
    padding: 14px !important;
  }
}

/* TermsFeed dark simple English banner text color */
.termsfeed-com---reset.termsfeed-com---nb.termsfeed-com---palette-dark.termsfeed-com---nb-simple.termsfeed-com---lang-en,
.termsfeed-com---reset.termsfeed-com---nb.termsfeed-com---palette-dark.termsfeed-com---nb-simple.termsfeed-com---lang-en * {
  color: brown !important;
}
