/* site_styles 3 */
/* Black Friday 2026: menu button. Menu item class field: bf */

/* Desktop and sticky header: dark neon pill */
.bf > [data-surface="nav-link"] {
	position: relative;
	isolation: isolate;
	display: inline-flex;
	align-self: center;
	min-height: 0;
	align-items: center;
	gap: 0.55rem;
	padding: 0.55rem 1.1rem 0.55rem 0.9rem;
	border: 1.5px solid transparent;
	border-radius: 999px;
	background:
		linear-gradient(180deg, #221a2b 0%, #08060b 100%) padding-box,
		linear-gradient(90deg, #ff2d8f, #ffc2df, #9b4dff, #ff2d8f) border-box;
	background-size: 100% 100%, 300% 100%;
	color: #fff;
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.2em;
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
	overflow: hidden;
	box-shadow:
		0 0 0 1px rgb(255 45 143 / 12%),
		0 0 16px rgb(255 45 143 / 38%),
		0 8px 22px -8px rgb(255 45 143 / 75%),
		inset 0 1px 0 rgb(255 255 255 / 14%);
	animation: bf-border 5s ease-in-out infinite alternate;
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

/* "BLACK" white, "FRIDAY" hot pink */
.bf > [data-surface="nav-link"] > span {
	background: linear-gradient(90deg, #ffffff 0%, #ffffff 44%, #ff4fa3 54%, #ff8fc7 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	filter: drop-shadow(0 0 5px rgb(255 45 143 / 55%));
}

/* Live dot */
.bf > [data-surface="nav-link"]::before {
	content: "";
	flex: none;
	width: 0.45rem;
	height: 0.45rem;
	border-radius: 50%;
	background: #ff2d8f;
	animation: bf-pulse 1.8s ease-out infinite;
}

/* Light sweep */
.bf > [data-surface="nav-link"]::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: inherit;
	background: linear-gradient(105deg, transparent 35%, rgb(255 255 255 / 22%) 50%, transparent 65%);
	transform: translateX(-120%);
	animation: bf-shine 4.5s ease-in-out infinite;
	pointer-events: none;
}

.bf > [data-surface="nav-link"]:hover {
	color: #fff;
	transform: translateY(-1px);
	box-shadow:
		0 0 0 1px rgb(255 45 143 / 30%),
		0 0 22px rgb(255 45 143 / 55%),
		0 12px 28px -8px rgb(255 45 143 / 90%),
		inset 0 1px 0 rgb(255 255 255 / 20%);
}

.bf > [data-surface="nav-link"]:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

/* Mobile menu: dark neon tile in the category rail, label on one line
   (the font shrinks only when the 34vw rail is too narrow, e.g. 320 px phones) */
.bf > button {
	border-left-color: #ff2d8f;
	background: linear-gradient(180deg, #221a2b 0%, #08060b 100%);
	color: #ff5fae;
	font-size: min(0.72rem, calc((34vw - 28px) / 8.4));
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	white-space: nowrap;
	text-shadow: 0 0 8px rgb(255 45 143 / 55%);
}

@keyframes bf-border {
	from {
		background-position: 0 0, 0% 50%;
	}
	to {
		background-position: 0 0, 100% 50%;
	}
}

@keyframes bf-pulse {
	0% {
		box-shadow: 0 0 0 0 rgb(255 45 143 / 75%);
	}
	70% {
		box-shadow: 0 0 0 7px rgb(255 45 143 / 0%);
	}
	100% {
		box-shadow: 0 0 0 0 rgb(255 45 143 / 0%);
	}
}

@keyframes bf-shine {
	0%,
	55% {
		transform: translateX(-120%);
	}
	100% {
		transform: translateX(120%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.bf > [data-surface="nav-link"],
	.bf > [data-surface="nav-link"]::before,
	.bf > [data-surface="nav-link"]::after {
		animation: none;
	}
}

/* Black Friday main page only (/black-friday): black category hub cards. Subpages keep white cards (their images have white backgrounds). */
body[data-page="black-friday"] [data-surface="hub-card"] {
	border-color: #2b2232;
	background: linear-gradient(180deg, #1b1521 0%, #09070c 100%);
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / 6%),
		0 10px 24px -14px rgb(0 0 0 / 70%);
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
}

body[data-page="black-friday"] a[data-surface="hub-card"]:hover {
	border-color: #ff2d8f;
	background: linear-gradient(180deg, #241b2d 0%, #0d0a11 100%);
	box-shadow:
		0 0 0 1px rgb(255 45 143 / 35%),
		0 14px 30px -14px rgb(255 45 143 / 65%);
	transform: translateY(-2px);
}

body[data-page="black-friday"] [data-surface="hub-card-media"] {
	background: transparent;
}

body[data-page="black-friday"] [data-surface="hub-card-title"] {
	color: #fff;
	font-weight: 600;
}

body[data-page="black-friday"] a[data-surface="hub-card"]:hover [data-surface="hub-card-title"] {
	color: #ff5fae;
}

body[data-page="black-friday"] [data-surface="hub-card-links"] {
	color: #b4a9bf;
}