/* Zone Locations Table (new template / old markup) */
body.page-template-zone-search,
body.page-template-zone-locations-table,
body.page-template-default {
	/* no-op: keep selectors flexible; remove page-template-default if too broad */
}

/* spacing blocks (old behavior) */
body.page-template-zone-search .before-locations-table,
body.page-template-zone-locations-table .before-locations-table {
	padding-bottom: 48px;
}

body.page-template-zone-search .after-locations-table,
body.page-template-zone-locations-table .after-locations-table {
	padding-bottom: 48px;
}

/* main wrapper */
.locations-table {
	box-sizing: border-box;
	width: 100%;
	padding-block: 65px 60px;
	padding-top: 0;
}

/* search input */
.locations-table .locations-table-search {
	width: 100%;
	max-width: 520px;
	display: block;
	margin: 6px auto;
	padding: 12px;
	border-radius: 24px;
	box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.35);
	font-size: 16px;
	line-height: 1.2;
	border: unset;
}

.locations-table .locations-table-search::placeholder {
	color: #667085
}

/* layout container */
.locations-table .tables {
	box-sizing: border-box;
	max-width: 1100px;
	margin: 0 auto;

	/* your template uses tailwind-ish classes too, but we don't rely on them */
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}

/* tables */
.locations-table table {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
}

/* header row spacing */
.locations-table table th {
	text-align: right;
	padding: 10px 0;
	border-bottom: 2px solid #667085;
}

/* rows */
.locations-table table tr {
	border-bottom: none; /* old behavior */
}

.locations-table table tr:hover {
	background-color: rgba(27, 103, 188, 0.1);
}

/* don't highlight the header row */
.locations-table table tr:first-child:hover {
	background-color: transparent;
}

/* old: odd row cells had no background */
.locations-table table tr:nth-child(odd) td {
	background-color: transparent;
}

/* cells */
.locations-table table td {
	border: none;
	padding: 10px 12px;

	background: transparent;
	font-weight: 600;

	/* match old: keep single-line on larger screens */
	white-space: normal;
}

/* left column link color inheritance like old */
.locations-table table td:first-child {
	color: var(--theme-color-accent);
}

/* links should look like plain text but clickable */
.locations-table table a.locations-table-value {
	box-shadow: none !important;
	margin: 0 !important;
	padding: 0 !important;

	color: inherit !important;
	text-decoration: none !important;
	display: inline-block;
}

/* hover/focus affordance */
.locations-table table a.locations-table-value:hover,
.locations-table table a.locations-table-value:focus {
	text-decoration: underline !important;
}

/* keep long hotel names from exploding layout */
@media (min-width: 1024px) {
	.locations-table table td {
		white-space: nowrap; /* old lg-up behavior */
		overflow: hidden;
		text-overflow: ellipsis;
	}
}

/* mobile: mimic old md-dwn behavior (stack tables, remove second header) */
@media (max-width: 768px) {
	.locations-table .tables {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.locations-table .table-left table {
		margin-bottom: 0;
	}

	.locations-table .table-right table {
		margin-top: 0;
	}

	.locations-table .table-right th {
		display: none;
	}
}
