.tec-events-calendar-list__event-categories {
	margin-top: 5px !important;
}

.tec-events-calendar-list__category-icon {
	width: 10px !important;
	margin-right: 5px !important;
}

.tribe-events-calendar-list__event-featured-image {
	border-radius: 4px !important;
}

/* =========================================================
   DYNAMIC EVENT CATEGORY COLOUR
   ========================================================= */

/*
 * Fallback only.
 * On Single Events PHP replaces this value with
 * the Primary Colour of the current Event Category.
 */
body.single-tribe_events {
	--ds-event-primary: #9e8b3d;
}


/* ---------------------------------------------------------
   Generic colour helpers
   --------------------------------------------------------- */

.ds-event-primary-text {
	color: var(--ds-event-primary) !important;
}

.ds-event-primary-bg {
	background-color: var(--ds-event-primary) !important;
}

.ds-event-primary-border {
	border-color: var(--ds-event-primary) !important;
}


/* ---------------------------------------------------------
   Event meta Icon List items
   --------------------------------------------------------- */

.ds-event-meta-item .et-pb-icon,
.ds-event-meta-item .et_pb_icon,
.ds-event-meta-item i,
.ds-event-meta-item svg {
	color: var(--ds-event-primary) !important;
}


/* SVG icons that do not inherit currentColor */
.ds-event-meta-item svg [fill]:not([fill="none"]) {
	fill: var(--ds-event-primary) !important;
}

.ds-event-meta-item svg [stroke]:not([stroke="none"]) {
	stroke: var(--ds-event-primary) !important;
}


/* =========================================================
   HERO EVENT CATEGORIES
   ========================================================= */

/*
 * Container for all categories.
 *
 * If an Event has several categories,
 * every category becomes its own pill.
 */
.ds-event-category-badges {
	display: flex;
	flex-wrap: wrap;
	align-items: center;

	gap: 14px;

	width: fit-content;
}


/*
 * Important:
 * do not create one shared dot for the whole container.
 */
.ds-event-category-badges::before {
	content: none !important;
	display: none !important;
}


/* Individual category pill */
.ds-event-category-badge {
	display: inline-flex;
	align-items: center;

	gap: 14px;

	padding: 10px 15px;

	border: 2px solid rgba(255, 255, 255, 0.55);
	border-radius: 999px;

	background: transparent !important;

	color: #ffffff !important;

	font-size: clamp(14px, 1.1vw, 18px);
	font-weight: 400;
	line-height: 1.2;

	letter-spacing: 0;
	text-transform: none;
	text-decoration: none !important;

	white-space: nowrap;
}


/*
 * Coloured dot for EACH category.
 *
 * --ds-term-primary = Primary Colour of this
 * individual TEC Event Category.
 */
.ds-event-category-badge::before {
	content: "";
	display: block;
	flex: 0 0 15px;

	width: 15px;
	height: 15px;
	aspect-ratio: 1 / 1;

	border-radius: 50%;

	background-color:
		var(
			--ds-term-primary,
			#9e8b3d
		);
}


/* =========================================================
   Compact Event Categories
   Homepage / cards / light sections
   ========================================================= */

.ds-event-categories-compact .ds-event-category-badge {
	gap: 6px;
	padding: 4px 9px;
	border: 1px solid rgba(28, 29, 74, .18);
	border-radius: 50px;
	background: transparent;
	color: #1c1d4a !important;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.2;
}

/* Smaller category colour dot */
.ds-event-categories-compact .ds-event-category-badge::before {
	width: 8px;
	height: 8px;
	flex: 0 0 8px;
}

/* If several categories are displayed */
.ds-event-categories-compact .ds-event-categories {
	gap: 7px;
}


/* =========================================================
   EVENT BUTTONS
   ========================================================= */

.ds-event-primary-button {
	background-color: var(--ds-event-primary) !important;
	border-color: var(--ds-event-primary) !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

	.ds-event-category-badges {
		gap: 10px;
	}

	.ds-event-category-badge {
		gap: 12px;

		padding: 10px 18px;
	}

	.ds-event-category-badge::before {
		flex-basis: 16px;

		width: 16px;
		height: 16px;
	}
}





/* =========================================================
   EVENT DETAILS
   ========================================================= */

.ds-event-detail-primary {
	font-weight: 600;
	line-height: 1.4;
}

.ds-event-detail-secondary {
	margin-top: 10px;
	line-height: 1.45;
}

.ds-event-organiser + .ds-event-organiser {
	margin-top: 14px;
}

.ds-event-organiser-contact {
	margin-top: 6px;
}

.ds-event-organiser-contact a {
	color: inherit;
	text-decoration: none;
}

.ds-event-organiser-contact a:hover {
	text-decoration: underline;
}



/* =========================================================
   EVENT TEXT LINKS
   ========================================================= */

.ds-event-inline-link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-top: 20px;

	width: fit-content;

	color: #1c1d4a !important;

	font-size: 14px;
	font-weight: 500;
	line-height: 1.25;

	text-decoration: none !important;
}


/* Underline only underneath the text */
.ds-event-inline-link > span {
	padding-bottom: 3px;

	border-bottom: 1px solid currentColor;
}


/* Arrow */
.ds-event-inline-link::after {
	content: "→";

	display: inline-block;

	font-size: 16px;
	font-weight: 400;
	line-height: 1;
}


/* Hover */
.ds-event-inline-link:hover {
	color: #9e8b3d !important;
}



/* =========================================================
   EVENT DETAILS CARDS
   ========================================================= */

/*
 * Dynamic grid.
 *
 * 3 cards = 3 equal columns
 * 2 cards = 2 equal columns
 * 1 card  = full width
 */
.ds-event-details-grid {
	display: grid !important;
	grid-template-columns: repeat(
		auto-fit,
		minmax(280px, 1fr)
	);
	gap: 28px;
	align-items: stretch;
}


/*
 * Override Divi column sizing because Grid
 * now controls the card widths.
 */
.ds-event-detail-card {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	float: none !important;
}


/* Hide Venue card when there is no Venue */
.ds-event-detail-card-venue:not(
	:has(.ds-event-venue-details)
) {
	display: none !important;
}


/* Hide Organiser card when there is no Organiser */
.ds-event-detail-card-organiser:not(
	:has(.ds-event-organisers)
) {
	display: none !important;
}


