/*
|--------------------------------------------------------------------------
| Product Preview Overlay
|--------------------------------------------------------------------------
*/

.riven-preview-overlay {

	position: fixed;

	inset: 0;

	background:
		rgba(0,0,0,.6);

	backdrop-filter:
		blur(10px);

	opacity: 0;

	visibility: hidden;

	transition:
		opacity .3s ease,
		visibility .3s ease;

	z-index: 99998;

}


.riven-preview-overlay.is-active {

	opacity: 1;

	visibility: visible;

}





/*
|--------------------------------------------------------------------------
| Drawer
|--------------------------------------------------------------------------
*/

.riven-preview-drawer {

	position: fixed;

	left: 50%;

	bottom: 0;

	width: 1180px;

	max-width:
		calc(100% - 60px);

	height: 88vh;

	background: #fff;

	color: #111;

	border-radius:
		28px
		28px
		0
		0;

	transform:
		translate(
			-50%,
			110%
		);

	transition:
		transform .35s cubic-bezier(.4,0,.2,1);

	box-shadow:
		0 -25px 80px rgba(0,0,0,.35);

	overflow: hidden;

	z-index: 99999;

}


.riven-preview-drawer.is-active {

	transform:
		translate(
			-50%,
			0
		);

}





/*
|--------------------------------------------------------------------------
| Close
|--------------------------------------------------------------------------
*/

.riven-preview-close {

	position: absolute;

	top: 25px;

	right: 25px;

	width: 50px;

	height: 50px;

	border-radius: 50%;

	border: 0;

	background: #080808;

	color: #fff;

	font-size: 22px;

	cursor: pointer;

	z-index: 20;

}





/*
|--------------------------------------------------------------------------
| Content
|--------------------------------------------------------------------------
*/

.riven-preview-content {

	height: 100%;

	padding:
		50px
		60px;

	overflow-y: auto;

}


.riven-preview-product {

	display: grid;

	grid-template-columns:
		1fr
		1fr;

	gap: 55px;

	align-items: start;

}





/*
|--------------------------------------------------------------------------
| Gallery
|--------------------------------------------------------------------------
*/

.riven-preview-gallery-wrap {

	width: 100%;

}


.riven-preview-main-image {

	height: 560px;

	background: #f7f7f8;

	border-radius: 26px;

	display: flex;

	align-items: center;

	justify-content: center;

	overflow: hidden;

}


.riven-preview-main-image img {

	width: auto !important;

	height: auto !important;

	max-width: 90% !important;

	max-height: 90% !important;

	object-fit: contain;

	transition:
		opacity .2s ease;

}


.riven-preview-thumbs {

	display: flex;

	gap: 12px;

	margin-top: 18px;

}


.riven-preview-thumb {

	width: 70px;

	height: 70px;

	padding: 5px;

	background:#f3f3f3;

	border:
		2px solid transparent;

	border-radius: 14px;

	cursor:pointer;

}


.riven-preview-thumb.active {

	border-color:#dfff27;

}


.riven-preview-thumb img {

	width:100%;

	height:100%;

	object-fit:cover;

	border-radius:10px;

}





/*
|--------------------------------------------------------------------------
| Summary
|--------------------------------------------------------------------------
*/

.riven-preview-info {

	width:100%;

	padding-right:35px;

	margin-bottom:20px;

}


.riven-preview-badge {

	display:inline-flex;

	padding:
		6px
		15px;

	background:#080808;

	color:#fff;

	border-radius:30px;

	font-size:13px;

	font-weight:700;

	margin-bottom:15px;

}


.riven-preview-title {

	font-size:32px;

	line-height:1.15;

	font-weight:850;

	margin:
		0
		0
		15px;

	color:#111;

}


.riven-preview-price {

	font-size:25px;

	font-weight:800;

	margin-bottom:22px;

	color:#111;

}


.riven-preview-desc {

	font-size:14px;

	color:#666;

	line-height:1.6;

	margin-bottom:20px;

}


.riven-preview-meta {

	margin-bottom:25px;

}


.riven-preview-meta-item {

	font-size:15px;

	margin-bottom:8px;

}





/*
|--------------------------------------------------------------------------
| Variations
|--------------------------------------------------------------------------
*/

