/* Alconox dealer directory */

.alxd {
	--alxd-navy: #052e5f;
	--alxd-navy-2: #0b355e;
	--alxd-blue: #125da4;
	--alxd-sky: #4893de;
	--alxd-gold: #f2b705;
	--alxd-ink: #1d2733;
	--alxd-muted: #5b6776;
	--alxd-line: #dfe5ec;
	--alxd-tint: #f3f6fa;
	--alxd-card-bg: #f4f6f8;
	color: var(--alxd-ink);
}

/* ------------------------------------------------------------- featured */

.alxd-featured {
	margin: 28px 0 40px;
}

.alxd-featured[hidden] {
	display: none;
}

.alxd-featured__title {
	font-family: Rubik, sans-serif;
	font-size: 1.75rem;
	color: var(--alxd-navy);
	margin-bottom: 16px;
}

.alxd-featured__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
	gap: 20px;
}

/* -------------------------------------------------------------- toolbar */

.alxd-toolbar {
	background: var(--alxd-navy);
	border-radius: 10px;
	padding: 16px;
	margin-bottom: 12px;
}

.alxd-toolbar__row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: stretch;
}

.alxd-field {
	position: relative;
	margin: 0;
	display: flex;
}

.alxd-field--search {
	flex: 1 1 280px;
}

.alxd-field--search i {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--alxd-muted);
	pointer-events: none;
}

.alxd-search,
.alxd-country {
	width: 100%;
	min-height: 44px;
	border: 0;
	border-radius: 6px;
	padding: 8px 12px;
	font-size: 1rem;
	background: #fff;
	color: var(--alxd-ink);
}

.alxd-search {
	padding-left: 40px;
}

.alxd-country {
	min-width: 180px;
}

.alxd-near.btn {
	min-height: 44px;
	border-color: rgba(255, 255, 255, 0.6);
	color: #fff;
	background: transparent;
	white-space: nowrap;
}

.alxd .alxd-near.btn[aria-pressed="true"],
.alxd .alxd-near.btn[aria-pressed="true"]:hover,
.alxd .alxd-near.btn[aria-pressed="true"]:focus {
	background: #fff;
	color: var(--alxd-navy);
	border: 1px solid #fff !important;
}

.alxd-toggle {
	display: inline-flex;
	background: rgba(255, 255, 255, 0.12);
	border-radius: 6px;
	padding: 3px;
	margin-left: auto;
}

.alxd-toggle__btn {
	border: 0;
	background: transparent;
	color: #fff;
	padding: 0 14px;
	min-height: 38px;
	border-radius: 4px;
	font-weight: 500;
	white-space: nowrap;
}

.alxd-toggle__btn[aria-pressed="true"] {
	background: #fff;
	color: var(--alxd-navy);
}

.alxd-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}

.alxd-chip {
	border: 1px solid rgba(255, 255, 255, 0.45);
	background: transparent;
	color: #fff;
	border-radius: 999px;
	padding: 5px 14px;
	font-size: 0.9rem;
}

/* The theme's bst.css strips borders from every button:hover/focus with
   !important, so the directory's buttons restate theirs. */
.alxd .alxd-chip:hover,
.alxd .alxd-chip:focus {
	border: 1px solid var(--alxd-blue) !important;
}

.alxd .alxd-chip:hover {
	background: var(--alxd-blue);
}

.alxd .alxd-chip[aria-pressed="true"]:hover,
.alxd .alxd-chip[aria-pressed="true"]:focus {
	border-color: var(--alxd-sky) !important;
	background: var(--alxd-sky);
}

.alxd .alxd-near.btn:hover,
.alxd .alxd-near.btn:focus {
	border: 1px solid var(--alxd-blue) !important;
	background: var(--alxd-blue);
	color: #fff;
}

.alxd .alxd-toggle__btn[aria-pressed="false"]:hover {
	background: var(--alxd-blue);
}

