/* =============================================================================
   Cab Booking Extend — Driver Dashboard Styles
   ============================================================================= */

/* ── CHBS Step 5: Hide the built-in payment section.
      Payment is handled by our custom Stripe link sent after driver accepts.
   ─────────────────────────────────────────────────────────────────────────── */
.chbs-booking-complete-payment,
.chbs-booking-complete-payment-stripe,
.chbs-booking-complete-payment-paypal,
.chbs-booking-complete-payment-woocommerce {
	display: none !important;
}

/* ── Wrapper ──────────────────────────────────────────────────────────────── */
.cbe-dd-wrap {
	font-family: inherit;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 16px 40px;
}

/* ── Page header ──────────────────────────────────────────────────────────── */
.cbe-dd-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 24px;
	padding: 20px 0 16px;
	border-bottom: 2px solid #FF700A;
}

.cbe-dd-header h2 {
	margin: 0;
	font-size: 22px;
	color: #2C3E50;
	font-weight: 700;
}

.cbe-dd-badge {
	background: #FF700A;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	padding: 3px 10px;
	border-radius: 20px;
	margin-left: 10px;
	vertical-align: middle;
}

/* ── Empty state ──────────────────────────────────────────────────────────── */
.cbe-dd-empty {
	text-align: center;
	padding: 60px 20px;
	color: #2C3E50;
}

.cbe-dd-empty svg {
	display: block;
	margin: 0 auto 16px;
	opacity: .35;
}

.cbe-dd-empty h3 {
	font-size: 18px;
	margin: 0 0 6px;
	color: #2C3E50;
}

.cbe-dd-empty p {
	margin: 0;
	font-size: 14px;
}

/* ── Grid ─────────────────────────────────────────────────────────────────── */
.cbe-dd-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 22px;
}

/* ── Card shell ───────────────────────────────────────────────────────────── */
.cbe-offer-card {
	background: #fff;
	border: 1px solid #e8eaec;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
	transition: box-shadow .2s;
}

.cbe-offer-card:hover {
	box-shadow: 0 4px 18px rgba(0, 0, 0, .12);
}

/* ── Card header ──────────────────────────────────────────────────────────── */
.cbe-card-head {
	background: #2C3E50;
	padding: 14px 18px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.cbe-card-head-title {
	color: #fff;
	font-weight: 700;
	font-size: 15px;
	margin: 0;
}

.cbe-card-head-id {
	color: #f0f5f9;
	font-size: 13px;
	font-weight: 600;
}

/* ── Card body ────────────────────────────────────────────────────────────── */
.cbe-card-body {
	padding: 18px;
}

/* ── Info sections ────────────────────────────────────────────────────────── */
.cbe-info-section {
	margin: 0 0 14px;
	padding: 0 0 14px;
	border-bottom: 1px solid #f0f2f4;
}

.cbe-info-section:last-of-type {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.cbe-info-section-label {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .6px;
	color: #2C3E50;
	margin: 0 0 8px;
}

.cbe-info-row {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0 0 5px;
	font-size: 16px;
	color: #2C3E50;
	font-weight: 500;
}

.cbe-info-row:last-child {
	margin-bottom: 0;
}

.cbe-info-icon {
	flex-shrink: 0;
	color: #FF700A;
	margin-top: 5px;
}

.cbe-info-val {
	color: #2C3E50;
	font-weight: 600;
	font-size: 16px;
	display: block;
}

.cbe-info-row a {
	color: #2C3E50 !important;
	font-size: 15px !important;
	text-decoration: none;
}

.cbe-info-row a:hover {
	text-decoration: underline;
}

/* ── Price banner ─────────────────────────────────────────────────────────── */
.cbe-price-banner {
	background: #fff8f0;
	border: 1.5px solid #FF700A;
	border-radius: 6px;
	padding: 10px 14px;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 16px;
	margin: 14px 0;
}

.cbe-price-lbl {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .5px;
	color: #2C3E50;
	font-weight: 700;
}

.cbe-price-val {
	font-size: 22px;
	font-weight: 800;
	color: #FF700A;
}

/* ── Status message ───────────────────────────────────────────────────────── */
.cbe-card-msg {
	padding: 8px 18px;
	font-size: 13px;
	font-weight: 600;
	display: none;
}

.cbe-card-msg.cbe-success {
	background: #d4edda;
	color: #155724;
	display: block;
}

.cbe-card-msg.cbe-error {
	background: #f8d7da;
	color: #721c24;
	display: block;
}

/* ── Counter-offer panel ──────────────────────────────────────────────────── */
.cbe-counter-panel {
	display: none;
	padding: 14px 18px;
	background: #f8f9fa;
	border-top: 1px solid #e8eaec;
}

.cbe-counter-panel label {
	display: block;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .5px;
	color: #2C3E50;
	margin: 0 0 6px;
}

.cbe-counter-row {
	display: flex;
	gap: 8px;
	align-items: center;
}

.cbe-counter-input {
	flex: 1;
	max-width: 160px;
	padding: 8px 12px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 14px;
	color: #2C3E50;
}

.cbe-counter-input:focus {
	border-color: #FF700A;
	outline: none;
}

.cbe-btn-submit-counter {
	background: #FF700A;
	color: #fff;
	padding: 9px 16px;
	border-radius: 4px;
	border: none;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}

.cbe-btn-submit-counter:hover {
	background: #e55e00;
}

/* ── Action buttons ───────────────────────────────────────────────────────── */
.cbe-card-actions {
	padding: 14px 18px 18px;
	border-top: 1px solid #f0f2f4;
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	align-items: center;
}

.cbe-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 18px;
	border-radius: 5px;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	border: none;
	line-height: 1;
	transition: background .15s, transform .1s;
	text-decoration: none;
}

.cbe-btn:active {
	transform: scale(.97);
}

.cbe-btn:disabled,
.cbe-btn[disabled],
.cbe-btn-submit-counter:disabled,
.cbe-btn-submit-counter[disabled] {
	cursor: default;
	opacity: .55;
	transform: none;
}

.cbe-btn-accept {
	background: #FF700A;
	color: #fff;
}

.cbe-btn-accept:hover {
	background: #e55e00;
	color: #fff;
}

.cbe-btn-counter {
	background: #2C3E50;
	color: #fff;
}

.cbe-btn-counter:hover {
	background: #1a252f;
	color: #fff;
}

.cbe-btn-reject {
	background: #fff;
	color: #c0392b;
	border: 1.5px solid #c0392b;
}

.cbe-btn-reject:hover {
	background: #fdf0ef;
	color: #a93226;
	border-color: #a93226;
}

/* ── Card loader / spinner ────────────────────────────────────────────────── */
.cbe-card-loader {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	background: #f8f9fa;
	border-top: 1px solid #eee;
	font-size: 13px;
	color: #555;
}

.cbe-spinner {
	display: inline-block;
	width: 16px;
	height: 16px;
	border: 2px solid #ddd;
	border-top-color: #FF700A;
	border-radius: 50%;
	animation: cbe-spin 0.7s linear infinite;
	flex-shrink: 0;
}

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

/* =============================================================================
   Step 7/8 — Countdown Timers
   ============================================================================= */

/* ── Driver card timer (inside card header) ──────────────────────────────── */
.cbe-driver-timer {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: rgba(255, 112, 10, 0.18);
	border: 1px solid rgba(255, 112, 10, 0.45);
	border-radius: 20px;
	padding: 4px 12px;
	font-size: 13px;
	font-weight: 700;
	color: #fff;
	line-height: 1;
	transition: background .3s, border-color .3s;
}

.cbe-timer-icon {
	font-style: normal;
}

.cbe-timer-countdown {
	font-variant-numeric: tabular-nums;
	letter-spacing: .5px;
	min-width: 38px;
	display: inline-block;
	text-align: center;
}

/* Under 60 seconds — warning orange */
.cbe-driver-timer.cbe-timer-low {
	background: rgba(255, 60, 0, 0.28);
	border-color: rgba(255, 60, 0, 0.65);
	animation: cbe-timer-pulse 0.8s ease-in-out infinite;
}

/* Expired state */
.cbe-driver-timer.cbe-timer-expired {
	background: rgba(192, 57, 43, 0.22);
	border-color: #c0392b;
	color: #ffaaaa;
}

@keyframes cbe-timer-pulse {

	0%,
	100% {
		opacity: 1;
	}

	50% {
		opacity: .6;
	}
}

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media (max-width: 520px) {
	.cbe-dd-grid {
		grid-template-columns: 1fr;
	}

	.cbe-card-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.cbe-btn {
		justify-content: center;
	}
}

/* =============================================================================
   Customer Driver Selection Page
   ============================================================================= */

.cbe-sel-wrap {
	max-width: 860px;
	margin: 40px auto;
	padding: 0 16px 60px;
	font-family: inherit;
}

/* ── Booking summary banner ───────────────────────────────────────────────── */
.cbe-sel-booking-card {
	background: #2C3E50;
	color: #fff;
	border-radius: 8px;
	padding: 18px 22px;
	margin-bottom: 28px;
}

.cbe-sel-booking-title {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 8px;
}

.cbe-sel-booking-meta {
	font-size: 13px;
	color: #f0f5f9;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
}

.cbe-sel-dot {
	color: #4a6070;
}

/* ── Notice states ────────────────────────────────────────────────────────── */
.cbe-sel-notice {
	text-align: center;
	padding: 40px 20px;
	background: #f8f9fa;
	border-radius: 8px;
	color: #2C3E50;
	font-size: 14px;
}

.cbe-sel-notice svg {
	display: block;
	margin: 0 auto 12px;
	opacity: .4;
}

.cbe-sel-notice p {
	margin: 0;
}

.cbe-sel-notice-done {
	background: #d4edda;
	color: #155724;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	text-align: left;
	padding: 18px 22px;
}

/* ── Section header ───────────────────────────────────────────────────────── */
.cbe-sel-header {
	margin-bottom: 20px;
}

.cbe-sel-heading {
	font-size: 22px;
	color: #2C3E50;
	font-weight: 700;
	margin: 0 0 6px;
}

.cbe-sel-subheading {
	color: #2C3E50;
	font-size: 14px;
	margin: 0;
}

/* ── Driver cards grid ────────────────────────────────────────────────────── */
.cbe-sel-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 18px;
	margin-bottom: 28px;
}