.riven-preview-drawer table.variations {

	width:100%;

	margin-bottom:18px;

}


.riven-preview-drawer table.variations tbody,
.riven-preview-drawer table.variations tr,
.riven-preview-drawer table.variations td {

	display:block;

	width:100%;

}


.riven-preview-drawer table.variations th {

	display:none;

}


.riven-preview-drawer table.variations select {

	display:block;

	width:100% !important;

	height:55px;

	margin-bottom:12px;

	padding:
		0
		18px;

	background:#130722 !important;

	color:#fff !important;

	border:0;

	border-radius:15px;

}


/*
|--------------------------------------------------------------------------
| Preview Options
|--------------------------------------------------------------------------
*/

.riven-preview-option {

	display: flex;

	align-items: center;

	gap: 20px;

	margin-bottom: 16px;

}



.riven-preview-option label {

	width: 75px;

	flex-shrink: 0;

	color: #111;

	font-size: 15px;

	font-weight: 800;

}



.riven-preview-option select {

	flex: 1;

	height: 54px;

	padding:
		0
		18px;

	background:
		#12051f !important;

	color:
		#fff !important;

	border:
		0;

	border-radius:
		14px;

	font-size:
		15px;

}

@media(max-width:767px){

	.riven-preview-option {

		gap: 12px;

	}


	.riven-preview-option label {

		width: 65px;

		font-size: 14px;

	}


}
/*
|--------------------------------------------------------------------------
| Cart
|--------------------------------------------------------------------------
*/

.riven-preview-drawer form.cart {

	width:100%;

}


.riven-preview-drawer .woocommerce-variation-add-to-cart,
.riven-preview-drawer form.cart:not(.variations_form) {

	display:flex;

	align-items:center;

	gap:14px;

}


.riven-preview-drawer .quantity {

	width:95px;

	flex-shrink:0;

}


.riven-preview-drawer input.qty {

	width:100%;

	height:56px;

	background:#130722;

	color:#fff;

	border-radius:15px;

}


.riven-preview-drawer button.single_add_to_cart_button {

	flex:1;

	height:56px;

	border-radius:15px;

	background:#080808 !important;

	color:#fff !important;

	font-weight:800;

}





/*
|--------------------------------------------------------------------------
| Order Button
|--------------------------------------------------------------------------
*/

.riven-preview-order {

	width:100%;

	height:62px;

	margin-top:18px;

	display:flex;

	align-items:center;

	justify-content:center;

	border-radius:18px;

	background:#080808;

	color:#fff;

	font-size:18px;

	font-weight:800;

}





/*
|--------------------------------------------------------------------------
| Trust Hide
|--------------------------------------------------------------------------
*/

.riven-preview-trust {

	display:none;

}





/*
|--------------------------------------------------------------------------
| Mobile
|--------------------------------------------------------------------------
*/

@media(max-width:767px){


	.riven-preview-drawer {

		width:100%;

		max-width:100%;

		height:92vh;

		border-radius:
			24px
			24px
			0
			0;

	}


	.riven-preview-content {

		padding:25px;

	}


	.riven-preview-product {

		grid-template-columns:1fr;

		gap:30px;

	}


	.riven-preview-main-image {

		height:380px;

	}


	.riven-preview-info {

		padding-right:0;

	}


	.riven-preview-title {

		font-size:28px;

	}


}


/*
|--------------------------------------------------------------------------
| Product Details
|--------------------------------------------------------------------------
*/

.riven-preview-details {

	margin-top: 70px;

}


.riven-preview-section-head h3{

	margin-bottom: 30px;
    color: #111;

}


.riven-preview-section-head span {

	color:#777;

	text-transform:uppercase;

	letter-spacing:2px;

	font-size:13px;

	font-weight:700;

}


.riven-preview-section-head h3 {

	margin-top:8px;

	font-size:34px;

	font-weight:900;

}



.riven-preview-details-grid {

	display:grid;

	grid-template-columns:
		1.2fr
		.8fr;

	gap:30px;

}



.riven-preview-description,
.riven-preview-specs {

	background:#f7f7f8;

	border-radius:26px;

	padding:35px;

}