/* Hide Event Website card when no website is provided */
.ds-event-detail-card-website:not(
	:has(.ds-event-website)
) {
	display: none !important;
}


/* Hide Event Cost card when no cost is provided */
.ds-event-detail-card-cost:not(
	:has(.ds-event-cost)
) {
	display: none !important;
}

.ds-event-website .ds-event-inline-link {
	margin-top: 0;
}


/* Mobile */
@media (max-width: 767px) {

	.ds-event-details-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}


/* =========================================================
   SOCIETY SALE INFORMATION PANEL
   ========================================================= */

.charolais-sale-panel {
	position: relative;

	padding: 40px;

	border: 1px solid rgba(28, 29, 74, 0.16);
	border-radius: 4px;

	background: #faf7f5;
}



/* Section heading */
.charolais-event-extra-title {
	margin: 0 0 20px;

	font-size: clamp(22px, 2vw, 30px);
	font-weight: 700;
	line-height: 1.1;
}


/* Entry closing date */
.charolais-entry-closing-date {
	margin-bottom: 30px;

	color: #1c1d4a;

	font-size: clamp(17px, 1.1vw, 20px);
	line-height: 1.45;
}

.charolais-entry-closing-date strong {
	font-weight: 700;
}


/* =========================================================
   SALE ACTIONS - SHARED
   ========================================================= */

.charolais-sale-action {
	position: relative;

	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;

	gap: 18px;

	color: #1c1d4a !important;

	text-decoration: none !important;

	transition:
		transform 0.2s ease,
		border-color 0.2s ease,
		background-color 0.2s ease,
		box-shadow 0.2s ease;
}


.charolais-sale-action-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	flex: 0 0 auto;
}


.charolais-sale-action-icon svg {
	display: block;

	width: 27px;
	height: 27px;

	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}


.charolais-sale-action-label {
	min-width: 0;
}


.charolais-sale-action-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	font-size: 26px;
	font-weight: 400;
	line-height: 1;

	color: var(--ds-event-primary);

	transition: transform 0.2s ease;
}




/* =========================================================
   PRIMARY CTA - ENTER SALE
   ========================================================= */

.charolais-sale-actions-primary {
	margin-bottom: 20px;
}


.charolais-sale-action--primary {
	min-height: 82px;

	padding: 18px 24px;

	border: 1px solid var(--ds-event-primary);
	border-radius: 4px;

	background-color: var(--ds-event-primary);

	color: #ffffff !important;
}


.charolais-sale-action--primary
.charolais-sale-action-icon {
	color: #ffffff;
}


.charolais-sale-action--primary
.charolais-sale-action-label {
	font-size: clamp(18px, 1.1vw, 20px);
	font-weight: 600;
}


.charolais-sale-action--primary
.charolais-sale-action-arrow {
	color: #ffffff;
}


.charolais-sale-action--primary:hover {
	box-shadow:
		0 8px 22px rgba(28, 29, 74, 0.12);
}


/* =========================================================
   INFORMATION CARDS
   ========================================================= */

.charolais-sale-actions-info {
	display: grid;

	grid-template-columns:
		repeat(
			auto-fit,
			minmax(240px, 1fr)
		);

	gap: 16px;

	margin-bottom: 28px;
}


.charolais-sale-action--info {
	min-height: 92px;

	padding: 16px 20px;

	border: 1px solid rgba(28, 29, 74, 0.18);
	border-radius: 4px;

	background: rgba(255, 255, 255, 0.42);
}


.charolais-sale-action--info
.charolais-sale-action-icon {
	width: 48px;
	height: 48px;

	border-radius: 50%;

	background: rgba(28, 29, 74, 0.055);

	color: #1c1d4a;
}


.charolais-sale-action--info
.charolais-sale-action-icon svg {
	width: 23px;
	height: 23px;
}


.charolais-sale-action--info
.charolais-sale-action-label {
	font-size: clamp(16px, 1vw, 18px);
	font-weight: 600;
	line-height: 1.25;
}


.charolais-sale-action--info:hover {
	border-color: var(--ds-event-primary);

	background: #ffffff;
}




/* =========================================================
   CATALOGUE + REPORT RESOURCE CARDS
   ========================================================= */

/* =========================================================
   SALE ACTION GROUPS
   CATALOGUES / REPORTS
   ========================================================= */

.charolais-sale-actions-group {
	margin-top: 28px;
	padding-top: 26px;

	border-top:
		1px solid rgba(28, 29, 74, 0.14);
}


/* Small section heading */
.charolais-sale-actions-heading {
	margin: 0 0 16px;
	padding: 0;

	color: var(--ds-event-primary);

	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;

	letter-spacing: 0.08em;
	text-transform: uppercase;
}


/*
 * Dynamic resource grid.
 *
 * 1 card = full width
 * 2 cards = 2 columns
 */
.charolais-sale-actions-grid {
	display: grid;

	grid-template-columns:
		repeat(
			auto-fit,
			minmax(260px, 1fr)
		);

	gap: 16px;
}


/* Resource card */
.charolais-sale-action--resource {
	grid-template-columns: auto minmax(0, 1fr) auto;
	grid-template-rows: auto;

	align-items: center;
	column-gap: 16px;

	min-height: 82px;

	padding: 16px 20px;

	border: 1px solid rgba(28, 29, 74, 0.18);
	border-radius: 4px;

	background: rgba(255, 255, 255, 0.4);
}


/* Icon */
.charolais-sale-action--resource
.charolais-sale-action-icon {
	grid-column: 1;
	grid-row: 1;

	width: 44px;
	height: 44px;

	margin: 0;

	border-radius: 50%;

	background: rgba(28, 29, 74, 0.055);

	color: #1c1d4a;
}


.charolais-sale-action--resource
.charolais-sale-action-icon svg {
	width: 22px;
	height: 22px;
}


/* Label */
.charolais-sale-action--resource
.charolais-sale-action-label {
	grid-column: 2;
	grid-row: 1;

	align-self: center;

	font-size: clamp(16px, 1vw, 18px);
	font-weight: 600;
	line-height: 1.25;
}


/* Arrow */
.charolais-sale-action--resource
.charolais-sale-action-arrow {
	grid-column: 3;
	grid-row: 1;

	align-self: center;
	justify-self: end;
}


/* Hover */
.charolais-sale-action--resource:hover {
	border-color: var(--ds-event-primary);

	background: #ffffff;

	box-shadow:
		0 8px 20px rgba(28, 29, 74, 0.06);
}