.cbe-sel-card {
	background: #fff;
	border: 2px solid #e8eaec;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
	transition: border-color .2s, box-shadow .2s;
}

.cbe-sel-card:hover {
	border-color: #FF700A;
	box-shadow: 0 4px 18px rgba(255, 112, 10, .15);
}

.cbe-sel-card-accepted {
	border-top: 3px solid #28a745;
}

.cbe-sel-card-counter {
	border-top: 3px solid #FF700A;
}

/* ── Driver card head ─────────────────────────────────────────────────────── */
.cbe-sel-card-head {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 18px;
	border-bottom: 1px solid #f0f2f4;
}

.cbe-sel-driver-avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #2C3E50;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 17px;
	font-weight: 700;
	flex-shrink: 0;
}

.cbe-sel-driver-info {
	flex: 1;
	min-width: 0;
}

.cbe-sel-driver-name {
	font-weight: 700;
	font-size: 15px;
	color: #2C3E50;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.cbe-sel-driver-meta {
	font-size: 12px;
	color: #2C3E50;
	margin-top: 2px;
}

.cbe-sel-type-badge {
	font-size: 11px;
	font-weight: 700;
	padding: 3px 10px;
	border-radius: 20px;
	white-space: nowrap;
	flex-shrink: 0;
}

.cbe-badge-accepted {
	background: #d4edda;
	color: #155724;
	padding: 3px 10px;
	border-radius: 10px;
	font-size: 11px;
	font-weight: 700;
	display: inline-block;
}

.cbe-badge-counter {
	background: #fff3cd;
	color: #856404;
	padding: 3px 10px;
	border-radius: 10px;
	font-size: 11px;
	font-weight: 700;
	display: inline-block;
}

.cbe-badge-selected {
	background: #cce5ff;
	color: #004085;
	padding: 3px 10px;
	border-radius: 10px;
	font-size: 11px;
	font-weight: 700;
	display: inline-block;
}

.cbe-badge-rejected {
	background: #f8d7da;
	color: #721c24;
	padding: 3px 10px;
	border-radius: 10px;
	font-size: 11px;
	font-weight: 700;
	display: inline-block;
}

/* ── Price row ────────────────────────────────────────────────────────────── */
.cbe-sel-price-row {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 14px 18px;
	background: #f9fafb;
}

.cbe-sel-price-lbl {
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: .5px;
	color: #2C3E50;
	font-weight: 700;
	margin-bottom: 3px;
}

.cbe-sel-price-orig {
	font-size: 18px;
	font-weight: 700;
	color: #2C3E50;
}

.cbe-sel-price-new {
	font-size: 22px;
	font-weight: 800;
	color: #FF700A;
}

.cbe-sel-arrow {
	font-size: 20px;
	color: #2C3E50;
	flex-shrink: 0;
}

.cbe-sel-accepted-msg {
	display: flex;
	align-items: center;
	gap: 6px;
	color: #28a745;
	font-weight: 700;
	font-size: 13px;
	flex: 1;
	justify-content: flex-end;
}

/* ── Choose button ────────────────────────────────────────────────────────── */
.cbe-sel-choose-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 14px 18px 18px;
	padding: 12px 20px;
	background: #FF700A;
	color: #fff;
	border-radius: 6px;
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
	transition: background .15s;
}

.cbe-sel-choose-btn:hover {
	background: #e55e00;
	color: #fff;
	text-decoration: none;
}

/* ── Footer / cancel link ─────────────────────────────────────────────────── */
.cbe-sel-footer {
	text-align: center;
	margin-top: 8px;
}

.cbe-sel-reject-link {
	color: #aaa;
	font-size: 13px;
	text-decoration: underline;
}

.cbe-sel-reject-link:hover {
	color: #c0392b;
}


.chbs-vehicle-list a.chbs-button,
.chbs-booking-extra-list a.chbs-button,
.chbs-button.chbs-button-style-2 {
	color: #2C3E50 !important;
	background-color: #fff !important;
	border-color: #FF700A !important;
}

.chbs-vehicle-list a.chbs-button:hover,
.chbs-booking-extra-list a.chbs-button:hover,
.chbs-button.chbs-button-style-2:hover {
	color: #fff !important;
	background-color: #FF700A !important;
	border-color: #FF700A !important;
}



.cbe-tabs-wrap {
	width: 100%;
	font-family: inherit;
}

.cbe-tabs-nav {
	display: flex;
	gap: 0;
	margin-bottom: 0;
}

.cbe-tab-btn {
	padding: 12px 28px;
	font-size: 17px;
	font-weight: 600;
	border: none;
	cursor: pointer;
	background: rgba(255, 255, 255, 0.50);
	color: #2C3E50;
	transition: background 0.25s, color 0.25s;
	border-radius: 4px 4px 0 0;
}

.cbe-tab-btn:hover {
	background: rgba(255, 255, 255, 0.25);
}

.cbe-tab-btn.active {
	background: #f47b20;
	color: #fff;
}

.cbe-tab-panel {
	display: none;
}

.cbe-tab-panel.active {
	display: block;
}

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media (max-width: 600px) {
	.cbe-sel-grid {
		grid-template-columns: 1fr;
	}

	.cbe-sel-booking-meta {
		flex-direction: column;
		align-items: flex-start;
	}

	.cbe-sel-notice-done {
		flex-direction: column;
		text-align: center;
	}
}

/* =============================================================================
   BOOKING FORM — Map marker legend (pickup vs drop-off)
   ============================================================================= */

.cbe-map-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 20px;
	margin-top: 10px;
	padding: 8px 12px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 600;
	color: #334155;
}

.cbe-map-legend-item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.cbe-map-legend-dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	border: 2px solid #fff;
	box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.15);
	flex-shrink: 0;
}

.cbe-map-legend-start .cbe-map-legend-dot {
	background: #22c55e;
	box-shadow: 0 0 0 1px #15803d;
}

.cbe-map-legend-end .cbe-map-legend-dot {
	background: #ef4444;
	box-shadow: 0 0 0 1px #b91c1c;
}

/* =============================================================================
   BOOKING FORM — Price-Offer Widget
   ============================================================================= */

.cbe-price-offer-wrap {
	margin: 0 0 20px;
	padding: 16px 18px;
	background: #fff8f0;
	border: 2px solid #FF700A;
	border-radius: 6px;
}

.cbe-price-offer-wrap label {
	display: block;
	font-weight: 700;
	margin-bottom: 8px !important;
	color: #2C3E50;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .4px;
}

.cbe-price-offer-wrap label span {
	color: #FF700A;
}

.cbe-price-input {
	width: 100%;
	max-width: 280px;
	padding: 9px 12px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 15px;
}

.cbe-price-offer-wrap small {
	display: block;
	margin-top: 6px;
	color: #666;
	font-size: 11px;
	line-height: 1.4;
}

.cbe_price_input {
	width: 100%;
	max-width: 280px;
	padding: 9px 12px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 15px;
}

#cbe-price-error {
	color: #c00;
	font-size: 12px;
	margin: 6px 0 0;
}

/* =============================================================================
   CUSTOMER LIVE PANEL — Post-booking driver response view
   ============================================================================= */

@keyframes cbe-pulse {

	0%,
	100% {
		opacity: 1;
		transform: scale(1);
	}

	50% {
		opacity: .45;
		transform: scale(.92);
	}
}

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

.chbs-booking-complete .cbe-live-panel,
.cbe-live-panel {
	max-width: 720px;
	margin: 32px auto 0;
	text-align: left;
	background: #fff;
	border: 1px solid #e8eaec;
	border-radius: 14px;
	box-shadow: 0 8px 32px rgba(44, 62, 80, .08);
	overflow: hidden;
}

