.register .btn-send-otp.chbs-button {
  min-width: 150px !important;
  white-space: nowrap;
}
.chbs-ride-info .time span {
    font-family: 'Steagal' !important;
}
.h--100 { height: 100%; }
.w--100 { width: 100%; }
.flex {
    display: flex;
}
.space-between { justify-content: space-between; }
.content-center { justify-content: center; }
.align-items { align-items: center; }
.white-space-nowrap { white-space: nowrap !important; }
.c-label {
    color: #17171a !important;
    font-weight: 600 !important;
    text-transform: capitalize !important;
    font-size: 16px !important;
}
body a:focus, body a:hover,
.text-color,
.text-color:hover {
    color: var(--primary-color);
}
.w-full { width: 100% !important; }
.w-100 { width: 100px !important; }
.w-200 { width: 200px !important; }
.w-250 { width: 250px !important; }
.w-300 { width: 300px !important; }
.cursor-pointer { cursor: pointer !important; }
.border-none { border: none !important; }
.text-underline { text-decoration: underline !important; }
.p-0 { padding: 0 !important; }
.m-0 { margin: 0 !important; }

.pt-0 { padding-top: 0 !important; }
.pb-0 { padding-bottom: 0 !important; }
.pl-0 { padding-left: 0 !important; }
.pl-2 { padding-left: 2px !important; }
.pl-3 { padding-left: 3px !important; }
.pl-20 { padding-left: 20px !important; }
.pr-2 { padding-right: 2px !important; }
.pr-3 { padding-right: 3px !important; }
.pr-20 { padding-right: 20px !important; }

.mt-0 { margin-top: 0 !important; }
.mt-10 { margin-top: 10px !important; }
.mt-20 { margin-top: 20px !important; }
.mt-30 { margin-top: 30px !important; }
.mt-40 { margin-top: 40px !important; }
.mt-44 { margin-top: 44px !important; }
.mt-80 { margin-top: 80px !important; }
.mb-0 { margin-bottom: 0 !important; }
.mb-5 { margin-bottom: 5px !important; }
.mb-8 { margin-bottom: 8px !important; }
.mb-10 { margin-bottom: 10px !important; }
.mb-20 { margin-bottom: 20px !important; }
.mb-30 { margin-bottom: 30px !important; }
.mb-40 { margin-bottom: 40px !important; }
.mb-45 { margin-bottom: 45px !important; }
.mb-50 { margin-bottom: 50px !important; }

.text-11 { font-size: 11px !important; }
.text-12 { font-size: 12px !important; }
.text-18 { font-size: 18px !important; }

.text-weight-400 { font-weight: 400 !important; }
.text-weight-600 { font-weight: 600 !important; }
.text-weight-700 { font-weight: 700 !important; }
.text-weight-800 { font-weight: 800 !important; }

.gap-10 { gap: 10px; }

.chbs-btn {
    display: flex !important;
    height: 55px;
    align-items: center;
}
.chbs-btn span {
  font-weight: 400 !important;
  text-transform: uppercase;
}
.ui-timepicker-container.ui-timepicker-standard {
    z-index: 9999 !important;
}
/* Modern logout button with spinner */
.ryde-logout-spinner {
    display: inline-block;
    vertical-align: middle;
}

.ryde-logout-spinner svg {
    width: 16px;
    height: 16px;
    vertical-align: middle;
}

.ryde-logout-spinner circle {
    opacity: 0.8;
}

.ryde-logout-text {
    display: inline-block;
    vertical-align: middle;
    margin-left: 4px;
}

.ryde-logout-icon .ryde-logout-icon-svg {
    display: inline-block;
    vertical-align: middle;
    margin-right: 6px;
}

.ryde-logout-button:disabled,
.ryde-logout-link:disabled,
.ryde-logout-icon:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

/* Animation for spinner */
@keyframes ryde-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}


.chbs-payment-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 25px;
}


.link-btn {
    border: none;
    padding: 0;
    height: auto;
    background: none;
    color: #17171a;
    font-size: 13px;
}
.link-btn:hover {
    border: none;
    background: none;
    color: #17171a;
}

.price-tax-label {
    font-size: 14px;
    margin-top: 6px;
}

.chbs-main .chbs-ui-tabs-nav>li>a {
    height: 100%;
}