/* =========================================================
   SALE PANEL - MOBILE
   ========================================================= */

@media (max-width: 767px) {

	.charolais-sale-panel {
		padding: 28px 20px;
	}

	.charolais-entry-closing-date {
		margin-bottom: 24px;
	}

	.charolais-sale-action--primary {
		min-height: 72px;
		padding: 16px 18px;
	}

	.charolais-sale-action--primary
	.charolais-sale-action-label {
		font-size: 18px;
	}

	.charolais-sale-actions-info,
	.charolais-sale-actions-grid {
		grid-template-columns: 1fr;
	}

	.charolais-sale-actions-group {
		margin-top: 24px;
		padding-top: 22px;
	}

	.charolais-sale-action--resource {
		min-height: 76px;
		padding: 14px 16px;
		column-gap: 14px;
	}

	.charolais-sale-action--resource
	.charolais-sale-action-icon {
		width: 40px;
		height: 40px;
	}

	.charolais-sale-action--resource
	.charolais-sale-action-icon svg {
		width: 20px;
		height: 20px;
	}
}




/* =========================================================
   EVENT STATUS BADGES
   ========================================================= */

.ds-event-statuses {
	display: flex;
	flex-wrap: wrap;
	align-items: center;

	gap: 10px;
	margin-top: 24px;
	margin-bottom: 24px;
}


/* Shared badge */
.ds-event-status {
	display: inline-flex;
	align-items: center;

	padding: 9px 15px;

	border: 1px solid var(--ds-event-primary);
	border-radius: 3px;

	font-size: clamp(13px, 0.9vw, 15px);
	font-weight: 600;
	line-height: 1;

	letter-spacing: 0.04em;
	text-transform: uppercase;

	white-space: nowrap;
}


/* Main lifecycle status */
.ds-event-status--lifecycle {
	background-color: var(--ds-event-primary);
	color: #fff;
}


/* Additional availability statuses */
.ds-event-status--availability {
	background: transparent;
	color: var(--ds-event-primary);
}


/* Smaller version for Event cards / homepage */
.ds-event-statuses--compact {
	gap: 7px;

	margin-bottom: 12px;
}

.ds-event-statuses--compact .ds-event-status {
	padding: 7px 10px;

	font-size: 12px;
}



/* =========================================================
   STANDALONE SHOW REPORT
   ========================================================= */

.charolais-show-report-group {
	margin-top: 20px;
}

.charolais-show-section .charolais-sale-actions-grid {
	grid-template-columns: 1fr;
}




/* =========================================================
   FARM WALK / OPEN DAY INFORMATION
   ========================================================= */

.ds-farm-event-section {
	margin-top: 32px;
}

.ds-farm-event-panel {
	padding: 32px;

	border: 1px solid rgba(28, 29, 74, 0.16);
	border-radius: 4px;

	background: #faf7f5;
}

.ds-farm-event-panel .charolais-event-extra-title {
	margin: 0 0 26px;

	color: #1c1d4a;
}


/* Host Herd */

.ds-farm-host {
	margin-bottom: 26px;
}