.cbe-live-header {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 18px 22px;
	background: linear-gradient(135deg, #2C3E50 0%, #34495e 100%);
	border-bottom: 3px solid #FF700A;
}

.cbe-live-dot {
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: #FF700A;
	display: inline-block;
	animation: cbe-pulse 1.4s infinite;
	flex-shrink: 0;
	box-shadow: 0 0 0 3px rgba(255, 112, 10, .25);
}

.cbe-live-title {
	font-weight: 700;
	font-size: 16px;
	color: #fff;
	line-height: 1.4;
}

.cbe-live-body {
	padding: 22px;
}

.cbe-live-table-wrap {
	margin: 0;
}

/* Waiting state */
.cbe-live-waiting {
	text-align: center;
	padding: 28px 20px 18px;
	color: #778591;
}

.cbe-live-waiting-icon {
	width: 42px;
	height: 42px;
	margin: 0 auto 14px;
	border: 3px solid #e8eaec;
	border-top-color: #FF700A;
	border-radius: 50%;
	animation: cbe-live-spin .9s linear infinite;
}

.cbe-live-waiting p {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: #5a6a78;
}

/* Response cards */
.cbe-live-responses {
	display: grid;
	gap: 18px;
}

.cbe-live-response-card {
	background: #fff;
	border: 1px solid #e8eaec;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 12px rgba(0, 0, 0, .05);
	transition: box-shadow .2s ease, border-color .2s ease;
}

.cbe-live-response-card:hover {
	border-color: #ffd4b3;
	box-shadow: 0 6px 24px rgba(255, 112, 10, .12);
}

.cbe-live-response-card--accepted {
	border-top: 4px solid #28a745;
}

.cbe-live-response-card--counter {
	border-top: 4px solid #FF700A;
}

.cbe-live-response-head {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 18px 20px 14px;
	border-bottom: 1px solid #f0f2f4;
}

.cbe-live-driver-avatar {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: linear-gradient(135deg, #FF700A, #e55e00);
	color: #fff;
	font-weight: 800;
	font-size: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-shadow: 0 4px 12px rgba(255, 112, 10, .3);
}

.cbe-live-driver-info {
	flex: 1;
	min-width: 0;
}

.cbe-live-driver-name {
	font-weight: 700;
	font-size: 17px;
	color: #2C3E50;
	line-height: 1.3;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.cbe-live-driver-sub {
	font-size: 12px;
	color: #778591;
	margin-top: 2px;
}

.cbe-live-response-status {
	flex-shrink: 0;
}

/* Price comparison strip */
.cbe-live-price-strip {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	background: #f8f9fb;
	border-bottom: 1px solid #eef0f3;
}

.cbe-live-price-item {
	padding: 16px 18px;
	text-align: center;
	border-right: 1px solid #eef0f3;
}

.cbe-live-price-item:last-child {
	border-right: none;
}

.cbe-live-price-item-highlight {
	background: #fff8f3;
}

.cbe-live-price-lbl {
	display: block;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: .6px;
	color: #778591;
	font-weight: 700;
	margin-bottom: 6px;
}

.cbe-live-price-val {
	display: block;
	font-size: 18px;
	font-weight: 700;
	color: #2C3E50;
	line-height: 1.2;
}

.cbe-live-price-val-muted {
	color: #9aa5b1;
	text-decoration: line-through;
	font-size: 16px;
	font-weight: 600;
}

.cbe-live-price-val-driver {
	color: #FF700A;
	font-size: 22px;
	font-weight: 800;
}

/* Action buttons */
.cbe-live-card-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	padding: 18px 20px 10px;
}

.cbe-pay-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	background: #FF700A;
	color: #fff;
	padding: 12px 22px;
	border-radius: 8px;
	text-decoration: none;
	font-weight: 700;
	font-size: 14px;
	border: none;
	cursor: pointer;
	transition: background .15s ease, transform .1s ease, box-shadow .15s ease;
	box-shadow: 0 4px 14px rgba(255, 112, 10, .28);
}

.cbe-pay-btn:hover:not(:disabled) {
	background: #e55e00;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(255, 112, 10, .35);
}

.cbe-pay-btn:disabled {
	opacity: .65;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

.cbe-btn-arrow {
	font-size: 16px;
	line-height: 1;
}

.cbe-reject-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	color: #c0392b;
	padding: 11px 20px;
	border-radius: 8px;
	font-weight: 700;
	font-size: 14px;
	border: 2px solid #e8c4c0;
	cursor: pointer;
	transition: background .15s ease, border-color .15s ease;
}

.cbe-reject-btn:hover:not(:disabled) {
	background: #fff5f5;
	border-color: #c0392b;
}

.cbe-reject-btn:disabled {
	opacity: .6;
	cursor: not-allowed;
}

/* Customer countdown timer */
.cbe-customer-timer {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0 20px 18px;
	padding: 10px 16px;
	background: #fff8e8;
	border: 1px solid #f5d9a8;
	border-radius: 8px;
}

.cbe-customer-timer-icon {
	font-size: 15px;
	line-height: 1;
}

.cbe-customer-timer-label {
	font-size: 13px;
	color: #856404;
	font-weight: 600;
}

.cbe-customer-timer-label strong,
.cbe-customer-countdown {
	color: #c0392b;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}

/* Inline action message (e.g. payment error) */
.cbe-action-msg {
	flex: 1 1 100%;
	font-size: 13px;
	color: #555;
	margin-top: 4px;
}

.cbe-action-msg-error {
	color: #c0392b;
}

/* Status messages injected into the panel body */
.cbe-live-msg {
	font-size: 14px;
	margin: 0;
	padding: 16px 18px;
	border-radius: 8px;
	line-height: 1.6;
}

.cbe-live-msg-error {
	color: #721c24;
	background: #f8d7da;
	border: 1px solid #f1b0b7;
}

.cbe-live-msg-warning {
	color: #856404;
	background: #fff3cd;
	border: 1px solid #f5d9a8;
}

/* Status text spans inside action area */
.cbe-status-redirecting {
	color: #2C3E50;
	font-size: 14px;
	font-weight: 600;
}

.cbe-status-looking {
	color: #778591;
	font-size: 13px;
	font-style: italic;
}

/* Legacy table cell classes (kept for backward compatibility) */
.cbe-td-system-price {
	color: #778591;
}

.cbe-td-driver-price {
	color: #FF700A;
	font-weight: 700;
}

@media (max-width: 640px) {

	.chbs-booking-complete .cbe-live-panel,
	.cbe-live-panel {
		margin-top: 24px;
		border-radius: 10px;
	}

	.cbe-live-header {
		padding: 14px 16px;
	}

	.cbe-live-body {
		padding: 16px;
	}

	.cbe-live-response-head {
		flex-wrap: wrap;
		padding: 14px 16px 12px;
	}

	.cbe-live-response-status {
		width: 100%;
		margin-left: 62px;
	}

	.cbe-live-price-strip {
		grid-template-columns: 1fr;
	}

	.cbe-live-price-item {
		display: flex;
		align-items: center;
		justify-content: space-between;
		text-align: left;
		border-right: none;
		border-bottom: 1px solid #eef0f3;
		padding: 12px 16px;
	}

	.cbe-live-price-item:last-child {
		border-bottom: none;
	}

	.cbe-live-price-lbl {
		margin-bottom: 0;
	}

	.cbe-live-price-val,
	.cbe-live-price-val-driver {
		font-size: 17px;
	}

	.cbe-live-card-actions {
		flex-direction: column;
		align-items: stretch;
		padding: 14px 16px 8px;
	}

	.cbe-pay-btn,
	.cbe-reject-btn {
		width: 100%;
	}

	.cbe-customer-timer {
		margin: 0 16px 14px;
	}
}

/* Legacy ID selectors — kept so older markup still styles correctly */
#cbe-live-panel {
	margin-top: 28px;
	text-align: left;
}

#cbe-live-header {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
}

#cbe-live-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #FF700A;
	display: inline-block;
	animation: cbe-pulse 1.4s infinite;
	flex-shrink: 0;
}

/* =============================================================================
   DRIVER DASHBOARD — Additional Classes
   ============================================================================= */

/* Login-required notice */
.cbe-login-required {
	text-align: center;
}

/* Contact links (email / phone) inside cards */
.cbe-contact-link {
	color: #FF700A;
	font-size: 13px;
}

/* System (greyed) price variant */
.cbe-price-val-system {
	color: #778591;
	font-size: 15px;
}

/* Pending price variant (amber) */
.cbe-price-val-pending {
	color: #856404;
}

/* "Awaiting Customer Response" section header */
.cbe-dd-header-awaiting {
	margin-top: 32px;
}

/* Sub-heading text below section header */
.cbe-dd-subtext {
	font-size: 13px;
	color: #778591;
	margin: 4px 0 0;
}

/* Amber badge variant for "awaiting" counts */
.cbe-dd-badge-pending {
	background: #856404;
}

/* Awaiting-response card: amber top border + slightly dimmed */
.cbe-card-awaiting {
	border-top: 3px solid #856404;
	opacity: .92;
}

/* Footer banner inside awaiting cards */
.cbe-card-awaiting-banner {
	padding: 12px 18px;
	background: #fffdf0;
	border-top: 1px solid #f0e0a0;
	font-size: 13px;
	color: #856404;
	text-align: center;
	border-radius: 0 0 10px 10px;
}

/* Empty-grid message shown when driver timer expires */
.cbe-dd-empty-msg {
	padding: 30px 20px;
	text-align: center;
	color: #778591;
}

/* =============================================================================
   PAYMENT CONFIRMED PAGE
   ============================================================================= */

.cbe-payment-wrap {
	max-width: 640px;
	margin: 60px auto 80px;
	padding: 40px 24px;
	text-align: center;
	font-family: inherit;
}

.cbe-payment-icon {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: #d4edda;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 24px;
}

.cbe-payment-wrap h2 {
	color: #2C3E50;
	font-size: 26px;
	margin: 0 0 12px;
}

