/**
 * MoroccoPlan — related tours carousel (premium OTA refinement).
 * Scoped to .moroccoplan-relate on tour singles only.
 */

.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate {
	margin-top: 4px;
}

.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .relate-rooms {
	position: relative;
}

.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .st-hr {
	margin: 28px 0 18px !important;
}

.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate__heading.st-heading-section,
.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .st-heading-section {
	margin: 0 !important;
	padding-right: 76px;
	color: #1a2b48 !important;
	font-size: 24px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
}

/* Heading + cards share one compact block with a small intentional gap */
.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .moroccoplan-relate__stack {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 14px;
}

.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .moroccoplan-relate__list,
.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-carousel {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* ---- Equal-height owl track ---- */
.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-carousel .owl-stage {
	display: flex;
	align-items: stretch;
}

.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-carousel .owl-item {
	display: flex;
	height: auto;
}

.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .item-slide,
.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .item-service {
	display: flex;
	width: 100%;
	height: 100%;
}

.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .services-item.grid.item-elementor {
	display: flex;
	width: 100%;
	height: 100%;
}

/*
 * Card chrome (shell, image, featured, wishlist, title, rating, footer)
 * is owned by assets/css/tour-card.css for all grid cards including related.
 * Keep only carousel equal-height / nav rules below.
 */

.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .item.service-border {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
}

.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .content-item {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
}

.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .content-item .section-footer {
	margin-top: auto;
}

/* ---- Nav arrows (match itinerary outline chips) ---- */
.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-nav {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 5;
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	transform: translateY(-100%);
	margin-top: -12px; /* sits on heading row; 12px = heading margin-bottom */
}

.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-nav .owl-prev,
.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-nav .owl-next {
	position: static !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 32px !important;
	height: 32px !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #fff !important;
	border: 1px solid #cfd6de !important;
	border-radius: 50% !important;
	box-shadow: none !important;
	opacity: 1 !important;
	color: #1a2b48 !important;
	font-size: 0 !important;
	line-height: 0 !important;
	cursor: pointer;
	transition: border-color 0.15s ease, color 0.15s ease;
}

.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-nav .owl-prev:hover,
.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-nav .owl-next:hover {
	background: #fff !important;
	border-color: #1a2b48 !important;
	color: #1a2b48 !important;
}

.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-nav .owl-prev.disabled,
.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-nav .owl-next.disabled {
	opacity: 0.35 !important;
	cursor: default;
	pointer-events: none;
}

.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-nav .owl-prev span,
.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-nav .owl-next span {
	position: relative !important;
	display: block !important;
	width: 100%;
	height: 100%;
	font-size: 0 !important;
	line-height: 0 !important;
	color: transparent !important;
}

.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-nav .owl-prev span::before,
.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-nav .owl-next span::before {
	position: absolute;
	top: 50%;
	left: 50%;
	color: #1a2b48 !important;
	font-family: "traveler-icon", sans-serif !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	transform: translate(-50%, -50%);
}

.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-nav .owl-prev span::before {
	content: "\e966" !important;
}

.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-nav .owl-next span::before {
	content: "\e968" !important;
}

.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-dots {
	margin-top: 14px !important;
	text-align: center;
}

.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-dots .owl-dot span {
	width: 7px !important;
	height: 7px !important;
	margin: 0 3px !important;
	background: #d0d7e0 !important;
	border-radius: 50% !important;
	transition: background 0.15s ease, width 0.15s ease;
}

.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-dots .owl-dot.active span {
	width: 16px !important;
	background: #1a2b48 !important;
	border-radius: 4px !important;
}

/* Non-carousel fallback (≤3 items) */
.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .moroccoplan-relate__list > .item-service {
	margin-bottom: 20px;
}

@media screen and (max-width: 991px) {
	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate__heading.st-heading-section,
	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .st-heading-section {
		font-size: 22px !important;
	}

	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-nav {
		margin-top: -10px;
	}
}

/* =========================================================
 * Mobile only — GYG-style swipe carousel (desktop unchanged)
 * ========================================================= */
@media screen and (max-width: 767px) {
	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate {
		margin-top: 0;
	}

	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .st-hr {
		margin: 22px 0 12px !important;
	}

	/*
	 * Mobile: collapse heading → cards into one compact section.
	 * Parent theme sets .relate-rooms .st-heading-section { margin-bottom: 40px }
	 * and .owl-stage-outer { padding: 15px } — both create a detached block.
	 * Do not alter font sizes, cards, or carousel here — positioning only.
	 */
	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .moroccoplan-relate__stack {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 10px !important;
		row-gap: 10px !important;
	}

	body.st-mod-style.single-st_tours #st-content-wrapper.st-style-elementor .st-relate.moroccoplan-relate .relate-rooms .st-heading-section,
	body.st-mod-style #st-content-wrapper.st-style-elementor .st-relate.moroccoplan-relate .relate-rooms .st-heading-section,
	body.st-header-9.single-st_tours #st-content-wrapper.st-style-elementor .st-relate.moroccoplan-relate .relate-rooms .st-heading-section,
	.single-st_tours #st-content-wrapper.st-style-elementor .st-relate.moroccoplan-relate .relate-rooms .st-heading-section,
	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .moroccoplan-relate__stack > .st-heading-section,
	.single #st-content-wrapper.st-style-elementor .moroccoplan-relate.st-relate .st-heading-section,
	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate__heading.st-heading-section {
		margin: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		padding: 0 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		text-align: left !important;
		/* Keep current mobile type — do not let parent 26px/32px + 40px margin return */
		font-size: 20px !important;
		font-weight: 700 !important;
		line-height: 1.25 !important;
		color: #1a2b48 !important;
	}

	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .moroccoplan-relate__list,
	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .moroccoplan-relate__list.row,
	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .moroccoplan-relate__stack > .moroccoplan-relate__list,
	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .moroccoplan-relate__list.row > *:not(.owl-carousel) {
		margin: 0 !important;
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-carousel {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		padding-top: 0 !important;
	}

	body.st-mod-style.single-st_tours #st-content-wrapper.st-style-elementor .st-relate.moroccoplan-relate .relate-rooms .owl-carousel .owl-stage-outer,
	body.st-mod-style #st-content-wrapper.st-style-elementor .st-relate.moroccoplan-relate .relate-rooms .owl-carousel .owl-stage-outer,
	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-carousel .owl-stage-outer {
		margin: 0 !important;
		padding: 0 !important;
	}

	/* Let the next card peek past the content edge */
	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .moroccoplan-relate__list.row {
		--bs-gutter-x: 0;
		--bs-gutter-y: 0;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		overflow: hidden;
	}

	/*
	 * Mobile track: autoWidth + JS slide widths (container - peek).
	 * Do not override .owl-stage padding/transform — Owl owns positioning.
	 */
	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .moroccoplan-relate__list.row > *,
	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-carousel .owl-stage-outer {
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0 !important;
	}

	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .moroccoplan-relate__list .owl-carousel {
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		overflow: hidden;
	}

	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-carousel .owl-stage {
		display: flex;
		align-items: stretch;
	}

	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-carousel .owl-item {
		display: flex;
		float: none;
		width: auto;
	}

	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .item-slide {
		display: flex;
		/* Base rule uses width:100%; autoWidth needs content-driven width (JS sets px). */
		width: auto;
		max-width: none;
		height: 100%;
	}

	/* Compact equal-height cards */
	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .item.service-border {
		border-radius: 14px;
		border-color: #e6ebf0;
		box-shadow: 0 1px 3px rgba(26, 43, 72, 0.04);
	}

	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .featured-image {
		aspect-ratio: 3 / 2;
		border-radius: 14px 14px 0 0;
	}

	/* Featured badge — compact OTA chip */
	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .st-tag-feature-sale {
		top: 10px;
		left: 10px;
	}

	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .featured-image .featured {
		padding: 5px 9px !important;
		border-radius: 5px !important;
		background: #1a2b48 !important;
		font-size: 11px !important;
		font-weight: 600 !important;
		letter-spacing: 0.01em;
		line-height: 1.15 !important;
	}

	/* Heart — consistent 28px chip */
	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .featured-image > a.login {
		top: 10px !important;
		right: 10px !important;
		width: 28px !important;
		height: 28px !important;
	}

	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .featured-image .service-add-wishlist {
		top: 10px !important;
		right: 10px !important;
		width: 28px !important;
		height: 28px !important;
		border: 1px solid rgba(26, 43, 72, 0.1) !important;
		box-shadow: 0 1px 3px rgba(26, 43, 72, 0.12);
	}

	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .featured-image .service-add-wishlist i.field-icon,
	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .featured-image .service-add-wishlist i {
		width: 13px !important;
		height: 13px !important;
	}

	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .featured-image .service-add-wishlist svg {
		width: 13px !important;
		height: 13px !important;
	}

	/* Content — tight, no dead vertical space */
	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .content-item {
		padding: 10px 12px 11px;
	}

	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .content-item .title {
		margin: 0 0 4px !important;
		height: calc(1.28em * 2);
		min-height: 0;
		max-height: calc(1.28em * 2);
		font-size: 17px !important;
		font-weight: 700 !important;
		line-height: 1.28 !important;
		color: #1a2b48 !important;
	}

	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .content-item .title a.c-main {
		-webkit-line-clamp: 2;
		font-size: 17px !important;
		font-weight: 700 !important;
		line-height: 1.28 !important;
	}

	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .content-item .reviews {
		display: inline-flex;
		align-items: baseline;
		margin: 0;
		font-size: 12px;
		line-height: 1.2;
	}

	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .content-item .reviews .stt-icon-star1 {
		margin-right: 3px;
		font-size: 10px;
		color: #d4a017;
	}

	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .content-item .reviews .rate {
		margin-right: 3px;
		color: #898a8e;
		font-size: 12px;
		font-weight: 500;
	}

	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .content-item .reviews .summary {
		color: #9aa3ad;
		font-size: 12px;
		font-weight: 400;
	}

	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .content-item .section-footer {
		margin-top: auto;
		padding-top: 8px;
		border-top: 1px solid #eef2f6;
	}

	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .price-wrapper-tour .price,
	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .price-wrapper-tour .price .sale-top,
	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .price-wrapper-tour .price .item {
		font-size: 15px;
		font-weight: 700;
	}

	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .price-wrapper-tour .unit {
		font-size: 11.5px;
		gap: 3px;
	}

	/* Hide arrows on mobile — swipe + subtle dots only */
	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-nav {
		display: none !important;
	}

	/* Subtle page indicator (not oversized orange dots) */
	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-dots {
		display: flex !important;
		justify-content: center;
		align-items: center;
		gap: 0;
		margin-top: 12px !important;
		line-height: 0;
	}

	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-dots .owl-dot {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		margin: 0 !important;
		padding: 4px 3px !important;
		background: transparent !important;
		border: 0 !important;
	}

	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-dots .owl-dot span {
		display: block !important;
		width: 5px !important;
		height: 5px !important;
		margin: 0 !important;
		background: #d0d7e0 !important;
		border-radius: 50% !important;
		opacity: 1 !important;
		transition: width 0.2s ease, background 0.2s ease, border-radius 0.2s ease;
	}

	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .owl-dots .owl-dot.active span {
		width: 14px !important;
		height: 5px !important;
		background: #1a2b48 !important;
		border-radius: 3px !important;
	}

	/* Fallback grid (≤3 related) — still compact on mobile */
	.single-st_tours #st-content-wrapper.st-style-elementor .moroccoplan-relate .moroccoplan-relate__list > .item-service {
		margin-bottom: 14px;
		padding-left: 0;
		padding-right: 0;
	}
}