.ds-farm-meta-label {
	margin-bottom: 7px;

	color: var(--ds-event-primary);

	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;

	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ds-farm-host-name {
	color: #1c1d4a;

	font-size: clamp(18px, 1.1vw, 20px);
	font-weight: 600;
	line-height: 1.3;
}


/* Registration CTA */

.ds-farm-register-button {
	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 20px;

	width: 100%;

	padding: 18px 22px;

	border: 1px solid var(--ds-event-primary);
	border-radius: 4px;

	background-color: var(--ds-event-primary);

	color: #ffffff !important;

	font-size: clamp(16px, 1vw, 18px);
	font-weight: 600;
	line-height: 1.25;

	text-decoration: none !important;

	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

.ds-farm-register-arrow {
	font-size: 25px;
	font-weight: 400;
	line-height: 1;

	transition: transform 0.2s ease;
}

.ds-farm-register-button:hover {
	box-shadow:
		0 8px 22px rgba(28, 29, 74, 0.1);
}

.ds-farm-register-button:hover
.ds-farm-register-arrow {
	transform: translateX(4px);
}


/* =========================================================
   FARM WALK POST-EVENT REPORT
   ========================================================= */

.ds-farm-report-section {
	margin-top: 42px;
}

.ds-farm-report-section
.charolais-event-extra-title {
	margin: 0 0 20px;
}

.ds-farm-report-content {
	color: #1c1d4a;

	font-size: 16px;
	line-height: 1.65;
}

.ds-farm-report-content > :first-child {
	margin-top: 0;
}

.ds-farm-report-content > :last-child {
	margin-bottom: 0;
}


/* Mobile */

@media (max-width: 767px) {

	.ds-farm-event-section {
		margin-top: 24px;
	}

	.ds-farm-event-panel {
		padding: 24px 20px;
	}

	.ds-farm-register-button {
		padding: 16px 18px;
	}

	.ds-farm-report-section {
		margin-top: 32px;
	}
}






/* =========================================================
   EVENTS CALENDAR HERO
   ========================================================= */

.ds-events-hero {
	position: relative;

	min-height: 420px;

	display: flex;
	align-items: center;

	margin: 0;
	padding: 60px 0;

	background: none;
	border-radius: 0;

	overflow: visible;
	box-sizing: border-box;
}


/* Full-width background image */
.ds-events-hero::before {
	content: "";

	position: absolute;
	z-index: 0;

	top: 0;
	bottom: 0;
	left: 50%;

	width: 100vw;

	transform: translateX(-50%);

	background:
		url("/wp-content/uploads/2026/09/5230-scaled.webp") center center / cover no-repeat;
}


/* Full-width dark overlay */
.ds-events-hero-overlay {
	position: absolute;
	z-index: 1;

	top: 0;
	bottom: 0;
	left: 50%;

	width: 100vw;

	transform: translateX(-50%);

	background:
		linear-gradient(
			90deg,
			rgba(11, 25, 58, 0.92) 0%,
			rgba(11, 25, 58, 0.68) 52%,
			rgba(11, 25, 58, 0.22) 100%
		);
}


/*
 * Wider content container so it matches
 * the hero banners used across the website,
 * rather than the narrower calendar width.
 */
.ds-events-hero-content {
	position: relative;
	z-index: 2;

	width: calc(100% - 136px);
	max-width: 1740px;

	margin: 0 auto;
}


.ds-events-hero-eyebrow {
	margin: 0 0 48px;

	color: #b7a13d;

	font-size: clamp(16px, 1.4vw, 22px);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}


.ds-events-hero h1 {
	margin: 20px 0 0 0;

	color: #fff;

	font-size: clamp(50px, 5.5vw, 80px);
	font-weight: 700;
	line-height: 1.05;
}


/* Gold line matching the other page banners */
.ds-events-hero h1::after {
	content: "";

	display: block;

	width: 150px;
	height: 2px;

	margin-top: 10px;

	background-color: #b7a13d;
}


.ds-events-hero p {

	margin: 38px 0 0;

	color: rgba(255, 255, 255, 0.92);

	font-size: 18px;
	line-height: 1.6;
}


/*
 * TEC normally adds a large space above its content.
 */
.tribe-events .tribe-events-l-container {
	padding-top: 0 !important;
}


/*
 * Space between our banner and the native TEC search bar.
 *
 * Padding is used rather than hero margin so it cannot
 * collapse inside the TEC before-html container.
 */
.tribe-events .tribe-events-before-html {
	padding-bottom: 42px;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

	.ds-events-hero {
		min-height: 320px;
		padding: 44px 0;
	}

	.ds-events-hero-content {
		width: calc(100% - 40px);
	}

	.ds-events-hero-eyebrow {
		margin-bottom: 26px;
		font-size: 13px;
	}

	.ds-events-hero h1 {
		font-size: 40px;
	}

	.ds-events-hero h1::after {
		width: 100px;
		margin-top: 18px;
	}

	.ds-events-hero p {
		margin-top: 26px;
		font-size: 16px;
	}

	.tribe-events .tribe-events-before-html {
		padding-bottom: 28px;
	}
}





/* =========================================================
   TEC BRAND OVERRIDES
   ========================================================= */

.tribe-events {
	--ds-tec-navy: #1c1d4a;
	--ds-tec-gold: #b49a3b;
	--ds-tec-gold-dark: #9e8b3d;
	--ds-tec-border: #d8d1c7;
	--ds-tec-bg-soft: #f7f4f1;
}


/* =========================================================
   SEARCH
   ========================================================= */

.tribe-events .tribe-events-c-search__input-control--keyword {
	position: relative;

	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
}


/* Actual input */
.tribe-events .tribe-events-c-search__input-control--keyword input,
.tribe-events .tribe-events-c-search__input-group input {
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;

	color: var(--ds-tec-navy) !important;
	background: transparent !important;
}


/*
 * No additional border when clicked with a mouse.
 */
.tribe-events
	.tribe-events-c-search__input-control--keyword:focus-within {
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
}



/* Search icon */
.tribe-events .tribe-events-c-search__input-control-icon-svg path,
.tribe-events .tribe-events-c-search__input-control-icon-svg circle,
.tribe-events .tribe-events-c-search__input-control-icon-svg line {
	stroke: var(--ds-tec-gold) !important;
}



/* =========================================================
   FIND EVENTS BUTTON
   ========================================================= */

.tribe-events .tribe-events-c-search__button {
	background: var(--ds-tec-gold) !important;
	border: 1px solid var(--ds-tec-gold) !important;
	border-radius: 3px !important;
	box-shadow: none !important;

	color: #fff !important;

	font-weight: 600 !important;

	transition:
		background-color 0.2s ease,
		border-color 0.2s ease !important;
}

.tribe-events .tribe-events-c-search__button:hover,
.tribe-events .tribe-events-c-search__button:focus {
	background: var(--ds-tec-gold-dark) !important;
	border-color: var(--ds-tec-gold-dark) !important;

	color: #fff !important;

	outline: none !important;
	box-shadow: none !important;
}


/* =========================================================
   LIST / MONTH VIEW SWITCHER
   ========================================================= */

.tribe-events .tribe-events-c-view-selector__list-item-link,
.tribe-events .tribe-events-c-view-selector__button {
	color: var(--ds-tec-navy) !important;

	border: 0 !important;
	box-shadow: none !important;
	text-decoration: none !important;
}

.tribe-events .tribe-events-c-view-selector__list-item-link:hover,
.tribe-events .tribe-events-c-view-selector__button:hover {
	color: var(--ds-tec-gold) !important;
}


/*
 * Remove TEC's native active underline.
 */
.tribe-events .tribe-events-c-view-selector__list-item--active::before,
.tribe-events .tribe-events-c-view-selector__list-item--active::after,
.tribe-events .tribe-events-c-view-selector__list-item--active
	.tribe-events-c-view-selector__list-item-link::before,
.tribe-events .tribe-events-c-view-selector__list-item--active
	.tribe-events-c-view-selector__list-item-link::after {
	content: none !important;
	display: none !important;
}


/*
 * Text itself.
 */
.tribe-events .tribe-events-c-view-selector__list-item-text {
	display: inline-block;

	padding-bottom: 7px;

	border-bottom: 2px solid transparent;

	color: inherit;
}


/*
 * Active List / Month.
 * The underline is exactly the width of the text.
 */
.tribe-events .tribe-events-c-view-selector__list-item--active
	.tribe-events-c-view-selector__list-item-text {
	border-bottom-color: var(--ds-tec-gold);
}


/* Remove default focus ring on mouse click */
.tribe-events .tribe-events-c-view-selector__list-item-link:focus,
.tribe-events .tribe-events-c-view-selector__button:focus {
	outline: none !important;
	box-shadow: none !important;
}


/* Keep a clean accessible focus state for keyboard users */
.tribe-events .tribe-events-c-view-selector__list-item-link:focus-visible,
.tribe-events .tribe-events-c-view-selector__button:focus-visible {
	outline: 2px solid var(--ds-tec-gold) !important;
	outline-offset: 4px;
	border-radius: 2px;
}


/* =========================================================
   TODAY BUTTON
   ========================================================= */

.tribe-events .tribe-events-c-top-bar__today-button {
	background: #fff !important;
	border: 1px solid var(--ds-tec-border) !important;
	border-radius: 3px !important;
	box-shadow: none !important;

	color: var(--ds-tec-navy) !important;
}

.tribe-events .tribe-events-c-top-bar__today-button:hover,
.tribe-events .tribe-events-c-top-bar__today-button:focus {
	background: #fff !important;
	border-color: var(--ds-tec-gold) !important;

	color: var(--ds-tec-gold) !important;

	outline: none !important;
	box-shadow: none !important;
}


/* =========================================================
   TOP BAR NAVIGATION
   ========================================================= */

.tribe-events .tribe-events-c-top-bar__nav-link,
.tribe-events .tribe-events-c-top-bar__datepicker-button {
	color: var(--ds-tec-navy) !important;

	border: 0 !important;
	box-shadow: none !important;
	outline: none !important;
}

.tribe-events .tribe-events-c-top-bar__nav-link svg,
.tribe-events .tribe-events-c-top-bar__datepicker-button svg {
	color: inherit !important;
	stroke: currentColor !important;
}

.tribe-events .tribe-events-c-top-bar__nav-link:hover,
.tribe-events .tribe-events-c-top-bar__datepicker-button:hover {
	color: var(--ds-tec-gold) !important;
}


/* =========================================================
   DATEPICKER
   ========================================================= */

/*
 * Reset TEC / Bootstrap button borders first.
 * This prevents the hover/focus border from extending
 * into neighbouring date cells.
 */
.tribe-events .datepicker table tr td button,
.tribe-events .datepicker table tr th button {
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;

	border-radius: 4px !important;
}


/* Normal date hover */
.tribe-events .datepicker .day:not(.active):hover,
.tribe-events .datepicker .month:not(.active):hover,
.tribe-events .datepicker .year:not(.active):hover {
	background: var(--ds-tec-bg-soft) !important;

	color: var(--ds-tec-navy) !important;

	border: 0 !important;
	box-shadow: none !important;
}


/* Current day, when it is not the selected date */
.tribe-events .datepicker .day.current:not(.active) {
	background: transparent !important;

	color: var(--ds-tec-navy) !important;

	border: 0 !important;

	box-shadow:
		inset 0 0 0 1px var(--ds-tec-gold) !important;
}


/* Selected date */
.tribe-events .datepicker .day.active,
.tribe-events .datepicker .day.active:hover,
.tribe-events .datepicker .day.active:focus,
.tribe-events .datepicker .day.active.current,
.tribe-events .datepicker .month.active,
.tribe-events .datepicker .month.active:hover,
.tribe-events .datepicker .year.active,
.tribe-events .datepicker .year.active:hover {
	background: var(--ds-tec-gold) !important;

	color: #fff !important;

	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	text-shadow: none !important;
}


/* Keyboard focus without changing element dimensions */
.tribe-events .datepicker .day:focus,
.tribe-events .datepicker .month:focus,
.tribe-events .datepicker .year:focus {
	border: 0 !important;
	outline: 0 !important;

	box-shadow:
		inset 0 0 0 1px var(--ds-tec-gold) !important;
}


/* Previous / next month arrows */
.tribe-events .datepicker .prev,
.tribe-events .datepicker .next {
	background: transparent !important;

	color: var(--ds-tec-navy) !important;

	border: 0 !important;
	box-shadow: none !important;
}

.tribe-events .datepicker .prev:hover,
.tribe-events .datepicker .next:hover {
	background: transparent !important;

	color: var(--ds-tec-gold) !important;
}


/* Month / year title */
.tribe-events .datepicker-switch {
	background: transparent !important;

	color: var(--ds-tec-navy) !important;

	border: 0 !important;
	box-shadow: none !important;
}

.tribe-events .datepicker-switch:hover {
	background: transparent !important;

	color: var(--ds-tec-gold) !important;
}

/* Make month / year selector use the full datepicker width */
.tribe-events .datepicker .datepicker-months table,
.tribe-events .datepicker .datepicker-years table,
.tribe-events .datepicker .datepicker-decades table,
.tribe-events .datepicker .datepicker-centuries table {
	width: 100% !important;
	table-layout: fixed;
}


/* The single cell containing month/year options */
.tribe-events .datepicker .datepicker-months table td,
.tribe-events .datepicker .datepicker-years table td,
.tribe-events .datepicker .datepicker-decades table td,
.tribe-events .datepicker .datepicker-centuries table td {
	width: 100% !important;
}


/* =========================================================
   CATEGORY BREADCRUMBS
   Events > Society Sale
   ========================================================= */

.tribe-events .tribe-events-c-breadcrumbs {
	margin-bottom: 24px !important;
}

.tribe-events .tribe-events-c-breadcrumbs__list-item {
	color: var(--ds-tec-navy) !important;

	font-size: 14px !important;
}

.tribe-events .tribe-events-c-breadcrumbs__list-item-link,
.tribe-events .tribe-events-c-breadcrumbs__list-item-link:visited {
	color: var(--ds-tec-navy) !important;

	border-bottom: 1px solid var(--ds-tec-gold) !important;

	text-decoration: none !important;
	box-shadow: none !important;
}

.tribe-events .tribe-events-c-breadcrumbs__list-item-link:hover,
.tribe-events .tribe-events-c-breadcrumbs__list-item-link:focus {
	color: var(--ds-tec-gold) !important;

	border-bottom-color: var(--ds-tec-gold) !important;
}


/* =========================================================
   EVENT TITLES
   ========================================================= */

.tribe-events .tribe-events-calendar-list__event-title a,
.tribe-events .tribe-events-calendar-list__event-title a:visited {
	color: var(--ds-tec-navy) !important;

	text-decoration: none !important;
}

.tribe-events .tribe-events-calendar-list__event-title a:hover,
.tribe-events .tribe-events-calendar-list__event-title a:focus {
	color: var(--ds-tec-gold) !important;
}


/* =========================================================
   LIST PAGINATION
   ========================================================= */

.tribe-events .tribe-events-c-nav__prev a,
.tribe-events .tribe-events-c-nav__next a {
	color: var(--ds-tec-navy) !important;

	text-decoration: none !important;
}

.tribe-events .tribe-events-c-nav__prev a:hover,
.tribe-events .tribe-events-c-nav__next a:hover {
	color: var(--ds-tec-gold) !important;
}


/* =========================================================
   SUBSCRIBE TO CALENDAR
   ========================================================= */

.tribe-events .tribe-events-c-subscribe-dropdown__button {
	background: #fff !important;

	border: 1px solid var(--ds-tec-gold) !important;
	border-radius: 3px !important;

	box-shadow: none !important;

	color: var(--ds-tec-navy) !important;
}


/*
 * The actual text is a nested button.
 * Reset its native / theme border completely.
 */
.tribe-events
	.tribe-events-c-subscribe-dropdown__button
	.tribe-events-c-subscribe-dropdown__button-text {
	margin: 0 !important;
	padding: 0 !important;

	background: transparent !important;

	border: 0 !important;
	border-bottom: 0 !important;

	outline: 0 !important;
	box-shadow: none !important;

	color: inherit !important;

	text-decoration: none !important;
	text-shadow: none !important;
	-webkit-text-decoration: none !important;
}


.tribe-events
	.tribe-events-c-subscribe-dropdown__button
	.tribe-events-c-subscribe-dropdown__button-text:hover,
.tribe-events
	.tribe-events-c-subscribe-dropdown__button
	.tribe-events-c-subscribe-dropdown__button-text:focus {
	background: transparent !important;

	border: 0 !important;

	outline: 0 !important;
	box-shadow: none !important;

	color: inherit !important;

	text-decoration: none !important;
}


.tribe-events .tribe-events-c-subscribe-dropdown__button:hover,
.tribe-events .tribe-events-c-subscribe-dropdown__button:focus-within {
	background: var(--ds-tec-bg-soft) !important;

	border-color: var(--ds-tec-gold-dark) !important;

	color: var(--ds-tec-gold-dark) !important;

	outline: none !important;
	box-shadow: none !important;
}


.tribe-events .tribe-events-c-subscribe-dropdown__button-icon {
	color: inherit !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

	.tribe-events .tribe-events-c-search__button {
		width: 100%;
	}

	.tribe-events .tribe-events-c-subscribe-dropdown__button {
		width: 100%;
		justify-content: center;
	}
}


/* =========================================================
   EVENT DETAILS — ADD TO CALENDAR DROPDOWN
   ========================================================= */


/* Date & Time column/card */
.et_pb_column.ds-event-detail-card-date {
	position: relative !important;
	z-index: 20 !important;
	overflow: visible !important;
}


/* Calendar dropdown container */
.ds-event-detail-card-date
.tribe-events-c-subscribe-dropdown__container {
	position: relative !important;
	z-index: 30 !important;
	overflow: visible !important;
}

.ds-event-detail-card-date
.tribe-events-c-subscribe-dropdown__container
.tribe-events-c-subscribe-dropdown {
	margin: 20px 0 0;
}


/* Actual dropdown */
.ds-event-detail-card-date
.tribe-events-c-subscribe-dropdown__content {
	position: absolute !important;
	z-index: 9999 !important;
}


/* Make sure parent row does not clip it */
.et_pb_row:has(> .et_pb_column.ds-event-detail-card-date) {
	overflow: visible !important;
}





/* =========================================================
   EVENT — SHARE THIS EVENT
   ========================================================= */

.ds-event-share {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
}


/* Share button */
.ds-event-share__button {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 40px;
	height: 40px;

	background: #fff;
	border: 1px solid #d9d9d9;
	border-radius: 6px;

	color: #1c1d4a;

	text-decoration: none;

	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease;
}


/* Icons */
.ds-event-share__button svg {
	display: block;

	width: 22px;
	height: 22px;

	fill: currentColor;
}


/* Slight individual sizing adjustments */
.ds-event-share__facebook svg {
	width: 24px;
	height: 24px;
}

.ds-event-share__x svg {
	width: 20px;
	height: 20px;
}

.ds-event-share__linkedin svg {
	width: 22px;
	height: 22px;
}

.ds-event-share__email svg {
	width: 24px;
	height: 24px;
}


/* Hover */
.ds-event-share__button:hover {
	background: #1c1d4a;
	border-color: #1c1d4a;
	color: #fff;
}


/* Keyboard focus */
.ds-event-share__button:focus-visible {
	outline: 2px solid #1c1d4a;
	outline-offset: 3px;
}








/* =========================================================
   SINGLE EVENT — PREVIOUS / ALL / NEXT NAVIGATION
   ========================================================= */

.ds-event-navigation {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	grid-template-areas: "previous all next";
	align-items: center;
	gap: 40px;

	width: 100%;
}


/* ---------------------------------------------------------
   Grid areas
   --------------------------------------------------------- */

.ds-event-navigation__previous {
	grid-area: previous;
}

.ds-event-navigation__all {
	grid-area: all;
}

.ds-event-navigation__next {
	grid-area: next;
}


/* ---------------------------------------------------------
   Previous / Next links
   --------------------------------------------------------- */

.ds-event-navigation__link {
	display: flex;
	align-items: center;
	gap: 16px;

	color: #1c1d4a;
	text-decoration: none;
}


.ds-event-navigation__link--next {
	justify-content: flex-end;
	text-align: right;
}


/* Arrow */

.ds-event-navigation__arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
}

.ds-event-navigation__arrow svg {
	display: block;

	width: 25px;
	height: 25px;

	fill: currentColor;
}


/* Text */

.ds-event-navigation__content {
	display: flex;
	flex-direction: column;
	gap: 3px;

	min-width: 0;
}


.ds-event-navigation__label {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;

	color: #1c1d4a;
}


.ds-event-navigation__title {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;

	color: #666b7a;
}


/* ---------------------------------------------------------
   Back to All Events
   --------------------------------------------------------- */

.ds-event-navigation__all {
	text-align: center;
}


.ds-event-navigation__all-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 14px;

	color: #1c1d4a;
	font-size: 15px;
	font-weight: 700;

	text-decoration: none;
	white-space: nowrap;
}