.cbe-payment-intro {
	color: #555;
	font-size: 16px;
	margin: 0 0 20px;
}

.cbe-payment-summary {
	background: #f8f9fa;
	border: 1px solid #e0e0e0;
	border-radius: 10px;
	padding: 20px 24px;
	text-align: left;
	margin-bottom: 28px;
}

.cbe-payment-row {
	display: flex;
	justify-content: space-between;
	padding: 8px 0;
	border-bottom: 1px solid #eee;
}

.cbe-payment-row:last-child {
	border-bottom: none;
}

.cbe-payment-row-label {
	color: #778591;
	font-size: 14px;
}

.cbe-payment-row-value {
	color: #2C3E50;
	font-size: 14px;
}

.cbe-payment-row-value-price {
	color: #FF700A;
	font-size: 16px;
}

.cbe-payment-note {
	color: #778591;
	font-size: 14px;
	margin-bottom: 32px;
}

.cbe-payment-home-btn {
	display: inline-block;
	background: #FF700A;
	color: #fff;
	padding: 13px 36px;
	border-radius: 6px;
	text-decoration: none;
	font-weight: 700;
	font-size: 15px;
}

.cbe-payment-home-btn:hover {
	background: #e55e00;
	color: #fff;
	text-decoration: none;
}



.cf7-booking-form .theme-form-field {
	border-width: 0px 0px 1px 0px !important;
}



.cf7-booking-form textarea {
	height: 100px !important;
}

.cf7-booking-form input {
	padding-bottom: 5px !important;
	padding-left: 5px !important;
}

.cf7-booking-form label {
	margin-left: 5px !important;
}

.cf7-booking-form select {
	color: #2C3E50;
	font-size: 16px;
	font-weight: 400;
	padding: 7px !important;
}



.theme-form-column-1-3 {
	width: 31%;
	float: left;
	margin: 0 10px;
}

.theme-form-column-1-4 {
	width: 15%;
	float: left;
	margin: 0 10px;
}

.theme-form-column-1-1 {
	width: 100%;
	margin: 0 10px;
	display: inline-block;
}

@media screen and (max-width: 768px) {

	.theme-form-column-1-3,
	.theme-form-column-1-4 {
		width: 100%;
	}
}

/* =============================================================================
   CF7 Datepicker — CHBS-matching theme
   Applied when #ui-datepicker-div has class "cbe-cf7-datepicker".
   Overrides the dark jQuery-UI skin shipped with the Autoride theme.
   ============================================================================= */

/* ── Container ────────────────────────────────────────────────────────────── */
#ui-datepicker-div.cbe-cf7-datepicker {
	background: #ffffff !important;
	border: 1px solid #EAECEE !important;
	border-radius: 4px !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12) !important;
	padding: 10px !important;
	font-family: inherit !important;
	color: #2C3E50 !important;
	z-index: 9999 !important;
}

/* Prevent the dark theme from flashing while the widget is still visible
   but before our 300 ms class-removal fires. */
#ui-datepicker-div.cbe-cf7-datepicker,
#ui-datepicker-div.cbe-cf7-datepicker * {
	transition: none !important;
}

/* ── Header ───────────────────────────────────────────────────────────────── */
#ui-datepicker-div.cbe-cf7-datepicker .ui-datepicker-header {
	background: #ffffff !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 6px 0 10px !important;
	position: relative !important;
}

/* ── Month / year title ───────────────────────────────────────────────────── */
#ui-datepicker-div.cbe-cf7-datepicker .ui-datepicker-title {
	color: #2C3E50 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.8 !important;
}

/* ── Prev / Next navigation buttons ──────────────────────────────────────── */
#ui-datepicker-div.cbe-cf7-datepicker .ui-datepicker-prev,
#ui-datepicker-div.cbe-cf7-datepicker .ui-datepicker-next {
	background: #EAECEE !important;
	border: none !important;
	border-radius: 50% !important;
	cursor: pointer !important;
	width: 28px !important;
	height: 28px !important;
	top: 6px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: hidden !important;
}

#ui-datepicker-div.cbe-cf7-datepicker .ui-datepicker-prev {
	left: 2px !important;
}

#ui-datepicker-div.cbe-cf7-datepicker .ui-datepicker-next {
	right: 2px !important;
}

/* Hide the jQuery UI sprite span and its text completely */
#ui-datepicker-div.cbe-cf7-datepicker .ui-datepicker-prev span,
#ui-datepicker-div.cbe-cf7-datepicker .ui-datepicker-next span {
	display: none !important;
}

/* Inject CSS arrow characters instead */
#ui-datepicker-div.cbe-cf7-datepicker .ui-datepicker-prev::before,
#ui-datepicker-div.cbe-cf7-datepicker .ui-datepicker-next::before {
	content: '' !important;
	display: inline-block !important;
	width: 8px !important;
	height: 8px !important;
	border-top: 2px solid #778591 !important;
	border-right: 2px solid #778591 !important;
	background: none !important;
	flex-shrink: 0 !important;
}

#ui-datepicker-div.cbe-cf7-datepicker .ui-datepicker-prev::before {
	transform: rotate(-135deg) !important;
	margin-left: 3px !important;
}

#ui-datepicker-div.cbe-cf7-datepicker .ui-datepicker-next::before {
	transform: rotate(45deg) !important;
	margin-right: 3px !important;
}

/* Hover state — orange background + white arrows */
#ui-datepicker-div.cbe-cf7-datepicker .ui-datepicker-prev.ui-state-hover,
#ui-datepicker-div.cbe-cf7-datepicker .ui-datepicker-next.ui-state-hover {
	background: #FF700A !important;
	border: none !important;
}

#ui-datepicker-div.cbe-cf7-datepicker .ui-datepicker-prev.ui-state-hover::before,
#ui-datepicker-div.cbe-cf7-datepicker .ui-datepicker-next.ui-state-hover::before {
	border-top-color: #ffffff !important;
	border-right-color: #ffffff !important;
}

/* ── Calendar table ───────────────────────────────────────────────────────── */
#ui-datepicker-div.cbe-cf7-datepicker table {
	border-collapse: collapse !important;
	width: 100% !important;
	margin: 0 !important;
}

/* ── Day-of-week headers ──────────────────────────────────────────────────── */
#ui-datepicker-div.cbe-cf7-datepicker th {
	background: #ffffff !important;
	color: #778591 !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	text-align: center !important;
	padding: 6px 4px !important;
	border: none !important;
}

/* ── Date cells ───────────────────────────────────────────────────────────── */
#ui-datepicker-div.cbe-cf7-datepicker td {
	background: #ffffff !important;
	border: none !important;
	padding: 2px !important;
	text-align: center !important;
}

#ui-datepicker-div.cbe-cf7-datepicker td a,
#ui-datepicker-div.cbe-cf7-datepicker td span {
	display: block !important;
	background: transparent !important;
	color: #2C3E50 !important;
	border: none !important;
	border-radius: 50% !important;
	text-align: center !important;
	padding: 10px 5px !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	text-decoration: none !important;
	transition: background 0.15s, color 0.15s !important;
}

/* ── Hover ────────────────────────────────────────────────────────────────── */
#ui-datepicker-div.cbe-cf7-datepicker td a.ui-state-hover,
#ui-datepicker-div.cbe-cf7-datepicker td a:hover {
	background: #FF700A !important;
	color: #ffffff !important;
	border: none !important;
}

/* ── Selected / active date ───────────────────────────────────────────────── */
#ui-datepicker-div.cbe-cf7-datepicker td.ui-datepicker-current-day a,
#ui-datepicker-div.cbe-cf7-datepicker td a.ui-state-active {
	background: #FF700A !important;
	color: #ffffff !important;
	border: none !important;
	font-weight: 700 !important;
}

/* ── Today (not yet selected) ─────────────────────────────────────────────── */
#ui-datepicker-div.cbe-cf7-datepicker td.ui-datepicker-today a {
	background: transparent !important;
	color: #FF700A !important;
	border: 2px solid #FF700A !important;
	font-weight: 700 !important;
}

/* Today + selected at the same time */
#ui-datepicker-div.cbe-cf7-datepicker td.ui-datepicker-today.ui-datepicker-current-day a {
	background: #FF700A !important;
	color: #ffffff !important;
	border: 2px solid #FF700A !important;
}

/* ── Unselectable / disabled dates ───────────────────────────────────────── */
#ui-datepicker-div.cbe-cf7-datepicker td.ui-datepicker-unselectable span,
#ui-datepicker-div.cbe-cf7-datepicker td.ui-state-disabled span {
	color: #CED3D9 !important;
	background: transparent !important;
	cursor: default !important;
}

/* ── Other month dates (greyed) ───────────────────────────────────────────── */
#ui-datepicker-div.cbe-cf7-datepicker td.ui-datepicker-other-month a {
	color: #CED3D9 !important;
}




.cf7-booking-form .theme-form-field:hover,
.cf7-booking-form .theme-form-field:focus {
	border-color: #FF700A !important;
}

.chbs-main,
.chbs-main input,
.chbs-main select,
.chbs-main textarea,
.ui-menu .ui-menu-item,
.ui-timepicker-wrapper,
.chbs-datepicker#ui-datepicker-div,
.chbs-datepicker.ui-datepicker th,
.chbs-datepicker.ui-datepicker td,
.chbs-datepicker.ui-datepicker td a,
.chbs-datepicker.ui-datepicker td span,
.chbs-datepicker.ui-datepicker .ui-datepicker-title {
	font-family: 'Poppins' !important;
}

