/**
 * Day-tour cards. Staging unit: sync this file alone.
 * Do not move these rules back into components.css.
 */

:root {
	--hbn-tour-card-title-size: 24px; /* kit H4 desktop */
	--hbn-tour-card-title-size-mobile: 20px; /* kit H4 mobile */
	--hbn-tour-card-title-weight: 600; /* kit H4 */
	--hbn-tour-card-title-lh: 1.3; /* kit H4 */
}

@media (max-width: 767px) {
	:root {
		--hbn-tour-card-title-size: var(--hbn-tour-card-title-size-mobile);
	}
}

/* -------------------------------------------------------------------------
 * Tour card (shortcode). Sizes from Design/Home.pdf and Home mobile.pdf.
 * ---------------------------------------------------------------------- */

.hbn-card--tour {
	background-color: var(--hbn-color-white);
	border: var(--hbn-border-card-tour);
	border-radius: var(--hbn-radius-card);
	box-shadow: var(--hbn-shadow-card);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	height: 100%;
	min-width: 0;
	overflow: visible;
	position: relative;
	width: 100%;
}

.hbn-card--tour.hbn-card--clickable {
	cursor: pointer;
}

.hbn-card--tour .hbn-card__media {
	aspect-ratio: 2 / 1;
	border-radius: var(--hbn-radius-card) var(--hbn-radius-card) 0 0;
	flex-shrink: 0;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.hbn-card--tour .hbn-card__img,
.hbn-card--tour .hbn-card__media img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

/* Title link stretches over the card; actions stay above so Book now keeps its own URL */
.hbn-card--tour .hbn-card__link::after {
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}

.hbn-card--tour .hbn-card__badge {
	background-color: var(--hbn-color-teal-on-light);
	border-radius: 0 var(--hbn-radius-btn) var(--hbn-radius-btn) 0;
	color: var(--hbn-color-navy);
	font-family: var(--hbn-font-body);
	font-size: 15px;
	font-style: normal;
	font-weight: 600;
	left: 0;
	line-height: 1.5;
	padding: 8px 16px;
	position: absolute;
	top: 16px;
	z-index: 1;
}

.hbn-card--tour .hbn-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 12px; /* оценка: location-to-title 10.7px, title-to-quote 20px */
	min-width: 0;
	padding: var(--hbn-tour-card-pad) var(--hbn-tour-card-pad) var(--hbn-tour-card-pad-bottom);
}

.hbn-card--tour .hbn-card__meta {
	align-items: center;
	color: var(--hbn-color-navy);
	display: flex;
	font-family: var(--hbn-font-body);
	font-size: var(--hbn-tour-card-meta-size);
	font-weight: 500;
	gap: 8px; /* оценка: pin 27px then label at x+29 */
	line-height: 1.5;
	margin: 0;
}

.hbn-card--tour .hbn-card__meta .hbn-icon {
	flex: none;
}

.hbn-card--tour .hbn-card__title {
	color: var(--hbn-color-navy);
	font-family: var(--hbn-font-body);
	font-size: var(--hbn-tour-card-title-size);
	font-weight: var(--hbn-tour-card-title-weight);
	line-height: var(--hbn-tour-card-title-lh);
	margin: 0;
}

.hbn-card--tour .hbn-card__title a {
	color: inherit;
	text-decoration: none;
}

.hbn-card--tour .hbn-card__quote {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	color: var(--hbn-color-text);
	display: -webkit-box;
	font-family: var(--hbn-font-body);
	font-size: var(--hbn-tour-card-excerpt-size);
	font-weight: 400;
	line-height: 1.5;
	margin: 0;
	overflow: hidden;
}

.hbn-card--tour .hbn-card__footer {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 16px;
	justify-content: space-between;
	margin-top: auto;
	width: 100%;
}

.hbn-card--tour .hbn-card__price {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
}

.hbn-card--tour .hbn-card__price-label {
	color: var(--hbn-color-text);
	font-family: var(--hbn-font-body);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.5;
	text-transform: lowercase;
}

.hbn-card--tour .hbn-card__price-value {
	color: var(--hbn-color-navy);
	font-family: var(--hbn-font-body);
	font-size: var(--hbn-tour-card-price-size);
	font-style: normal;
	font-weight: 500;
	line-height: 1.5;
}

.hbn-card--tour .hbn-card__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 18px; /* оценка: Read more 487, Book now 581 */
	margin-left: auto;
	position: relative;
	z-index: 2;
}

/* Beat Elementor kit `.elementor-kit-* a` (navy) on shortcode Book now. */
.hbn-card--tour a.hbn-btn--primary,
.hbn-card--tour a.hbn-btn--primary:hover,
.hbn-card--tour a.hbn-btn--primary:focus {
	color: var(--hbn-color-white);
	font-family: var(--hbn-font-body);
	font-size: 15px;
	font-style: normal;
	font-weight: 600;
	line-height: 1.5;
	padding: 8px 16px;
}
