/*
 * London Premium v76: refined mini-cart imagery and cinematic product media.
 */

:root {
	--lp76-black: #060504;
	--lp76-ink: #0f0d0a;
	--lp76-paper: #f4efe6;
	--lp76-cream: #fbf7ef;
	--lp76-gold: #d1ad59;
	--lp76-gold-dark: #a9883f;
	--lp76-line: rgba(15, 13, 10, 0.15);
}

body .lp-drawer.js-cart-drawer .lp-mini-cart__item {
	grid-template-columns: clamp(118px, 18vw, 150px) minmax(0, 1fr) !important;
	gap: clamp(20px, 3vw, 30px) !important;
}

body .lp-drawer.js-cart-drawer .lp-mini-cart__image {
	display: grid !important;
	place-items: center !important;
	width: clamp(118px, 18vw, 150px) !important;
	height: clamp(132px, 20vw, 168px) !important;
	min-width: clamp(118px, 18vw, 150px) !important;
	padding: 8px !important;
	background: linear-gradient(145deg, #efe6d8, #f9f3e9) !important;
	overflow: hidden !important;
}

body .lp-drawer.js-cart-drawer .lp-mini-cart__image img,
body .lp-drawer.js-cart-drawer .lp-mini-cart__image img.lp-mini-cart__product-image {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
	mix-blend-mode: multiply !important;
	background: transparent !important;
}

html body.single-product .lp-v43-product__gallery .lp-product-gallery__main {
	isolation: isolate !important;
}

html body.single-product .lp-product-gallery__slide--video {
	background: #050403 !important;
}

html body.single-product .lp-v76-video-frame {
	position: relative !important;
	display: grid !important;
	place-items: center !important;
	width: 100% !important;
	height: 100% !important;
	min-height: inherit !important;
	overflow: hidden !important;
	background:
		radial-gradient(circle at 48% 30%, rgba(209, 173, 89, 0.18), transparent 34%),
		linear-gradient(145deg, rgba(255, 250, 242, 0.05), rgba(0, 0, 0, 0.08)),
		#050403 !important;
}

html body.single-product .lp-v76-video-frame::before,
html body.single-product .lp-v76-video-frame::after {
	content: "" !important;
	position: absolute !important;
	pointer-events: none !important;
	z-index: 2 !important;
}

html body.single-product .lp-v76-video-frame::before {
	inset: 0 !important;
	background:
		linear-gradient(90deg, rgba(0, 0, 0, 0.58), transparent 18%, transparent 82%, rgba(0, 0, 0, 0.58)),
		linear-gradient(180deg, transparent 64%, rgba(0, 0, 0, 0.48)) !important;
	opacity: 0.75 !important;
}

html body.single-product .lp-v76-video-frame::after {
	inset: 16px !important;
	border: 1px solid rgba(209, 173, 89, 0.28) !important;
}

html body.single-product .lp-v76-product-video {
	position: relative !important;
	z-index: 1 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
	background: #050403 !important;
}

body.lp-v76-video-js.single-product .lp-v76-product-video::-webkit-media-controls {
	display: none !important;
}

html body.single-product .lp-v76-video-play {
	position: absolute !important;
	z-index: 5 !important;
	left: 50% !important;
	top: 50% !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 14px !important;
	min-height: 58px !important;
	padding: 0 24px 0 14px !important;
	border: 1px solid rgba(209, 173, 89, 0.72) !important;
	border-radius: 999px !important;
	background: rgba(5, 4, 3, 0.76) !important;
	color: #fffaf2 !important;
	backdrop-filter: blur(18px) !important;
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.36), inset 0 0 0 1px rgba(255, 250, 242, 0.08) !important;
	transform: translate(-50%, -50%) !important;
	transition: opacity 220ms ease, transform 220ms ease, border-color 220ms ease !important;
}

html body.single-product .lp-v76-video-play:hover {
	border-color: rgba(255, 230, 164, 0.92) !important;
	transform: translate(-50%, -50%) scale(1.025) !important;
}

html body.single-product .lp-v76-video-play__icon {
	display: inline-grid !important;
	place-items: center !important;
	width: 38px !important;
	height: 38px !important;
	border-radius: 50% !important;
	background: var(--lp76-gold) !important;
	color: var(--lp76-black) !important;
}

html body.single-product .lp-v76-video-play__icon svg {
	width: 18px !important;
	height: 18px !important;
}

html body.single-product .lp-v76-video-play__text {
	color: #fffaf2 !important;
	font: 900 11px/1 var(--lp-font-body, "Manrope", sans-serif) !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	white-space: nowrap !important;
}

html body.single-product .lp-v76-video-frame.is-playing .lp-v76-video-play {
	opacity: 0 !important;
	pointer-events: none !important;
	transform: translate(-50%, -48%) scale(0.94) !important;
}