.riven-preview-description h4,
.riven-preview-specs h4 {

	font-size:22px;

	margin-bottom:20px;

    color: #000000;

}



.riven-preview-description {

	line-height:1.8;

	color:#555;

}



.riven-preview-spec-item {

	display:flex;

	justify-content:space-between;

	gap:20px;

	padding:
		14px
		0;

	border-bottom:
		1px solid rgba(0,0,0,.08);

}



.riven-preview-spec-item span {

	color:#777;

}


.riven-preview-spec-item strong {

	color:#111;

}

.riven-preview-details-grid.no-specs {

	grid-template-columns:
		1fr;

}


.riven-preview-details-grid.no-specs
.riven-preview-description {

	max-width:100%;

}








/*
|--------------------------------------------------------------------------
| Feature Highlight
|--------------------------------------------------------------------------
*/

.riven-preview-features {

	margin-top:80px;

}


.riven-preview-feature-grid {

	display:grid;

	grid-template-columns:
		.9fr
		1.1fr;

	gap:40px;

	align-items:center;

}


.riven-preview-feature-list {

	display:flex;

	flex-direction:column;

	gap:20px;

}


.riven-preview-feature-item {

	display:flex;

	align-items:flex-start;

	gap:18px;

	background:#f7f7f8;

	border-radius:24px;

	padding:28px;

}


.riven-preview-feature-icon {

	width:52px;

	height:52px;

	min-width:52px;

	border-radius:50%;

	background:#080808;

	color:#fff;

	display:flex;

	align-items:center;

	justify-content:center;

	font-size:22px;

}


.riven-preview-feature-item h4 {

	font-size:20px;

	font-weight:900;

	margin:
		0
		0
		8px;

	color:#111;

}


.riven-preview-feature-item p {

	margin:0;

	color:#777;

	line-height:1.6;

}




.riven-preview-feature-image {

	height:480px;

	background:#f7f7f8;

	border-radius:32px;

	display:flex;

	align-items:center;

	justify-content:center;

	overflow:hidden;

}


.riven-preview-feature-image img {

	max-width:85%;

	max-height:85%;

	object-fit:contain;

}





@media(max-width:767px){


	.riven-preview-feature-grid {

		grid-template-columns:1fr;

	}


	.riven-preview-feature-image {

		height:350px;

	}


}


/*
|--------------------------------------------------------------------------
| Feature Highlights
|--------------------------------------------------------------------------
*/

.riven-preview-highlights {

	margin-top:90px;

}



.riven-preview-highlight-grid {

	display:grid;

	grid-template-columns:
		repeat(4,1fr);

	gap:22px;

}





.riven-preview-highlight-card {

	background:#f7f7f8;

	border-radius:28px;

	overflow:hidden;

	transition:.3s ease;

}



.riven-preview-highlight-card:hover {

	transform:
		translateY(-6px);

}





.riven-preview-highlight-media {

	height:230px;

	display:flex;

	align-items:center;

	justify-content:center;

	background:#f1f1f3;

}



.riven-preview-highlight-media img {

	width:85%;

	height:85%;

	object-fit:contain;

}





.riven-preview-highlight-content {

	padding:25px;

}



.riven-preview-highlight-content h4 {

	font-size:20px;

	font-weight:900;

	color:#111;

	margin:
		0
		0
		10px;

}



.riven-preview-highlight-content p {

	font-size:14px;

	line-height:1.6;

	color:#777;

	margin:0;

}





@media(max-width:900px){


	.riven-preview-highlight-grid {

		grid-template-columns:
			repeat(2,1fr);

	}


}


@media(max-width:600px){


	.riven-preview-highlight-grid {

		grid-template-columns:1fr;

	}


}


/*
|--------------------------------------------------------------------------
| Product Video
|--------------------------------------------------------------------------
*/

.riven-preview-video {

	margin-top:90px;

}



.riven-preview-video-box {

	position:relative;

	width:100%;

	aspect-ratio:
		16 / 9;

	background:#080808;

	border-radius:34px;

	overflow:hidden;

	box-shadow:
		0 25px 70px rgba(0,0,0,.18);

}



