/* Cards — editorial image/title/text cards (homepage "signature experiences" band).
   Shared base primitive: other areas may reuse these classes.
   Measured: 1→2→6-track grid (span 3), 15px→20px/gutter content padding, image zoom
   scale(--scale-size), dark-band (burgundy / soft-black section) color overrides. */

.cards a {
	color: var(--color-burgundy-2);
	transition-property: all;
	transition-duration: var(--transition-time);
	transition-timing-function: var(--transition-easing);
}
.cards a:hover { color: var(--color-burgundy-2); }

.cards__grid { grid-template-columns: repeat(1, 1fr); }
@media screen and (min-width: 576px) {
	.cards__grid { grid-template-columns: repeat(2, 1fr); }
}
@media screen and (min-width: 1024px) {
	.cards__grid { grid-template-columns: repeat(6, 1fr); }
	.cards__grid .cards__slide { grid-column: span 3; }
	.cards__grid.grid--cols-3 .cards__slide { grid-column: span 2; }
}

.cards__card {
	background-color: transparent;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
}

.cards__image {
	aspect-ratio: 25 / 16; /* measured 625x400 card image on the reference */
	display: block;
	margin-bottom: 0;
	overflow: hidden;
	position: relative;
}
.cards__image,
.cards__image img {
	transition-property: all;
	transition-duration: var(--transition-time);
	transition-timing-function: var(--transition-easing);
}
.cards__image img { height: 100%; object-fit: cover; width: 100%; }

.cards__card-link { display: block; position: relative; }
.cards__card-link:hover img { transform: scale(var(--scale-size)); }

.cards__content {
	--typography-spacing: 1em;
	align-items: center;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	padding: 15px;
	text-align: center;
}
@media screen and (min-width: 768px) {
	.cards__content { padding: 20px var(--grid-col-gutter) var(--grid-col-gutter); }
}

.cards__title { font-size: 19px; }
@media (min-width: 400px)  { .cards__title { font-size: calc(0.7vw + 16.2px); } }
@media (min-width: 1400px) { .cards__title { font-size: 26px; } }
@media screen and (min-width: 1024px) {
	.cards:not(.cards--three-columns) .cards__title { font-size: calc(1.4vw + 20.4px); }
}
@media screen and (min-width: 1400px) {
	.cards:not(.cards--three-columns) .cards__title { font-size: 40px; }
}

.cards__cta-wrapper { margin-top: auto; width: 100%; }
.cards__cta-wrapper a:not([class*="btn--"]) {
	background-color: var(--color-soft-black);
	color: var(--color-soft-white) !important;
	margin-top: 5px;
	text-transform: none;
}
.cards__cta-wrapper a:not([class*="btn--"]):hover {
	background-color: transparent !important;
	border: 1px solid #17191be6;
	color: var(--color-soft-black) !important;
}

/* Dark-band context: links go brass, CTA inverts to soft-white. */
.section--has-background-burgundy-2 .cards a,
.section--has-background-soft-black .cards a { color: var(--color-brass-1); }

.section--has-background-burgundy-2 .cards__cta-wrapper a:not([class*="btn--"]),
.section--has-background-soft-black .cards__cta-wrapper a:not([class*="btn--"]) {
	background-color: var(--color-soft-white);
	color: var(--color-soft-black) !important;
}
.section--has-background-burgundy-2 .cards__cta-wrapper a:not([class*="btn--"]):hover,
.section--has-background-soft-black .cards__cta-wrapper a:not([class*="btn--"]):hover {
	background-color: transparent !important;
	border: 1px solid #fefefce6;
	color: var(--color-soft-white) !important;
}
