/* ===============================
   Operator Section
=============================== */
.ebh-operator-section {
  background: #3b86c8;
  padding: 82px 20px;
  text-align: center;
  color: #fff;
}

.ebh-operator-inner {
  max-width: 760px;
  margin: 0 auto;
}

.ebh-operator-section h2 {
  font-family: Georgia, serif;
  font-size: 38px;
  margin: 0 0 16px;
  color: #fff;
}

.ebh-operator-section p {
  max-width: 560px;
  margin: 0 auto 34px;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 600;
}

.ebh-operator-features {
  display: flex;
  justify-content: center;
  gap: 34px;
  flex-wrap: wrap;
  margin-bottom: 38px;
  font-size: 14px;
  font-weight: 600;
}

.ebh-operator-btn {
  display: inline-block;
  background: #fff;
  color: #1f66b2;
  padding: 16px 42px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
}

/* ===============================
   Operator Section Responsive
=============================== */
@media (max-width: 600px) {
  .ebh-operator-section {
    padding: 60px 18px;
  }

  .ebh-operator-section h2 {
    font-size: 32px;
  }

  .ebh-operator-features {
    flex-direction: column;
    gap: 16px;
  }
}

/* ===============================
   Popup
=============================== */
.ebh-popup-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(8, 24, 40, 0.78);
  z-index: 99999;
  align-items: center;
  justify-content: center;
  padding: 20px;
  overflow-y: auto;
}

.ebh-popup-overlay.active {
  display: flex;
}

.ebh-popup-box {
  width: 100%;
  max-width: 500px;
  background: #fff;
  border-radius: 22px;
  padding: 38px 44px;
  position: relative;
  margin: auto;
}

.ebh-popup-close {
  position: absolute;
  top: 16px;
  right: 20px;
  border: 0;
  background: transparent;
  font-size: 30px;
  cursor: pointer;
  color: #8fa1b7;
}

.ebh-popup-box h2 {
  margin: 0 0 8px;
  font-size: 34px;
  line-height: 1.2;
  color: #14263a;
}

.ebh-popup-box p {
  margin: 0 0 24px;
  color: #516b8c;
  line-height: 1.4;
}

#ebhOperatorForm label {
  display: block;
  margin: 13px 0 7px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .8px;
  text-transform: uppercase;
  color: #536b8c;
  text-align: left;
}

#ebhOperatorForm input {
  width: 100%;
  height: 48px;
  border: 1px solid #dce5ef;
  border-radius: 10px;
  padding: 0 14px;
  background: #f7f9fc;
  box-sizing: border-box;
}

#ebhOperatorForm button[type="submit"] {
  width: 100%;
  height: 54px;
  margin-top: 22px;
  border: 0;
  border-radius: 10px;
  background: #3686d8;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

#ebhOperatorMsg {
  margin-top: 14px;
  font-weight: 600;
  text-align: center;
}

/* Popup Responsive */
@media (max-width: 600px) {
  .ebh-popup-box {
    padding: 32px 22px;
  }

  .ebh-popup-box h2 {
    font-size: 28px;
  }
}

/* ===============================
   Selected Operator Box
=============================== */
.selected-operator-box {
  margin: 18px 0 14px;
  padding: 11px 14px;
  padding-right: 36px; /* space for close button */
  border: 1px solid #ff0000;
  border-radius: 7px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  background: #fff;
  color: #001b3d;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  position: relative;
  box-sizing: border-box;
}

.selected-operator-box span {
  color: #001b3d;
  font-weight: 700;
}

.selected-operator-box strong {
  color: #1f7de0;
  font-weight: 700;
}

/* Close button */
#removeOperatorName {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: #e60000;
  color: #fff;
  width: 21px;
  height: 21px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  line-height: 21px;
  text-align: center;
}

/* ===============================
   Submit Button
=============================== */
.ebh-main-submit-btn {
  width: 100%;
  height: 54px;
  border: 0 !important;
  border-radius: 10px !important;
  background: #3686d8 !important;
  color: #fff !important;
  font-weight: 700 !important;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(54, 134, 216, 0.25);
  box-sizing: border-box;
}

/* ===============================
   Responsive Fixes
=============================== */

/* Tablet */
@media (max-width: 768px) {
  .selected-operator-box {
    font-size: 14px;
    padding: 10px 12px;
    padding-right: 34px;
    gap: 6px;
  }

  .ebh-main-submit-btn {
    height: 50px;
    font-size: 15px;
  }
}

/* Mobile */
@media (max-width: 480px) {
  .selected-operator-box {
    width: 100%;
    flex-wrap: wrap;
    font-size: 13px;
    padding: 10px;
    padding-right: 34px;
  }

  .selected-operator-box span,
  .selected-operator-box strong {
    width: 100%;
  }

  .ebh-main-submit-btn {
    height: 48px;
    font-size: 14px;
  }
}

.selected-operator-box *,
.ebh-main-submit-btn {
  box-sizing: border-box;
}

/*new code*/
.selected-operator-box {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 14px;

  background: #e4f2ff;
  border: 1px solid #add4fa;
  border-radius: 12px;

  padding: 14px 16px;
  box-sizing: border-box;
  margin: 16px 0;

  position: relative;
}

.operator-icon {
  font-size: 22px;
  line-height: 1;
}

.operator-content {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.operator-label {
  font-size: 11px;
  font-weight: 800;
  color: #3b8de3;
  text-transform: uppercase;
  letter-spacing: 0.6px;
}

.operator-name {
  font-size: 15px;
  font-weight: 800;
  color: #111827;
}

.operator-remove {
  margin-left: auto;
  border: none;
  background: transparent;
  color: #9ca3af;
  font-size: 22px;
  cursor: pointer;
  line-height: 1;
  padding: 4px 0;
}

.operator-remove:hover {
  color: #374151;
}

#selectedOperatorBox.selected-operator-box {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 14px;
  background: #e4f2ff;
  border: 1px solid #b8dcff;
  border-radius: 12px;
  padding: 14px 18px;
  margin: 16px 0;
  box-sizing: border-box;
}

#selectedOperatorBox .operator-icon {
  font-size: 22px;
  flex-shrink: 0;
}

#selectedOperatorBox .operator-text {
  flex: 1;
  line-height: 1.2;
}

#selectedOperatorBox .operator-label {
  font-size: 11px;
  font-weight: 800;
  color: #3d8fe3;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  margin-bottom: 4px;
}

#selectedOperatorBox .operator-name {
  font-size: 15px;
  font-weight: 800;
  color: #061b3a;
}

#selectedOperatorBox .operator-close {
  border: 0;
  background: transparent;
  color: #9aa9ba;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  margin-left: auto;
}

#selectedOperatorBox .operator-close:hover {
  color: #333;
}

/* data-partner=0 */

.gso-card[data-partner="0"]{
  background: var(--g1);
    opacity: .68;
}

.gso-card[data-partner="0"]:hover{
  transform: translateY(-1px);
    box-shadow: var(--sh);
}

.gso-card[data-partner="0"] .gso-card-details h3{
  color: var(--g6);
}

.gso-view-btn:hover{
  text-decoration: none;
  background: var(--bd);
    transform: scale(1.05);
}

.gso-card .gso-quote-btn, .gso-card .gso-view-btn{
  padding: 5.4px 15px;
}

.gso-quote-btn:hover{
   text-decoration: none;
    transform: scale(1.05);
}

.gso-card[data-partner="0"] .gso-view-btn{
  background: var(--g6);
  border-color: var(--g6);
    color: #fff;
}


.gso-card[data-partner="0"] .gso-view-btn:hover{
  background: var(--dk);
  border-color: var(--dk);
}

.busHire_page .ebh-form input[type=text], .busHire_page .ebh-form input[type=email], .busHire_page .ebh-form input[type=tel], .busHire_page .ebh-form input[type=number], .busHire_page .ebh-form input[type=date], .busHire_page .ebh-form input[type=time], .busHire_page .ebh-form input[type=url], .busHire_page .ebh-form input[type=search], .busHire_page .ebh-form select, .busHire_page .ebh-form textarea{
  font-size: 16px !important;
  padding: 7px 16px !important;
}

.busHire_page .ebh-form select{
  min-height: 40px !important;
  height: 40px !important;
  padding: 7px 16px !important;
  display: block;
}


#ebhOperatorForm input{
  font-size: 16px !important;
}

.gso-controls .gso-search-wrap:before {
    content: "⌕";
    position: absolute;
    left: 18px;
    top: 8px;
    transform: none;
    color: #94a3b8;
    font-size: 30px;
    line-height: 1;
    display: flex;
    align-items: center;
}

/* data-partner=0 */

/* ===================================================
   CONTACT PAGE  — template-contact.php
   =================================================== */

/* Hero variant */
.ebh-hero--contact {
	padding: 72px 0 60px;
}

/* Two-column layout */
.ebh-section--contact {
	padding: 60px 0 80px;
}
.ebh-contact-grid {
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: 52px;
	align-items: start;
}
@media (max-width: 900px) {
	.ebh-contact-grid {
		grid-template-columns: 1fr;
		gap: 36px;
	}
}

/* Form wrapper */
.ebh-contact-form-wrap {
	background: #fff;
	border-radius: 20px;
	padding: 36px 40px;
	border: 1.5px solid var(--ebh-border);
}
.ebh-contact-form-wrap__title {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 1.5rem;
	color: var(--ebh-navy);
	margin: 0 0 6px;
}
.ebh-contact-form-wrap__sub {
	color: var(--ebh-muted);
	font-size: 14px;
	margin: 0 0 24px;
}
@media (max-width: 480px) {
	.ebh-contact-form-wrap {
		padding: 24px 18px;
	}
}

/* Heading + intro */
.ebh-contact-details__heading {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: clamp(1.4rem, 2.5vw, 1.75rem);
	color: var(--ebh-navy);
	margin: 0 0 10px;
}
.ebh-contact-details__intro {
	color: var(--ebh-muted);
	font-size: 14px;
	line-height: 1.75;
	margin: 0 0 32px;
}

/* Contact info cards */
.ebh-contact-cards {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.ebh-contact-card {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	background: var(--ebh-soft);
	border-radius: 14px;
	padding: 20px;
	border: 1px solid var(--ebh-border);
}
.ebh-contact-card__icon {
	width: 46px;
	height: 46px;
	border-radius: 12px;
	background: linear-gradient(135deg, #EBF4FD, var(--ebh-border));
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	flex-shrink: 0;
}
.ebh-contact-card__body {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.ebh-contact-card__label {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .07em;
	color: var(--ebh-muted);
}
.ebh-contact-card__value {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--ebh-navy);
	text-decoration: none;
}
.ebh-contact-card__value:hover {
	color: var(--ebh-primary);
}
.ebh-contact-card__note {
	font-size: 12px;
	color: var(--ebh-muted);
}

/* Small button variant */
.ebh-btn--sm {
	padding: 7px 18px;
	font-size: 13px;
	font-weight: 600;
	border-radius: 50px;
}

/* CTA band */
.ebh-cta-band__inner {
	max-width: 680px;
	margin: 0 auto;
}

/* ===================================================
   PAST TRIPS PAGE — template-past-trips.php
   =================================================== */

.ebh-trip-card {
	background: #fff;
	border-radius: var(--ebh-radius);
	overflow: hidden;
	box-shadow: var(--ebh-shadow-card);
	display: flex;
	flex-direction: column;
	transition: transform .2s, box-shadow .2s;
}
.ebh-trip-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 48px rgba(15,31,61,.18);
}
.ebh-trip-card__img {
	position: relative;
	height: 200px;
	overflow: hidden;
}
.ebh-trip-card__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .3s;
}
.ebh-trip-card:hover .ebh-trip-card__img img {
	transform: scale(1.04);
}
.ebh-trip-card__tag {
	position: absolute;
	top: 14px;
	left: 14px;
	background: rgba(255,255,255,.95);
	color: var(--ebh-navy);
	font-size: 11px;
	font-weight: 700;
	padding: 4px 12px;
	border-radius: 999px;
	text-transform: uppercase;
	letter-spacing: .05em;
}
.ebh-trip-card__body {
	padding: 22px 22px 14px;
	flex: 1;
}
.ebh-trip-card__meta {
	font-size: 13px;
	color: var(--ebh-muted);
	margin-bottom: 6px;
}
.ebh-trip-card__route {
	font-size: 13px;
	font-weight: 600;
	color: var(--ebh-primary);
	margin-bottom: 8px;
}
.ebh-trip-card__title {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 1.1rem;
	color: var(--ebh-navy);
	margin: 0 0 10px;
	line-height: 1.35;
}
.ebh-trip-card__excerpt {
	font-size: 14px;
	color: var(--ebh-muted);
	line-height: 1.6;
	margin: 0;
}
.ebh-trip-card__footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 14px 22px;
	border-top: 1px solid var(--ebh-border);
	font-size: 13px;
	color: var(--ebh-muted);
}

/* ===================================================
   JOIN NETWORK SECTION — Contact page
   =================================================== */

.ebh-section--join {
	padding: 60px 0 80px;
}
.ebh-join-grid {
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: 52px;
	align-items: start;
}
@media (max-width: 900px) {
	.ebh-join-grid {
		grid-template-columns: 1fr;
		gap: 36px;
	}
}