html body .chbs-main .ride-booking-tab ul.chbs-ui-tabs-nav {
    background: #f2f3f5;
    padding: 5px !important;
    border-radius: 1rem;
}
.chbs-main .ride-booking-tab .chbs-ui-tabs-panel {
    border: none;
}
.chbs-main .ride-booking-tab .chbs-ui-tabs-nav>li.active>a {
    background: #fff;
    color: #000;
    font-weight: 600;
    text-transform: capitalize;
    padding: 4px 10px;
    border-radius: .5rem;
    border: none;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.chbs-main .ride-booking-tab .chbs-ui-tabs-nav>li>a {
    color: #46464d;
    font-weight: 500;
    text-transform: capitalize;
    padding: 4px 10px;
    border: none;
}

/* Simple Plus Minus Control */
.quantity-control, .quantity-control-seats {
    display: inline-flex;
    align-items: center;
    border-radius: 6px;
    overflow: hidden;
    width: fit-content;
    gap: 10px;
}
.qty-btn {
    width: 40px;
    height: 40px;
    /* background: var(--primary-color); */
    background: #f2f3f5;
    color: #17171a;
    border: none;
    cursor: pointer;
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
    border-radius: 100px;
    padding: 0;
    margin: 0;
    text-align: center;
}
.qty-btn:hover {
    background: var(--primary-color);
}
.qty-input {
    width: 60px !important;
    height: 25px !important;
    border: none !important;
    text-align: center;
    font-size: 16px !important;
    padding: 0 !important;
    min-height: 44px !important;
    display: flex !important;
    justify-content: center;
}
.qty-input:focus {
    outline: none;
}
.qty-btn:disabled {
    opacity: 0.6;
    background: #f2f3f5;
}

.quantity-control-seats .qty-btn:disabled {
    opacity: 0;
}

/* Routes */
/* Floating Label Styles */
.route-input-wrapper {
    position: relative;
}

.floating-label-wrapper, .floating-label-container {
    display: flex;
    align-items: center;
    position: relative;
    gap: 10px;
    flex-grow: 1;
}

.floating-label {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #17171a;
    font-size: 16px;
    pointer-events: none;
    transition: all 0.2s ease;
    padding: 0 5px;
    line-height: 1;
}

.route-field {
    width: 100%;
    padding: 20px 42px 8px 12px !important;
    border-radius: 8px;
    border: 1px solid #ddd;
    font-size: 16px;
    transition: border-color 0.2s ease;
}

.route-field:focus {
    outline: none;
    border-color: #17171a;
}

/* Label animation states */
.route-field:focus + .floating-label,
.route-field:not(:placeholder-shown) + .floating-label {
    top: 10px;
    transform: translateY(0);
    font-size: 11px;
    color: #46464d;
}

.route-field:focus + .floating-label {
    color: #17171a;
}

.drag-handle {
    cursor: grab;
    font-size: 20px;
    margin-left: 10px;
    color: #777;
    flex-shrink: 0;
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
}
.route-item .remove-stop {
    background: #f2f3f5;
    height: 50px;
    width: 50px;
    border-radius: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 600 !important;
    font-size: 23px;
    cursor: pointer;
}
body .route-item input[type=search], 
body .route-item input[type=date], 
body .route-item input[type=text], 
body .route-item input[type=number], 
body .route-item input[type=email], 
body .route-item input[type=url], 
body .route-item input[type=password], 
body .route-item input[type=tel], 
body .route-item .wp-block-search__input, 
body .route-item select, 
body .route-item textarea {
    background: #f2f3f5;
}

/* Floating Label Inputs */
.c-floating-label-container {
  position: relative;
}
.c-floating-input {
  width: 100%;
  padding: 23px 42px 8px 12px !important;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: none;
  outline: none;
}
.c-floating-label {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #17171a !important;
    pointer-events: none;
    transition: 0.2s ease all;
    font-size: 14px !important;
    background: none !important;
    text-align: left;
    z-index: 999;
}
.c-floating-input:focus + .c-floating-label, .c-floating-input.has-value + .c-floating-label {
    top: 13px;
    left: 10px;
    font-size: 12px;
    color: #46464d;
    background: white;
    padding: 0 4px;
    font-size: 10px !important;
}

/* Meet and Great Options */
.extra-options-card {
  border-radius: 4px;
  max-width: 800px;
  font-family: Arial, sans-serif;
}
.extra-options-card .option-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px 0;
}
.extra-options-card .option-left {
  display: flex;
  align-items: center;
  gap: 10px;
}
.extra-options-card .option-icon {
  font-size: 19px;
}
.extra-options-card .option-title {
    font-size: 17px;
    font-weight: 600 !important;
}
.extra-options-card .option-price {
  font-size: 18px;
  color: #17171a;
}
.extra-options-card hr {
  border: none;
  border-top: 1px solid #ddd;
  margin: 7px 0 !important;
}
.extra-options-card .qty-btn {
    background: var(--primary-color);
    color: #fff;
}
/* Child seat section */
.extra-options-card .child-seat-options {
  margin-top: 10px;
  margin-bottom: 10px;
}
.extra-options-card .seat-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.extra-options-card .seat-label {
  font-size: 14px;
  font-weight: 600 !important;
}
.extra-options-card .qty-input {
    background: #fff !important;
    border: solid 1px rgba(0, 0, 0, 0.25) !important;
}

/* Toggle switch */
.switch {
  position: relative;
  width: 56px;
  height: 30px;
  display: inline-block;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
}

.slider {
  position: absolute;
  cursor: pointer;
  inset: 0;
  background: var(--grey-color);
  border-radius: 30px;
  transition: background 0.3s ease;
}

.slider::before {
  content: "";
  position: absolute;
  width: 24px;
  height: 24px;
  background: #fff;
  border-radius: 50%;
  top: 3px;
  left: 3px;
  transition: transform 0.3s ease;
}

/* ON state */
.switch input:checked + .slider,
.switch.chbs-state-selected .slider {
  background: var(--primary-color);
}

.switch input:checked + .slider::before,
.switch.chbs-state-selected .slider::before {
  transform: translateX(26px);
}
































.stops-container {
    margin-top: 20px;
    padding: 15px;
    border: 1px solid #e0e0e0;
}

.stops-list {
    min-height: 50px;
}

.stop-item {
    position: relative;
    margin-bottom: 15px;
    padding: 15px;
    background: #f9f9f9;
    border: 1px solid #ddd;
    cursor: move;
    transition: all 0.3s ease;
}

.stop-item:hover {
    background: #f0f0f0;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.stop-item.ui-sortable-helper {
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    transform: scale(1.02);
}

.stop-item.ui-sortable-placeholder {
    background: #e0e0e0;
    border: 2px dashed #ccc;
    visibility: visible !important;
}

.stop-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
}

.stop-number {
    font-weight: bold;
    color: var(--primary-color);
    font-size: 16px;
}

.remove-stop {
    background: #f2f3f5;
    height: 50px;
    width: 50px;
    border-radius: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 600 !important;
    font-size: 23px;
    cursor: pointer;
    color: #17171a;
    border: none;
    margin-left: 14px;
}

.remove-stop:hover {
    background: #ebecec;
    color: #17171a !important;
}

.handle {
    /* cursor: move; */
    touch-action: none;
    cursor: grab;
    color: #666;
    margin-right: 10px;
}