.ds-event-navigation__grid-icon {
	display: flex;
	align-items: center;
	justify-content: center;
}


.ds-event-navigation__grid-icon svg {
	display: block;

	width: 24px;
	height: 24px;

	fill: currentColor;
}


/* ---------------------------------------------------------
   Hover
   --------------------------------------------------------- */

.ds-event-navigation__link,
.ds-event-navigation__all-link {
	transition:
		opacity 0.2s ease,
		transform 0.2s ease;
}


.ds-event-navigation__link:hover,
.ds-event-navigation__all-link:hover {
	color: #9e8b3d;
}

.ds-event-navigation__link:hover
.ds-event-navigation__title {
	color: #9e8b3d;
}


.ds-event-navigation__link--previous:hover {
	transform: translateX(-3px);
}


.ds-event-navigation__link--next:hover {
	transform: translateX(3px);
}


/* =========================================================
   TABLET / MOBILE
   ========================================================= */

@media (max-width: 767px) {

	.ds-event-navigation {
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"all all"
			"previous next";

		gap: 30px 20px;
	}


	.ds-event-navigation__all {
		padding-bottom: 20px;

		border-bottom: 1px solid #e1e1e1;
	}


	.ds-event-navigation__label {
		font-size: 16px;
	}


	.ds-event-navigation__title {
		font-size: 13px;
	}


	.ds-event-navigation__arrow svg {
		width: 20px;
		height: 20px;
	}

}





