.ta-trip-grid,
.ta-top-list-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin: 24px 0;
}

.ta-columns-1 {
	grid-template-columns: 1fr;
}

.ta-columns-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ta-columns-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ta-trip-card,
.ta-top-list-card {
	border: 1px solid #e4e7ec;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.ta-trip-card img,
.ta-top-list-card img,
.ta-trip-hero {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.ta-trip-card-body,
.ta-top-list-card-body {
	padding: 18px;
}

.ta-trip-card h3,
.ta-top-list-card h3,
.ta-trip-detail h2 {
	margin: 0 0 10px;
	line-height: 1.25;
}

.ta-trip-card h3 a,
.ta-top-list-card h3 a {
	color: inherit;
	text-decoration: none;
}

.ta-trip-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 10px 0;
}

.ta-trip-meta span {
	border: 1px solid #d0d5dd;
	border-radius: 999px;
	padding: 4px 10px;
	font-size: 13px;
	color: #344054;
}

.ta-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 9px 16px;
	border: 0;
	border-radius: 6px;
	background: #0f766e;
	color: #fff;
	text-decoration: none;
	cursor: pointer;
	font-weight: 600;
}

.ta-button:hover {
	background: #115e59;
	color: #fff;
}

.ta-button-light {
	background: #ecfdf5;
	color: #065f46;
}

.ta-button-light:hover {
	background: #d1fae5;
	color: #064e3b;
}

.ta-back-link {
	display: inline-flex;
	margin-bottom: 14px;
	color: #0f766e;
	font-weight: 600;
	text-decoration: none;
}

.ta-back-link:hover {
	color: #115e59;
	text-decoration: underline;
}

.ta-trip-search {
	display: flex;
	gap: 10px;
	margin: 18px 0;
}

.ta-trip-search input {
	flex: 1;
	min-height: 40px;
	padding: 8px 12px;
	border: 1px solid #d0d5dd;
	border-radius: 6px;
}

.ta-trip-detail {
	max-width: 980px;
	margin: 0 auto;
}

.ta-trip-section {
	margin: 26px 0;
}

.ta-trip-section ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 18px;
	margin-left: 18px;
}

.ta-itinerary-item {
	border-left: 3px solid #0f766e;
	padding: 10px 0 10px 14px;
	margin: 12px 0;
}

.ta-trip-section ul.ta-itinerary-meta {
	display: block;
	margin: 8px 0;
	color: #475467;
	font-size: 13px;
}

.ta-itinerary-meta li {
	padding: 2px 0;
}

.ta-itinerary-meta li strong {
	color: #1d2939;
}

.ta-itinerary-notes {
	font-style: italic;
	color: #667085;
}

.ta-trip-short-description {
	color: #475467;
	font-size: 15px;
	margin: 4px 0 14px;
}

.ta-trip-section .ta-info-list,
.ta-trip-section .ta-pricing-list,
.ta-trip-section .ta-logistics-list {
	display: block;
	margin-left: 0;
}

.ta-trip-section .ta-info-list li,
.ta-trip-section .ta-pricing-list li {
	display: flex;
	justify-content: space-between;
	padding: 6px 0;
	border-bottom: 1px solid #eef1f4;
}

.ta-trip-section .ta-info-list li span,
.ta-trip-section .ta-pricing-list li span {
	color: #667085;
}

.ta-trip-section .ta-logistics-list li {
	padding: 4px 0;
}

.ta-frontend-forms {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
	margin-top: 32px;
}

.ta-public-form {
	border: 1px solid #e4e7ec;
	border-radius: 8px;
	padding: 20px;
	background: #fff;
}

.ta-public-form h3 {
	margin-top: 0;
}

.ta-field {
	margin-bottom: 14px;
}

.ta-field label {
	display: block;
	font-weight: 600;
	margin-bottom: 5px;
}

.ta-field input,
.ta-field textarea {
	width: 100%;
	min-height: 40px;
	border: 1px solid #d0d5dd;
	border-radius: 6px;
	padding: 8px 10px;
}

.ta-booking-price-summary {
	border: 1px solid #e4e7ec;
	border-radius: 6px;
	padding: 12px 14px;
	margin-bottom: 16px;
	background: #f9fafb;
}

.ta-price-line {
	display: flex;
	justify-content: space-between;
	font-size: 14px;
	color: #475467;
	padding: 3px 0;
}

.ta-price-total {
	display: flex;
	justify-content: space-between;
	font-weight: 700;
	font-size: 16px;
	border-top: 1px solid #e4e7ec;
	margin-top: 8px;
	padding-top: 8px;
}

.ta-notice {
	border: 1px solid #bbf7d0;
	background: #f0fdf4;
	color: #166534;
	border-radius: 6px;
	padding: 12px 14px;
	margin: 14px 0;
}

.ta-empty {
	color: #667085;
}

@media (max-width: 900px) {
	.ta-trip-grid,
	.ta-top-list-grid,
	.ta-columns-2,
	.ta-columns-4,
	.ta-frontend-forms {
		grid-template-columns: 1fr;
	}

	.ta-trip-section ul {
		grid-template-columns: 1fr;
	}
}