html body.single-product .lp-v76-video-chrome {
	position: absolute !important;
	z-index: 6 !important;
	left: clamp(18px, 2.4vw, 34px) !important;
	right: clamp(18px, 2.4vw, 34px) !important;
	bottom: clamp(18px, 2.4vw, 34px) !important;
	display: grid !important;
	grid-template-columns: 44px minmax(0, 1fr) auto !important;
	align-items: center !important;
	gap: 14px !important;
	min-height: 54px !important;
	padding: 8px 14px 8px 8px !important;
	border: 1px solid rgba(209, 173, 89, 0.34) !important;
	border-radius: 999px !important;
	background: rgba(5, 4, 3, 0.66) !important;
	backdrop-filter: blur(18px) !important;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28) !important;
}

html body.single-product .lp-v76-video-mini-toggle {
	display: grid !important;
	place-items: center !important;
	width: 38px !important;
	height: 38px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: var(--lp76-gold) !important;
	color: var(--lp76-black) !important;
}

html body.single-product .lp-v76-video-mini-toggle svg {
	width: 16px !important;
	height: 16px !important;
}

html body.single-product .lp-v76-video-progress {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	height: 4px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: rgba(255, 250, 242, 0.25) !important;
	overflow: hidden !important;
	cursor: pointer !important;
}

