/* =========================================================
Premium Full List
========================================================= */

.premium-full-list{
	display:flex;
	flex-direction:column;
	gap:40px;
	padding:20px;
	border:4px solid var(--accent);
	border-radius:12px;
	background:var(--border);
}


/* =========================================================
Premium Card
========================================================= */

.premium-full-card{
	display:grid;
	grid-template-columns:clamp(250px,35vw,720px) minmax(0,1fr);
	position:relative;
	background:#fff;
	border:1px solid rgba(139,115,85,.35);
	border-radius:18px;
	overflow:hidden;
	box-shadow:0 20px 50px rgba(0,0,0,.05);
	transition:
		transform .4s ease,
		box-shadow .4s ease;

	min-width:0;
	max-width:100%;
}

.premium-full-card::before{
	content:"";
	position:absolute;
	inset:18px;
	border:1px solid rgba(139,115,85,.15);
	pointer-events:none;
	z-index:1;
}

.premium-full-card .grid-card-button:hover{
	background:var(--accent);
	color:#fff;
	cursor:pointer;
}


/* =========================================================
Hover
========================================================= */

@media(min-width:768px){

	.premium-full-card:hover{
		transform:translateY(-8px);

		box-shadow:
		0 25px 35px rgba(0,0,0,.12),
		0 5px 15px rgba(0,0,0,.08);
	}

	.premium-full-card:hover .grid-card-button{
		background:var(--accent);
		color:#fff;
	}

}


/* =========================================================
Gallery
========================================================= */

.premium-full-card__gallery{
	display:flex;
	flex-direction:column;
	align-self:start;

	padding:24px;

	background:linear-gradient(
		to bottom,
		#faf8f5,
		#f7f4ef
	);

	z-index:2;

	min-width:0;
	max-width:100%;
	width:100%;
	box-sizing:border-box;
}

.premium-gallery-main{
	width:100%;
	max-width:100%;
	min-width:0;

	aspect-ratio:16 / 9;

	margin-bottom:16px;

	border-radius:12px;
	overflow:hidden;

	box-sizing:border-box;
}

.premium-gallery-thumb{
	height:120px;
	flex-shrink:0;

	width:100%;
	max-width:100%;
	min-width:0;
}

.premium-main-slider,
.premium-thumb-slider{
	width:100%;
	max-width:100%;
	min-width:0;
	height:100%;
	box-sizing:border-box;
}

.premium-main-slider{
	border-radius:12px;
	overflow:hidden;
	background:#fff;
}

.premium-main-slider .swiper,
.premium-main-slider .swiper-wrapper,
.premium-main-slider .swiper-slide{
	height:100%;
	min-width:0;
	max-width:100%;
}

.premium-main-slider .swiper-slide{
	box-sizing:border-box;
}

.premium-main-slider img,
.single-image img{
	display:block;
	width:100%;
	max-width:100%;
	height:100%;
	object-fit:cover;
}

.single-image{
	border-radius:12px;
	overflow:hidden;
	aspect-ratio:16/9;
}

.premium-thumb-slider .swiper-wrapper{
	align-items:stretch;
}

.premium-thumb-slider .swiper-slide{
	height:100%;
	opacity:.45;
	cursor:pointer;
	border-radius:10px;
	overflow:hidden;
	transition:.25s;

	min-width:0;
	box-sizing:border-box;
}

.premium-thumb-slider .swiper-slide-thumb-active{
	opacity:1;
	box-shadow:0 0 0 2px var(--accent);
}

.premium-thumb-slider img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

.premium-main-slider .swiper-button-prev,
.premium-main-slider .swiper-button-next{
	color:#fff;
}

.premium-main-slider .swiper-button-prev::after,
.premium-main-slider .swiper-button-next::after{
	font-size:20px;
}


/* =========================================================
Content
========================================================= */

.premium-full-card__content{
	position:relative;
	z-index:2;

	display:flex;
	flex-direction:column;
	gap:24px;

	padding:60px 70px;

	min-width:0;
}


/* =========================================================
Price
========================================================= */

.premium-title{
	margin:0;
	padding:0;
}

.premium-description,
.premium-contents{
	line-height:2;
}

.grid-card-button{
	margin-top:auto;
}

.premium-description .u{
	text-decoration:underline;
}

.premium-price-wrap{
	display:grid;
	gap:0;
	margin-top:16px;
}

.premium-price-box{
	display:grid;
	gap:8px;
	padding:18px 0;
	border-top:1px solid rgba(0,0,0,.08);
}

.premium-price-top{
	min-height:24px;
}

.premium-price-bottom{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	align-items:end;
	gap:16px;
}

.sub-price{
	text-align:right;
	font-size:14px;
	color:#777;
	white-space:nowrap;
}

.premium-card-price{
	text-align:right;
	font-size:20px;
	font-weight:600;
	color:#d36f5c;
	white-space:nowrap;
}


/* =========================================================
Responsive
========================================================= */

@media (max-width:767px){

	.premium-full-card{
		display:block;
		width:100%;
		max-width:100%;
		min-width:0;
	}

	.premium-full-card::before{
		inset:12px;
	}

	.premium-full-card__gallery{
		display:block;

		width:100%;
		max-width:100%;
		min-width:0;

		padding:16px;

		box-sizing:border-box;

		height:auto;
	}

	.premium-gallery-main{
		width:100%;
		max-width:100%;
		min-width:0;

		aspect-ratio:16 / 10;

		margin-bottom:12px;

		overflow:hidden;
	}

	.premium-main-slider{
		width:100% !important;
		max-width:100% !important;
		min-width:0 !important;

		height:100% !important;

		aspect-ratio:auto;
	}

	.premium-main-slider .swiper-wrapper{
		width:100%;
		height:100%;
	}

	.premium-main-slider .swiper-slide{
		width:100% !important;
		max-width:100%;
		min-width:0;

		height:100%;
		box-sizing:border-box;
	}

	.premium-main-slider .swiper-slide img{
		display:block;

		width:100%;
		max-width:100%;

		height:100%;

		object-fit:cover;
	}

	.premium-gallery-thumb{
		width:100%;
		max-width:100%;
		min-width:0;

		height:80px;

		overflow:hidden;
	}

	.premium-thumb-slider{
		width:100%;
		max-width:100%;
		min-width:0;

		height:80px;
	}

	.premium-full-card__content{
		width:100%;
		max-width:100%;
		min-width:0;

		padding:30px 24px;
		box-sizing:border-box;
	}

	.premium-full-list{
		padding:10px;
	}

	.sub-price{
		font-size:12px;
	}

	.premium-card-price{
		font-size:18px;
	}

}