/* ==========================================================
   SELF TRAVEL MOROCCO - PREMIUM TOUR CARDS
   ========================================================== */

.stm-morocco-tours {
	width: 100%;
	max-width: 1450px;
	margin: 0 auto;
	padding: 25px;
	box-sizing: border-box;
	display: grid;
	gap: 28px;
}

.stm-morocco-tours.stm-columns-1 {
	grid-template-columns: 1fr;
}

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

.stm-morocco-tours.stm-columns-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

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


/* CARD */

.stm-morocco-card {
	position: relative;
	height: 520px;

	overflow: hidden;
	border-radius: 18px;

	background: #222;

	box-shadow:
		0 15px 40px rgba(0,0,0,.16);

	isolation: isolate;

	transition:
		transform .45s cubic-bezier(.2,.8,.2,1),
		box-shadow .45s ease;
}

.stm-morocco-card:hover {
	transform: translateY(-10px);

	box-shadow:
		0 25px 55px rgba(0,0,0,.28);
}


/* BACKGROUND */

.stm-card-background {
	position: absolute;
	inset: 0;

	z-index: -3;

	background-position: center;
	background-size: cover;

	transform: scale(1);

	transition:
		transform 1s cubic-bezier(.2,.8,.2,1);
}

.stm-morocco-card:hover .stm-card-background {
	transform: scale(1.1);
}

.stm-card-no-image {
	background:
		linear-gradient(135deg,#8e6c3b,#d4b278);
}


/* DARK GRADIENT */

.stm-card-overlay {
	position: absolute;
	inset: 0;

	z-index: -2;

	background:
		linear-gradient(
			180deg,
			rgba(0,0,0,.15) 0%,
			rgba(0,0,0,.18) 35%,
			rgba(0,0,0,.78) 100%
		);

	transition: background .4s ease;
}

.stm-morocco-card:hover .stm-card-overlay {
	background:
		linear-gradient(
			180deg,
			rgba(0,0,0,.20) 0%,
			rgba(0,0,0,.25) 30%,
			rgba(0,0,0,.86) 100%
		);
}


/* LINK */

.stm-card-link {
	position: absolute;
	inset: 0;

	display: flex;
	flex-direction: column;
	justify-content: space-between;

	padding: 25px;

	color: #fff !important;

	text-decoration: none !important;

	box-sizing: border-box;
}


/* TOP */

.stm-card-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.stm-card-category {
	display: inline-flex;
	align-items: center;
	gap: 8px;

	padding: 9px 14px;

	background: rgba(255,255,255,.14);

	border: 1px solid rgba(255,255,255,.25);

	border-radius: 50px;

	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);

	font-size: 11px;
	font-weight: 700;

	letter-spacing: 1.5px;

	color: #fff;
}

.stm-card-category i {
	color: #d8ad67;
}


.stm-card-arrow {
	width: 46px;
	height: 46px;

	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background: rgba(255,255,255,.15);

	border: 1px solid rgba(255,255,255,.3);

	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);

	transition:
		background .3s ease,
		transform .3s ease;
}

.stm-morocco-card:hover .stm-card-arrow {
	background: #c59b5f;

	transform: rotate(5deg);
}


/* BOTTOM */

.stm-card-bottom {
	position: relative;
}


/* ICON */

.stm-card-icon {
	width: 54px;
	height: 54px;

	margin-bottom: 16px;

	display: flex;
	align-items: center;
	justify-content: center;

	background: #c59b5f;

	border-radius: 50%;

	box-shadow:
		0 8px 25px rgba(0,0,0,.3);

	font-size: 21px;

	transition:
		transform .4s ease;
}

.stm-morocco-card:hover .stm-card-icon {
	transform: rotate(12deg) scale(1.08);
}


/* TITLE */

.stm-card-bottom h3 {
	margin: 0 0 12px;

	color: #fff !important;

	font-size: clamp(22px,2vw,30px);

	line-height: 1.15;

	font-weight: 700;

	letter-spacing: -.3px;

	text-shadow:
		0 3px 12px rgba(0,0,0,.45);
}


/* DESCRIPTION */

.stm-card-bottom p {
	margin: 0 0 18px;

	max-width: 95%;

	color: rgba(255,255,255,.86) !important;

	font-size: 14px;

	line-height: 1.6;
}


/* META */

.stm-card-meta {
	display: flex;
	flex-wrap: wrap;

	gap: 18px;

	margin-bottom: 20px;

	color: rgba(255,255,255,.92);

	font-size: 13px;
}

.stm-card-meta span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.stm-card-meta i {
	color: #d8ad67;
}


/* BUTTON */

.stm-card-button {
	display: inline-flex;
	align-items: center;
	gap: 10px;

	color: #fff;

	font-size: 12px;

	font-weight: 700;

	letter-spacing: 1.5px;

	transition: gap .3s ease, color .3s ease;
}

.stm-card-button i {
	color: #d8ad67;
}

.stm-morocco-card:hover .stm-card-button {
	gap: 16px;
	color: #d8ad67;
}


/* EMPTY */

.stm-tour-empty,
.stm-tour-notice {
	grid-column: 1 / -1;

	padding: 50px 20px;

	text-align: center;

	font-size: 17px;
}


/* TABLET */

@media (max-width: 1050px) {

	.stm-morocco-tours.stm-columns-3,
	.stm-morocco-tours.stm-columns-4 {
		grid-template-columns: repeat(2, minmax(0,1fr));
	}

	.stm-morocco-card {
		height: 500px;
	}
}


/* MOBILE */

@media (max-width: 650px) {

	.stm-morocco-tours,
	.stm-morocco-tours.stm-columns-2,
	.stm-morocco-tours.stm-columns-3,
	.stm-morocco-tours.stm-columns-4 {
		grid-template-columns: 1fr;

		padding: 12px;

		gap: 22px;
	}

	.stm-morocco-card {
		height: 480px;

		border-radius: 15px;
	}

	.stm-card-link {
		padding: 21px;
	}

	.stm-card-bottom h3 {
		font-size: 25px;
	}

}
