/* Product Cards Wide — horizontal trip cards on listing pages.
   Values measured from the reference compiled CSS; rules written fresh.
   Anatomy: image (left @768+) · status tag · price-from line · serif title ·
   route linked-list · dates/duration · View Trip CTA. */

.product-cards-wide__card {
	background-color: var(--color-soft-white);
	border-radius: 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}
.product-cards-wide__card:not(:last-child) {
	margin-bottom: var(--typography-spacing);
}
@media screen and (min-width: 768px) {
	.product-cards-wide__card { flex-direction: row; }
}
.product-cards-wide__card:hover .product-cards-wide__image::before { opacity: 0.85; }
.product-cards-wide__card:hover img { transform: scale(var(--scale-size)); }

/* Media */
.product-cards-wide__image {
	display: block;
	margin-bottom: 0;
	overflow: hidden;
	position: relative;
}
@media screen and (min-width: 768px) {
	.product-cards-wide__image { flex: 0 0 220px; }
}
@media screen and (min-width: 1024px) {
	.product-cards-wide__image { flex: 0 0 330px; }
}
.product-cards-wide__image img {
	height: 100%;
	object-fit: cover;
	object-position: center center;
	position: relative;
	transition-duration: var(--transition-time);
	transition-property: all;
	transition-timing-function: var(--transition-easing);
	width: 100%;
}
.product-cards-wide__image-wrap {
	display: block;
	height: 100%;
	min-height: 210px;
	position: relative;
}

.product-cards-wide__tag {
	background-color: var(--color-soft-white);
	border-radius: 0;
	color: var(--color-soft-black);
	display: inline-block;
	left: 10px;
	padding: 6px 8px;
	position: absolute;
	top: 10px;
}

/* Content */
.product-cards-wide__content {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	padding: var(--grid-col-gutter);
}
@media screen and (min-width: 768px) {
	.product-cards-wide__content {
		flex-direction: row;
		gap: var(--grid-col-gutter);
	}
}

.product-cards-wide__text {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}
.product-cards-wide__text > * { margin-bottom: 20px; }
.product-cards-wide__text > :last-child { margin-bottom: 0; }

.product-cards-wide__title {
	line-height: 1;
	margin-bottom: 16px;
}
@media screen and (min-width: 768px) {
	.product-cards-wide__title { margin-bottom: 20px; }
}
.product-cards-wide__title a {
	color: var(--color-soft-black);
	text-decoration: none;
}

.product-cards-wide__category {
	color: var(--color-silver);
	letter-spacing: 1px;
	margin-bottom: 10px;
	text-transform: uppercase;
}

/* Route linked list: "N Destinations" then Stop → Stop → Stop */
.product-cards-wide__linked-list { margin-bottom: 12px; }
@media screen and (min-width: 768px) {
	.product-cards-wide__linked-list { margin-bottom: 20px; }
}
.product-cards-wide__linked-list p {
	letter-spacing: 1px;
	line-height: 1;
	margin-bottom: 12px;
	text-transform: uppercase;
}
.product-cards-wide__linked-list-items {
	display: inline;
	list-style: none;
	padding-left: 0;
}
.product-cards-wide__linked-list-item {
	color: var(--color-soft-black);
	display: inline;
	position: relative;
	text-transform: capitalize;
}
.product-cards-wide__linked-list-item:not(:last-child)::after { content: "\2192"; }
.product-cards-wide__linked-list-item a {
	color: var(--color-soft-black);
	text-decoration: none;
}

/* Dates + duration */
.product-cards-wide__details {
	letter-spacing: 1px;
	margin-bottom: 12px;
	text-transform: uppercase;
}
@media screen and (min-width: 768px) {
	.product-cards-wide__details { margin-bottom: 0; }
}
.product-cards-wide__details-dates + .product-cards-wide__details-days::before {
	content: "\00b7";
	margin: 0 2px;
}

/* Footer / CTA */
@media screen and (min-width: 768px) {
	.product-cards-wide__footer { margin-top: 0; }
}
.product-cards-wide__btn { width: 100%; }
@media screen and (min-width: 768px) {
	.product-cards-wide__btn { width: auto; }
}

.product-cards-wide__empty { text-align: center; }

/* ------------------------------------------------------------------
   Expeditions archive scaffolding — scoped to .trips-archive so it can
   never collide with other agents' components. Provides centered intro
   copy and a hero fallback matching the measured hero component values
   (duplicate-safe if hero.css also loads). */

.trips-archive .section__title { text-align: center; }
.trips-archive .section__description {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--wrap-width-large);
	text-align: center;
}

.trips-archive .hero {
	margin-top: 0;
	padding: 0 var(--grid-col-gutter) var(--grid-col-gutter);
}
@media screen and (min-width: 768px) {
	.trips-archive .hero { padding-bottom: 0; }
}
.trips-archive .hero__container {
	background-color: var(--color-soft-black);
	display: flex;
	flex-direction: column;
	height: clamp(400px, 178.4615384615px + 38.46153846vw, 640px);
	position: relative;
}
.trips-archive .hero__container::after {
	background: rgba(23, 25, 26, var(--hero-overlay-opacity, 0.25));
	bottom: 0;
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	right: 0;
	z-index: 1;
}
.trips-archive .hero__image {
	height: 100%;
	left: 0;
	object-fit: cover;
	position: absolute;
	top: 0;
	width: 100%;
}
.trips-archive .hero__content {
	align-items: center;
	color: var(--color-soft-white);
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-bottom: auto;
	margin-top: auto;
	position: relative;
	text-align: center;
	z-index: 2;
}
@media screen and (min-width: 1024px) {
	.trips-archive .hero__content { max-width: 1280px; }
}
.trips-archive .hero__title { margin-bottom: 0; }
.trips-archive .hero__sub-title {
	font-style: normal;
	font-weight: var(--font-weight-default);
	margin-bottom: 0;
	margin-top: 5px;
}

.trips-archive #faqs > .accordion__item > .accordion__handle .accordion__handle-btn-text.body-text-large {
	line-height: normal;
}
