.hp-listing--view-block.hp-listing--featured {
    background-color: #FFF6D6 !important; /* Changes background color */
    border: 2px solid #F1BD6C !important;    /* Optional: Changes border color */
}

/* Featured listing badge on listing cards/results */
.hp-listing--view-block .hp-listing__featured-badge {
	display: inline-flex !important;
	align-items: center;
	margin-left: 7px;
	padding: 3px 8px;
	background: #fff6d6 !important;
	border: 1px solid #f1bd6c !important;
	border-radius: 999px;
	color: #d18a16 !important;
	font-size: 10px;
	font-weight: 600;
	line-height: 1.2;
	vertical-align: middle;
	box-shadow: none !important;
}

.hp-listing--view-block .hp-listing__featured-badge .fas.fa-star {
	font-family: inherit !important;
	font-weight: 600 !important;
	font-size: 0 !important;
	color: #d18a16 !important;
}

.hp-listing--view-block .hp-listing__featured-badge .fas.fa-star:before {
	content: "Featured" !important;
	font-family: inherit !important;
	font-size: 10px !important;
	font-weight: 350 !important;
	color: #d18a16 !important;
}

/* style for instant booking badge */
.hp-listing__instant-booking {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	margin-left: 6px;
	border-radius: 50%;
	background: #10b981;
	vertical-align: middle;
	position: relative;
	top: -1px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.15);
}

.hp-listing__instant-booking i {
	color: #ffffff;
	font-size: 25px;
	line-height: 1;
}
/* Hide pay now button in booking area while users are making payments themselves off site */
.hp-listing__action--pay {
	display: none !important;
}
/*Hide write a review link on listing pages */
.hp-listing__action--review {
    display: none !important;
}

/* BILLING*/
.towhub-fee-box {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 16px;
	padding: 24px;
	margin-top: 24px;
	margin-bottom: 32px;
	box-shadow: 0 10px 25px rgba(0,0,0,0.05);
}

.towhub-fee-box h3 {
	margin: 0 0 18px;
	font-size: 22px;
	font-weight: 700;
}

.towhub-fee-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 14px 0;
	border-bottom: 1px solid #f1f1f1;
	gap: 20px;
}

.towhub-fee-row:last-of-type {
	border-bottom: none;
}

.towhub-fee-row strong {
	font-size: 16px;
}

.towhub-fee-total strong {
	font-size: 20px;
	font-weight: 700;
}

.towhub-fee-notice {
	margin-top: 18px;
	padding: 14px;
	background: #f8fafc;
	border-radius: 10px;
	font-size: 13px;
	line-height: 1.5;
	color: #555;
}
/* TowHub fees balance */
.hp-vendor__balance.towhub-fees-balance-active {
	display: block;
}

.hp-vendor__balance.towhub-fees-balance-active strong,
.hp-vendor__balance.towhub-fees-balance-active span {
	display: block;
}

.hp-vendor__balance.towhub-fees-balance-active strong {
	margin-bottom: 6px;
	font-size: 14px;
	font-weight: 300;
	color: #64748b;
}

.hp-vendor__balance.towhub-fees-balance-active span {
	font-size: 34px;
	font-weight: 400;
	line-height: 1.1;
}

.hp-vendor__balance.towhub-fees-balance-active .towhub-balance-negative {
	color: #b45353 !important;
}

.hp-vendor__balance.towhub-fees-balance-active .towhub-balance-clear,
.towhub-revenue-positive {
	color: #16a34a !important;
}

