/*!
 * Peter Tours – single tour page (former Elementor template "Tour Detail 2").
 */

/* Header band */
.pt-tour-hero {
	position: relative;
	margin: -50px 0 -50px;
	padding: 60px 0 50px;
	background-color: transparent;
	background-image: linear-gradient(0deg, #13294B 0%, #13294B 100%);
}

.pt-tour-hero__overlay {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(180deg, var(--pt-dark) 0%, var(--pt-primary) 100%);
	opacity: .85;
	transition: background .3s, border-radius .3s, opacity .3s;
}

.pt-tour-hero__inner {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	margin-top: -50px;
	padding: 30px;
}

.pt-tour-hero__inner > * {
	width: 100%;
}

.pt-tour-hero__inner > *:not(:last-child) {
	margin-bottom: 20px;
}

.pt-tour-hero__breadcrumb {
	font-family: "Roboto", sans-serif;
	font-weight: 400;
	color: #fff;
}

.pt-tour-hero__breadcrumb p { margin: 0; }
.pt-tour-hero__breadcrumb > .fbc { margin-top: 36px; }

.pt-tour-hero__title .ovabrw_title {
	color: #fff;
	font-size: 30px;
	font-weight: 700;
	font-style: italic;
}

.pt-tour-hero__gallery { padding: 10px 20px; }
.pt-tour-hero__gallery .ova-gallery-slideshow .item img { border-radius: 7px; }

/* Content + booking form */
.pt-tour-main { padding: 50px 0 75px; }

.pt-tour-main__inner { display: flex; }

.pt-tour-main__content {
	width: 67%;
	min-width: 0;
}

.pt-tour-main__content .elementor-ovabrw-product-tabs { margin-right: 5px; }

.pt-tour-main__aside {
	width: 33%;
	min-width: 0;
	padding-left: 40px;
	box-sizing: border-box;
}

.pt-tour .ova-tabs-product .tabs .item {
	color: var(--pt-primary);
	background-color: #fff;
	margin: 25px 0 0;
}

.pt-tour .ova-tabs-product .tabs .item.active {
	color: #fff;
	background-color: var(--pt-primary);
}

.pt-tour .ova-forms-product .forms-wrapper { background-color: var(--pt-dark); }

/* Explore (related tours) */
.pt-tour-related__inner,
.pt-tour-sights__inner {
	max-width: var(--pt-boxed);
	margin: 0 auto;
}

.pt-tour-related__inner { padding: 20px 10px; }

.pt-kit .pt-tour-related__title {
	margin: 0 0 20px;
	padding: 0;
	line-height: 1;
	font-size: 42px;
	color: var(--pt-primary);
	font-family: var(--pt-font-heading);
	font-weight: 600;
}

/* Top sights (tags) */
.pt-tour-sights__tags {
	display: flex;
	justify-content: center;
	padding: 20px 10px;
}

.pt-kit .pt-tour-sights__title {
	margin: 0;
	padding: 10px;
	line-height: 1;
	text-align: center;
	color: #000;
	font-family: var(--pt-font-heading);
	font-weight: 600;
}

/* Sticky "Book now" (mobile only) */
.pt-tour-book { display: none; }

@media (max-width: 1024px) {
	.pt-tour-main { padding: 0 0 50px; }
	.pt-tour-main__inner { flex-wrap: wrap; }
	.pt-tour-main__content,
	.pt-tour-main__aside { width: 100%; }
	.pt-tour-main__aside { margin: 20px 0 0; padding-left: 0; }
}

@media (max-width: 767px) {
	.pt-tour-hero { padding: 20px 0 70px; }
	.pt-tour-hero__title { text-align: left; }
	.pt-tour-hero__title .ovabrw_title { font-size: 20px; line-height: 1.5em; }
	.pt-tour-main { padding: 50px 0; }
	.pt-tour .ova-tabs-product .tabs .item { margin: 0; }

	.pt-tour-book {
		display: flex;
		flex-direction: column;
		align-items: center;
		position: relative;
		z-index: 999999;
		padding: 10px;
		background-color: #fff;
	}

	.pt-kit .pt-tour-book__button {
		position: fixed;
		left: 0;
		bottom: 0;
		z-index: 999;
		width: 100vw;
		margin: auto;
		padding: 20px 0;
		text-align: center;
		font-family: "Roboto", sans-serif;
		font-size: 18px;
		font-weight: 500;
		line-height: 1;
		color: #fff;
		background-color: var(--pt-primary);
	}
}

/* No layout shift: Owl Carousel hides the gallery (display:none) until its
   script runs. Show the first images at their final size before that, with
   the same breakpoints as the slider (1 / 2 / 3 per row, 24px gap). */
.ova-gallery-slideshow.owl-carousel:not(.owl-loaded) { display: flex; gap: 24px; overflow: hidden; }
.ova-gallery-slideshow.owl-carousel:not(.owl-loaded) > .item { flex: 0 0 100%; min-width: 0; }
.ova-gallery-slideshow.owl-carousel:not(.owl-loaded) > .item img { display: block; width: 100%; }
@media (min-width: 768px) { .ova-gallery-slideshow.owl-carousel:not(.owl-loaded) > .item { flex-basis: calc((100% - 24px) / 2); } }
@media (min-width: 1025px) { .ova-gallery-slideshow.owl-carousel:not(.owl-loaded) > .item { flex-basis: calc((100% - 48px) / 3); } }