.alxd .alxd-chip:focus-visible,
.alxd .alxd-near.btn:focus-visible,
.alxd .alxd-toggle__btn:focus-visible {
	outline: 2px solid #fff !important;
	outline-offset: 2px;
}

.alxd-chip[aria-pressed="true"] {
	background: var(--alxd-sky);
	border-color: var(--alxd-sky);
}

.alxd-chip--featured i {
	color: var(--alxd-gold);
	margin-right: 2px;
}

.alxd .alxd-chip--featured[aria-pressed="true"],
.alxd .alxd-chip--featured[aria-pressed="true"]:hover,
.alxd .alxd-chip--featured[aria-pressed="true"]:focus {
	background: var(--alxd-gold);
	border-color: var(--alxd-gold) !important;
	color: var(--alxd-navy);
}

.alxd-chip--featured[aria-pressed="true"] i {
	color: var(--alxd-navy);
}

/* --------------------------------------------------------- sticky search */
/* The toolbar and A–Z bar stay pinned under the theme's fixed header.
   --alxd-sticky-top is the header's height, measured by dealers.js. */

.alxd-sticky {
	position: sticky;
	top: var(--alxd-sticky-top, 0px);
	z-index: 50;
	background: #fff;
	margin: 0 -8px;
	padding: 0 8px;
}

.alxd-sticky.is-stuck {
	padding-top: 8px;
	box-shadow: 0 8px 16px -12px rgba(5, 46, 95, 0.35);
}

.alxd-sticky .alxd-az {
	margin-bottom: 0;
}

.alxd-sticky.is-stuck .alxd-az {
	margin-bottom: 8px;
}

.alxd-sticky + * {
	margin-top: 12px;
}

/* Pinned, the toolbar slims down: categories tuck away (still applied). */
.alxd-sticky.is-stuck .alxd-chips {
	display: none;
}

.alxd-sticky.is-stuck .alxd-toolbar {
	padding: 10px;
	margin-bottom: 6px;
}

@media (max-width: 767px) {
	/* On phones, only search and the letters stay pinned. */
	.alxd-sticky.is-stuck .alxd-field:not(.alxd-field--search),
	.alxd-sticky.is-stuck .alxd-near,
	.alxd-sticky.is-stuck .alxd-toggle {
		display: none;
	}
}

/* ------------------------------------------------------------------ A–Z */

.alxd-az {
	display: flex;
	justify-content: space-between;
	gap: 2px;
	margin: 0 0 12px;
	padding: 6px 8px;
	background: var(--alxd-tint);
	border-radius: 8px;
	overflow-x: auto;
	scrollbar-width: none;
}

.alxd-az::-webkit-scrollbar {
	display: none;
}

.alxd .alxd-az__btn {
	flex: 1 0 auto;
	min-width: 28px;
	height: 32px;
	padding: 0 4px;
	border: 0;
	border-radius: 4px;
	background: transparent;
	color: var(--alxd-blue);
	font-weight: 600;
	font-size: 0.9rem;
}

.alxd .alxd-az__btn:hover:not(:disabled),
.alxd .alxd-az__btn:focus-visible {
	background: var(--alxd-blue);
	color: #fff;
}

.alxd .alxd-az__btn[aria-current="true"] {
	background: var(--alxd-sky);
	color: #fff;
}

.alxd .alxd-az__btn:disabled {
	color: #b4bcc6;
	cursor: default;
}

.alxd[data-view="map"] .alxd-az {
	display: none;
}

/* Letter headings between the groups (added by dealers.js). */
.alxd-letter {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 12px 0 0;
	font-family: Rubik, sans-serif;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1;
	color: var(--alxd-navy);
}

.alxd-letter::after {
	content: "";
	flex: 1;
	height: 2px;
	background: var(--alxd-line);
}

.alxd-grid > .alxd-letter:first-child {
	margin-top: 0;
}

