/*
 * VIVI Commerce overlay system.
 * Scope: VIVI family product, 94 Deals product, account ticket QR detail.
 */
.vivi-commerce-overlay[hidden]{display:none!important}
.vivi-commerce-overlay{
	position:fixed;
	inset:0;
	z-index:100200;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:24px;
	box-sizing:border-box;
	font-family:var(--vivi-font-body,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
	color:var(--vivi-color-text,#5a5a5a);
	opacity:0;
	pointer-events:none;
	transition:opacity .22s ease;
	overflow:hidden;
}
.vivi-commerce-overlay.is-open,.vivi-commerce-overlay.is-active{opacity:1;pointer-events:auto}
.vivi-commerce-overlay__backdrop{
	position:absolute;
	inset:0;
	background:rgba(15,23,42,.54);
	backdrop-filter:blur(4px);
	-webkit-backdrop-filter:blur(4px);
}
.vivi-commerce-overlay__panel{
	position:relative;
	z-index:1;
	display:flex;
	flex-direction:column;
	width:min(920px,calc(100vw - 48px));
	max-height:calc(100dvh - 48px);
	min-height:0;
	margin:0;
	padding:0;
	border:1px solid var(--vivi-color-border,rgba(31,26,23,.12));
	border-radius:var(--vivi-radius,8px);
	background:var(--vivi-color-card,#fff);
	box-shadow:0 30px 90px rgba(15,23,42,.28);
	overflow:hidden;
	outline:none;
	box-sizing:border-box;
	transform:translateY(10px) scale(.995);
	transition:transform .22s ease;
}
.vivi-commerce-overlay.is-open .vivi-commerce-overlay__panel,
.vivi-commerce-overlay.is-active .vivi-commerce-overlay__panel{transform:translateY(0) scale(1)}
.vivi-commerce-overlay__handle{display:none}
.vivi-commerce-overlay__header{
	position:relative;
	z-index:8;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	flex:0 0 auto;
	min-height:78px;
	padding:18px 72px 16px 24px;
	border-bottom:1px solid var(--vivi-color-border,rgba(31,26,23,.12));
	background:var(--vivi-color-card,#fff);
	box-sizing:border-box;
}
.vivi-commerce-overlay__title-wrap{min-width:0}
.vivi-commerce-overlay__eyebrow{
	display:block;
	margin:0 0 5px;
	color:var(--vivi-color-primary,#996515);
	font-size:var(--vivi-fs-xs,12px);
	font-weight:700;
	letter-spacing:.08em;
	line-height:1.3;
	text-transform:uppercase;
}
.vivi-commerce-overlay__title{
	margin:0;
	color:var(--vivi-color-heading,#393432);
	font-family:var(--vivi-font-heading,inherit);
	font-size:var(--vivi-fs-h3,24px);
	font-weight:700;
	line-height:1.25;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.vivi-commerce-overlay__close{
	appearance:none;
	-webkit-appearance:none;
	position:absolute;
	top:18px;
	right:18px;
	z-index:12;
	display:flex;
	align-items:center;
	justify-content:center;
	width:38px;
	height:38px;
	min-width:38px;
	min-height:38px;
	margin:0;
	padding:0;
	border:1px solid var(--vivi-color-border,rgba(31,26,23,.12));
	border-radius:var(--vivi-radius,8px);
	background:rgba(255,255,255,.96);
	color:var(--vivi-color-heading,#393432);
	box-shadow:0 8px 22px rgba(15,23,42,.10);
	font-size:0;
	line-height:1;
	cursor:pointer;
}
.vivi-commerce-overlay__close::before{
	content:'×';
	font-size:25px;
	font-weight:400;
	line-height:1;
	transform:translateY(-1px);
}
.vivi-commerce-overlay__close span{display:none}
.vivi-commerce-overlay__body{
	flex:1 1 auto;
	min-height:0;
	overflow:auto;
	padding:20px;
	background:var(--vivi-color-bg,#f8f6f1);
	box-sizing:border-box;
	overscroll-behavior:contain;
	-webkit-overflow-scrolling:touch;
}

/* Desktop product drawer, shared by VIVI Family and 94 Deals. */
@media (min-width:861px){
	.vivi-commerce-overlay--drawer{align-items:stretch;justify-content:flex-end;padding:0}
	.vivi-commerce-overlay--drawer .vivi-commerce-overlay__panel{
		width:min(560px,100vw);
		max-width:100vw;
		height:100dvh;
		max-height:100dvh;
		border-width:0 0 0 1px;
		border-radius:0;
		box-shadow:-24px 0 70px rgba(15,23,42,.24);
		transform:translateX(104%);
	}
	body.admin-bar .vivi-commerce-overlay--drawer .vivi-commerce-overlay__panel{
		height:calc(100dvh - 32px);
		max-height:calc(100dvh - 32px);
		margin-top:32px;
	}
	.vivi-commerce-overlay--drawer.is-open .vivi-commerce-overlay__panel,
	.vivi-commerce-overlay--drawer.is-active .vivi-commerce-overlay__panel{transform:translateX(0)}
}

/* Shared product content, available globally because the family drawer is global. */
.vivi-commerce-overlay--product .vivi-commerce-overlay__body .vivi-ticket-popup-detail{
	display:grid;
	grid-template-columns:minmax(0,1fr);
	gap:16px;
	background:transparent;
}
.vivi-commerce-overlay--product .vivi-ticket-popup-media{
	position:relative;
	overflow:hidden;
	margin:0;
	padding:0;
	border-radius:var(--vivi-radius-md,16px);
	background:#eee6d8;
	box-shadow:var(--vivi-shadow-soft,0 18px 42px rgba(31,26,23,.10));
}
.vivi-commerce-overlay--product .vivi-ticket-popup-main-img,
.vivi-commerce-overlay--product .vivi-ticket-popup-howto-img{display:block;width:100%;height:auto}
.vivi-commerce-overlay--product .vivi-ticket-popup-main-img{aspect-ratio:4/3;object-fit:cover}
.vivi-commerce-overlay--product .vivi-ticket-popup-image-empty{display:flex;align-items:center;justify-content:center;min-height:260px;color:var(--vivi-color-primary,#996515);font-size:42px;font-weight:800;letter-spacing:.08em}
.vivi-commerce-overlay--product .vivi-ticket-popup-info{display:flex;flex-direction:column;gap:14px;min-width:0}
.vivi-commerce-overlay--product .vivi-ticket-popup-section{
	padding:18px;
	border:1px solid var(--vivi-color-border,rgba(31,26,23,.12));
	border-radius:var(--vivi-radius-md,16px);
	background:var(--vivi-color-card,#fff);
	box-shadow:0 12px 28px rgba(31,26,23,.06);
	box-sizing:border-box;
}
.vivi-commerce-overlay--product .vivi-ticket-popup-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.vivi-commerce-overlay--product .vivi-ticket-popup-tags span,
.vivi-commerce-overlay--product .vivi-ticket-popup-brand-tags em{
	display:inline-flex;
	align-items:center;
	min-height:28px;
	padding:0 10px;
	border-radius:999px;
	background:color-mix(in srgb,var(--vivi-color-primary,#996515) 10%,transparent);
	color:var(--vivi-color-primary,#996515);
	font-size:12px;
	font-style:normal;
	font-weight:700;
}
.vivi-commerce-overlay--product .vivi-ticket-popup-title{
	margin:0;
	color:var(--vivi-color-heading,#393432);
	font-family:var(--vivi-font-heading,inherit);
	font-size:clamp(22px,2vw,30px);
	font-weight:800;
	line-height:1.25;
}
.vivi-commerce-overlay--product .vivi-ticket-popup-price-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 12px;margin-top:14px}
.vivi-commerce-overlay--product .vivi-ticket-popup-price-row del{color:var(--vivi-color-text-muted,#7a7470);font-size:14px}
.vivi-commerce-overlay--product .vivi-ticket-popup-price-row strong{color:var(--vivi-color-orange,#d7772d);font-size:26px;font-weight:800}
.vivi-commerce-overlay--product .vivi-ticket-popup-meta{display:grid;gap:10px}
.vivi-commerce-overlay--product .vivi-ticket-popup-meta>div{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;align-items:start}
.vivi-commerce-overlay--product .vivi-ticket-popup-meta span{color:var(--vivi-color-text-muted,#7a7470);font-size:13px}
.vivi-commerce-overlay--product .vivi-ticket-popup-meta strong{min-width:0;color:var(--vivi-color-heading,#393432);font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.vivi-commerce-overlay--product .vivi-ticket-popup-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}
.vivi-commerce-overlay--product .vivi-ticket-popup-actions .vivi-btn,
.vivi-commerce-overlay--product .vivi-ticket-family-checkout-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:var(--vivi-radius,8px);text-decoration:none!important;font-weight:800}
.vivi-commerce-overlay--product .vivi-ticket-family-checkout-btn,
.vivi-commerce-overlay--product .vivi-btn-primary{background:var(--vivi-color-primary,#996515);color:#fff}
.vivi-family-product-modal .vivi-ticket-family-checkout-btn,
.vivi-family-product-modal .vivi-btn-primary{width:100%}
.vivi-family-product-modal .vivi-ticket-popup-share-row{display:none}
.vivi-commerce-overlay--product .vivi-ticket-popup-description,
.vivi-commerce-overlay--product .vivi-ticket-popup-short-description{color:var(--vivi-color-text,#5a5a5a);font-size:15px;line-height:1.8;overflow-wrap:anywhere}
.vivi-commerce-overlay--product .vivi-ticket-popup-description>:first-child,
.vivi-commerce-overlay--product .vivi-ticket-popup-short-description>:first-child{margin-top:0}
.vivi-commerce-overlay--product .vivi-ticket-popup-description>:last-child,
.vivi-commerce-overlay--product .vivi-ticket-popup-short-description>:last-child{margin-bottom:0}
.vivi-commerce-overlay--product .vivi-ticket-popup-rules-shell{position:relative;overflow:hidden;transition:max-height .22s ease}
.vivi-commerce-overlay--product .vivi-ticket-popup-rules-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:36px;margin-top:12px;padding:0 14px;border:1px solid var(--vivi-color-border,rgba(31,26,23,.12));border-radius:var(--vivi-radius,8px);background:var(--vivi-color-card,#fff);color:var(--vivi-color-primary,#996515);font-weight:700;cursor:pointer}
.vivi-commerce-overlay--product .vivi-ticket-popup-loading,
.vivi-commerce-overlay--product .vivi-family-product-loading,
.vivi-commerce-overlay--product .vivi-family-product-error{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:12px;
	min-height:360px;
	padding:40px 20px;
	text-align:center;
}
.vivi-commerce-overlay--product .vivi-family-product-error strong{color:var(--vivi-color-heading,#393432);font-size:18px}
.vivi-commerce-overlay--product .vivi-family-product-error p{margin:0;color:var(--vivi-color-text-muted,#7a7470);font-size:14px;line-height:1.7}
.vivi-commerce-overlay--product .vivi-ticket-popup-spinner,
.vivi-commerce-overlay--product .vivi-family-product-spinner{
	width:34px;
	height:34px;
	border:3px solid var(--vivi-color-border,#e5e7eb);
	border-top-color:var(--vivi-color-primary,#996515);
	border-radius:50%;
	animation:viviCommerceSpin .8s linear infinite;
}

/* Account ticket QR detail content. */
.vivi-commerce-overlay--ticket .vivi-commerce-overlay__body{padding:0;background:var(--vivi-color-card,#fff)}
.vivi-commerce-overlay--ticket .vivi-account-ticket-popup-loading,
.vivi-commerce-overlay--ticket .vivi-account-ticket-popup-error{
	min-height:360px;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:10px;
	padding:48px;
	text-align:center;
}
.vivi-commerce-overlay--ticket .vivi-account-ticket-spinner{
	width:34px;height:34px;border:3px solid var(--vivi-color-border,#e5e7eb);border-top-color:var(--vivi-color-primary,#996515);border-radius:50%;animation:viviCommerceSpin .8s linear infinite
}
.vivi-commerce-overlay--ticket .vivi-account-ticket-popup-loading strong{color:var(--vivi-color-heading,#111827);font-size:18px}
.vivi-commerce-overlay--ticket .vivi-account-ticket-popup-loading>span:last-child{color:var(--vivi-color-text-muted,#7a7f87);font-size:14px}
.vivi-commerce-overlay--ticket .vivi-account-ticket-popup-error{color:#a53f3f}
.vivi-commerce-overlay--ticket .vivi-account-ticket-popup-meta-head{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:18px;
	padding:20px 28px;
	border-bottom:1px solid var(--vivi-color-border,#e5e7eb);
}
.vivi-commerce-overlay--ticket .vivi-account-ticket-popup-meta-copy{min-width:0}
.vivi-commerce-overlay--ticket .vivi-account-ticket-popup-meta-copy>span{display:block;margin:0 0 5px;color:var(--vivi-color-primary,#996515);font-size:12px;font-weight:700}
.vivi-commerce-overlay--ticket .vivi-account-ticket-popup-meta-copy>p{margin:0;color:var(--vivi-color-text-muted,#7a7f87);font-size:13px}
.vivi-commerce-overlay--ticket .vivi-account-ticket-popup-body{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr)}
.vivi-commerce-overlay--ticket .vivi-account-ticket-qr-section{
	display:flex;flex-direction:column;align-items:center;padding:34px 28px;border-right:1px solid var(--vivi-color-border,#e5e7eb);background:var(--vivi-color-bg-soft,#f7f8fa);text-align:center
}
.vivi-commerce-overlay--ticket .vivi-account-ticket-qr-frame{display:flex;align-items:center;justify-content:center;width:240px;max-width:100%;aspect-ratio:1/1;padding:18px;border:1px solid var(--vivi-color-border,#e5e7eb);border-radius:14px;background:#fff;box-sizing:border-box}
.vivi-commerce-overlay--ticket .vivi-account-ticket-qr{display:flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden}
.vivi-commerce-overlay--ticket .vivi-account-ticket-qr>.vivi-account-ticket-qr-output{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;max-height:100%!important;aspect-ratio:1/1;object-fit:contain}
.vivi-commerce-overlay--ticket .vivi-account-ticket-qr>img:not(.vivi-account-ticket-qr-output),
.vivi-commerce-overlay--ticket .vivi-account-ticket-qr>canvas:not(.vivi-account-ticket-qr-output),
.vivi-commerce-overlay--ticket .vivi-account-ticket-qr>svg:not(.vivi-account-ticket-qr-output),
.vivi-commerce-overlay--ticket .vivi-account-ticket-qr>table:not(.vivi-account-ticket-qr-output){display:none!important}
.vivi-commerce-overlay--ticket .vivi-account-ticket-qr-section.has-no-qr .vivi-account-ticket-qr-frame{min-height:240px;background:linear-gradient(135deg,#f4f5f7,#fff)}
.vivi-commerce-overlay--ticket .vivi-account-ticket-qr-section.has-no-qr .vivi-account-ticket-qr{display:none}
.vivi-commerce-overlay--ticket .vivi-account-ticket-qr-section.has-no-qr .vivi-account-ticket-qr-frame::after{content:'QR Code 目前不可使用';color:var(--vivi-color-text-muted,#7a7f87);font-size:14px;font-weight:700}
.vivi-commerce-overlay--ticket .vivi-account-ticket-qr-section>strong{margin-top:18px;color:var(--vivi-color-heading,#111827);font-size:14px;line-height:1.6}
.vivi-commerce-overlay--ticket .vivi-account-ticket-qr-section>p{margin:8px 0 0;color:var(--vivi-color-text-muted,#7a7f87);font-size:12px;line-height:1.6}
.vivi-commerce-overlay--ticket .vivi-account-ticket-rules-section{min-width:0;padding:30px}
.vivi-commerce-overlay--ticket .vivi-account-ticket-rules-section h3{margin:0 0 18px;color:var(--vivi-color-heading,#111827);font-family:var(--vivi-font-heading,inherit);font-size:18px}
.vivi-commerce-overlay--ticket .vivi-account-ticket-rules{color:var(--vivi-color-text,#374151);font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.vivi-commerce-overlay--ticket .vivi-account-ticket-rules>:first-child{margin-top:0}
.vivi-commerce-overlay--ticket .vivi-account-ticket-rules>:last-child{margin-bottom:0}
.vivi-commerce-overlay--ticket .vivi-account-ticket-rules h1,
.vivi-commerce-overlay--ticket .vivi-account-ticket-rules h2,
.vivi-commerce-overlay--ticket .vivi-account-ticket-rules h3,
.vivi-commerce-overlay--ticket .vivi-account-ticket-rules h4{color:var(--vivi-color-heading,#111827);font-family:var(--vivi-font-heading,inherit)}
.vivi-commerce-overlay--ticket .vivi-account-ticket-rules ul,
.vivi-commerce-overlay--ticket .vivi-account-ticket-rules ol{padding-left:1.4em}
.vivi-commerce-overlay--ticket .vivi-account-ticket-rules a{color:var(--vivi-color-primary,#9a6a23)}
.vivi-commerce-overlay--ticket .vivi-account-ticket-popup-download{display:inline-flex;align-items:center;justify-content:center;width:240px;max-width:100%;min-height:42px;margin-top:18px;text-decoration:none!important}
.vivi-commerce-overlay--ticket .vivi-account-ticket-popup-download[hidden]{display:none!important}

@keyframes viviCommerceSpin{to{transform:rotate(360deg)}}

@media (max-width:860px){
	.vivi-commerce-overlay{--vivi-commerce-sheet-top-gap:12px;top:var(--vivi-header-height-mobile,66px);bottom:var(--vivi-mobile-bottom-nav-height,calc(69px + env(safe-area-inset-bottom)));z-index:99981;align-items:flex-end;justify-content:center;padding:0;opacity:1;pointer-events:none}
	.vivi-commerce-overlay.is-open,.vivi-commerce-overlay.is-active{pointer-events:auto}
	.vivi-commerce-overlay__backdrop{background:rgba(17,24,39,.46);backdrop-filter:none;-webkit-backdrop-filter:none;opacity:0;transition:opacity .22s ease}
	.vivi-commerce-overlay.is-open .vivi-commerce-overlay__backdrop,
	.vivi-commerce-overlay.is-active .vivi-commerce-overlay__backdrop{opacity:1}
	.vivi-commerce-overlay__panel,
	.vivi-commerce-overlay--drawer .vivi-commerce-overlay__panel{
		position:absolute;
		left:0;
		right:0;
		bottom:0;
		width:100%;
		max-width:100%;
		height:calc(100% - var(--vivi-commerce-sheet-top-gap));
		max-height:calc(100% - var(--vivi-commerce-sheet-top-gap));
		border-width:1px 0 0;
		border-radius:var(--vivi-radius,8px) var(--vivi-radius,8px) 0 0;
		box-shadow:0 -16px 42px rgba(17,24,39,.22);
		transform:translateY(104%);
		transition:transform .26s cubic-bezier(.22,.61,.36,1);
	}
	.vivi-commerce-overlay.is-open .vivi-commerce-overlay__panel,
	.vivi-commerce-overlay.is-active .vivi-commerce-overlay__panel{transform:translateY(0)}
	.vivi-commerce-overlay__handle{position:absolute;top:8px;left:50%;z-index:12;display:block;width:38px;height:4px;border-radius:999px;background:#c4c7c5;transform:translateX(-50%);pointer-events:none}
	.vivi-commerce-overlay__header{min-height:72px;padding:18px 58px 10px 18px}
	.vivi-commerce-overlay__title{font-size:20px}
	.vivi-commerce-overlay__close{top:18px;right:14px;width:36px;height:36px;min-width:36px;min-height:36px;border:0;background:rgba(17,24,39,.06);box-shadow:none}
	.vivi-commerce-overlay__body{padding:16px 18px 24px;overflow-x:hidden;overflow-y:auto;touch-action:pan-y}
	.vivi-commerce-overlay--product .vivi-ticket-popup-section{padding:16px;border-radius:var(--vivi-radius,8px)}
	.vivi-commerce-overlay--product .vivi-ticket-popup-main-img{aspect-ratio:1/1}
	.vivi-commerce-overlay--product .vivi-ticket-popup-title{font-size:22px}
	.vivi-commerce-overlay--product .vivi-ticket-popup-price-row strong{font-size:24px}
	.vivi-commerce-overlay--product .vivi-ticket-popup-meta>div{grid-template-columns:76px minmax(0,1fr)}
	.vivi-commerce-overlay--ticket .vivi-commerce-overlay__body{padding:0 0 12px}
	.vivi-commerce-overlay--ticket .vivi-account-ticket-popup-meta-head{padding:18px 20px}
	.vivi-commerce-overlay--ticket .vivi-account-ticket-popup-body{grid-template-columns:1fr}
	.vivi-commerce-overlay--ticket .vivi-account-ticket-qr-section{border-right:0;border-bottom:1px solid var(--vivi-color-border,#e5e7eb);padding:26px 20px}
	.vivi-commerce-overlay--ticket .vivi-account-ticket-qr-frame{width:220px}
	.vivi-commerce-overlay--ticket .vivi-account-ticket-rules-section{padding:24px 20px}
}


@media (max-width:480px){
	.vivi-commerce-overlay--ticket .vivi-account-ticket-popup-loading,
	.vivi-commerce-overlay--ticket .vivi-account-ticket-popup-error{min-height:300px;padding:30px 20px}
	.vivi-commerce-overlay--ticket .vivi-account-ticket-qr-frame{width:200px}
}

/* Isolate Commerce overlays from the legacy ticket Popup rules retained by untouched modules. */
.vivi-commerce-overlay{
	position:fixed!important;
	top:0!important;
	right:0!important;
	bottom:0!important;
	left:0!important;
	z-index:100200!important;
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	padding:24px!important;
}
body.admin-bar .vivi-commerce-overlay{top:0!important}
.vivi-commerce-overlay[hidden]{display:none!important}
.vivi-commerce-overlay .vivi-commerce-overlay__backdrop{
	position:absolute!important;
	inset:0!important;
	background:rgba(15,23,42,.54)!important;
	backdrop-filter:blur(4px)!important;
	-webkit-backdrop-filter:blur(4px)!important;
}
.vivi-commerce-overlay .vivi-commerce-overlay__panel{
	position:relative!important;
	z-index:1!important;
	display:flex!important;
	flex-direction:column!important;
	width:min(920px,calc(100vw - 48px))!important;
	max-width:min(920px,calc(100vw - 48px))!important;
	height:auto!important;
	max-height:calc(100dvh - 48px)!important;
	padding:0!important;
	overflow:hidden!important;
	border:1px solid var(--vivi-color-border,rgba(31,26,23,.12))!important;
	border-radius:var(--vivi-radius,8px)!important;
	background:var(--vivi-color-card,#fff)!important;
	box-shadow:0 30px 90px rgba(15,23,42,.28)!important;
	transform:translateY(10px) scale(.995)!important;
}
.vivi-commerce-overlay.is-open .vivi-commerce-overlay__panel,
.vivi-commerce-overlay.is-active .vivi-commerce-overlay__panel{transform:translateY(0) scale(1)!important}
.vivi-commerce-overlay .vivi-commerce-overlay__title{margin:0!important;color:var(--vivi-color-heading,#393432)!important;font-family:var(--vivi-font-heading,inherit)!important;font-size:var(--vivi-fs-h3,24px)!important;font-weight:700!important;line-height:1.25!important}
.vivi-commerce-overlay .vivi-commerce-overlay__close{
	position:absolute!important;
	top:18px!important;
	right:18px!important;
	left:auto!important;
	bottom:auto!important;
	float:none!important;
	align-self:auto!important;
	z-index:12!important;
	display:flex!important;
	width:38px!important;
	height:38px!important;
	min-width:38px!important;
	min-height:38px!important;
	margin:0!important;
	padding:0!important;
	border:1px solid var(--vivi-color-border,rgba(31,26,23,.12))!important;
	border-radius:var(--vivi-radius,8px)!important;
	background:rgba(255,255,255,.96)!important;
	box-shadow:0 8px 22px rgba(15,23,42,.10)!important;
}
.vivi-commerce-overlay .vivi-commerce-overlay__close::before{content:'×'!important;display:block!important;font-size:25px!important;font-weight:400!important;line-height:1!important;transform:translateY(-1px)!important}
@media (min-width:861px){
	.vivi-commerce-overlay--drawer{align-items:stretch!important;justify-content:flex-end!important;padding:0!important}
	.vivi-commerce-overlay--drawer .vivi-commerce-overlay__panel{
		width:min(560px,100vw)!important;
		max-width:100vw!important;
		height:100dvh!important;
		max-height:100dvh!important;
		margin-top:0!important;
		border-width:0 0 0 1px!important;
		border-radius:0!important;
		transform:translateX(104%)!important;
	}
	body.admin-bar .vivi-commerce-overlay--drawer .vivi-commerce-overlay__panel{
		height:calc(100dvh - 32px)!important;
		max-height:calc(100dvh - 32px)!important;
		margin-top:32px!important;
	}
	.vivi-commerce-overlay--drawer.is-open .vivi-commerce-overlay__panel,
	.vivi-commerce-overlay--drawer.is-active .vivi-commerce-overlay__panel{transform:translateX(0)!important}
}
@media (max-width:860px){
	.vivi-commerce-overlay{
		--vivi-commerce-sheet-top-gap:12px;
		top:var(--vivi-header-height-mobile,66px)!important;
		bottom:var(--vivi-mobile-bottom-nav-height,calc(69px + env(safe-area-inset-bottom)))!important;
		z-index:99981!important;
		align-items:flex-end!important;
		justify-content:center!important;
		padding:0!important;
	}
	body.admin-bar .vivi-commerce-overlay{top:calc(var(--vivi-header-height-mobile,66px) + 46px)!important}
	.vivi-commerce-overlay .vivi-commerce-overlay__backdrop{background:rgba(17,24,39,.46)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
	.vivi-commerce-overlay .vivi-commerce-overlay__panel,
	.vivi-commerce-overlay--drawer .vivi-commerce-overlay__panel{
		position:absolute!important;
		left:0!important;
		right:0!important;
		bottom:0!important;
		width:100%!important;
		max-width:100%!important;
		height:calc(100% - var(--vivi-commerce-sheet-top-gap))!important;
		max-height:calc(100% - var(--vivi-commerce-sheet-top-gap))!important;
		padding:0!important;
		overflow:hidden!important;
		border-width:1px 0 0!important;
		border-radius:var(--vivi-radius,8px) var(--vivi-radius,8px) 0 0!important;
		transform:translateY(104%)!important;
	}
	.vivi-commerce-overlay.is-open .vivi-commerce-overlay__panel,
	.vivi-commerce-overlay.is-active .vivi-commerce-overlay__panel{transform:translateY(0)!important}
	.vivi-commerce-overlay .vivi-commerce-overlay__body{
		padding:16px 18px 24px!important;
		overflow-x:hidden!important;
		overflow-y:auto!important;
		overscroll-behavior:contain!important;
		-webkit-overflow-scrolling:touch!important;
		touch-action:pan-y!important;
	}
	.vivi-commerce-overlay--ticket .vivi-commerce-overlay__body{padding:0 0 12px!important}
	.vivi-commerce-overlay .vivi-commerce-overlay__title{font-size:20px!important}
	.vivi-commerce-overlay .vivi-commerce-overlay__close{
		top:18px!important;
		right:14px!important;
		width:36px!important;
		height:36px!important;
		min-width:36px!important;
		min-height:36px!important;
		margin:0!important;
		border:0!important;
		background:rgba(17,24,39,.06)!important;
		box-shadow:none!important;
	}
}

@media (prefers-reduced-motion:reduce){
	.vivi-commerce-overlay,.vivi-commerce-overlay__panel,.vivi-commerce-overlay__backdrop{transition:none!important}
}

body.vivi-family-product-open,
body.vivi-ticket-popup-open{overflow:hidden!important}