/* =========================================================
   UPCOMING SOCIETY SALES — CARD ACTIONS
   ========================================================= */

.ds-society-sale-card-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;

	gap: 10px;
}


/* Secondary action button */
.ds-society-sale-card-action {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;

	gap: 12px;

	min-height: 40px;

	padding: 9px 14px;

	border: 1px solid rgba(28, 29, 74, 0.18);
	border-radius: 3px;

	background: #ffffff;

	color: #1c1d4a;

	font-size: 14px;
	font-weight: 600;
	line-height: 1.25;

	text-decoration: none !important;

	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease;
}


/* Arrow */
.ds-society-sale-card-action__arrow {
	flex: 0 0 auto;

	color: #9e8b3d;

	font-size: 17px;
	line-height: 1;

	transition:
		color 0.2s ease,
		transform 0.2s ease;
}


/* Hover */
.ds-society-sale-card-action:hover {
	background: #9e8b3d;
	border-color: #9e8b3d;

	color: #ffffff;
}


.ds-society-sale-card-action:hover
.ds-society-sale-card-action__arrow {
	color: #ffffff;

	transform: translateX(3px);
}


/* =========================================================
   ENTER SALE — MORE PROMINENT
   ========================================================= */

.ds-society-sale-card-action--enter-sale {
	background: #1c1d4a;
	border-color: #1c1d4a;

	color: #ffffff;
}