.handle:hover {
    color: var(--primary-color);
}

.link-btn {
    background: none;
    border: none;
    color: var(--primary-color);
    cursor: pointer;
    font-size: 14px;
    padding: 0;
}

.link-btn:hover {
    text-decoration: underline;
}



.handle-draggable {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    margin-right: 83px;
    font-size: 20px;
    margin-top: -2px;
}
.stop-field-item:first-child .handle-draggable, .stop-field-item:last-child .handle-draggable {
    margin-right: 22px;
}
.stop-address, .pickup-address, .dropoff-address {
    padding-right: 54px !important;
}

.c-booking-buttons {
    display: flex;
    /* border-bottom: 2px solid var(--primary-color); */
}
.c-booking-buttons .c-button {
    flex: 1;
    padding: 21px !important;
    display: block;
    font-size: 13px;
    font-weight: 400;
    text-align: center;
    border-style: solid;
    text-transform: uppercase;
    border-width: 1px;
    border-color: var(--primary-color);
    transition: all 0.5s ease;
    text-decoration: none;
    border-radius: 0 !important;
    background-color: #fff;
    color: var(--primary-color);
}
.c-booking-buttons .c-button.active {
    border-color: var(--primary-color);
    background: var(--primary-color);
    color: var(--white-color);
}


.autocomplete-wrapper .ui-autocomplete {
    max-height: 200px;
    overflow-y: auto;
    overflow-x: hidden;
    z-index: 9999;
    position: absolute !important;
    background: #fff;
    margin-top: 66px;
    padding: 5px 0 !important;
    text-align: left;
    border-radius: 5px;
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(0, 0, 0, 0.25);
}
.autocomplete-wrapper .ui-autocomplete .ui-menu-item {
    margin: 0;
    padding: 4px 15px;
    cursor: pointer;
    font-size: 13px;
}
.autocomplete-wrapper .ui-autocomplete .ui-menu-item:hover {
    background: #eaecee;
}
.chbs-form-control.pac-target-input {
    padding-right: 58px;
}


.extra-options-card.w-full {
    width: 100%;
    max-width: 100%;
}

.chbs-ride-info.chbs-box-shadow,
.chbs-google-map,
.c-booking-buttons {
    overflow: hidden;
}
.chbs-layout-column-right .chbs-google-map {
    /* height: calc(100% - 85px); */
    height: calc(100% - 179px);
}
.chbs-main .c-chbs-ui-tabs-nav {
    /* border-bottom: 2px solid var(--primary-color); */
    /* overflow: hidden; */
}
.chbs-main .c-chbs-ui-tabs-nav {
    display: flex;
    padding: 0 !important;
    margin: 0 !important;
}
.chbs-main .c-chbs-ui-tabs-tab {
    flex: 1;
    margin: 0 !important;
}
.chbs-main .c-chbs-ui-tabs-nav>li>.c-chbs-ui-tabs-anchor {
    height: 100%;
    padding: 21px;
    display: block;
    font-size: 13px;
    font-weight: 400;
    text-align: center;
    border-style: solid;
    text-transform: uppercase;
    border-width: 1px 0px 1px 1px;
    border-color: var(--primary-color);
    transition: all 0.5s ease;
    text-decoration: none;
    color: var(--primary-color);
    cursor: pointer;
}
.chbs-main .c-chbs-ui-tabs-nav>li.active>.c-chbs-ui-tabs-anchor {
    border-color: var(--primary-color);
    background: var(--primary-color);
    color: var(--white-color);
}
.chbs-main .c-chbs-ui-tabs-nav>li:last-child>.c-chbs-ui-tabs-anchor {
    border-right-width: 1px;
}

.chbs-vehicle-content .chbs-show-more-button a:hover,
.chbs-vehicle-content .chbs-show-more-button a:focus {
    color: var(--primary-color);
}

.iti.iti--allow-dropdown {
    flex-grow: 1;
}
.iti__search-input {
    height: 32px !important;
    padding-left: 30px !important;
    margin-left: 5px !important;
    margin-right: 5px !important;
    background: #fff !important;
    box-shadow: none !important;
    border: none !important;
    min-height: 32px !important;
}
.iti--inline-dropdown .iti__country-list {
    padding: 0 !important;
}
.iti__country {
    margin: 0 !important;
}
button.iti__selected-country:hover {
    background: none !important;
    color: #000 !important;
}

.c-chbs-tooltip {
    opacity: 0.5;
    cursor: help;
    font-size: 12px;
    position: relative;
}

/* .theme-btn {
    display: block;
    background-color: var(--primary-color);
    color: #FFFFFF;
    font-size: 18px;
    padding: 15px 15px 15px;
    border: 1px solid transparent;
    transition: all 0.4s ease;
    border-radius: 8px;
    text-decoration: none !important;
    text-align: center;
} */

.tippy-box {
    background-color: var(--primary-color) !important;
    border-radius: 0 !important;
}
.tippy-content {
    padding: 12px 9px !important;
    font-weight: 600 !important;
}
.tippy-arrow {
    color: var(--primary-color) !important;
}
/* .tippy-box[data-placement^=top]>.tippy-arrow {
    transform: translate3d(0px, 0px, 0px) !important;
} */
.tippy-box[data-placement^=top]>.tippy-arrow:before {
    border-width: 10px 9px 0 1px !important;
}

.top_panel.login-form .white_box.white_box_2 {
    padding: 0;
    border: none;
}
.copy-right-txt, .copy-right-txt a {
    color: #000;
}
.copy-right-txt a {
    text-decoration: none;
}
.copy-right-txt a:hover {
    text-decoration: underline;
}
.copy-right-txt a:hover, .copy-right-txt a:focus {
    color: #000;
}