/* Info column */
.ebh-join-info__pill {
	display: inline-block;
	background: var(--ebh-primary);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	padding: 5px 14px;
	border-radius: 999px;
	margin-bottom: 16px;
	letter-spacing: .04em;
}
.ebh-join-info__heading {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: clamp(1.6rem, 2.5vw, 2rem);
	color: var(--ebh-navy);
	margin: 0 0 14px;
}
.ebh-join-info__body {
	color: var(--ebh-muted);
	font-size: 15px;
	line-height: 1.75;
	margin: 0 0 28px;
}
.ebh-join-info__perks {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.ebh-join-info__perks li {
	font-size: 15px;
	font-weight: 500;
	color: var(--ebh-navy);
}

/* Join form status messages */
.ebh-join-form__status {
	margin-top: 12px;
	font-size: 14px;
	text-align: center;
	min-height: 20px;
}
.ebh-join-form__status.is-success { color: #059669; font-weight: 600; }
.ebh-join-form__status.is-error   { color: #dc2626; }

/* ===================================================
   GOOGLE REVIEWS BLOCK — ebh-reviews-sync plugin
   =================================================== */

.ebh-reviews-block {
	margin-bottom: 32px;
}

/* Summary bar */
.ebh-reviews-summary {
	display: flex;
	align-items: center;
	gap: 20px;
	background: var(--ebh-white, #fff);
	border: 1.5px solid var(--ebh-border);
	border-radius: var(--ebh-radius);
	padding: 20px 28px;
	margin-bottom: 20px;
}
.ebh-reviews-summary__score {
	font-size: 3rem;
	font-weight: 800;
	color: var(--ebh-navy);
	line-height: 1;
	flex-shrink: 0;
}
.ebh-reviews-summary__right {
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.ebh-reviews-summary__stars {
	font-size: 22px;
	color: #f59e0b;
	letter-spacing: 2px;
	line-height: 1;
}
.ebh-reviews-summary__count {
	font-size: 14px;
	color: var(--ebh-muted);
	font-weight: 500;
}
.ebh-reviews-summary__powered {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: var(--ebh-muted);
	font-weight: 600;
}

/* Review cards grid */
.ebh-reviews-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 16px;
}
.ebh-review-card {
	background: var(--ebh-white, #fff);
	border-radius: var(--ebh-radius);
	border: 1.5px solid var(--ebh-border);
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	transition: box-shadow .2s;
}
.ebh-review-card:hover {
	box-shadow: var(--ebh-shadow-card);
}
.ebh-review-card__header {
	display: flex;
	align-items: center;
	gap: 12px;
}
.ebh-review-card__avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
	background: linear-gradient(135deg, var(--ebh-primary), var(--ebh-primary-glow));
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	font-weight: 700;
	color: #fff;
}
.ebh-review-card__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.ebh-review-card__name {
	font-size: 14px;
	font-weight: 700;
	color: var(--ebh-navy);
	line-height: 1.2;
}
.ebh-review-card__revno {
	font-size: 12px;
	color: var(--ebh-muted);
	margin-top: 2px;
}
.ebh-review-card__stars {
	font-size: 15px;
	color: #f59e0b;
	letter-spacing: 1px;
	line-height: 1;
}
.ebh-review-card__text {
	font-size: 14px;
	color: var(--ebh-muted);
	line-height: 1.65;
	flex: 1;
	margin: 0;
}
.ebh-review-card__footer {
	display: flex;
	align-items: center;
	gap: 6px;
	padding-top: 10px;
	border-top: 1px solid var(--ebh-border);
}
.ebh-review-card__date {
	font-size: 12px;
	color: var(--ebh-muted);
}

/* Disclaimer */
.ebh-reviews-disclaimer {
	font-size: 12px;
	color: var(--ebh-muted);
	text-align: center;
	margin-top: 14px;
	opacity: .7;
}

/* ===================================================
   OPERATOR FLEET PAGE — template-fleet.php
   =================================================== */

/* ── Hero ── */
.ebh-vp-hero {
	background: var(--ebh-gradient-hero);
	position: relative;
	overflow: hidden;
	padding: 28px 0 28px;
}
.ebh-vp-back {
	position: absolute; top: 24px; left: 32px;
	background: rgba(255,255,255,.12);
	border: 1px solid rgba(255,255,255,.25);
	color: #fff; font-size: 13px; font-weight: 600;
	padding: 8px 16px; border-radius: 50px;
	display: inline-flex; align-items: center; gap: 6px;
	text-decoration: none; transition: background .2s; z-index: 10;
}
.ebh-vp-back:hover { background: rgba(255,255,255,.22); color: #fff; }
.ebh-vp-hero__inner {
	max-width: 1200px; margin: 0 auto; padding: 0 24px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: center;
}
@media (max-width: 860px) {
	.ebh-vp-hero__inner { grid-template-columns: 1fr; }
	.ebh-vp-hero__gallery { order: -1; }
}
.ebh-vp-hero__left { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.ebh-vp-hero__logo {
	display: inline-flex; align-items: center; justify-content: center;
	max-width: 250px; max-height: 100px;
	border-radius: 14px;
	background: transparent;
	border: none;
	overflow: hidden; padding: 0;
}
.ebh-vp-hero__logo img {
	max-width: 220px; max-height: 100px;
	width: auto; height: auto;
	object-fit: contain; display: block;
	border-radius: 14px;
}
.ebh-vp-hero__logo--icon { font-size: 38px; }
.ebh-vp-hero__badge {
	display: inline-block; align-self: flex-start;
	background: var(--ebh-gradient-cta);
	color: #fff; font-size: 10px; font-weight: 700;
	padding: 2px 10px; border-radius: 999px;
	letter-spacing: .05em; text-transform: uppercase;
}
.ebh-vp-hero__name {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	color: #fff; line-height: 1.2; margin: 0;
}
.ebh-vp-hero__meta { display: flex; gap: 18px; flex-wrap: wrap; }
.ebh-vp-hero__meta-item { font-size: 14px; color: rgba(255,255,255,.75); display: flex; align-items: center; gap: 6px; }
.ebh-vp-hero__actions { margin-top: 0; }

/* ── Gallery ── */
.ebh-vp-hero__gallery { position: relative; border-radius: 16px; overflow: hidden; }
.ebh-vp-gallery-strip {
	display: flex; gap: 0;
	overflow-x: auto; scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	border-radius: 16px;
	scroll-snap-type: x mandatory;
}
.ebh-vp-gallery-strip::-webkit-scrollbar { display: none; }
.ebh-vp-gallery-item {
	flex: 0 0 100%; aspect-ratio: 16/9;
	overflow: hidden; border-radius: 14px;
	scroll-snap-align: start;
}
.ebh-vp-gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.ebh-vp-gallery-item:hover img { transform: scale(1.04); }
.ebh-vp-gallery-nav {
	position: absolute; top: 50%; transform: translateY(-50%);
	width: 100%; display: flex; justify-content: space-between;
	padding: 0 10px; pointer-events: none;
}
.ebh-vp-gallery-nav button {
	pointer-events: all;
	background: rgba(0,0,0,.55); border: none; color: #fff;
	width: 36px; height: 36px; border-radius: 50%;
	font-size: 20px; cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	transition: background .2s;
}
.ebh-vp-gallery-nav button:hover { background: rgba(0,0,0,.85); }
.ebh-vp-gallery-empty {
	aspect-ratio: 16/9; border-radius: 16px;
	background: rgba(255,255,255,.08);
	display: flex; flex-direction: column;
	align-items: center; justify-content: center;
	gap: 8px; color: rgba(255,255,255,.5); font-size: 14px;
}
.ebh-vp-thumbs {
	display: flex; gap: 6px; margin-top: 8px;
	overflow-x: auto; scrollbar-width: none;
}
.ebh-vp-thumbs::-webkit-scrollbar { display: none; }
.ebh-vp-thumb {
	flex: 0 0 52px; height: 38px; border-radius: 6px;
	overflow: hidden; cursor: pointer;
	border: 2px solid transparent; opacity: .6;
	transition: border-color .2s, opacity .2s;
}
.ebh-vp-thumb:hover,
.ebh-vp-thumb.active { border-color: #fff; opacity: 1; }
.ebh-vp-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ── Stats band ── */
.ebh-vp-stats {
	background: #fff;
	border-bottom: 1px solid var(--ebh-border);
	padding: 18px 0;
}
.ebh-vp-stats__inner {
	max-width: 1200px; margin: 0 auto; padding: 0 24px;
	display: flex; flex-wrap: wrap;
}
.ebh-vp-stat {
	flex: 1; min-width: 140px;
	padding: 10px 20px;
	border-right: 1px solid var(--ebh-border);
	text-align: center;
	display: flex; flex-direction: column; gap: 4px;
}
.ebh-vp-stat:last-child { border-right: none; }
.ebh-vp-stat__value { font-size: 1.5rem; font-weight: 800; color: var(--ebh-navy); line-height: 1; }
.ebh-vp-stat__label { font-size: 11px; color: var(--ebh-muted); text-transform: uppercase; letter-spacing: .06em; }

/* ── Layout ── */
.ebh-vp-layout {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: 32px;
	align-items: start;
}
@media (max-width: 900px) {
	.ebh-vp-layout { grid-template-columns: 1fr; }
	.ebh-vp-sidebar { order: -1; }
}
.ebh-vp-section-title {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 1.4rem; color: var(--ebh-navy);
	margin: 0 0 18px;
}
.ebh-vp-card {
	background: #fff; border-radius: var(--ebh-radius);
	border: 1.5px solid var(--ebh-border);
	padding: 24px 28px;
}
.ebh-vp-about-text { font-size: 15px; color: var(--ebh-muted); line-height: 1.75; margin: 0; }

/* ── Fleet grid ── */
.ebh-vp-fleet-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px; margin-bottom: 32px;
}
@media (max-width: 600px) {
	.ebh-vp-fleet-grid { grid-template-columns: 1fr; }
}
.ebh-vp-vcard {
	background: #fff; border-radius: var(--ebh-radius);
	border: 1.5px solid var(--ebh-border);
	overflow: hidden;
	transition: transform .2s, box-shadow .2s;
	display: flex; flex-direction: column;
}
.ebh-vp-vcard:hover { transform: translateY(-3px); box-shadow: var(--ebh-shadow-card); }
.ebh-vp-vcard__img {
	aspect-ratio: 16/9; overflow: hidden;
	background: var(--ebh-soft);
	display: flex; align-items: center; justify-content: center;
	font-size: 48px; position: relative;
}
.ebh-vp-vcard__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ebh-vp-vcard__noimg { font-size: 48px; }
.ebh-vp-vcard__seats {
	position: absolute; bottom: 8px; right: 8px;
	background: var(--ebh-navy); color: #fff;
	font-size: 11px; font-weight: 700;
	padding: 2px 8px; border-radius: 999px;
}
.ebh-vp-vcard__body { padding: 14px; flex: 1; display: flex; flex-direction: column; gap: 8px; }
.ebh-vp-vcard__type { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--ebh-primary); }
.ebh-vp-vcard__name { font-size: 1rem; font-weight: 700; color: var(--ebh-navy); }
.ebh-vp-vcard__feats { display: flex; flex-wrap: wrap; gap: 5px; }
.ebh-vp-vcard__feat { background: var(--ebh-soft); border-radius: 6px; font-size: 11px; font-weight: 500; color: var(--ebh-muted); padding: 2px 7px; }
.ebh-vp-vcard__profile-btn {
	display: block; text-align: center;
	background: var(--ebh-soft); color: var(--ebh-primary);
	font-size: 13px; font-weight: 700;
	padding: 9px; border-radius: 8px;
	border: 1.5px solid var(--ebh-border);
	transition: background .2s, color .2s, border-color .2s;
	text-decoration: none; margin-top: auto;
}
.ebh-vp-vcard__profile-btn:hover { background: var(--ebh-primary); color: #fff; border-color: var(--ebh-primary); }
.ebh-vp-no-fleet { color: var(--ebh-muted); font-style: italic; }

/* ── Sidebar ── */
.ebh-vp-sidebar-title { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--ebh-muted); margin-bottom: 14px; }
.ebh-vp-detail-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--ebh-border); font-size: 14px; }
.ebh-vp-detail-row:last-child { border-bottom: none; }
.ebh-vp-detail-row__label { color: var(--ebh-muted); flex-shrink: 0; }
.ebh-vp-detail-row__value { font-weight: 600; color: var(--ebh-navy); text-align: right; }
.ebh-vp-lic-badge { background: #dcfce7; border: 1px solid #bbf7d0; border-radius: 8px; padding: 4px 12px; font-size: 12px; font-weight: 600; color: #15803d; }
.ebh-vp-cta-card { background: var(--ebh-gradient-hero); border-radius: var(--ebh-radius); padding: 24px; text-align: center; }
.ebh-vp-cta-card h3 { font-family: 'Playfair Display', Georgia, serif; font-size: 1.1rem; color: #fff; margin: 0 0 8px; }
.ebh-vp-cta-card p { font-size: 13px; color: rgba(255,255,255,.65); margin: 0 0 18px; line-height: 1.6; }

/* ===================================================
   VEHICLE PROFILE PAGE — template-vehicle.php
   =================================================== */

.ebh-vpv-hero {
	background: linear-gradient(150deg, #0d1e2e 0%, #1A2B3C 50%, #1e3d5c 100%);
	position: relative; overflow: hidden; padding: 24px 0 32px;
}
.ebh-vpv-inner {
	position: relative; z-index: 1;
	max-width: 820px; margin: 0 auto; padding: 0 24px;
}
.ebh-vpv-topbar {
	display: flex; align-items: center; justify-content: center;
	margin-bottom: 18px;
}
.ebh-vpv-back {
	position: absolute; top: 24px; left: 32px;
	background: rgba(255,255,255,.12);
	border: 1px solid rgba(255,255,255,.25);
	color: #fff; font-size: 13px; font-weight: 600;
	padding: 8px 16px; border-radius: 50px;
	display: inline-flex; align-items: center; gap: 6px;
	text-decoration: none; transition: background .2s; z-index: 10;
}
.ebh-vpv-back:hover { background: rgba(255,255,255,.22); color: #fff; }
.ebh-vpv-op-pill {
	background: rgba(74,144,217,.2); border: 1px solid rgba(74,144,217,.35);
	color: #7BB8F0; font-size: 11px; font-weight: 700;
	padding: 5px 12px; border-radius: 50px;
	text-transform: uppercase; letter-spacing: .06em;
}
.ebh-vpv-title {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: clamp(1.5rem, 4vw, 2.2rem);
	color: #fff; font-weight: 700; line-height: 1.2; margin-bottom: 12px;
	text-align: center;
}
.ebh-vpv-title__make { color: #7BB8F0; }
.ebh-vpv-badges { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 20px; justify-content: center; }
.ebh-vpv-badge {
	display: inline-flex; align-items: center; gap: 5px;
	padding: 5px 14px; border-radius: 50px;
	font-size: 12px; font-weight: 700;
}
.ebh-vpv-badge--plate {
	background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18);
	color: #fff; font-family: monospace; letter-spacing: .1em; font-size: 14px;
}
.ebh-vpv-badge--info { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.8); }
.ebh-vpv-badge__dot { width: 7px; height: 7px; border-radius: 50%; }

/* Gallery */
.ebh-vpv-gallery { border-radius: 14px; overflow: hidden; }
.ebh-vpv-gallery__main {
	position: relative; aspect-ratio: 16/9;
	background: #111; cursor: zoom-in;
	display: flex; align-items: center; justify-content: center;
}
.ebh-vpv-gallery__main img { width: 100%; height: 100%; object-fit: contain; object-position: center center; display: block; transition: transform .3s; }
.ebh-vpv-gallery__main:hover img { transform: scale(1.02); }
.ebh-vpv-gallery__nav {
	position: absolute; inset: 0;
	display: flex; align-items: center; justify-content: space-between;
	padding: 0 12px; pointer-events: none;
}
.ebh-vpv-gallery__nav button {
	pointer-events: all;
	background: rgba(0,0,0,.55); border: none; color: #fff;
	width: 38px; height: 38px; border-radius: 50%;
	font-size: 20px; cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	transition: background .2s;
}
.ebh-vpv-gallery__nav button:hover { background: rgba(0,0,0,.85); }
.ebh-vpv-gallery__counter {
	position: absolute; bottom: 12px; right: 14px;
	background: rgba(0,0,0,.65); color: #fff;
	font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 20px;
}
.ebh-vpv-gallery__hint {
	position: absolute; bottom: 12px; left: 14px;
	background: rgba(0,0,0,.5); color: rgba(255,255,255,.8);
	font-size: 11px; padding: 3px 10px; border-radius: 20px;
}
.ebh-vpv-gallery__thumbs {
	display: flex; gap: 8px;
	background: #0d1a27; padding: 10px 14px;
	border-radius: 0 0 14px 14px; overflow-x: auto;
}
.ebh-vpv-gallery__thumbs::-webkit-scrollbar { height: 4px; }
.ebh-vpv-gallery__thumbs::-webkit-scrollbar-thumb { background: rgba(255,255,255,.2); border-radius: 2px; }
.ebh-vpv-gallery__empty {
	aspect-ratio: 16/9; border-radius: 14px;
	background: linear-gradient(135deg, #1e3d5c, #2C6FAC);
	display: flex; flex-direction: column;
	align-items: center; justify-content: center;
	gap: 8px; color: rgba(255,255,255,.4); font-size: 14px;
}
.ebh-vpv-thumb {
	width: 68px; height: 50px; border-radius: 8px; overflow: hidden;
	cursor: pointer; flex-shrink: 0;
	border: 2.5px solid transparent; opacity: .55; transition: all .15s;
}
.ebh-vpv-thumb.active { border-color: var(--ebh-primary); opacity: 1; }
.ebh-vpv-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Content */
.ebh-vpv-content {
	padding: 24px 0 60px;
}
.ebh-vpv-section-label {
	font-size: 11px; font-weight: 800; color: #9BADC4;
	text-transform: uppercase; letter-spacing: .1em;
	margin-bottom: 14px;
	display: flex; align-items: center; gap: 8px;
}
.ebh-vpv-section-label::before {
	content: ''; display: block;
	width: 3px; height: 14px;
	background: var(--ebh-primary); border-radius: 2px;
}

/* Feature tiles */
.ebh-vpv-feat-grid {
	display: grid; grid-template-columns: repeat(4, 1fr);
	gap: 12px; margin-bottom: 24px;
}
@media (max-width: 640px) { .ebh-vpv-feat-grid { grid-template-columns: repeat(2, 1fr); } }
.ebh-vpv-feat {
	position: relative; border-radius: 16px;
	padding: 18px 12px 14px;
	border: 1.5px solid;
	display: flex; flex-direction: column;
	align-items: center; gap: 8px; text-align: center;
	transition: transform .15s, box-shadow .15s;
	cursor: default;
}
.ebh-vpv-feat:hover { transform: translateY(-2px); }
.ebh-vpv-feat--yes {
	background: linear-gradient(145deg, #f0fdf4, #dcfce7);
	border-color: rgba(46,125,82,.18);
	box-shadow: 0 2px 12px rgba(46,125,82,.08);
}
.ebh-vpv-feat--no {
	background: var(--ebh-soft);
	border-color: var(--ebh-border);
	opacity: .55;
}
.ebh-vpv-feat__check {
	position: absolute; top: 10px; right: 10px;
	width: 20px; height: 20px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0;
}
.ebh-vpv-feat__check--yes { background: #16a34a; box-shadow: 0 2px 6px rgba(22,163,74,.3); }
.ebh-vpv-feat__check--no  { background: #e2e8f0; }
.ebh-vpv-feat__icon {
	width: 52px; height: 52px; border-radius: 14px;
	display: flex; align-items: center; justify-content: center;
	padding: 12px;
}
.ebh-vpv-feat--yes .ebh-vpv-feat__icon {
	background: #166534;
	color: #fff;
	box-shadow: 0 4px 14px rgba(22,101,52,.25);
}
.ebh-vpv-feat--no  .ebh-vpv-feat__icon {
	background: #cbd5e1;
	color: #94a3b8;
}
.ebh-vpv-feat__icon svg { width: 100%; height: 100%; }
.ebh-vpv-feat__label {
	font-size: 12px; font-weight: 700; line-height: 1.2;
}
.ebh-vpv-feat--yes .ebh-vpv-feat__label { color: var(--ebh-navy); }
.ebh-vpv-feat--no  .ebh-vpv-feat__label { color: #94a3b8; }
.ebh-vpv-feat__detail {
	font-size: 11px; font-weight: 600;
	color: #16a34a; line-height: 1.2;
}

/* Details card */
.ebh-vpv-card { background: #fff; border-radius: var(--ebh-radius); box-shadow: var(--ebh-shadow-card); margin-bottom: 20px; }
.ebh-vpv-spec-row {
	display: flex; align-items: baseline;
	justify-content: space-between;
	padding: 11px 20px; border-bottom: 1px solid var(--ebh-soft);
}
.ebh-vpv-spec-row:last-child { border-bottom: none; }
.ebh-vpv-spec-label { font-size: 12px; color: #9BADC4; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; flex-shrink: 0; margin-right: 12px; }
.ebh-vpv-spec-value { font-size: 13px; font-weight: 700; color: var(--ebh-navy); text-align: right; }
.ebh-vpv-spec-value.mono { font-family: monospace; letter-spacing: .06em; }

/* Compliance */
.ebh-vpv-compliance { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 20px; }
.ebh-vpv-comp { background: #fff; border-radius: 14px; padding: 16px; box-shadow: var(--ebh-shadow-card); border-left: 4px solid; }
.ebh-vpv-comp--ok   { border-color: #2E7D52; }
.ebh-vpv-comp--warn { border-color: #C97A10; }
.ebh-vpv-comp--exp  { border-color: #C0392B; }
.ebh-vpv-comp--unknown { border-color: var(--ebh-border); }
.ebh-vpv-comp__label { font-size: 10px; font-weight: 700; color: #9BADC4; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 4px; }
.ebh-vpv-comp__value { font-size: 16px; font-weight: 800; }
.ebh-vpv-comp--ok   .ebh-vpv-comp__value { color: #2E7D52; }
.ebh-vpv-comp--warn .ebh-vpv-comp__value { color: #C97A10; }
.ebh-vpv-comp--exp  .ebh-vpv-comp__value { color: #C0392B; }
.ebh-vpv-comp--unknown .ebh-vpv-comp__value { color: var(--ebh-muted); }
.ebh-vpv-comp__status { font-size: 11px; font-weight: 600; margin-top: 2px; }
.ebh-vpv-comp--ok   .ebh-vpv-comp__status { color: rgba(46,125,82,.7); }
.ebh-vpv-comp--warn .ebh-vpv-comp__status { color: rgba(201,122,16,.8); }
.ebh-vpv-comp--exp  .ebh-vpv-comp__status { color: #C0392B; }

/* Notes */
.ebh-vpv-notes {
	background: #fff; border-left: 4px solid var(--ebh-primary);
	border-radius: 0 14px 14px 0; padding: 14px 18px;
	margin-bottom: 20px; font-size: 13px; color: var(--ebh-muted);
	font-style: italic; line-height: 1.6; box-shadow: var(--ebh-shadow-card);
}

/* CTA */
.ebh-vpv-cta { background: var(--ebh-gradient-hero); border-radius: 20px; padding: 32px; text-align: center; margin-bottom: 0; }
.ebh-vpv-cta h3 { font-family: 'Playfair Display', Georgia, serif; color: #fff; font-size: 1.3rem; margin: 0 0 8px; }
.ebh-vpv-cta p { color: rgba(255,255,255,.65); font-size: 13px; margin: 0 0 20px; line-height: 1.6; }
.ebh-vpv-footer-note { text-align: center; padding: 20px 0 0; color: #9BADC4; font-size: 11px; }

/* ── Operators page header (gso-header-section) ── */
.gso-header-section {
    background: linear-gradient(135deg, #1A2B3C 0%, #1e3a5f 45%, #2C6FAC 100%) !important;
    position: relative;
    overflow: hidden;
}
.gso-header-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%234A90D9' fill-opacity='0.06'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none;
    z-index: 0;
}
.gso-header-section h2,
.gso-header-section p,
.gso-header-section .gso-filter-buttons {
    position: relative;
    z-index: 1;
}

/* ── Operator join section ── */
.ebh-operator-section {
  background: #3b86c8 !important;
  position: relative;
  overflow: hidden;
}
.ebh-operator-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%234A90D9' fill-opacity='0.06'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none;
    z-index: 0;
}
.ebh-operator-section .ebh-operator-inner {
    position: relative;
    z-index: 1;
}

/* ── CTA band gradient ── */
.ebh-cta-band {
    background: #3b86c8 !important;
    position: relative;
    overflow: hidden;
}
.ebh-cta-band::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%234A90D9' fill-opacity='0.06'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none;
    z-index: 0;
}
.ebh-cta-band .ebh-container {
    position: relative;
    z-index: 1;
}
.ebh-cta-band h2 {
    color: #fff !important;
}
.ebh-cta-band p {
    color: rgba(255, 255, 255, 0.75) !important;
}
.ebh-cta-band .ebh-btn--cta,
.ebh-cta-band .ebh-btn--ghost-light {
    display: inline-block;
    background: #fff !important;
    color: #1f66b2 !important;
    padding: 16px 42px !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    border: none !important;
    box-shadow: none !important;
    height: auto !important;
}

/* ── Vehicle profile hero section ── */
.ebh-vpv-hero {
    background: linear-gradient(135deg, #1A2B3C 0%, #1e3a5f 45%, #2C6FAC 100%) !important;
    position: relative;
    overflow: hidden;
}
.ebh-vpv-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%234A90D9' fill-opacity='0.06'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none;
    z-index: 0;
}
.ebh-vpv-hero .ebh-vpv-inner,
.ebh-vpv-hero .ebh-vpv-back {
    position: relative;
    z-index: 1;
}
.ebh-vpv-title {
    color: #fff !important;
}
.ebh-vpv-back {
    color: rgba(255, 255, 255, 0.75) !important;
}
.ebh-vpv-back:hover {
    color: #fff !important;
}

/* ── Operator profile hero section ── */
.ebh-vp-hero {
    background: linear-gradient(135deg, #1A2B3C 0%, #1e3a5f 45%, #2C6FAC 100%) !important;
    position: relative;
    overflow: hidden;
}
.ebh-vp-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%234A90D9' fill-opacity='0.06'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none;
    z-index: 0;
}
.ebh-vp-hero .ebh-container,
.ebh-vp-hero .ebh-vp-back {
    position: relative;
    z-index: 1;
}
.ebh-vp-hero__name {
    color: #fff !important;
}
.ebh-vp-back {
    color: rgba(255, 255, 255, 0.75) !important;
}
.ebh-vp-back:hover {
    color: #fff !important;
}

/* ── Past trips page hero section ── */
.ebh-hero--sm {
    background: linear-gradient(135deg, #1A2B3C 0%, #1e3a5f 45%, #2C6FAC 100%) !important;
    position: relative;
    overflow: hidden;
    padding: 80px 0 60px;
}
.ebh-hero--sm::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%234A90D9' fill-opacity='0.06'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none;
    z-index: 0;
}
.ebh-hero--sm .ebh-hero__inner,
.ebh-hero--sm .ebh-pill,
.ebh-hero--sm .ebh-hero__title,
.ebh-hero--sm .ebh-hero__subtitle {
    position: relative;
    z-index: 1;
}
.ebh-hero--sm .ebh-hero__title {
    color: #fff;
}
.ebh-hero--sm .ebh-hero__subtitle {
    color: rgba(255, 255, 255, 0.75);
}
.ebh-hero--sm .ebh-pill {
    background: rgba(74, 144, 217, .25);
    border: 1px solid rgba(74, 144, 217, .5);
    color: #7bb8f0;
}

/* ── Contact page hero section ── */
.ebh-hero--contact {
    background: linear-gradient(135deg, #1A2B3C 0%, #1e3a5f 45%, #2C6FAC 100%) !important;
    position: relative;
    overflow: hidden;
    padding: 80px 0 60px;
}
.ebh-hero--contact::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%234A90D9' fill-opacity='0.06'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none;
    z-index: 0;
}
.ebh-hero--contact .ebh-hero__inner,
.ebh-hero--contact .ebh-pill,
.ebh-hero--contact .ebh-hero__title,
.ebh-hero--contact .ebh-hero__subtitle {
    position: relative;
    z-index: 1;
}
.ebh-hero--contact .ebh-hero__title {
    color: #fff;
}
.ebh-hero--contact .ebh-hero__subtitle {
    color: rgba(255, 255, 255, 0.75);
}
.ebh-hero--contact .ebh-pill {
    background: rgba(74, 144, 217, .25);
    border: 1px solid rgba(74, 144, 217, .5);
    color: #7bb8f0;
}

/* ── Operators page header section ── */
.gso-header-section {
    background: linear-gradient(135deg, #1A2B3C 0%, #1e3a5f 45%, #2C6FAC 100%) !important;
    position: relative;
    overflow: hidden;
}
.gso-header-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%234A90D9' fill-opacity='0.06'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none;
    z-index: 0;
}
.gso-header-section > * {
    position: relative;
    z-index: 1;
}

/* ── Logo size ── */
.ebh-wordmark {
    display: block !important;
    width: 267px !important;
    height: 80px !important;
    font-size: 0 !important;
    background-image: url('https://easybushire.co.uk/wp-content/uploads/2026/04/LOGO350-3.png') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center left !important;
}
.ebh-wordmark span { display: none !important; }
.ebh-header__brand .custom-logo-link img.custom-logo,
.ebh-header__brand img.custom-logo,
a.custom-logo-link img {
    width: 267px !important;
    max-width: 267px !important;
    height: auto !important;
    display: block !important;
}
.ebh-footer__brand img {
    max-width: 267px !important;
    width: 267px !important;
    height: auto !important;
}

/* ── Footer gradient ── */
.ebh-footer {
    background: linear-gradient(135deg, #1A2B3C 0%, #1e3a5f 45%, #2C6FAC 100%) !important;
    position: relative;
    overflow: hidden;
}
.ebh-footer::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%234A90D9' fill-opacity='0.06'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none;
    z-index: 0;
}
.ebh-footer .ebh-container {
    position: relative;
    z-index: 1;
}

/* ── Header height 1.5× ── */
.ebh-header__inner { height: 96px !important; }
.ebh-header { min-height: 96px; }

/* ── Google Places Autocomplete dropdown fix ── */
.pac-container {
	z-index: 999999 !important;
	border-radius: 10px;
	box-shadow: 0 8px 32px rgba(15,31,61,.15);
	border: 1.5px solid var(--ebh-border);
	margin-top: 4px;
	font-family: 'Inter', sans-serif;
}
.pac-item {
	padding: 10px 16px;
	font-size: 14px;
	cursor: pointer;
	border-top: 1px solid var(--ebh-border);
}
.pac-item:first-child { border-top: none; }
.pac-item:hover,
.pac-item-selected { background: var(--ebh-soft); }
.pac-item-query { font-weight: 600; color: var(--ebh-navy); }
.pac-matched { color: var(--ebh-primary); }

/* ===================================================
   MOBILE — Operator Fleet & Vehicle Profile pages
   =================================================== */

@media (max-width: 768px) {

  /* ── Fleet page hero ── */
  .ebh-vp-hero { padding: 16px 0 20px; }
  .ebh-vp-back {
    position: relative;
    top: auto; left: auto;
    display: inline-flex;
    margin: 0 16px 16px;
    font-size: 12px;
    padding: 6px 12px;
  }
  .ebh-vp-hero__inner { padding: 0 16px; gap: 24px; }
  .ebh-vp-hero__name { font-size: 1.6rem; }
  .ebh-vp-hero__meta { gap: 10px; }
  .ebh-vp-hero__meta-item { font-size: 13px; }
  .ebh-vp-hero__logo { max-width: 160px; max-height: 70px; }
  .ebh-vp-hero__logo img { max-width: 140px; max-height: 60px; }

  /* ── Fleet stats band ── */
  .ebh-vp-stats__inner { flex-wrap: wrap; }
  .ebh-vp-stat { flex: 0 0 50%; border-right: none; border-bottom: 1px solid var(--ebh-border); padding: 12px; }
  .ebh-vp-stat:nth-child(odd) { border-right: 1px solid var(--ebh-border); }
  .ebh-vp-stat:nth-last-child(-n+2) { border-bottom: none; }
  .ebh-vp-stat__value { font-size: 1.2rem; }

  /* ── Fleet main layout ── */
  .ebh-vp-layout { grid-template-columns: 1fr; gap: 20px; }
  .ebh-vp-sidebar { order: 3; }
  .ebh-vp-card { padding: 18px; }

  /* ── Fleet grid ── */
  .ebh-vp-fleet-grid { grid-template-columns: 1fr; }

  /* ── Sidebar cards ── */
  .ebh-vp-cta-card { padding: 20px; }

  /* ── Vehicle profile hero ── */
  .ebh-vpv-hero { padding: 16px 0 32px; }
  .ebh-vpv-back {
    position: relative;
    top: auto; left: auto;
    display: inline-flex;
    margin: 0 16px 16px;
    font-size: 12px;
    padding: 6px 12px;
  }
  .ebh-vpv-inner { padding: 0 16px; }
  .ebh-vpv-topbar { margin-bottom: 12px; }
  .ebh-vpv-title { font-size: 1.5rem; margin-bottom: 10px; }
  .ebh-vpv-badges { gap: 6px; padding-bottom: 14px; }
  .ebh-vpv-badge { font-size: 11px; padding: 4px 10px; }
  .ebh-vpv-badge--plate { font-size: 12px; }

  /* ── Vehicle gallery ── */
  .ebh-vpv-gallery__thumbs { padding: 8px 10px; gap: 6px; }
  .ebh-vpv-thumb { width: 52px; height: 38px; }

  /* ── Vehicle features grid ── */
  .ebh-vpv-feat-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .ebh-vpv-feat__icon { width: 34px; height: 34px; font-size: 16px; }
  .ebh-vpv-feat__label { font-size: 10px; }

  /* ── Vehicle spec rows ── */
  .ebh-vpv-spec-row { padding: 10px 14px; flex-wrap: wrap; gap: 4px; }
  .ebh-vpv-spec-value { text-align: left; }

  /* ── Vehicle compliance ── */
  .ebh-vpv-compliance { grid-template-columns: 1fr; }

  /* ── Vehicle CTA ── */
  .ebh-vpv-cta { padding: 24px 18px; border-radius: 14px; }
  .ebh-vpv-cta h3 { font-size: 1.1rem; }
  .ebh-vpv-cta .ebh-btn { font-size: 13px; padding: 12px 18px; }

  /* ── Vehicle content ── */
  .ebh-vpv-content { padding: 16px 0 40px; }
  .ebh-vpv-section-label { margin-bottom: 10px; }
}

@media (max-width: 480px) {
  .ebh-vp-hero__meta { flex-direction: column; gap: 6px; }
  .ebh-vpv-op-pill { font-size: 10px; padding: 3px 8px; }
  .ebh-vpv-title { font-size: 1.3rem; }
  .ebh-vp-stat__value { font-size: 1.1rem; }
}

/* ===================================================
   PAST TRIPS PAGE — filter tabs
   =================================================== */
.ebh-trips-filters {
	background: var(--ebh-white, #fff);
	border-bottom: 1px solid var(--ebh-border);
	padding: 16px 0;
}
.ebh-trips-filter-row {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	align-items: center;
}
.ebh-trips-filter-btn {
	background: var(--ebh-soft);
	border: 1.5px solid var(--ebh-border);
	color: var(--ebh-muted);
	font-size: 13px; font-weight: 600;
	padding: 7px 18px; border-radius: 999px;
	cursor: pointer; transition: all .2s;
	font-family: inherit;
}
.ebh-trips-filter-btn:hover { border-color: var(--ebh-primary); color: var(--ebh-primary); }
.ebh-trips-filter-btn.active {
	background: var(--ebh-primary);
	border-color: var(--ebh-primary);
	color: #fff;
}
.ebh-trip-card__no-img {
	width: 100%; height: 100%;
	display: flex; align-items: center; justify-content: center;
	font-size: 48px;
}
.ebh-trips-empty {
	text-align: center; padding: 60px 20px;
	color: var(--ebh-muted); font-size: 16px;
}

/* ── Trip card multi-image gallery ── */
.ebh-trip-card__img {
	position: relative;
	overflow: hidden;
	height: 200px;
}
.ebh-trip-gallery {
	display: flex;
	height: 100%;
	transition: transform .35s ease;
	will-change: transform;
}
.ebh-trip-gallery__slide {
	flex: 0 0 100%;
	height: 100%;
	overflow: hidden;
}
.ebh-trip-gallery__slide img {
	width: 100%; height: 100%;
	object-fit: cover; display: block;
}
.ebh-trip-gallery__prev,
.ebh-trip-gallery__next {
	position: absolute; top: 50%; transform: translateY(-50%);
	background: rgba(0,0,0,.5); border: none; color: #fff;
	width: 32px; height: 32px; border-radius: 50%;
	font-size: 18px; cursor: pointer; z-index: 2;
	display: flex; align-items: center; justify-content: center;
	transition: background .2s;
}
.ebh-trip-gallery__prev { left: 8px; }
.ebh-trip-gallery__next { right: 8px; }
.ebh-trip-gallery__prev:hover,
.ebh-trip-gallery__next:hover { background: rgba(0,0,0,.8); }
.ebh-trip-gallery__dots {
	position: absolute; bottom: 8px; left: 50%; transform: translateX(-50%);
	display: flex; gap: 5px; z-index: 2;
}
.ebh-trip-gallery__dot {
	width: 6px; height: 6px; border-radius: 50%;
	background: rgba(255,255,255,.5); transition: background .2s;
}
.ebh-trip-gallery__dot.active { background: #fff; }

/* ── Homepage hero subtitle line break ── */
.busHire_page .ebh-hero__subtitle {
    white-space: pre-line;
}

/* ── Smooth scrolling ── */
html {
    scroll-behavior: smooth;
}

/* ── Homepage form compact spacing (-50% whitespace total) ── */
.busHire_page .ebh-form {
    padding: 23px !important;
}
.busHire_page .ebh-form__title {
    margin-bottom: 16px !important;
}
.busHire_page .ebh-toggle {
    margin-bottom: 16px !important;
}
.first_form_card {
    padding: 8px 12px !important;
    margin-bottom: 7px !important;
}
.second_form_card {
    padding: 8px 12px !important;
    margin-bottom: 7px !important;
}
.fgrid {
    gap: 7px !important;
}
.fg {
    gap: 3px !important;
}
.first_form_card > div:first-child,
.second_form_card > div:first-child {
    margin-bottom: 9px !important;
}

/* ── Homepage hero compact + larger pill & subtitle ── */
.top_section {
    padding: 40px 0px 30px !important;
    min-height: unset !important;
}
.busHire_page .ebh-pill {
    font-size: 15px !important;
    padding: 8px 22px !important;
    margin-bottom: 16px !important;
}
.busHire_page .ebh-hero__title {
    margin-bottom: 14px !important;
}
.busHire_page .ebh-hero__subtitle {
    font-size: 1.25rem !important;
    margin-bottom: 28px !important;
}

/* ── Trust bar redesign ── */
.ebh-trust {
    background: #EBF4FD !important;
    border-top: 1px solid #B8D9F5 !important;
    border-bottom: 1px solid #B8D9F5 !important;
    padding: 0 !important;
}
.ebh-trust .ebh-trust__row,
.ebh-container.ebh-trust__row {
    padding: 20px 40px !important;
    gap: 32px !important;
    justify-content: center !important;
}
.ti {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}
.ti .ic {
    font-size: 0 !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border-radius: 50% !important;
    background: #4a90d9 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
}
/* Replace emoji icons with SVG-style CSS icons */
.ti:nth-child(1) .ic::after { content: "✓"; font-size: 18px; color: #fff; font-weight: 900; }
.ti:nth-child(2) .ic::after { content: "📍"; font-size: 16px; }
.ti:nth-child(3) .ic::after { content: "💬"; font-size: 16px; }
.ti:nth-child(4) .ic::after { content: "🔒"; font-size: 16px; }
.ti div {
    text-align: left !important;
}
.ti div strong {
    display: block !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1a2b3c !important;
    font-family: 'Outfit', sans-serif !important;
}
.ti div {
    font-size: 13px !important;
    color: #5a7090 !important;
    font-family: 'Outfit', sans-serif !important;
}
@media (max-width: 768px) {
    .ebh-container.ebh-trust__row {
        gap: 20px !important;
        padding: 16px 20px !important;
    }
}

/* ── Homepage whitespace reduction — bus strip & How It Works ── */
.bus-strip {
    padding: 16px 0 !important;
}
.busHire_page .ebh-section {
    padding-block: 48px !important;
}
.sec h2 {
    margin-bottom: 10px !important;
}
.sec p.sub {
    margin-bottom: 28px !important;
}
.busHire_page .ebh-steps {
    margin-block-start: 18px !important;
}
.busHire_page .ebh-step {
    padding: 24px 22px !important;
}
.busHire_page .ebh-step__num {
    margin-bottom: 14px !important;
}
.busHire_page .ebh-step h3 {
    margin-bottom: 7px !important;
}

/* ── Occasions section & CTA band whitespace reduction ── */
.busHire_page .ebh-section--alt {
    padding-block: 40px !important;
}
.busHire_page .ebh-occasions {
    margin-top: 24px !important;
}
.ebh-cta-band {
    padding-block: 48px !important;
}
.ebh-cta-band h2 {
    margin-bottom: 10px !important;
}
.ebh-cta-band p {
    margin-bottom: 28px !important;
}
.ebh-cta-band .sl {
    margin-bottom: 8px !important;
}
.ebh-cta-band__actions {
    display: flex !important;
    gap: 14px !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
}

/* ── Further whitespace reduction — bus strip to How It Works gap ── */
.busHire_page .ebh-section {
    padding-block: 32px !important;
}
.bus-strip {
    padding: 10px 0 !important;
}

/* ── Operator cards — improved readability ── */
.gso-card-details h3 {
    font-size: 17px !important;
    color: #0d1f35 !important;
}
.gso-card-meta {
    font-size: 15px !important;
    color: #3a5068 !important;
}
.gso-card-meta span[style*="color:#94a3b8"] {
    color: #6b8099 !important;
    font-size: 13px !important;
}
.gso-fleet-status {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #2c6fac !important;
}
.gso-quote-btn {
    background: #4a90d9 !important;
    color: #fff !important;
    border: 2px solid #4a90d9 !important;
    font-size: 13px !important;
    padding: 8px 16px !important;
}
.gso-quote-btn:hover {
    background: #2c6fac !important;
    border-color: #2c6fac !important;
    color: #fff !important;
}
.gso-view-btn {
    font-size: 13px !important;
    padding: 8px 16px !important;
}

/* ── Get a Quote button — match Partner green ── */
.gso-quote-btn {
    background: #2e8b57 !important;
    color: #fff !important;
    border: 2px solid #2e8b57 !important;
}
.gso-quote-btn:hover {
    background: #236b43 !important;
    border-color: #236b43 !important;
    color: #fff !important;
}

/* ── Operator fleet page — CTA buttons green to match Partner badge ── */
.ebh-vpv-cta .ebh-btn--cta,
.ebh-vp-cta-card .ebh-btn {
    background: #2e8b57 !important;
    border-color: #2e8b57 !important;
    color: #fff !important;
}
.ebh-vpv-cta .ebh-btn--cta:hover,
.ebh-vp-cta-card .ebh-btn:hover {
    background: #236b43 !important;
    border-color: #236b43 !important;
    color: #fff !important;
}

/* ── Fleet page sidebar CTA — green button ── */
.ebh-vp-cta-card .ebh-btn--cta {
    background: #2e8b57 !important;
    border-color: #2e8b57 !important;
    color: #fff !important;
}
.ebh-vp-cta-card .ebh-btn--cta:hover {
    background: #236b43 !important;
    border-color: #236b43 !important;
    color: #fff !important;
}

/* ── Fleet operator page — Get a Quote from this Operator button green ── */
.ebh-vp-cta-card a,
.ebh-vp-cta-card button,
.ebh-vp-cta-card .ebh-btn,
.ebh-vp-cta-card .ebh-btn--cta,
.ebh-vp-cta-card .ebh-vp-vcard__profile-btn {
    background: #2e8b57 !important;
    border-color: #2e8b57 !important;
    color: #fff !important;
}
.ebh-vp-cta-card a:hover,
.ebh-vp-cta-card button:hover,
.ebh-vp-cta-card .ebh-btn:hover,
.ebh-vp-cta-card .ebh-btn--cta:hover {
    background: #236b43 !important;
    border-color: #236b43 !important;
    color: #fff !important;
}

/* ── Fleet operator page bottom CTA band — green button ── */
.ebh-vp-hero ~ .ebh-cta-band .ebh-btn--cta,
.ebh-vp-hero ~ .ebh-cta-band .ebh-btn {
    background: #2e8b57 !important;
    border-color: #2e8b57 !important;
    color: #fff !important;
}
.ebh-vp-hero ~ .ebh-cta-band .ebh-btn--cta:hover,
.ebh-vp-hero ~ .ebh-cta-band .ebh-btn:hover {
    background: #236b43 !important;
    border-color: #236b43 !important;
    color: #fff !important;
}

/* ── Operators page — Are you an operator section improvements ── */
.ebh-operator-section {
    padding: 56px 20px !important;
}
.ebh-operator-inner {
    max-width: 640px !important;
}
.ebh-operator-section h2 {
    font-size: 2.2rem !important;
    margin-bottom: 12px !important;
}
.ebh-operator-section p {
    font-size: 17px !important;
    max-width: 520px !important;
    margin-bottom: 24px !important;
    line-height: 1.6 !important;
}
.ebh-operator-features {
    gap: 24px !important;
    margin-bottom: 28px !important;
    font-size: 15px !important;
}
.ebh-operator-btn {
    background: #fff !important;
    color: #1f66b2 !important;
    font-size: 16px !important;
    padding: 16px 48px !important;
}
.ebh-operator-btn:hover {
    background: #f0f7ff !important;
    color: #1f66b2 !important;
}

/* ── Consistent hero sections across all pages ── */

/* Standardise padding */
.ebh-hero--sm,
.ebh-hero--contact,
.gso-header-section {
    padding: 60px 20px 50px !important;
}

/* Standardise heading sizes */
.ebh-hero--sm .ebh-hero__title,
.ebh-hero--contact .ebh-hero__title {
    font-size: clamp(2.4rem, 5vw, 3.8rem) !important;
    margin-bottom: 14px !important;
}
.gso-header-section h2 {
    font-size: clamp(2.4rem, 5vw, 3.8rem) !important;
    margin-bottom: 14px !important;
    font-family: 'Playfair Display', Georgia, serif !important;
}

/* Standardise subtitle */
.ebh-hero--sm .ebh-hero__subtitle,
.ebh-hero--contact .ebh-hero__subtitle {
    font-size: 1.15rem !important;
}
.gso-header-section p {
    font-size: 1.15rem !important;
    margin-bottom: 0 !important;
    opacity: 0.85 !important;
}

/* Standardise pill style across all pages */
.ebh-hero--sm .ebh-pill,
.ebh-hero--contact .ebh-pill {
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 7px 18px !important;
    border-radius: 50px !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    margin-bottom: 18px !important;
    display: inline-block !important;
    background: rgba(74, 144, 217, .25) !important;
    border: 1px solid rgba(74, 144, 217, .5) !important;
    color: #7bb8f0 !important;
}

/* Add pill to Operators page via pseudo-element on h2 */
.gso-header-section h2 {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 14px !important;
}
.gso-header-section h2::before {
    content: "Trusted Network";
    font-family: 'Outfit', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #7bb8f0;
    background: rgba(74, 144, 217, .25);
    border: 1px solid rgba(74, 144, 217, .5);
    padding: 7px 18px;
    border-radius: 50px;
    display: inline-block;
    line-height: 1.4;
}

/* ── Homepage hero subtitle — widen to match form width ── */
.top_section .ebh-hero__inner {
    max-width: min(100% - 40px, 1141px) !important;
}
.busHire_page .ebh-hero__subtitle {
    max-width: 100% !important;
    width: 100% !important;
}

/* ── Selected operator box — green to match quote buttons ── */
#selectedOperatorBox.selected-operator-box {
    background: linear-gradient(135deg, #e8f8ef, #d4f0e0) !important;
    border: 1.5px solid #2e8b57 !important;
}
.cont1 .cont2 {
    color: #2e8b57 !important;
}
#selectedOperatorBox .cont1 {
    color: #1a3d2b !important;
}
#selectedOperatorBox #removeOperatorName {
    color: #2e8b57 !important;
}

/* ── Quote form with operator — green submit button & stronger operator box ── */

/* Only apply green submit when operator box is present */
#selectedOperatorBox ~ .fgrid .ebh-btn--full,
#selectedOperatorBox ~ * .ebh-btn--full,
.ebh-form:has(#selectedOperatorBox) .ebh-btn--full {
    background: linear-gradient(135deg, #2e8b57, #236b43) !important;
    box-shadow: 0 4px 16px rgba(46, 139, 87, .4) !important;
}

/* Stronger operator box green styling */
#selectedOperatorBox.selected-operator-box {
    background: linear-gradient(135deg, #e8f8ef, #d4f0e0) !important;
    border: 1.5px solid #2e8b57 !important;
    border-left: 4px solid #2e8b57 !important;
}

/* ── Form improvements — clearer sections & better submit ── */

/* Accent border on section cards */
.first_form_card {
    border-left: 4px solid #4a90d9 !important;
}
.second_form_card {
    border-left: 4px solid #4a90d9 !important;
}
.busHire_page .ebh-form > div[style*="background:#fff"] {
    border-left: 4px solid #4a90d9 !important;
}

/* Reduce textarea height */
.busHire_page .ebh-form textarea {
    height: 44px !important;
}

/* Stronger submit button */
.busHire_page .ebh-btn--full {
    font-size: 17px !important;
    padding: 18px !important;
    letter-spacing: .02em !important;
}

/* Trust note below submit button */
.busHire_page .ebh-btn--full::after {
    content: "🔒 Your details are secure and never shared without your consent";
    display: block;
    font-size: 12px;
    font-weight: 400;
    margin-top: 10px;
    opacity: 0.75;
    letter-spacing: 0;
}

/* Trust note below submit — as sibling */
.ebh-form__status {
    text-align: center !important;
}
.busHire_page .fgrid .ebh-btn--full {
    position: relative !important;
}
/* Add trust note after button via wrapper */
.busHire_page .ebh-btn--full + .ebh-form__status::before {
    content: "🔒 Your details are secure and never shared without your consent";
    display: block;
    font-size: 12px;
    color: #5a7090;
    text-align: center;
    margin-top: 8px;
    font-family: 'Outfit', sans-serif;
}

/* ── Form further improvements ── */

/* Round Trip button outline */
.busHire_page .ebh-toggle label span {
    border: 1.5px solid var(--g2) !important;
    background: #fff !important;
    color: #2c6fac !important;
    font-weight: 700 !important;
}
.ebh-toggle input:checked + span {
    border: 1.5px solid var(--blue) !important;
}

/* Tighten gaps between sections */
.busHire_page .ebh-grid-2 {
    gap: 7px !important;
}

/* Reduce textarea height further */
.busHire_page .ebh-form textarea {
    height: 36px !important;
}

/* Trust note on its own line below button text */
.busHire_page .ebh-btn--full {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 4px !important;
    line-height: 1.4 !important;
}
.busHire_page .ebh-btn--full::after {
    content: "🔒 Your details are secure and never shared without your consent" !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    opacity: 0.8 !important;
    letter-spacing: 0 !important;
    display: block !important;
}

/* Privacy checkbox closer to button */
.busHire_page .ebh-checkbox {
    margin-bottom: 4px !important;
}

/* Improve the small note in section 1 */
.busHire_page .first_form_card > span,
.busHire_page .first_form_card [style*="font-size:12px"],
.busHire_page .first_form_card > div:last-child {
    color: #4a7fa8 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

/* ── Form further improvements ── */

/* Round Trip button outline */
.busHire_page .ebh-toggle label span {
    border: 1.5px solid #b7d7ff !important;
    background: #fff !important;
    color: #2c6fac !important;
    font-weight: 700 !important;
}
.ebh-toggle input:checked + span {
    border: 1.5px solid var(--blue) !important;
}

/* Tighten gaps between sections */
.busHire_page .ebh-grid-2 {
    gap: 7px !important;
}
.busHire_page .ebh-form > div[style*="background:#fff"],
.busHire_page .ebh-form > div[style*="background: #fff"] {
    margin-bottom: 7px !important;
}

/* Trust note inline on same line as button text */
.busHire_page .ebh-btn--full {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    height: auto !important;
    padding: 18px !important;
}
.busHire_page .ebh-btn--full::after {
    content: "🔒 Secure & confidential";
    font-size: 12px !important;
    font-weight: 400 !important;
    opacity: 0.8 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
}

/* Tighten privacy checkbox to button */
.busHire_page .ebh-checkbox {
    margin-bottom: 6px !important;
}

/* Make the special requirements note more visible */
.busHire_page .first_form_card > span,
.busHire_page .first_form_card span[style*="font-size:12px"] {
    color: #4a7090 !important;
    font-size: 13px !important;
}

/* ── Section 3 — left accent border (requires third_form_card class in quote-form.php) ── */
.third_form_card {
    border-left: 4px solid #4a90d9 !important;
}

/* ── One Way / Round Trip toggle — prominent borders ── */
.busHire_page .ebh-toggle {
    background: #e8eef5 !important;
    border: 1.5px solid #7bb8f0 !important;
    padding: 5px !important;
}
.busHire_page .ebh-toggle label span {
    border: 1.5px solid #7bb8f0 !important;
    color: #2c6fac !important;
    background: #fff !important;
    font-weight: 700 !important;
}
.ebh-toggle input:checked + span {
    border: 1.5px solid var(--bd) !important;
    background: var(--blue) !important;
    color: #fff !important;
    box-shadow: 0 2px 8px rgba(74, 144, 217, .4) !important;
}

/* ── Request My Quote button — 20% thinner (height) ── */
.busHire_page .ebh-btn--full {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}

/* ── Mobile form — smaller fields ── */
@media (max-width: 768px) {
    .busHire_page .ebh-form {
        padding: 16px !important;
    }
    .ebh-form input[type="text"],
    .ebh-form input[type="email"],
    .ebh-form input[type="tel"],
    .ebh-form input[type="number"],
    .ebh-form select,
    .ebh-form textarea,
    input.ebh-datepicker {
        height: 36px !important;
        font-size: 13px !important;
        padding: 0 12px !important;
    }
    .ebh-form textarea {
        height: 40px !important;
        padding-top: 8px !important;
    }
    .fgrid {
        gap: 8px !important;
    }
    .first_form_card,
    .second_form_card,
    .third_form_card {
        padding: 10px 12px !important;
    }
    .busHire_page .ebh-toggle label span {
        font-size: 13px !important;
        padding: 7px 8px !important;
    }
    .busHire_page .ebh-btn--full {
        font-size: 14px !important;
        padding: 10px !important;
    }
}

/* ── Mobile form — aggressive size reduction ── */
@media (max-width: 480px) {
    .busHire_page .ebh-form {
        padding: 12px !important;
        border-radius: 14px !important;
    }
    .busHire_page .ebh-form__title {
        font-size: 1.1rem !important;
        margin-bottom: 12px !important;
    }
    .busHire_page .ebh-toggle {
        margin-bottom: 12px !important;
    }
    .busHire_page .ebh-toggle label span {
        font-size: 12px !important;
        padding: 6px 8px !important;
    }
    .first_form_card,
    .second_form_card,
    .third_form_card {
        padding: 10px 10px !important;
        margin-bottom: 8px !important;
    }
    .fgrid {
        grid-template-columns: 1fr !important;
        gap: 6px !important;
    }
    .busHire_page .event_type {
        grid-column: span 1 !important;
    }
    .ebh-form input[type="text"],
    .ebh-form input[type="email"],
    .ebh-form input[type="tel"],
    .ebh-form input[type="number"],
    .ebh-form select,
    input.ebh-datepicker {
        height: 38px !important;
        font-size: 14px !important;
        padding: 0 10px !important;
        border-radius: 8px !important;
    }
    .ebh-form textarea {
        height: 56px !important;
        font-size: 14px !important;
        padding: 8px 10px !important;
        border-radius: 8px !important;
    }
    .fg {
        gap: 4px !important;
    }
    .ebh-form label > span {
        font-size: 11px !important;
    }
    .busHire_page .ebh-btn--full {
        font-size: 14px !important;
        padding: 12px !important;
    }
    .first_form_card > div:first-child {
        margin-bottom: 8px !important;
    }
}

/* ── Mobile — fix form overflow ── */
@media (max-width: 480px) {
    .busHire_page .ebh-section--lift .ebh-container {
        padding: 0 10px !important;
    }
    .busHire_page .ebh-form {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }
    .ebh-grid-2,
    .first_form_card,
    .second_form_card,
    .third_form_card,
    .busHire_page .ebh-toggle,
    .busHire_page .ebh-btn--full,
    .busHire_page .ebh-checkbox,
    .fgrid {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* ── Mobile — all inputs/selects contained within their parent ── */
@media (max-width: 480px) {
    .busHire_page .ebh-form *,
    .busHire_page .ebh-form input,
    .busHire_page .ebh-form select,
    .busHire_page .ebh-form textarea,
    .busHire_page .ebh-form label,
    .busHire_page .ebh-form .fg,
    .busHire_page .ebh-form .fgrid,
    input.ebh-datepicker {
        max-width: 100% !important;
        width: 100% !important;
        box-sizing: border-box !important;
        min-width: 0 !important;
    }
}

/* ── Mobile — form icons and badges right size ── */
@media (max-width: 480px) {
    /* Section number badges 1, 2, 3 */
    .first_form_card > div:first-child > div:first-child,
    .second_form_card > div:first-child > div:first-child,
    .third_form_card > div:first-child > div:first-child {
        width: 20px !important;
        height: 20px !important;
        font-size: 11px !important;
        min-width: 20px !important;
    }
    /* Section title text */
    .first_form_card > div:first-child > span,
    .second_form_card > div:first-child > span,
    .third_form_card > div:first-child > span {
        font-size: 11px !important;
    }
    /* Email/WhatsApp checkbox labels */
    #lbl-fc-email, #lbl-fc-wa {
        font-size: 13px !important;
        padding: 7px 12px !important;
    }
    /* Emoji icons inside checkbox labels */
    #lbl-fc-email, #lbl-fc-wa {
        gap: 6px !important;
    }
    /* Submit button icon */
    .busHire_page .ebh-btn--full {
        font-size: 13px !important;
    }
    /* Form title icon */
    .busHire_page .ebh-form__title {
        font-size: 1rem !important;
    }
}

/* ── Mobile — WordPress emoji icons in form ── */
@media (max-width: 480px) {
    .busHire_page .ebh-form img.emoji {
        width: 16px !important;
        height: 16px !important;
        margin: 0 2px 0 0 !important;
        vertical-align: -2px !important;
    }
    /* Form title emoji (🗓️) */
    .busHire_page .ebh-form__title img.emoji {
        width: 18px !important;
        height: 18px !important;
    }
    /* Submit button emoji (🚌) */
    .busHire_page .ebh-btn--full img.emoji {
        width: 16px !important;
        height: 16px !important;
    }
}

/* ── Mobile — Email/WhatsApp labels centre aligned ── */
@media (max-width: 480px) {
    #lbl-fc-email, #lbl-fc-wa {
        justify-content: center !important;
        text-align: center !important;
        flex: 1 !important;
    }

    /* Privacy Policy checkbox — left aligned */
    .busHire_page .ebh-checkbox {
        align-items: flex-start !important;
        text-align: left !important;
    }
    .busHire_page .ebh-checkbox span {
        text-align: left !important;
    }

    /* Submit button — centre aligned with trust note on second line */
    .busHire_page .ebh-btn--full {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        gap: 4px !important;
        height: auto !important;
        padding: 10px 16px !important;
    }
    .busHire_page .ebh-btn--full::after {
        content: "🔒 Your details are secure and never shared without your consent" !important;
        font-size: 10px !important;
        font-weight: 400 !important;
        opacity: 0.8 !important;
        display: block !important;
        text-align: center !important;
        white-space: normal !important;
        line-height: 1.4 !important;
    }
}

/* ── Mobile — Privacy Policy text left aligned next to checkbox ── */
@media (max-width: 480px) {
    .busHire_page .ebh-checkbox {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        gap: 10px !important;
    }
    .busHire_page .ebh-checkbox input[type="checkbox"] {
        margin-top: 3px !important;
        flex-shrink: 0 !important;
        width: 16px !important;
        height: 16px !important;
    }
    .busHire_page .ebh-checkbox > span {
        text-align: left !important;
        font-size: 12px !important;
        line-height: 1.5 !important;
        flex: 1 !important;
    }
}

/* ═══════════════════════════════════════════════
   OPERATOR BOX — DEFINITIVE FIX
   Structure injected by JS:
   #selectedOperatorBox.selected-operator-box
     └── div
           ├── span (🚌 emoji text)
           ├── div.cont1
           │     ├── div.cont2 ("Requesting a quote from")
           │     └── div#selectedOperatorName ("Indi MiniBus Hire Ltd")
           └── button#removeOperatorName (×)
   ═══════════════════════════════════════════════ */
@media (max-width: 480px) {

    /* Outer box */
    #selectedOperatorBox.selected-operator-box {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        padding: 10px 12px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    /* Inner wrapper div — override the width:100% from the form * rule */
    #selectedOperatorBox.selected-operator-box > div {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 10px !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    /* 🚌 emoji span */
    #selectedOperatorBox.selected-operator-box > div > span:first-child {
        font-size: 20px !important;
        flex-shrink: 0 !important;
        width: auto !important;
        min-width: auto !important;
        max-width: none !important;
        display: inline !important;
        line-height: 1 !important;
    }

    /* Text block cont1 */
    #selectedOperatorBox .cont1 {
        flex: 1 1 0% !important;
        min-width: 0 !important;
        width: auto !important;
        max-width: none !important;
        text-align: left !important;
        overflow: hidden !important;
        display: block !important;
    }

    /* "REQUESTING A QUOTE FROM" */
    #selectedOperatorBox .cont2 {
        display: block !important;
        text-align: left !important;
        font-size: 10px !important;
        width: auto !important;
        max-width: none !important;
        white-space: normal !important;
        color: #2e8b57 !important;
        margin-bottom: 2px !important;
    }

    /* Operator name */
    #selectedOperatorBox #selectedOperatorName {
        display: block !important;
        text-align: left !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        color: #1a3d2b !important;
        width: auto !important;
        max-width: none !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    /* × button — far right */
    #selectedOperatorBox #removeOperatorName {
        flex-shrink: 0 !important;
        margin-left: auto !important;
        width: auto !important;
        min-width: auto !important;
        max-width: none !important;
        font-size: 20px !important;
        display: inline-block !important;
        align-self: center !important;
        position: static !important;
        transform: none !important;
    }
}

/* ── Submit button — text and trust note on separate lines ── */
.busHire_page .ebh-btn--full {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    height: auto !important;
    padding: 12px 18px !important;
}
.busHire_page .ebh-btn--full::after {
    content: "🔒 Secure & confidential" !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    opacity: 0.8 !important;
    white-space: nowrap !important;
    display: block !important;
}

/* Mobile */
@media (max-width: 480px) {
    .busHire_page .ebh-btn--full {
        padding: 10px 16px !important;
    }
    .busHire_page .ebh-btn--full::after {
        font-size: 10px !important;
        white-space: normal !important;
        text-align: center !important;
    }
}

/* ── Submit button — icon + text on same line, trust note below ── */
.busHire_page .ebh-btn--full {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    height: auto !important;
    padding: 12px 18px !important;
    line-height: 1.4 !important;
}
/* The button text content itself (icon + text) stays inline */
.busHire_page .ebh-btn--full br {
    display: none !important;
}
.busHire_page .ebh-btn--full img.emoji {
    display: inline !important;
    width: 16px !important;
    height: 16px !important;
    vertical-align: -2px !important;
}

/* ── Submit button — force single line for icon + text ── */
.busHire_page .ebh-btn--full,
.busHire_page .ebh-btn--cta.ebh-btn--full {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 3px !important;
}
/* First child node (the icon+text line) must be inline */
.busHire_page .ebh-btn--full > img.emoji,
.busHire_page .ebh-btn--full img.emoji {
    display: inline-block !important;
    width: 15px !important;
    height: 15px !important;
    vertical-align: middle !important;
    margin-right: 4px !important;
    /* prevent it becoming a flex item on its own */
    float: none !important;
}
/* Wrap the icon and text together */
.busHire_page .ebh-btn--full {
    text-align: center !important;
}

/* ── Submit button — span keeps icon+text together, trust note below ── */
.busHire_page .ebh-btn--full {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    padding: 12px 18px !important;
    height: auto !important;
}
.busHire_page .ebh-btn--full .ebh-btn__label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}
.busHire_page .ebh-btn--full .ebh-btn__label img.emoji {
    width: 16px !important;
    height: 16px !important;
    display: inline-block !important;
    vertical-align: middle !important;
}
.busHire_page .ebh-btn--full::after {
    content: "🔒 Secure & confidential" !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    opacity: 0.8 !important;
    display: block !important;
}

/* ── Submit button — centre align icon + text ── */
.busHire_page .ebh-btn--full {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
}
.busHire_page .ebh-btn--full .ebh-btn__label {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    width: 100% !important;
    text-align: center !important;
    white-space: nowrap !important;
}
.busHire_page .ebh-btn--full .ebh-btn__label img.emoji {
    display: inline-block !important;
    width: 16px !important;
    height: 16px !important;
    vertical-align: middle !important;
    flex-shrink: 0 !important;
}

/* ── Contact page — SVG icons optimised for mobile ── */
.ebh-contact-card__icon {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--bp) !important;
    flex-shrink: 0 !important;
}
.ebh-contact-card__icon svg {
    width: 22px !important;
    height: 22px !important;
    stroke: var(--blue) !important;
}

@media (max-width: 480px) {
    .ebh-contact-card {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        gap: 14px !important;
        padding: 14px !important;
    }
    .ebh-contact-card__icon {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        border-radius: 10px !important;
    }
    .ebh-contact-card__icon svg {
        width: 18px !important;
        height: 18px !important;
    }
    .ebh-contact-card__body {
        display: flex !important;
        flex-direction: column !important;
        gap: 3px !important;
        min-width: 0 !important;
    }
    .ebh-contact-card__label {
        font-size: 11px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: .06em !important;
        color: var(--g6) !important;
    }
    .ebh-contact-card__value {
        font-size: 14px !important;
        font-weight: 600 !important;
        color: var(--dk) !important;
        word-break: break-all !important;
    }
    .ebh-contact-card__note {
        font-size: 12px !important;
        color: var(--g6) !important;
    }
    .ebh-contact-cards {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
    }
}

/* ===================================================
   MOBILE — Operator cards: button fixes
   =================================================== */
@media (max-width: 768px) {
  /* Keep card footer as a row on mobile */
  .gso-card-footer {
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: wrap;
    gap: 8px;
  }

  /* Buttons: compact, same size, side by side */
  .gso-actions {
    display: flex !important;
    flex-direction: row !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
  }

  .gso-quote-btn,
  .gso-view-btn {
    padding: 7px 12px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
    border-radius: 999px !important;
    line-height: 1.2 !important;
  }

  /* Fix logo overlapping image — reduce size on mobile */
  .gso-logo-wrapper {
    width: 52px !important;
    height: 52px !important;
    margin-top: -26px !important;
  }
}

/* ===================================================
   MOBILE — Header: space between Get a Quote & hamburger
   =================================================== */
@media (max-width: 859px) {
  .right-div {
    display: flex;
    align-items: center;
    gap: 14px !important;
  }
}

/* ===================================================
   MOBILE — Hide duplicate CTA card in sidebar
   (CTA band below already serves the same purpose)
   =================================================== */
@media (max-width: 859px) {
  .ebh-vp-cta-card {
    display: none !important;
  }
}

/* ===================================================
   MOBILE — Hamburger menu: narrower, centred, bigger text
   =================================================== */
@media (max-width: 859px) {
  .ebh-nav.is-open {
    left: auto !important;
    right: 12px !important;
    transform: none !important;
    width: 80vw !important;
    max-width: 320px !important;
    border-radius: 16px !important;
    border: 1px solid #e2e8f0 !important;
    border-bottom: 1px solid #e2e8f0 !important;
    box-shadow: 0 8px 32px rgba(26, 43, 60, 0.14) !important;
    padding: 20px 24px !important;
    top: 70px !important;
    z-index: 999 !important;
  }

  .ebh-nav.is-open .ebh-nav__list {
    flex-direction: column !important;
    align-items: center !important;
    gap: 20px !important;
    text-align: center !important;
  }

  .ebh-nav.is-open .ebh-nav__list a {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #1a2b3c !important;
  }

  .ebh-nav.is-open .ebh-nav__list .current-menu-item a,
  .ebh-nav.is-open .ebh-nav__list a:hover {
    color: #4a90d9 !important;
  }
}

/* ===================================================
   Time input — matches other form fields, mobile-friendly
   =================================================== */
.ebh-form input[type="time"] {
    width: 100%;
    height: 40px;
    border-radius: 10px;
    border: 1px solid #b7d7ff;
    padding: 0 16px;
    background: #fff;
    font-size: 15px;
    box-sizing: border-box;
    font-family: inherit;
    color: var(--dk);
    cursor: pointer;
    -webkit-appearance: none;
}

.ebh-form input[type="time"]:focus {
    outline: none;
    border-color: #4A90D9;
    box-shadow: 0 0 0 3px rgba(74, 144, 217, 0.18);
}

/* iOS fix — ensure consistent height */
@media (max-width: 859px) {
    .ebh-form input[type="time"] {
        height: 44px;
        font-size: 16px; /* prevents iOS zoom on focus */
    }
}

/* ===================================================
   Time picker — HH + MM two-select layout
   =================================================== */
.ebh-field-label {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--g6);
    font-family: 'Outfit';
    display: block;
    margin-bottom: 6px;
}

.ebh-time-wrap {
    display: flex;
    align-items: center;
    gap: 6px;
}

.ebh-time-hour,
.ebh-time-min {
    height: 40px;
    border-radius: 10px;
    border: 1px solid #b7d7ff;
    background: #fff;
    font-size: 15px;
    font-family: inherit;
    color: var(--dk);
    padding: 0 8px;
    box-sizing: border-box;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    text-align: center;
}

.ebh-time-hour {
    flex: 2;
}

.ebh-time-min {
    flex: 1.4;
}

.ebh-time-hour:focus,
.ebh-time-min:focus {
    outline: none;
    border-color: #4A90D9;
    box-shadow: 0 0 0 3px rgba(74, 144, 217, 0.18);
}

.ebh-time-sep {
    font-size: 18px;
    font-weight: 700;
    color: var(--g4);
    flex-shrink: 0;
}

@media (max-width: 859px) {
    .ebh-time-hour,
    .ebh-time-min {
        font-size: 16px; /* prevent iOS zoom */
        height: 44px;
    }
}

/* ===================================================
   Date picker — input + calendar icon wrapper
   =================================================== */
.ebh-date-wrap {
    position: relative;
    display: block;
    width: 100%;
    height: 40px;
}

/* Desktop: text input styled normally */
.ebh-date-wrap .ebh-datepicker {
    width: 100% !important;
    height: 40px !important;
    padding: 0 50px 0 16px !important;
    box-sizing: border-box !important;
    display: block !important;
    border-radius: 10px !important;
    border: 1px solid #b7d7ff !important;
    background: #fff !important;
    font-size: 15px !important;
    font-family: inherit !important;
    color: #1a2b3c !important;
    cursor: text !important;
}

/* Calendar icon — desktop only (hidden on mobile via JS) */
.ebh-date-icon {
    position: absolute;
    right: 1px;
    top: 1px;
    width: 44px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f7ff;
    border: none;
    border-left: 1px solid #b7d7ff;
    border-radius: 0 9px 9px 0;
    cursor: pointer;
    padding: 0;
    z-index: 3;
    opacity: 0.85;
    transition: opacity .15s, background .15s;
    box-sizing: border-box;
}

.ebh-date-icon:hover,
.ebh-date-icon:focus {
    opacity: 1;
    background: #dbeeff;
    outline: none;
}

/* Mobile: native date input — full width, no icon */
@media (max-width: 859px) {
    .ebh-date-wrap {
        height: 44px;
    }
    .ebh-date-wrap .ebh-datepicker {
        height: 44px !important;
        font-size: 16px !important;
        padding: 0 16px !important;
        /* Native date picker — ensure text is dark and visible */
        color: #1a2b3c !important;
        -webkit-text-fill-color: #1a2b3c !important;
        opacity: 1 !important;
        /* Remove native date input chrome arrow on some browsers */
        -webkit-appearance: none;
        appearance: none;
    }
    /* Suppress the native calendar icon that some browsers add */
    .ebh-date-wrap .ebh-datepicker::-webkit-calendar-picker-indicator {
        opacity: 1;
        cursor: pointer;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        color: transparent;
        background: transparent;
    }
}

/* ===================================================
   Time input — typeable text field (HH:MM)
   =================================================== */
.ebh-time-input {
    width: 100% !important;
    height: 40px !important;
    border-radius: 10px !important;
    border: 1px solid #b7d7ff !important;
    padding: 0 16px !important;
    background: #fff !important;
    font-size: 15px !important;
    font-family: inherit !important;
    color: var(--dk) !important;
    box-sizing: border-box !important;
    letter-spacing: 0.05em;
}

.ebh-time-input:focus {
    outline: none !important;
    border-color: #4A90D9 !important;
    box-shadow: 0 0 0 3px rgba(74, 144, 217, 0.18) !important;
}

@media (max-width: 859px) {
    .ebh-time-input {
        height: 44px !important;
        font-size: 16px !important; /* prevent iOS zoom */
    }
}

/* ===================================================
   THANK YOU MODAL — full rewrite, mobile-optimised
   =================================================== */

/* Overlay */
.mo {
    display: none;
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0,0,0,0.55) !important;
    backdrop-filter: blur(4px) !important;
    z-index: 99999 !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 16px !important;
    box-sizing: border-box !important;
}
.mo.open {
    display: flex !important;
}

/* Modal box */
.ty-md {
    background: #fff !important;
    border-radius: 20px !important;
    width: 100% !important;
    max-width: 480px !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
    box-shadow: 0 24px 80px rgba(26,43,60,0.28) !important;
    animation: tyIn 0.3s cubic-bezier(0.34,1.56,0.64,1) !important;
    position: relative !important;
}

@keyframes tyIn {
    from { opacity: 0; transform: translateY(20px) scale(0.96); }
    to   { opacity: 1; transform: none; }
}

/* Top gradient banner */
.ty-top {
    background: linear-gradient(135deg, #1a2b3c 0%, #2c6fac 100%) !important;
    padding: 32px 28px 24px !important;
    text-align: center !important;
    border-radius: 20px 20px 0 0 !important;
}

.ty-icon {
    font-size: 48px !important;
    display: block !important;
    margin-bottom: 12px !important;
    animation: busIn 0.5s cubic-bezier(0.34,1.56,0.64,1) 0.1s both !important;
}

@keyframes busIn {
    from { transform: translateX(-40px) scale(0.8); opacity: 0; }
    to   { transform: none; opacity: 1; }
}

.ty-top h2 {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 1.6rem !important;
    font-weight: 700 !important;
    color: #fff !important;
    margin: 0 0 10px !important;
    line-height: 1.2 !important;
}

.ty-sub {
    color: rgba(255,255,255,0.85) !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    font-family: 'Outfit', sans-serif !important;
}

/* Body */
.ty-body {
    padding: 24px 28px 20px !important;
}

.ty-we-will {
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: #5a7090 !important;
    margin: 0 0 12px !important;
    font-family: 'Outfit', sans-serif !important;
}

/* Channel badges */
.ty-channels {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    margin-bottom: 20px !important;
}

.ty-ch {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: #ebf4fd !important;
    border: 1.5px solid #7bb8f0 !important;
    border-radius: 50px !important;
    padding: 10px 20px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #2c6fac !important;
    font-family: 'Outfit', sans-serif !important;
}

/* Note */
.ty-note {
    font-size: 14px !important;
    color: #5a7090 !important;
    line-height: 1.65 !important;
    border-top: 1px solid #e8eef5 !important;
    padding-top: 16px !important;
    margin: 0 !important;
    text-align: center !important;
    font-family: 'Outfit', sans-serif !important;
}

.ty-note strong {
    color: #1a2b3c !important;
}

/* Close button */
.ty-close {
    display: block !important;
    width: calc(100% - 56px) !important;
    margin: 0 28px 24px !important;
    background: linear-gradient(135deg, #4a90d9, #2c6fac) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 15px !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    cursor: pointer !important;
    transition: transform 0.2s, box-shadow 0.2s !important;
    box-shadow: 0 4px 16px rgba(44,111,172,0.35) !important;
    letter-spacing: 0.02em !important;
}

.ty-close:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(44,111,172,0.45) !important;
}

/* Mobile overrides */
@media (max-width: 480px) {
    .ty-md {
        border-radius: 16px !important;
        max-height: 85vh !important;
    }
    .ty-top {
        padding: 24px 20px 20px !important;
        border-radius: 16px 16px 0 0 !important;
    }
    .ty-top h2 {
        font-size: 1.35rem !important;
    }
    .ty-sub {
        font-size: 14px !important;
    }
    .ty-icon {
        font-size: 40px !important;
    }
    .ty-body {
        padding: 20px 20px 16px !important;
    }
    .ty-ch {
        font-size: 14px !important;
        padding: 9px 16px !important;
    }
    .ty-note {
        font-size: 13px !important;
    }
    .ty-close {
        font-size: 15px !important;
        padding: 14px !important;
        width: calc(100% - 40px) !important;
        margin: 0 20px 20px !important;
    }
}

/* ===================================================
   Inline field validation errors
   =================================================== */
.ebh-field-error {
    display: block;
    font-size: 12px;
    color: #e74c3c;
    font-weight: 600;
    margin-top: 5px;
    font-family: 'Outfit', sans-serif;
}

/* ===================================================
   MOBILE — Date fields: match height of other inputs
   =================================================== */
@media (max-width: 859px) {
    .ebh-date-wrap,
    .ebh-date-wrap .ebh-datepicker,
    .ebh-date-wrap input[type="date"] {
        height: 44px !important;
        min-height: 44px !important;
        line-height: 44px !important;
        font-size: 16px !important;
        box-sizing: border-box !important;
    }
}

/* ===================================================
   MOBILE — Date input[type=date] height fix
   High specificity to override all competing rules
   =================================================== */
@media (max-width: 859px) {
    .busHire_page .ebh-form .ebh-date-wrap,
    .busHire_page .ebh-form .ebh-date-wrap input[type="date"],
    .ebh-form .ebh-date-wrap input[type="date"] {
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        line-height: 44px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        box-sizing: border-box !important;
        -webkit-appearance: none !important;
        appearance: none !important;
    }
}

/* ===================================================
   Date field — hidden native input + styled display div
   =================================================== */

/* Hide the native date input completely — it's only used to trigger the OS picker */
.ebh-date-native {
    position: absolute !important;
    opacity: 0 !important;
    width: 1px !important;
    height: 1px !important;
    pointer-events: none !important;
    top: 0 !important;
    left: 0 !important;
}

/* Desktop: show native input normally (JS converts to text for flatpickr) */
@media (min-width: 860px) {
    .ebh-date-native {
        position: relative !important;
        opacity: 1 !important;
        width: 100% !important;
        height: 44px !important;
        pointer-events: auto !important;
    }
    .ebh-date-display {
        display: none !important;
    }
}

/* Mobile: hide native, show display div */
@media (max-width: 859px) {
    .ebh-date-display {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        height: 40px !important;
        width: 100% !important;
        border: 1px solid #b7d7ff !important;
        border-radius: 10px !important;
        background: #fff !important;
        padding: 0 0 0 16px !important;
        box-sizing: border-box !important;
        cursor: pointer !important;
        font-size: 16px !important;
        font-family: inherit !important;
        color: #1a2b3c !important;
        user-select: none !important;
    }

    .ebh-date-display__text {
        flex: 1 !important;
        color: #9badc4 !important; /* placeholder colour */
        font-size: 16px !important;
        font-family: inherit !important;
    }

    /* Calendar icon inside display div */
    .ebh-date-display .ebh-date-icon {
        position: static !important;
        transform: none !important;
        width: 40px !important;
        height: 38px !important;
        border-left: 1px solid #b7d7ff !important;
        border-radius: 0 9px 9px 0 !important;
        flex-shrink: 0 !important;
    }
}

/* ===================================================
   FORM FIELDS — Universal 44px height, 16px font
   Single rule that wins over everything else.
   Applies to all inputs, selects, textareas in the
   quote form on both desktop and mobile.
   =================================================== */
.busHire_page .ebh-form input[type="text"],
.busHire_page .ebh-form input[type="email"],
.busHire_page .ebh-form input[type="tel"],
.busHire_page .ebh-form input[type="number"],
.busHire_page .ebh-form input[type="date"],
.busHire_page .ebh-form input[type="search"],
.busHire_page .ebh-form input[type="url"],
.busHire_page .ebh-form select,
.ebh-form .ebh-datepicker,
.ebh-form .ebh-time-input {
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    font-size: 16px !important;
    line-height: 44px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
}

/* Textarea keeps auto height */
.busHire_page .ebh-form textarea {
    height: auto !important;
    min-height: 56px !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

/* Date wrap matches height */
.ebh-date-wrap {
    height: 44px !important;
}

/* Calendar icon height matches */
.ebh-date-icon {
    height: 42px !important;
    top: 1px !important;
}

/* Select fix — some browsers add extra padding */
.busHire_page .ebh-form select {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 44px !important;
}

/* Date display div — mobile only, never shown on desktop */
@media (max-width: 859px) {
    .ebh-form .ebh-date-display {
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        display: flex !important;
        align-items: center !important;
        font-size: 16px !important;
        line-height: 1 !important;
    }
}
@media (min-width: 860px) {
    .ebh-form .ebh-date-display {
        display: none !important;
    }
}

/* Date field placeholder styling */
.ebh-datepicker::placeholder {
    color: #9badc4 !important;
    opacity: 1 !important;
}
.ebh-datepicker::-webkit-input-placeholder {
    color: #9badc4 !important;
}


/* ── ebhOperatorPopup: move to body root + max z-index ── */
.ebh-popup-overlay {
	position: fixed !important;
	inset: 0 !important;
	z-index: 2147483647 !important;
}

/* ── #ebh-join-modal: restyled to match #ebhOperatorPopup ── */

#ebh-join-modal {
	background: rgba(8, 24, 40, 0.78) !important;
	backdrop-filter: none !important;
	z-index: 2147483647 !important;
	padding: 20px !important;
	align-items: center !important;
}

#ebh-join-modal .ebh-join-modal__overlay {
	background: transparent !important;
	backdrop-filter: none !important;
}

#ebh-join-modal .ebh-join-modal__box {
	background: #fff !important;
	border-radius: 22px !important;
	padding: 38px 44px !important;
	width: 100% !important;
	max-width: 500px !important;
	max-height: none !important;
	overflow-y: visible !important;
	box-shadow: none !important;
	animation: none !important;
}

#ebh-join-modal .ebh-join-modal__title {
	font-family: Georgia, serif !important;
	font-size: 34px !important;
	color: #14263a !important;
	text-align: left !important;
	margin: 0 0 8px !important;
	line-height: 1.2 !important;
}

#ebh-join-modal .ebh-join-modal__sub {
	font-size: 15px !important;
	color: #516b8c !important;
	text-align: left !important;
	margin: 0 0 24px !important;
	line-height: 1.4 !important;
}

#ebh-join-modal .ebh-join-modal__close {
	font-size: 30px !important;
	color: #8fa1b7 !important;
	top: 16px !important;
	right: 20px !important;
}

/* Labels */
#ebh-join-modal .ebh-join-modal__form label > span {
	display: block !important;
	margin: 13px 0 7px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .8px !important;
	text-transform: uppercase !important;
	color: #536b8c !important;
	font-family: inherit !important;
}

/* Inputs */
#ebh-join-modal .ebh-join-modal__form input {
	width: 100% !important;
	height: 48px !important;
	border: 1px solid #dce5ef !important;
	border-radius: 10px !important;
	padding: 0 14px !important;
	background: #f7f9fc !important;
	box-sizing: border-box !important;
	box-shadow: none !important;
	font-size: 15px !important;
}
#ebh-join-modal .ebh-join-modal__form input:focus {
	border-color: #3686d8 !important;
	box-shadow: none !important;
	outline: none !important;
}

/* Submit button — full width to match ebhOperatorPopup */
#ebh-join-modal #ebh-join-modal-btn {
	width: 100% !important;
	height: 54px !important;
	padding: 0 !important;
	margin-top: 22px !important;
	border: none !important;
	border-radius: 10px !important;
	background: #3686d8 !important;
	color: #fff !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	cursor: pointer !important;
	box-shadow: none !important;
	transform: none !important;
	transition: background .2s !important;
}
#ebh-join-modal #ebh-join-modal-btn:hover {
	background: #2a70be !important;
	transform: none !important;
	box-shadow: none !important;
}

/* Remove fgrid multi-column on this modal — keep single column like ebhOperatorPopup */
#ebh-join-modal .fgrid {
	grid-template-columns: 1fr !important;
	gap: 0 !important;
}

/* Mobile */
@media (max-width: 600px) {
	#ebh-join-modal .ebh-join-modal__box {
		padding: 32px 22px !important;
		border-radius: 16px !important;
	}
	#ebh-join-modal .ebh-join-modal__title {
		font-size: 28px !important;
	}
}
/* ─────────────────────────────────────────────────────── */

/* ─────────────────────────────────────────────────────── */
/* MULTI-DAY TOUR FORM                                     */
/* ─────────────────────────────────────────────────────── */

.ebh-region-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
}

.ebh-region-card {
	border: 1.5px solid var(--g2);
	border-radius: 12px;
	padding: 10px 8px;
	cursor: pointer;
	text-align: center;
	transition: all .2s;
	background: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	font-size: 22px;
}

.ebh-region-card span {
	font-size: 12px;
	font-weight: 700;
	color: var(--dk);
	font-family: 'Outfit', sans-serif;
}

.ebh-region-card:hover {
	border-color: var(--blue);
	background: var(--bp);
}

.ebh-region-card.active {
	border-color: var(--blue);
	background: var(--bp);
	box-shadow: 0 0 0 3px rgba(74,144,217,.15);
}

.ebh-region-card--custom {
	border-style: dashed;
}

.ebh-day-pills {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.ebh-day-pill {
	padding: 7px 16px;
	border: 1.5px solid var(--g2);
	border-radius: 50px;
	font-size: 13px;
	font-weight: 600;
	color: var(--g6);
	cursor: pointer;
	background: #fff;
	transition: all .2s;
	font-family: 'Outfit', sans-serif;
}

.ebh-day-pill:hover {
	border-color: var(--blue);
	color: var(--blue);
}

.ebh-day-pill.active {
	background: var(--blue);
	color: #fff;
	border-color: var(--blue);
	box-shadow: 0 2px 8px rgba(74,144,217,.35);
}

.ebh-itin-box {
	background: var(--g1);
	border-radius: 10px;
	border: 1px solid var(--g2);
	overflow: hidden;
}

.ebh-itin-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 14px;
	border-bottom: 1px solid var(--g2);
}

.ebh-itin-header span {
	font-size: 12px;
	font-weight: 700;
	color: var(--blue);
	text-transform: uppercase;
	letter-spacing: .05em;
	font-family: 'Outfit', sans-serif;
}

.ebh-itin-edit-btn {
	font-size: 12px;
	color: var(--blue);
	background: #fff;
	border: 1.5px solid var(--blue);
	border-radius: 8px;
	padding: 5px 14px;
	cursor: pointer;
	font-family: 'Outfit', sans-serif;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.2s, color 0.2s, opacity 0.3s;
}
.ebh-itin-edit-btn:hover {
	background: var(--blue);
	color: #fff;
}

.ebh-itin-stops {
	padding: 8px 14px;
}

.ebh-itin-stop {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 0;
	border-bottom: 1px dashed var(--g2);
	font-family: 'Outfit', sans-serif;
}

.ebh-itin-stop:last-child {
	border-bottom: none;
}

.ebh-stop-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--blue);
	flex-shrink: 0;
}

.ebh-stop-dot--dep,
.ebh-stop-dot--ret {
	background: #4a8a62;
}

.ebh-stop-day {
	font-size: 10px;
	font-weight: 700;
	color: var(--g6);
	text-transform: uppercase;
	width: 40px;
	flex-shrink: 0;
}

.ebh-stop-name {
	font-size: 13px;
	color: var(--dk);
	font-weight: 500;
}

.ebh-stop-note {
	font-size: 11px;
	color: var(--g6);
	margin-left: auto;
}

/* ── stop arrow (departure to / return to) */
.ebh-stop-arrow {
	color: #c0392b;
	font-size: 12px;
	font-weight: 400;
}

/* ── Custom Multi-Day Builder */
.ebh-custom-builder {
	margin-bottom: 14px;
}
.ebh-custom-day {
	padding: 12px 14px;
	border-bottom: 1px dashed var(--g2);
}
.ebh-custom-day:last-child {
	border-bottom: none;
	padding-bottom: 14px;
}
.ebh-custom-day-hdr {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
}
.ebh-custom-sub {
	font-size: 13px;
	color: var(--g5);
	flex: 1;
}
.ebh-custom-sub strong {
	color: var(--dk);
	font-weight: 500;
}
.ebh-custom-fields {
	padding-left: 17px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	text-align: left !important;
}
.ebh-custom-field {
	display: flex;
	flex-direction: column;
	gap: 4px;
	text-align: left;
}
.ebh-custom-field > label {
	display: flex;
	align-items: center;
	gap: 2px;
	text-align: left;
}
.ebh-custom-lbl {
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--g6);
	display: block;
	line-height: 1.4;
	text-align: left;
}
/* When inside flex wrapper (overnight label + *), stays inline */
.ebh-custom-field > div > .ebh-custom-lbl {
	display: inline;
}