.hp-vendor__balance.towhub-fees-balance-active .towhub-fee-link {
	display: inline-block;
	margin-top: 12px;
	background: linear-gradient(90deg, #123b66 0%, #315f8f 100%);
	color: #fff !important;
	padding: 13px 26px;
	border-radius: 999px;
	text-decoration: none;
	font-size: 15px;
	font-weight: 200;
	line-height: 1;
	box-shadow: rgba(18, 59, 102, 0.35) 0px 8px 22px;
	transition: 0.2s ease;
}

.hp-vendor__balance.towhub-fees-balance-active .towhub-fee-link:hover {
	background: linear-gradient(90deg, #1b4b7d 0%, #4a78a8 100%);
	box-shadow: rgba(18, 59, 102, 0.45) 0px 10px 26px;
	color: #fff !important;
}
/* Dashboard fees column */

.hp-table .towhub-fees-heading,
.hp-table .towhub-fees-cell {
	text-align: right;
}

.hp-page__content > .hp-table td:nth-child(2) {
	color: #4bc0c0 !important;
	}
.hp-page__content > .hp-table td:nth-child(3) {
	color: #16a34a !important;
	}

.hp-table .towhub-fees-cell,
.towhub-fee-negative {
	color: #c16a6a;
}

/* Transactions table */
.towhub-transactions-box {
	margin-top: 28px;
}

.towhub-transactions-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 14px;
}

.towhub-transactions-header h3 {
	margin: 0;
	font-size: 20px;
}

.towhub-transaction-sort {
	max-width: 220px;
}

.towhub-transactions-table {
	font-size: 12px;
	line-height: 1.3;
}

.towhub-transactions-table th {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.towhub-transactions-table a {
	font-weight: 500;
	text-decoration: underline;
}

.towhub-transactions-table {
	table-layout: fixed;
	width: 100%;
}

.towhub-transactions-table th,
.towhub-transactions-table td {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Booking ID */
.towhub-transactions-table th:nth-child(1),
.towhub-transactions-table td:nth-child(1) {
	width: 90px;
}

/* Listing Title */
.towhub-transactions-table th:nth-child(2),
.towhub-transactions-table td:nth-child(2) {
	width: auto;
}

/* Date Completed */
.towhub-transactions-table th:nth-child(3),
.towhub-transactions-table td:nth-child(3) {
	width: 120px;
}

/* Revenue */
.towhub-transactions-table th:nth-child(4),
.towhub-transactions-table td:nth-child(4) {
	width: 100px;
}

/* Fees */
.towhub-transactions-table th:nth-child(5),
.towhub-transactions-table td:nth-child(5) {
	width: 90px;
}
/* Outstanding Fees Banner */
.towhub-dashboard-warning {
	padding: 16px 18px;
	margin-bottom: 20px;
	border-radius: 12px;
	border: 1px solid;
	font-size: 15px;
  line-height: 1.5;
}

.towhub-dashboard-warning strong,
.towhub-dashboard-warning span {
	display: block;
}

.towhub-dashboard-warning strong {
	margin-bottom: 4px;
	font-weight: 700;
}

.towhub-dashboard-warning a {
	display: inline-block;
	margin-top: 8px;
	font-weight: 700;
	text-decoration: underline;
}

.towhub-warning-due {
	background: #FFF6D6;
	border-color: #F1BD6C;
	color: #000000;
}

.towhub-warning-overdue {
	background: #fef2f2;
	border-color: #fecaca;
	color: #991b1b;
}
/* Contact Details Warning Pre Booking */
.towhub-contact-warning {
	background: #fef2f2;
	border: 1px solid #fecaca;
	color: #991b1b;
	padding: 14px 16px;
	border-radius: 10px;
	margin-bottom: 16px;
}

.towhub-contact-warning strong,
.towhub-contact-warning span {
	display: block;
}

.towhub-contact-warning strong {
	margin-bottom: 4px;
	font-weight: 700;
}

/* WOF/Rego status and warnings */
.towhub-compliance-alert {
    background: #fff7ed !important;
    border: 1px solid #f97316 !important;
    color: #9a3412 !important;
    padding: 16px 48px 16px 18px !important;
    border-radius: 12px !important;
    margin: 0 0 18px 0 !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    box-shadow: none !important;
    position: relative !important;
}

.towhub-compliance-alert strong {
    color: #7c2d12 !important;
}

.towhub-dashboard-warning {
    position: relative !important;
    padding-right: 48px !important;
}

.towhub-alert-close {
    position: absolute !important;
    top: 10px !important;
    right: 12px !important;
    z-index: 10 !important;
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
    font-size: 24px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    opacity: 0.75 !important;
    padding: 0 !important;
    box-shadow: none !important;
}

.towhub-alert-close:hover {
    opacity: 1 !important;
}

.towhub-compliance-dot {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    cursor: help;
    vertical-align: middle;
    transition: transform .15s ease;
}

.towhub-compliance-dot:hover {
    transform: scale(1.15);
}

.towhub-compliance-dot-green {
    background: #22c55e;
}

.towhub-compliance-dot-orange {
    background: #f97316;
}

.towhub-compliance-dot-red {
    background: #ef4444;
}
/* Featured package background */
.hp-listing-package--primary {
    background: #FFF6D6 !important;
    border: 2px solid #f4c542 !important;
    border-radius: 12px;
}
/* MAPBOX MAP CARD */
/* Map popup container */
.mapboxgl-popup {
	max-width: 170px !important;
	z-index: 9999 !important;
}

.mapboxgl-popup-content {
	padding: 0 !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	max-width: 170px !important;
	box-shadow: 0 8px 22px rgba(0,0,0,0.16);
	background: #fff;
}

/* Card */
.towhub-map-card {
	width: 160px;
	max-width: 160px;
	background: #fff;
}

/* Image */
.towhub-map-card__image {
	width: 100%;
	height: 70px;
	object-fit: cover;
	display: block;
}

/* Content */
.towhub-map-card__body {
	padding: 6px 8px;
}

/* Title */
.towhub-map-card__title {
	display: block;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	color: #123b66 !important;
	text-decoration: none !important;
	margin-bottom: 2px;
}

/* Price */
.towhub-map-card__price {
	font-size: 11px;
	font-weight: 700;
	color: #f97316;
	margin-bottom: 0;
}

/* Hide Request Booking text */
.towhub-map-card__meta {
	display: none;
}

/* Close button */
.mapboxgl-popup-close-button {
	font-size: 16px !important;
	color: #64748b !important;
	padding: 4px 6px !important;
	line-height: 1 !important;
}

/* Prevent clipping */
.hp-map,
.hp-map__canvas,
.mapboxgl-map {
	overflow: visible !important;
}

/* Mobile */
@media (max-width: 768px) {
	.towhub-map-card__image {
		display: none;
	}

	.towhub-map-card {
		width: 150px;
		max-width: 150px;
	}
}
.towhub-location-notice {
	margin: 10px 0 15px;
	padding: 12px 14px;
	background: #fff7ed;
	border: 1px solid #f1bd6c;
	border-radius: 8px;
	font-size: 14px;
	line-height: 1.5;
	color: #4b5563;
}
.towhub-featured-title-badge {
	display: inline-flex;
	align-items: center;
	margin-left: 10px;
	padding: 4px 10px;
	background: #fff6d6;
	border: 1px solid #f1bd6c;
	border-radius: 8px;
	color: #d18a16;
	font-size: 12px;
	font-weight: 350;
	line-height: 1.2;
	vertical-align: middle;
	white-space: nowrap;
}

/* =========================================================
   TOWHUB BOOKING TIMELINE
   ========================================================= */

.towhub-booking-timeline {
	margin-top: 32px;
	padding: 28px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 18px;
	box-shadow: 0 10px 30px rgba(18, 59, 102, 0.06);
}

.towhub-booking-timeline__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 26px;
}

.towhub-booking-timeline__header h2 {
	margin: 0 0 7px;
	color: #24364d;
	font-size: 27px;
	font-weight: 700;
	line-height: 1.25;
}

.towhub-booking-timeline__header p {
	margin: 0;
	color: #64748b;
	font-size: 15px;
	line-height: 1.6;
}

.towhub-booking-timeline__steps {
	position: relative;
}

.towhub-booking-step {
	position: relative;
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	gap: 16px;
	min-height: 92px;
}

.towhub-booking-step:last-child {
	min-height: auto;
}

.towhub-booking-step__rail {
	position: relative;
	display: flex;
	justify-content: center;
}

.towhub-booking-step__rail::after {
	content: "";
	position: absolute;
	top: 38px;
	bottom: -4px;
	left: 50%;
	width: 2px;
	background: #dfe5ec;
	transform: translateX(-50%);
}

.towhub-booking-step:last-child .towhub-booking-step__rail::after {
	display: none;
}

.towhub-booking-step__marker {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: 2px solid #d6dde6;
	border-radius: 50%;
	background: #ffffff;
	color: #758296;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	box-sizing: border-box;
}

.towhub-booking-step__content {
	min-width: 0;
	padding: 5px 0 24px;
}

.towhub-booking-step__heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 7px;
}

.towhub-booking-step__heading h3 {
	margin: 0;
	color: #27384e;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
}

.towhub-booking-step__content > p {
	margin: 0;
	color: #64748b;
	font-size: 14px;
	line-height: 1.55;
}

.towhub-booking-step__status {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 27px;
	padding: 5px 11px;
	border-radius: 999px;
	background: #eef2f6;
	color: #64748b;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}

.towhub-booking-step__notice {
	margin-top: 8px !important;
	font-size: 13px !important;
	font-weight: 500;
}

/* Completed step */

.towhub-booking-step--complete .towhub-booking-step__marker {
	border-color: #20b978;
	background: #20b978;
	color: #ffffff;
}

.towhub-booking-step--complete .towhub-booking-step__rail::after {
	background: #20b978;
}

.towhub-booking-step--complete .towhub-booking-step__status {
	background: #e7f8f0;
	color: #168557;
}

/* Current action */

.towhub-booking-step--current .towhub-booking-step__content {
	margin: 0 0 20px;
	padding: 18px 20px;
	border: 1px solid #2684ff;
	border-radius: 13px;
	background: #f4f8ff;
	box-shadow: 0 8px 20px rgba(38, 132, 255, 0.08);
}

.towhub-booking-step--current .towhub-booking-step__marker {
	border-color: #1677e8;
	background: #1677e8;
	color: #ffffff;
	box-shadow: 0 0 0 6px rgba(22, 119, 232, 0.1);
}

.towhub-booking-step--current .towhub-booking-step__heading h3 {
	color: #1267c8;
}

.towhub-booking-step--current .towhub-booking-step__status {
	background: #dcecff;
	color: #1267c8;
}

.towhub-booking-step--current .towhub-booking-step__notice {
	color: #1267c8;
}

/* Waiting on the other party */

.towhub-booking-step--waiting .towhub-booking-step__marker {
	border-color: #f59e0b;
	background: #fff8e8;
	color: #d88300;
}

.towhub-booking-step--waiting .towhub-booking-step__status {
	background: #fff3d6;
	color: #b96e00;
}

.towhub-booking-step--waiting .towhub-booking-step__notice {
	color: #b96e00;
}

/* Locked steps */

.towhub-booking-step--locked {
	opacity: 0.68;
}

.towhub-booking-step--locked .towhub-booking-step__marker {
	border-color: #d7dde5;
	background: #f5f7fa;
	color: #8a96a6;
	font-size: 12px;
}

.towhub-booking-step--locked .towhub-booking-step__heading h3 {
	color: #5f6b7b;
}

.towhub-booking-step--locked .towhub-booking-step__status {
	background: #eef1f5;
	color: #7a8594;
}

/* Mobile */

@media (max-width: 767px) {

	.towhub-booking-timeline {
		margin-top: 24px;
		padding: 21px 17px;
		border-radius: 14px;
	}

	.towhub-booking-timeline__header {
		margin-bottom: 22px;
	}

	.towhub-booking-timeline__header h2 {
		font-size: 23px;
	}

	.towhub-booking-timeline__header p {
		font-size: 14px;
	}

	.towhub-booking-step {
		grid-template-columns: 38px minmax(0, 1fr);
		gap: 12px;
		min-height: 98px;
	}

	.towhub-booking-step__marker {
		width: 32px;
		height: 32px;
		font-size: 12px;
	}

	.towhub-booking-step__rail::after {
		top: 32px;
	}

	.towhub-booking-step__heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 7px;
	}

	.towhub-booking-step__heading h3 {
		font-size: 16px;
	}

	.towhub-booking-step__content {
		padding-top: 3px;
	}

	.towhub-booking-step--current .towhub-booking-step__content {
		padding: 15px;
	}
}
/* =========================================================
   COMPLETE BOOKING WORKFLOW LOCK
   ========================================================= */

.towhub-complete-booking-box {
	margin-top: 30px;
	padding-top: 20px;
	border-top: 1px solid #e5e7eb;
	text-align: center;
}

.towhub-complete-booking-box button {
	width: 100%;
}

.towhub-complete-booking-box--locked button,
.towhub-complete-booking-box--completed button {
	background: #d8dde4 !important;
	border-color: #d8dde4 !important;
	color: #667085 !important;
	box-shadow: none !important;
	cursor: not-allowed !important;
	opacity: 1 !important;
}

.towhub-complete-booking-box__title {
	margin: 14px 0 8px;
	color: #9a6700;
	font-size: 13px;
	font-weight: 700;
	text-align: left;
}

.towhub-complete-booking-box__requirements {
	margin: 0;
	padding: 12px 14px 12px 32px;
	border: 1px solid #f4d28a;
	border-radius: 10px;
	background: #fff9e9;
	color: #805500;
	font-size: 13px;
	line-height: 1.55;
	text-align: left;
}

.towhub-complete-booking-box__requirements li {
	margin: 3px 0;
}

.towhub-complete-booking-box__ready {
	margin: 10px 0 0;
	color: #168557;
	font-size: 13px;
	font-weight: 600;
}
/* =========================================================
   TOWHUB BOOKING TIMELINE — ACCORDION + UNIFIED ACTIONS
   ========================================================= */

.towhub-booking-step__content {
	padding: 0 0 18px;
}

.towhub-booking-step__toggle {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	width: 100%;
	margin: 0;
	padding: 9px 0 12px;
	border: 0;
	background: transparent;
	box-shadow: none;
	text-align: left;
	cursor: pointer;
}

.towhub-booking-step__toggle:hover,
.towhub-booking-step__toggle:focus {
	background: transparent;
	box-shadow: none;
}

.towhub-booking-step__title {
	color: #27384e;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
}


.towhub-booking-step__panel {
	padding: 0 0 4px;
}

.towhub-booking-step__panel > p:first-child {
	margin: 0;
	color: #64748b;
	font-size: 14px;
	line-height: 1.55;
}

.towhub-booking-step--current .towhub-booking-step__content,
.towhub-booking-step--waiting .towhub-booking-step__content {
	margin: 0 0 18px;
	padding: 14px 16px;
	border-radius: 13px;
	background: #fff;
}

.towhub-booking-step--current .towhub-booking-step__content {
	border: 1px solid #2684ff;
	box-shadow: 0 8px 20px rgba(38, 132, 255, 0.08);
}

.towhub-booking-step--waiting .towhub-booking-step__content {
	border: 2px solid #f59e0b;
	background: #fffaf0;
	box-shadow: 0 8px 20px rgba(245, 158, 11, 0.08);
}

.towhub-booking-step--waiting .towhub-booking-step__title {
	color: #9a5b00;
}

.towhub-booking-step__action {
	margin-top: 14px;
}

.towhub-timeline-button,
.towhub-booking-step__action .towhub-timeline-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 10px 18px;
	border: 1px solid #cbd5e1 !important;
	border-radius: 9px;
	background: #e5e7eb !important;
	color: #111827 !important;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}

.towhub-timeline-button:hover,
.towhub-timeline-button:focus,
.towhub-booking-step__action .towhub-timeline-button:hover,
.towhub-booking-step__action .towhub-timeline-button:focus {
	background: #dfe4ea !important;
	border-color: #b8c2cf !important;
	color: #1267c8 !important;
}

.towhub-timeline-button:disabled {
	color: #6b7280 !important;
	cursor: not-allowed;
	opacity: .75;
}

.towhub-native-approval-hidden {
	display: none !important;
}

@media (max-width: 767px) {
	.towhub-booking-step__toggle {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 8px;
	}

	.towhub-booking-step__status {
		grid-column: 1 / -1;
		justify-self: start;
	}

	.towhub-booking-step__chevron {
		grid-column: 2;
		grid-row: 1;
	}

	.towhub-booking-step__title {
		font-size: 16px;
	}

	.towhub-timeline-button {
		width: 100%;
	}
}

/* Native HivePress approval action moved into timeline. */
.towhub-timeline-approve-slot form { margin: 0; }
.towhub-timeline-approve-slot .towhub-timeline-button { margin: 0; }