.powered-by-txt, .powered-by-txt a {
    color: #A5A9AE;
}
.powered-by-txt a {
    text-decoration: none;
}
.powered-by-txt a:hover {
    text-decoration: underline;
}
.powered-by-txt a:hover, .powered-by-txt a:focus {
    color: #A5A9AE;
}

.password-validation-box {
    margin-top: 18px;
    position: relative;
    border: 1px solid rgba(0, 0, 0, 0.25);
    border-radius: 6px;
    padding: 26px 22px 22px;
    font-size: 16px;
    color: var(--primary-color);
}
.password-validation-box .heading-sep,
.password-validation-box .heading-sep strong {
    color: var(--primary-color);
}
.pass-checking-status {
    position: absolute;
    top: 22px;
    right: 22px;
}
.error-label-item {
    display: flex;
    gap: 10px;
    align-items: center;
}
.error-label-item span.icon {
    border: solid 1px var(--primary-color);
    border-radius: 100%;
    padding: 3px;
    font-size: 11px;
}


.billing-input {
    padding: 12px 14px !important;
    border: 1px solid #e1e5eb !important;
    border-radius: 6px !important;
    background-color: #ffffff !important;
    margin-bottom: 12px !important;
    margin-top: 0 !important;
    font-size: 16px !important;
    color: #32325d !important;
    min-height: auto !important;
}
.billing-input:focus {
    outline: none !important;
    border-color: #e1e5eb !important;
    box-shadow: none !important;
    border-width: 1px !important;
}
.billing-input.stripe-label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    font-size: 14px;
}
.billing-input::-webkit-input-placeholder {
  color: #aab7c4 !important;
  font-size: 17px !important;
}
.billing-input::-moz-placeholder {
  color: #aab7c4 !important;
  font-size: 17px !important;
}
.billing-input:-ms-input-placeholder {
  color: #aab7c4 !important;
  font-size: 17px !important;
}
.billing-input::placeholder {
  color: #aab7c4 !important;
  font-size: 17px !important;
}


/* Optional: Add visual styling for disabled state */
.chbs-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
.chbs-button.enabled {
    cursor: pointer;
    opacity: 1;
}
.chbs-button.disabled {
    cursor: not-allowed;
    opacity: 0.6;
}

.step-4-buttons {
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-top: 30px;
}
.step-4-buttons .chbs-button {
    /* flex: 1; */
    /* padding-left: 10px !important;
    padding-right: 10px !important; */
}

.ct-photo-box {
    display: flex;
    align-items: center;
    gap: 20px;
}
.ct-photo-box img {
    width: 100%;
    max-width: 180px;
}
.single-item {
    background: #fff;
    padding: 10px 20px;
    border-radius: 4px;
}
.car-fare-price-list {
    background: #fff;
    padding: 10px 20px;
    border-radius: 4px;
    text-transform: uppercase;
}
.car-fare-price-list .item {
    display: flex;
    justify-content: space-between;
    color: var(--primary-color);
    border-bottom: solid 1px #CED3D9;
    padding: 10px 0;
}
.car-fare-price-list .item:last-child {
    border-bottom: none;
}
.car-fare-price-list .item .txt {
    font-size: 13px;
}
.car-fare-price-list .item .price span:first-child {
    font-size: 17px;
    font-weight: 800;
}

.gratuity-list {
    display: flex;
    gap: 10px;
}

.booking-contact-row {
    display: flex;
    gap: 5px;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}
.booking-contact-row .item {
    display: flex;
    gap: 5px;
    justify-content: center;
    align-items: center;
    margin-right: 14px;
}
.booking-contact-row .item:last-child {
    margin-right: 0px;
}
.booking-contact-row .item .icon {
    display: flex;
}
.chbs-summary .chbs-summary-field .chbs-summary-field-name.step-4 {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 7px;
}

body .grecaptcha-badge {
  z-index: 9998 !important;
  visibility: visible !important;
  opacity: 1 !important;
  display: block !important;
}

.chbs-layout-column-right .chbs-ride-info {
    display: flex;
}
.chbs-main .chbs-ride-info>div {
    display: flex;
    justify-content: center;
    gap: 10px;
    align-items: center;
    padding: 8px 30px 8px 40px;
    flex: 1;
}
.chbs-main .chbs-ride-info>div .content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.chbs-main .chbs-ride-info .distance-val,
.chbs-main .chbs-ride-info .time-val {
    font-size: 26px;
    font-weight: 700;
    display: flex;
}
.chbs-main .chbs-ride-info .distance-val {
    gap: 6px;
}

.chbs-button.chbs-button-step-next,
.chbs-main .chbs-button.chbs-button-step-prev,
.chbs-button.select-vehicle-btn,
.step-4-buttons .chbs-button {
    height: 55px !important;
}
.chbs-main .chbs-vehicle-list .chbs-vehicle .chbs-vehicle-image {
    flex: 0 0 220px;
}
.chbs-vehicle-content {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}
.chbs-vehicle-content-header {
    width: 100%;
}
.chbs-vehicle-content-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 15px;
}
.chbs-vehicle-content-meta .chbs-meta-content {
    display: flex;
    justify-content: center;
    flex: 0 0 220px;
}
.chbs-vehicle-content-meta-info span:last-child {
    margin-right: 0;
}
span.chbs-show-more-button {
    margin-right: 22px;
}



.car-description-modal.modal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1050;
    overflow: hidden;
    outline: 0;
}

.car-description-modal .modal-dialog {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    max-width: 600px;
    margin: 0;
    transition: none; /* Optional: remove animation */
}

/* For Bootstrap 3 override */
.car-description-modal.modal.fade .modal-dialog {
    transform: translate(-50%, -50%);
}

.car-description-modal.modal.in .modal-dialog {
    transform: translate(-50%, -50%);
}

/* Ensure the modal content is properly styled */
.car-description-modal .modal-content {
    max-height: 90vh;
    overflow: hidden;
}