.alxd[data-view="list"] .alxd-letter {
	margin: 0;
	padding: 8px 16px;
	font-size: 1rem;
	background: var(--alxd-tint);
	border-bottom: 1px solid var(--alxd-line);
}

.alxd[data-view="list"] .alxd-letter::after {
	display: none;
}

/* Land below the theme's fixed header when jumping to a letter. */
.alxd-grid .alxd-card,
.alxd-letter {
	scroll-margin-top: 130px;
}

.alxd-letter.is-jumped {
	animation: alxd-letter-jumped 1.6s ease-out;
}

@keyframes alxd-letter-jumped {
	0%,
	40% {
		color: var(--alxd-sky);
	}
}

.alxd-card.is-jumped {
	animation: alxd-jumped 1.6s ease-out;
}

@keyframes alxd-jumped {
	0%,
	40% {
		box-shadow: 0 0 0 3px var(--alxd-sky);
	}
	100% {
		box-shadow: 0 0 0 3px transparent;
	}
}

@media (max-width: 767px) {
	.alxd-az {
		justify-content: flex-start;
	}
}

.alxd-status {
	color: var(--alxd-muted);
	font-size: 0.9rem;
	margin: 24px 0 16px;
}

/* --------------------------------------------------------------- views */

.alxd[data-view="cards"] .alxd-map-wrap {
	display: none;
}

.alxd[data-view="map"] .alxd-grid,
.alxd[data-view="map"] .alxd-more-wrap,
.alxd[data-view="map"] .alxd-empty {
	display: none !important;
}

.alxd-map {
	height: 640px;
	max-height: 75vh;
	border-radius: 10px;
	background: var(--alxd-tint);
	overflow: hidden;
}

.alxd-info {
	font-size: 14px;
	line-height: 1.45;
	max-width: 260px;
}

.alxd-info__name {
	display: block;
	font-size: 15px;
	margin-bottom: 4px;
	color: var(--alxd-navy);
}

.alxd-info__line {
	display: block;
	color: var(--alxd-ink);
}

.alxd-info__links {
	display: flex;
	gap: 14px;
	margin-top: 8px;
	font-weight: 600;
}

/* ---------------------------------------------------------------- cards */

.alxd-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
	gap: 20px;
}

.alxd-card {
	display: flex;
	flex-direction: column;
	background: var(--alxd-card-bg);
	border: 1px solid var(--alxd-line);
	border-radius: 10px;
	padding: 20px;
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.alxd-card[hidden] {
	display: none;
}

.alxd-card:hover {
	border-color: var(--alxd-sky);
	box-shadow: 0 6px 20px rgba(5, 46, 95, 0.1);
}

.alxd-card.is-featured:not(.alxd-card--featured) {
	border-top: 3px solid var(--alxd-gold);
}

.alxd-card__head {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}

.alxd-card__heading {
	flex: 1;
	min-width: 0;
}

.alxd-card__logo {
	width: 56px;
	height: 56px;
	object-fit: contain;
	flex: none;
	background: #fff;
	border-radius: 6px;
}

.alxd-card__logo--initials {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--alxd-tint);
	color: var(--alxd-blue);
	font-family: Rubik, sans-serif;
	font-weight: 600;
	font-size: 1.15rem;
	letter-spacing: 0.02em;
}

.alxd-card--featured .alxd-card__logo--initials {
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	font-size: 1.4rem;
}

.alxd-card__name {
	font-family: Rubik, sans-serif;
	font-size: 1.15rem;
	line-height: 1.3;
	color: var(--alxd-navy);
	margin: 0;
}

.alxd-card__place {
	color: var(--alxd-muted);
	font-size: 0.9rem;
	margin: 4px 0 0;
}

.alxd-card__distance {
	flex: none;
	background: var(--alxd-tint);
	color: var(--alxd-blue);
	font-weight: 600;
	font-size: 0.8rem;
	border-radius: 999px;
	padding: 3px 10px;
}

