/* ============================================================
   Seminar CTA  —  blog articles
   Loaded on single 'blog' posts (see dt_enqueue_feature_styles).
   Brand palette only: navy #1e2e55, red #c53525, black,
   white / off-white. Neutrals from the theme grey scale.
   ============================================================ */

.dt-cta-row {
	margin-top: 3.5rem;
}

.dt-cta {
	margin: 0 0 1rem;
	padding: clamp(1.5rem, 1rem + 3.2vw, 3rem);
	background: #1e2e55;
	color: #fbfaf6;
}

.dt-cta a {
	text-decoration: none;
	background-image: none;
}

/* --- Intro ------------------------------------------------- */
.dt-cta__intro {
	max-width: 42rem;
}

.dt-cta__eyebrow {
	margin: 0 0 .55rem;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .72);
}

.dt-cta__title {
	margin: 0 0 .5rem;
	color: #fbfaf6;
	line-height: 1.15;
}

.dt-cta__text {
	margin: 0;
	color: rgba(255, 255, 255, .82);
	font-size: 1.02rem;
	line-height: 1.55;
}

/* --- Card grid --------------------------------------------- */
.dt-cta__list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: .85rem;
	margin: 1.75rem 0 0;
	padding: 0;
	list-style: none;
}

.dt-cta__item {
	margin: 0;
	display: flex;
}

.dt-cta__card {
	position: relative;
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 1.05rem 1.1rem 1.15rem;
	background: #fbfaf6;
	color: #1e2e55;
	border-top: 3px solid transparent;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.dt-cta__card:hover,
.dt-cta__card:focus {
	transform: translateY(-4px);
	box-shadow: 0 14px 26px rgba(10, 10, 10, .28);
	border-top-color: #c53525;
	color: #1e2e55;
}

/* The soonest date is pre-accented in red. */
.dt-cta__card.is-next {
	border-top-color: #c53525;
}

.dt-cta__card-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: .5rem;
	min-height: 1rem;
	margin-bottom: .5rem;
}

.dt-cta__type {
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: .07em;
	line-height: 1.35;
	text-transform: uppercase;
	color: #8a8a8a;
}

.dt-cta__flag {
	flex: none;
	padding: .2rem .42rem;
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	white-space: wrap;
	width: min-content;
	text-align: center;
	color: #fbfaf6;
	background: #1e2e55;
}

.dt-cta__date {
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.25;
	color: #1e2e55;
}

.dt-cta__place {
	margin-top: .16rem;
	font-size: .9rem;
	color: #8a8a8a;
}

.dt-cta__seats {
	margin-block: .5rem;
	font-size: .8rem;
	font-weight: 700;
	color: #c53525;
}

.dt-cta__go {
	margin-top: auto;
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
	color: #1e2e55;
}

.dt-cta__go::after {
	content: "\00a0\2192";
	display: inline-block;
	transition: transform .18s ease;
}

.dt-cta__card:hover .dt-cta__go::after,
.dt-cta__card:focus .dt-cta__go::after {
	transform: translateX(.22rem);
}

/* --- Footer link ------------------------------------------- */
.dt-cta__foot {
	margin-top: 1.4rem;
}

.dt-cta__all {
	display: inline-block;
	padding: .72rem 1.45rem;
	border: 1px solid rgba(255, 255, 255, .55);
	font-size: .92rem;
	font-weight: 700;
	color: #fbfaf6;
	transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}

.dt-cta__all:hover,
.dt-cta__all:focus {
	background: #fbfaf6;
	border-color: #fbfaf6;
	color: #1e2e55;
}

/* No upcoming dates: the footer link becomes the primary action. */
.dt-cta__intro + .dt-cta__foot .dt-cta__all {
	background: #c53525;
	border-color: #c53525;
}

.dt-cta__intro + .dt-cta__foot .dt-cta__all:hover,
.dt-cta__intro + .dt-cta__foot .dt-cta__all:focus {
	background: #fbfaf6;
	border-color: #fbfaf6;
	color: #1e2e55;
}

/* --- Small screens ----------------------------------------- */
@media screen and (max-width: 39.9375em) {
	.dt-cta__all {
		display: block;
		text-align: center;
	}
}

/* --- Reduced motion ---------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	.dt-cta__card,
	.dt-cta__go::after,
	.dt-cta__all {
		transition: none;
	}

	.dt-cta__card:hover,
	.dt-cta__card:focus {
		transform: none;
	}
}