/* =============================================================================
   Driver Login Page — professional layout (class: driver-login-form on row)
   ============================================================================= */

/* Inline auth notices (wrong password, pending approval, registration errors) */
.cbe-auth-notices {
	margin: 0 0 1.25rem;
}

.cbe-auth-notice {
	padding: 12px 16px;
	border-radius: 10px;
	font-size: 0.9rem;
	line-height: 1.5;
}

.cbe-auth-notice p {
	margin: 0;
}

.cbe-auth-notice-error {
	background: #fef2f2;
	border: 1px solid #fecaca;
	color: #991b1b;
}

.cbe-auth-notice-success {
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	color: #166534;
}

.cbe-auth-notice-notice {
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	color: #1e40af;
}

.driver-login-form form.woocommerce-form-login {
	position: relative;
	display: flex;
	flex-direction: column;
	margin: 0 auto !important;
	padding: 0 36px 36px !important;
	background: #f4f6f9;
	border-radius: 16px !important;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 8px 24px rgba(15, 23, 42, 0.06), 0 24px 48px rgba(15, 23, 42, 0.04);
	border: 1px solid #e3e8ef !important;
	overflow: hidden;
}

.driver-login-form form.woocommerce-form-login::before {
	content: 'Driver Login';
	display: block;
	margin: 0 -36px 28px;
	padding: 32px 36px 28px;
	background: linear-gradient(135deg, #2C3E50 0%, #3a5068 100%);
	color: #ffffff;
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.02em;
}

.driver-login-form form.woocommerce-form-login .woocommerce-form-row {
	margin-bottom: 1.125rem;
}

.driver-login-form form.woocommerce-form-login label {
	display: block;
	margin-bottom: 0.45rem;
	color: #475569;
	font-weight: 600;
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	line-height: 1.4;
}

.driver-login-form form.woocommerce-form-login input.input-text {
	width: 100%;
	height: auto;
	background: #f8fafc;
	border: 1px solid #d8dee8;
	border-radius: 10px;
	padding: 13px 16px;
	color: #1e293b;
	font-size: 0.9375rem;
	line-height: 1.4;
	box-shadow: none;
	transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.driver-login-form form.woocommerce-form-login input.input-text:hover {
	border-color: #b8c4d4;
	background: #ffffff;
}

.driver-login-form form.woocommerce-form-login input.input-text:focus {
	border-color: #FF700A;
	background: #ffffff;
	box-shadow: 0 0 0 3px rgba(255, 112, 10, 0.14);
	outline: none;
}

.driver-login-form form.woocommerce-form-login .woocommerce-form-login__rememberme {
	color: #64748b;
	font-size: 0.875rem;
	font-weight: 400;
	text-transform: none;
	letter-spacing: 0;
}

/* After inputs: Log in, then Register (left) + Lost password (right) on one line */
.driver-login-form form.woocommerce-form-login .form-row:has(.woocommerce-form-login__submit) {
	display: flex;
	flex-direction: column;
	margin: 1.25rem 0 0 !important;
	padding: 0 !important;
}

/* Hide theme's grey lost-password button — we render it in .cbe-login-footer-links */
.driver-login-form form.woocommerce-form-login .theme-component-button,
.driver-login-form form.woocommerce-form-login .lost_password {
	display: none !important;
}

.driver-login-form form.woocommerce-form-login .woocommerce-form-login__submit {
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	background: #FF700A !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 10px !important;
	padding: 13px 32px !important;
	font-weight: 700 !important;
	font-size: 0.8125rem !important;
	line-height: 1.2 !important;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(255, 112, 10, 0.28);
	transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
	margin: 0 !important;
}

.driver-login-form form.woocommerce-form-login .woocommerce-form-login__submit:hover {
	background: #e86508 !important;
	box-shadow: 0 6px 18px rgba(255, 112, 10, 0.34);
	transform: translateY(-1px);
}

/* One-line footer: Register left, Lost password right */
.driver-login-form form.woocommerce-form-login .cbe-login-footer-links {
	display: flex !important;
	flex-direction: row !important;
	justify-content: space-between !important;
	align-items: center !important;
	gap: 12px;
	width: 100%;
	margin: 14px 0 0 !important;
	padding: 0 !important;
	line-height: 1.4;
	order: 2;
}

.driver-login-form form.woocommerce-form-login .cbe-login-footer-links .cbe-register-link {
	color: #FF700A !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	text-decoration: none !important;
	text-align: left;
}

.driver-login-form form.woocommerce-form-login .cbe-login-footer-links .cbe-register-link:hover {
	text-decoration: underline !important;
	color: #e86508 !important;
}

.driver-login-form form.woocommerce-form-login .cbe-login-footer-links .cbe-lost-password-link {
	color: #64748b !important;
	font-size: 0.8125rem !important;
	font-weight: 400 !important;
	text-decoration: none !important;
	text-align: right;
	margin-left: auto;
}

.driver-login-form form.woocommerce-form-login .cbe-login-footer-links .cbe-lost-password-link:hover {
	color: #FF700A !important;
	text-decoration: underline !important;
}

/* =============================================================================
   Password strength meter (admin + registration)
   ============================================================================= */

.cbe-pw-strength-meter {
	margin: 8px 0 10px;
}

.cbe-pw-strength-bar {
	display: flex;
	gap: 4px;
	margin-bottom: 8px;
}

.cbe-pw-strength-bar span {
	flex: 1;
	height: 5px;
	border-radius: 999px;
	background: #e5e7eb;
	transition: background 0.2s ease;
}

.cbe-pw-strength-result {
	display: none;
	padding: 8px 10px;
	border-radius: 6px;
	font-size: 12px;
	line-height: 1.45;
}

.cbe-pw-strength-meter.is-visible .cbe-pw-strength-result {
	display: block;
}

.cbe-pw-strength-meter.is-short .cbe-pw-strength-bar span.is-active,
.cbe-pw-strength-meter.is-bad .cbe-pw-strength-bar span.is-active {
	background: #dc2626;
}

.cbe-pw-strength-meter.is-short .cbe-pw-strength-result,
.cbe-pw-strength-meter.is-bad .cbe-pw-strength-result {
	background: #fbeaea;
	color: #8a1f1f;
	border: 1px solid #f1c0c0;
}

.cbe-pw-strength-meter.is-good .cbe-pw-strength-bar span.is-active {
	background: #ca8a04;
}

.cbe-pw-strength-meter.is-good .cbe-pw-strength-result {
	background: #fff8e5;
	color: #8a6d1f;
	border: 1px solid #f1dfb0;
}

.cbe-pw-strength-meter.is-strong .cbe-pw-strength-bar span.is-active {
	background: #16a34a;
}

.cbe-pw-strength-meter.is-strong .cbe-pw-strength-result {
	background: #edf7ed;
	color: #1f6b2c;
	border: 1px solid #b9dfb9;
}

.driver-login-form form.woocommerce-form-register .woocommerce-password-strength,
.woocommerce-account .woocommerce-form-register .woocommerce-password-strength {
	display: none !important;
}

/* Driver register form (shown via toggle on driver-login) */
.driver-login-form form.woocommerce-form-register {
	position: relative;
	display: flex;
	flex-direction: column;
	margin: 0 auto !important;
	padding: 0 36px 36px !important;
	background: #f4f6f9;
	border-radius: 16px !important;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 8px 24px rgba(15, 23, 42, 0.06), 0 24px 48px rgba(15, 23, 42, 0.04);
	border: 1px solid #e3e8ef !important;
	overflow: hidden;
	max-width: 550px;
}

.driver-login-form form.woocommerce-form-register::before {
	content: 'Driver Registration';
	display: block;
	margin: 0 -36px 28px;
	padding: 32px 36px 28px;
	background: linear-gradient(135deg, #FF700A 0%, #e86508 100%);
	color: #ffffff;
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.02em;
}

.driver-login-form form.woocommerce-form-register .woocommerce-form-row,
.driver-login-form form.woocommerce-form-register .form-row {
	margin-bottom: 1.125rem;
}

.driver-login-form form.woocommerce-form-register label {
	display: block;
	margin-bottom: 0.45rem;
	color: #475569;
	font-weight: 600;
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	line-height: 1.4;
}

.driver-login-form form.woocommerce-form-register input.input-text,
.driver-login-form form.woocommerce-form-register input[type="file"] {
	width: 100%;
	background: #f8fafc;
	border: 1px solid #d8dee8;
	border-radius: 10px;
	padding: 13px 16px;
	color: #1e293b;
	font-size: 0.9375rem;
	box-shadow: none;
}

.driver-login-form form.woocommerce-form-register button[name="register"],
.driver-login-form form.woocommerce-form-register input[name="register"] {
	width: 100% !important;
	background: #FF700A !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 10px !important;
	padding: 13px 32px !important;
	font-weight: 700 !important;
	font-size: 0.8125rem !important;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(255, 112, 10, 0.28);
	margin-top: 0.5rem !important;
}

.driver-login-form form.woocommerce-form-register button[name="register"]:hover,
.driver-login-form form.woocommerce-form-register input[name="register"]:hover {
	background: #e86508 !important;
}

.driver-login-form .cbe-separate-form-link {
	margin-top: 14px !important;
	text-align: center;
}

.driver-login-form .cbe-separate-form-link a,
.driver-login-form .cbe-show-login-form {
	color: #FF700A !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	text-decoration: none !important;
}

.driver-login-form .cbe-separate-form-link a:hover,
.driver-login-form .cbe-show-login-form:hover {
	text-decoration: underline !important;
	color: #e86508 !important;
}


/*
.driver-login-form .woocommerce .u-column2,
.driver-register-form .woocommerce .u-column1 {
	display: none !important;
}

.driver-login-form .woocommerce .u-column1,
.driver-register-form .woocommerce .u-column2 {
	width: 100% !important;
	float: none !important;
}

*/


/* =============================================================================
   Passenger Login / Register Page — theme-branded professional layout
   (applies to /my-account/ — does NOT affect .driver-login-form styles)
   ============================================================================= */

/* ── My Account logged-out: show only one form at a time ── */
body.cbe-account-login-toggle .woocommerce .col2-set {
	display: block !important;
}

body.cbe-account-login-toggle .woocommerce .u-column1,
body.cbe-account-login-toggle .woocommerce .col-1,
body.cbe-account-login-toggle .woocommerce .u-column2,
body.cbe-account-login-toggle .woocommerce .col-2 {
	width: 100% !important;
	max-width: 550px !important;
	margin: 0 auto !important;
	float: none !important;
	flex: none !important;
}

/* Default: login only */
body.cbe-account-login-toggle:not(.cbe-show-register) .woocommerce .u-column2,
body.cbe-account-login-toggle:not(.cbe-show-register) .woocommerce .col-2,
body.cbe-account-login-toggle:not(.cbe-show-register) .woocommerce-form-register {
	display: none !important;
}

/* Register mode: hide login */
body.cbe-account-login-toggle.cbe-show-register .woocommerce .u-column1,
body.cbe-account-login-toggle.cbe-show-register .woocommerce .col-1,
body.cbe-account-login-toggle.cbe-show-register .woocommerce-form-login {
	display: none !important;
}

body.cbe-account-login-toggle.cbe-show-register .woocommerce .u-column2,
body.cbe-account-login-toggle.cbe-show-register .woocommerce .col-2 {
	display: block !important;
}

body.cbe-account-login-toggle.cbe-show-register .woocommerce-form-register {
	display: flex !important;
}

/* ── Page-level section padding ── */
.woocommerce-account .woocommerce {
	padding: 12px 0;
}

/* ── Two-column flex layout with gap ── */
.woocommerce-account .col2-set {
	display: flex !important;
	flex-wrap: wrap;
	gap: 32px;
	align-items: flex-start;
}

.woocommerce-account .col2-set .col-1,
.woocommerce-account .col2-set .col-2 {
	flex: 1 1 340px;
	width: auto !important;
	float: none !important;
}

/* ── Login Form card ── */
.woocommerce-account:not(.driver-login-form) .woocommerce-form-login {
	position: relative;
	display: flex !important;
	flex-direction: column;
	padding: 0 36px 40px !important;
	background: #ffffff;
	border-radius: 16px !important;
	border: 1px solid #e8edf2 !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05), 0 12px 32px rgba(0, 0, 0, 0.07) !important;
	overflow: hidden;
}

/* Login form header bar */
.woocommerce-account .woocommerce-form-login::before {
	content: "Passenger Login";
	display: block;
	margin: 0 -36px 28px;
	padding: 30px 36px 26px;
	background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
	border-bottom: 3px solid #FF700A;
	color: #ffffff;
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.02em;
}

/* ── Register Form card ── */
.woocommerce-account .woocommerce-form-register {
	position: relative;
	display: flex !important;
	flex-direction: column;
	padding: 0 36px 40px !important;
	background: #ffffff;
	border-radius: 16px !important;
	border: 1px solid #e8edf2 !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05), 0 12px 32px rgba(0, 0, 0, 0.07) !important;
	overflow: hidden;
}

/* Register form header bar */
.woocommerce-account .woocommerce-form-register::before {
	content: "Create Account";
	display: block;
	margin: 0 -36px 28px;
	padding: 30px 36px 26px;
	background: linear-gradient(135deg, #FF700A 0%, #e86508 100%);
	color: #ffffff;
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.02em;
}

/* ── Labels ── */
.woocommerce-account .woocommerce-form-login label,
.woocommerce-account .woocommerce-form-register label {
	display: block;
	margin-bottom: 0.45rem !important;
	color: #475569 !important;
	font-weight: 600 !important;
	font-size: 0.72rem !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	line-height: 1.4 !important;
}

/* ── Inputs ── */
.woocommerce-account .woocommerce-form-login input.input-text,
.woocommerce-account .woocommerce-form-register input.input-text {
	width: 100%;
	height: auto;
	background: #f8fafc !important;
	border: 1px solid #d8dee8 !important;
	border-radius: 10px !important;
	padding: 13px 16px !important;
	color: #1e293b !important;
	font-size: 0.9375rem !important;
	line-height: 1.4;
	box-shadow: none !important;
	transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.woocommerce-account .woocommerce-form-login input.input-text:hover,
.woocommerce-account .woocommerce-form-register input.input-text:hover {
	border-color: #b8c4d4 !important;
	background: #ffffff !important;
}

.woocommerce-account .woocommerce-form-login input.input-text:focus,
.woocommerce-account .woocommerce-form-register input.input-text:focus {
	border-color: #FF700A !important;
	background: #ffffff !important;
	box-shadow: 0 0 0 3px rgba(255, 112, 10, 0.14) !important;
	outline: none;
}

/* ── Remember me checkbox row ── */
.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme {
	color: #64748b !important;
	font-size: 0.875rem !important;
	font-weight: 400 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

/* ── Submit row (login) ── */
.woocommerce-account .woocommerce-form-login .form-row:has(.woocommerce-form-login__submit) {
	display: flex !important;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: stretch;
	justify-content: flex-start;
	gap: 12px;
	margin: 1.25rem 0 0 !important;
	padding-top: 1.5rem !important;
	border-top: 1px solid #e8edf2;
}

/* Hide theme lost-password button — footer links replace it */
.woocommerce-account .woocommerce-form-login .theme-component-button,
.woocommerce-account .woocommerce-form-login .lost_password {
	display: none !important;
}

/* ── Login Button — dark with orange hover ── */
.woocommerce-account .woocommerce-form-login .woocommerce-form-login__submit {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	flex: 0 0 auto !important;
	background: #1a1a1a !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 10px !important;
	padding: 13px 32px !important;
	font-weight: 700 !important;
	font-size: 0.8125rem !important;
	line-height: 1.2 !important;
	letter-spacing: 0.07em !important;
	text-transform: uppercase !important;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2) !important;
	transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
	margin: 0 !important;
}

.woocommerce-account .woocommerce-form-login .woocommerce-form-login__submit:hover {
	background: #FF700A !important;
	box-shadow: 0 6px 18px rgba(255, 112, 10, 0.36) !important;
	transform: translateY(-1px);
}

/* One-line footer on my-account login: Register left, Lost password right */
.woocommerce-account .woocommerce-form-login .cbe-login-footer-links {
	display: flex !important;
	flex-direction: row !important;
	justify-content: space-between !important;
	align-items: center !important;
	gap: 12px;
	width: 100%;
	margin: 14px 0 0 !important;
	padding: 0 !important;
	line-height: 1.4;
}

.woocommerce-account .woocommerce-form-login .cbe-login-footer-links .cbe-register-link {
	color: #FF700A !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	text-decoration: none !important;
}

.woocommerce-account .woocommerce-form-login .cbe-login-footer-links .cbe-register-link:hover {
	text-decoration: underline !important;
	color: #e86508 !important;
}

.woocommerce-account .woocommerce-form-login .cbe-login-footer-links .cbe-lost-password-link {
	color: #64748b !important;
	font-size: 0.8125rem !important;
	font-weight: 400 !important;
	text-decoration: none !important;
	margin-left: auto;
}

.woocommerce-account .woocommerce-form-login .cbe-login-footer-links .cbe-lost-password-link:hover {
	color: #FF700A !important;
	text-decoration: underline !important;
}

/* ── Register Button — orange ── */
.woocommerce-account .woocommerce-form-register button[name="register"],
.woocommerce-account .woocommerce-form-register input[name="register"] {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	min-width: 148px !important;
	background: #FF700A !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 10px !important;
	padding: 13px 32px !important;
	font-weight: 700 !important;
	font-size: 0.8125rem !important;
	line-height: 1.2 !important;
	letter-spacing: 0.07em !important;
	text-transform: uppercase !important;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(255, 112, 10, 0.3) !important;
	transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
	margin-top: 1.5rem !important;
}

.woocommerce-account .woocommerce-form-register button[name="register"]:hover,
.woocommerce-account .woocommerce-form-register input[name="register"]:hover {
	background: #e86508 !important;
	box-shadow: 0 6px 18px rgba(255, 112, 10, 0.42) !important;
	transform: translateY(-1px);
}

/* ── Privacy policy text ── */
.woocommerce-account .woocommerce-form-register .woocommerce-privacy-policy-text {
	font-size: 0.8125rem !important;
	color: #94a3b8 !important;
	line-height: 1.55;
	margin-bottom: 0.5rem !important;
}

.woocommerce-account .woocommerce-form-register .woocommerce-privacy-policy-text a {
	color: #FF700A !important;
	text-decoration: underline !important;
}

/* ── Responsive: stack on mobile ── */
@media (max-width: 767px) {
	.woocommerce-account .col2-set {
		flex-direction: column;
		gap: 24px;
	}

	.woocommerce-account:not(.driver-login-form) .woocommerce-form-login,
	.woocommerce-account .woocommerce-form-register {
		padding: 0 20px 32px !important;
	}

	.woocommerce-account .woocommerce-form-login::before,
	.woocommerce-account .woocommerce-form-register::before {
		margin: 0 -20px 24px;
		padding: 24px 20px 20px;
		font-size: 1.15rem;
	}
}


@media (max-width: 575px) {
	.driver-login-form {
		padding: 48px 16px 64px !important;
	}

	.driver-login-form form.woocommerce-form-login {
		padding: 0 24px 36px;
		margin: 0;
		border-radius: 14px;
	}

	.driver-login-form form.woocommerce-form-login::before {
		margin: 0 -24px 24px;
		padding: 26px 24px 22px;
		font-size: 1.2rem;
	}
}


/* =============================================================================
   Passenger Dashboard — WooCommerce My Account booking tabs
   Theme palette: orange #FF700A  |  dark #2C3E50  |  white #fff
   ============================================================================= */

/* ── My Account sidebar nav — highlight booking tabs (passenger only) ─────── */
.woocommerce-account:not(.cbe-driver-dashboard) .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--upcoming-reservations>a,
.woocommerce-account:not(.cbe-driver-dashboard) .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--reservation-history>a,
.woocommerce-account:not(.cbe-driver-dashboard) .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--booking-status>a {
	padding-left: 14px;
	border-left: 3px solid transparent;
	transition: border-color .15s, color .15s;
}

.woocommerce-account:not(.cbe-driver-dashboard) .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--upcoming-reservations.is-active>a,
.woocommerce-account:not(.cbe-driver-dashboard) .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--reservation-history.is-active>a,
.woocommerce-account:not(.cbe-driver-dashboard) .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--booking-status.is-active>a,
.woocommerce-account:not(.cbe-driver-dashboard) .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--upcoming-reservations>a:hover,
.woocommerce-account:not(.cbe-driver-dashboard) .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--reservation-history>a:hover,
.woocommerce-account:not(.cbe-driver-dashboard) .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--booking-status>a:hover {
	color: #fff !important;
}

/* ── Section wrapper ──────────────────────────────────────────────────────── */
.pax-db-section {
	font-family: inherit;
}

/* ── Section header row ───────────────────────────────────────────────────── */
.pax-db-section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 20px;
	padding-bottom: 14px;
	border-bottom: 2px solid #FF700A;
}

.pax-db-title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	color: #2C3E50;
}

.pax-db-title svg {
	color: #FF700A;
	flex-shrink: 0;
}

.pax-db-count {
	background: #FF700A;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	padding: 3px 12px;
	border-radius: 20px;
	white-space: nowrap;
}

.pax-db-today-label {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 13px;
	font-weight: 600;
	color: #2C3E50;
}

/* ── Empty state ──────────────────────────────────────────────────────────── */
.pax-db-empty {
	text-align: center;
	padding: 48px 20px;
	color: #7f8c8d;
}

.pax-db-empty svg {
	display: block;
	margin: 0 auto 14px;
}

.pax-db-empty p {
	margin: 0 0 18px;
	font-size: 14px;
	line-height: 1.55;
}

.pax-db-btn {
	display: inline-block;
	background: #FF700A;
	color: #fff !important;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: 10px 24px;
	border-radius: 8px;
	text-decoration: none !important;
	transition: background .2s, transform .15s;
}

.pax-db-btn:hover {
	background: #e86508;
	transform: translateY(-1px);
}

/* ── Notice (login required) ──────────────────────────────────────────────── */
.pax-db-notice {
	padding: 14px 18px;
	background: #fff8f4;
	border-left: 4px solid #FF700A;
	border-radius: 4px;
	color: #2C3E50;
	font-size: 14px;
}

/* ── Table wrapper ────────────────────────────────────────────────────────── */
.pax-db-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/* ── DataTable base overrides ─────────────────────────────────────────────── */
table.pax-db-table.dataTable {
	width: 100% !important;
	border-collapse: collapse;
	font-size: 13.5px;
	color: #2C3E50;
}

table.pax-db-table.dataTable thead th {
	background: #2C3E50;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	padding: 12px 14px;
	border: none;
	white-space: nowrap;
}

table.pax-db-table.dataTable thead th.sorting,
table.pax-db-table.dataTable thead th.sorting_asc,
table.pax-db-table.dataTable thead th.sorting_desc {
	background-color: #1e2d3d;
}

table.pax-db-table.dataTable thead th.sorting::after,
table.pax-db-table.dataTable thead th.sorting_asc::after,
table.pax-db-table.dataTable thead th.sorting_desc::after {
	opacity: .6;
}

table.pax-db-table.dataTable tbody tr {
	border-bottom: 1px solid #f0f2f5;
	transition: background .15s;
}

table.pax-db-table.dataTable tbody tr:hover {
	background: #fff8f4 !important;
}

table.pax-db-table.dataTable tbody tr.pax-row-active {
	background: #fffaf6;
}

table.pax-db-table.dataTable tbody tr.pax-row-active td:first-child {
	border-left: 3px solid #FF700A;
}

table.pax-db-table.dataTable tbody td {
	padding: 11px 14px;
	vertical-align: middle;
	border: none;
}

table.pax-db-table.dataTable tbody td strong {
	color: #2C3E50;
}

/* Zebra striping */
table.pax-db-table.dataTable tbody tr:nth-child(even) {
	background: #fafbfc;
}

/* ── DataTable toolbar (search + length) ──────────────────────────────────── */
.pax-dt-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 14px;
}

.pax-dt-toolbar .dataTables_length label,
.pax-dt-toolbar .dataTables_filter label {
	font-size: 13px;
	color: #2C3E50;
	font-weight: 500;
}

.pax-dt-toolbar .dataTables_filter input {
	border: 1.5px solid #dde2e8 !important;
	border-radius: 6px !important;
	padding: 7px 12px !important;
	font-size: 13px !important;
	color: #2C3E50 !important;
	outline: none;
	transition: border-color .2s;
}

.pax-dt-toolbar .dataTables_filter input:focus {
	border-color: #FF700A !important;
	box-shadow: 0 0 0 3px rgba(255, 112, 10, .12);
}

.pax-dt-toolbar .dataTables_length select {
	border: 1.5px solid #dde2e8;
	border-radius: 6px;
	padding: 6px 10px;
	font-size: 13px;
	color: #2C3E50;
}

/* ── DataTable footer (info + pagination) ─────────────────────────────────── */
.pax-dt-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
}

.pax-dt-footer .dataTables_info {
	font-size: 12px;
	color: #7f8c8d;
}

.pax-dt-footer .dataTables_paginate .paginate_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	height: 32px;
	padding: 0 8px;
	margin: 0 2px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 600;
	color: #2C3E50 !important;
	border: 1.5px solid #e0e4ea;
	background: #fff;
	cursor: pointer;
	transition: background .15s, border-color .15s, color .15s;
}