.alxd-card__cats {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	padding: 0;
	margin: 12px 0 0;
}

.alxd-card__cats li {
	background: var(--alxd-tint);
	color: var(--alxd-blue);
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	border-radius: 4px;
	padding: 2px 8px;
}

.alxd-card__address {
	font-style: normal;
	margin: 14px 0 0;
	font-size: 0.95rem;
}

.alxd-card__contact {
	list-style: none;
	padding: 0;
	margin: 8px 0 0;
	font-size: 0.95rem;
}

.alxd-card__contact li {
	margin-top: 4px;
	overflow-wrap: anywhere;
}

.alxd-card i.fa-solid {
	width: 18px;
	color: var(--alxd-sky);
	text-align: center;
	margin-right: 4px;
}

.alxd-card a {
	color: var(--alxd-blue);
	text-decoration: none;
}

.alxd-card a:hover {
	text-decoration: underline;
}

.alxd-card__name a {
	color: inherit;
}

.alxd-card__nearest {
	margin: 10px 0 0;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--alxd-blue);
}

.alxd-card__nearest[hidden] {
	display: none;
}

.alxd-card--featured .alxd-card__nearest {
	color: #fff;
}

/* "View all N locations": a solid button so multi-location dealers lead somewhere obvious. */
.alxd-card .alxd-card__action--primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 10px 20px;
	border-radius: 999px; /* Pill, like the theme's buttons. */
	background: var(--alxd-blue);
	color: #fff;
	text-decoration: none;
	transition: background-color 0.15s ease;
}

.alxd-card .alxd-card__action--primary:hover,
.alxd-card .alxd-card__action--primary:focus-visible {
	background: var(--alxd-sky);
	color: #fff;
	text-decoration: none;
}

.alxd-card .alxd-card__action--primary .fa-arrow-right {
	margin: 0 !important;
	width: auto !important;
	color: inherit !important;
	transition: transform 0.15s ease;
}

.alxd-card .alxd-card__action--primary:hover .fa-arrow-right {
	transform: translateX(3px);
}

/* On the navy featured cards: gold, like the Featured badge. */
.alxd-card--featured .alxd-card__action--primary {
	background: var(--alxd-gold);
	color: var(--alxd-navy);
}

.alxd-card--featured .alxd-card__action--primary:hover,
.alxd-card--featured .alxd-card__action--primary:focus-visible {
	background: #fff;
	color: var(--alxd-navy);
}

/* --------------------------------------------- collapsible featured cards */

/* Closed, the featured cards share one height (the tallest closed card,
   measured by dealers.js into --alxd-featured-h) with their action rows
   lined up along the bottom. An opened card grows on its own. */
.alxd-featured__grid {
	align-items: start;
}

.alxd-featured__grid .alxd-card--featured {
	min-height: var(--alxd-featured-h, 0);
}

.alxd[data-view="list"] .alxd-featured__grid .alxd-card--featured {
	min-height: 0;
}

.alxd-card--featured .alxd-card__actions {
	align-items: center;
	flex-wrap: nowrap;
}

.alxd-card--featured .alxd-card__action--primary {
	flex: 1;
	width: auto;
}

/* The arrow sits at the end of the action row. */
.alxd .alxd-card__toggle {
	flex: none;
	margin-left: auto;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(255, 255, 255, 0.35) !important;
	border-radius: 999px;
	background: transparent;
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background-color 0.15s ease;
}

.alxd .alxd-card__toggle:hover,
.alxd .alxd-card__toggle:focus-visible {
	background: rgba(255, 255, 255, 0.15);
	border: 1px solid #fff !important;
}

.alxd .alxd-card__toggle i.fa-solid {
	width: auto;
	margin: 0;
	color: #fff;
	transition: transform 0.2s ease;
}

.alxd-card.is-open .alxd-card__toggle i.fa-solid {
	transform: rotate(180deg);
}