.car-description-modal .modal-body {
    max-height: 70vh;
    overflow-y: auto;
    padding-right: 15px;
}
.chbs-vehicle-content-meta-info {
    display: flex;
    align-items: center;
    gap: 7px;
}

a.chbs-button.select-vehicle-btn {
    width: 130px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
}

.chbs-summary .chbs-summary-field.two-col {
    display: flex;
    gap: 15px;
}
.chbs-summary .chbs-summary-field.two-col .chbs-layout-column-left,
.chbs-summary .chbs-summary-field.two-col .chbs-layout-column-right {
    flex: 1;
}
.step-4-buttons .book-now-btn,
.step-4-buttons .enter-contact-details-btn {
    min-width: 258px;
}

.step-1-nav, .step-2-nav, .step-3-nav, .step-4-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 25px;
}
.step-2-nav .chbs-button-step-prev,
.step-3-nav .chbs-button-step-prev,
.step-4-nav .chbs-button-step-prev {
    order: 1;
}
.step-2-nav .powered-by-txt,
.step-3-nav .powered-by-txt,
.step-4-nav .powered-by-txt {
    order: 2;
}
.step-2-nav .chbs-button-step-next,
.step-3-nav .chbs-button-step-next,
.step-4-nav .book-now-btn,
.step-4-nav .book-now-sq-btn {
    order: 3;
}

.step-2-nav .powered-by-txt {
    order: 1;
}
.step-2-nav .chbs-button-step-next {
    order: 2;
}
.chbs-main .chbs-booking-extra-header {
    display: flex;
    align-items: center;
    justify-content: center;
}
.chbs-main .chbs-booking-extra-header>span.chbs-circle {
    display: flex;
    justify-content: center;
    align-items: center;
}

.v-card {
    border: 1px solid #e2e2e2;
    border-radius: 30px;
    padding: 30px;
}

.v-modal-container {
    padding: 0 10px !important;
}
.v-modal-container ul {
    padding: 0 !important;
}
.v-modal-container h1, .v-modal-container h2, .v-modal-container h3, .v-modal-container h4, .v-modal-container h5, .v-modal-container h6 {
  margin-top: 15px;
  margin-bottom: 10px;
}
.icon-list {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  padding: 0;
  margin-top: 15px;
  margin-bottom: 30px;
  list-style: none;
  margin-right: calc(-.5 * 1.5rem);
  margin-left: calc(-.5 * 1.5rem);
}
.icon-list li {
  /* flex: 0 1 33%; */
  flex: 0 0 auto;
  width: 31.333333%;
  display: flex;
  align-items: center;
  gap: 8px;
  box-sizing: border-box;
  margin: 0;
}
.icon-list li span:first-child {
    display: flex;
    justify-content: center;
    align-items: center;
}
.icon-list i {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-repeat: no-repeat;
    background-position: center;
    border: solid 1px var(--primary-color);
    border-radius: 100%;
    background-size: 12px 12px !important;
}
.chbs-button-base {
    background-color: var(--primary-color);
    color: var(--white-color) !important;
    padding: 14px 24px 16px 32px;
    height: 55px !important;
    font-size: 14px;
    display: inline-block;
    font-weight: 400;
    border-width: 2px;
    border-style: solid;
    text-transform: uppercase;
    transition: all 0.5s ease;
    cursor: pointer;
    border-color: var(--primary-color);
}
.chbs-button-base:hover {
    background-color: var(--white-color);
    color: var(--primary-color) !important;
    border-color: var(--primary-color);
    text-decoration: none;
}
.chbs-button-light {
    background-color: var(--grey-color);
    color: var(--primary-color);
    padding: 14px 24px 16px 32px;
    height: 55px !important;
    font-size: 14px;
    display: inline-block;
    font-weight: 400;
    border-width: 2px;
    border-style: solid;
    text-transform: uppercase;
    transition: all 0.5s ease;
    cursor: pointer;
    border-color: var(--grey-color);
    display: flex;
    align-items: center;
    justify-content: center;
}
.chbs-button-light:hover {
    background-color: var(--white-color);
    color: var(--primary-color);
    border-color: var(--grey-color);
}
.chbs-button-light span {
    font-size: 14px;
    font-weight: 400 !important;
    text-transform: uppercase;
}


.chbs-button-dark,
.ryde-logout-button {
    background-color: #000;
    color: #fff;
    padding: 14px 24px 14px 24px;
    height: 55px !important;
    font-size: 14px;
    display: inline-block;
    font-weight: 400;
    border-width: 2px;
    border-style: solid;
    text-transform: uppercase;
    transition: all 0.5s ease;
    cursor: pointer;
    border-color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
}
.chbs-button-dark:hover,
.ryde-logout-button:hover {
    background-color: var(--white-color);
    color: #000;
    border-color: #000;
    text-decoration: none;
}
.chbs-button-dark span,
.ryde-logout-button span {
    font-size: 14px;
    font-weight: 400 !important;
    text-transform: uppercase;
}

.after-payment.buttons {
    display: flex;
    gap: 12px;
    justify-content: center;
    margin-top: 30px;
    align-items: center;
    flex-wrap: wrap;
}
.after-payment.buttons button {
    min-width: 230px;
}
.chbs-vehicle-content-price {
    text-align: left;
}
.booking-detail .txt-desc {
    font-weight: 700 !important;
    color: #000;
}