.ds-society-sale-card-action--enter-sale
.ds-society-sale-card-action__arrow {
	color: #ffffff;
}


.ds-society-sale-card-action--enter-sale:hover {
	background: #9e8b3d;
	border-color: #9e8b3d;

	color: #ffffff;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

	.ds-society-sale-card-actions {
		align-items: stretch;
	}

	.ds-society-sale-card-action {
		width: 100%;
	}

}





/* =========================================================
   UPCOMING SOCIETY SALES — DATE + VENUE META
   ========================================================= */

.ds-event-card-meta {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: flex-start !important;

	gap: 10px 22px;

	width: 100%;
}


/* Individual meta item */
.ds-event-card-meta__item {
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: flex-start !important;

	width: auto !important;
	flex: 0 0 auto !important;

	gap: 8px;

	margin: 0 !important;
	padding: 0 !important;

	color: #303039;

	font-family: inherit !important;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;

	text-align: left !important;
	letter-spacing: normal !important;
}


/* Separator between date and venue */
.ds-event-card-meta__item + .ds-event-card-meta__item::before {
	content: "";

	display: block;

	width: 1px;
	height: 18px;

	margin-right: 12px;

	background: rgba(28, 29, 74, 0.18);
}


/* Icons */
.ds-event-card-meta__icon {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;

	width: 18px;
	height: 18px;

	flex: 0 0 18px;

	color: #9e8b3d;
}


.ds-event-card-meta__icon svg {
	display: block;

	width: 18px;
	height: 18px;

	fill: currentColor;
}


/* Text */
.ds-event-card-meta__item > span:last-child {
	display: inline !important;

	width: auto !important;

	margin: 0 !important;
	padding: 0 !important;

	font-family: inherit !important;
	text-align: left !important;
}


/* Mobile */
@media (max-width: 767px) {

	.ds-event-card-meta {
		flex-direction: column !important;
		align-items: flex-start !important;

		gap: 8px;
	}

	.ds-event-card-meta__item + .ds-event-card-meta__item::before {
		display: none;
	}
}




/* =========================================================
   UPCOMING SOCIETY SALES — EMPTY STATE
   ========================================================= */

.ds-society-sales-empty {
	padding: 42px 36px;

	border: 1px solid rgba(28, 29, 74, 0.14);
	border-radius: 4px;

	background: rgba(158, 139, 61, 0.045);

	text-align: center;
}


.ds-society-sales-empty__title {
	margin: 0 0 10px;
	padding: 0;

	color: #1c1d4a;

	font-size: clamp(22px, 2vw, 28px);
	font-weight: 700;
	line-height: 1.2;
}


.ds-society-sales-empty__text {
	max-width: 680px;

	margin: 0 auto;

	color: #303039;

	font-size: 16px;
	line-height: 1.6;
}


/* =========================================================
   UPCOMING SOCIETY SALES — EMPTY DIVI LOOP
   ========================================================= */

/*
 * If Divi returns its "No Results Found" output,
 * hide the entire Loop Group.
 *
 * Our custom empty-state message below will remain visible.
 */
.ds-upcoming-society-sales-loop:has(.not-found-title) {
	display: none !important;
}




/* =========================================================
   Sale Catalogues
   ========================================================= */


/* ---------------------------------------------------------
   Catalogue grids
   --------------------------------------------------------- */

.ds-sale-catalogue-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
}


/* ---------------------------------------------------------
   Previous Sale Catalogues filters
   --------------------------------------------------------- */

.ds-sale-catalogues--previous .ds-sale-catalogue-filters {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	margin-bottom: 48px;
	padding: 22px;
	background: #faf8f6;
	border-radius: 4px;
}

.ds-sale-catalogues--previous .ds-sale-catalogue-filter {
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.ds-sale-catalogues--previous .ds-sale-catalogue-filter label {
	margin: 0;
	color: #1c1d4a;
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
}

.ds-sale-catalogues--previous .ds-sale-catalogue-filter select,
.ds-sale-catalogues--previous .ds-sale-catalogue-filter input {
	width: 100%;
	min-height: 54px;
	margin: 0;
	padding: 0 16px;
	border: 1px solid rgba(28, 29, 74, .18);
	border-radius: 3px;
	outline: none;
	background: #fff;
	color: #303039;
	font-family: inherit;
	font-size: 15px;
	line-height: 1.4;
	transition:
		border-color .2s ease,
		box-shadow .2s ease;
}

.ds-sale-catalogues--previous .ds-sale-catalogue-filter input {
	padding-right: 18px;
	padding-left: 18px;
}

.ds-sale-catalogues--previous .ds-sale-catalogue-filter select:focus,
.ds-sale-catalogues--previous .ds-sale-catalogue-filter input:focus {
	border-color: #9e8b3d;
	box-shadow: 0 0 0 2px rgba(158, 139, 61, .12);
}


/* ---------------------------------------------------------
   Catalogue card
   --------------------------------------------------------- */

.ds-sale-catalogue-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	height: 100%;
	overflow: hidden;
	border: 1px solid rgba(28, 29, 74, .12);
	border-radius: 4px;
	background: #faf7f5;
	transition:
		border-color .2s ease,
		box-shadow .2s ease,
		transform .2s ease;
}

