/**
 * EDNC product detail floating quick menu (shared).
 * Scoped to .ednc-pqm — does not alter page content layout.
 */

.ednc-pqm {
	--ednc-pqm-ink: #1b2430;
	--ednc-pqm-muted: #667085;
	--ednc-pqm-line: rgba(230, 232, 236, 0.95);
	--ednc-pqm-bg: rgba(255, 255, 255, 0.97);
	--ednc-pqm-soft: #f4f6f8;
	--ednc-pqm-size: 56px;
	--ednc-pqm-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--ednc-pqm-dur: 280ms;
	--ednc-pqm-gap: 9px;
	--ednc-pqm-right: 28px;
	--ednc-pqm-bottom: 108px;
	--ednc-pqm-mobile-right: 16px;
	--ednc-pqm-mobile-bottom: 96px;
	position: fixed;
	right: var(--ednc-pqm-right);
	bottom: var(--ednc-pqm-bottom);
	z-index: 9000;
	font-family: Pretendard, "Noto Sans KR", sans-serif;
	pointer-events: none;
	color: var(--ednc-pqm-ink);
}

.ednc-pqm__shell {
	pointer-events: auto;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	width: var(--ednc-pqm-size);
	height: var(--ednc-pqm-size);
	box-sizing: border-box;
}

.ednc-pqm__toggle {
	position: relative;
	z-index: 2;
	flex: 0 0 auto;
	width: var(--ednc-pqm-size);
	height: var(--ednc-pqm-size);
	margin: 0;
	padding: 0;
	border: 1px solid var(--ednc-pqm-line);
	border-radius: 16px;
	background: var(--ednc-pqm-bg);
	color: var(--ednc-pqm-ink) !important;
	box-shadow: 0 4px 16px rgba(27, 36, 48, 0.09);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	transition:
		background-color var(--ednc-pqm-dur) ease,
		box-shadow var(--ednc-pqm-dur) var(--ednc-pqm-ease),
		transform var(--ednc-pqm-dur) var(--ednc-pqm-ease);
}

.ednc-pqm__toggle:hover,
.ednc-pqm.is-open .ednc-pqm__toggle {
	background: #fff;
	box-shadow: 0 6px 18px rgba(27, 36, 48, 0.11);
}

.ednc-pqm__toggle:focus-visible {
	outline: 2px solid #98a2b3;
	outline-offset: 2px;
}

.ednc-pqm__toggle-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	color: var(--ednc-pqm-ink);
	line-height: 0;
}

.ednc-pqm__toggle-ico svg,
.ednc-pqm__toggle svg {
	width: 24px;
	height: 24px;
	display: block;
	overflow: visible;
	color: inherit;
	fill: none;
	stroke: currentColor;
}

.ednc-pqm__toggle-ico svg [fill="currentColor"],
.ednc-pqm__toggle svg [fill="currentColor"] {
	fill: currentColor;
	stroke: none;
}

.ednc-pqm__rail {
	position: absolute;
	right: 0;
	bottom: calc(100% + var(--ednc-pqm-gap));
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--ednc-pqm-gap);
	width: max-content;
	min-width: 155px;
	max-width: 195px;
	margin: 0;
	padding: 0;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(8px) scale(0.97);
	transform-origin: bottom right;
	transition:
		opacity var(--ednc-pqm-dur) var(--ednc-pqm-ease),
		transform var(--ednc-pqm-dur) var(--ednc-pqm-ease),
		visibility 0s linear var(--ednc-pqm-dur);
}

.ednc-pqm.is-open .ednc-pqm__rail {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0) scale(1);
	transition:
		opacity var(--ednc-pqm-dur) var(--ednc-pqm-ease),
		transform var(--ednc-pqm-dur) var(--ednc-pqm-ease),
		visibility 0s linear 0s;
}

/* Bridge gap so hover does not flicker while moving to pills */
.ednc-pqm__rail::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	height: var(--ednc-pqm-gap);
}

.ednc-pqm__item {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 10px;
	min-height: 42px;
	height: auto;
	padding: 10px 14px;
	border-radius: 12px;
	border: 1px solid var(--ednc-pqm-line);
	background: var(--ednc-pqm-bg);
	box-shadow: 0 3px 12px rgba(27, 36, 48, 0.07);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	text-decoration: none;
	color: var(--ednc-pqm-ink);
	font: inherit;
	box-sizing: border-box;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	opacity: 0;
	transform: translateY(6px) scale(0.97);
	transition:
		background-color 0.22s ease,
		box-shadow 0.22s ease,
		opacity var(--ednc-pqm-dur) var(--ednc-pqm-ease),
		transform var(--ednc-pqm-dur) var(--ednc-pqm-ease);
}

.ednc-pqm.is-open .ednc-pqm__item {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.ednc-pqm.is-open .ednc-pqm__item:nth-child(1) { transition-delay: 0.03s; }
.ednc-pqm.is-open .ednc-pqm__item:nth-child(2) { transition-delay: 0.06s; }
.ednc-pqm.is-open .ednc-pqm__item:nth-child(3) { transition-delay: 0.09s; }
.ednc-pqm.is-open .ednc-pqm__item:nth-child(4) { transition-delay: 0.12s; }
.ednc-pqm.is-open .ednc-pqm__item:nth-child(5) { transition-delay: 0.15s; }

.ednc-pqm:not(.is-open) .ednc-pqm__item {
	transition-delay: 0s;
}

.ednc-pqm__item:hover,
.ednc-pqm__item:focus-visible {
	background: #fff;
	box-shadow: 0 4px 14px rgba(27, 36, 48, 0.09);
	outline: none;
}

.ednc-pqm__ico {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	color: var(--ednc-pqm-ink);
	line-height: 0;
	transition: transform 0.22s var(--ednc-pqm-ease);
}

.ednc-pqm__item:hover .ednc-pqm__ico,
.ednc-pqm__item:focus-visible .ednc-pqm__ico {
	transform: scale(1.05);
}

.ednc-pqm__ico svg {
	width: 18px;
	height: 18px;
	display: block;
	overflow: visible;
	color: inherit;
}

.ednc-pqm__lbl {
	flex: 1 1 auto;
	min-width: 0;
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: var(--ednc-pqm-ink);
	text-align: left;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

@media (prefers-reduced-motion: reduce) {
	.ednc-pqm {
		--ednc-pqm-dur: 1ms;
	}

	.ednc-pqm__rail,
	.ednc-pqm__item,
	.ednc-pqm.is-open .ednc-pqm__item {
		transition-delay: 0s !important;
	}

	.ednc-pqm__item:hover .ednc-pqm__ico,
	.ednc-pqm__item:focus-visible .ednc-pqm__ico {
		transform: none;
	}
}

@media (max-width: 767px) {
	.ednc-pqm {
		right: var(--ednc-pqm-mobile-right);
		left: auto;
		bottom: calc(var(--ednc-pqm-mobile-bottom) + env(safe-area-inset-bottom, 0px));
		--ednc-pqm-size: 56px;
		--ednc-pqm-gap: 8px;
	}

	.ednc-pqm__rail {
		min-width: 150px;
		max-width: min(190px, calc(100vw - 40px));
	}

	.ednc-pqm__item {
		min-height: 44px;
		padding: 11px 13px;
	}
}