.alxd-card__more[hidden] {
	display: none;
}

.alxd-card__more {
	padding-bottom: 4px;
}

/* A multi-location dealer's first few locations, shown when opened. */
.alxd-card__locs {
	list-style: none;
	margin: 12px 0 0;
	padding: 0;
	font-size: 0.9rem;
}

.alxd-card__locs li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 6px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.alxd-card__locs-more {
	margin: 8px 0 0;
	font-size: 0.9rem;
	font-weight: 600;
}

/* List view rows are already compact: no arrow there, and the collapsed
   panel's contact details fill the row's contact column as usual. */
.alxd[data-view="list"] .alxd-card__more,
.alxd[data-view="list"] .alxd-card__more[hidden] {
	display: contents !important; /* Beats Bootstrap's [hidden] { display: none !important }. */
}

.alxd[data-view="list"] .alxd-card__toggle,
.alxd[data-view="list"] .alxd-card__locs,
.alxd[data-view="list"] .alxd-card__locs-more {
	display: none;
}

/* List view: a compact button that fits the row. */
.alxd[data-view="list"] .alxd-card .alxd-card__action--primary {
	width: auto;
	padding: 6px 12px;
	font-size: 0.85rem;
	white-space: nowrap;
}

.alxd-card__notes {
	font-size: 0.9rem;
	color: var(--alxd-muted);
	margin: 10px 0 0;
}

.alxd-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: auto;
	padding-top: 16px;
}

.alxd-card__action {
	border: 0;
	background: none;
	padding: 0;
	font-weight: 600;
	font-size: 0.9rem;
	color: var(--alxd-blue);
}

.alxd-card__action:hover {
	text-decoration: underline;
}

/* Featured card */

.alxd-card--featured {
	background: linear-gradient(135deg, var(--alxd-navy) 0%, var(--alxd-navy-2) 100%);
	border: 0;
	color: #fff;
	padding: 24px;
}

.alxd-card--featured .alxd-card__logo {
	width: 72px;
	height: 72px;
	padding: 6px;
}

.alxd-card--featured .alxd-card__name {
	color: #fff;
	font-size: 1.35rem;
}

.alxd-card--featured .alxd-card__place,
.alxd-card--featured .alxd-card__notes {
	color: rgba(255, 255, 255, 0.75);
}

.alxd-card--featured .alxd-card__blurb {
	margin: 14px 0 0;
	font-size: 1rem;
	color: #fff;
}

.alxd-card--featured .alxd-card__cats li {
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
}

.alxd-card--featured a,
.alxd-card--featured .alxd-card__action {
	color: #fff;
}

.alxd-card--featured i.fa-solid {
	color: var(--alxd-gold);
}

.alxd-pill {
	display: inline-block;
	background: var(--alxd-gold);
	color: var(--alxd-navy);
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border-radius: 999px;
	padding: 2px 10px;
	margin-bottom: 8px;
}

.alxd-card--featured .alxd-pill i.fa-solid {
	color: var(--alxd-navy);
	width: auto;
	margin: 0;
}

/* ------------------------------------------------------------ list view */
/* Same card markup as the grid, laid out as one compact row per dealer. */

.alxd[data-view="list"] .alxd-grid,
.alxd[data-view="list"] .alxd-featured__grid {
	display: block;
	border: 1px solid var(--alxd-line);
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}

.alxd[data-view="list"] .alxd-grid .alxd-card,
.alxd[data-view="list"] .alxd-featured__grid .alxd-card {
	display: grid;
	grid-template-columns: minmax(0, 2.2fr) minmax(0, 1.3fr) minmax(0, 1.8fr) auto;
	grid-template-areas: "head cats contact actions";
	align-items: center;
	gap: 16px;
	padding: 10px 16px;
	border: 0;
	border-radius: 0;
	border-bottom: 1px solid var(--alxd-line);
	box-shadow: none;
}

