/*
 * TIS Vehicle Cards (Our Fleet page). Two-up grid of white cards: photo with class tag, then name,
 * description, capacity chips, feature ticks and a book button.
 */

.tis-vehicles { background: var(--tis-bg); }

.tis-vehicles__inner { padding-right: calc(75 * var(--tis-u)); padding-left: calc(75 * var(--tis-u)); }

.tis-vehicles__head { text-align: center; }
.tis-vehicles__eyebrow { gap: calc(24 * var(--tis-u)); margin: 0 auto; }
.tis-vehicles__eyebrow .tis-eyebrow__line { width: calc(72 * var(--tis-u)); }

.tis-vehicles__title {
	margin: calc(18 * var(--tis-u)) auto 0;
	font-family: var(--tis-font-display);
	font-size: max(28px, calc(56 * var(--tis-u)));
	font-weight: 900;
	line-height: 1.06;
	color: var(--tis-ink);
}

.tis-vehicles__text {
	max-width: calc(830 * var(--tis-u));
	margin: calc(22 * var(--tis-u)) auto 0;
	font-size: max(15px, calc(21 * var(--tis-u)));
	line-height: 1.5;
	color: #555d73;
}

.tis-vehicles__text p { margin: 0 0 0.5em; }
.tis-vehicles__text p:last-child { margin-bottom: 0; }

.tis-vehicles__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: calc(36 * var(--tis-u));
	margin-top: var(--tis-gap);
}

.tis-vehicles__grid--flush { margin-top: 0; }

.tis-vehicles__card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--tis-line);
	border-radius: calc(22 * var(--tis-u));
	background: var(--tis-white);
	box-shadow: var(--tis-shadow-card);
	transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.tis-vehicles__card.is-visible:hover,
.tis-vehicles__card:not([data-reveal]):hover {
	transform: translateY(-6px);
	border-color: #c4d5f2;
	box-shadow: 0 28px 56px rgba(31, 66, 108, 0.14);
}

.tis-vehicles__media {
	position: relative;
	height: calc(380 * var(--tis-u));
	overflow: hidden;
	background: #eef3fb;
}

.tis-vehicles__media .tis-vehicles__img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.tis-vehicles__card:hover .tis-vehicles__img { transform: scale(1.04); }

.tis-vehicles__tag {
	position: absolute;
	top: calc(24 * var(--tis-u));
	left: calc(24 * var(--tis-u));
	display: flex;
	align-items: center;
	padding: 0 calc(20 * var(--tis-u));
	height: calc(40 * var(--tis-u));
	border-radius: 999px;
	background: var(--tis-primary);
	color: #fff;
	font-size: max(12px, calc(14 * var(--tis-u)));
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.tis-vehicles__body { display: flex; flex: 1; flex-direction: column; padding: calc(36 * var(--tis-u)) calc(40 * var(--tis-u)) calc(40 * var(--tis-u)); }

.tis-vehicles__name {
	margin: 0;
	font-family: var(--tis-font-display);
	font-size: max(20px, calc(32 * var(--tis-u)));
	font-weight: 900;
	line-height: 1.15;
	color: var(--tis-ink);
}

.tis-vehicles__desc { margin: calc(14 * var(--tis-u)) 0 0; font-size: max(14px, calc(18 * var(--tis-u))); line-height: 1.55; color: var(--tis-muted-2); }

.tis-vehicles__chips { display: flex; flex-wrap: wrap; gap: calc(12 * var(--tis-u)); margin-top: calc(24 * var(--tis-u)); }

.tis-vehicles__chip {
	display: flex;
	align-items: center;
	gap: calc(10 * var(--tis-u));
	height: calc(44 * var(--tis-u));
	padding: 0 calc(20 * var(--tis-u));
	border-radius: 999px;
	background: var(--tis-soft);
	color: var(--tis-navy);
	font-size: max(13px, calc(16 * var(--tis-u)));
	font-weight: 600;
}

.tis-vehicles__chip-icon { display: flex; color: var(--tis-primary); }
.tis-vehicles__chip-icon svg { width: max(15px, calc(20 * var(--tis-u))); height: max(15px, calc(20 * var(--tis-u))); }

.tis-vehicles__features { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: calc(12 * var(--tis-u)) calc(24 * var(--tis-u)); margin: calc(26 * var(--tis-u)) 0 0; padding: 0; list-style: none; }
.tis-vehicles__feature { display: flex; align-items: flex-start; gap: calc(10 * var(--tis-u)); font-size: max(13px, calc(16 * var(--tis-u))); font-weight: 500; line-height: 1.4; color: var(--tis-navy); }
.tis-vehicles__tick { display: flex; flex: 0 0 auto; margin-top: 0.1em; color: var(--tis-primary); }
.tis-vehicles__tick svg { width: max(15px, calc(20 * var(--tis-u))); height: max(15px, calc(20 * var(--tis-u))); }

.tis-vehicles__foot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: calc(20 * var(--tis-u)); margin-top: auto; padding-top: calc(32 * var(--tis-u)); }
.tis-vehicles__price { font-size: max(14px, calc(18 * var(--tis-u))); font-weight: 700; color: var(--tis-ink); }
.tis-vehicles__btn { min-height: calc(58 * var(--tis-u)); padding: 0 calc(30 * var(--tis-u)); border-radius: calc(12 * var(--tis-u)); font-size: max(14px, calc(18 * var(--tis-u))); }

/* ---------------------------------------------------------------------
 * Tablet / Mobile
 * ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	.tis-vehicles__inner { padding-right: var(--tis-gutter); padding-left: var(--tis-gutter); }
	.tis-vehicles__eyebrow { gap: 14px; }
	.tis-vehicles__eyebrow .tis-eyebrow__line { width: 40px; }
	.tis-vehicles__title { margin-top: 14px; font-size: 40px; }
	.tis-vehicles__text { max-width: 640px; margin-top: 16px; font-size: 18px; }
	.tis-vehicles__grid { gap: 24px; margin-top: var(--tis-gap); }
	.tis-vehicles__card { border-radius: 18px; }
	.tis-vehicles__media { height: 260px; }
	.tis-vehicles__tag { top: 16px; left: 16px; height: 34px; padding: 0 16px; font-size: 12px; }
	.tis-vehicles__body { padding: 26px 24px 28px; }
	.tis-vehicles__name { font-size: 24px; }
	.tis-vehicles__desc { margin-top: 10px; font-size: 16px; }
	.tis-vehicles__chips { gap: 10px; margin-top: 18px; }
	.tis-vehicles__chip { height: 38px; padding: 0 16px; font-size: 14px; }
	.tis-vehicles__features { grid-template-columns: 1fr; gap: 10px; margin-top: 20px; }
	.tis-vehicles__feature { font-size: 15px; }
	.tis-vehicles__foot { padding-top: 24px; }
	.tis-vehicles__btn { min-height: 52px; font-size: 16px; }
}

@media (max-width: 767px) {
	.tis-vehicles__title { font-size: 28px; }
	.tis-vehicles__text { font-size: 16px; }
	.tis-vehicles__grid { grid-template-columns: 1fr; }
	.tis-vehicles__media { height: 220px; }
	.tis-vehicles__btn { width: 100%; justify-content: center; }
}

.tis-vehicles__card,
.tis-split,
.tis-split__inner { scroll-margin-top: 120px; }