.pax-dt-footer .dataTables_paginate .paginate_button:hover {
	background: #fff8f4;
	border-color: #FF700A;
	color: #FF700A !important;
}

.pax-dt-footer .dataTables_paginate .paginate_button.current {
	background: #FF700A !important;
	border-color: #FF700A !important;
	color: #fff !important;
}

.pax-dt-footer .dataTables_paginate .paginate_button.disabled,
.pax-dt-footer .dataTables_paginate .paginate_button.disabled:hover {
	opacity: .4;
	cursor: default;
	background: #fff;
	border-color: #e0e4ea;
	color: #2C3E50 !important;
}

/* ── Status / offer badges ────────────────────────────────────────────────── */
.pax-badge {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 20px;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .03em;
	white-space: nowrap;
}

.pax-badge-pending {
	background: #fff3cd;
	color: #7a5f00;
}

.pax-badge-confirmed {
	background: #d4edda;
	color: #155724;
}

.pax-badge-cancelled {
	background: #f8d7da;
	color: #721c24;
}

.pax-badge-completed {
	background: #cce5ff;
	color: #004085;
}

.pax-badge-onhold {
	background: #fde8d0;
	color: #a04000;
}

.pax-badge-refunded {
	background: #e2d9f3;
	color: #4a1e8a;
}

