/**
 * Unified overlays / drawers / modals (舔狗糖果店 Elementor 一致).
 * Loaded site-wide; works when simpdog-extra is dequeued on candy home.
 */

:root {
	--sc-pop-overlay: rgba(0, 0, 0, 0.72);
	--sc-pop-surface: #0a0a0a;
	--sc-pop-panel: rgba(17, 17, 17, 0.94);
	--sc-pop-border: #39ff14;
	--sc-pop-border-inner: #333333;
	--sc-pop-text: #ffffff;
	--sc-pop-muted: #9ca3af;
	--sc-pop-accent: #39ff14;
	--sc-pop-accent-contrast: #000000;
	--sc-pop-magenta: #ff00ff;
}

/* Cart badge — match Elementor primary green */
.simpdog-cart-count {
	background-color: var(--sc-pop-accent) !important;
	color: var(--sc-pop-accent-contrast) !important;
	font-family: "Noto Sans TC", system-ui, sans-serif !important;
}

[data-simpdog-cart-overlay],
[data-simpdog-cart-overlay].sc-popover-overlay {
	background-color: var(--sc-pop-overlay) !important;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

[data-simpdog-cart-drawer],
[data-simpdog-cart-drawer].sc-popover-drawer {
	font-family: "Noto Sans TC", system-ui, -apple-system, sans-serif !important;
	background: var(--sc-pop-surface) !important;
	border-left: 2px solid var(--sc-pop-border) !important;
	box-shadow: -12px 0 40px rgba(0, 0, 0, 0.55);
	color: var(--sc-pop-text);
}

[data-simpdog-cart-drawer] > div:first-of-type,
[data-simpdog-cart-drawer] > div:last-of-type {
	border-color: rgba(57, 255, 20, 0.22) !important;
}

[data-simpdog-cart-drawer] h2 {
	font-family: "Noto Sans TC", system-ui, sans-serif !important;
	font-weight: 900 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase;
	color: var(--sc-pop-text) !important;
	text-shadow: 0 0 18px rgba(57, 255, 20, 0.35);
	animation: none !important;
}

[data-simpdog-cart-drawer] .simpdog-glass-panel,
[data-simpdog-cart-drawer] .glass-panel {
	background: var(--sc-pop-panel) !important;
	border: 1px solid var(--sc-pop-border-inner) !important;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

[data-simpdog-cart-drawer] .text-cyan-400 {
	color: var(--sc-pop-accent) !important;
}

[data-simpdog-cart-drawer] a.bg-cyan-500,
[data-simpdog-cart-drawer] a.hover\:bg-cyan-400 {
	background-color: var(--sc-pop-accent) !important;
	color: var(--sc-pop-accent-contrast) !important;
	border: 2px solid var(--sc-pop-border) !important;
	font-weight: 900 !important;
	box-shadow: 4px 4px 0 0 var(--sc-pop-magenta);
}

[data-simpdog-cart-drawer] a.bg-white\/10 {
	border: 1px solid rgba(57, 255, 20, 0.35) !important;
	background: rgba(255, 255, 255, 0.06) !important;
	color: var(--sc-pop-text) !important;
}

[data-simpdog-fullcart-modal] {
	font-family: "Noto Sans TC", system-ui, sans-serif !important;
	z-index: 85 !important;
}

[data-simpdog-fullcart-modal] .bg-black\/85 {
	background-color: var(--sc-pop-overlay) !important;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

[data-simpdog-fullcart-modal] section.bg-gray-950 {
	background: var(--sc-pop-surface) !important;
}

[data-simpdog-fullcart-modal] .glass-panel,
[data-simpdog-fullcart-modal] .simpdog-glass-panel {
	background: var(--sc-pop-panel) !important;
	border: 2px solid var(--sc-pop-border-inner) !important;
	box-shadow: 6px 6px 0 0 rgba(255, 0, 255, 0.35);
}

[data-simpdog-fullcart-modal] .neon-text-pink,
[data-simpdog-fullcart-modal] .simpdog-neon-text-pink {
	color: var(--sc-pop-text) !important;
	text-shadow: 0 0 14px rgba(57, 255, 20, 0.45) !important;
	animation: none !important;
}

[data-simpdog-fullcart-modal] .text-pink-500 {
	color: var(--sc-pop-magenta) !important;
}

[data-simpdog-fullcart-modal] .border-cyan-500,
[data-simpdog-fullcart-modal] .border-cyan-400 {
	border-color: var(--sc-pop-border) !important;
}

[data-simpdog-fullcart-modal] .bg-cyan-500,
[data-simpdog-fullcart-modal] .hover\:bg-cyan-400:hover {
	background-color: var(--sc-pop-accent) !important;
	color: var(--sc-pop-accent-contrast) !important;
	border: 2px solid var(--sc-pop-border) !important;
	font-weight: 900 !important;
}

[data-simpdog-fullcart-modal] .text-cyan-400 {
	color: var(--sc-pop-accent) !important;
}

/* Age gate — Windows 95 / 98 system dialog */
.simpdog-age-gate.simpdog-age-gate--win95.sc-popover-age,
.simpdog-age-gate.simpdog-age-gate--win95 {
	font-family: "MS Sans Serif", "Microsoft Sans Serif", Tahoma, "Noto Sans TC", sans-serif !important;
	position: fixed !important;
	inset: 0 !important;
	/* 高於 Elementor / 鏡像 vendor / 膠囊 #page（數值須壓過任意第三方 !important） */
	z-index: 2147483000 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 1rem !important;
	box-sizing: border-box !important;
	pointer-events: auto !important;
}

.simpdog-age-gate.simpdog-age-gate--win95.sc-popover-age,
.simpdog-age-gate.simpdog-age-gate--win95 {
	/* 让点击/关闭更有“手感”，避免瞬间消失 */
	transition: opacity 180ms ease, transform 180ms ease;
	transform: scale(1);
}

.simpdog-age-gate.simpdog-age-gate--win95.sc-popover-age.simpdog-age-gate--closing,
.simpdog-age-gate.simpdog-age-gate--win95.simpdog-age-gate--closing {
	opacity: 0 !important;
	transform: scale(0.985) !important;
}

.simpdog-age-gate--win95 .simpdog-age-gate__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.72);
	z-index: 0;
	cursor: pointer;
}

.simpdog-age-gate--win95 .simpdog-win95-window {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 420px;
	pointer-events: auto;
	background: #c0c0c0;
	border-top: 1px solid #dfdfdf;
	border-left: 1px solid #dfdfdf;
	border-right: 1px solid #404040;
	border-bottom: 1px solid #404040;
	box-shadow: 1px 1px 0 #000;
}

.simpdog-age-gate--win95 .simpdog-win95-titlebar {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 6px;
	min-height: 28px;
	padding: 2px 3px 3px 4px;
	background: #000080;
	color: #fff;
	font-weight: 700;
	font-size: 12px;
	line-height: 1.2;
	user-select: none;
}

.simpdog-age-gate--win95 .simpdog-win95-title {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	padding-right: 2px;
}

.simpdog-age-gate--win95 .simpdog-win95-close {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	padding: 0;
	margin: 0 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #000;
	background: #c0c0c0;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	border-right: 1px solid #404040;
	border-bottom: 1px solid #404040;
	cursor: pointer;
	font-family: Arial, Tahoma, sans-serif;
}

.simpdog-age-gate--win95 .simpdog-win95-close-glyph {
	display: block;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	margin-top: -1px;
}

.simpdog-age-gate--win95 .simpdog-win95-close:active {
	border-top: 1px solid #404040;
	border-left: 1px solid #404040;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
}

.simpdog-age-gate--win95 .simpdog-win95-body {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 14px;
	background: #c0c0c0;
}

.simpdog-age-gate--win95 .simpdog-win95-icon {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
}

.simpdog-age-gate--win95 .simpdog-win95-icon-svg {
	display: block;
	width: 100%;
	height: 100%;
}

.simpdog-age-gate--win95 .simpdog-win95-copy {
	min-width: 0;
	font-size: 13px;
	line-height: 1.45;
	color: #000;
}

.simpdog-age-gate--win95 .simpdog-win95-heading {
	margin: 0 0 8px;
	font-weight: 700;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	word-break: break-word;
	overflow-wrap: anywhere;
}

.simpdog-age-gate--win95 .simpdog-win95-message {
	margin: 0;
	font-weight: 400;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
	word-break: break-word;
	overflow-wrap: anywhere;
}

.simpdog-age-gate--win95 .simpdog-win95-footer {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 10px 14px 12px;
	background: #c0c0c0;
	border-top: 1px solid #808080;
	box-shadow: inset 0 1px 0 #ffffff;
}

.simpdog-age-gate--win95 .simpdog-win95-btn {
	min-width: 120px;
	padding: 4px 16px 5px;
	font-size: 13px;
	font-weight: 700;
	font-family: inherit;
	color: #000;
	background: #c0c0c0;
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
	border-right: 2px solid #404040;
	border-bottom: 2px solid #404040;
	cursor: pointer;
	box-sizing: border-box;
}

.simpdog-age-gate--win95 .simpdog-win95-btn:active {
	border-top: 2px solid #404040;
	border-left: 2px solid #404040;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
}

/* Checkout AJAX success modal */
#simpdog-order-success-modal.sc-popover-success-modal {
	font-family: "Noto Sans TC", system-ui, sans-serif !important;
}