.rideTypeToggle {
    display: none;
}
.chbs-tab-menu-btn {
    background-color: var(--primary-color);
    color: var(--white-color);
    padding: 14px 24px 16px 32px;
    height: 55px !important;
    font-size: 14px;
    font-weight: 400;
    border-width: 2px;
    border-style: solid;
    text-transform: uppercase;
    transition: all 0.5s ease;
    cursor: pointer;
    border-color: var(--primary-color);
}
.chbs-tab-menu-btn:hover {
    background-color: var(--primary-color);
    color: #fff;
    border-color: var(--primary-color);
}
.chbs-tab-menu-btn:after {
    content: "\64";
    display: block;
    position: absolute;
    width: 0;
    height: 0;
    top: 64%;
    right: 20px;
    font-family: 'chbs-meta-icon' !important;
    speak: none;
    font-style: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    transform: translate(0%, -50%) rotate(180deg);
}
.chbs-tab-menu-btn.active:after {
    transform: translateY(-50%) rotate(180deg);
}

.bookingToggle {
    display: none;
}

.dashboard-page .dashboard .dashboard-left .dashboard-links ul {
    gap: 0 !important;
}
.dashboard-page .dashboard .dashboard-left .dashboard-links ul li a:hover, 
.dashboard-page .dashboard .dashboard-left .dashboard-links ul li a.active {
    background-color: var(--primary-color) !important;
    border: 1px solid var(--primary-color) !important;
    color: #fff !important;
}
.dashboard-page .dashboard .dashboard-left .dashboard-links ul li a {
    background-color: #fff !important;
    color: var(--primary-color) !important;
    border-width: 1px 0px 1px 1px;
    border-style: solid;
    border-color: var(--primary-color) !important;
    font-family: 'Steagal' !important;
    font-size: 14px;
    text-transform: uppercase;
}
.dashboard-page .dashboard .dashboard-left .dashboard-links ul li:last-child a {
    border-right-width: 1px;
}
.dashboard-toggle {
    display: none;
    width: 100%;
    padding: 12px 15px;
    background: var(--primary-color);
    border: 1px solid var(--primary-color);
    border-radius: 4px;
    text-align: left;
    cursor: pointer;
    position: relative;
}

.dashboard-toggle::after {
    font-family: 'chbs-meta-icon' !important;
    content: "\64";
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%) rotate(180deg);
    font-size: 12px;
    transition: transform 0.3s;
}
.dashboard-links {
    position: relative;
}
.dashboard .table>tbody>tr>td,
.dashboard .table>tbody>tr>th,
.dashboard .table>tfoot>tr>td,
.dashboard .table>tfoot>tr>th,
.dashboard .table>thead>tr>td,
.dashboard .table>thead>tr>th {
    text-align: center;
    vertical-align: middle !important;
    font-size: 14px;
    color: #000;
    padding: 10px 16px;
}
.dashboard .actions a.chbs-button-dark {
    margin: 10px 0;
    padding: 10px 20px !important;
    height: auto !important;
    font-size: 12px;
}
.dashboard-powered-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
}

.dashboard-powered-footer .new-btn .chbs-button-base,
.dashboard-powered-footer .logout-btn .ryde-logout-button {
    min-width: 165px;
}

.show-auth {
    font-weight: 400;
    display: flex;
    justify-content: center;
    gap: 25px;
    margin-top: 16px;
    align-items: center;
}
.ryde-widget {
    padding: 22px;
    /* border-radius: 22px; */
}
.ryde-widget .chbs-form-field {
    padding-top: 0;
}
.ryde-theme-dark {
    /* background: #000; */
}
.ryde-theme-dark .chbs-input-box .chbs-form-control {
    /* background-color: #000; */
    border-color: var(--content-color);
    color: var(--content-color);
}
.ryde-theme-dark .chbs-button-base:hover {
    /* background-color: #000; */
}
.ryde-theme-dark .chbs-main .chbs-tooltip,
.ryde-theme-dark .dashboard-page .chbs-tooltip {
    opacity: 0.8;
}
.c-modal-footer {
    display: flex;
    gap: 15px;
    justify-content: end;
}
.c-modal-footer .chbs-button-light {
    padding: 14px 24px 16px 24px !important;
}

@media (max-width: 1250px) {
    .dashboard-right .table-scroll {
        width: 100%;
    }
}

@media (max-width: 1024px) {
    .dashboard-right .table-scroll {
        width: 100%;
    }
}

@media (max-width: 991px) {
    .chbs-main-content-step-1 .chbs-layout-50x50 {
        flex-direction: column;
        gap: 20px;
    }
    .chbs-main-content-step-3 .chbs-form-field.chbs-column-2 {
        flex-direction: column;
        gap: 20px;
    }
    .step-1-nav,
    .step-2-nav,
    .step-3-nav,
    .step-4-nav,
    .dashboard-powered-footer {
        flex-direction: column;
    }
    .dashboard-powered-footer .new-btn,
    .dashboard-powered-footer .logout-btn {
        width: 100%;
        text-align: center;
    }
    .step-2-nav .chbs-button-step-prev,
    .step-3-nav .chbs-button-step-prev,
    .step-4-nav .chbs-button-step-prev {
        order: 1;
        width: 100%;
    }
    .step-2-nav .powered-by-txt,
    .step-3-nav .powered-by-txt,
    .step-4-nav .powered-by-txt,
    .dashboard-powered-footer .powered-by-txt {
        order: 3;
        width: 100%;
    }
    .step-2-nav .chbs-button-step-next,
    .step-3-nav .chbs-button-step-next,
    .step-4-nav .book-now-btn,
    .step-4-nav .book-now-sq-btn,
    .dashboard-powered-footer .chbs-button-base,
    .dashboard-powered-footer .chbs-button-dark {
        order: 2;
        width: 100%;
    }

    .step-1-nav .powered-by-txt {
        order: 2;
        width: 100%;
    }
    .step-1-nav .chbs-button-step-next {
        order: 1;
        width: 100%;
    }
    .icon-list li {
      width: 48%;
    }
}

