/*
This file is part of a project by YOUHEY Communication AG.
Unless otherwise stated, all rights are held by the author.
*/
/* 
    Created on : 04.08.2025, 14:31:42
    Author     : Kilian Frey <kilian.frey@youhey.ch>
*/

.tx-travel {
	--primary: var(--travel);
	--primary-hover: var(--travel-hover);
	--primary-20: var(--travel-20);
}

/* ## List-View ## */ 

.tx-travel .offers {
	display: inline-grid;
	gap: var(--bs-gutter-x) 0;
	grid-template-columns: 1fr;
	margin: 0 calc(-0.5 * var(--bs-gutter-x)) 1rem;
}

@media(min-width: 576px) {
	.tx-travel .offers {
		grid-template-columns: 1fr 1fr;
	}
}

@media(min-width: 992px) {
	.tx-travel .offers {
		grid-template-columns: repeat(3, 1fr);
	}
}

.tx-travel .offer {
	align-items: stretch;
	display: flex;
	flex-direction: column;
	position: relative;
}

@media(min-width: 576px) {
	.tx-travel .offer {
		border-image: linear-gradient(0deg, #fff 10%, var(--primary) 90%) 1;
		border-style: solid;
		border-width: 0 1px 0 0;
		padding: 0 calc(var(--bs-gutter-x) / 2);
	}
	
	.tx-travel .offer:last-child {
		border-right: none;
	}
}

@media(min-width: 576px) and (max-width: 991px) {
	.tx-travel .offer:nth-child(2n) {
		border-right: none;
	}
}

@media(min-width: 992px) {
	.tx-travel .offer:nth-child(3n) {
		border-right: none;
	}
}

.tx-travel .offer figure {
	margin-bottom: 1rem;
	position: relative;
}

.tx-travel .offer figcaption {
	background-color: #fff9;
	bottom: 0px;
	padding: 0 3px;
	position: absolute;
	right: 0px;
}

.tx-travel a.offer {
	color: inherit;
	text-decoration: none;
}

.tx-travel .offer h3,
.tx-travel .offer .subheader,
.tx-travel .offer .date,
.tx-travel .offer .price {
	margin: 0 1rem;
}

.tx-travel .offer h3 {
	color: var(--primary);
	font-size: 1.2rem;
	margin-bottom: 0.4rem;
}

@media(min-width: 768px) {
	.tx-travel .offer h3 {
		font-size: 1.4rem;
	}
}

.tx-travel .offer .subheader,
.tx-travel .offer .date {
	flex-grow: 1;
	margin-bottom: 0.7rem;
}

.tx-travel .offer .price {
	font-size: 1.2rem;
	margin-bottom: 0.7rem;
}

.tx-travel .offer .marker {
	border: 1px solid #fff;
	position: absolute;
	transform: rotate(-15deg);
	font-weight: 700;
	top: 30px;
	left: 5px;
}

.tx-travel .offer .marker span {
	background-color: #fffe;
	box-shadow: -2px 2px 3px #4444;
	display: inline-block;
	min-width: 120px;
	padding: 6px 12px;
	text-align: center;
	transform: rotate(-2deg);
}

.tx-travel .btn-list {
	border-color: #777777;
	background-color: #fff;
	color: var(--bs-body-color);
	margin-bottom: 6px;
	position: relative;
}

.tx-travel .btn-list:hover {
	background-color: var(--primary-20);
	border-color: var(--primary-20);
}

/* ## Detail-View ## */

.tx-travel .detail {
	
}

.tx-travel .detail .header {
	position: relative;
}

.tx-travel .detail .header h1,
.tx-travel .detail .header h2 {
	position: relative;
}

.tx-travel .detail .date {
	font-size: 1.2rem;
}

@media(min-width: 768px) {
	.tx-travel .detail .date {
		font-size: 1.3rem;
	}
}

.tx-travel .detail .vip {
	display: block;
	position: absolute;
	right: 0px;
	top: 0px;
	width: 50px;
}

@media(min-width: 768px) {
	.tx-travel .detail .vip {
		width: 110px;
	}
}

.tx-travel .detail .images {
	margin-bottom: 2rem;
}

.tx-travel .detail .booking {
	margin-bottom: 6px;
}

.tx-travel .detail .downloads {
	margin-bottom: 1rem;
}

.tx-travel .detail .btn-download {
	border-color: var(--primary);
	background-color: #fff;
	color: var(--primary);
	margin-bottom: 6px;
	position: relative;
}

.tx-travel .detail .btn-download svg {
	display: block;
	height: 24px;
	left: 6px;
	position: absolute;
	top: 6px;
	width: 24px;
}

.tx-travel .detail .price table {
	width: 100%;
}

.tx-travel .detail .included p {
	margin-bottom: 0.5rem;
}

.tx-travel .detail .teaser {
	margin-bottom: 2rem;
}

.tx-travel .detail .itinerary h2 {
	color: var(--primary);
}

.tx-travel .detail .itinerary h3,
.tx-travel .detail .itinerary h4,
.tx-travel .detail .itinerary h5,
.tx-travel .detail .itinerary h6 {
	color: var(--brand);
}

.tx-travel .detail .accordion-item {
	margin-bottom: 6px;
}

.tx-travel .detail .tourdates {
	margin-bottom: 0;
}

.tx-travel .paging {
	margin-top: 2rem;
}