.ebh-custom-lbl--ov {
	color: var(--blue);
}
.ebh-custom-req {
	color: #c0392b;
	font-weight: 600;
	margin-left: 2px;
	display: inline;
}
.ebh-custom-inp {
	width: 100%;
	border: 1.5px solid var(--g2) !important;
	border-radius: 10px !important;
	padding: 10px 16px !important;
	height: 40px !important;
	font-family: Outfit, sans-serif !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	color: var(--dk) !important;
	background: var(--g1) !important;
	outline: none;
	transition: border-color .2s, background .2s;
	box-sizing: border-box !important;
	text-align: left !important;
}
.ebh-custom-inp::placeholder {
	font-weight: 400;
	color: var(--g4);
	text-align: left;
}
.ebh-custom-inp:focus {
	border-color: var(--blue) !important;
	background: #fff !important;
}
.ebh-custom-ret {
	padding-top: 6px;
	font-size: 13px;
	color: var(--g5);
}
.ebh-custom-ret strong {
	color: var(--dk);
	font-weight: 500;
}

/* ── Edit stops day editor ─────────────────────────────────── */
.ebh-edit-day {
	padding: 12px 14px;
	border-bottom: 1px dashed var(--g2);
}
.ebh-edit-day:last-child {
	border-bottom: none;
	padding-bottom: 14px;
}
.ebh-edit-day-hdr {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 10px;
}
.ebh-edit-meta {
	display: flex;
	flex-direction: column;
	gap: 1px;
	width: 68px;
	flex-shrink: 0;
}
.ebh-edit-date {
	font-size: 11px;
	color: var(--blue);
	font-weight: 500;
}
.ebh-edit-date--tbc {
	color: var(--g3);
}
.ebh-edit-departs {
	font-size: 13px;
	color: var(--g6);
	flex: 1;
}
.ebh-edit-departs strong {
	color: var(--dk);
	font-weight: 600;
}
.ebh-edit-note {
	font-size: 11px;
	color: var(--g5);
	margin-left: auto;
	flex-shrink: 0;
}
.ebh-edit-fields {
	padding-left: 18px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.ebh-edit-field {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.ebh-edit-lbl {
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--g6);
}
.ebh-edit-lbl--ov {
	color: var(--blue);
}
.ebh-edit-stop-list {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.ebh-edit-stop-row {
	display: flex;
	align-items: center;
	gap: 6px;
}
.ebh-edit-inp {
	flex: 1;
	border: 1.5px solid var(--g2) !important;
	border-radius: 10px !important;
	padding: 10px 16px !important;
	height: 40px !important;
	font-family: Outfit, sans-serif !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	color: var(--dk) !important;
	background: var(--g1) !important;
	outline: none;
	transition: border-color .2s, background .2s;
	box-sizing: border-box !important;
	text-align: left !important;
}
.ebh-edit-inp::placeholder {
	font-weight: 400;
	color: var(--g4);
	text-align: left;
}
.ebh-edit-inp:focus {
	border-color: var(--blue) !important;
	background: #fff !important;
}
.ebh-edit-overnight {
	width: 100%;
	border: 1.5px solid #b8d9f5 !important;
	border-radius: 10px !important;
	padding: 10px 16px !important;
	height: 40px !important;
	font-family: Outfit, sans-serif !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	color: var(--dk) !important;
	background: var(--bp) !important;
	outline: none;
	transition: border-color .2s, background .2s;
	box-sizing: border-box !important;
	text-align: left !important;
}
.ebh-edit-overnight::placeholder {
	font-weight: 400;
	color: var(--g4);
	text-align: left;
}
.ebh-edit-overnight:focus {
	border-color: var(--blue) !important;
	background: #fff !important;
}
.ebh-edit-rm {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: none;
	border: 1.5px solid var(--g2);
	color: var(--g5);
	font-size: 15px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.ebh-edit-add-btn {
	align-self: flex-start;
	font-size: 11px;
	color: var(--blue);
	font-weight: 600;
	background: none;
	border: 1.5px dashed #93c5fd;
	border-radius: 6px;
	padding: 4px 10px;
	cursor: pointer;
	margin-top: 2px;
}
.ebh-edit-ret {
	padding: 6px 0 0 18px;
	font-size: 12px;
	color: var(--g5);
}
.ebh-stop-note-inline {
	font-size: 11px;
	color: var(--g5);
	font-weight: 400;
}

.ebh-edit-ret strong {
	color: var(--dk);
	font-weight: 600;
}
.ebh-stop-date {
	font-size: 10px;
	color: var(--blue);
	font-weight: 500;
	width: 68px;
	flex-shrink: 0;
}
.ebh-custom-warn {
	display: flex;
	align-items: center;
	gap: 8px;
	background: #fefce8;
	border-bottom: 1px solid #fde047;
	padding: 9px 14px;
	font-size: 12px;
	color: #92400e;
}

.ebh-night-toggle {
	display: flex;
	gap: 8px;
}

.ebh-night-btn {
	flex: 1;
	padding: 9px 10px;
	border: 1.5px solid var(--g2);
	border-radius: 8px;
	font-family: 'Outfit', sans-serif;
	font-weight: 600;
	font-size: 13px;
	color: var(--g6);
	background: #fff;
	text-align: center;
	cursor: pointer;
	transition: all .2s;
}

.ebh-night-btn.active {
	border-color: var(--blue);
	background: var(--bp);
	color: var(--bd);
}

@media (max-width: 600px) {
	.ebh-region-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.ebh-night-toggle {
		flex-direction: column;
	}
}
/* ─────────────────────────────────────────────────────── */


/* ════════════════════════════════════════════════════════════
   FORM IMPROVEMENTS — May 2026
   ════════════════════════════════════════════════════════════ */

/* 1. Request My Quote button — same height as trip-type toggle buttons
      Toggle buttons are ~40px. Button text + lock note on one row.       */
.busHire_page .ebh-btn--full {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    height: 48px !important;
    padding: 0 24px !important;
    font-size: 15px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}
.busHire_page .ebh-btn--full::after {
    content: "🔒 Secure & confidential" !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    opacity: 0.8 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
}

/* 2. Textarea — 2 lines tall */
.busHire_page .ebh-form textarea {
    height: 72px !important;
    min-height: 72px !important;
    max-height: 72px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    line-height: 1.5 !important;
    resize: none !important;
}

/* 3. Date + time input borders — match pickup/destination fields */
.busHire_page .ebh-form input[type="date"],
.busHire_page .ebh-form input[type="time"],
.busHire_page input.ebh-datepicker,
.ebh-form .ebh-datepicker {
    border: 1.5px solid var(--g2) !important;
    border-radius: 10px !important;
    background: var(--g1) !important;
    font-size: 15px !important;
    font-family: Outfit, sans-serif !important;
    color: var(--dk) !important;
    height: 40px !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
}
.busHire_page .ebh-form input[type="date"]:focus,
.busHire_page .ebh-form input[type="time"]:focus,
.busHire_page input.ebh-datepicker:focus {
    border-color: var(--blue) !important;
    background: #fff !important;
    outline: none !important;
}

/* 4. "YOU CAN REQUEST..." helper text — lighter, less prominent
      Targets the inline-styled span in quote-form.php               */
.busHire_page .ebh-form span[style*="font-size:12px"],
.busHire_page .ebh-form span[style*="font-size: 12px"],
.busHire_page .ebh-form .fg > span[style],
.busHire_page .ebh-form .full > span[style] {
    font-size: 11px !important;
    color: var(--g4) !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* 5. Even spacing between sections 1 / 2 / 3 */
.busHire_page .first_form_card,
.busHire_page .second_form_card,
.busHire_page .third_form_card {
    margin-bottom: 10px !important;
}
.busHire_page .ebh-grid-2 {
    gap: 10px !important;
}
.busHire_page .ebh-checkbox {
    margin-bottom: 8px !important;
}

/* Mobile adjustments */
@media (max-width: 768px) {
    .busHire_page .ebh-btn--full {
        height: 44px !important;
        font-size: 14px !important;
    }
    .busHire_page .ebh-btn--full::after {
        font-size: 11px !important;
    }
    .busHire_page .ebh-form textarea {
        height: 64px !important;
        min-height: 64px !important;
        max-height: 64px !important;
    }
}


/* ── Request My Quote — force single line, always ── */
.busHire_page .ebh-btn--full,
.busHire_page .fgrid .ebh-btn--full,
.busHire_page .ebh-form .ebh-btn--full {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 0 24px !important;
    line-height: 48px !important;
    white-space: nowrap !important;
    font-size: 15px !important;
    overflow: hidden !important;
}
.busHire_page .ebh-btn--full::after,
.busHire_page .fgrid .ebh-btn--full::after,
.busHire_page .ebh-form .ebh-btn--full::after {
    content: "🔒 Secure & confidential" !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    opacity: 0.85 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    display: inline !important;
    line-height: 1 !important;
}
@media (max-width: 480px) {
    .busHire_page .ebh-btn--full::after {
        display: none !important;
    }
    .busHire_page .ebh-btn--full {
        font-size: 14px !important;
    }
}


/* ── Button: centre both items, not space-between ── */
.busHire_page .ebh-btn--full,
.busHire_page .fgrid .ebh-btn--full,
.busHire_page .ebh-form .ebh-btn--full {
    justify-content: center !important;
    gap: 12px !important;
}

/* ── All form inputs — placeholder and value text not bold ── */
.busHire_page .ebh-form input[type="text"],
.busHire_page .ebh-form input[type="email"],
.busHire_page .ebh-form input[type="tel"],
.busHire_page .ebh-form input[type="number"],
.busHire_page .ebh-form input[type="date"],
.busHire_page .ebh-form input[type="time"],
.busHire_page .ebh-form input[type="search"],
.busHire_page .ebh-form select,
.busHire_page .ebh-form textarea,
.busHire_page input.ebh-datepicker {
    font-weight: 400 !important;
}
.busHire_page .ebh-form input::placeholder,
.busHire_page .ebh-form textarea::placeholder {
    font-weight: 400 !important;
    color: var(--g4) !important;
}


/* ── Button: definitive single-line centred fix ── */
.busHire_page .ebh-btn--full,
.busHire_page .fgrid .ebh-btn--full,
.busHire_page .ebh-form .ebh-btn--full {
    position: relative !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 0 !important;
    height: 48px !important;
    padding: 0 140px 0 24px !important;
    white-space: nowrap !important;
    font-size: 15px !important;
    line-height: 48px !important;
    overflow: hidden !important;
}
.busHire_page .ebh-btn--full::after,
.busHire_page .fgrid .ebh-btn--full::after,
.busHire_page .ebh-form .ebh-btn--full::after {
    content: "🔒 Secure & confidential" !important;
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    opacity: 0.8 !important;
    white-space: nowrap !important;
    line-height: 1 !important;
}
@media (max-width: 480px) {
    .busHire_page .ebh-btn--full {
        padding: 0 16px !important;
    }
    .busHire_page .ebh-btn--full::after {
        display: none !important;
    }
}


/* ── Button: true centre for main text ── */
.busHire_page .ebh-btn--full,
.busHire_page .fgrid .ebh-btn--full,
.busHire_page .ebh-form .ebh-btn--full {
    padding: 0 !important;
    text-align: center !important;
    justify-content: center !important;
}


/* ── Return date — restore red tint matching Return Location ── */
.busHire_page .ebh-form .fg.red input[type="date"],
.busHire_page .ebh-form .fg.red input.ebh-datepicker,
.busHire_page .ebh-form .red input[type="date"],
.busHire_page .ebh-form .red .ebh-datepicker,
#md_return_date,
input[name="return_date"] {
    background: #FDF6F5 !important;
    border-color: #DDBAB6 !important;
}


/* ── Return date fields — restore red tint (inside .fg.red wrapper) ── */
.busHire_page .fg.red input[type="date"],
.busHire_page .fg.red input.ebh-datepicker,
.busHire_page .ebh-return-field.red input[type="date"],
.busHire_page .ebh-return-field.red input.ebh-datepicker,
.busHire_page .fg.red .ebh-date-display {
    background: #FDF6F5 !important;
    border-color: #DDBAB6 !important;
}
.busHire_page .fg.red .ebh-date-display {
    background: #FDF6F5 !important;
    border: 1.5px solid #DDBAB6 !important;
}


/* ── Custom builder — force ALL labels and text left-aligned ── */
#ebh-custom-days,
#ebh-custom-days *,
.ebh-custom-builder,
.ebh-custom-builder *,
.ebh-custom-day,
.ebh-custom-day *,
.ebh-custom-fields,
.ebh-custom-fields *,
.ebh-custom-field,
.ebh-custom-field * {
    text-align: left !important;
}


/* ════════════════════════════════════════════════════════════
   FINAL OVERRIDES — single source of truth
   ════════════════════════════════════════════════════════════ */

/* Custom builder — every element left-aligned, highest specificity */
html body .busHire_page #ebh-custom-days .ebh-custom-lbl,
html body .busHire_page #ebh-custom-days label,
html body .busHire_page #ebh-custom-days .ebh-custom-field,
html body .busHire_page #ebh-custom-days .ebh-custom-fields,
html body .busHire_page .ebh-custom-builder .ebh-custom-lbl,
html body .busHire_page .ebh-custom-builder label,
html body .busHire_page .ebh-custom-builder .ebh-custom-field,
html body .busHire_page .ebh-custom-builder .ebh-custom-fields {
    text-align: left !important;
    display: block !important;
}

/* Button — row layout, main text centred, lock note absolute right */
html body .busHire_page .ebh-btn--full {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    height: 48px !important;
    padding: 0 !important;
    gap: 0 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    font-size: 15px !important;
    text-align: center !important;
    overflow: hidden !important;
}
html body .busHire_page .ebh-btn--full::after {
    content: "🔒 Secure & confidential" !important;
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    opacity: 0.8 !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    display: block !important;
}
@media (max-width: 480px) {
    html body .busHire_page .ebh-btn--full::after {
        display: none !important;
    }
}


/* ══════════════════════════════════════════════════════════
   EDIT STOPS IMPROVEMENTS
   ══════════════════════════════════════════════════════════ */

/* 3. Overnight stay label — blue like custom form */
.ebh-edit-lbl--ov {
    color: var(--blue) !important;
    font-weight: 700 !important;
}

/* 4. × remove button — larger, better aligned */
.ebh-edit-rm {
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: #fff !important;
    border: 1.5px solid var(--g2) !important;
    color: var(--g6) !important;
    font-size: 16px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
    padding: 0 !important;
    transition: border-color .2s, color .2s !important;
}
.ebh-edit-rm:hover {
    border-color: #dc2626 !important;
    color: #dc2626 !important;
}

/* 5. + Add stop button — breathing room above */
.ebh-edit-add-btn {
    margin-top: 6px !important;
}

/* 6. Save stops button — matches Edit stops style, green */
.ebh-itin-edit-btn {
    font-size: 12px !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    padding: 5px 14px !important;
    cursor: pointer !important;
    font-family: Outfit, sans-serif !important;
    transition: background .2s, color .2s !important;
    text-decoration: none !important;
}
/* Edit mode — blue */
.ebh-itin-edit-btn:not([data-saving]) {
    color: var(--blue) !important;
    background: #fff !important;
    border: 1.5px solid var(--blue) !important;
}
/* Save mode — green */
.ebh-itin-edit-btn[data-saving],
.ebh-itin-stops[data-editing="1"] ~ * .ebh-itin-edit-btn,
.ebh-itin-header .ebh-itin-edit-btn.saving {
    color: #16a34a !important;
    background: #fff !important;
    border: 1.5px solid #16a34a !important;
}

/* 7. Day block spacing — more breathing room */
.ebh-edit-day {
    padding: 14px 14px 14px 14px !important;
}
.ebh-edit-day-hdr {
    margin-bottom: 12px !important;
}
.ebh-edit-fields {
    gap: 10px !important;
}
.ebh-edit-field {
    gap: 5px !important;
}
.ebh-edit-stop-list {
    gap: 7px !important;
}


/* ── Via stops line — secondary text below main stop name ── */
.ebh-stop-via {
    font-size: 11px;
    color: var(--g5);
    font-weight: 400;
    margin-top: 2px;
    padding-left: 0;
    grid-column: 3; /* sits under stop name in the grid layout */
}


/* ── Unsaved stops warning pulse ── */
@keyframes ebh-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(22, 163, 74, 0.6); }
    70%  { box-shadow: 0 0 0 8px rgba(22, 163, 74, 0); }
    100% { box-shadow: 0 0 0 0 rgba(22, 163, 74, 0); }
}
#ebh-unsaved-warn {
    display: none;
}


/* ══════════════════════════════════════════════════════
   MOBILE FIXES — Custom builder + regional tour
   ══════════════════════════════════════════════════════ */

/* Fix dot stretching on mobile — must be a fixed square */
.ebh-stop-dot,
.ebh-custom-day-hdr .ebh-stop-dot,
.ebh-edit-day-hdr .ebh-stop-dot {
    width: 9px !important;
    height: 9px !important;
    min-width: 9px !important;
    min-height: 9px !important;
    max-width: 9px !important;
    max-height: 9px !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
    align-self: center !important;
    display: block !important;
}

/* Day header — flex-start so dot stays small at top */
.ebh-custom-day-hdr,
.ebh-edit-day-hdr {
    align-items: flex-start !important;
}
.ebh-custom-day-hdr .ebh-stop-dot,
.ebh-edit-day-hdr .ebh-stop-dot {
    margin-top: 3px !important;
    align-self: flex-start !important;
}

@media (max-width: 600px) {
    /* itin-stop row — keep flex, fix dot */
    .ebh-itin-stop {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: flex-start !important;
        gap: 8px !important;
        padding: 8px 0 !important;
    }
    .ebh-itin-stop .ebh-stop-dot {
        margin-top: 3px !important;
    }

    /* Day tag narrower on mobile */
    .ebh-stop-day {
        width: 32px !important;
        flex-shrink: 0 !important;
        font-size: 9px !important;
    }

    /* Date under day tag */
    .ebh-stop-date {
        font-size: 9px !important;
        width: 58px !important;
        flex-shrink: 0 !important;
    }

    /* Stop name — allow wrap */
    .ebh-stop-name {
        font-size: 12px !important;
        flex: 1 !important;
        min-width: 0 !important;
        word-break: break-word !important;
    }

    /* Note — shrink to fit */
    .ebh-stop-note {
        font-size: 10px !important;
        white-space: nowrap !important;
        flex-shrink: 0 !important;
        margin-left: auto !important;
    }

    /* Custom day blocks */
    .ebh-custom-day {
        padding: 10px 10px !important;
    }
    .ebh-custom-fields {
        padding-left: 14px !important;
    }
    .ebh-edit-fields {
        padding-left: 14px !important;
    }

    /* Edit meta — day + date stacked */
    .ebh-edit-meta {
        min-width: 52px !important;
        width: 52px !important;
    }

    /* Itin box header wraps on mobile */
    .ebh-itin-header {
        flex-wrap: wrap !important;
        gap: 6px !important;
    }
    .ebh-itin-header span {
        font-size: 11px !important;
    }

    /* Region grid — 2x2 on mobile */
    .ebh-region-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    /* Day pills wrap */
    .ebh-day-pills {
        flex-wrap: wrap !important;
        gap: 6px !important;
    }
}


/* ── Edit mode mobile fixes ── */
@media (max-width: 600px) {

    /* Day pills — must wrap horizontally not stack */
    .ebh-day-pills {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
    }
    .ebh-day-pill {
        flex: 0 0 auto !important;
        white-space: nowrap !important;
    }

    /* Edit day header — no overflow */
    .ebh-edit-day-hdr {
        flex-wrap: wrap !important;
        gap: 6px !important;
        align-items: flex-start !important;
    }
    .ebh-edit-departs {
        font-size: 12px !important;
        flex: 1 1 100% !important;
        padding-left: 17px !important;
        margin-top: 2px !important;
    }
    .ebh-edit-note {
        margin-left: 0 !important;
    }

    /* Stop row — input + remove button */
    .ebh-edit-stop-row {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        width: 100% !important;
    }
    .ebh-edit-inp {
        flex: 1 !important;
        min-width: 0 !important;
        width: auto !important;
        height: 40px !important;
        font-size: 14px !important;
        padding: 0 10px !important;
    }

    /* × remove button — fixed size, no stretching */
    .ebh-edit-rm {
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
        max-width: 28px !important;
        flex-shrink: 0 !important;
        flex-grow: 0 !important;
        padding: 0 !important;
        border-radius: 50% !important;
        font-size: 16px !important;
        line-height: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Edit fields indentation */
    .ebh-edit-fields {
        padding-left: 10px !important;
        gap: 8px !important;
    }

    /* Overnight input */
    .ebh-edit-overnight {
        height: 40px !important;
        font-size: 14px !important;
        padding: 0 10px !important;
    }

    /* + Add stop button */
    .ebh-edit-add-btn {
        font-size: 12px !important;
        padding: 5px 10px !important;
    }

    /* Edit day block */
    .ebh-edit-day {
        padding: 10px 10px !important;
    }

    /* Save stops button — full width on mobile */
    .ebh-itin-edit-btn {
        width: 100% !important;
        text-align: center !important;
        display: block !important;
        padding: 8px 14px !important;
    }
}


/* ── Edit stop row — definitive fix for square button on mobile ── */
.ebh-edit-stop-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 6px !important;
    width: 100% !important;
}
.ebh-edit-stop-row .ebh-edit-inp {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 40px) !important;
    height: 40px !important;
    align-self: center !important;
}
.ebh-edit-stop-row .ebh-edit-rm {
    flex: 0 0 28px !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    align-self: center !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    font-size: 16px !important;
}