.pax-badge-failed {
	background: #f5c6cb;
	color: #721c24;
}

/* ── Route display ────────────────────────────────────────────────────────── */
.pax-route {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px;
	line-height: 1.35;
}

.pax-loc {
	font-weight: 500;
}

.pax-arrow {
	color: #FF700A;
	font-weight: 700;
	font-size: 13px;
	flex-shrink: 0;
}

/* ── Misc helpers ─────────────────────────────────────────────────────────── */
.pax-muted {
	color: #b0bec5;
}

.pax-driver-name {
	font-weight: 600;
	color: #2C3E50;
}

.pax-counter-price {
	color: #a04000;
}

.pax-agreed-price {
	color: #155724;
}

/* ── Responsive: stack toolbar on small screens ───────────────────────────── */
@media (max-width: 600px) {
	.pax-db-section-head {
		flex-direction: column;
		align-items: flex-start;
	}

	.pax-dt-toolbar,
	.pax-dt-footer {
		flex-direction: column;
		align-items: flex-start;
	}

	table.pax-db-table.dataTable thead th {
		font-size: 11px;
		padding: 10px 10px;
	}

	table.pax-db-table.dataTable tbody td {
		padding: 9px 10px;
		font-size: 13px;
	}
}


/* =============================================================================
   Driver Account Details — verification document uploads
   ============================================================================= */