.riven-preview-video-box iframe {

	position:absolute;

	inset:0;

	width:100% !important;

	height:100% !important;

	border:0;

}





@media(max-width:767px){


	.riven-preview-video {

		margin-top:60px;

	}



	.riven-preview-video-box {

		border-radius:22px;

	}


}


/*
|--------------------------------------------------------------------------
| Measurements
|--------------------------------------------------------------------------
*/

.riven-preview-measurements {

	margin-top:90px;

}



.riven-preview-measurement-image {

	width:100%;

	height:520px;

	background:#f7f7f8;

	border-radius:34px;

	display:flex;

	align-items:center;

	justify-content:center;

	overflow:hidden;

	padding:40px;

}



.riven-preview-measurement-image img {

	width:100%;

	height:100%;

	object-fit:contain;

}





@media(max-width:767px){


	.riven-preview-measurements {

		margin-top:60px;

	}



	.riven-preview-measurement-image {

		min-height:280px;

		padding:20px;

		border-radius:24px;

	}


}



/*
|--------------------------------------------------------------------------
| Related Products
|--------------------------------------------------------------------------
*/

.riven-preview-related {

	margin-top:90px;

	padding-bottom:40px;

}



.riven-preview-related
.riven-product-grid {

	grid-template-columns:
		repeat(
			4,
			1fr
		);

	gap:22px;

}





.riven-preview-related
.riven-product-card {

	background:#f7f7f8;

	border-radius:24px;

}





@media(max-width:900px){


	.riven-preview-related
	.riven-product-grid {

		grid-template-columns:
			repeat(
				2,
				1fr
			);

	}


}



@media(max-width:600px){


	.riven-preview-related
	.riven-product-grid {

		grid-template-columns:
			1fr;

	}


}


/*
|--------------------------------------------------------------------------
| Sticky Buy Bar
|--------------------------------------------------------------------------
*/

.riven-preview-sticky-buy {

	position: fixed;

	left: 50%;

	bottom: 25px;

	width:
		calc(1180px - 80px);

	max-width:
		calc(100% - 120px);

	height: 78px;

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

	backdrop-filter:
		blur(18px);

	border:
		1px solid rgba(0,0,0,.08);

	border-radius:24px;

	display:flex;

	align-items:center;

	justify-content:space-between;

	padding:
		12px
		16px;

	box-shadow:
		0 20px 60px rgba(0,0,0,.18);

	z-index:100000;


	opacity:0;

	visibility:hidden;

	transform:
		translate(
			-50%,
			40px
		);

	transition:
		all .3s ease;

}


.riven-preview-sticky-buy.is-visible {


	opacity:1;

	visibility:visible;

	transform:
		translate(
			-50%,
			0
		);

}



.riven-preview-content {

	padding-bottom:150px;

}




.riven-preview-sticky-product {

	display:flex;

	align-items:center;

	gap:14px;

}




.riven-preview-sticky-image {

	width:54px;

	height:54px;

	background:#f5f5f5;

	border-radius:14px;

	display:flex;

	align-items:center;

	justify-content:center;

}




.riven-preview-sticky-image img {

	max-width:85%;

	max-height:85%;

	object-fit:contain;

}




.riven-preview-sticky-info h4 {

	margin:0;

	font-size:15px;

	font-weight:800;

	color:#111;

	max-width:350px;

	white-space:nowrap;

	overflow:hidden;

	text-overflow:ellipsis;

}




.riven-preview-sticky-price {

	margin-top:4px;

	font-size:14px;

	font-weight:700;

	color:#555;

}




.riven-preview-sticky-order {

	height:52px;

	padding:
		0
		35px;

	border-radius:16px;

	border:0;

	background:#080808;

	color:#fff;

	font-size:16px;

	font-weight:800;

	cursor:pointer;

}


/*
|--------------------------------------------------------------------------
| Sticky Buy Mobile
|--------------------------------------------------------------------------
*/