/* ── Request My Quote — mobile fix ── */
@media (max-width: 768px) {
    html body .busHire_page .ebh-btn--full {
        height: 52px !important;
        min-height: 52px !important;
        max-height: 52px !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        position: relative !important;
    }
    html body .busHire_page .ebh-btn--full::after {
        content: "🔒 Secure & confidential" !important;
        position: absolute !important;
        right: 12px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        font-size: 10px !important;
        font-weight: 400 !important;
        opacity: 0.85 !important;
        white-space: nowrap !important;
        display: block !important;
        line-height: 1 !important;
    }
}

@media (max-width: 400px) {
    html body .busHire_page .ebh-btn--full::after {
        display: none !important;
    }
}


/* ════════════════════════════════════════════════════════════
   BUTTON — DEFINITIVE FINAL RULE — OVERRIDES ALL PREVIOUS
   ════════════════════════════════════════════════════════════ */

/* Force row layout — highest possible specificity */
html body.busHire_page .ebh-btn--full,
html body .busHire_page .ebh-btn--full,
html body .busHire_page .fgrid .ebh-btn--full,
html body .busHire_page form .ebh-btn--full {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    height: 52px !important;
    min-height: 52px !important;
    max-height: none !important;
    padding: 0 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 52px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    position: relative !important;
    gap: 0 !important;
}

