.related-products-wrapper {
    --ty-related-blue: #3976ba;
    --ty-related-gold: #d0942d;
    --ty-related-ink: #202625;
    --ty-related-muted: #747f7c;
    margin-top: 20px;
    padding: 0px 10px 26px;
    border-radius: 18px;
    background: #f4f9f8;
}

.related-products-wrapper .product-section-title-related {
	margin-bottom: 24px;
	border: 0;
	color: var(--ty-related-ink);
	font-size: clamp(20px, 3vw, 28px);
	font-weight: 800;
	letter-spacing: 0;
	text-transform: none;
}

.related-products-wrapper .row { padding-right: 15px; padding-left: 15px; }
.related-products-wrapper .product-small { display: flex; }
.related-products-wrapper .product-small > .col-inner { display: flex; width: 100%; }

.related-products-wrapper .product-small.box {
	position: relative;
	display: flex;
	overflow: hidden;
	width: 100%;
	height: 100%;
	flex-direction: column;
	border: 1px solid #e0ebe8;
	border-radius: 15px;
	background: #fff;
	box-shadow: 0 10px 28px rgba(25, 66, 60, .09);
	transition: transform .25s ease, box-shadow .25s ease;
}

.related-products-wrapper .product-small.box:hover { box-shadow: 0 17px 36px rgba(25, 66, 60, .15); transform: translateY(-5px); }
.related-products-wrapper .box-image { overflow: hidden; width: 100%; border-radius: 14px 14px 0 0; }
.related-products-wrapper .box-image .image-fade_in_back,
.related-products-wrapper .box-image .image-none { position: relative; overflow: hidden; aspect-ratio: 1.48 / 1; }
.related-products-wrapper .box-image .image-fade_in_back > a,
.related-products-wrapper .box-image .image-none > a { position: absolute; inset: 0; display: block; }
.related-products-wrapper .box-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.related-products-wrapper .product-small.box:hover .box-image img { transform: scale(1.045); }

.related-products-wrapper .box-text {
	position: static;
	display: flex;
	min-height: 225px;
	flex: 1;
	flex-direction: column;
	padding: 25px 70px 24px 25px;
	text-align: left;
}

.related-products-wrapper .title-wrapper { order: 1; }
.related-products-wrapper .price-wrapper { display: flex; order: 2; flex: 1; flex-direction: column; align-items: flex-start; }
.related-products-wrapper .product-cat,
.related-products-wrapper .star-rating,
.related-products-wrapper .quick-view { display: none; }
.related-products-wrapper .product-title { margin-bottom: 12px; font-size: 18px; font-weight: 800; line-height: 1.45; }
.related-products-wrapper .product-title a { color: var(--ty-related-ink); }
.related-products-wrapper .product-title a:hover { color: var(--ty-related-blue); }

.related-products-wrapper .tyb-product-badge {
	position: absolute;
	z-index: 3;
	top: 18px;
	left: 18px;
	padding: 7px 15px;
	border-radius: 999px;
	color: #fff;
	background: var(--ty-related-gold);
	box-shadow: 0 6px 16px rgba(208, 148, 45, .28);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
}

