/* Karron Offers — moving banner + sign-up pop-up */
.kj-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- Moving banner ---------- */
.kj-marquee { background: #212121; border-bottom: 1px solid rgba(212, 175, 55, .4); overflow: hidden; position: relative; z-index: 100; }
.kj-marquee__btn {
	all: unset; box-sizing: border-box; display: flex; width: 100%; height: 40px; align-items: center; cursor: pointer; overflow: hidden;
}
.kj-marquee__btn:focus-visible { outline: 2px solid #FFB300; outline-offset: -2px; }
.kj-marquee__track { display: flex; flex: 0 0 auto; align-items: center; animation: kj-marquee 38s linear infinite; }
.kj-marquee:hover .kj-marquee__track, .kj-marquee__btn:focus-visible .kj-marquee__track { animation-play-state: paused; }
.kj-marquee__item { font-family: "Fraunces", Georgia, serif; font-style: italic; font-size: 1rem; letter-spacing: .02em; color: #F5F5DC; white-space: nowrap; padding: 0 1.6rem; }
.kj-marquee__gem { width: 6px; height: 6px; background: #D4AF37; transform: rotate(45deg); flex: 0 0 auto; }
@keyframes kj-marquee { from { transform: translateX(0); } to { transform: translateX(-100%); } }
@media (prefers-reduced-motion: reduce) {
	.kj-marquee__track { animation: none; }
	.kj-marquee__track + .kj-marquee__track { display: none; }
	.kj-marquee__btn { justify-content: center; }
}

/* The banner is in normal flow above #page, so the floating header already starts below it. */

/* ---------- Pop-up ---------- */
.kj-signup[hidden] { display: none !important; }
.kj-signup { position: fixed; inset: 0; z-index: 99999; display: grid; place-items: center; padding: 1rem; }
.kj-signup__backdrop { position: absolute; inset: 0; background: rgba(33, 33, 33, .72); }
.kj-signup__panel {
	position: relative; width: min(100%, 31rem); max-height: calc(100vh - 2rem); overflow: auto;
	background: #3E2723; color: #F5F5DC; padding: clamp(2rem, 5vw, 2.8rem) clamp(1.5rem, 5vw, 2.6rem);
	outline: 1px solid rgba(212, 175, 55, .55); outline-offset: -10px; box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .7);
	animation: kj-pop .28s ease-out;
}
@keyframes kj-pop { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .kj-signup__panel { animation: none; } }
.kj-signup__close { all: unset; position: absolute; top: 14px; right: 18px; width: 44px; height: 44px; display: grid; place-items: center; font-size: 1.8rem; line-height: 1; color: #F5F5DC; cursor: pointer; }
.kj-signup__close:hover { color: #FFB300; }
.kj-signup__close:focus-visible { outline: 2px solid #FFB300; }
.kj-signup__kicker { font-family: "Fraunces", Georgia, serif; font-style: italic; color: #D4AF37; margin: 0 0 .6rem; font-size: 1rem; }
.kj-signup__title { font-family: "Fraunces", Georgia, serif !important; font-weight: 300 !important; font-size: clamp(2rem, 6vw, 2.6rem) !important; line-height: 1.05 !important; color: #F5F5DC !important; margin: 0 0 1rem !important; text-transform: none !important; }
.kj-signup__lede { color: #E6DFC4; line-height: 1.6; margin: 0 0 1.4rem; font-size: 1rem; }
.kj-signup__form { display: grid; gap: .8rem; }
.kj-signup__label { font-size: .9rem; color: #E6DFC4; }
.kj-signup__input { min-height: 50px; padding: 0 .9rem; font: inherit; font-size: 1rem; border: 1px solid rgba(245, 245, 220, .5) !important; background: #2E1C19 !important; color: #F5F5DC !important; border-radius: 2px; }
.kj-signup__input:focus { outline: 2px solid #FFB300; outline-offset: 1px; }
.kj-signup__consent { display: grid; grid-template-columns: 22px 1fr; gap: .6rem; align-items: start; font-size: .92rem; line-height: 1.45; color: #E6DFC4; cursor: pointer; }
.kj-signup__consent input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: #D4AF37; }
.kj-signup__submit { min-height: 52px; border: 1px solid #F5F5DC; background: #F5F5DC; color: #3E2723; font: 600 1rem/1 "Hanken Grotesk", system-ui, sans-serif; border-radius: 2px; cursor: pointer; text-transform: none; letter-spacing: .01em; padding: 0 1.4rem; }
.kj-signup__submit:hover { background: #FFB300; border-color: #FFB300; color: #212121; }
.kj-signup__submit:focus-visible { outline: 2px solid #FFB300; outline-offset: 2px; }
.kj-signup__submit[disabled] { opacity: .6; cursor: progress; }
.kj-signup__error { margin: 0; padding: .6rem .8rem; background: rgba(179, 38, 30, .25); border-left: 3px solid #E57368; color: #FCE8E6; font-size: .92rem; }
.kj-signup__fine { font-size: .82rem; color: #C9C1A4; margin: .4rem 0 0; }
.kj-signup__fine a { color: #F5F5DC; }
.kj-signup__code { font-family: "Fraunces", Georgia, serif; font-size: 2rem; letter-spacing: .12em; color: #D4AF37; margin: .2rem 0 1rem; user-select: all; }
.kj-hp { position: absolute !important; left: -9999px !important; }

.kj-sr { color: #F5F5DC; }

.kj-sr { color: #F5F5DC; }
.kj-inline-signup { max-width: 30rem; }
.kj-inline-signup .kj-signup__label, .kj-inline-signup .kj-signup__consent { color: #E6DFC4; }
.kj-inline-signup__done .kj-signup__lede { color: #E6DFC4; }