html body.busHire_page .ebh-btn--full::after,
html body .busHire_page .ebh-btn--full::after,
html body .busHire_page .fgrid .ebh-btn--full::after,
html body .busHire_page form .ebh-btn--full::after {
    content: "🔒 Secure & confidential" !important;
    position: absolute !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    opacity: 0.85 !important;
    white-space: nowrap !important;
    display: block !important;
    line-height: 1 !important;
    pointer-events: none !important;
}

@media (max-width: 420px) {
    html body .busHire_page .ebh-btn--full::after {
        display: none !important;
    }
}


/* ════════════════════════════════════════════════════════════
   BUTTON — SPAN-BASED LAYOUT (replaces all ::after approaches)
   ════════════════════════════════════════════════════════════ */

/* Hide all ::after pseudo-elements on the button */
html body .busHire_page .ebh-btn--full::after,
html body .busHire_page .fgrid .ebh-btn--full::after,
html body .busHire_page form .ebh-btn--full::after {
    display: none !important;
    content: none !important;
}

/* Button — single row, fixed height */
html body .busHire_page .ebh-btn--full {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    height: 52px !important;
    padding: 0 16px !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Main label — centred */
html body .busHire_page .ebh-btn--full .ebh-btn__label {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #fff !important;
    white-space: nowrap !important;
    flex: 1 !important;
    text-align: center !important;
    display: block !important;
}

/* Trust note — pinned right */
html body .busHire_page .ebh-btn--full .ebh-btn__trust {
    position: absolute !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    color: rgba(255,255,255,0.85) !important;
    white-space: nowrap !important;
    display: block !important;
    line-height: 1 !important;
    pointer-events: none !important;
}

@media (max-width: 420px) {
    html body .busHire_page .ebh-btn--full .ebh-btn__trust {
        display: none !important;
    }
}
