/* Halloween edition shared with China Spreadsheets. Remove rk-halloween to disable. */
.rk-halloween {
    --bg: #10091e; --bg-2: #180d29; --card-bg: #1e1232;
    --text: #fff6ed; --muted: #c4b3d6; --border: #64447d66;
    --accent: #ffae45; --accent-2: #ed9238; --accent-3: #713a8d;
    --glow: 0 0 18px #a85cdb26, 0 0 45px #702c9620;
    background: radial-gradient(ellipse at 50% 0, #35204f, transparent 55%), linear-gradient(#10091e, #160b25);
}
.rk-halloween::before { background: #8045b13d; }
.rk-halloween::after { background: #692c9133; }
.rk-halloween > header { background: #140c23f5; border-color: #422b58; }
.rk-halloween :is(.brand-link, .spreadsheet-shortcut, .currency-toggle select, .nav-toggle, .favorites-header-link, .discord-header-link) { background: #251536; border-color: #64447d88; box-shadow: none; color: #f4e7ff; }
.rk-halloween .top-nav > a { min-width: 0; flex-shrink: 0; background: #241332; border-color: #57366e77; color: #e9d7f5; box-shadow: none; }
.rk-halloween .top-nav > a:hover { background: #3c2152; border-color: #be80e0; color: #ffc474; }
.rk-halloween :is(.spreadsheet-menu-panel, .admin-nav-panel, .top-nav.is-open) { background: #1b0f2c; border-color: #64447d; }
.rk-halloween > header.nav-open .top-nav { background: #1b0f2c; }
.rk-halloween .spreadsheet-menu-link { background: #29183d; border-color: #64447d66; color: #f2e3ff; }
.rk-halloween :is(.currency-toggle label, .mobile-nav-label) { color: #c5aad8; }
.rk-halloween :is(.mobile-products-link, .mobile-world-cup-link) { background: #352047; border-color: #8858aa; color: #f5e8ff; box-shadow: none; }
.rk-halloween :is(a, button, input, select, summary):focus-visible { outline: 3px solid #d7a6f4; outline-offset: 4px; }

.rk-halloween-strip { display: none; }
.rk-halloween .rk-halloween-strip {
    position: relative; z-index: 1; display: flex; align-items: center; justify-content: center;
    gap: 12px; min-height: 42px; padding: 6px 16px; overflow: hidden;
    border-bottom: 1px solid #70409866;
    background: radial-gradient(ellipse at 50% 150%, #62308e, transparent 70%), #28113f;
    color: #ffbd6c; font-size: 10px; font-weight: 800; letter-spacing: .13em;
}
.rk-halloween .rk-halloween-strip::after { content: ""; position: absolute; inset: 0; background: repeating-conic-gradient(#a361e51a 0% 25%, transparent 0% 50%) 0 / 24px 24px; mask-image: linear-gradient(90deg, #000, transparent 25%, transparent 75%, #000); pointer-events: none; }
.rk-halloween-strip img { width: 24px; height: 28px; object-fit: contain; }
.rk-halloween-strip-note { color: #e5d2fa; font-weight: 500; letter-spacing: .02em; }

/* Decorative artwork stays behind the real search and navigation. */
.rk-halloween .rk-home { --rk-red: #ffae45; --rk-red-bright: #ffbf69; --rk-cream: #fff6ed; --rk-muted: #d5c4e2; --rk-panel: #1e1232; padding-top: 24px; }
.rk-halloween .rk-home-glow-one { background: #7b3eaa33; }
.rk-halloween .rk-home-glow-two { background: #6b2c8a22; }
.rk-halloween .rk-hero { position: relative; isolation: isolate; background: #10091e; border-color: #74469b77; border-radius: 24px; }
.rk-halloween .rk-halloween-scene { display: block; position: absolute; inset: 0 0 auto; height: 590px; z-index: -2; pointer-events: none; }
.rk-halloween .rk-halloween-scene img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 64% center; }
.rk-halloween .rk-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #10091e8c, #10091e44 42%, transparent 72%), linear-gradient(180deg, transparent 380px, #10091e 590px); pointer-events: none; }
.rk-halloween .rk-promo-bar { position: relative; flex-wrap: wrap; gap: 5px 12px; min-height: 54px; padding: 10px 20px; background: #21112de8; border-color: #8d56af44; color: #ceb8dd; font-size: 10px; }
.rk-halloween .rk-promo-bar a { color: #ffc16d; }
.rk-halloween .rk-promo-bar > span:last-child { flex-basis: 100%; text-align: center; font-size: 9px; line-height: 1.5; color: #cbb1dc; }
.rk-halloween .rk-promo-dot { background: #ffb34d; box-shadow: 0 0 12px #ff9f4055; }
.rk-halloween .rk-hero-grid { display: block; padding: 44px 42px 26px; }
.rk-halloween .rk-hero-copy { width: 54%; max-width: 650px; text-align: left; }
.rk-halloween :is(.rk-hero-copy .rk-eyebrow, .rk-hero-actions) { justify-content: flex-start; }
.rk-halloween .rk-eyebrow { color: #dab3f4; }
.rk-halloween .rk-hero h1 { font-size: clamp(42px, 4.6vw, 66px); line-height: 1.04; text-wrap: initial; }
.rk-halloween .rk-hero h1 em { color: #ffaf49; -webkit-text-stroke: 0; text-shadow: 0 3px 30px #10091e44; }
.rk-halloween .rk-hero-intro { max-width: 530px; font-size: 14px; line-height: 1.8; margin-top: 19px; }
.rk-halloween .rk-search { min-height: 58px; margin-top: 24px; border-color: #956bb080; background: #fdf9ff; box-shadow: 0 10px 35px #08020c33; border-radius: 12px; }
.rk-halloween .rk-search input { color: #2b183d; font-size: 12px; }
.rk-halloween .rk-search input::placeholder { color: #7c6a8a; }
.rk-halloween .rk-search svg { stroke: #6d527f; }
.rk-halloween .rk-search button { min-height: 43px; border-radius: 8px; background: #ffae45; color: #281231; box-shadow: none; }
.rk-halloween .rk-search:focus-within { outline: 3px solid #cca0e9; outline-offset: 3px; }
.rk-halloween .rk-search input:focus-visible { outline: none; }
.rk-halloween .rk-button-primary { background: #ffae45; border-color: #ffc27588; color: #281231; box-shadow: 0 5px 28px #ed87342b; }
.rk-halloween .rk-button-primary:hover { background: #ffc474; box-shadow: 0 5px 28px #ed873444; }
.rk-halloween .rk-button-secondary { background: #2b173fd9; border-color: #9866b480; color: #f1e4ff; }
.rk-halloween .rk-button-secondary:hover { background: #48275d; border-color: #c08cdd; }
.rk-halloween .rk-trust-list { color: #d2bddf; gap: 10px 14px; font-size: 9px; }
.rk-halloween .rk-trust-list li span { border-color: #ab78ca66; color: #ffbd6c; }

/* Every spreadsheet destination remains visible below the scene. */
.rk-halloween .rk-spreadsheet-card { margin-top: 38px; padding: 16px; border-color: #70479788; border-radius: 16px; background: #231335ed; box-shadow: 0 10px 28px #0002; }
.rk-halloween .rk-visual::before { display: none; }
.rk-halloween .rk-spreadsheet-intro { color: #dfc8ee; font-size: 11px; margin: 0 0 12px; }
.rk-halloween .rk-spreadsheet-card .seo-promo-shell { grid-template-columns: 130px minmax(0, 1fr); align-items: center; gap: 20px; padding: 0; border: 0; background: transparent; box-shadow: none; }
.rk-halloween .rk-spreadsheet-card .seo-promo-image { display: block; width: 130px; height: 74px; object-fit: cover; border-radius: 8px; }
.rk-halloween .rk-spreadsheet-card .seo-promo-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.rk-halloween .rk-spreadsheet-card .seo-promo-grid-link { min-height: 53px; padding: 10px; border-color: #8a60a466; background: #321c46; color: #f3e5fc; font-size: 9px; border-radius: 9px; }
.rk-halloween .rk-spreadsheet-card .seo-promo-grid-link:hover { background: #48275d; border-color: #ffbd6c; }

.rk-halloween :is(.rk-discovery > a, .rk-featured-card, .rk-how, .rk-community) { background: linear-gradient(135deg, #29173c, #1b0e2b); border-color: #68408488; }
.rk-halloween .rk-discovery > a:hover { background: #382048; border-color: #b579d6; }
.rk-halloween .rk-discovery-icon { background: #412257; border-color: #a66ac144; color: #ffc16d; }
.rk-halloween .rk-discovery small { color: #bf9dd3; }
.rk-halloween .rk-discovery b { color: #cca3e5; }
.rk-halloween :is(.rk-featured-info p, .rk-how-intro > a, .rk-steps > li > span) { color: #ffbf69; }
.rk-halloween .rk-featured-image { background: radial-gradient(ellipse at 50% 80%, #3c2255, #180e25); }
.rk-halloween .rk-featured-image b { background: #29123be8; border-color: #a973cd77; color: #ebcefc; }
.rk-halloween .rk-card-arrow { background: #38204a; border-color: #8f5aae66; color: #ebd4fa; }
.rk-halloween :is(.rk-featured-card, .product-card, .outfit-card):hover { border-color: #ca8be9; box-shadow: 0 12px 28px #0005, 0 0 20px #a65cd322; }
.rk-halloween :is(.rk-steps p, .rk-how-intro > p:not(.rk-eyebrow), .rk-community-copy > div > span, .rk-section-head > a) { color: #cbb4dc; }
.rk-halloween .rk-community-mark { background: #47235e; border-color: #b97ad566; box-shadow: none; color: #ffd095; }
.rk-halloween .rk-home-legal { color: #b9a0c9; border-color: #6a428455; }

/* Shared catalog and detail pages keep photographs and agent colors intact. */
.rk-halloween .rg-hero { background: linear-gradient(90deg, #10091ef5, #10091ee8 45%, #10091e66), url("../img/halloween/forest.7633d61a6d41.webp") center 52% / cover; border-color: #8551a366; }
.rk-halloween .rg-products-page { background: transparent; }
.rk-halloween .rg-discord-band { background: #241236c9; border-color: #8551a366; }
.rk-halloween .rg-discord-band-link { background: #ffae45; color: #281231; box-shadow: 0 8px 24px #ed87332b; }
.rk-halloween :is(.gender-btn, .category-btn, .search-line input) { background: #241333; border-color: #845a9d88; color: #f4e7ff; }
.rk-halloween .gender-btn.active { background: #ffbd6c; border-color: #ffce8c; color: #2b1536; }
.rk-halloween :is(.gender-btn, .category-btn):hover { border-color: #c895e5; }
.rk-halloween .search-line input::placeholder { color: #cfb4e2; }
.rk-halloween :is(.product-card, .outfit-card, .details, .outfit-details) { border-color: #6e458666; }
.rk-halloween .rg-products-page .product-card { background: linear-gradient(145deg, #29173d, #1c0f2c); border-color: #6e458688; }
.rk-halloween .rg-products-page .product-image { background: radial-gradient(ellipse at 50% 80%, #3c2255, #1b1128); box-shadow: 0 0 18px #8f50bc22; }
.rk-halloween .product-card .card-btn.secondary { background: #3c2251; border-color: #9865b1; color: #f4e7ff; box-shadow: none; }
.rk-halloween .product-image { background: #1b1128; box-shadow: 0 0 18px #8f50bc2b; }
.rk-halloween .product-image::after { background: transparent; }
.rk-halloween :is(.category-btn, .rg-search, .gender-toggle a) { border-color: #845a9d77; }
.rk-halloween .category-btn.active { background: #512d65; color: #ffcf8d; border-color: #c795e3; box-shadow: none; }
.rk-halloween :is(.product-image, .outfit-image, .rk-featured-image) { position: relative; }
.rk-halloween :is(.product-image, .outfit-image, .rk-featured-image)::before { content: ""; position: absolute; bottom: 6px; left: 7px; z-index: 2; width: clamp(30px, 3vw, 43px); aspect-ratio: 80 / 90; background: url("../img/halloween/king-pumpkin.2d05a4cd6f3b.svg") center / contain no-repeat; filter: drop-shadow(0 3px 4px #0008); transform: rotate(-9deg); pointer-events: none; }
.rk-halloween :is(.product-card, .outfit-card, .rk-featured-card):nth-child(even) :is(.product-image, .outfit-image, .rk-featured-image)::before { transform: rotate(9deg); }
.rk-halloween :is(.purchase-disclaimer-dialog, .marketing-popup-dialog) { background: #211231; border-color: #9364b066; color: #fff6ed; }
.rk-halloween :is(.purchase-disclaimer-copy, .marketing-popup-copy) { color: #dac7e6; }
.rk-halloween .site-footer { position: relative; background: #10091e; border-color: #65417b66; }
.rk-halloween .site-footer::before { content: ""; display: block; width: 50px; height: 58px; margin: 0 auto 24px; background: url("../img/halloween/king-pumpkin.2d05a4cd6f3b.svg") center / contain no-repeat; pointer-events: none; }
.rk-halloween .site-footer::after { content: ""; position: absolute; top: 0; right: 0; width: 110px; height: 110px; opacity: .24; background: url("../img/halloween/web.3533d87252d8.svg") center / contain no-repeat; pointer-events: none; }

@media (min-width: 651px) and (max-width: 1000px) {
    .rk-halloween .rk-hero-grid { padding: 34px 28px 24px; }
    .rk-halloween .rk-hero-copy { width: 65%; }
    .rk-halloween .rk-halloween-scene img { object-position: 65% center; }
    .rk-halloween .rk-hero::after { background: linear-gradient(90deg, #10091ee6, #10091e88 58%, #10091e33), linear-gradient(180deg, transparent 350px, #10091e 590px); }
    .rk-halloween .rk-hero h1 { font-size: 48px; }
    .rk-halloween .rk-spreadsheet-card .seo-promo-shell { grid-template-columns: 95px minmax(0, 1fr); gap: 12px; }
    .rk-halloween .rk-spreadsheet-card .seo-promo-image { width: 95px; }
    .rk-halloween .rk-spreadsheet-card .seo-promo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 901px) {
    .rk-halloween .top-nav { min-width: 0; flex: 1 1 0; flex-wrap: wrap; justify-content: flex-end; overflow: visible; }
}
@media (min-width: 901px) and (max-width: 1199px) {
    .rk-halloween > header { flex-wrap: wrap; }
    .rk-halloween .header-main { width: 100%; }
    .rk-halloween .top-nav { width: 100%; flex-wrap: wrap; justify-content: center; }
}
@media (max-width: 650px) {
    .rk-halloween .rk-halloween-strip { gap: 8px; font-size: 8px; letter-spacing: .08em; }
    .rk-halloween-strip-note { display: none; }
    .rk-halloween .rk-home { padding: 14px 12px 40px; }
    .rk-halloween .rk-hero { border-radius: 18px; }
    .rk-halloween .rk-hero-grid { padding: 28px 18px 18px; }
    .rk-halloween .rk-hero-copy { width: 100%; max-width: none; padding-bottom: 280px; }
    .rk-halloween .rk-hero h1 { font-size: clamp(37px, 9.8vw, 60px); letter-spacing: -.055em; }
    .rk-halloween .rk-hero-intro { font-size: 12px; line-height: 1.8; margin-top: 17px; }
    .rk-halloween .rk-eyebrow { font-size: 8px; letter-spacing: .12em; margin-bottom: 13px; }
    .rk-halloween .rk-search { grid-template-columns: 18px minmax(0, 1fr) auto; min-height: 54px; margin-top: 20px; padding: 6px 7px 6px 12px; gap: 7px; }
    .rk-halloween .rk-search input { font-size: 10px; }
    .rk-halloween .rk-search button { grid-column: auto; width: auto; min-height: 40px; padding: 0 13px; font-size: 9px; }
    .rk-halloween .rk-hero-actions .rk-button { width: auto; }
    .rk-halloween .rk-button { min-height: 44px; padding: 10px 13px; font-size: 9px; letter-spacing: .03em; }
    .rk-halloween .rk-trust-list { margin-top: 18px; gap: 9px; font-size: 7px; }
    .rk-halloween .rk-trust-list li span { width: 13px; height: 13px; font-size: 7px; }
    .rk-halloween .rk-promo-bar { padding: 10px 12px; font-size: 8px; gap: 5px 9px; }
    .rk-halloween .rk-promo-bar > span:last-child { display: block; font-size: 8px; }
    .rk-halloween .rk-halloween-scene { inset: auto 0 230px; height: 350px; }
    .rk-halloween .rk-halloween-scene img { object-position: 83% center; }
    .rk-halloween .rk-hero::after { background: linear-gradient(180deg, #10091e 0%, #10091e 40%, transparent 70%, #10091e 82%); }
    .rk-halloween .rk-spreadsheet-card { margin-top: 0; padding: 12px; }
    .rk-halloween .rk-spreadsheet-intro { font-size: 10px; line-height: 1.65; }
    .rk-halloween .rk-spreadsheet-card .seo-promo-shell { grid-template-columns: 1fr; gap: 12px; }
    .rk-halloween .rk-spreadsheet-card .seo-promo-image-link { display: none; }
    .rk-halloween .rk-spreadsheet-card .seo-promo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .rk-halloween .rk-spreadsheet-card .seo-promo-grid-link { min-height: 48px; padding: 9px; font-size: 8px; }
    .rk-halloween .rg-hero { background-position: 80% center; }
}
@media (prefers-reduced-motion: reduce) {
    html:has(.rk-halloween) { scroll-behavior: auto; }
    .rk-halloween *, .rk-halloween *::before, .rk-halloween *::after { animation: none !important; transition: none !important; }
}