@media (max-width: 767px) {
    /* .step-4-buttons {
        flex-direction: column-reverse;
    } */
    .step-4-buttons .chbs-button {
        width: 100%;
    }
    .gratuity-list {
        flex-direction: column;
    }
    .chbs-layout-column-right .chbs-ride-info {
        flex-direction: column;
    }
    body .chbs-main .chbs-ride-info>div:last-child {
        border-top-right-radius: 0 !important;
    }
    .after-payment.buttons {
        flex-direction: column;
    }
    .after-payment.buttons button,
    .after-payment.buttons a {
        width: 100%;
    }
    .chbs-vehicle-content-header .title,
    .chbs-vehicle-content-price {
        text-align: left;
    }
    .chbs-vehicle-content-meta .chbs-meta-content {
        justify-content: left;
    }



    .chbs-main .c-chbs-ui-tabs-nav>li>.c-chbs-ui-tabs-anchor {
        border: none;
        padding: 12px 10px;
    }
    .rideTypeToggle {
        display: block;
        width: 100%;
        padding: 12px;
        background: var(--primary-color);
        border: 1px solid var(--primary-color);
        border-radius: 6px;
        text-align: left;
        font-weight: 600;
        cursor: pointer;
        color: #fff;
    }
    .c-chbs-menu {
        position: relative;
    }
    .chbs-main .c-chbs-ui-tabs-nav {
        display: none;
        list-style: none;
        padding: 0;
        margin: 5px 0 0 0;
        border: 1px solid #ddd;
        border-radius: 6px;
        background: #fff;
        -webkit-box-shadow: 0px 18px 19px -10px rgba(0, 0, 0, 0.1);
        -moz-box-shadow: 0px 18px 19px -10px rgba(0, 0, 0, 0.1);
        box-shadow: 0px 18px 19px -10px rgba(0, 0, 0, 0.1);
        transition: opacity 300ms ease-out, bottom 300ms ease-out;
        -webkit-transition: opacity 300ms ease-out, bottom 300ms ease-out;
        -moz-transition: opacity 300ms ease-out, bottom 300ms ease-out;
        -ms-transition: opacity 300ms ease-out, bottom 300ms ease-out;
        -o-transition: opacity 300ms ease-out, bottom 300ms ease-out;
    }
    .c-chbs-ui-tabs-nav.open {
        display: block;
        position: absolute;
        width: 100%;
        z-index: 99;
        transition: opacity 300ms ease-out, bottom 300ms ease-out;
        -webkit-transition: opacity 300ms ease-out, bottom 300ms ease-out;
        -moz-transition: opacity 300ms ease-out, bottom 300ms ease-out;
        -ms-transition: opacity 300ms ease-out, bottom 300ms ease-out;
        -o-transition: opacity 300ms ease-out, bottom 300ms ease-out;
    }
    .c-chbs-ui-tabs-tab {
        /* padding: 10px; */
        border-bottom: 1px solid #eee;
    }
    .c-chbs-ui-tabs-tab:last-child {
        border-bottom: none;
    }
    .chbs-main .c-chbs-ui-tabs-nav.open>li.active>.c-chbs-ui-tabs-anchor {
        background: var(--grey-color);
        color: var(--primary-color);
    }

    .c-booking-menu {
        position: relative;
    }

    .bookingToggle {
        display: block;
        width: 100%;
        padding: 14px 16px;
        background: var(--primary-color);
        color: #fff;
        border: 2px solid var(--primary-color);
        border-radius: 6px;
        text-align: left;
        cursor: pointer;
        position: relative;
    }

    /* Arrow */
    .c-booking-buttons {
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        transform: translateY(-5px);
        /* transition: 
            max-height 0.05s ease,
            opacity 0.05s ease,
            transform 0.05s ease; */

        border: 1px solid #ddd;
        background: #fff;
        border-radius: 6px;
        box-shadow: 0 15px 25px rgba(0,0,0,0.08);
        margin-top: 6px;
    }

    .c-booking-buttons.open {
        max-height: 200px;
        opacity: 1;
        flex-direction: column;
    }

    .c-booking-buttons .c-button {
        display: block;
        width: 100%;
        border: none;
        border-bottom: 1px solid #eee;
        text-align: left;
        padding: 14px 16px;
        background: #fff;
        text-align: center;
    }
    .c-booking-buttons .c-button:last-child {
        border-bottom: none;
    }
    .c-booking-buttons .c-button.active {
        border-color: var(--grey-color) !important;
        background: var(--white-color);
        color: var(--primary-color);
    }



    .dashboard-toggle {
        display: block;
        margin: 0 !important;
    }
    
    .dashboard-menu {
        display: none;
        position: absolute;
        width: 100%;
        background: white;
        border: 1px solid #dee2e6;
        border-top: none;
        border-radius: 0 0 4px 4px;
        z-index: 1000;
        top: 0;
        text-decoration-line: grammar-error;
        left: 0;
        margin-top: 44px;
    }
    .dashboard-menu.open {
        display: block;
    }
    
    .dashboard-menu li {
        border-bottom: 1px solid #eee;
    }
    
    .dashboard-menu li:last-child {
        border-bottom: none;
    }
    
    .dashboard-menu a {
        display: block;
        padding: 12px 15px;
        text-decoration: none;
    }
    .dashboard-page .dashboard .dashboard-left .dashboard-links ul li a:hover, .dashboard-page .dashboard .dashboard-left .dashboard-links ul li a.active {
        background-color: #fff !important;
        color: var(--primary-color) !important;
        border-color: #eee !important;
    }
    .dashboard-page .dashboard .dashboard-left .dashboard-links ul li a {
        border-color: #eee !important;
        border-radius: 0 !important;
        border-bottom: 0 !important;
    }
    .dashboard-page .dashboard .dashboard-left .dashboard-links ul {
        margin: 0;
        box-shadow: 0 15px 25px rgba(0, 0, 0, 0.08);
    }
}