.alxd[data-view="list"] .alxd-grid .alxd-card:last-child,
.alxd[data-view="list"] .alxd-featured__grid .alxd-card:last-child {
	border-bottom: 0;
}

.alxd[data-view="list"] .alxd-grid .alxd-card:nth-child(even of .alxd-card:not([hidden])) {
	background: #fafbfd;
}

.alxd[data-view="list"] .alxd-grid .alxd-card:hover {
	background: var(--alxd-tint);
}

.alxd[data-view="list"] .alxd-grid .alxd-card.is-featured {
	border-top: 0;
	box-shadow: inset 3px 0 0 var(--alxd-gold);
}

.alxd[data-view="list"] .alxd-card__head {
	grid-area: head;
	align-items: center;
}

.alxd[data-view="list"] .alxd-card__logo {
	width: 40px;
	height: 40px;
}

.alxd[data-view="list"] .alxd-card__logo--initials {
	font-size: 0.85rem;
}

.alxd[data-view="list"] .alxd-card__name {
	font-size: 1rem;
}

.alxd[data-view="list"] .alxd-card__place {
	margin-top: 0;
	font-size: 0.85rem;
}

.alxd[data-view="list"] .alxd-card__cats {
	grid-area: cats;
	margin: 0;
}

.alxd[data-view="list"] .alxd-card__contact {
	grid-area: contact;
	margin: 0;
	font-size: 0.9rem;
}

.alxd[data-view="list"] .alxd-card__contact li {
	margin-top: 2px;
}

.alxd[data-view="list"] .alxd-card__actions {
	grid-area: actions;
	margin: 0;
	padding: 0;
	gap: 12px;
}

.alxd[data-view="list"] .alxd-grid .alxd-card__address,
.alxd[data-view="list"] .alxd-grid .alxd-card__notes,
.alxd[data-view="list"] .alxd-grid .alxd-card__contact li:has(.fa-fax),
.alxd[data-view="list"] .alxd-featured__grid .alxd-card__address,
.alxd[data-view="list"] .alxd-featured__grid .alxd-card__notes,
.alxd[data-view="list"] .alxd-featured__grid .alxd-card__contact li:has(.fa-fax),
.alxd[data-view="list"] .alxd-featured__grid .alxd-card__blurb,
.alxd[data-view="list"] .alxd-featured__grid .alxd-pill {
	display: none;
}

/* Featured dealers condense too, keeping their navy so they still stand out. */
.alxd[data-view="list"] .alxd-featured__grid {
	border-color: var(--alxd-navy); /* Same 1px as the main list, so the columns line up. */
}

