/* Optional Black Friday presentation. Normal product-card styles stay in theme.css. */

/* Campaign ticker shares the existing utility bar; its fixed label is always legible. */
:root:has(.ap-topbar--campaign) { --ap-header-top: 44px; --ap-header-shrink: 60px; }
.ap-header .ap-topbar.ap-topbar--campaign { display: flex; gap: 1.5rem; background: #11120f; box-shadow: 0 0 0 100vmax #11120f; color: #f7f3e9; }
.ap-announcement { display: flex; align-items: center; flex: 1; gap: 1rem; min-width: 0; height: 44px; }
.ap-topbar a.ap-announcement__label { flex-shrink: 0; padding: 0.25rem 0.55rem; background: #e1c184; border-radius: 3px; color: #11120f; font-size: 0.62rem; font-weight: 800; line-height: 1.6; letter-spacing: 0.07em; text-transform: uppercase; white-space: nowrap; }
.ap-announcement__window { display: block; flex: 1; min-width: 0; overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 12px, #000 calc(100% - 18px), transparent); }
.ap-announcement__track { display: flex; width: max-content; }
.ap-announcement__group { display: flex; flex-shrink: 0; align-items: center; gap: 2rem; padding-right: 2rem; white-space: nowrap; font-size: 0.72rem; font-weight: 500; letter-spacing: 0.02em; }
.ap-announcement__group i { color: #e1c184; font-size: 0.7rem; font-style: normal; }
.ap-announcement__group b { color: #e1c184; }
.ap-announcement__repeat { display: none; }
.ap-announcement.is-ready .ap-announcement__repeat { display: flex; }
.ap-announcement.is-ready .ap-announcement__track { animation: ap-announcement-scroll 32s linear infinite; }
.ap-announcement.is-paused .ap-announcement__track,
.ap-announcement:hover .ap-announcement__track,
.ap-announcement:focus-within .ap-announcement__track { animation-play-state: paused; }
.ap-announcement__pause { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 32px; height: 44px; padding: 0; border: 0; background: none; color: #e1c184; cursor: pointer; }
.ap-announcement__pause[hidden] { display: none; }
.ap-announcement__pause > span { width: 8px; height: 11px; border-inline: 2px solid currentColor; }
.ap-announcement__pause[aria-pressed="true"] > span { width: 0; height: 0; border: 5px solid transparent; border-left: 8px solid currentColor; border-right: 0; }
.ap-announcement__pause:focus-visible { outline: 1px solid #e1c184; outline-offset: -5px; }
.ap-topbar--campaign .ap-topbar__links { flex-shrink: 0; font-size: 0.7rem; gap: 1.3rem; padding-left: 1.5rem; border-left: 1px solid #ffffff26; }
@keyframes ap-announcement-scroll { to { transform: translateX(-50%); } }
@media (max-width: 1000px) {
	:root:has(.ap-topbar--campaign) { --ap-header-shrink: 44px; }
	.ap-topbar--campaign .ap-topbar__links { display: none; }
}
@media (max-width: 600px) {
	.ap-announcement { gap: 0.6rem; }
	.ap-topbar a.ap-announcement__label { font-size: 0.55rem; }
	.ap-announcement__group { font-size: 0.65rem; }
	.ap-announcement__pause { width: 24px; }
}
@media (prefers-reduced-motion: reduce) {
	.ap-announcement.is-ready .ap-announcement__track { animation: none; }
	.ap-announcement.is-ready .ap-announcement__repeat, .ap-announcement__pause { display: none; }
}


/* Seasonal campaign: noir photography and large typography, with real HTML text. */
.ap-hero__visual--black-friday { background: #101110; }
.ap-black-friday { position: relative; isolation: isolate; height: 100%; min-height: 570px; aspect-ratio: 1.06; color: #faf7ef; overflow: hidden; }
.ap-black-friday__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ap-black-friday::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #0c0d0b40, transparent 65%); pointer-events: none; }
.ap-black-friday__copy { position: relative; z-index: 1; padding: clamp(1.7rem, 3.2vw, 2.8rem); }
.ap-black-friday__eyebrow { display: flex; align-items: center; gap: 0.8rem; margin: 0 0 1.6rem; color: #d7bd86; font-size: 0.62rem; font-weight: 650; letter-spacing: 0.18em; text-transform: uppercase; }
.ap-black-friday__eyebrow > span { width: 26px; height: 1px; background: #d7bd86; }
.ap-black-friday .ap-black-friday__title { margin: 0; color: #faf7ef; font-family: var(--ap-sans); font-size: clamp(4.7rem, 7.1vw, 6.5rem); font-weight: 800; line-height: 0.92; letter-spacing: -0.065em; text-transform: uppercase; }
.ap-black-friday__title > span, .ap-black-friday__title > em { display: block; }
.ap-black-friday .ap-black-friday__title em { color: #e1c184; font-style: normal; font-weight: inherit; }
.ap-black-friday__tagline { margin: 1.5rem 0 1.4rem; color: #d0cec5; font-size: 0.95rem; line-height: 1.65; }
.ap-black-friday__tagline strong { color: #faf7ef; font-weight: 600; }
.ap-black-friday a.ap-black-friday__link { box-sizing: border-box; position: relative; display: inline-flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 48px; padding: 0.75rem 1.1rem; border: 1px solid #e1c184; border-radius: 6px; background: #e1c184; color: #11120f; font-size: 0.78rem; line-height: 1.4; font-weight: 750; text-decoration: none; transition: background 0.2s, border-color 0.2s; }
.ap-black-friday__link > span { font-size: 1.35em; line-height: 1; }
.ap-black-friday a.ap-black-friday__link:hover { background: #f2d8a3; border-color: #f2d8a3; color: #11120f; }
.ap-black-friday__link:focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
.ap-black-friday__signature { position: absolute; z-index: 1; bottom: 1.4rem; left: clamp(1.7rem, 3.2vw, 2.8rem); margin: 0; color: #bcb8ad; font-size: 0.55rem; letter-spacing: 0.18em; text-transform: uppercase; }
.ap-black-friday__signature > span { margin: 0 0.5rem; color: #e1c184; }
@media (max-width: 1000px) and (min-width: 601px) {
	.ap-black-friday { min-height: 530px; }
	.ap-black-friday__copy { padding: 1.6rem; }
	.ap-black-friday .ap-black-friday__title { font-size: clamp(3.9rem, 7.5vw, 5.4rem); }
	.ap-black-friday__eyebrow { font-size: 0.52rem; letter-spacing: 0.12em; gap: 0.5rem; }
	.ap-black-friday__tagline { font-size: 0.82rem; }
}
@media (max-width: 600px) {
	.ap-hero__visual--black-friday { order: -1; }
	.ap-black-friday { min-height: 450px; aspect-ratio: 0.8; }
	.ap-black-friday__image { top: auto; bottom: 0; height: auto; }
	.ap-black-friday__copy { padding: 1.5rem; }
	.ap-black-friday .ap-black-friday__title { font-size: clamp(3.8rem, 17vw, 5.8rem); }
	.ap-black-friday__eyebrow { font-size: 0.52rem; letter-spacing: 0.12em; gap: 0.5rem; margin-bottom: 1.4rem; }
	.ap-black-friday__tagline { margin-block: 1.2rem; font-size: 0.8rem; }
	.ap-black-friday__signature { left: 1.5rem; bottom: 1.2rem; font-size: 0.48rem; }
}

/* One shared period, visible even while the announcement is paused. */
.ap-announcement__period { margin-left: 0.6rem; padding-left: 0.6rem; border-left: 1px solid #11120f40; font-weight: 600; letter-spacing: 0; text-transform: none; }
.ap-black-friday__period { display: inline-block; margin: 1.1rem 0 0; padding: 0.35rem 0.7rem; border: 1px solid #e1c18465; border-radius: 4px; color: #e1c184; font-size: 0.76rem; font-weight: 650; letter-spacing: 0.04em; }
.ap-black-friday__period + .ap-black-friday__tagline { margin-top: 0.8rem; }
@media (max-width: 600px) {
 .ap-topbar a.ap-announcement__label { display: flex; flex-direction: column; align-items: center; padding-block: 0.2rem; line-height: 1.5; }
 .ap-announcement__period { margin: 0; padding: 0; border: 0; font-size: 0.52rem; }
 .ap-black-friday__period { margin-top: 1rem; font-size: 0.68rem; padding: 0.25rem 0.55rem; }
 .ap-black-friday__period + .ap-black-friday__tagline { margin-bottom: 1rem; }
}