#simpdog-order-success-modal .simpdog-glass-panel {
	background: var(--sc-pop-panel) !important;
	border: 2px solid var(--sc-pop-border) !important;
	box-shadow: 8px 8px 0 0 rgba(255, 0, 255, 0.35);
}

#simpdog-order-success-modal .simpdog-neon-text-cyan {
	color: var(--sc-pop-text) !important;
	text-shadow: 0 0 18px rgba(57, 255, 20, 0.45) !important;
	animation: none !important;
}

#simpdog-order-success-modal .text-cyan-400 {
	color: var(--sc-pop-accent) !important;
}

#simpdog-order-success-modal a.bg-cyan-500 {
	background: var(--sc-pop-accent) !important;
	color: var(--sc-pop-accent-contrast) !important;
	border: 2px solid var(--sc-pop-border) !important;
	font-weight: 900 !important;
	box-shadow: 4px 4px 0 0 rgba(0, 0, 0, 0.65);
}

#simpdog-order-success-modal a.border-pink-600 {
	border-color: var(--sc-pop-border) !important;
	color: var(--sc-pop-accent) !important;
	background: transparent !important;
}

#simpdog-order-success-modal a.border-pink-600:hover {
	background: rgba(57, 255, 20, 0.12) !important;
	color: var(--sc-pop-text) !important;
}

/* Mobile slide panel — candy masthead (simpdog-extra may be absent) */
#simpdog-mobile-panel.sc-popover-mobile {
	background: rgba(10, 10, 10, 0.96) !important;
	border-color: rgba(57, 255, 20, 0.35) !important;
	font-family: "Noto Sans TC", system-ui, sans-serif !important;
}

#simpdog-mobile-panel.sc-popover-mobile .border-b {
	border-color: rgba(57, 255, 20, 0.22) !important;
}

/* Age gate dismissed — 置於檔案末尾，確保蓋過上方 .simpdog-age-gate { display:flex!important } */
html.simpdog-age-hidden .simpdog-age-gate.simpdog-age-gate--win95.sc-popover-age,
html.simpdog-age-hidden .simpdog-age-gate.simpdog-age-gate--win95,
body.simpdog-age-hidden .simpdog-age-gate.simpdog-age-gate--win95.sc-popover-age,
body.simpdog-age-hidden .simpdog-age-gate.simpdog-age-gate--win95,
.simpdog-age-gate.simpdog-age-gate--win95.sc-popover-age[aria-hidden="true"],
.simpdog-age-gate.simpdog-age-gate--win95[aria-hidden="true"] {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
	opacity: 0 !important;
}