body.cbe-driver-dashboard .cbe-driver-docs {
	margin: 0px;
	padding: 1.25rem 0 0;
	border-top: 1px solid #e8edf2;
}

body.cbe-driver-dashboard .cbe-driver-docs legend {
	padding: 0;
	margin: 0 0 0.5rem;
	color: #1e293b;
	font-size: 1rem;
	font-weight: 700;
}

body.cbe-driver-dashboard .cbe-driver-docs-hint {
	margin: 0 0 1rem;
	color: #64748b;
	font-size: 0.8125rem;
}

body.cbe-driver-dashboard .cbe-driver-doc-row {
	margin-bottom: 1.125rem !important;
}

body.cbe-driver-dashboard .cbe-driver-doc-accept {
	color: #94a3b8;
	font-weight: 400;
	text-transform: none;
	letter-spacing: 0;
	font-size: 0.75rem;
}

body.cbe-driver-dashboard .cbe-driver-doc-current {
	display: block;
	margin: 0.35rem 0 0.55rem;
}

body.cbe-driver-dashboard .cbe-driver-doc-current a {
	color: #FF700A !important;
	font-size: 0.875rem;
	font-weight: 500;
	text-decoration: underline !important;
}

body.cbe-driver-dashboard .cbe-driver-doc-current a:hover {
	color: #e86508 !important;
}

body.cbe-driver-dashboard .cbe-driver-doc-missing {
	display: block;
	margin: 0.35rem 0 0.55rem;
	color: #94a3b8;
	font-size: 0.8125rem;
}

body.cbe-driver-dashboard .cbe-driver-docs input[type="file"] {
	width: 100%;
	padding: 10px 12px;
	background: #f8fafc;
	border: 1px solid #d8dee8;
	border-radius: 10px;
	font-size: 0.875rem;
}


/* =============================================================================
   Driver Dashboard — horizontal top nav + full-width content
   (passenger sidebar layout is unchanged)
   ============================================================================= */

body.cbe-driver-dashboard .woocommerce-MyAccount-navigation {
	float: none !important;
	width: 100% !important;
	margin: 0 0 28px !important;
}

body.cbe-driver-dashboard .woocommerce-MyAccount-content {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
}

body.cbe-driver-dashboard .woocommerce {
	display: block;
	width: 100%;
	max-width: 100%;
}

body.cbe-driver-dashboard .woocommerce-MyAccount-navigation ul {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
	background: #1a1a1a;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 4px 16px rgba(0, 0, 0, .12);
}

body.cbe-driver-dashboard .woocommerce-MyAccount-navigation ul li {
	flex: 1 1 auto;
	margin: 0 !important;
	border: none !important;
	border-left: 1px solid rgba(255, 255, 255, .08) !important;
}

body.cbe-driver-dashboard .woocommerce-MyAccount-navigation ul li:first-child {
	border-left: none !important;
}

body.cbe-driver-dashboard .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 15px 18px;
	text-align: center;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .03em;
	color: rgba(255, 255, 255, .82) !important;
	background: transparent !important;
	border: none !important;
	border-left: none !important;
	border-radius: 0 !important;
	text-decoration: none !important;
	transition: background .2s, color .2s;
	white-space: nowrap;
}

body.cbe-driver-dashboard .woocommerce-MyAccount-navigation ul li.is-active a,
body.cbe-driver-dashboard .woocommerce-MyAccount-navigation ul li a:hover {
	background: #FF700A !important;
	color: #fff !important;
}

/* ── Driver section wrapper ───────────────────────────────────────────────── */
.drv-db-section,
.drv-db-ride-requests {
	font-family: inherit;
	width: 100%;
}

.drv-db-section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 20px;
	padding-bottom: 14px;
	border-bottom: 2px solid #1a1a1a;
}

.drv-db-title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	color: #1a1a1a;
}

.drv-db-title svg {
	color: #FF700A;
	flex-shrink: 0;
}

.drv-db-count {
	background: #FF700A;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	padding: 3px 12px;
	border-radius: 20px;
	white-space: nowrap;
}

.drv-db-empty {
	text-align: center;
	padding: 48px 20px;
	color: #7f8c8d;
}

.drv-db-empty svg {
	display: block;
	margin: 0 auto 14px;
}

.drv-db-empty p {
	margin: 0 0 18px;
	font-size: 14px;
	line-height: 1.55;
}

.drv-db-btn {
	display: inline-block;
	background: #FF700A;
	color: #fff !important;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: 10px 24px;
	border-radius: 8px;
	text-decoration: none !important;
	transition: background .2s, transform .15s;
}

.drv-db-btn:hover {
	background: #e86508;
	transform: translateY(-1px);
}

.drv-db-notice {
	padding: 14px 18px;
	background: #fff8f4;
	border-left: 4px solid #FF700A;
	border-radius: 4px;
	color: #2C3E50;
	font-size: 14px;
}

/* ── Ride requests inside My Account — full width ─────────────────────────── */
body.cbe-driver-dashboard .drv-db-ride-requests .cbe-dd-wrap {
	max-width: 100%;
	margin: 0;
	padding: 0;
}

body.cbe-driver-dashboard .drv-db-ride-requests .cbe-dd-grid {
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

/* ── Driver DataTable ─────────────────────────────────────────────────────── */
.drv-db-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	width: 100%;
}

table.drv-db-table.dataTable {
	width: 100% !important;
	border-collapse: collapse;
	font-size: 13.5px;
	color: #2C3E50;
}

table.drv-db-table.dataTable thead th {
	background: #1a1a1a;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	padding: 12px 14px;
	border: none;
	white-space: nowrap;
}

table.drv-db-table.dataTable thead th.sorting,
table.drv-db-table.dataTable thead th.sorting_asc,
table.drv-db-table.dataTable thead th.sorting_desc {
	background-color: #111;
}

table.drv-db-table.dataTable tbody tr {
	border-bottom: 1px solid #f0f2f5;
	transition: background .15s;
}

table.drv-db-table.dataTable tbody tr:hover {
	background: #fff8f4 !important;
}

table.drv-db-table.dataTable tbody td {
	padding: 11px 14px;
	vertical-align: middle;
	border: none;
}

table.drv-db-table.dataTable tbody tr:nth-child(even) {
	background: #fafbfc;
}

.drv-dt-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 14px;
}

.drv-dt-toolbar .dataTables_length label,
.drv-dt-toolbar .dataTables_filter label {
	font-size: 13px;
	color: #2C3E50;
	font-weight: 500;
}

.drv-dt-toolbar .dataTables_filter input {
	border: 1.5px solid #dde2e8 !important;
	border-radius: 6px !important;
	padding: 7px 12px !important;
	font-size: 13px !important;
	color: #2C3E50 !important;
	outline: none;
	transition: border-color .2s;
}

.drv-dt-toolbar .dataTables_filter input:focus {
	border-color: #FF700A !important;
	box-shadow: 0 0 0 3px rgba(255, 112, 10, .12);
}

.drv-dt-toolbar .dataTables_length select {
	border: 1.5px solid #dde2e8;
	border-radius: 6px;
	padding: 6px 10px;
	font-size: 13px;
	color: #2C3E50;
}

.drv-dt-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
}

.drv-dt-footer .dataTables_info {
	font-size: 12px;
	color: #7f8c8d;
}

.drv-dt-footer .dataTables_paginate .paginate_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	height: 32px;
	padding: 0 8px;
	margin: 0 2px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 600;
	color: #2C3E50 !important;
	border: 1.5px solid #e0e4ea;
	background: #fff;
	cursor: pointer;
	transition: background .15s, border-color .15s, color .15s;
}

.drv-dt-footer .dataTables_paginate .paginate_button:hover {
	background: #fff8f4;
	border-color: #FF700A;
	color: #FF700A !important;
}

.drv-dt-footer .dataTables_paginate .paginate_button.current {
	background: #FF700A !important;
	border-color: #FF700A !important;
	color: #fff !important;
}

@media (max-width: 767px) {
	body.cbe-driver-dashboard .woocommerce-MyAccount-navigation ul {
		flex-direction: column;
	}

	body.cbe-driver-dashboard .woocommerce-MyAccount-navigation ul li {
		border-left: none !important;
		border-top: 1px solid rgba(255, 255, 255, .08) !important;
	}

	body.cbe-driver-dashboard .woocommerce-MyAccount-navigation ul li:first-child {
		border-top: none !important;
	}

	body.cbe-driver-dashboard .woocommerce-MyAccount-navigation ul li a {
		text-align: left;
		padding: 13px 16px;
	}

	.drv-db-section-head {
		flex-direction: column;
		align-items: flex-start;
	}

	.drv-dt-toolbar,
	.drv-dt-footer {
		flex-direction: column;
		align-items: flex-start;
	}
}