.ds-sale-catalogue-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-width: 0;
	padding: 30px;
}


/* ---------------------------------------------------------
   Catalogue title
   --------------------------------------------------------- */

.ds-sale-catalogue-card__title {
	margin: 0;
	padding: 0;
	color: #1c1d4a;
	font-family: inherit;
	font-size: clamp(20px, 1.6vw, 26px);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -.02em;
}


/* ---------------------------------------------------------
   Reuse Event date + venue component
   --------------------------------------------------------- */

.ds-sale-catalogue-card .ds-event-card-meta {
	margin: 18px 0 28px;
}


/* ---------------------------------------------------------
   Catalogue actions
   --------------------------------------------------------- */

.ds-sale-catalogue-card__actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: auto;
	padding-top: 4px;
}

.ds-sale-catalogue-card__action {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	min-height: 48px;
	padding: 11px 15px;
	border: 1px solid #1c1d4a;
	border-radius: 3px;
	background: #fff;
	color: #1c1d4a;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none !important;
	transition:
		background-color .2s ease,
		border-color .2s ease,
		color .2s ease,
		transform .2s ease;
}


/* ABRI = primary action */

.ds-sale-catalogue-card__action--abri-catalogue {
	background: #1c1d4a;
	border-color: #1c1d4a;
	color: #fff;
}


/* Market PDF = secondary action */

.ds-sale-catalogue-card__action--market-catalogue {
	background: #fff;
	border-color: rgba(28, 29, 74, .24);
	color: #1c1d4a;
}

.ds-sale-catalogue-card__action:hover {
	border-color: #9e8b3d;
	background: #9e8b3d;
	color: #fff;
}


/* ---------------------------------------------------------
   View Sale Details
   --------------------------------------------------------- */

.ds-sale-catalogue-card__details {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 8px;
	width: 100%;
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid rgba(28, 29, 74, .1);
	color: #1c1d4a;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none !important;
	transition: color .2s ease;
}

.ds-sale-catalogue-card__details span {
	transition: transform .2s ease;
}

.ds-sale-catalogue-card__details:hover {
	color: #9e8b3d;
}

.ds-sale-catalogue-card__details:hover span {
	transform: translateX(3px);
}


/* ---------------------------------------------------------
   Empty / no-results states
   --------------------------------------------------------- */

.ds-sale-catalogue-empty,
.ds-sale-catalogue-no-results {
	padding: 38px 30px;
	border: 1px solid rgba(28, 29, 74, .1);
	border-radius: 4px;
	background: #faf8f6;
	color: #303039;
	text-align: center;
}

.ds-sale-catalogue-no-results h3 {
	margin: 0 0 8px;
	padding: 0;
	color: #1c1d4a;
}

.ds-sale-catalogue-no-results p {
	margin: 0;
	padding: 0;
}


/* Ensure filtered cards / messages really disappear */

.ds-sale-catalogues [hidden] {
	display: none !important;
}


/* =========================================================
   Tablet
   ========================================================= */

@media (max-width: 980px) {

	.ds-sale-catalogue-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
	}

	.ds-sale-catalogues--previous .ds-sale-catalogue-filters {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}

	.ds-sale-catalogues--previous .ds-sale-catalogue-filter:last-child {
		grid-column: 1 / -1;
	}

	.ds-sale-catalogue-card__content {
		padding: 26px;
	}

}


/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 767px) {

	.ds-sale-catalogue-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.ds-sale-catalogues--previous .ds-sale-catalogue-filters {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-bottom: 32px;
		padding: 18px;
	}

	.ds-sale-catalogues--previous .ds-sale-catalogue-filter:last-child {
		grid-column: auto;
	}

	.ds-sale-catalogue-card__content {
		padding: 24px 20px;
	}


	.ds-sale-catalogue-card .ds-event-card-meta {
		margin: 16px 0 24px;
	}

	.ds-sale-catalogue-card__action {
		min-height: 46px;
	}

}




/* =========================================================
   Compact Event Date
   ========================================================= */

.ds-event-compact-date {
	display: inline-grid;
	grid-template-columns: auto 1px auto;
	grid-template-rows: auto auto;
	align-items: center;
	column-gap: 10px;

	width: fit-content;
	min-width: 0;
	padding: 13px 16px;

	border: 1px solid #d8d8dc;
	border-radius: 4px;
	background: #fff;

	color: #1c1d4a;
	text-align: left;

	align-self: flex-start;
}


/* Divider */

.ds-event-compact-date::before {
	content: "";
	grid-column: 2;
	grid-row: 1 / 3;

	width: 1px;
	height: 35px;

	background: #cacaca;
}


/* Large day */

.ds-event-compact-date__day {
	grid-column: 1;
	grid-row: 1 / 3;

	display: block;
	margin: 0;

	font-size: clamp(26px, 2.2vw, 32px);
	font-weight: 500;
	line-height: 1;
	letter-spacing: -.03em;
}


/* Month */

.ds-event-compact-date__month {
	grid-column: 3;
	grid-row: 1;

	display: block;
	align-self: end;
	margin: 0 0 3px;

	color: #1c1d4a;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: .08em;
	text-transform: uppercase;
}


/* Year */

.ds-event-compact-date__year {
	grid-column: 3;
	grid-row: 2;

	display: block;
	align-self: start;
	margin: 3px 0 0;

	color: #707079;
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: .05em;
}





/*
 * ==================================================
 * EVENT CARD SUMMARY — REPORT LABEL AND EXCERPT
 * ==================================================
 */

.ds-event-card-summary,
.ds-event-card-summary__text {
    display: block;
}

.ds-event-card-summary__label {
    display: block;
    margin-bottom: 5px;
    color: #9e8b3d;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