.alxd[data-view="list"] .alxd-featured__grid .alxd-card--featured {
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.alxd[data-view="list"] .alxd-featured__grid .alxd-card--featured:hover {
	background: var(--alxd-navy-2);
}

.alxd[data-view="list"] .alxd-card--featured .alxd-card__logo {
	width: 40px;
	height: 40px;
	padding: 3px;
}

.alxd[data-view="list"] .alxd-card--featured .alxd-card__name {
	font-size: 1rem;
}

.alxd[data-view="list"] .alxd-featured {
	margin-bottom: 28px;
}

@media (max-width: 991px) {
	.alxd[data-view="list"] .alxd-grid .alxd-card,
	.alxd[data-view="list"] .alxd-featured__grid .alxd-card {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"head actions"
			"contact contact";
		gap: 6px 12px;
	}

	.alxd[data-view="list"] .alxd-card__cats {
		display: none;
	}

	.alxd[data-view="list"] .alxd-card__contact {
		display: flex;
		flex-wrap: wrap;
		gap: 0 16px;
		padding-left: 52px;
	}
}

@media (max-width: 575px) {
	.alxd[data-view="list"] .alxd-grid .alxd-card,
	.alxd[data-view="list"] .alxd-featured__grid .alxd-card {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "head" "contact" "actions";
	}

	.alxd[data-view="list"] .alxd-card__actions {
		padding-left: 52px;
	}
}

/* -------------------------------------------------------- dealer page */

.alxd-back {
	margin: 0 0 20px;
}

.alxd-back a {
	color: var(--alxd-blue);
	font-weight: 600;
	text-decoration: none;
}

.alxd-back i {
	margin-right: 6px;
}

.alxd-company__card {
	background: #fff;
	border: 1px solid var(--alxd-line);
	border-radius: 10px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	position: sticky;
	top: 140px;
}

.alxd-company__card.is-featured {
	border-top: 3px solid var(--alxd-gold);
}

.alxd-company__logo {
	width: 100%;
	max-width: 260px;
	max-height: 120px;
	object-fit: contain;
	object-position: left center;
}

span.alxd-company__logo {
	width: 96px;
	height: 96px;
	border-radius: 10px;
	font-size: 2rem;
}

.alxd-company__card .alxd-card__cats {
	margin: 0;
}

.alxd-company__site i {
	margin-left: 6px;
}

.alxd-company__about {
	margin-bottom: 32px;
	font-size: 1.05rem;
}

.alxd-company__heading {
	font-family: Rubik, sans-serif;
	font-size: 1.5rem;
	color: var(--alxd-navy);
	margin-bottom: 16px;
}

.alxd-toolbar--compact {
	padding: 12px;
}

.alxd-locs {
	list-style: none;
	margin: 0;
	padding: 0;
	border: 1px solid var(--alxd-line);
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}

.alxd-loc {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.2fr) auto;
	gap: 16px;
	align-items: start;
	padding: 14px 18px;
	border-bottom: 1px solid var(--alxd-line);
}

.alxd-loc:last-child {
	border-bottom: 0;
}

.alxd-loc[hidden] {
	display: none;
}

.alxd-loc__place {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
}

.alxd-loc__city {
	font-family: Rubik, sans-serif;
	color: var(--alxd-navy);
	font-size: 1.05rem;
}

.alxd-loc__street,
.alxd-loc__country {
	color: var(--alxd-muted);
	font-size: 0.9rem;
}

.alxd-loc .alxd-card__contact {
	margin: 0;
	font-size: 0.95rem;
}

.alxd-loc .alxd-card__contact i.fa-solid,
.alxd-loc__directions i.fa-solid {
	width: 18px;
	color: var(--alxd-sky);
	text-align: center;
	margin-right: 4px;
}

.alxd-loc a {
	color: var(--alxd-blue);
	text-decoration: none;
}

.alxd-loc__notes {
	color: var(--alxd-muted);
	font-size: 0.9rem;
}

.alxd-loc__directions {
	white-space: nowrap;
}

@media (max-width: 991px) {
	.alxd-company__card {
		position: static;
	}
}

@media (max-width: 575px) {
	.alxd-loc {
		grid-template-columns: minmax(0, 1fr);
		gap: 8px;
	}
}

/* List view: the nearest-branch line gets a row of its own. */
.alxd[data-view="list"] .alxd-card__nearest {
	grid-column: 1 / -1;
	margin: 0;
	padding-left: 52px;
}

/* Light grey cards: tags and initials badges go white so they still stand out. */
.alxd-grid .alxd-card__cats li,
.alxd-grid .alxd-card__logo--initials {
	background: #fff;
}

.alxd-grid .alxd-card__logo {
	padding: 3px;
}

/* List view rows stay white (striped), as before. */
.alxd[data-view="list"] .alxd-grid .alxd-card {
	background: #fff;
}

.alxd[data-view="list"] .alxd-grid .alxd-card__cats li,
.alxd[data-view="list"] .alxd-grid .alxd-card__logo--initials {
	background: var(--alxd-tint);
}

/* --------------------------------------------------------------- footer */