@media (max-width: 479px) {
    .dashboard-powered-footer {
        flex-direction: column;
    }
    /* .chbs-navigation-button {
        flex-direction: column-reverse;
    } */
    .c-booking-buttons {
        flex-direction: column;
    }
    .chbs-navigation-button.step-3-login-nav .flex {
        flex-direction: column;
        gap: 0;
    }
    .chbs-main .c-chbs-ui-tabs-nav {
        display: block;
    }
    .icon-list li {
      width: 100%;
    }
    .chbs-vehicle-content-header {
        display: flex !important;
    }
    .chbs-vehicle-content-header .title,
    .chbs-vehicle-content-price {
        text-align: left;
    }



    .chbs-main .c-chbs-ui-tabs-nav>li>.c-chbs-ui-tabs-anchor {
        border: none;
        padding: 12px 10px;
    }
    .rideTypeToggle {
        display: block;
        width: 100%;
        padding: 12px;
        background: var(--primary-color);
        border: 1px solid var(--primary-color);
        border-radius: 6px;
        text-align: left;
        font-weight: 600;
        cursor: pointer;
        color: #fff;
    }
    .c-chbs-menu {
        position: relative;
    }
    .chbs-main .c-chbs-ui-tabs-nav {
        display: none;
        list-style: none;
        padding: 0;
        margin: 5px 0 0 0;
        border: 1px solid #ddd;
        border-radius: 6px;
        background: #fff;
        -webkit-box-shadow: 0px 18px 19px -10px rgba(0, 0, 0, 0.1);
        -moz-box-shadow: 0px 18px 19px -10px rgba(0, 0, 0, 0.1);
        box-shadow: 0px 18px 19px -10px rgba(0, 0, 0, 0.1);
        transition: opacity 300ms ease-out, bottom 300ms ease-out;
        -webkit-transition: opacity 300ms ease-out, bottom 300ms ease-out;
        -moz-transition: opacity 300ms ease-out, bottom 300ms ease-out;
        -ms-transition: opacity 300ms ease-out, bottom 300ms ease-out;
        -o-transition: opacity 300ms ease-out, bottom 300ms ease-out;
    }
    .c-chbs-ui-tabs-nav.open {
        display: block;
        position: absolute;
        width: 100%;
        z-index: 99;
        transition: opacity 300ms ease-out, bottom 300ms ease-out;
        -webkit-transition: opacity 300ms ease-out, bottom 300ms ease-out;
        -moz-transition: opacity 300ms ease-out, bottom 300ms ease-out;
        -ms-transition: opacity 300ms ease-out, bottom 300ms ease-out;
        -o-transition: opacity 300ms ease-out, bottom 300ms ease-out;
    }
    .c-chbs-ui-tabs-tab {
        /* padding: 10px; */
        border-bottom: 1px solid #eee;
    }
    .c-chbs-ui-tabs-tab:last-child {
        border-bottom: none;
    }
    .chbs-main .c-chbs-ui-tabs-nav.open>li.active>.c-chbs-ui-tabs-anchor {
        background: var(--grey-color);
        color: var(--primary-color);
    }

    .c-booking-menu {
        position: relative;
    }

    .bookingToggle {
        display: block;
        width: 100%;
        padding: 14px 16px;
        background: var(--primary-color);
        color: #fff;
        border: 2px solid var(--primary-color);
        border-radius: 6px;
        text-align: left;
        cursor: pointer;
        position: relative;
    }

    /* Arrow */
    .c-booking-buttons {
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        transform: translateY(-5px);
        /* transition: 
            max-height 0.05s ease,
            opacity 0.05s ease,
            transform 0.05s ease; */

        border: 1px solid #ddd;
        background: #fff;
        border-radius: 6px;
        box-shadow: 0 15px 25px rgba(0,0,0,0.08);
        margin-top: 6px;
    }

    .c-booking-buttons.open {
        max-height: 200px;
        opacity: 1;
        flex-direction: column;
    }

    .c-booking-buttons .c-button {
        display: block;
        width: 100%;
        border: none;
        border-bottom: 1px solid #eee;
        text-align: left;
        padding: 14px 16px;
        background: #fff;
        text-align: center;
    }
    .c-booking-buttons .c-button:last-child {
        border-bottom: none;
    }
    .c-booking-buttons .c-button.active {
        border-color: var(--grey-color) !important;
        background: var(--white-color);
        color: var(--primary-color);
    }






    .dashboard-toggle {
        display: block;
        margin: 0 !important;
    }
    
    .dashboard-menu {
        display: none;
        position: absolute;
        width: 100%;
        background: white;
        border: 1px solid #dee2e6;
        border-top: none;
        border-radius: 0 0 4px 4px;
        z-index: 1000;
        top: 0;
        text-decoration-line: grammar-error;
        left: 0;
        margin-top: 44px;
    }
    .dashboard-menu.open {
        display: block;
    }
    
    .dashboard-menu li {
        border-bottom: 1px solid #eee;
    }
    
    .dashboard-menu li:last-child {
        border-bottom: none;
    }
    
    .dashboard-menu a {
        display: block;
        padding: 12px 15px;
        text-decoration: none;
    }
    .dashboard-page .dashboard .dashboard-left .dashboard-links ul li a:hover, .dashboard-page .dashboard .dashboard-left .dashboard-links ul li a.active {
        background-color: #fff !important;
        color: var(--primary-color) !important;
        border-color: #eee !important;
    }
    .dashboard-page .dashboard .dashboard-left .dashboard-links ul li a {
        border-color: #eee !important;
        border-radius: 0 !important;
        border-bottom: 0 !important;
    }
    .dashboard-page .dashboard .dashboard-left .dashboard-links ul {
        margin: 0;
        box-shadow: 0 15px 25px rgba(0, 0, 0, 0.08);
    }
}