html body.single-product .lp-v76-video-progress span {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	background: linear-gradient(90deg, var(--lp76-gold), #f5df9c) !important;
	transform: scaleX(0) !important;
	transform-origin: left center !important;
}

html body.single-product .lp-v76-video-time {
	color: rgba(255, 250, 242, 0.74) !important;
	font: 800 10px/1 var(--lp-font-body, "Manrope", sans-serif) !important;
	letter-spacing: 0.14em !important;
	white-space: nowrap !important;
}

html body.single-product .lp-v76-video-error {
	position: absolute !important;
	z-index: 7 !important;
	left: clamp(22px, 3vw, 46px) !important;
	right: clamp(22px, 3vw, 46px) !important;
	bottom: clamp(84px, 8vw, 112px) !important;
	display: none !important;
	margin: 0 !important;
	padding: 16px 18px !important;
	border: 1px solid rgba(209, 173, 89, 0.42) !important;
	background: rgba(5, 4, 3, 0.78) !important;
	color: rgba(255, 250, 242, 0.86) !important;
	font: 700 12px/1.55 var(--lp-font-body, "Manrope", sans-serif) !important;
	text-align: center !important;
	backdrop-filter: blur(16px) !important;
}

html body.single-product .lp-v76-video-frame.has-video-error .lp-v76-video-error {
	display: block !important;
}

html body.single-product .lp-v43-product__gallery .lp-v41-gallery__controls {
	left: auto !important;
	right: clamp(18px, 2.2vw, 34px) !important;
	bottom: clamp(18px, 2.2vw, 34px) !important;
	z-index: 9 !important;
	display: grid !important;
	grid-template-columns: 44px auto 44px !important;
	align-items: center !important;
	gap: 8px !important;
	width: auto !important;
	padding: 6px !important;
	border: 1px solid rgba(209, 173, 89, 0.36) !important;
	border-radius: 999px !important;
	background: rgba(5, 4, 3, 0.52) !important;
	backdrop-filter: blur(18px) !important;
	box-shadow: 0 16px 44px rgba(0, 0, 0, 0.22) !important;
	transform: none !important;
}

html body.single-product .lp-v43-product__gallery .lp-v41-gallery__arrow {
	display: grid !important;
	place-items: center !important;
	width: 44px !important;
	height: 44px !important;
	border: 1px solid rgba(209, 173, 89, 0.54) !important;
	border-radius: 50% !important;
	background: rgba(255, 250, 242, 0.92) !important;
	color: var(--lp76-black) !important;
	box-shadow: none !important;
}

html body.single-product .lp-v43-product__gallery .lp-v41-gallery__controls > span {
	min-width: 58px !important;
	color: var(--lp76-gold) !important;
	font: 900 10px/1 var(--lp-font-body, "Manrope", sans-serif) !important;
	letter-spacing: 0.16em !important;
	text-align: center !important;
}

html body.single-product .lp-v43-product__gallery .lp-product-gallery__thumbs {
	z-index: 8 !important;
	padding: 8px !important;
	border: 1px solid rgba(209, 173, 89, 0.2) !important;
	border-radius: 18px !important;
	background: rgba(5, 4, 3, 0.44) !important;
	backdrop-filter: blur(14px) !important;
}

html body.single-product .lp-v43-product__gallery .lp-product-gallery__thumb {
	border-color: rgba(209, 173, 89, 0.24) !important;
	background: rgba(255, 250, 242, 0.88) !important;
}

html body.single-product .lp-v43-product__gallery .lp-product-gallery__thumb.is-active {
	border-color: var(--lp76-gold) !important;
	box-shadow: 0 0 0 1px rgba(209, 173, 89, 0.36) !important;
}

html body.single-product .lp-v54-media-viewer {
	background:
		radial-gradient(circle at 50% 26%, rgba(209, 173, 89, 0.12), transparent 30%),
		rgba(0, 0, 0, 0.94) !important;
	backdrop-filter: blur(18px) !important;
}

html body.single-product .lp-v54-media-viewer__stage {
	width: min(100vw - 120px, 1180px) !important;
	height: min(86vh, 860px) !important;
	margin: auto !important;
}

html body.single-product .lp-v54-media-viewer__item img,
html body.single-product .lp-v54-media-viewer__item .lp-v76-video-frame,
html body.single-product .lp-v54-media-viewer__item video {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
}

html body.single-product .lp-v54-media-viewer__item .lp-v76-video-frame {
	border: 1px solid rgba(209, 173, 89, 0.32) !important;
	background: #050403 !important;
}

html body.single-product .lp-v54-media-viewer__close,
html body.single-product .lp-v54-media-viewer__arrow {
	display: grid !important;
	place-items: center !important;
	border: 1px solid rgba(209, 173, 89, 0.76) !important;
	border-radius: 50% !important;
	background: rgba(5, 4, 3, 0.56) !important;
	color: #f6dfa2 !important;
	backdrop-filter: blur(16px) !important;
	box-shadow: 0 20px 56px rgba(0, 0, 0, 0.35) !important;
	transition: transform 180ms ease, background 180ms ease !important;
}

html body.single-product .lp-v54-media-viewer__close:hover,
html body.single-product .lp-v54-media-viewer__arrow:hover {
	background: rgba(209, 173, 89, 0.16) !important;
	transform: scale(1.04) !important;
}

html body.single-product .lp-v54-media-viewer__arrow {
	width: 62px !important;
	height: 62px !important;
}

html body.single-product .lp-v54-media-viewer__close {
	width: 64px !important;
	height: 64px !important;
}

html body.single-product .lp-v54-media-viewer__count {
	padding: 10px 18px !important;
	border: 1px solid rgba(209, 173, 89, 0.28) !important;
	border-radius: 999px !important;
	background: rgba(5, 4, 3, 0.58) !important;
	color: #f6dfa2 !important;
	backdrop-filter: blur(16px) !important;
}

@media (max-width: 780px) {
	body .lp-drawer.js-cart-drawer .lp-mini-cart__item {
		grid-template-columns: 104px minmax(0, 1fr) !important;
		gap: 16px !important;
	}

	body .lp-drawer.js-cart-drawer .lp-mini-cart__image {
		width: 104px !important;
		height: 124px !important;
		min-width: 104px !important;
		padding: 7px !important;
	}

	html body.single-product .lp-v76-video-frame::after {
		inset: 10px !important;
	}

	html body.single-product .lp-v76-video-play {
		min-height: 50px !important;
		padding: 0 18px 0 10px !important;
		gap: 10px !important;
	}

	html body.single-product .lp-v76-video-play__icon {
		width: 34px !important;
		height: 34px !important;
	}

	html body.single-product .lp-v76-video-play__text {
		font-size: 10px !important;
		letter-spacing: 0.16em !important;
	}

	html body.single-product .lp-v76-video-chrome {
		left: 14px !important;
		right: 14px !important;
		bottom: 14px !important;
		grid-template-columns: 38px minmax(0, 1fr) !important;
		gap: 10px !important;
		border-radius: 22px !important;
	}

	html body.single-product .lp-v76-video-time {
		grid-column: 2 !important;
		font-size: 9px !important;
	}

	html body.single-product .lp-v43-product__gallery .lp-v41-gallery__controls {
		right: 14px !important;
		bottom: 14px !important;
		grid-template-columns: 38px auto 38px !important;
		padding: 5px !important;
	}

	html body.single-product .lp-v43-product__gallery .lp-v41-gallery__arrow {
		width: 38px !important;
		height: 38px !important;
	}

	html body.single-product .lp-v43-product__gallery .lp-product-gallery__thumbs {
		left: 12px !important;
		bottom: 14px !important;
		max-width: calc(100% - 152px) !important;
		overflow-x: auto !important;
	}

	html body.single-product .lp-v54-media-viewer__stage {
		width: calc(100vw - 24px) !important;
		height: calc(100svh - 168px) !important;
	}

	html body.single-product .lp-v54-media-viewer__arrow {
		width: 48px !important;
		height: 48px !important;
		top: auto !important;
		bottom: 28px !important;
	}

	html body.single-product .lp-v54-media-viewer__arrow--prev {
		left: 22px !important;
	}

	html body.single-product .lp-v54-media-viewer__arrow--next {
		right: 22px !important;
	}

	html body.single-product .lp-v54-media-viewer__close {
		width: 52px !important;
		height: 52px !important;
		top: 18px !important;
		right: 18px !important;
	}

	html body.single-product .lp-v54-media-viewer__count {
		bottom: 36px !important;
	}
}