.alxd-empty {
	text-align: center;
	padding: 40px 0;
	color: var(--alxd-muted);
}

.alxd-more-wrap {
	text-align: center;
	margin-top: 28px;
}

@media (max-width: 767px) {
	.alxd-toggle {
		margin-left: 0;
		flex: 1 1 100%;
	}

	.alxd-toggle__btn {
		flex: 1;
	}

	.alxd-country,
	.alxd-field {
		flex: 1 1 100%;
	}

	.alxd-near.btn {
		flex: 1 1 100%;
	}

	.alxd-map {
		height: 70vh;
	}
}

/* ------------------------------------------- client palette (Oct 2026) */

/* Greys are #eee throughout. */
.alxd {
	--alxd-tint: #eee;
	--alxd-card-bg: #eee;
}

.alxd-card__distance {
	background: #fff;
}

/* Address, phone, email and website sit together in a light box. */
.alxd-card__details {
	margin: 14px 0 0;
	padding: 12px 14px;
	background: #fdfdfd;
	border: 1px solid #d4d4d4;
	border-radius: 8px;
	color: var(--alxd-ink);
}

.alxd-card__details > :first-child {
	margin-top: 0;
}

.alxd-card__details > :last-child {
	margin-bottom: 0;
}

.alxd-card__details .alxd-card__contact:empty {
	display: none;
}

.alxd-card__details .alxd-card__notes {
	margin: 8px 0 0;
	color: var(--alxd-muted);
	font-size: 0.9rem;
}

/* Links and phone numbers at normal weight (the theme bolds every link). */
.alxd-card__details a,
.alxd-card__locs a,
.alxd-loc a {
	font-weight: 400;
}

/* On the navy featured cards the box keeps its light background and regular colours. */
.alxd-card--featured .alxd-card__details a {
	color: var(--alxd-blue);
}

.alxd-card--featured .alxd-card__details i.fa-solid {
	color: var(--alxd-sky);
}

.alxd-card--featured .alxd-card__details .alxd-card__notes {
	color: var(--alxd-muted);
}

/* Category tags: dark blue with white lettering. */
.alxd .alxd-card__cats li,
.alxd[data-view="list"] .alxd-grid .alxd-card__cats li {
	background: var(--alxd-navy);
	color: #fff;
}

/* Featured cards are already navy: their tags stay translucent white. */
.alxd .alxd-card--featured .alxd-card__cats li {
	background: rgba(255, 255, 255, 0.15);
}

/* List view rows: no box, the details fill the row's contact column. */
.alxd[data-view="list"] .alxd-card__details {
	display: contents;
}

/* ...except on the navy featured rows, where links stay white. */
.alxd[data-view="list"] .alxd-card--featured .alxd-card__details a {
	color: #fff;
}

.alxd[data-view="list"] .alxd-card--featured .alxd-card__details i.fa-solid {
	color: var(--alxd-gold);
}

/* Cards: three per row on desktop, two on tablets, one on phones. */
.alxd-grid {
	grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 576px) {
	.alxd-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 992px) {
	.alxd-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Cards: grey header band (logo, name, place), white body. */
.alxd[data-view="cards"] .alxd-grid .alxd-card {
	background: #fff;
}

.alxd[data-view="cards"] .alxd-grid .alxd-card__head {
	margin: -20px -20px 0;
	padding: 20px;
	background: #eee;
	border-radius: 9px 9px 0 0;
}

/* Featured dealers in the grid keep their gold top edge above the band. */
.alxd[data-view="cards"] .alxd-grid .alxd-card.is-featured .alxd-card__head {
	border-radius: 0;
}

/* No box around the details on the white cards; the featured (navy) cards
   keep their light box, without a border. */
.alxd-card__details {
	border: 0;
}

.alxd[data-view="cards"] .alxd-grid .alxd-card__details {
	padding: 0;
	background: none;
	border-radius: 0;
}