@media(max-width:767px){


	.riven-preview-sticky-buy {

		height:
			70px;

		left: 50%;

		right:
			12px;

		bottom:
			12px;

		padding:
			10px;

		border-radius:
			20px;

		gap:
			10px;

	}



	.riven-preview-sticky-product {

		flex:
			1;

		min-width:
			0;

		gap:
			10px;

	}



	.riven-preview-sticky-image {

		width:
			48px;

		height:
			48px;

		min-width:
			48px;

		border-radius:
			14px;

	}



	.riven-preview-sticky-info {

		min-width:
			0;

	}



	.riven-preview-sticky-info h4 {

		font-size:
			13px;

		line-height:
			1.2;

		max-width:
			130px;

		white-space:
			nowrap;

		overflow:
			hidden;

		text-overflow:
			ellipsis;

	}



	.riven-preview-sticky-price {

		font-size:
			12px;

		margin-top:
			3px;

		white-space:
			nowrap;

	}



	.riven-preview-sticky-order {

		width:
			105px;

		height:
			48px;

		padding:
			0;

		border-radius:
			16px;

		font-size:
			14px;

		line-height:
			1.1;

		flex-shrink:
			0;

	}


}



/*
|--------------------------------------------------------------------------
| Product Preview Skeleton
|--------------------------------------------------------------------------
*/

.riven-preview-skeleton {

	display:
		grid;

	grid-template-columns:
		1fr
		1fr;

	gap:
		55px;

	width:
		100%;

}





/*
|--------------------------------------------------------------------------
| Skeleton Base
|--------------------------------------------------------------------------
*/

.riven-skeleton-image,
.riven-skeleton-thumbs span,
.riven-skeleton-summary span,
.riven-skeleton-button {

	position:
		relative;

	overflow:
		hidden;

	background:
		#eeeeee;

}



.riven-skeleton-image:after,
.riven-skeleton-thumbs span:after,
.riven-skeleton-summary span:after,
.riven-skeleton-button:after {

	content:
		'';

	position:
		absolute;

	inset:
		0;

	background:
		linear-gradient(
			90deg,
			transparent,
			rgba(255,255,255,.8),
			transparent
		);

	transform:
		translateX(-100%);

	animation:
		rivenSkeletonLoading
		1.5s
		infinite;

}





/*
|--------------------------------------------------------------------------
| Gallery Skeleton
|--------------------------------------------------------------------------
*/

.riven-skeleton-gallery {

	width:
		100%;

}



.riven-skeleton-image {

	height:
		560px;

	border-radius:
		28px;

}





.riven-skeleton-thumbs {

	display:
		flex;

	gap:
		12px;

	margin-top:
		18px;

}



.riven-skeleton-thumbs span {

	display:
		block;

	width:
		70px;

	height:
		70px;

	border-radius:
		16px;

}






/*
|--------------------------------------------------------------------------
| Summary Skeleton
|--------------------------------------------------------------------------
*/

.riven-skeleton-summary {

	padding-right:
		35px;

	padding-top:
		20px;

}



.riven-skeleton-summary span {

	display:
		block;

	height:
		18px;

	width:
		100%;

	margin-bottom:
		22px;

	border-radius:
		20px;

}



.riven-skeleton-summary
.riven-skeleton-title {

	height:
		45px;

	width:
		80%;

	margin-bottom:
		30px;

}



.riven-skeleton-summary span:nth-child(2) {

	width:
		45%;

}



.riven-skeleton-summary span:nth-child(3) {

	width:
		70%;

}



.riven-skeleton-summary span:nth-child(4) {

	width:
		90%;

}





.riven-skeleton-button {

	width:
		100%;

	height:
		60px;

	margin-top:
		35px;

	border-radius:
		18px;

}






/*
|--------------------------------------------------------------------------
| Animation
|--------------------------------------------------------------------------
*/

@keyframes rivenSkeletonLoading {


	100% {

		transform:
			translateX(100%);

	}


}





/*
|--------------------------------------------------------------------------
| Loading State
|--------------------------------------------------------------------------
*/

.riven-preview-content.is-loading {

	overflow:
		hidden;

}






/*
|--------------------------------------------------------------------------
| Mobile
|--------------------------------------------------------------------------
*/

@media(max-width:767px){


	.riven-preview-skeleton {

		grid-template-columns:
			1fr;

		gap:
			30px;

	}



	.riven-skeleton-image {

		height:
			380px;

	}



	.riven-skeleton-summary {

		padding-right:
			0;

	}


}