.related-products-wrapper .tyb-product-places { overflow: hidden; width: 100%; margin: 0 0 9px; color: var(--ty-related-muted); font-size: 14px; line-height: 1.5; text-overflow: ellipsis; white-space: nowrap; }
.related-products-wrapper .tyb-product-duration { display: flex; align-items: center; gap: 7px; margin: 0 0 10px; color: #596663; font-size: 14px; line-height: 1.4; }
.related-products-wrapper .tyb-product-duration img { width: 19px; height: 19px; padding: 3px; border-radius: 50%; }
.related-products-wrapper .price { margin-top: 5px; color: #111; font-size: 23px; font-weight: 800; line-height: 1.25; }
.related-products-wrapper .price::after { content: ' 起'; color: #6d7774; font-size: 12px; font-weight: 500; }
.related-products-wrapper .price del { color: #89918f; font-size: 14px; }
.related-products-wrapper .price ins { color: #111; }

.related-products-wrapper .tyb-product-link {
	position: absolute;
	right: 24px;
	bottom: 24px;
	display: grid;
	width: 35px;
	height: 35px;
	border-radius: 50%;
	color: #fff !important;
	background: var(--ty-related-blue);
	box-shadow: 0 7px 17px rgba(57, 118, 186, .25);
	font-size: 27px;
	line-height: 1;
	place-items: center;
	transition: background-color .2s ease, transform .2s ease;
}

.related-products-wrapper .tyb-product-link:hover { background: #285f9d; transform: translateX(3px); }

@media (max-width: 849px) {
	.related-products-wrapper { margin-top: 38px; padding-top: 28px; }
	.related-products-wrapper .box-text { min-height: 205px; padding: 20px 58px 20px 20px; }
	.related-products-wrapper .product-title { font-size: 18px; }
	.related-products-wrapper .tyb-product-link { right: 18px; bottom: 20px; width: 40px; height: 40px; font-size: 23px; }
}

@media (max-width: 549px) {
	.related-products-wrapper { margin-right: -12px; margin-left: -12px; border-radius: 0; }
	.related-products-wrapper .row { padding-right: 7px; padding-left: 7px; }
	.related-products-wrapper .product-small { padding-right: 6px; padding-left: 6px; }
	.related-products-wrapper .box-text { min-height: 180px; padding: 15px 48px 16px 15px; }
	.related-products-wrapper .product-title { font-size: 16px; }
	.related-products-wrapper .tyb-product-badge { top: 10px; left: 10px; padding: 5px 10px; font-size: 11px; }
	.related-products-wrapper .tyb-product-places,
	.related-products-wrapper .tyb-product-duration { font-size: 12px; }
	.related-products-wrapper .price { font-size: 18px; }
	.related-products-wrapper .tyb-product-link { right: 12px; bottom: 16px; width: 34px; height: 34px; font-size: 20px; }
}

/* Card tour trên trang Cửa hàng và các trang taxonomy sản phẩm. */
.tyb-tour-archive {
	--ty-related-blue: #3976ba;
	--ty-related-gold: #d0942d;
	--ty-related-ink: #202625;
	--ty-related-muted: #747f7c;
}

.tyb-tour-archive .shop-container .products.row { align-items: stretch; }
.tyb-tour-archive .shop-container .product-small { display: flex; }
.tyb-tour-archive .shop-container .product-small > .col-inner { display: flex; width: 100%; }

.tyb-tour-archive .shop-container .product-small.box {
	position: relative;
	display: flex;
	overflow: hidden;
	width: 100%;
	height: 100%;
	flex-direction: column;
	border: 1px solid #e0ebe8;
	border-radius: 15px;
	background: #fff;
	box-shadow: 0 10px 28px rgba(25, 66, 60, .09);
	transition: transform .25s ease, box-shadow .25s ease;
}

.tyb-tour-archive .shop-container .product-small.box:hover {
	box-shadow: 0 17px 36px rgba(25, 66, 60, .15);
	transform: translateY(-5px);
}

.tyb-tour-archive .shop-container .box-image {
	overflow: hidden;
	width: 100%;
	border-radius: 14px 14px 0 0;
}

.tyb-tour-archive .shop-container .box-image .image-fade_in_back,
.tyb-tour-archive .shop-container .box-image .image-none {
	position: relative;
	overflow: hidden;
	aspect-ratio: 1.48 / 1;
}

.tyb-tour-archive .shop-container .box-image .image-fade_in_back > a,
.tyb-tour-archive .shop-container .box-image .image-none > a {
	position: absolute;
	inset: 0;
	display: block;
}

.tyb-tour-archive .shop-container .box-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}

.tyb-tour-archive .shop-container .product-small.box:hover .box-image img { transform: scale(1.045); }

.tyb-tour-archive .shop-container .box-text {
	position: static;
	display: flex;
	min-height: 225px;
	flex: 1;
	flex-direction: column;
	padding: 25px 70px 24px 25px;
	text-align: left;
}

.tyb-tour-archive .shop-container .title-wrapper { order: 1; }
.tyb-tour-archive .shop-container .price-wrapper {
	display: flex;
	order: 2;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
}

.tyb-tour-archive .shop-container .product-cat,
.tyb-tour-archive .shop-container .star-rating,
.tyb-tour-archive .shop-container .quick-view,
.tyb-tour-archive .shop-container .image-tools { display: none; }

.tyb-tour-archive .shop-container .product-title {
	margin-bottom: 12px;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.45;
}

.tyb-tour-archive .shop-container .product-title a { color: var(--ty-related-ink); }
.tyb-tour-archive .shop-container .product-title a:hover { color: var(--ty-related-blue); }

.tyb-tour-archive .shop-container .tyb-product-badge {
	position: absolute;
	z-index: 3;
	top: 18px;
	left: 18px;
	padding: 7px 15px;
	border-radius: 999px;
	color: #fff;
	background: var(--ty-related-gold);
	box-shadow: 0 6px 16px rgba(208, 148, 45, .28);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
}

.tyb-tour-archive .shop-container .tyb-product-places {
	overflow: hidden;
	width: 100%;
	margin: 0 0 9px;
	color: var(--ty-related-muted);
	font-size: 14px;
	line-height: 1.5;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tyb-tour-archive .shop-container .tyb-product-duration {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 0 0 10px;
	color: #596663;
	font-size: 14px;
	line-height: 1.4;
}

.tyb-tour-archive .shop-container .tyb-product-duration img {
	width: 19px;
	height: 19px;
	padding: 3px;
	border-radius: 50%;
}

.tyb-tour-archive .shop-container .price {
	margin-top: 5px;
	color: #111;
	font-size: 23px;
	font-weight: 800;
	line-height: 1.25;
}

.tyb-tour-archive .shop-container .price::after {
	content: ' 起';
	color: #6d7774;
	font-size: 12px;
	font-weight: 500;
}

.tyb-tour-archive .shop-container .price del { color: #89918f; font-size: 14px; }
.tyb-tour-archive .shop-container .price ins { color: #111; }

.tyb-tour-archive .shop-container .tyb-product-link {
	position: absolute;
	right: 24px;
	bottom: 24px;
	display: grid;
	width: 35px;
	height: 35px;
	border-radius: 50%;
	color: #fff !important;
	background: var(--ty-related-blue);
	box-shadow: 0 7px 17px rgba(57, 118, 186, .25);
	font-size: 27px;
	line-height: 1;
	place-items: center;
	transition: background-color .2s ease, transform .2s ease;
}

.tyb-tour-archive .shop-container .tyb-product-link:hover {
	background: #285f9d;
	transform: translateX(3px);
}

@media (max-width: 849px) {
	.tyb-tour-archive .shop-container .box-text { min-height: 205px; padding: 20px 58px 20px 20px; }
	.tyb-tour-archive .shop-container .product-title { font-size: 18px; }
	.tyb-tour-archive .shop-container .tyb-product-link { right: 18px; bottom: 20px; width: 40px; height: 40px; font-size: 23px; }
}

@media (max-width: 549px) {
	.tyb-tour-archive .shop-container .product-small { padding-right: 6px; padding-left: 6px; }
	.tyb-tour-archive .shop-container .box-text { min-height: 180px; padding: 15px 48px 16px 15px; }
	.tyb-tour-archive .shop-container .product-title { font-size: 16px; }
	.tyb-tour-archive .shop-container .tyb-product-badge { top: 10px; left: 10px; padding: 5px 10px; font-size: 11px; }
	.tyb-tour-archive .shop-container .tyb-product-places,
	.tyb-tour-archive .shop-container .tyb-product-duration { font-size: 12px; }
	.tyb-tour-archive .shop-container .price { font-size: 18px; }
	.tyb-tour-archive .shop-container .tyb-product-link { right: 12px; bottom: 16px; width: 34px; height: 34px; font-size: 20px; }
}
